1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package cloudfront 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/restxml" 14) 15 16const opAssociateAlias = "AssociateAlias2020_05_31" 17 18// AssociateAliasRequest generates a "aws/request.Request" representing the 19// client's request for the AssociateAlias operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AssociateAlias for more information on using the AssociateAlias 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AssociateAliasRequest method. 34// req, resp := client.AssociateAliasRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/AssociateAlias 42func (c *CloudFront) AssociateAliasRequest(input *AssociateAliasInput) (req *request.Request, output *AssociateAliasOutput) { 43 op := &request.Operation{ 44 Name: opAssociateAlias, 45 HTTPMethod: "PUT", 46 HTTPPath: "/2020-05-31/distribution/{TargetDistributionId}/associate-alias", 47 } 48 49 if input == nil { 50 input = &AssociateAliasInput{} 51 } 52 53 output = &AssociateAliasOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57} 58 59// AssociateAlias API operation for Amazon CloudFront. 60// 61// Associates an alias (also known as a CNAME or an alternate domain name) with 62// a CloudFront distribution. 63// 64// With this operation you can move an alias that’s already in use on a CloudFront 65// distribution to a different distribution in one step. This prevents the downtime 66// that could occur if you first remove the alias from one distribution and 67// then separately add the alias to another distribution. 68// 69// To use this operation to associate an alias with a distribution, you provide 70// the alias and the ID of the target distribution for the alias. For more information, 71// including how to set up the target distribution, prerequisites that you must 72// complete, and other restrictions, see Moving an alternate domain name to 73// a different distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move) 74// in the Amazon CloudFront Developer Guide. 75// 76// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 77// with awserr.Error's Code and Message methods to get detailed information about 78// the error. 79// 80// See the AWS API reference guide for Amazon CloudFront's 81// API operation AssociateAlias for usage and error information. 82// 83// Returned Error Codes: 84// * ErrCodeInvalidArgument "InvalidArgument" 85// An argument is invalid. 86// 87// * ErrCodeNoSuchDistribution "NoSuchDistribution" 88// The specified distribution does not exist. 89// 90// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 91// Your request contains more CNAMEs than are allowed per distribution. 92// 93// * ErrCodeIllegalUpdate "IllegalUpdate" 94// The update contains modifications that are not allowed. 95// 96// * ErrCodeAccessDenied "AccessDenied" 97// Access denied. 98// 99// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/AssociateAlias 100func (c *CloudFront) AssociateAlias(input *AssociateAliasInput) (*AssociateAliasOutput, error) { 101 req, out := c.AssociateAliasRequest(input) 102 return out, req.Send() 103} 104 105// AssociateAliasWithContext is the same as AssociateAlias with the addition of 106// the ability to pass a context and additional request options. 107// 108// See AssociateAlias for details on how to use this API operation. 109// 110// The context must be non-nil and will be used for request cancellation. If 111// the context is nil a panic will occur. In the future the SDK may create 112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 113// for more information on using Contexts. 114func (c *CloudFront) AssociateAliasWithContext(ctx aws.Context, input *AssociateAliasInput, opts ...request.Option) (*AssociateAliasOutput, error) { 115 req, out := c.AssociateAliasRequest(input) 116 req.SetContext(ctx) 117 req.ApplyOptions(opts...) 118 return out, req.Send() 119} 120 121const opCreateCachePolicy = "CreateCachePolicy2020_05_31" 122 123// CreateCachePolicyRequest generates a "aws/request.Request" representing the 124// client's request for the CreateCachePolicy operation. The "output" return 125// value will be populated with the request's response once the request completes 126// successfully. 127// 128// Use "Send" method on the returned Request to send the API call to the service. 129// the "output" return value is not valid until after Send returns without error. 130// 131// See CreateCachePolicy for more information on using the CreateCachePolicy 132// API call, and error handling. 133// 134// This method is useful when you want to inject custom logic or configuration 135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 136// 137// 138// // Example sending a request using the CreateCachePolicyRequest method. 139// req, resp := client.CreateCachePolicyRequest(params) 140// 141// err := req.Send() 142// if err == nil { // resp is now filled 143// fmt.Println(resp) 144// } 145// 146// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy 147func (c *CloudFront) CreateCachePolicyRequest(input *CreateCachePolicyInput) (req *request.Request, output *CreateCachePolicyOutput) { 148 op := &request.Operation{ 149 Name: opCreateCachePolicy, 150 HTTPMethod: "POST", 151 HTTPPath: "/2020-05-31/cache-policy", 152 } 153 154 if input == nil { 155 input = &CreateCachePolicyInput{} 156 } 157 158 output = &CreateCachePolicyOutput{} 159 req = c.newRequest(op, input, output) 160 return 161} 162 163// CreateCachePolicy API operation for Amazon CloudFront. 164// 165// Creates a cache policy. 166// 167// After you create a cache policy, you can attach it to one or more cache behaviors. 168// When it’s attached to a cache behavior, the cache policy determines the 169// following: 170// 171// * The values that CloudFront includes in the cache key. These values can 172// include HTTP headers, cookies, and URL query strings. CloudFront uses 173// the cache key to find an object in its cache that it can return to the 174// viewer. 175// 176// * The default, minimum, and maximum time to live (TTL) values that you 177// want objects to stay in the CloudFront cache. 178// 179// The headers, cookies, and query strings that are included in the cache key 180// are automatically included in requests that CloudFront sends to the origin. 181// CloudFront sends a request when it can’t find an object in its cache that 182// matches the request’s cache key. If you want to send values to the origin 183// but not include them in the cache key, use OriginRequestPolicy. 184// 185// For more information about cache policies, see Controlling the cache key 186// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html) 187// in the Amazon CloudFront Developer Guide. 188// 189// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 190// with awserr.Error's Code and Message methods to get detailed information about 191// the error. 192// 193// See the AWS API reference guide for Amazon CloudFront's 194// API operation CreateCachePolicy for usage and error information. 195// 196// Returned Error Codes: 197// * ErrCodeAccessDenied "AccessDenied" 198// Access denied. 199// 200// * ErrCodeInconsistentQuantities "InconsistentQuantities" 201// The value of Quantity and the size of Items don't match. 202// 203// * ErrCodeInvalidArgument "InvalidArgument" 204// An argument is invalid. 205// 206// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" 207// A cache policy with this name already exists. You must provide a unique name. 208// To modify an existing cache policy, use UpdateCachePolicy. 209// 210// * ErrCodeTooManyCachePolicies "TooManyCachePolicies" 211// You have reached the maximum number of cache policies for this account. For 212// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 213// (formerly known as limits) in the Amazon CloudFront Developer Guide. 214// 215// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" 216// The number of headers in the cache policy exceeds the maximum. For more information, 217// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 218// (formerly known as limits) in the Amazon CloudFront Developer Guide. 219// 220// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" 221// The number of cookies in the cache policy exceeds the maximum. For more information, 222// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 223// (formerly known as limits) in the Amazon CloudFront Developer Guide. 224// 225// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" 226// The number of query strings in the cache policy exceeds the maximum. For 227// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 228// (formerly known as limits) in the Amazon CloudFront Developer Guide. 229// 230// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCachePolicy 231func (c *CloudFront) CreateCachePolicy(input *CreateCachePolicyInput) (*CreateCachePolicyOutput, error) { 232 req, out := c.CreateCachePolicyRequest(input) 233 return out, req.Send() 234} 235 236// CreateCachePolicyWithContext is the same as CreateCachePolicy with the addition of 237// the ability to pass a context and additional request options. 238// 239// See CreateCachePolicy for details on how to use this API operation. 240// 241// The context must be non-nil and will be used for request cancellation. If 242// the context is nil a panic will occur. In the future the SDK may create 243// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 244// for more information on using Contexts. 245func (c *CloudFront) CreateCachePolicyWithContext(ctx aws.Context, input *CreateCachePolicyInput, opts ...request.Option) (*CreateCachePolicyOutput, error) { 246 req, out := c.CreateCachePolicyRequest(input) 247 req.SetContext(ctx) 248 req.ApplyOptions(opts...) 249 return out, req.Send() 250} 251 252const opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2020_05_31" 253 254// CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 255// client's request for the CreateCloudFrontOriginAccessIdentity operation. The "output" return 256// value will be populated with the request's response once the request completes 257// successfully. 258// 259// Use "Send" method on the returned Request to send the API call to the service. 260// the "output" return value is not valid until after Send returns without error. 261// 262// See CreateCloudFrontOriginAccessIdentity for more information on using the CreateCloudFrontOriginAccessIdentity 263// API call, and error handling. 264// 265// This method is useful when you want to inject custom logic or configuration 266// into the SDK's request lifecycle. Such as custom headers, or retry logic. 267// 268// 269// // Example sending a request using the CreateCloudFrontOriginAccessIdentityRequest method. 270// req, resp := client.CreateCloudFrontOriginAccessIdentityRequest(params) 271// 272// err := req.Send() 273// if err == nil { // resp is now filled 274// fmt.Println(resp) 275// } 276// 277// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity 278func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) { 279 op := &request.Operation{ 280 Name: opCreateCloudFrontOriginAccessIdentity, 281 HTTPMethod: "POST", 282 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", 283 } 284 285 if input == nil { 286 input = &CreateCloudFrontOriginAccessIdentityInput{} 287 } 288 289 output = &CreateCloudFrontOriginAccessIdentityOutput{} 290 req = c.newRequest(op, input, output) 291 return 292} 293 294// CreateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 295// 296// Creates a new origin access identity. If you're using Amazon S3 for your 297// origin, you can use an origin access identity to require users to access 298// your content using a CloudFront URL instead of the Amazon S3 URL. For more 299// information about how to use origin access identities, see Serving Private 300// Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 301// in the Amazon CloudFront Developer Guide. 302// 303// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 304// with awserr.Error's Code and Message methods to get detailed information about 305// the error. 306// 307// See the AWS API reference guide for Amazon CloudFront's 308// API operation CreateCloudFrontOriginAccessIdentity for usage and error information. 309// 310// Returned Error Codes: 311// * ErrCodeOriginAccessIdentityAlreadyExists "CloudFrontOriginAccessIdentityAlreadyExists" 312// If the CallerReference is a value you already sent in a previous request 313// to create an identity but the content of the CloudFrontOriginAccessIdentityConfig 314// is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists 315// error. 316// 317// * ErrCodeMissingBody "MissingBody" 318// This operation requires a body. Ensure that the body is present and the Content-Type 319// header is set. 320// 321// * ErrCodeTooManyCloudFrontOriginAccessIdentities "TooManyCloudFrontOriginAccessIdentities" 322// Processing your request would cause you to exceed the maximum number of origin 323// access identities allowed. 324// 325// * ErrCodeInvalidArgument "InvalidArgument" 326// An argument is invalid. 327// 328// * ErrCodeInconsistentQuantities "InconsistentQuantities" 329// The value of Quantity and the size of Items don't match. 330// 331// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateCloudFrontOriginAccessIdentity 332func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) { 333 req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) 334 return out, req.Send() 335} 336 337// CreateCloudFrontOriginAccessIdentityWithContext is the same as CreateCloudFrontOriginAccessIdentity with the addition of 338// the ability to pass a context and additional request options. 339// 340// See CreateCloudFrontOriginAccessIdentity for details on how to use this API operation. 341// 342// The context must be non-nil and will be used for request cancellation. If 343// the context is nil a panic will occur. In the future the SDK may create 344// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 345// for more information on using Contexts. 346func (c *CloudFront) CreateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *CreateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*CreateCloudFrontOriginAccessIdentityOutput, error) { 347 req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) 348 req.SetContext(ctx) 349 req.ApplyOptions(opts...) 350 return out, req.Send() 351} 352 353const opCreateDistribution = "CreateDistribution2020_05_31" 354 355// CreateDistributionRequest generates a "aws/request.Request" representing the 356// client's request for the CreateDistribution operation. The "output" return 357// value will be populated with the request's response once the request completes 358// successfully. 359// 360// Use "Send" method on the returned Request to send the API call to the service. 361// the "output" return value is not valid until after Send returns without error. 362// 363// See CreateDistribution for more information on using the CreateDistribution 364// API call, and error handling. 365// 366// This method is useful when you want to inject custom logic or configuration 367// into the SDK's request lifecycle. Such as custom headers, or retry logic. 368// 369// 370// // Example sending a request using the CreateDistributionRequest method. 371// req, resp := client.CreateDistributionRequest(params) 372// 373// err := req.Send() 374// if err == nil { // resp is now filled 375// fmt.Println(resp) 376// } 377// 378// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution 379func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { 380 op := &request.Operation{ 381 Name: opCreateDistribution, 382 HTTPMethod: "POST", 383 HTTPPath: "/2020-05-31/distribution", 384 } 385 386 if input == nil { 387 input = &CreateDistributionInput{} 388 } 389 390 output = &CreateDistributionOutput{} 391 req = c.newRequest(op, input, output) 392 return 393} 394 395// CreateDistribution API operation for Amazon CloudFront. 396// 397// Creates a new web distribution. You create a CloudFront distribution to tell 398// CloudFront where you want content to be delivered from, and the details about 399// how to track and manage content delivery. Send a POST request to the /CloudFront 400// API version/distribution/distribution ID resource. 401// 402// When you update a distribution, there are more required fields than when 403// you create a distribution. When you update your distribution by using UpdateDistribution 404// (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html), 405// follow the steps included in the documentation to get the current configuration 406// and then make your updates. This helps to make sure that you include all 407// of the required fields. To view a summary, see Required Fields for Create 408// Distribution and Update Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) 409// in the Amazon CloudFront Developer Guide. 410// 411// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 412// with awserr.Error's Code and Message methods to get detailed information about 413// the error. 414// 415// See the AWS API reference guide for Amazon CloudFront's 416// API operation CreateDistribution for usage and error information. 417// 418// Returned Error Codes: 419// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 420// The CNAME specified is already defined for CloudFront. 421// 422// * ErrCodeDistributionAlreadyExists "DistributionAlreadyExists" 423// The caller reference you attempted to create the distribution with is associated 424// with another distribution. 425// 426// * ErrCodeInvalidOrigin "InvalidOrigin" 427// The Amazon S3 origin server specified does not refer to a valid Amazon S3 428// bucket. 429// 430// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 431// The origin access identity is not valid or doesn't exist. 432// 433// * ErrCodeAccessDenied "AccessDenied" 434// Access denied. 435// 436// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 437// Your request contains more trusted signers than are allowed per distribution. 438// 439// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 440// One or more of your trusted signers don't exist. 441// 442// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 443// A viewer certificate specified is not valid. 444// 445// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 446// The minimum protocol version specified is not valid. 447// 448// * ErrCodeMissingBody "MissingBody" 449// This operation requires a body. Ensure that the body is present and the Content-Type 450// header is set. 451// 452// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 453// Your request contains more CNAMEs than are allowed per distribution. 454// 455// * ErrCodeTooManyDistributions "TooManyDistributions" 456// Processing your request would cause you to exceed the maximum number of distributions 457// allowed. 458// 459// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 460// The default root object file name is too big or contains an invalid character. 461// 462// * ErrCodeInvalidRelativePath "InvalidRelativePath" 463// The relative path is too big, is not URL-encoded, or does not begin with 464// a slash (/). 465// 466// * ErrCodeInvalidErrorCode "InvalidErrorCode" 467// An invalid error code was specified. 468// 469// * ErrCodeInvalidResponseCode "InvalidResponseCode" 470// A response code is not valid. 471// 472// * ErrCodeInvalidArgument "InvalidArgument" 473// An argument is invalid. 474// 475// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 476// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 477// protocol in your request, or omit the RequiredProtocols element from your 478// distribution configuration. 479// 480// * ErrCodeNoSuchOrigin "NoSuchOrigin" 481// No origin exists with the specified Origin Id. 482// 483// * ErrCodeTooManyOrigins "TooManyOrigins" 484// You cannot create more origins for the distribution. 485// 486// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 487// Processing your request would cause you to exceed the maximum number of origin 488// groups allowed. 489// 490// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 491// You cannot create more cache behaviors for the distribution. 492// 493// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 494// Your request contains more cookie names in the whitelist than are allowed 495// per cache behavior. 496// 497// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 498// Your request contains forward cookies option which doesn't match with the 499// expectation for the whitelisted list of cookie names. Either list of cookie 500// names has been specified when not allowed or list of cookie names is missing 501// when expected. 502// 503// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 504// Your request contains too many headers in forwarded values. 505// 506// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 507// The headers specified are not valid for an Amazon S3 origin. 508// 509// * ErrCodeInconsistentQuantities "InconsistentQuantities" 510// The value of Quantity and the size of Items don't match. 511// 512// * ErrCodeTooManyCertificates "TooManyCertificates" 513// You cannot create anymore custom SSL/TLS certificates. 514// 515// * ErrCodeInvalidLocationCode "InvalidLocationCode" 516// The location code specified is not valid. 517// 518// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 519// The specified geo restriction parameter is not valid. 520// 521// * ErrCodeInvalidProtocolSettings "InvalidProtocolSettings" 522// You cannot specify SSLv3 as the minimum protocol version if you only want 523// to support only clients that support Server Name Indication (SNI). 524// 525// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 526// The TTL order specified is not valid. 527// 528// * ErrCodeInvalidWebACLId "InvalidWebACLId" 529// A web ACL ID specified is not valid. To specify a web ACL created using the 530// latest version of WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 531// To specify a web ACL created using WAF Classic, use the ACL ID, for example 532// 473e64fd-f30b-4765-81a0-62ad96dd167a. 533// 534// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 535// Your request contains too many origin custom headers. 536// 537// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 538// Your request contains too many query string parameters. 539// 540// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 541// The query string parameters specified are not valid. 542// 543// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 544// Processing your request would cause the maximum number of distributions with 545// Lambda@Edge function associations per owner to be exceeded. 546// 547// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" 548// The maximum number of distributions have been associated with the specified 549// Lambda@Edge function. 550// 551// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 552// Your request contains more Lambda@Edge function associations than are allowed 553// per distribution. 554// 555// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 556// The specified Lambda@Edge function association is invalid. 557// 558// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" 559// You have reached the maximum number of distributions that are associated 560// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 561// (formerly known as limits) in the Amazon CloudFront Developer Guide. 562// 563// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" 564// You have reached the maximum number of CloudFront function associations for 565// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 566// (formerly known as limits) in the Amazon CloudFront Developer Guide. 567// 568// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" 569// A CloudFront function association is invalid. 570// 571// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 572// The read timeout specified for the origin is not valid. 573// 574// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 575// The keep alive timeout specified for the origin is not valid. 576// 577// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 578// The specified configuration for field-level encryption doesn't exist. 579// 580// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 581// The specified configuration for field-level encryption can't be associated 582// with the specified cache behavior. 583// 584// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 585// The maximum number of distributions have been associated with the specified 586// configuration for field-level encryption. 587// 588// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 589// The cache policy does not exist. 590// 591// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" 592// The maximum number of distributions have been associated with the specified 593// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 594// (formerly known as limits) in the Amazon CloudFront Developer Guide. 595// 596// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 597// The origin request policy does not exist. 598// 599// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" 600// The maximum number of distributions have been associated with the specified 601// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 602// (formerly known as limits) in the Amazon CloudFront Developer Guide. 603// 604// * ErrCodeTooManyDistributionsAssociatedToKeyGroup "TooManyDistributionsAssociatedToKeyGroup" 605// The number of distributions that reference this key group is more than the 606// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 607// (formerly known as limits) in the Amazon CloudFront Developer Guide. 608// 609// * ErrCodeTooManyKeyGroupsAssociatedToDistribution "TooManyKeyGroupsAssociatedToDistribution" 610// The number of key groups referenced by this distribution is more than the 611// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 612// (formerly known as limits) in the Amazon CloudFront Developer Guide. 613// 614// * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" 615// The specified key group does not exist. 616// 617// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 618// The real-time log configuration does not exist. 619// 620// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" 621// The specified real-time log configuration belongs to a different account. 622// 623// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistribution 624func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { 625 req, out := c.CreateDistributionRequest(input) 626 return out, req.Send() 627} 628 629// CreateDistributionWithContext is the same as CreateDistribution with the addition of 630// the ability to pass a context and additional request options. 631// 632// See CreateDistribution for details on how to use this API operation. 633// 634// The context must be non-nil and will be used for request cancellation. If 635// the context is nil a panic will occur. In the future the SDK may create 636// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 637// for more information on using Contexts. 638func (c *CloudFront) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) { 639 req, out := c.CreateDistributionRequest(input) 640 req.SetContext(ctx) 641 req.ApplyOptions(opts...) 642 return out, req.Send() 643} 644 645const opCreateDistributionWithTags = "CreateDistributionWithTags2020_05_31" 646 647// CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the 648// client's request for the CreateDistributionWithTags operation. The "output" return 649// value will be populated with the request's response once the request completes 650// successfully. 651// 652// Use "Send" method on the returned Request to send the API call to the service. 653// the "output" return value is not valid until after Send returns without error. 654// 655// See CreateDistributionWithTags for more information on using the CreateDistributionWithTags 656// API call, and error handling. 657// 658// This method is useful when you want to inject custom logic or configuration 659// into the SDK's request lifecycle. Such as custom headers, or retry logic. 660// 661// 662// // Example sending a request using the CreateDistributionWithTagsRequest method. 663// req, resp := client.CreateDistributionWithTagsRequest(params) 664// 665// err := req.Send() 666// if err == nil { // resp is now filled 667// fmt.Println(resp) 668// } 669// 670// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags 671func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) { 672 op := &request.Operation{ 673 Name: opCreateDistributionWithTags, 674 HTTPMethod: "POST", 675 HTTPPath: "/2020-05-31/distribution?WithTags", 676 } 677 678 if input == nil { 679 input = &CreateDistributionWithTagsInput{} 680 } 681 682 output = &CreateDistributionWithTagsOutput{} 683 req = c.newRequest(op, input, output) 684 return 685} 686 687// CreateDistributionWithTags API operation for Amazon CloudFront. 688// 689// Create a new distribution with tags. 690// 691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 692// with awserr.Error's Code and Message methods to get detailed information about 693// the error. 694// 695// See the AWS API reference guide for Amazon CloudFront's 696// API operation CreateDistributionWithTags for usage and error information. 697// 698// Returned Error Codes: 699// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 700// The CNAME specified is already defined for CloudFront. 701// 702// * ErrCodeDistributionAlreadyExists "DistributionAlreadyExists" 703// The caller reference you attempted to create the distribution with is associated 704// with another distribution. 705// 706// * ErrCodeInvalidOrigin "InvalidOrigin" 707// The Amazon S3 origin server specified does not refer to a valid Amazon S3 708// bucket. 709// 710// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 711// The origin access identity is not valid or doesn't exist. 712// 713// * ErrCodeAccessDenied "AccessDenied" 714// Access denied. 715// 716// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 717// Your request contains more trusted signers than are allowed per distribution. 718// 719// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 720// One or more of your trusted signers don't exist. 721// 722// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 723// A viewer certificate specified is not valid. 724// 725// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 726// The minimum protocol version specified is not valid. 727// 728// * ErrCodeMissingBody "MissingBody" 729// This operation requires a body. Ensure that the body is present and the Content-Type 730// header is set. 731// 732// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 733// Your request contains more CNAMEs than are allowed per distribution. 734// 735// * ErrCodeTooManyDistributions "TooManyDistributions" 736// Processing your request would cause you to exceed the maximum number of distributions 737// allowed. 738// 739// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 740// The default root object file name is too big or contains an invalid character. 741// 742// * ErrCodeInvalidRelativePath "InvalidRelativePath" 743// The relative path is too big, is not URL-encoded, or does not begin with 744// a slash (/). 745// 746// * ErrCodeInvalidErrorCode "InvalidErrorCode" 747// An invalid error code was specified. 748// 749// * ErrCodeInvalidResponseCode "InvalidResponseCode" 750// A response code is not valid. 751// 752// * ErrCodeInvalidArgument "InvalidArgument" 753// An argument is invalid. 754// 755// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 756// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 757// protocol in your request, or omit the RequiredProtocols element from your 758// distribution configuration. 759// 760// * ErrCodeNoSuchOrigin "NoSuchOrigin" 761// No origin exists with the specified Origin Id. 762// 763// * ErrCodeTooManyOrigins "TooManyOrigins" 764// You cannot create more origins for the distribution. 765// 766// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 767// Processing your request would cause you to exceed the maximum number of origin 768// groups allowed. 769// 770// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 771// You cannot create more cache behaviors for the distribution. 772// 773// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 774// Your request contains more cookie names in the whitelist than are allowed 775// per cache behavior. 776// 777// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 778// Your request contains forward cookies option which doesn't match with the 779// expectation for the whitelisted list of cookie names. Either list of cookie 780// names has been specified when not allowed or list of cookie names is missing 781// when expected. 782// 783// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 784// Your request contains too many headers in forwarded values. 785// 786// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 787// The headers specified are not valid for an Amazon S3 origin. 788// 789// * ErrCodeInconsistentQuantities "InconsistentQuantities" 790// The value of Quantity and the size of Items don't match. 791// 792// * ErrCodeTooManyCertificates "TooManyCertificates" 793// You cannot create anymore custom SSL/TLS certificates. 794// 795// * ErrCodeInvalidLocationCode "InvalidLocationCode" 796// The location code specified is not valid. 797// 798// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 799// The specified geo restriction parameter is not valid. 800// 801// * ErrCodeInvalidProtocolSettings "InvalidProtocolSettings" 802// You cannot specify SSLv3 as the minimum protocol version if you only want 803// to support only clients that support Server Name Indication (SNI). 804// 805// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 806// The TTL order specified is not valid. 807// 808// * ErrCodeInvalidWebACLId "InvalidWebACLId" 809// A web ACL ID specified is not valid. To specify a web ACL created using the 810// latest version of WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 811// To specify a web ACL created using WAF Classic, use the ACL ID, for example 812// 473e64fd-f30b-4765-81a0-62ad96dd167a. 813// 814// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 815// Your request contains too many origin custom headers. 816// 817// * ErrCodeInvalidTagging "InvalidTagging" 818// The tagging specified is not valid. 819// 820// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 821// Your request contains too many query string parameters. 822// 823// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 824// The query string parameters specified are not valid. 825// 826// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 827// Processing your request would cause the maximum number of distributions with 828// Lambda@Edge function associations per owner to be exceeded. 829// 830// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" 831// The maximum number of distributions have been associated with the specified 832// Lambda@Edge function. 833// 834// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 835// Your request contains more Lambda@Edge function associations than are allowed 836// per distribution. 837// 838// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 839// The specified Lambda@Edge function association is invalid. 840// 841// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" 842// You have reached the maximum number of distributions that are associated 843// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 844// (formerly known as limits) in the Amazon CloudFront Developer Guide. 845// 846// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" 847// You have reached the maximum number of CloudFront function associations for 848// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 849// (formerly known as limits) in the Amazon CloudFront Developer Guide. 850// 851// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" 852// A CloudFront function association is invalid. 853// 854// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 855// The read timeout specified for the origin is not valid. 856// 857// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 858// The keep alive timeout specified for the origin is not valid. 859// 860// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 861// The specified configuration for field-level encryption doesn't exist. 862// 863// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 864// The specified configuration for field-level encryption can't be associated 865// with the specified cache behavior. 866// 867// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 868// The maximum number of distributions have been associated with the specified 869// configuration for field-level encryption. 870// 871// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 872// The cache policy does not exist. 873// 874// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" 875// The maximum number of distributions have been associated with the specified 876// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 877// (formerly known as limits) in the Amazon CloudFront Developer Guide. 878// 879// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 880// The origin request policy does not exist. 881// 882// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" 883// The maximum number of distributions have been associated with the specified 884// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 885// (formerly known as limits) in the Amazon CloudFront Developer Guide. 886// 887// * ErrCodeTooManyDistributionsAssociatedToKeyGroup "TooManyDistributionsAssociatedToKeyGroup" 888// The number of distributions that reference this key group is more than the 889// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 890// (formerly known as limits) in the Amazon CloudFront Developer Guide. 891// 892// * ErrCodeTooManyKeyGroupsAssociatedToDistribution "TooManyKeyGroupsAssociatedToDistribution" 893// The number of key groups referenced by this distribution is more than the 894// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 895// (formerly known as limits) in the Amazon CloudFront Developer Guide. 896// 897// * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" 898// The specified key group does not exist. 899// 900// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 901// The real-time log configuration does not exist. 902// 903// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" 904// The specified real-time log configuration belongs to a different account. 905// 906// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateDistributionWithTags 907func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { 908 req, out := c.CreateDistributionWithTagsRequest(input) 909 return out, req.Send() 910} 911 912// CreateDistributionWithTagsWithContext is the same as CreateDistributionWithTags with the addition of 913// the ability to pass a context and additional request options. 914// 915// See CreateDistributionWithTags for details on how to use this API operation. 916// 917// The context must be non-nil and will be used for request cancellation. If 918// the context is nil a panic will occur. In the future the SDK may create 919// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 920// for more information on using Contexts. 921func (c *CloudFront) CreateDistributionWithTagsWithContext(ctx aws.Context, input *CreateDistributionWithTagsInput, opts ...request.Option) (*CreateDistributionWithTagsOutput, error) { 922 req, out := c.CreateDistributionWithTagsRequest(input) 923 req.SetContext(ctx) 924 req.ApplyOptions(opts...) 925 return out, req.Send() 926} 927 928const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2020_05_31" 929 930// CreateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 931// client's request for the CreateFieldLevelEncryptionConfig operation. The "output" return 932// value will be populated with the request's response once the request completes 933// successfully. 934// 935// Use "Send" method on the returned Request to send the API call to the service. 936// the "output" return value is not valid until after Send returns without error. 937// 938// See CreateFieldLevelEncryptionConfig for more information on using the CreateFieldLevelEncryptionConfig 939// API call, and error handling. 940// 941// This method is useful when you want to inject custom logic or configuration 942// into the SDK's request lifecycle. Such as custom headers, or retry logic. 943// 944// 945// // Example sending a request using the CreateFieldLevelEncryptionConfigRequest method. 946// req, resp := client.CreateFieldLevelEncryptionConfigRequest(params) 947// 948// err := req.Send() 949// if err == nil { // resp is now filled 950// fmt.Println(resp) 951// } 952// 953// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig 954func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldLevelEncryptionConfigInput) (req *request.Request, output *CreateFieldLevelEncryptionConfigOutput) { 955 op := &request.Operation{ 956 Name: opCreateFieldLevelEncryptionConfig, 957 HTTPMethod: "POST", 958 HTTPPath: "/2020-05-31/field-level-encryption", 959 } 960 961 if input == nil { 962 input = &CreateFieldLevelEncryptionConfigInput{} 963 } 964 965 output = &CreateFieldLevelEncryptionConfigOutput{} 966 req = c.newRequest(op, input, output) 967 return 968} 969 970// CreateFieldLevelEncryptionConfig API operation for Amazon CloudFront. 971// 972// Create a new field-level encryption configuration. 973// 974// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 975// with awserr.Error's Code and Message methods to get detailed information about 976// the error. 977// 978// See the AWS API reference guide for Amazon CloudFront's 979// API operation CreateFieldLevelEncryptionConfig for usage and error information. 980// 981// Returned Error Codes: 982// * ErrCodeInconsistentQuantities "InconsistentQuantities" 983// The value of Quantity and the size of Items don't match. 984// 985// * ErrCodeInvalidArgument "InvalidArgument" 986// An argument is invalid. 987// 988// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 989// The specified profile for field-level encryption doesn't exist. 990// 991// * ErrCodeFieldLevelEncryptionConfigAlreadyExists "FieldLevelEncryptionConfigAlreadyExists" 992// The specified configuration for field-level encryption already exists. 993// 994// * ErrCodeTooManyFieldLevelEncryptionConfigs "TooManyFieldLevelEncryptionConfigs" 995// The maximum number of configurations for field-level encryption have been 996// created. 997// 998// * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" 999// The maximum number of query arg profiles for field-level encryption have 1000// been created. 1001// 1002// * ErrCodeTooManyFieldLevelEncryptionContentTypeProfiles "TooManyFieldLevelEncryptionContentTypeProfiles" 1003// The maximum number of content type profiles for field-level encryption have 1004// been created. 1005// 1006// * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" 1007// No profile specified for the field-level encryption query argument. 1008// 1009// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionConfig 1010func (c *CloudFront) CreateFieldLevelEncryptionConfig(input *CreateFieldLevelEncryptionConfigInput) (*CreateFieldLevelEncryptionConfigOutput, error) { 1011 req, out := c.CreateFieldLevelEncryptionConfigRequest(input) 1012 return out, req.Send() 1013} 1014 1015// CreateFieldLevelEncryptionConfigWithContext is the same as CreateFieldLevelEncryptionConfig with the addition of 1016// the ability to pass a context and additional request options. 1017// 1018// See CreateFieldLevelEncryptionConfig for details on how to use this API operation. 1019// 1020// The context must be non-nil and will be used for request cancellation. If 1021// the context is nil a panic will occur. In the future the SDK may create 1022// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1023// for more information on using Contexts. 1024func (c *CloudFront) CreateFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *CreateFieldLevelEncryptionConfigInput, opts ...request.Option) (*CreateFieldLevelEncryptionConfigOutput, error) { 1025 req, out := c.CreateFieldLevelEncryptionConfigRequest(input) 1026 req.SetContext(ctx) 1027 req.ApplyOptions(opts...) 1028 return out, req.Send() 1029} 1030 1031const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2020_05_31" 1032 1033// CreateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 1034// client's request for the CreateFieldLevelEncryptionProfile operation. The "output" return 1035// value will be populated with the request's response once the request completes 1036// successfully. 1037// 1038// Use "Send" method on the returned Request to send the API call to the service. 1039// the "output" return value is not valid until after Send returns without error. 1040// 1041// See CreateFieldLevelEncryptionProfile for more information on using the CreateFieldLevelEncryptionProfile 1042// API call, and error handling. 1043// 1044// This method is useful when you want to inject custom logic or configuration 1045// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1046// 1047// 1048// // Example sending a request using the CreateFieldLevelEncryptionProfileRequest method. 1049// req, resp := client.CreateFieldLevelEncryptionProfileRequest(params) 1050// 1051// err := req.Send() 1052// if err == nil { // resp is now filled 1053// fmt.Println(resp) 1054// } 1055// 1056// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile 1057func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateFieldLevelEncryptionProfileInput) (req *request.Request, output *CreateFieldLevelEncryptionProfileOutput) { 1058 op := &request.Operation{ 1059 Name: opCreateFieldLevelEncryptionProfile, 1060 HTTPMethod: "POST", 1061 HTTPPath: "/2020-05-31/field-level-encryption-profile", 1062 } 1063 1064 if input == nil { 1065 input = &CreateFieldLevelEncryptionProfileInput{} 1066 } 1067 1068 output = &CreateFieldLevelEncryptionProfileOutput{} 1069 req = c.newRequest(op, input, output) 1070 return 1071} 1072 1073// CreateFieldLevelEncryptionProfile API operation for Amazon CloudFront. 1074// 1075// Create a field-level encryption profile. 1076// 1077// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1078// with awserr.Error's Code and Message methods to get detailed information about 1079// the error. 1080// 1081// See the AWS API reference guide for Amazon CloudFront's 1082// API operation CreateFieldLevelEncryptionProfile for usage and error information. 1083// 1084// Returned Error Codes: 1085// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1086// The value of Quantity and the size of Items don't match. 1087// 1088// * ErrCodeInvalidArgument "InvalidArgument" 1089// An argument is invalid. 1090// 1091// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 1092// The specified public key doesn't exist. 1093// 1094// * ErrCodeFieldLevelEncryptionProfileAlreadyExists "FieldLevelEncryptionProfileAlreadyExists" 1095// The specified profile for field-level encryption already exists. 1096// 1097// * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" 1098// The maximum size of a profile for field-level encryption was exceeded. 1099// 1100// * ErrCodeTooManyFieldLevelEncryptionProfiles "TooManyFieldLevelEncryptionProfiles" 1101// The maximum number of profiles for field-level encryption have been created. 1102// 1103// * ErrCodeTooManyFieldLevelEncryptionEncryptionEntities "TooManyFieldLevelEncryptionEncryptionEntities" 1104// The maximum number of encryption entities for field-level encryption have 1105// been created. 1106// 1107// * ErrCodeTooManyFieldLevelEncryptionFieldPatterns "TooManyFieldLevelEncryptionFieldPatterns" 1108// The maximum number of field patterns for field-level encryption have been 1109// created. 1110// 1111// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFieldLevelEncryptionProfile 1112func (c *CloudFront) CreateFieldLevelEncryptionProfile(input *CreateFieldLevelEncryptionProfileInput) (*CreateFieldLevelEncryptionProfileOutput, error) { 1113 req, out := c.CreateFieldLevelEncryptionProfileRequest(input) 1114 return out, req.Send() 1115} 1116 1117// CreateFieldLevelEncryptionProfileWithContext is the same as CreateFieldLevelEncryptionProfile with the addition of 1118// the ability to pass a context and additional request options. 1119// 1120// See CreateFieldLevelEncryptionProfile for details on how to use this API operation. 1121// 1122// The context must be non-nil and will be used for request cancellation. If 1123// the context is nil a panic will occur. In the future the SDK may create 1124// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1125// for more information on using Contexts. 1126func (c *CloudFront) CreateFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *CreateFieldLevelEncryptionProfileInput, opts ...request.Option) (*CreateFieldLevelEncryptionProfileOutput, error) { 1127 req, out := c.CreateFieldLevelEncryptionProfileRequest(input) 1128 req.SetContext(ctx) 1129 req.ApplyOptions(opts...) 1130 return out, req.Send() 1131} 1132 1133const opCreateFunction = "CreateFunction2020_05_31" 1134 1135// CreateFunctionRequest generates a "aws/request.Request" representing the 1136// client's request for the CreateFunction operation. The "output" return 1137// value will be populated with the request's response once the request completes 1138// successfully. 1139// 1140// Use "Send" method on the returned Request to send the API call to the service. 1141// the "output" return value is not valid until after Send returns without error. 1142// 1143// See CreateFunction for more information on using the CreateFunction 1144// API call, and error handling. 1145// 1146// This method is useful when you want to inject custom logic or configuration 1147// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1148// 1149// 1150// // Example sending a request using the CreateFunctionRequest method. 1151// req, resp := client.CreateFunctionRequest(params) 1152// 1153// err := req.Send() 1154// if err == nil { // resp is now filled 1155// fmt.Println(resp) 1156// } 1157// 1158// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunction 1159func (c *CloudFront) CreateFunctionRequest(input *CreateFunctionInput) (req *request.Request, output *CreateFunctionOutput) { 1160 op := &request.Operation{ 1161 Name: opCreateFunction, 1162 HTTPMethod: "POST", 1163 HTTPPath: "/2020-05-31/function", 1164 } 1165 1166 if input == nil { 1167 input = &CreateFunctionInput{} 1168 } 1169 1170 output = &CreateFunctionOutput{} 1171 req = c.newRequest(op, input, output) 1172 return 1173} 1174 1175// CreateFunction API operation for Amazon CloudFront. 1176// 1177// Creates a CloudFront function. 1178// 1179// To create a function, you provide the function code and some configuration 1180// information about the function. The response contains an Amazon Resource 1181// Name (ARN) that uniquely identifies the function. 1182// 1183// When you create a function, it’s in the DEVELOPMENT stage. In this stage, 1184// you can test the function with TestFunction, and update it with UpdateFunction. 1185// 1186// When you’re ready to use your function with a CloudFront distribution, 1187// use PublishFunction to copy the function from the DEVELOPMENT stage to LIVE. 1188// When it’s live, you can attach the function to a distribution’s cache 1189// behavior, using the function’s ARN. 1190// 1191// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1192// with awserr.Error's Code and Message methods to get detailed information about 1193// the error. 1194// 1195// See the AWS API reference guide for Amazon CloudFront's 1196// API operation CreateFunction for usage and error information. 1197// 1198// Returned Error Codes: 1199// * ErrCodeTooManyFunctions "TooManyFunctions" 1200// You have reached the maximum number of CloudFront functions for this account. 1201// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1202// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1203// 1204// * ErrCodeFunctionAlreadyExists "FunctionAlreadyExists" 1205// A function with the same name already exists in this account. To create a 1206// function, you must provide a unique name. To update an existing function, 1207// use UpdateFunction. 1208// 1209// * ErrCodeFunctionSizeLimitExceeded "FunctionSizeLimitExceeded" 1210// The function is too large. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1211// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1212// 1213// * ErrCodeInvalidArgument "InvalidArgument" 1214// An argument is invalid. 1215// 1216// * ErrCodeUnsupportedOperation "UnsupportedOperation" 1217// This operation is not supported in this region. 1218// 1219// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateFunction 1220func (c *CloudFront) CreateFunction(input *CreateFunctionInput) (*CreateFunctionOutput, error) { 1221 req, out := c.CreateFunctionRequest(input) 1222 return out, req.Send() 1223} 1224 1225// CreateFunctionWithContext is the same as CreateFunction with the addition of 1226// the ability to pass a context and additional request options. 1227// 1228// See CreateFunction for details on how to use this API operation. 1229// 1230// The context must be non-nil and will be used for request cancellation. If 1231// the context is nil a panic will occur. In the future the SDK may create 1232// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1233// for more information on using Contexts. 1234func (c *CloudFront) CreateFunctionWithContext(ctx aws.Context, input *CreateFunctionInput, opts ...request.Option) (*CreateFunctionOutput, error) { 1235 req, out := c.CreateFunctionRequest(input) 1236 req.SetContext(ctx) 1237 req.ApplyOptions(opts...) 1238 return out, req.Send() 1239} 1240 1241const opCreateInvalidation = "CreateInvalidation2020_05_31" 1242 1243// CreateInvalidationRequest generates a "aws/request.Request" representing the 1244// client's request for the CreateInvalidation operation. The "output" return 1245// value will be populated with the request's response once the request completes 1246// successfully. 1247// 1248// Use "Send" method on the returned Request to send the API call to the service. 1249// the "output" return value is not valid until after Send returns without error. 1250// 1251// See CreateInvalidation for more information on using the CreateInvalidation 1252// API call, and error handling. 1253// 1254// This method is useful when you want to inject custom logic or configuration 1255// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1256// 1257// 1258// // Example sending a request using the CreateInvalidationRequest method. 1259// req, resp := client.CreateInvalidationRequest(params) 1260// 1261// err := req.Send() 1262// if err == nil { // resp is now filled 1263// fmt.Println(resp) 1264// } 1265// 1266// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation 1267func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) { 1268 op := &request.Operation{ 1269 Name: opCreateInvalidation, 1270 HTTPMethod: "POST", 1271 HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", 1272 } 1273 1274 if input == nil { 1275 input = &CreateInvalidationInput{} 1276 } 1277 1278 output = &CreateInvalidationOutput{} 1279 req = c.newRequest(op, input, output) 1280 return 1281} 1282 1283// CreateInvalidation API operation for Amazon CloudFront. 1284// 1285// Create a new invalidation. 1286// 1287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1288// with awserr.Error's Code and Message methods to get detailed information about 1289// the error. 1290// 1291// See the AWS API reference guide for Amazon CloudFront's 1292// API operation CreateInvalidation for usage and error information. 1293// 1294// Returned Error Codes: 1295// * ErrCodeAccessDenied "AccessDenied" 1296// Access denied. 1297// 1298// * ErrCodeMissingBody "MissingBody" 1299// This operation requires a body. Ensure that the body is present and the Content-Type 1300// header is set. 1301// 1302// * ErrCodeInvalidArgument "InvalidArgument" 1303// An argument is invalid. 1304// 1305// * ErrCodeNoSuchDistribution "NoSuchDistribution" 1306// The specified distribution does not exist. 1307// 1308// * ErrCodeBatchTooLarge "BatchTooLarge" 1309// Invalidation batch specified is too large. 1310// 1311// * ErrCodeTooManyInvalidationsInProgress "TooManyInvalidationsInProgress" 1312// You have exceeded the maximum number of allowable InProgress invalidation 1313// batch requests, or invalidation objects. 1314// 1315// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1316// The value of Quantity and the size of Items don't match. 1317// 1318// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateInvalidation 1319func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) { 1320 req, out := c.CreateInvalidationRequest(input) 1321 return out, req.Send() 1322} 1323 1324// CreateInvalidationWithContext is the same as CreateInvalidation with the addition of 1325// the ability to pass a context and additional request options. 1326// 1327// See CreateInvalidation for details on how to use this API operation. 1328// 1329// The context must be non-nil and will be used for request cancellation. If 1330// the context is nil a panic will occur. In the future the SDK may create 1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1332// for more information on using Contexts. 1333func (c *CloudFront) CreateInvalidationWithContext(ctx aws.Context, input *CreateInvalidationInput, opts ...request.Option) (*CreateInvalidationOutput, error) { 1334 req, out := c.CreateInvalidationRequest(input) 1335 req.SetContext(ctx) 1336 req.ApplyOptions(opts...) 1337 return out, req.Send() 1338} 1339 1340const opCreateKeyGroup = "CreateKeyGroup2020_05_31" 1341 1342// CreateKeyGroupRequest generates a "aws/request.Request" representing the 1343// client's request for the CreateKeyGroup operation. The "output" return 1344// value will be populated with the request's response once the request completes 1345// successfully. 1346// 1347// Use "Send" method on the returned Request to send the API call to the service. 1348// the "output" return value is not valid until after Send returns without error. 1349// 1350// See CreateKeyGroup for more information on using the CreateKeyGroup 1351// API call, and error handling. 1352// 1353// This method is useful when you want to inject custom logic or configuration 1354// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1355// 1356// 1357// // Example sending a request using the CreateKeyGroupRequest method. 1358// req, resp := client.CreateKeyGroupRequest(params) 1359// 1360// err := req.Send() 1361// if err == nil { // resp is now filled 1362// fmt.Println(resp) 1363// } 1364// 1365// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyGroup 1366func (c *CloudFront) CreateKeyGroupRequest(input *CreateKeyGroupInput) (req *request.Request, output *CreateKeyGroupOutput) { 1367 op := &request.Operation{ 1368 Name: opCreateKeyGroup, 1369 HTTPMethod: "POST", 1370 HTTPPath: "/2020-05-31/key-group", 1371 } 1372 1373 if input == nil { 1374 input = &CreateKeyGroupInput{} 1375 } 1376 1377 output = &CreateKeyGroupOutput{} 1378 req = c.newRequest(op, input, output) 1379 return 1380} 1381 1382// CreateKeyGroup API operation for Amazon CloudFront. 1383// 1384// Creates a key group that you can use with CloudFront signed URLs and signed 1385// cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html). 1386// 1387// To create a key group, you must specify at least one public key for the key 1388// group. After you create a key group, you can reference it from one or more 1389// cache behaviors. When you reference a key group in a cache behavior, CloudFront 1390// requires signed URLs or signed cookies for all requests that match the cache 1391// behavior. The URLs or cookies must be signed with a private key whose corresponding 1392// public key is in the key group. The signed URL or cookie contains information 1393// about which public key CloudFront should use to verify the signature. For 1394// more information, see Serving private content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 1395// in the Amazon CloudFront Developer Guide. 1396// 1397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1398// with awserr.Error's Code and Message methods to get detailed information about 1399// the error. 1400// 1401// See the AWS API reference guide for Amazon CloudFront's 1402// API operation CreateKeyGroup for usage and error information. 1403// 1404// Returned Error Codes: 1405// * ErrCodeInvalidArgument "InvalidArgument" 1406// An argument is invalid. 1407// 1408// * ErrCodeKeyGroupAlreadyExists "KeyGroupAlreadyExists" 1409// A key group with this name already exists. You must provide a unique name. 1410// To modify an existing key group, use UpdateKeyGroup. 1411// 1412// * ErrCodeTooManyKeyGroups "TooManyKeyGroups" 1413// You have reached the maximum number of key groups for this account. For more 1414// information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1415// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1416// 1417// * ErrCodeTooManyPublicKeysInKeyGroup "TooManyPublicKeysInKeyGroup" 1418// The number of public keys in this key group is more than the maximum allowed. 1419// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1420// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1421// 1422// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateKeyGroup 1423func (c *CloudFront) CreateKeyGroup(input *CreateKeyGroupInput) (*CreateKeyGroupOutput, error) { 1424 req, out := c.CreateKeyGroupRequest(input) 1425 return out, req.Send() 1426} 1427 1428// CreateKeyGroupWithContext is the same as CreateKeyGroup with the addition of 1429// the ability to pass a context and additional request options. 1430// 1431// See CreateKeyGroup for details on how to use this API operation. 1432// 1433// The context must be non-nil and will be used for request cancellation. If 1434// the context is nil a panic will occur. In the future the SDK may create 1435// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1436// for more information on using Contexts. 1437func (c *CloudFront) CreateKeyGroupWithContext(ctx aws.Context, input *CreateKeyGroupInput, opts ...request.Option) (*CreateKeyGroupOutput, error) { 1438 req, out := c.CreateKeyGroupRequest(input) 1439 req.SetContext(ctx) 1440 req.ApplyOptions(opts...) 1441 return out, req.Send() 1442} 1443 1444const opCreateMonitoringSubscription = "CreateMonitoringSubscription2020_05_31" 1445 1446// CreateMonitoringSubscriptionRequest generates a "aws/request.Request" representing the 1447// client's request for the CreateMonitoringSubscription operation. The "output" return 1448// value will be populated with the request's response once the request completes 1449// successfully. 1450// 1451// Use "Send" method on the returned Request to send the API call to the service. 1452// the "output" return value is not valid until after Send returns without error. 1453// 1454// See CreateMonitoringSubscription for more information on using the CreateMonitoringSubscription 1455// API call, and error handling. 1456// 1457// This method is useful when you want to inject custom logic or configuration 1458// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1459// 1460// 1461// // Example sending a request using the CreateMonitoringSubscriptionRequest method. 1462// req, resp := client.CreateMonitoringSubscriptionRequest(params) 1463// 1464// err := req.Send() 1465// if err == nil { // resp is now filled 1466// fmt.Println(resp) 1467// } 1468// 1469// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription 1470func (c *CloudFront) CreateMonitoringSubscriptionRequest(input *CreateMonitoringSubscriptionInput) (req *request.Request, output *CreateMonitoringSubscriptionOutput) { 1471 op := &request.Operation{ 1472 Name: opCreateMonitoringSubscription, 1473 HTTPMethod: "POST", 1474 HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", 1475 } 1476 1477 if input == nil { 1478 input = &CreateMonitoringSubscriptionInput{} 1479 } 1480 1481 output = &CreateMonitoringSubscriptionOutput{} 1482 req = c.newRequest(op, input, output) 1483 return 1484} 1485 1486// CreateMonitoringSubscription API operation for Amazon CloudFront. 1487// 1488// Enables additional CloudWatch metrics for the specified CloudFront distribution. 1489// The additional metrics incur an additional cost. 1490// 1491// For more information, see Viewing additional CloudFront distribution metrics 1492// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html#monitoring-console.distributions-additional) 1493// in the Amazon CloudFront Developer Guide. 1494// 1495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1496// with awserr.Error's Code and Message methods to get detailed information about 1497// the error. 1498// 1499// See the AWS API reference guide for Amazon CloudFront's 1500// API operation CreateMonitoringSubscription for usage and error information. 1501// 1502// Returned Error Codes: 1503// * ErrCodeAccessDenied "AccessDenied" 1504// Access denied. 1505// 1506// * ErrCodeNoSuchDistribution "NoSuchDistribution" 1507// The specified distribution does not exist. 1508// 1509// * ErrCodeUnsupportedOperation "UnsupportedOperation" 1510// This operation is not supported in this region. 1511// 1512// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateMonitoringSubscription 1513func (c *CloudFront) CreateMonitoringSubscription(input *CreateMonitoringSubscriptionInput) (*CreateMonitoringSubscriptionOutput, error) { 1514 req, out := c.CreateMonitoringSubscriptionRequest(input) 1515 return out, req.Send() 1516} 1517 1518// CreateMonitoringSubscriptionWithContext is the same as CreateMonitoringSubscription with the addition of 1519// the ability to pass a context and additional request options. 1520// 1521// See CreateMonitoringSubscription for details on how to use this API operation. 1522// 1523// The context must be non-nil and will be used for request cancellation. If 1524// the context is nil a panic will occur. In the future the SDK may create 1525// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1526// for more information on using Contexts. 1527func (c *CloudFront) CreateMonitoringSubscriptionWithContext(ctx aws.Context, input *CreateMonitoringSubscriptionInput, opts ...request.Option) (*CreateMonitoringSubscriptionOutput, error) { 1528 req, out := c.CreateMonitoringSubscriptionRequest(input) 1529 req.SetContext(ctx) 1530 req.ApplyOptions(opts...) 1531 return out, req.Send() 1532} 1533 1534const opCreateOriginRequestPolicy = "CreateOriginRequestPolicy2020_05_31" 1535 1536// CreateOriginRequestPolicyRequest generates a "aws/request.Request" representing the 1537// client's request for the CreateOriginRequestPolicy operation. The "output" return 1538// value will be populated with the request's response once the request completes 1539// successfully. 1540// 1541// Use "Send" method on the returned Request to send the API call to the service. 1542// the "output" return value is not valid until after Send returns without error. 1543// 1544// See CreateOriginRequestPolicy for more information on using the CreateOriginRequestPolicy 1545// API call, and error handling. 1546// 1547// This method is useful when you want to inject custom logic or configuration 1548// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1549// 1550// 1551// // Example sending a request using the CreateOriginRequestPolicyRequest method. 1552// req, resp := client.CreateOriginRequestPolicyRequest(params) 1553// 1554// err := req.Send() 1555// if err == nil { // resp is now filled 1556// fmt.Println(resp) 1557// } 1558// 1559// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy 1560func (c *CloudFront) CreateOriginRequestPolicyRequest(input *CreateOriginRequestPolicyInput) (req *request.Request, output *CreateOriginRequestPolicyOutput) { 1561 op := &request.Operation{ 1562 Name: opCreateOriginRequestPolicy, 1563 HTTPMethod: "POST", 1564 HTTPPath: "/2020-05-31/origin-request-policy", 1565 } 1566 1567 if input == nil { 1568 input = &CreateOriginRequestPolicyInput{} 1569 } 1570 1571 output = &CreateOriginRequestPolicyOutput{} 1572 req = c.newRequest(op, input, output) 1573 return 1574} 1575 1576// CreateOriginRequestPolicy API operation for Amazon CloudFront. 1577// 1578// Creates an origin request policy. 1579// 1580// After you create an origin request policy, you can attach it to one or more 1581// cache behaviors. When it’s attached to a cache behavior, the origin request 1582// policy determines the values that CloudFront includes in requests that it 1583// sends to the origin. Each request that CloudFront sends to the origin includes 1584// the following: 1585// 1586// * The request body and the URL path (without the domain name) from the 1587// viewer request. 1588// 1589// * The headers that CloudFront automatically includes in every origin request, 1590// including Host, User-Agent, and X-Amz-Cf-Id. 1591// 1592// * All HTTP headers, cookies, and URL query strings that are specified 1593// in the cache policy or the origin request policy. These can include items 1594// from the viewer request and, in the case of headers, additional ones that 1595// are added by CloudFront. 1596// 1597// CloudFront sends a request when it can’t find a valid object in its cache 1598// that matches the request. If you want to send values to the origin and also 1599// include them in the cache key, use CachePolicy. 1600// 1601// For more information about origin request policies, see Controlling origin 1602// requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html) 1603// in the Amazon CloudFront Developer Guide. 1604// 1605// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1606// with awserr.Error's Code and Message methods to get detailed information about 1607// the error. 1608// 1609// See the AWS API reference guide for Amazon CloudFront's 1610// API operation CreateOriginRequestPolicy for usage and error information. 1611// 1612// Returned Error Codes: 1613// * ErrCodeAccessDenied "AccessDenied" 1614// Access denied. 1615// 1616// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1617// The value of Quantity and the size of Items don't match. 1618// 1619// * ErrCodeInvalidArgument "InvalidArgument" 1620// An argument is invalid. 1621// 1622// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" 1623// An origin request policy with this name already exists. You must provide 1624// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. 1625// 1626// * ErrCodeTooManyOriginRequestPolicies "TooManyOriginRequestPolicies" 1627// You have reached the maximum number of origin request policies for this account. 1628// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1629// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1630// 1631// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" 1632// The number of headers in the origin request policy exceeds the maximum. For 1633// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1634// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1635// 1636// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" 1637// The number of cookies in the origin request policy exceeds the maximum. For 1638// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1639// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1640// 1641// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" 1642// The number of query strings in the origin request policy exceeds the maximum. 1643// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1644// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1645// 1646// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginRequestPolicy 1647func (c *CloudFront) CreateOriginRequestPolicy(input *CreateOriginRequestPolicyInput) (*CreateOriginRequestPolicyOutput, error) { 1648 req, out := c.CreateOriginRequestPolicyRequest(input) 1649 return out, req.Send() 1650} 1651 1652// CreateOriginRequestPolicyWithContext is the same as CreateOriginRequestPolicy with the addition of 1653// the ability to pass a context and additional request options. 1654// 1655// See CreateOriginRequestPolicy for details on how to use this API operation. 1656// 1657// The context must be non-nil and will be used for request cancellation. If 1658// the context is nil a panic will occur. In the future the SDK may create 1659// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1660// for more information on using Contexts. 1661func (c *CloudFront) CreateOriginRequestPolicyWithContext(ctx aws.Context, input *CreateOriginRequestPolicyInput, opts ...request.Option) (*CreateOriginRequestPolicyOutput, error) { 1662 req, out := c.CreateOriginRequestPolicyRequest(input) 1663 req.SetContext(ctx) 1664 req.ApplyOptions(opts...) 1665 return out, req.Send() 1666} 1667 1668const opCreatePublicKey = "CreatePublicKey2020_05_31" 1669 1670// CreatePublicKeyRequest generates a "aws/request.Request" representing the 1671// client's request for the CreatePublicKey operation. The "output" return 1672// value will be populated with the request's response once the request completes 1673// successfully. 1674// 1675// Use "Send" method on the returned Request to send the API call to the service. 1676// the "output" return value is not valid until after Send returns without error. 1677// 1678// See CreatePublicKey for more information on using the CreatePublicKey 1679// API call, and error handling. 1680// 1681// This method is useful when you want to inject custom logic or configuration 1682// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1683// 1684// 1685// // Example sending a request using the CreatePublicKeyRequest method. 1686// req, resp := client.CreatePublicKeyRequest(params) 1687// 1688// err := req.Send() 1689// if err == nil { // resp is now filled 1690// fmt.Println(resp) 1691// } 1692// 1693// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey 1694func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *request.Request, output *CreatePublicKeyOutput) { 1695 op := &request.Operation{ 1696 Name: opCreatePublicKey, 1697 HTTPMethod: "POST", 1698 HTTPPath: "/2020-05-31/public-key", 1699 } 1700 1701 if input == nil { 1702 input = &CreatePublicKeyInput{} 1703 } 1704 1705 output = &CreatePublicKeyOutput{} 1706 req = c.newRequest(op, input, output) 1707 return 1708} 1709 1710// CreatePublicKey API operation for Amazon CloudFront. 1711// 1712// Uploads a public key to CloudFront that you can use with signed URLs and 1713// signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 1714// or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 1715// 1716// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1717// with awserr.Error's Code and Message methods to get detailed information about 1718// the error. 1719// 1720// See the AWS API reference guide for Amazon CloudFront's 1721// API operation CreatePublicKey for usage and error information. 1722// 1723// Returned Error Codes: 1724// * ErrCodePublicKeyAlreadyExists "PublicKeyAlreadyExists" 1725// The specified public key already exists. 1726// 1727// * ErrCodeInvalidArgument "InvalidArgument" 1728// An argument is invalid. 1729// 1730// * ErrCodeTooManyPublicKeys "TooManyPublicKeys" 1731// The maximum number of public keys for field-level encryption have been created. 1732// To create a new public key, delete one of the existing keys. 1733// 1734// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreatePublicKey 1735func (c *CloudFront) CreatePublicKey(input *CreatePublicKeyInput) (*CreatePublicKeyOutput, error) { 1736 req, out := c.CreatePublicKeyRequest(input) 1737 return out, req.Send() 1738} 1739 1740// CreatePublicKeyWithContext is the same as CreatePublicKey with the addition of 1741// the ability to pass a context and additional request options. 1742// 1743// See CreatePublicKey for details on how to use this API operation. 1744// 1745// The context must be non-nil and will be used for request cancellation. If 1746// the context is nil a panic will occur. In the future the SDK may create 1747// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1748// for more information on using Contexts. 1749func (c *CloudFront) CreatePublicKeyWithContext(ctx aws.Context, input *CreatePublicKeyInput, opts ...request.Option) (*CreatePublicKeyOutput, error) { 1750 req, out := c.CreatePublicKeyRequest(input) 1751 req.SetContext(ctx) 1752 req.ApplyOptions(opts...) 1753 return out, req.Send() 1754} 1755 1756const opCreateRealtimeLogConfig = "CreateRealtimeLogConfig2020_05_31" 1757 1758// CreateRealtimeLogConfigRequest generates a "aws/request.Request" representing the 1759// client's request for the CreateRealtimeLogConfig operation. The "output" return 1760// value will be populated with the request's response once the request completes 1761// successfully. 1762// 1763// Use "Send" method on the returned Request to send the API call to the service. 1764// the "output" return value is not valid until after Send returns without error. 1765// 1766// See CreateRealtimeLogConfig for more information on using the CreateRealtimeLogConfig 1767// API call, and error handling. 1768// 1769// This method is useful when you want to inject custom logic or configuration 1770// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1771// 1772// 1773// // Example sending a request using the CreateRealtimeLogConfigRequest method. 1774// req, resp := client.CreateRealtimeLogConfigRequest(params) 1775// 1776// err := req.Send() 1777// if err == nil { // resp is now filled 1778// fmt.Println(resp) 1779// } 1780// 1781// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfig 1782func (c *CloudFront) CreateRealtimeLogConfigRequest(input *CreateRealtimeLogConfigInput) (req *request.Request, output *CreateRealtimeLogConfigOutput) { 1783 op := &request.Operation{ 1784 Name: opCreateRealtimeLogConfig, 1785 HTTPMethod: "POST", 1786 HTTPPath: "/2020-05-31/realtime-log-config", 1787 } 1788 1789 if input == nil { 1790 input = &CreateRealtimeLogConfigInput{} 1791 } 1792 1793 output = &CreateRealtimeLogConfigOutput{} 1794 req = c.newRequest(op, input, output) 1795 return 1796} 1797 1798// CreateRealtimeLogConfig API operation for Amazon CloudFront. 1799// 1800// Creates a real-time log configuration. 1801// 1802// After you create a real-time log configuration, you can attach it to one 1803// or more cache behaviors to send real-time log data to the specified Amazon 1804// Kinesis data stream. 1805// 1806// For more information about real-time log configurations, see Real-time logs 1807// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) 1808// in the Amazon CloudFront Developer Guide. 1809// 1810// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1811// with awserr.Error's Code and Message methods to get detailed information about 1812// the error. 1813// 1814// See the AWS API reference guide for Amazon CloudFront's 1815// API operation CreateRealtimeLogConfig for usage and error information. 1816// 1817// Returned Error Codes: 1818// * ErrCodeRealtimeLogConfigAlreadyExists "RealtimeLogConfigAlreadyExists" 1819// A real-time log configuration with this name already exists. You must provide 1820// a unique name. To modify an existing real-time log configuration, use UpdateRealtimeLogConfig. 1821// 1822// * ErrCodeTooManyRealtimeLogConfigs "TooManyRealtimeLogConfigs" 1823// You have reached the maximum number of real-time log configurations for this 1824// account. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 1825// (formerly known as limits) in the Amazon CloudFront Developer Guide. 1826// 1827// * ErrCodeInvalidArgument "InvalidArgument" 1828// An argument is invalid. 1829// 1830// * ErrCodeAccessDenied "AccessDenied" 1831// Access denied. 1832// 1833// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateRealtimeLogConfig 1834func (c *CloudFront) CreateRealtimeLogConfig(input *CreateRealtimeLogConfigInput) (*CreateRealtimeLogConfigOutput, error) { 1835 req, out := c.CreateRealtimeLogConfigRequest(input) 1836 return out, req.Send() 1837} 1838 1839// CreateRealtimeLogConfigWithContext is the same as CreateRealtimeLogConfig with the addition of 1840// the ability to pass a context and additional request options. 1841// 1842// See CreateRealtimeLogConfig for details on how to use this API operation. 1843// 1844// The context must be non-nil and will be used for request cancellation. If 1845// the context is nil a panic will occur. In the future the SDK may create 1846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1847// for more information on using Contexts. 1848func (c *CloudFront) CreateRealtimeLogConfigWithContext(ctx aws.Context, input *CreateRealtimeLogConfigInput, opts ...request.Option) (*CreateRealtimeLogConfigOutput, error) { 1849 req, out := c.CreateRealtimeLogConfigRequest(input) 1850 req.SetContext(ctx) 1851 req.ApplyOptions(opts...) 1852 return out, req.Send() 1853} 1854 1855const opCreateStreamingDistribution = "CreateStreamingDistribution2020_05_31" 1856 1857// CreateStreamingDistributionRequest generates a "aws/request.Request" representing the 1858// client's request for the CreateStreamingDistribution operation. The "output" return 1859// value will be populated with the request's response once the request completes 1860// successfully. 1861// 1862// Use "Send" method on the returned Request to send the API call to the service. 1863// the "output" return value is not valid until after Send returns without error. 1864// 1865// See CreateStreamingDistribution for more information on using the CreateStreamingDistribution 1866// API call, and error handling. 1867// 1868// This method is useful when you want to inject custom logic or configuration 1869// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1870// 1871// 1872// // Example sending a request using the CreateStreamingDistributionRequest method. 1873// req, resp := client.CreateStreamingDistributionRequest(params) 1874// 1875// err := req.Send() 1876// if err == nil { // resp is now filled 1877// fmt.Println(resp) 1878// } 1879// 1880// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution 1881func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) { 1882 op := &request.Operation{ 1883 Name: opCreateStreamingDistribution, 1884 HTTPMethod: "POST", 1885 HTTPPath: "/2020-05-31/streaming-distribution", 1886 } 1887 1888 if input == nil { 1889 input = &CreateStreamingDistributionInput{} 1890 } 1891 1892 output = &CreateStreamingDistributionOutput{} 1893 req = c.newRequest(op, input, output) 1894 return 1895} 1896 1897// CreateStreamingDistribution API operation for Amazon CloudFront. 1898// 1899// This API is deprecated. Amazon CloudFront is deprecating real-time messaging 1900// protocol (RTMP) distributions on December 31, 2020. For more information, 1901// read the announcement (http://forums.aws.amazon.com/ann.jspa?annID=7356) 1902// on the Amazon CloudFront discussion forum. 1903// 1904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1905// with awserr.Error's Code and Message methods to get detailed information about 1906// the error. 1907// 1908// See the AWS API reference guide for Amazon CloudFront's 1909// API operation CreateStreamingDistribution for usage and error information. 1910// 1911// Returned Error Codes: 1912// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 1913// The CNAME specified is already defined for CloudFront. 1914// 1915// * ErrCodeStreamingDistributionAlreadyExists "StreamingDistributionAlreadyExists" 1916// The caller reference you attempted to create the streaming distribution with 1917// is associated with another distribution 1918// 1919// * ErrCodeInvalidOrigin "InvalidOrigin" 1920// The Amazon S3 origin server specified does not refer to a valid Amazon S3 1921// bucket. 1922// 1923// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 1924// The origin access identity is not valid or doesn't exist. 1925// 1926// * ErrCodeAccessDenied "AccessDenied" 1927// Access denied. 1928// 1929// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 1930// Your request contains more trusted signers than are allowed per distribution. 1931// 1932// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 1933// One or more of your trusted signers don't exist. 1934// 1935// * ErrCodeMissingBody "MissingBody" 1936// This operation requires a body. Ensure that the body is present and the Content-Type 1937// header is set. 1938// 1939// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 1940// Your request contains more CNAMEs than are allowed per distribution. 1941// 1942// * ErrCodeTooManyStreamingDistributions "TooManyStreamingDistributions" 1943// Processing your request would cause you to exceed the maximum number of streaming 1944// distributions allowed. 1945// 1946// * ErrCodeInvalidArgument "InvalidArgument" 1947// An argument is invalid. 1948// 1949// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1950// The value of Quantity and the size of Items don't match. 1951// 1952// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistribution 1953func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) { 1954 req, out := c.CreateStreamingDistributionRequest(input) 1955 return out, req.Send() 1956} 1957 1958// CreateStreamingDistributionWithContext is the same as CreateStreamingDistribution with the addition of 1959// the ability to pass a context and additional request options. 1960// 1961// See CreateStreamingDistribution for details on how to use this API operation. 1962// 1963// The context must be non-nil and will be used for request cancellation. If 1964// the context is nil a panic will occur. In the future the SDK may create 1965// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1966// for more information on using Contexts. 1967func (c *CloudFront) CreateStreamingDistributionWithContext(ctx aws.Context, input *CreateStreamingDistributionInput, opts ...request.Option) (*CreateStreamingDistributionOutput, error) { 1968 req, out := c.CreateStreamingDistributionRequest(input) 1969 req.SetContext(ctx) 1970 req.ApplyOptions(opts...) 1971 return out, req.Send() 1972} 1973 1974const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2020_05_31" 1975 1976// CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the 1977// client's request for the CreateStreamingDistributionWithTags operation. The "output" return 1978// value will be populated with the request's response once the request completes 1979// successfully. 1980// 1981// Use "Send" method on the returned Request to send the API call to the service. 1982// the "output" return value is not valid until after Send returns without error. 1983// 1984// See CreateStreamingDistributionWithTags for more information on using the CreateStreamingDistributionWithTags 1985// API call, and error handling. 1986// 1987// This method is useful when you want to inject custom logic or configuration 1988// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1989// 1990// 1991// // Example sending a request using the CreateStreamingDistributionWithTagsRequest method. 1992// req, resp := client.CreateStreamingDistributionWithTagsRequest(params) 1993// 1994// err := req.Send() 1995// if err == nil { // resp is now filled 1996// fmt.Println(resp) 1997// } 1998// 1999// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags 2000func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) { 2001 op := &request.Operation{ 2002 Name: opCreateStreamingDistributionWithTags, 2003 HTTPMethod: "POST", 2004 HTTPPath: "/2020-05-31/streaming-distribution?WithTags", 2005 } 2006 2007 if input == nil { 2008 input = &CreateStreamingDistributionWithTagsInput{} 2009 } 2010 2011 output = &CreateStreamingDistributionWithTagsOutput{} 2012 req = c.newRequest(op, input, output) 2013 return 2014} 2015 2016// CreateStreamingDistributionWithTags API operation for Amazon CloudFront. 2017// 2018// This API is deprecated. Amazon CloudFront is deprecating real-time messaging 2019// protocol (RTMP) distributions on December 31, 2020. For more information, 2020// read the announcement (http://forums.aws.amazon.com/ann.jspa?annID=7356) 2021// on the Amazon CloudFront discussion forum. 2022// 2023// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2024// with awserr.Error's Code and Message methods to get detailed information about 2025// the error. 2026// 2027// See the AWS API reference guide for Amazon CloudFront's 2028// API operation CreateStreamingDistributionWithTags for usage and error information. 2029// 2030// Returned Error Codes: 2031// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 2032// The CNAME specified is already defined for CloudFront. 2033// 2034// * ErrCodeStreamingDistributionAlreadyExists "StreamingDistributionAlreadyExists" 2035// The caller reference you attempted to create the streaming distribution with 2036// is associated with another distribution 2037// 2038// * ErrCodeInvalidOrigin "InvalidOrigin" 2039// The Amazon S3 origin server specified does not refer to a valid Amazon S3 2040// bucket. 2041// 2042// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 2043// The origin access identity is not valid or doesn't exist. 2044// 2045// * ErrCodeAccessDenied "AccessDenied" 2046// Access denied. 2047// 2048// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 2049// Your request contains more trusted signers than are allowed per distribution. 2050// 2051// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 2052// One or more of your trusted signers don't exist. 2053// 2054// * ErrCodeMissingBody "MissingBody" 2055// This operation requires a body. Ensure that the body is present and the Content-Type 2056// header is set. 2057// 2058// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 2059// Your request contains more CNAMEs than are allowed per distribution. 2060// 2061// * ErrCodeTooManyStreamingDistributions "TooManyStreamingDistributions" 2062// Processing your request would cause you to exceed the maximum number of streaming 2063// distributions allowed. 2064// 2065// * ErrCodeInvalidArgument "InvalidArgument" 2066// An argument is invalid. 2067// 2068// * ErrCodeInconsistentQuantities "InconsistentQuantities" 2069// The value of Quantity and the size of Items don't match. 2070// 2071// * ErrCodeInvalidTagging "InvalidTagging" 2072// The tagging specified is not valid. 2073// 2074// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateStreamingDistributionWithTags 2075func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) { 2076 req, out := c.CreateStreamingDistributionWithTagsRequest(input) 2077 return out, req.Send() 2078} 2079 2080// CreateStreamingDistributionWithTagsWithContext is the same as CreateStreamingDistributionWithTags with the addition of 2081// the ability to pass a context and additional request options. 2082// 2083// See CreateStreamingDistributionWithTags for details on how to use this API operation. 2084// 2085// The context must be non-nil and will be used for request cancellation. If 2086// the context is nil a panic will occur. In the future the SDK may create 2087// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2088// for more information on using Contexts. 2089func (c *CloudFront) CreateStreamingDistributionWithTagsWithContext(ctx aws.Context, input *CreateStreamingDistributionWithTagsInput, opts ...request.Option) (*CreateStreamingDistributionWithTagsOutput, error) { 2090 req, out := c.CreateStreamingDistributionWithTagsRequest(input) 2091 req.SetContext(ctx) 2092 req.ApplyOptions(opts...) 2093 return out, req.Send() 2094} 2095 2096const opDeleteCachePolicy = "DeleteCachePolicy2020_05_31" 2097 2098// DeleteCachePolicyRequest generates a "aws/request.Request" representing the 2099// client's request for the DeleteCachePolicy operation. The "output" return 2100// value will be populated with the request's response once the request completes 2101// successfully. 2102// 2103// Use "Send" method on the returned Request to send the API call to the service. 2104// the "output" return value is not valid until after Send returns without error. 2105// 2106// See DeleteCachePolicy for more information on using the DeleteCachePolicy 2107// API call, and error handling. 2108// 2109// This method is useful when you want to inject custom logic or configuration 2110// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2111// 2112// 2113// // Example sending a request using the DeleteCachePolicyRequest method. 2114// req, resp := client.DeleteCachePolicyRequest(params) 2115// 2116// err := req.Send() 2117// if err == nil { // resp is now filled 2118// fmt.Println(resp) 2119// } 2120// 2121// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy 2122func (c *CloudFront) DeleteCachePolicyRequest(input *DeleteCachePolicyInput) (req *request.Request, output *DeleteCachePolicyOutput) { 2123 op := &request.Operation{ 2124 Name: opDeleteCachePolicy, 2125 HTTPMethod: "DELETE", 2126 HTTPPath: "/2020-05-31/cache-policy/{Id}", 2127 } 2128 2129 if input == nil { 2130 input = &DeleteCachePolicyInput{} 2131 } 2132 2133 output = &DeleteCachePolicyOutput{} 2134 req = c.newRequest(op, input, output) 2135 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2136 return 2137} 2138 2139// DeleteCachePolicy API operation for Amazon CloudFront. 2140// 2141// Deletes a cache policy. 2142// 2143// You cannot delete a cache policy if it’s attached to a cache behavior. 2144// First update your distributions to remove the cache policy from all cache 2145// behaviors, then delete the cache policy. 2146// 2147// To delete a cache policy, you must provide the policy’s identifier and 2148// version. To get these values, you can use ListCachePolicies or GetCachePolicy. 2149// 2150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2151// with awserr.Error's Code and Message methods to get detailed information about 2152// the error. 2153// 2154// See the AWS API reference guide for Amazon CloudFront's 2155// API operation DeleteCachePolicy for usage and error information. 2156// 2157// Returned Error Codes: 2158// * ErrCodeAccessDenied "AccessDenied" 2159// Access denied. 2160// 2161// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2162// The If-Match version is missing or not valid. 2163// 2164// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 2165// The cache policy does not exist. 2166// 2167// * ErrCodePreconditionFailed "PreconditionFailed" 2168// The precondition in one or more of the request fields evaluated to false. 2169// 2170// * ErrCodeIllegalDelete "IllegalDelete" 2171// You cannot delete a managed policy. 2172// 2173// * ErrCodeCachePolicyInUse "CachePolicyInUse" 2174// Cannot delete the cache policy because it is attached to one or more cache 2175// behaviors. 2176// 2177// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCachePolicy 2178func (c *CloudFront) DeleteCachePolicy(input *DeleteCachePolicyInput) (*DeleteCachePolicyOutput, error) { 2179 req, out := c.DeleteCachePolicyRequest(input) 2180 return out, req.Send() 2181} 2182 2183// DeleteCachePolicyWithContext is the same as DeleteCachePolicy with the addition of 2184// the ability to pass a context and additional request options. 2185// 2186// See DeleteCachePolicy for details on how to use this API operation. 2187// 2188// The context must be non-nil and will be used for request cancellation. If 2189// the context is nil a panic will occur. In the future the SDK may create 2190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2191// for more information on using Contexts. 2192func (c *CloudFront) DeleteCachePolicyWithContext(ctx aws.Context, input *DeleteCachePolicyInput, opts ...request.Option) (*DeleteCachePolicyOutput, error) { 2193 req, out := c.DeleteCachePolicyRequest(input) 2194 req.SetContext(ctx) 2195 req.ApplyOptions(opts...) 2196 return out, req.Send() 2197} 2198 2199const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2020_05_31" 2200 2201// DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 2202// client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return 2203// value will be populated with the request's response once the request completes 2204// successfully. 2205// 2206// Use "Send" method on the returned Request to send the API call to the service. 2207// the "output" return value is not valid until after Send returns without error. 2208// 2209// See DeleteCloudFrontOriginAccessIdentity for more information on using the DeleteCloudFrontOriginAccessIdentity 2210// API call, and error handling. 2211// 2212// This method is useful when you want to inject custom logic or configuration 2213// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2214// 2215// 2216// // Example sending a request using the DeleteCloudFrontOriginAccessIdentityRequest method. 2217// req, resp := client.DeleteCloudFrontOriginAccessIdentityRequest(params) 2218// 2219// err := req.Send() 2220// if err == nil { // resp is now filled 2221// fmt.Println(resp) 2222// } 2223// 2224// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity 2225func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) { 2226 op := &request.Operation{ 2227 Name: opDeleteCloudFrontOriginAccessIdentity, 2228 HTTPMethod: "DELETE", 2229 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", 2230 } 2231 2232 if input == nil { 2233 input = &DeleteCloudFrontOriginAccessIdentityInput{} 2234 } 2235 2236 output = &DeleteCloudFrontOriginAccessIdentityOutput{} 2237 req = c.newRequest(op, input, output) 2238 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2239 return 2240} 2241 2242// DeleteCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 2243// 2244// Delete an origin access identity. 2245// 2246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2247// with awserr.Error's Code and Message methods to get detailed information about 2248// the error. 2249// 2250// See the AWS API reference guide for Amazon CloudFront's 2251// API operation DeleteCloudFrontOriginAccessIdentity for usage and error information. 2252// 2253// Returned Error Codes: 2254// * ErrCodeAccessDenied "AccessDenied" 2255// Access denied. 2256// 2257// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2258// The If-Match version is missing or not valid. 2259// 2260// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 2261// The specified origin access identity does not exist. 2262// 2263// * ErrCodePreconditionFailed "PreconditionFailed" 2264// The precondition in one or more of the request fields evaluated to false. 2265// 2266// * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" 2267// The Origin Access Identity specified is already in use. 2268// 2269// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteCloudFrontOriginAccessIdentity 2270func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { 2271 req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) 2272 return out, req.Send() 2273} 2274 2275// DeleteCloudFrontOriginAccessIdentityWithContext is the same as DeleteCloudFrontOriginAccessIdentity with the addition of 2276// the ability to pass a context and additional request options. 2277// 2278// See DeleteCloudFrontOriginAccessIdentity for details on how to use this API operation. 2279// 2280// The context must be non-nil and will be used for request cancellation. If 2281// the context is nil a panic will occur. In the future the SDK may create 2282// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2283// for more information on using Contexts. 2284func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *DeleteCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { 2285 req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) 2286 req.SetContext(ctx) 2287 req.ApplyOptions(opts...) 2288 return out, req.Send() 2289} 2290 2291const opDeleteDistribution = "DeleteDistribution2020_05_31" 2292 2293// DeleteDistributionRequest generates a "aws/request.Request" representing the 2294// client's request for the DeleteDistribution operation. The "output" return 2295// value will be populated with the request's response once the request completes 2296// successfully. 2297// 2298// Use "Send" method on the returned Request to send the API call to the service. 2299// the "output" return value is not valid until after Send returns without error. 2300// 2301// See DeleteDistribution for more information on using the DeleteDistribution 2302// API call, and error handling. 2303// 2304// This method is useful when you want to inject custom logic or configuration 2305// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2306// 2307// 2308// // Example sending a request using the DeleteDistributionRequest method. 2309// req, resp := client.DeleteDistributionRequest(params) 2310// 2311// err := req.Send() 2312// if err == nil { // resp is now filled 2313// fmt.Println(resp) 2314// } 2315// 2316// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution 2317func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { 2318 op := &request.Operation{ 2319 Name: opDeleteDistribution, 2320 HTTPMethod: "DELETE", 2321 HTTPPath: "/2020-05-31/distribution/{Id}", 2322 } 2323 2324 if input == nil { 2325 input = &DeleteDistributionInput{} 2326 } 2327 2328 output = &DeleteDistributionOutput{} 2329 req = c.newRequest(op, input, output) 2330 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2331 return 2332} 2333 2334// DeleteDistribution API operation for Amazon CloudFront. 2335// 2336// Delete a distribution. 2337// 2338// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2339// with awserr.Error's Code and Message methods to get detailed information about 2340// the error. 2341// 2342// See the AWS API reference guide for Amazon CloudFront's 2343// API operation DeleteDistribution for usage and error information. 2344// 2345// Returned Error Codes: 2346// * ErrCodeAccessDenied "AccessDenied" 2347// Access denied. 2348// 2349// * ErrCodeDistributionNotDisabled "DistributionNotDisabled" 2350// The specified CloudFront distribution is not disabled. You must disable the 2351// distribution before you can delete it. 2352// 2353// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2354// The If-Match version is missing or not valid. 2355// 2356// * ErrCodeNoSuchDistribution "NoSuchDistribution" 2357// The specified distribution does not exist. 2358// 2359// * ErrCodePreconditionFailed "PreconditionFailed" 2360// The precondition in one or more of the request fields evaluated to false. 2361// 2362// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteDistribution 2363func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { 2364 req, out := c.DeleteDistributionRequest(input) 2365 return out, req.Send() 2366} 2367 2368// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of 2369// the ability to pass a context and additional request options. 2370// 2371// See DeleteDistribution for details on how to use this API operation. 2372// 2373// The context must be non-nil and will be used for request cancellation. If 2374// the context is nil a panic will occur. In the future the SDK may create 2375// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2376// for more information on using Contexts. 2377func (c *CloudFront) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) { 2378 req, out := c.DeleteDistributionRequest(input) 2379 req.SetContext(ctx) 2380 req.ApplyOptions(opts...) 2381 return out, req.Send() 2382} 2383 2384const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2020_05_31" 2385 2386// DeleteFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 2387// client's request for the DeleteFieldLevelEncryptionConfig operation. The "output" return 2388// value will be populated with the request's response once the request completes 2389// successfully. 2390// 2391// Use "Send" method on the returned Request to send the API call to the service. 2392// the "output" return value is not valid until after Send returns without error. 2393// 2394// See DeleteFieldLevelEncryptionConfig for more information on using the DeleteFieldLevelEncryptionConfig 2395// API call, and error handling. 2396// 2397// This method is useful when you want to inject custom logic or configuration 2398// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2399// 2400// 2401// // Example sending a request using the DeleteFieldLevelEncryptionConfigRequest method. 2402// req, resp := client.DeleteFieldLevelEncryptionConfigRequest(params) 2403// 2404// err := req.Send() 2405// if err == nil { // resp is now filled 2406// fmt.Println(resp) 2407// } 2408// 2409// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig 2410func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldLevelEncryptionConfigInput) (req *request.Request, output *DeleteFieldLevelEncryptionConfigOutput) { 2411 op := &request.Operation{ 2412 Name: opDeleteFieldLevelEncryptionConfig, 2413 HTTPMethod: "DELETE", 2414 HTTPPath: "/2020-05-31/field-level-encryption/{Id}", 2415 } 2416 2417 if input == nil { 2418 input = &DeleteFieldLevelEncryptionConfigInput{} 2419 } 2420 2421 output = &DeleteFieldLevelEncryptionConfigOutput{} 2422 req = c.newRequest(op, input, output) 2423 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2424 return 2425} 2426 2427// DeleteFieldLevelEncryptionConfig API operation for Amazon CloudFront. 2428// 2429// Remove a field-level encryption configuration. 2430// 2431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2432// with awserr.Error's Code and Message methods to get detailed information about 2433// the error. 2434// 2435// See the AWS API reference guide for Amazon CloudFront's 2436// API operation DeleteFieldLevelEncryptionConfig for usage and error information. 2437// 2438// Returned Error Codes: 2439// * ErrCodeAccessDenied "AccessDenied" 2440// Access denied. 2441// 2442// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2443// The If-Match version is missing or not valid. 2444// 2445// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 2446// The specified configuration for field-level encryption doesn't exist. 2447// 2448// * ErrCodePreconditionFailed "PreconditionFailed" 2449// The precondition in one or more of the request fields evaluated to false. 2450// 2451// * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" 2452// The specified configuration for field-level encryption is in use. 2453// 2454// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionConfig 2455func (c *CloudFront) DeleteFieldLevelEncryptionConfig(input *DeleteFieldLevelEncryptionConfigInput) (*DeleteFieldLevelEncryptionConfigOutput, error) { 2456 req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) 2457 return out, req.Send() 2458} 2459 2460// DeleteFieldLevelEncryptionConfigWithContext is the same as DeleteFieldLevelEncryptionConfig with the addition of 2461// the ability to pass a context and additional request options. 2462// 2463// See DeleteFieldLevelEncryptionConfig for details on how to use this API operation. 2464// 2465// The context must be non-nil and will be used for request cancellation. If 2466// the context is nil a panic will occur. In the future the SDK may create 2467// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2468// for more information on using Contexts. 2469func (c *CloudFront) DeleteFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *DeleteFieldLevelEncryptionConfigInput, opts ...request.Option) (*DeleteFieldLevelEncryptionConfigOutput, error) { 2470 req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) 2471 req.SetContext(ctx) 2472 req.ApplyOptions(opts...) 2473 return out, req.Send() 2474} 2475 2476const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2020_05_31" 2477 2478// DeleteFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 2479// client's request for the DeleteFieldLevelEncryptionProfile operation. The "output" return 2480// value will be populated with the request's response once the request completes 2481// successfully. 2482// 2483// Use "Send" method on the returned Request to send the API call to the service. 2484// the "output" return value is not valid until after Send returns without error. 2485// 2486// See DeleteFieldLevelEncryptionProfile for more information on using the DeleteFieldLevelEncryptionProfile 2487// API call, and error handling. 2488// 2489// This method is useful when you want to inject custom logic or configuration 2490// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2491// 2492// 2493// // Example sending a request using the DeleteFieldLevelEncryptionProfileRequest method. 2494// req, resp := client.DeleteFieldLevelEncryptionProfileRequest(params) 2495// 2496// err := req.Send() 2497// if err == nil { // resp is now filled 2498// fmt.Println(resp) 2499// } 2500// 2501// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile 2502func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteFieldLevelEncryptionProfileInput) (req *request.Request, output *DeleteFieldLevelEncryptionProfileOutput) { 2503 op := &request.Operation{ 2504 Name: opDeleteFieldLevelEncryptionProfile, 2505 HTTPMethod: "DELETE", 2506 HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", 2507 } 2508 2509 if input == nil { 2510 input = &DeleteFieldLevelEncryptionProfileInput{} 2511 } 2512 2513 output = &DeleteFieldLevelEncryptionProfileOutput{} 2514 req = c.newRequest(op, input, output) 2515 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2516 return 2517} 2518 2519// DeleteFieldLevelEncryptionProfile API operation for Amazon CloudFront. 2520// 2521// Remove a field-level encryption profile. 2522// 2523// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2524// with awserr.Error's Code and Message methods to get detailed information about 2525// the error. 2526// 2527// See the AWS API reference guide for Amazon CloudFront's 2528// API operation DeleteFieldLevelEncryptionProfile for usage and error information. 2529// 2530// Returned Error Codes: 2531// * ErrCodeAccessDenied "AccessDenied" 2532// Access denied. 2533// 2534// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2535// The If-Match version is missing or not valid. 2536// 2537// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 2538// The specified profile for field-level encryption doesn't exist. 2539// 2540// * ErrCodePreconditionFailed "PreconditionFailed" 2541// The precondition in one or more of the request fields evaluated to false. 2542// 2543// * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" 2544// The specified profile for field-level encryption is in use. 2545// 2546// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFieldLevelEncryptionProfile 2547func (c *CloudFront) DeleteFieldLevelEncryptionProfile(input *DeleteFieldLevelEncryptionProfileInput) (*DeleteFieldLevelEncryptionProfileOutput, error) { 2548 req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) 2549 return out, req.Send() 2550} 2551 2552// DeleteFieldLevelEncryptionProfileWithContext is the same as DeleteFieldLevelEncryptionProfile with the addition of 2553// the ability to pass a context and additional request options. 2554// 2555// See DeleteFieldLevelEncryptionProfile for details on how to use this API operation. 2556// 2557// The context must be non-nil and will be used for request cancellation. If 2558// the context is nil a panic will occur. In the future the SDK may create 2559// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2560// for more information on using Contexts. 2561func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *DeleteFieldLevelEncryptionProfileInput, opts ...request.Option) (*DeleteFieldLevelEncryptionProfileOutput, error) { 2562 req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) 2563 req.SetContext(ctx) 2564 req.ApplyOptions(opts...) 2565 return out, req.Send() 2566} 2567 2568const opDeleteFunction = "DeleteFunction2020_05_31" 2569 2570// DeleteFunctionRequest generates a "aws/request.Request" representing the 2571// client's request for the DeleteFunction operation. The "output" return 2572// value will be populated with the request's response once the request completes 2573// successfully. 2574// 2575// Use "Send" method on the returned Request to send the API call to the service. 2576// the "output" return value is not valid until after Send returns without error. 2577// 2578// See DeleteFunction for more information on using the DeleteFunction 2579// API call, and error handling. 2580// 2581// This method is useful when you want to inject custom logic or configuration 2582// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2583// 2584// 2585// // Example sending a request using the DeleteFunctionRequest method. 2586// req, resp := client.DeleteFunctionRequest(params) 2587// 2588// err := req.Send() 2589// if err == nil { // resp is now filled 2590// fmt.Println(resp) 2591// } 2592// 2593// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction 2594func (c *CloudFront) DeleteFunctionRequest(input *DeleteFunctionInput) (req *request.Request, output *DeleteFunctionOutput) { 2595 op := &request.Operation{ 2596 Name: opDeleteFunction, 2597 HTTPMethod: "DELETE", 2598 HTTPPath: "/2020-05-31/function/{Name}", 2599 } 2600 2601 if input == nil { 2602 input = &DeleteFunctionInput{} 2603 } 2604 2605 output = &DeleteFunctionOutput{} 2606 req = c.newRequest(op, input, output) 2607 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2608 return 2609} 2610 2611// DeleteFunction API operation for Amazon CloudFront. 2612// 2613// Deletes a CloudFront function. 2614// 2615// You cannot delete a function if it’s associated with a cache behavior. 2616// First, update your distributions to remove the function association from 2617// all cache behaviors, then delete the function. 2618// 2619// To delete a function, you must provide the function’s name and version 2620// (ETag value). To get these values, you can use ListFunctions and DescribeFunction. 2621// 2622// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2623// with awserr.Error's Code and Message methods to get detailed information about 2624// the error. 2625// 2626// See the AWS API reference guide for Amazon CloudFront's 2627// API operation DeleteFunction for usage and error information. 2628// 2629// Returned Error Codes: 2630// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2631// The If-Match version is missing or not valid. 2632// 2633// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 2634// The function does not exist. 2635// 2636// * ErrCodeFunctionInUse "FunctionInUse" 2637// Cannot delete the function because it’s attached to one or more cache behaviors. 2638// 2639// * ErrCodePreconditionFailed "PreconditionFailed" 2640// The precondition in one or more of the request fields evaluated to false. 2641// 2642// * ErrCodeUnsupportedOperation "UnsupportedOperation" 2643// This operation is not supported in this region. 2644// 2645// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteFunction 2646func (c *CloudFront) DeleteFunction(input *DeleteFunctionInput) (*DeleteFunctionOutput, error) { 2647 req, out := c.DeleteFunctionRequest(input) 2648 return out, req.Send() 2649} 2650 2651// DeleteFunctionWithContext is the same as DeleteFunction with the addition of 2652// the ability to pass a context and additional request options. 2653// 2654// See DeleteFunction for details on how to use this API operation. 2655// 2656// The context must be non-nil and will be used for request cancellation. If 2657// the context is nil a panic will occur. In the future the SDK may create 2658// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2659// for more information on using Contexts. 2660func (c *CloudFront) DeleteFunctionWithContext(ctx aws.Context, input *DeleteFunctionInput, opts ...request.Option) (*DeleteFunctionOutput, error) { 2661 req, out := c.DeleteFunctionRequest(input) 2662 req.SetContext(ctx) 2663 req.ApplyOptions(opts...) 2664 return out, req.Send() 2665} 2666 2667const opDeleteKeyGroup = "DeleteKeyGroup2020_05_31" 2668 2669// DeleteKeyGroupRequest generates a "aws/request.Request" representing the 2670// client's request for the DeleteKeyGroup operation. The "output" return 2671// value will be populated with the request's response once the request completes 2672// successfully. 2673// 2674// Use "Send" method on the returned Request to send the API call to the service. 2675// the "output" return value is not valid until after Send returns without error. 2676// 2677// See DeleteKeyGroup for more information on using the DeleteKeyGroup 2678// API call, and error handling. 2679// 2680// This method is useful when you want to inject custom logic or configuration 2681// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2682// 2683// 2684// // Example sending a request using the DeleteKeyGroupRequest method. 2685// req, resp := client.DeleteKeyGroupRequest(params) 2686// 2687// err := req.Send() 2688// if err == nil { // resp is now filled 2689// fmt.Println(resp) 2690// } 2691// 2692// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyGroup 2693func (c *CloudFront) DeleteKeyGroupRequest(input *DeleteKeyGroupInput) (req *request.Request, output *DeleteKeyGroupOutput) { 2694 op := &request.Operation{ 2695 Name: opDeleteKeyGroup, 2696 HTTPMethod: "DELETE", 2697 HTTPPath: "/2020-05-31/key-group/{Id}", 2698 } 2699 2700 if input == nil { 2701 input = &DeleteKeyGroupInput{} 2702 } 2703 2704 output = &DeleteKeyGroupOutput{} 2705 req = c.newRequest(op, input, output) 2706 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2707 return 2708} 2709 2710// DeleteKeyGroup API operation for Amazon CloudFront. 2711// 2712// Deletes a key group. 2713// 2714// You cannot delete a key group that is referenced in a cache behavior. First 2715// update your distributions to remove the key group from all cache behaviors, 2716// then delete the key group. 2717// 2718// To delete a key group, you must provide the key group’s identifier and 2719// version. To get these values, use ListKeyGroups followed by GetKeyGroup or 2720// GetKeyGroupConfig. 2721// 2722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2723// with awserr.Error's Code and Message methods to get detailed information about 2724// the error. 2725// 2726// See the AWS API reference guide for Amazon CloudFront's 2727// API operation DeleteKeyGroup for usage and error information. 2728// 2729// Returned Error Codes: 2730// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2731// The If-Match version is missing or not valid. 2732// 2733// * ErrCodeNoSuchResource "NoSuchResource" 2734// A resource that was specified is not valid. 2735// 2736// * ErrCodePreconditionFailed "PreconditionFailed" 2737// The precondition in one or more of the request fields evaluated to false. 2738// 2739// * ErrCodeResourceInUse "ResourceInUse" 2740// Cannot delete this resource because it is in use. 2741// 2742// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteKeyGroup 2743func (c *CloudFront) DeleteKeyGroup(input *DeleteKeyGroupInput) (*DeleteKeyGroupOutput, error) { 2744 req, out := c.DeleteKeyGroupRequest(input) 2745 return out, req.Send() 2746} 2747 2748// DeleteKeyGroupWithContext is the same as DeleteKeyGroup with the addition of 2749// the ability to pass a context and additional request options. 2750// 2751// See DeleteKeyGroup for details on how to use this API operation. 2752// 2753// The context must be non-nil and will be used for request cancellation. If 2754// the context is nil a panic will occur. In the future the SDK may create 2755// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2756// for more information on using Contexts. 2757func (c *CloudFront) DeleteKeyGroupWithContext(ctx aws.Context, input *DeleteKeyGroupInput, opts ...request.Option) (*DeleteKeyGroupOutput, error) { 2758 req, out := c.DeleteKeyGroupRequest(input) 2759 req.SetContext(ctx) 2760 req.ApplyOptions(opts...) 2761 return out, req.Send() 2762} 2763 2764const opDeleteMonitoringSubscription = "DeleteMonitoringSubscription2020_05_31" 2765 2766// DeleteMonitoringSubscriptionRequest generates a "aws/request.Request" representing the 2767// client's request for the DeleteMonitoringSubscription operation. The "output" return 2768// value will be populated with the request's response once the request completes 2769// successfully. 2770// 2771// Use "Send" method on the returned Request to send the API call to the service. 2772// the "output" return value is not valid until after Send returns without error. 2773// 2774// See DeleteMonitoringSubscription for more information on using the DeleteMonitoringSubscription 2775// API call, and error handling. 2776// 2777// This method is useful when you want to inject custom logic or configuration 2778// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2779// 2780// 2781// // Example sending a request using the DeleteMonitoringSubscriptionRequest method. 2782// req, resp := client.DeleteMonitoringSubscriptionRequest(params) 2783// 2784// err := req.Send() 2785// if err == nil { // resp is now filled 2786// fmt.Println(resp) 2787// } 2788// 2789// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription 2790func (c *CloudFront) DeleteMonitoringSubscriptionRequest(input *DeleteMonitoringSubscriptionInput) (req *request.Request, output *DeleteMonitoringSubscriptionOutput) { 2791 op := &request.Operation{ 2792 Name: opDeleteMonitoringSubscription, 2793 HTTPMethod: "DELETE", 2794 HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", 2795 } 2796 2797 if input == nil { 2798 input = &DeleteMonitoringSubscriptionInput{} 2799 } 2800 2801 output = &DeleteMonitoringSubscriptionOutput{} 2802 req = c.newRequest(op, input, output) 2803 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2804 return 2805} 2806 2807// DeleteMonitoringSubscription API operation for Amazon CloudFront. 2808// 2809// Disables additional CloudWatch metrics for the specified CloudFront distribution. 2810// 2811// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2812// with awserr.Error's Code and Message methods to get detailed information about 2813// the error. 2814// 2815// See the AWS API reference guide for Amazon CloudFront's 2816// API operation DeleteMonitoringSubscription for usage and error information. 2817// 2818// Returned Error Codes: 2819// * ErrCodeAccessDenied "AccessDenied" 2820// Access denied. 2821// 2822// * ErrCodeNoSuchDistribution "NoSuchDistribution" 2823// The specified distribution does not exist. 2824// 2825// * ErrCodeUnsupportedOperation "UnsupportedOperation" 2826// This operation is not supported in this region. 2827// 2828// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteMonitoringSubscription 2829func (c *CloudFront) DeleteMonitoringSubscription(input *DeleteMonitoringSubscriptionInput) (*DeleteMonitoringSubscriptionOutput, error) { 2830 req, out := c.DeleteMonitoringSubscriptionRequest(input) 2831 return out, req.Send() 2832} 2833 2834// DeleteMonitoringSubscriptionWithContext is the same as DeleteMonitoringSubscription with the addition of 2835// the ability to pass a context and additional request options. 2836// 2837// See DeleteMonitoringSubscription for details on how to use this API operation. 2838// 2839// The context must be non-nil and will be used for request cancellation. If 2840// the context is nil a panic will occur. In the future the SDK may create 2841// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2842// for more information on using Contexts. 2843func (c *CloudFront) DeleteMonitoringSubscriptionWithContext(ctx aws.Context, input *DeleteMonitoringSubscriptionInput, opts ...request.Option) (*DeleteMonitoringSubscriptionOutput, error) { 2844 req, out := c.DeleteMonitoringSubscriptionRequest(input) 2845 req.SetContext(ctx) 2846 req.ApplyOptions(opts...) 2847 return out, req.Send() 2848} 2849 2850const opDeleteOriginRequestPolicy = "DeleteOriginRequestPolicy2020_05_31" 2851 2852// DeleteOriginRequestPolicyRequest generates a "aws/request.Request" representing the 2853// client's request for the DeleteOriginRequestPolicy operation. The "output" return 2854// value will be populated with the request's response once the request completes 2855// successfully. 2856// 2857// Use "Send" method on the returned Request to send the API call to the service. 2858// the "output" return value is not valid until after Send returns without error. 2859// 2860// See DeleteOriginRequestPolicy for more information on using the DeleteOriginRequestPolicy 2861// API call, and error handling. 2862// 2863// This method is useful when you want to inject custom logic or configuration 2864// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2865// 2866// 2867// // Example sending a request using the DeleteOriginRequestPolicyRequest method. 2868// req, resp := client.DeleteOriginRequestPolicyRequest(params) 2869// 2870// err := req.Send() 2871// if err == nil { // resp is now filled 2872// fmt.Println(resp) 2873// } 2874// 2875// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy 2876func (c *CloudFront) DeleteOriginRequestPolicyRequest(input *DeleteOriginRequestPolicyInput) (req *request.Request, output *DeleteOriginRequestPolicyOutput) { 2877 op := &request.Operation{ 2878 Name: opDeleteOriginRequestPolicy, 2879 HTTPMethod: "DELETE", 2880 HTTPPath: "/2020-05-31/origin-request-policy/{Id}", 2881 } 2882 2883 if input == nil { 2884 input = &DeleteOriginRequestPolicyInput{} 2885 } 2886 2887 output = &DeleteOriginRequestPolicyOutput{} 2888 req = c.newRequest(op, input, output) 2889 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2890 return 2891} 2892 2893// DeleteOriginRequestPolicy API operation for Amazon CloudFront. 2894// 2895// Deletes an origin request policy. 2896// 2897// You cannot delete an origin request policy if it’s attached to any cache 2898// behaviors. First update your distributions to remove the origin request policy 2899// from all cache behaviors, then delete the origin request policy. 2900// 2901// To delete an origin request policy, you must provide the policy’s identifier 2902// and version. To get the identifier, you can use ListOriginRequestPolicies 2903// or GetOriginRequestPolicy. 2904// 2905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2906// with awserr.Error's Code and Message methods to get detailed information about 2907// the error. 2908// 2909// See the AWS API reference guide for Amazon CloudFront's 2910// API operation DeleteOriginRequestPolicy for usage and error information. 2911// 2912// Returned Error Codes: 2913// * ErrCodeAccessDenied "AccessDenied" 2914// Access denied. 2915// 2916// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 2917// The If-Match version is missing or not valid. 2918// 2919// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 2920// The origin request policy does not exist. 2921// 2922// * ErrCodePreconditionFailed "PreconditionFailed" 2923// The precondition in one or more of the request fields evaluated to false. 2924// 2925// * ErrCodeIllegalDelete "IllegalDelete" 2926// You cannot delete a managed policy. 2927// 2928// * ErrCodeOriginRequestPolicyInUse "OriginRequestPolicyInUse" 2929// Cannot delete the origin request policy because it is attached to one or 2930// more cache behaviors. 2931// 2932// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginRequestPolicy 2933func (c *CloudFront) DeleteOriginRequestPolicy(input *DeleteOriginRequestPolicyInput) (*DeleteOriginRequestPolicyOutput, error) { 2934 req, out := c.DeleteOriginRequestPolicyRequest(input) 2935 return out, req.Send() 2936} 2937 2938// DeleteOriginRequestPolicyWithContext is the same as DeleteOriginRequestPolicy with the addition of 2939// the ability to pass a context and additional request options. 2940// 2941// See DeleteOriginRequestPolicy for details on how to use this API operation. 2942// 2943// The context must be non-nil and will be used for request cancellation. If 2944// the context is nil a panic will occur. In the future the SDK may create 2945// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2946// for more information on using Contexts. 2947func (c *CloudFront) DeleteOriginRequestPolicyWithContext(ctx aws.Context, input *DeleteOriginRequestPolicyInput, opts ...request.Option) (*DeleteOriginRequestPolicyOutput, error) { 2948 req, out := c.DeleteOriginRequestPolicyRequest(input) 2949 req.SetContext(ctx) 2950 req.ApplyOptions(opts...) 2951 return out, req.Send() 2952} 2953 2954const opDeletePublicKey = "DeletePublicKey2020_05_31" 2955 2956// DeletePublicKeyRequest generates a "aws/request.Request" representing the 2957// client's request for the DeletePublicKey operation. The "output" return 2958// value will be populated with the request's response once the request completes 2959// successfully. 2960// 2961// Use "Send" method on the returned Request to send the API call to the service. 2962// the "output" return value is not valid until after Send returns without error. 2963// 2964// See DeletePublicKey for more information on using the DeletePublicKey 2965// API call, and error handling. 2966// 2967// This method is useful when you want to inject custom logic or configuration 2968// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2969// 2970// 2971// // Example sending a request using the DeletePublicKeyRequest method. 2972// req, resp := client.DeletePublicKeyRequest(params) 2973// 2974// err := req.Send() 2975// if err == nil { // resp is now filled 2976// fmt.Println(resp) 2977// } 2978// 2979// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey 2980func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { 2981 op := &request.Operation{ 2982 Name: opDeletePublicKey, 2983 HTTPMethod: "DELETE", 2984 HTTPPath: "/2020-05-31/public-key/{Id}", 2985 } 2986 2987 if input == nil { 2988 input = &DeletePublicKeyInput{} 2989 } 2990 2991 output = &DeletePublicKeyOutput{} 2992 req = c.newRequest(op, input, output) 2993 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2994 return 2995} 2996 2997// DeletePublicKey API operation for Amazon CloudFront. 2998// 2999// Remove a public key you previously added to CloudFront. 3000// 3001// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3002// with awserr.Error's Code and Message methods to get detailed information about 3003// the error. 3004// 3005// See the AWS API reference guide for Amazon CloudFront's 3006// API operation DeletePublicKey for usage and error information. 3007// 3008// Returned Error Codes: 3009// * ErrCodeAccessDenied "AccessDenied" 3010// Access denied. 3011// 3012// * ErrCodePublicKeyInUse "PublicKeyInUse" 3013// The specified public key is in use. 3014// 3015// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 3016// The If-Match version is missing or not valid. 3017// 3018// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 3019// The specified public key doesn't exist. 3020// 3021// * ErrCodePreconditionFailed "PreconditionFailed" 3022// The precondition in one or more of the request fields evaluated to false. 3023// 3024// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeletePublicKey 3025func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { 3026 req, out := c.DeletePublicKeyRequest(input) 3027 return out, req.Send() 3028} 3029 3030// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of 3031// the ability to pass a context and additional request options. 3032// 3033// See DeletePublicKey for details on how to use this API operation. 3034// 3035// The context must be non-nil and will be used for request cancellation. If 3036// the context is nil a panic will occur. In the future the SDK may create 3037// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3038// for more information on using Contexts. 3039func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { 3040 req, out := c.DeletePublicKeyRequest(input) 3041 req.SetContext(ctx) 3042 req.ApplyOptions(opts...) 3043 return out, req.Send() 3044} 3045 3046const opDeleteRealtimeLogConfig = "DeleteRealtimeLogConfig2020_05_31" 3047 3048// DeleteRealtimeLogConfigRequest generates a "aws/request.Request" representing the 3049// client's request for the DeleteRealtimeLogConfig operation. The "output" return 3050// value will be populated with the request's response once the request completes 3051// successfully. 3052// 3053// Use "Send" method on the returned Request to send the API call to the service. 3054// the "output" return value is not valid until after Send returns without error. 3055// 3056// See DeleteRealtimeLogConfig for more information on using the DeleteRealtimeLogConfig 3057// API call, and error handling. 3058// 3059// This method is useful when you want to inject custom logic or configuration 3060// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3061// 3062// 3063// // Example sending a request using the DeleteRealtimeLogConfigRequest method. 3064// req, resp := client.DeleteRealtimeLogConfigRequest(params) 3065// 3066// err := req.Send() 3067// if err == nil { // resp is now filled 3068// fmt.Println(resp) 3069// } 3070// 3071// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteRealtimeLogConfig 3072func (c *CloudFront) DeleteRealtimeLogConfigRequest(input *DeleteRealtimeLogConfigInput) (req *request.Request, output *DeleteRealtimeLogConfigOutput) { 3073 op := &request.Operation{ 3074 Name: opDeleteRealtimeLogConfig, 3075 HTTPMethod: "POST", 3076 HTTPPath: "/2020-05-31/delete-realtime-log-config/", 3077 } 3078 3079 if input == nil { 3080 input = &DeleteRealtimeLogConfigInput{} 3081 } 3082 3083 output = &DeleteRealtimeLogConfigOutput{} 3084 req = c.newRequest(op, input, output) 3085 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3086 return 3087} 3088 3089// DeleteRealtimeLogConfig API operation for Amazon CloudFront. 3090// 3091// Deletes a real-time log configuration. 3092// 3093// You cannot delete a real-time log configuration if it’s attached to a cache 3094// behavior. First update your distributions to remove the real-time log configuration 3095// from all cache behaviors, then delete the real-time log configuration. 3096// 3097// To delete a real-time log configuration, you can provide the configuration’s 3098// name or its Amazon Resource Name (ARN). You must provide at least one. If 3099// you provide both, CloudFront uses the name to identify the real-time log 3100// configuration to delete. 3101// 3102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3103// with awserr.Error's Code and Message methods to get detailed information about 3104// the error. 3105// 3106// See the AWS API reference guide for Amazon CloudFront's 3107// API operation DeleteRealtimeLogConfig for usage and error information. 3108// 3109// Returned Error Codes: 3110// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 3111// The real-time log configuration does not exist. 3112// 3113// * ErrCodeRealtimeLogConfigInUse "RealtimeLogConfigInUse" 3114// Cannot delete the real-time log configuration because it is attached to one 3115// or more cache behaviors. 3116// 3117// * ErrCodeInvalidArgument "InvalidArgument" 3118// An argument is invalid. 3119// 3120// * ErrCodeAccessDenied "AccessDenied" 3121// Access denied. 3122// 3123// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteRealtimeLogConfig 3124func (c *CloudFront) DeleteRealtimeLogConfig(input *DeleteRealtimeLogConfigInput) (*DeleteRealtimeLogConfigOutput, error) { 3125 req, out := c.DeleteRealtimeLogConfigRequest(input) 3126 return out, req.Send() 3127} 3128 3129// DeleteRealtimeLogConfigWithContext is the same as DeleteRealtimeLogConfig with the addition of 3130// the ability to pass a context and additional request options. 3131// 3132// See DeleteRealtimeLogConfig for details on how to use this API operation. 3133// 3134// The context must be non-nil and will be used for request cancellation. If 3135// the context is nil a panic will occur. In the future the SDK may create 3136// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3137// for more information on using Contexts. 3138func (c *CloudFront) DeleteRealtimeLogConfigWithContext(ctx aws.Context, input *DeleteRealtimeLogConfigInput, opts ...request.Option) (*DeleteRealtimeLogConfigOutput, error) { 3139 req, out := c.DeleteRealtimeLogConfigRequest(input) 3140 req.SetContext(ctx) 3141 req.ApplyOptions(opts...) 3142 return out, req.Send() 3143} 3144 3145const opDeleteStreamingDistribution = "DeleteStreamingDistribution2020_05_31" 3146 3147// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the 3148// client's request for the DeleteStreamingDistribution operation. The "output" return 3149// value will be populated with the request's response once the request completes 3150// successfully. 3151// 3152// Use "Send" method on the returned Request to send the API call to the service. 3153// the "output" return value is not valid until after Send returns without error. 3154// 3155// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution 3156// API call, and error handling. 3157// 3158// This method is useful when you want to inject custom logic or configuration 3159// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3160// 3161// 3162// // Example sending a request using the DeleteStreamingDistributionRequest method. 3163// req, resp := client.DeleteStreamingDistributionRequest(params) 3164// 3165// err := req.Send() 3166// if err == nil { // resp is now filled 3167// fmt.Println(resp) 3168// } 3169// 3170// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution 3171func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) { 3172 op := &request.Operation{ 3173 Name: opDeleteStreamingDistribution, 3174 HTTPMethod: "DELETE", 3175 HTTPPath: "/2020-05-31/streaming-distribution/{Id}", 3176 } 3177 3178 if input == nil { 3179 input = &DeleteStreamingDistributionInput{} 3180 } 3181 3182 output = &DeleteStreamingDistributionOutput{} 3183 req = c.newRequest(op, input, output) 3184 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3185 return 3186} 3187 3188// DeleteStreamingDistribution API operation for Amazon CloudFront. 3189// 3190// Delete a streaming distribution. To delete an RTMP distribution using the 3191// CloudFront API, perform the following steps. 3192// 3193// To delete an RTMP distribution using the CloudFront API: 3194// 3195// Disable the RTMP distribution. 3196// 3197// Submit a GET Streaming Distribution Config request to get the current configuration 3198// and the Etag header for the distribution. 3199// 3200// Update the XML document that was returned in the response to your GET Streaming 3201// Distribution Config request to change the value of Enabled to false. 3202// 3203// Submit a PUT Streaming Distribution Config request to update the configuration 3204// for your distribution. In the request body, include the XML document that 3205// you updated in Step 3. Then set the value of the HTTP If-Match header to 3206// the value of the ETag header that CloudFront returned when you submitted 3207// the GET Streaming Distribution Config request in Step 2. 3208// 3209// Review the response to the PUT Streaming Distribution Config request to confirm 3210// that the distribution was successfully disabled. 3211// 3212// Submit a GET Streaming Distribution Config request to confirm that your changes 3213// have propagated. When propagation is complete, the value of Status is Deployed. 3214// 3215// Submit a DELETE Streaming Distribution request. Set the value of the HTTP 3216// If-Match header to the value of the ETag header that CloudFront returned 3217// when you submitted the GET Streaming Distribution Config request in Step 3218// 2. 3219// 3220// Review the response to your DELETE Streaming Distribution request to confirm 3221// that the distribution was successfully deleted. 3222// 3223// For information about deleting a distribution using the CloudFront console, 3224// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) 3225// in the Amazon CloudFront Developer Guide. 3226// 3227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3228// with awserr.Error's Code and Message methods to get detailed information about 3229// the error. 3230// 3231// See the AWS API reference guide for Amazon CloudFront's 3232// API operation DeleteStreamingDistribution for usage and error information. 3233// 3234// Returned Error Codes: 3235// * ErrCodeAccessDenied "AccessDenied" 3236// Access denied. 3237// 3238// * ErrCodeStreamingDistributionNotDisabled "StreamingDistributionNotDisabled" 3239// The specified CloudFront distribution is not disabled. You must disable the 3240// distribution before you can delete it. 3241// 3242// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 3243// The If-Match version is missing or not valid. 3244// 3245// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 3246// The specified streaming distribution does not exist. 3247// 3248// * ErrCodePreconditionFailed "PreconditionFailed" 3249// The precondition in one or more of the request fields evaluated to false. 3250// 3251// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteStreamingDistribution 3252func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { 3253 req, out := c.DeleteStreamingDistributionRequest(input) 3254 return out, req.Send() 3255} 3256 3257// DeleteStreamingDistributionWithContext is the same as DeleteStreamingDistribution with the addition of 3258// the ability to pass a context and additional request options. 3259// 3260// See DeleteStreamingDistribution for details on how to use this API operation. 3261// 3262// The context must be non-nil and will be used for request cancellation. If 3263// the context is nil a panic will occur. In the future the SDK may create 3264// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3265// for more information on using Contexts. 3266func (c *CloudFront) DeleteStreamingDistributionWithContext(ctx aws.Context, input *DeleteStreamingDistributionInput, opts ...request.Option) (*DeleteStreamingDistributionOutput, error) { 3267 req, out := c.DeleteStreamingDistributionRequest(input) 3268 req.SetContext(ctx) 3269 req.ApplyOptions(opts...) 3270 return out, req.Send() 3271} 3272 3273const opDescribeFunction = "DescribeFunction2020_05_31" 3274 3275// DescribeFunctionRequest generates a "aws/request.Request" representing the 3276// client's request for the DescribeFunction operation. The "output" return 3277// value will be populated with the request's response once the request completes 3278// successfully. 3279// 3280// Use "Send" method on the returned Request to send the API call to the service. 3281// the "output" return value is not valid until after Send returns without error. 3282// 3283// See DescribeFunction for more information on using the DescribeFunction 3284// API call, and error handling. 3285// 3286// This method is useful when you want to inject custom logic or configuration 3287// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3288// 3289// 3290// // Example sending a request using the DescribeFunctionRequest method. 3291// req, resp := client.DescribeFunctionRequest(params) 3292// 3293// err := req.Send() 3294// if err == nil { // resp is now filled 3295// fmt.Println(resp) 3296// } 3297// 3298// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunction 3299func (c *CloudFront) DescribeFunctionRequest(input *DescribeFunctionInput) (req *request.Request, output *DescribeFunctionOutput) { 3300 op := &request.Operation{ 3301 Name: opDescribeFunction, 3302 HTTPMethod: "GET", 3303 HTTPPath: "/2020-05-31/function/{Name}/describe", 3304 } 3305 3306 if input == nil { 3307 input = &DescribeFunctionInput{} 3308 } 3309 3310 output = &DescribeFunctionOutput{} 3311 req = c.newRequest(op, input, output) 3312 return 3313} 3314 3315// DescribeFunction API operation for Amazon CloudFront. 3316// 3317// Gets configuration information and metadata about a CloudFront function, 3318// but not the function’s code. To get a function’s code, use GetFunction. 3319// 3320// To get configuration information and metadata about a function, you must 3321// provide the function’s name and stage. To get these values, you can use 3322// ListFunctions. 3323// 3324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3325// with awserr.Error's Code and Message methods to get detailed information about 3326// the error. 3327// 3328// See the AWS API reference guide for Amazon CloudFront's 3329// API operation DescribeFunction for usage and error information. 3330// 3331// Returned Error Codes: 3332// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 3333// The function does not exist. 3334// 3335// * ErrCodeUnsupportedOperation "UnsupportedOperation" 3336// This operation is not supported in this region. 3337// 3338// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DescribeFunction 3339func (c *CloudFront) DescribeFunction(input *DescribeFunctionInput) (*DescribeFunctionOutput, error) { 3340 req, out := c.DescribeFunctionRequest(input) 3341 return out, req.Send() 3342} 3343 3344// DescribeFunctionWithContext is the same as DescribeFunction with the addition of 3345// the ability to pass a context and additional request options. 3346// 3347// See DescribeFunction for details on how to use this API operation. 3348// 3349// The context must be non-nil and will be used for request cancellation. If 3350// the context is nil a panic will occur. In the future the SDK may create 3351// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3352// for more information on using Contexts. 3353func (c *CloudFront) DescribeFunctionWithContext(ctx aws.Context, input *DescribeFunctionInput, opts ...request.Option) (*DescribeFunctionOutput, error) { 3354 req, out := c.DescribeFunctionRequest(input) 3355 req.SetContext(ctx) 3356 req.ApplyOptions(opts...) 3357 return out, req.Send() 3358} 3359 3360const opGetCachePolicy = "GetCachePolicy2020_05_31" 3361 3362// GetCachePolicyRequest generates a "aws/request.Request" representing the 3363// client's request for the GetCachePolicy operation. The "output" return 3364// value will be populated with the request's response once the request completes 3365// successfully. 3366// 3367// Use "Send" method on the returned Request to send the API call to the service. 3368// the "output" return value is not valid until after Send returns without error. 3369// 3370// See GetCachePolicy for more information on using the GetCachePolicy 3371// API call, and error handling. 3372// 3373// This method is useful when you want to inject custom logic or configuration 3374// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3375// 3376// 3377// // Example sending a request using the GetCachePolicyRequest method. 3378// req, resp := client.GetCachePolicyRequest(params) 3379// 3380// err := req.Send() 3381// if err == nil { // resp is now filled 3382// fmt.Println(resp) 3383// } 3384// 3385// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy 3386func (c *CloudFront) GetCachePolicyRequest(input *GetCachePolicyInput) (req *request.Request, output *GetCachePolicyOutput) { 3387 op := &request.Operation{ 3388 Name: opGetCachePolicy, 3389 HTTPMethod: "GET", 3390 HTTPPath: "/2020-05-31/cache-policy/{Id}", 3391 } 3392 3393 if input == nil { 3394 input = &GetCachePolicyInput{} 3395 } 3396 3397 output = &GetCachePolicyOutput{} 3398 req = c.newRequest(op, input, output) 3399 return 3400} 3401 3402// GetCachePolicy API operation for Amazon CloudFront. 3403// 3404// Gets a cache policy, including the following metadata: 3405// 3406// * The policy’s identifier. 3407// 3408// * The date and time when the policy was last modified. 3409// 3410// To get a cache policy, you must provide the policy’s identifier. If the 3411// cache policy is attached to a distribution’s cache behavior, you can get 3412// the policy’s identifier using ListDistributions or GetDistribution. If 3413// the cache policy is not attached to a cache behavior, you can get the identifier 3414// using ListCachePolicies. 3415// 3416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3417// with awserr.Error's Code and Message methods to get detailed information about 3418// the error. 3419// 3420// See the AWS API reference guide for Amazon CloudFront's 3421// API operation GetCachePolicy for usage and error information. 3422// 3423// Returned Error Codes: 3424// * ErrCodeAccessDenied "AccessDenied" 3425// Access denied. 3426// 3427// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 3428// The cache policy does not exist. 3429// 3430// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicy 3431func (c *CloudFront) GetCachePolicy(input *GetCachePolicyInput) (*GetCachePolicyOutput, error) { 3432 req, out := c.GetCachePolicyRequest(input) 3433 return out, req.Send() 3434} 3435 3436// GetCachePolicyWithContext is the same as GetCachePolicy with the addition of 3437// the ability to pass a context and additional request options. 3438// 3439// See GetCachePolicy for details on how to use this API operation. 3440// 3441// The context must be non-nil and will be used for request cancellation. If 3442// the context is nil a panic will occur. In the future the SDK may create 3443// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3444// for more information on using Contexts. 3445func (c *CloudFront) GetCachePolicyWithContext(ctx aws.Context, input *GetCachePolicyInput, opts ...request.Option) (*GetCachePolicyOutput, error) { 3446 req, out := c.GetCachePolicyRequest(input) 3447 req.SetContext(ctx) 3448 req.ApplyOptions(opts...) 3449 return out, req.Send() 3450} 3451 3452const opGetCachePolicyConfig = "GetCachePolicyConfig2020_05_31" 3453 3454// GetCachePolicyConfigRequest generates a "aws/request.Request" representing the 3455// client's request for the GetCachePolicyConfig operation. The "output" return 3456// value will be populated with the request's response once the request completes 3457// successfully. 3458// 3459// Use "Send" method on the returned Request to send the API call to the service. 3460// the "output" return value is not valid until after Send returns without error. 3461// 3462// See GetCachePolicyConfig for more information on using the GetCachePolicyConfig 3463// API call, and error handling. 3464// 3465// This method is useful when you want to inject custom logic or configuration 3466// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3467// 3468// 3469// // Example sending a request using the GetCachePolicyConfigRequest method. 3470// req, resp := client.GetCachePolicyConfigRequest(params) 3471// 3472// err := req.Send() 3473// if err == nil { // resp is now filled 3474// fmt.Println(resp) 3475// } 3476// 3477// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig 3478func (c *CloudFront) GetCachePolicyConfigRequest(input *GetCachePolicyConfigInput) (req *request.Request, output *GetCachePolicyConfigOutput) { 3479 op := &request.Operation{ 3480 Name: opGetCachePolicyConfig, 3481 HTTPMethod: "GET", 3482 HTTPPath: "/2020-05-31/cache-policy/{Id}/config", 3483 } 3484 3485 if input == nil { 3486 input = &GetCachePolicyConfigInput{} 3487 } 3488 3489 output = &GetCachePolicyConfigOutput{} 3490 req = c.newRequest(op, input, output) 3491 return 3492} 3493 3494// GetCachePolicyConfig API operation for Amazon CloudFront. 3495// 3496// Gets a cache policy configuration. 3497// 3498// To get a cache policy configuration, you must provide the policy’s identifier. 3499// If the cache policy is attached to a distribution’s cache behavior, you 3500// can get the policy’s identifier using ListDistributions or GetDistribution. 3501// If the cache policy is not attached to a cache behavior, you can get the 3502// identifier using ListCachePolicies. 3503// 3504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3505// with awserr.Error's Code and Message methods to get detailed information about 3506// the error. 3507// 3508// See the AWS API reference guide for Amazon CloudFront's 3509// API operation GetCachePolicyConfig for usage and error information. 3510// 3511// Returned Error Codes: 3512// * ErrCodeAccessDenied "AccessDenied" 3513// Access denied. 3514// 3515// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 3516// The cache policy does not exist. 3517// 3518// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCachePolicyConfig 3519func (c *CloudFront) GetCachePolicyConfig(input *GetCachePolicyConfigInput) (*GetCachePolicyConfigOutput, error) { 3520 req, out := c.GetCachePolicyConfigRequest(input) 3521 return out, req.Send() 3522} 3523 3524// GetCachePolicyConfigWithContext is the same as GetCachePolicyConfig with the addition of 3525// the ability to pass a context and additional request options. 3526// 3527// See GetCachePolicyConfig for details on how to use this API operation. 3528// 3529// The context must be non-nil and will be used for request cancellation. If 3530// the context is nil a panic will occur. In the future the SDK may create 3531// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3532// for more information on using Contexts. 3533func (c *CloudFront) GetCachePolicyConfigWithContext(ctx aws.Context, input *GetCachePolicyConfigInput, opts ...request.Option) (*GetCachePolicyConfigOutput, error) { 3534 req, out := c.GetCachePolicyConfigRequest(input) 3535 req.SetContext(ctx) 3536 req.ApplyOptions(opts...) 3537 return out, req.Send() 3538} 3539 3540const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2020_05_31" 3541 3542// GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 3543// client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return 3544// value will be populated with the request's response once the request completes 3545// successfully. 3546// 3547// Use "Send" method on the returned Request to send the API call to the service. 3548// the "output" return value is not valid until after Send returns without error. 3549// 3550// See GetCloudFrontOriginAccessIdentity for more information on using the GetCloudFrontOriginAccessIdentity 3551// API call, and error handling. 3552// 3553// This method is useful when you want to inject custom logic or configuration 3554// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3555// 3556// 3557// // Example sending a request using the GetCloudFrontOriginAccessIdentityRequest method. 3558// req, resp := client.GetCloudFrontOriginAccessIdentityRequest(params) 3559// 3560// err := req.Send() 3561// if err == nil { // resp is now filled 3562// fmt.Println(resp) 3563// } 3564// 3565// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity 3566func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) { 3567 op := &request.Operation{ 3568 Name: opGetCloudFrontOriginAccessIdentity, 3569 HTTPMethod: "GET", 3570 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}", 3571 } 3572 3573 if input == nil { 3574 input = &GetCloudFrontOriginAccessIdentityInput{} 3575 } 3576 3577 output = &GetCloudFrontOriginAccessIdentityOutput{} 3578 req = c.newRequest(op, input, output) 3579 return 3580} 3581 3582// GetCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 3583// 3584// Get the information about an origin access identity. 3585// 3586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3587// with awserr.Error's Code and Message methods to get detailed information about 3588// the error. 3589// 3590// See the AWS API reference guide for Amazon CloudFront's 3591// API operation GetCloudFrontOriginAccessIdentity for usage and error information. 3592// 3593// Returned Error Codes: 3594// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 3595// The specified origin access identity does not exist. 3596// 3597// * ErrCodeAccessDenied "AccessDenied" 3598// Access denied. 3599// 3600// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentity 3601func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) { 3602 req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) 3603 return out, req.Send() 3604} 3605 3606// GetCloudFrontOriginAccessIdentityWithContext is the same as GetCloudFrontOriginAccessIdentity with the addition of 3607// the ability to pass a context and additional request options. 3608// 3609// See GetCloudFrontOriginAccessIdentity for details on how to use this API operation. 3610// 3611// The context must be non-nil and will be used for request cancellation. If 3612// the context is nil a panic will occur. In the future the SDK may create 3613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3614// for more information on using Contexts. 3615func (c *CloudFront) GetCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *GetCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*GetCloudFrontOriginAccessIdentityOutput, error) { 3616 req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) 3617 req.SetContext(ctx) 3618 req.ApplyOptions(opts...) 3619 return out, req.Send() 3620} 3621 3622const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2020_05_31" 3623 3624// GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the 3625// client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return 3626// value will be populated with the request's response once the request completes 3627// successfully. 3628// 3629// Use "Send" method on the returned Request to send the API call to the service. 3630// the "output" return value is not valid until after Send returns without error. 3631// 3632// See GetCloudFrontOriginAccessIdentityConfig for more information on using the GetCloudFrontOriginAccessIdentityConfig 3633// API call, and error handling. 3634// 3635// This method is useful when you want to inject custom logic or configuration 3636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3637// 3638// 3639// // Example sending a request using the GetCloudFrontOriginAccessIdentityConfigRequest method. 3640// req, resp := client.GetCloudFrontOriginAccessIdentityConfigRequest(params) 3641// 3642// err := req.Send() 3643// if err == nil { // resp is now filled 3644// fmt.Println(resp) 3645// } 3646// 3647// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig 3648func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) { 3649 op := &request.Operation{ 3650 Name: opGetCloudFrontOriginAccessIdentityConfig, 3651 HTTPMethod: "GET", 3652 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", 3653 } 3654 3655 if input == nil { 3656 input = &GetCloudFrontOriginAccessIdentityConfigInput{} 3657 } 3658 3659 output = &GetCloudFrontOriginAccessIdentityConfigOutput{} 3660 req = c.newRequest(op, input, output) 3661 return 3662} 3663 3664// GetCloudFrontOriginAccessIdentityConfig API operation for Amazon CloudFront. 3665// 3666// Get the configuration information about an origin access identity. 3667// 3668// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3669// with awserr.Error's Code and Message methods to get detailed information about 3670// the error. 3671// 3672// See the AWS API reference guide for Amazon CloudFront's 3673// API operation GetCloudFrontOriginAccessIdentityConfig for usage and error information. 3674// 3675// Returned Error Codes: 3676// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 3677// The specified origin access identity does not exist. 3678// 3679// * ErrCodeAccessDenied "AccessDenied" 3680// Access denied. 3681// 3682// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetCloudFrontOriginAccessIdentityConfig 3683func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { 3684 req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) 3685 return out, req.Send() 3686} 3687 3688// GetCloudFrontOriginAccessIdentityConfigWithContext is the same as GetCloudFrontOriginAccessIdentityConfig with the addition of 3689// the ability to pass a context and additional request options. 3690// 3691// See GetCloudFrontOriginAccessIdentityConfig for details on how to use this API operation. 3692// 3693// The context must be non-nil and will be used for request cancellation. If 3694// the context is nil a panic will occur. In the future the SDK may create 3695// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3696// for more information on using Contexts. 3697func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigWithContext(ctx aws.Context, input *GetCloudFrontOriginAccessIdentityConfigInput, opts ...request.Option) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { 3698 req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) 3699 req.SetContext(ctx) 3700 req.ApplyOptions(opts...) 3701 return out, req.Send() 3702} 3703 3704const opGetDistribution = "GetDistribution2020_05_31" 3705 3706// GetDistributionRequest generates a "aws/request.Request" representing the 3707// client's request for the GetDistribution operation. The "output" return 3708// value will be populated with the request's response once the request completes 3709// successfully. 3710// 3711// Use "Send" method on the returned Request to send the API call to the service. 3712// the "output" return value is not valid until after Send returns without error. 3713// 3714// See GetDistribution for more information on using the GetDistribution 3715// API call, and error handling. 3716// 3717// This method is useful when you want to inject custom logic or configuration 3718// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3719// 3720// 3721// // Example sending a request using the GetDistributionRequest method. 3722// req, resp := client.GetDistributionRequest(params) 3723// 3724// err := req.Send() 3725// if err == nil { // resp is now filled 3726// fmt.Println(resp) 3727// } 3728// 3729// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution 3730func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) { 3731 op := &request.Operation{ 3732 Name: opGetDistribution, 3733 HTTPMethod: "GET", 3734 HTTPPath: "/2020-05-31/distribution/{Id}", 3735 } 3736 3737 if input == nil { 3738 input = &GetDistributionInput{} 3739 } 3740 3741 output = &GetDistributionOutput{} 3742 req = c.newRequest(op, input, output) 3743 return 3744} 3745 3746// GetDistribution API operation for Amazon CloudFront. 3747// 3748// Get the information about a distribution. 3749// 3750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3751// with awserr.Error's Code and Message methods to get detailed information about 3752// the error. 3753// 3754// See the AWS API reference guide for Amazon CloudFront's 3755// API operation GetDistribution for usage and error information. 3756// 3757// Returned Error Codes: 3758// * ErrCodeNoSuchDistribution "NoSuchDistribution" 3759// The specified distribution does not exist. 3760// 3761// * ErrCodeAccessDenied "AccessDenied" 3762// Access denied. 3763// 3764// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistribution 3765func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) { 3766 req, out := c.GetDistributionRequest(input) 3767 return out, req.Send() 3768} 3769 3770// GetDistributionWithContext is the same as GetDistribution with the addition of 3771// the ability to pass a context and additional request options. 3772// 3773// See GetDistribution for details on how to use this API operation. 3774// 3775// The context must be non-nil and will be used for request cancellation. If 3776// the context is nil a panic will occur. In the future the SDK may create 3777// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3778// for more information on using Contexts. 3779func (c *CloudFront) GetDistributionWithContext(ctx aws.Context, input *GetDistributionInput, opts ...request.Option) (*GetDistributionOutput, error) { 3780 req, out := c.GetDistributionRequest(input) 3781 req.SetContext(ctx) 3782 req.ApplyOptions(opts...) 3783 return out, req.Send() 3784} 3785 3786const opGetDistributionConfig = "GetDistributionConfig2020_05_31" 3787 3788// GetDistributionConfigRequest generates a "aws/request.Request" representing the 3789// client's request for the GetDistributionConfig operation. The "output" return 3790// value will be populated with the request's response once the request completes 3791// successfully. 3792// 3793// Use "Send" method on the returned Request to send the API call to the service. 3794// the "output" return value is not valid until after Send returns without error. 3795// 3796// See GetDistributionConfig for more information on using the GetDistributionConfig 3797// API call, and error handling. 3798// 3799// This method is useful when you want to inject custom logic or configuration 3800// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3801// 3802// 3803// // Example sending a request using the GetDistributionConfigRequest method. 3804// req, resp := client.GetDistributionConfigRequest(params) 3805// 3806// err := req.Send() 3807// if err == nil { // resp is now filled 3808// fmt.Println(resp) 3809// } 3810// 3811// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig 3812func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) { 3813 op := &request.Operation{ 3814 Name: opGetDistributionConfig, 3815 HTTPMethod: "GET", 3816 HTTPPath: "/2020-05-31/distribution/{Id}/config", 3817 } 3818 3819 if input == nil { 3820 input = &GetDistributionConfigInput{} 3821 } 3822 3823 output = &GetDistributionConfigOutput{} 3824 req = c.newRequest(op, input, output) 3825 return 3826} 3827 3828// GetDistributionConfig API operation for Amazon CloudFront. 3829// 3830// Get the configuration information about a distribution. 3831// 3832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3833// with awserr.Error's Code and Message methods to get detailed information about 3834// the error. 3835// 3836// See the AWS API reference guide for Amazon CloudFront's 3837// API operation GetDistributionConfig for usage and error information. 3838// 3839// Returned Error Codes: 3840// * ErrCodeNoSuchDistribution "NoSuchDistribution" 3841// The specified distribution does not exist. 3842// 3843// * ErrCodeAccessDenied "AccessDenied" 3844// Access denied. 3845// 3846// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetDistributionConfig 3847func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) { 3848 req, out := c.GetDistributionConfigRequest(input) 3849 return out, req.Send() 3850} 3851 3852// GetDistributionConfigWithContext is the same as GetDistributionConfig with the addition of 3853// the ability to pass a context and additional request options. 3854// 3855// See GetDistributionConfig for details on how to use this API operation. 3856// 3857// The context must be non-nil and will be used for request cancellation. If 3858// the context is nil a panic will occur. In the future the SDK may create 3859// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3860// for more information on using Contexts. 3861func (c *CloudFront) GetDistributionConfigWithContext(ctx aws.Context, input *GetDistributionConfigInput, opts ...request.Option) (*GetDistributionConfigOutput, error) { 3862 req, out := c.GetDistributionConfigRequest(input) 3863 req.SetContext(ctx) 3864 req.ApplyOptions(opts...) 3865 return out, req.Send() 3866} 3867 3868const opGetFieldLevelEncryption = "GetFieldLevelEncryption2020_05_31" 3869 3870// GetFieldLevelEncryptionRequest generates a "aws/request.Request" representing the 3871// client's request for the GetFieldLevelEncryption operation. The "output" return 3872// value will be populated with the request's response once the request completes 3873// successfully. 3874// 3875// Use "Send" method on the returned Request to send the API call to the service. 3876// the "output" return value is not valid until after Send returns without error. 3877// 3878// See GetFieldLevelEncryption for more information on using the GetFieldLevelEncryption 3879// API call, and error handling. 3880// 3881// This method is useful when you want to inject custom logic or configuration 3882// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3883// 3884// 3885// // Example sending a request using the GetFieldLevelEncryptionRequest method. 3886// req, resp := client.GetFieldLevelEncryptionRequest(params) 3887// 3888// err := req.Send() 3889// if err == nil { // resp is now filled 3890// fmt.Println(resp) 3891// } 3892// 3893// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption 3894func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncryptionInput) (req *request.Request, output *GetFieldLevelEncryptionOutput) { 3895 op := &request.Operation{ 3896 Name: opGetFieldLevelEncryption, 3897 HTTPMethod: "GET", 3898 HTTPPath: "/2020-05-31/field-level-encryption/{Id}", 3899 } 3900 3901 if input == nil { 3902 input = &GetFieldLevelEncryptionInput{} 3903 } 3904 3905 output = &GetFieldLevelEncryptionOutput{} 3906 req = c.newRequest(op, input, output) 3907 return 3908} 3909 3910// GetFieldLevelEncryption API operation for Amazon CloudFront. 3911// 3912// Get the field-level encryption configuration information. 3913// 3914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3915// with awserr.Error's Code and Message methods to get detailed information about 3916// the error. 3917// 3918// See the AWS API reference guide for Amazon CloudFront's 3919// API operation GetFieldLevelEncryption for usage and error information. 3920// 3921// Returned Error Codes: 3922// * ErrCodeAccessDenied "AccessDenied" 3923// Access denied. 3924// 3925// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 3926// The specified configuration for field-level encryption doesn't exist. 3927// 3928// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryption 3929func (c *CloudFront) GetFieldLevelEncryption(input *GetFieldLevelEncryptionInput) (*GetFieldLevelEncryptionOutput, error) { 3930 req, out := c.GetFieldLevelEncryptionRequest(input) 3931 return out, req.Send() 3932} 3933 3934// GetFieldLevelEncryptionWithContext is the same as GetFieldLevelEncryption with the addition of 3935// the ability to pass a context and additional request options. 3936// 3937// See GetFieldLevelEncryption for details on how to use this API operation. 3938// 3939// The context must be non-nil and will be used for request cancellation. If 3940// the context is nil a panic will occur. In the future the SDK may create 3941// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3942// for more information on using Contexts. 3943func (c *CloudFront) GetFieldLevelEncryptionWithContext(ctx aws.Context, input *GetFieldLevelEncryptionInput, opts ...request.Option) (*GetFieldLevelEncryptionOutput, error) { 3944 req, out := c.GetFieldLevelEncryptionRequest(input) 3945 req.SetContext(ctx) 3946 req.ApplyOptions(opts...) 3947 return out, req.Send() 3948} 3949 3950const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2020_05_31" 3951 3952// GetFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 3953// client's request for the GetFieldLevelEncryptionConfig operation. The "output" return 3954// value will be populated with the request's response once the request completes 3955// successfully. 3956// 3957// Use "Send" method on the returned Request to send the API call to the service. 3958// the "output" return value is not valid until after Send returns without error. 3959// 3960// See GetFieldLevelEncryptionConfig for more information on using the GetFieldLevelEncryptionConfig 3961// API call, and error handling. 3962// 3963// This method is useful when you want to inject custom logic or configuration 3964// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3965// 3966// 3967// // Example sending a request using the GetFieldLevelEncryptionConfigRequest method. 3968// req, resp := client.GetFieldLevelEncryptionConfigRequest(params) 3969// 3970// err := req.Send() 3971// if err == nil { // resp is now filled 3972// fmt.Println(resp) 3973// } 3974// 3975// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig 3976func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEncryptionConfigInput) (req *request.Request, output *GetFieldLevelEncryptionConfigOutput) { 3977 op := &request.Operation{ 3978 Name: opGetFieldLevelEncryptionConfig, 3979 HTTPMethod: "GET", 3980 HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", 3981 } 3982 3983 if input == nil { 3984 input = &GetFieldLevelEncryptionConfigInput{} 3985 } 3986 3987 output = &GetFieldLevelEncryptionConfigOutput{} 3988 req = c.newRequest(op, input, output) 3989 return 3990} 3991 3992// GetFieldLevelEncryptionConfig API operation for Amazon CloudFront. 3993// 3994// Get the field-level encryption configuration information. 3995// 3996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3997// with awserr.Error's Code and Message methods to get detailed information about 3998// the error. 3999// 4000// See the AWS API reference guide for Amazon CloudFront's 4001// API operation GetFieldLevelEncryptionConfig for usage and error information. 4002// 4003// Returned Error Codes: 4004// * ErrCodeAccessDenied "AccessDenied" 4005// Access denied. 4006// 4007// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 4008// The specified configuration for field-level encryption doesn't exist. 4009// 4010// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionConfig 4011func (c *CloudFront) GetFieldLevelEncryptionConfig(input *GetFieldLevelEncryptionConfigInput) (*GetFieldLevelEncryptionConfigOutput, error) { 4012 req, out := c.GetFieldLevelEncryptionConfigRequest(input) 4013 return out, req.Send() 4014} 4015 4016// GetFieldLevelEncryptionConfigWithContext is the same as GetFieldLevelEncryptionConfig with the addition of 4017// the ability to pass a context and additional request options. 4018// 4019// See GetFieldLevelEncryptionConfig for details on how to use this API operation. 4020// 4021// The context must be non-nil and will be used for request cancellation. If 4022// the context is nil a panic will occur. In the future the SDK may create 4023// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4024// for more information on using Contexts. 4025func (c *CloudFront) GetFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *GetFieldLevelEncryptionConfigInput, opts ...request.Option) (*GetFieldLevelEncryptionConfigOutput, error) { 4026 req, out := c.GetFieldLevelEncryptionConfigRequest(input) 4027 req.SetContext(ctx) 4028 req.ApplyOptions(opts...) 4029 return out, req.Send() 4030} 4031 4032const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2020_05_31" 4033 4034// GetFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 4035// client's request for the GetFieldLevelEncryptionProfile operation. The "output" return 4036// value will be populated with the request's response once the request completes 4037// successfully. 4038// 4039// Use "Send" method on the returned Request to send the API call to the service. 4040// the "output" return value is not valid until after Send returns without error. 4041// 4042// See GetFieldLevelEncryptionProfile for more information on using the GetFieldLevelEncryptionProfile 4043// API call, and error handling. 4044// 4045// This method is useful when you want to inject custom logic or configuration 4046// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4047// 4048// 4049// // Example sending a request using the GetFieldLevelEncryptionProfileRequest method. 4050// req, resp := client.GetFieldLevelEncryptionProfileRequest(params) 4051// 4052// err := req.Send() 4053// if err == nil { // resp is now filled 4054// fmt.Println(resp) 4055// } 4056// 4057// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile 4058func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelEncryptionProfileInput) (req *request.Request, output *GetFieldLevelEncryptionProfileOutput) { 4059 op := &request.Operation{ 4060 Name: opGetFieldLevelEncryptionProfile, 4061 HTTPMethod: "GET", 4062 HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}", 4063 } 4064 4065 if input == nil { 4066 input = &GetFieldLevelEncryptionProfileInput{} 4067 } 4068 4069 output = &GetFieldLevelEncryptionProfileOutput{} 4070 req = c.newRequest(op, input, output) 4071 return 4072} 4073 4074// GetFieldLevelEncryptionProfile API operation for Amazon CloudFront. 4075// 4076// Get the field-level encryption profile information. 4077// 4078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4079// with awserr.Error's Code and Message methods to get detailed information about 4080// the error. 4081// 4082// See the AWS API reference guide for Amazon CloudFront's 4083// API operation GetFieldLevelEncryptionProfile for usage and error information. 4084// 4085// Returned Error Codes: 4086// * ErrCodeAccessDenied "AccessDenied" 4087// Access denied. 4088// 4089// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 4090// The specified profile for field-level encryption doesn't exist. 4091// 4092// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfile 4093func (c *CloudFront) GetFieldLevelEncryptionProfile(input *GetFieldLevelEncryptionProfileInput) (*GetFieldLevelEncryptionProfileOutput, error) { 4094 req, out := c.GetFieldLevelEncryptionProfileRequest(input) 4095 return out, req.Send() 4096} 4097 4098// GetFieldLevelEncryptionProfileWithContext is the same as GetFieldLevelEncryptionProfile with the addition of 4099// the ability to pass a context and additional request options. 4100// 4101// See GetFieldLevelEncryptionProfile for details on how to use this API operation. 4102// 4103// The context must be non-nil and will be used for request cancellation. If 4104// the context is nil a panic will occur. In the future the SDK may create 4105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4106// for more information on using Contexts. 4107func (c *CloudFront) GetFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *GetFieldLevelEncryptionProfileInput, opts ...request.Option) (*GetFieldLevelEncryptionProfileOutput, error) { 4108 req, out := c.GetFieldLevelEncryptionProfileRequest(input) 4109 req.SetContext(ctx) 4110 req.ApplyOptions(opts...) 4111 return out, req.Send() 4112} 4113 4114const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2020_05_31" 4115 4116// GetFieldLevelEncryptionProfileConfigRequest generates a "aws/request.Request" representing the 4117// client's request for the GetFieldLevelEncryptionProfileConfig operation. The "output" return 4118// value will be populated with the request's response once the request completes 4119// successfully. 4120// 4121// Use "Send" method on the returned Request to send the API call to the service. 4122// the "output" return value is not valid until after Send returns without error. 4123// 4124// See GetFieldLevelEncryptionProfileConfig for more information on using the GetFieldLevelEncryptionProfileConfig 4125// API call, and error handling. 4126// 4127// This method is useful when you want to inject custom logic or configuration 4128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4129// 4130// 4131// // Example sending a request using the GetFieldLevelEncryptionProfileConfigRequest method. 4132// req, resp := client.GetFieldLevelEncryptionProfileConfigRequest(params) 4133// 4134// err := req.Send() 4135// if err == nil { // resp is now filled 4136// fmt.Println(resp) 4137// } 4138// 4139// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig 4140func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetFieldLevelEncryptionProfileConfigInput) (req *request.Request, output *GetFieldLevelEncryptionProfileConfigOutput) { 4141 op := &request.Operation{ 4142 Name: opGetFieldLevelEncryptionProfileConfig, 4143 HTTPMethod: "GET", 4144 HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", 4145 } 4146 4147 if input == nil { 4148 input = &GetFieldLevelEncryptionProfileConfigInput{} 4149 } 4150 4151 output = &GetFieldLevelEncryptionProfileConfigOutput{} 4152 req = c.newRequest(op, input, output) 4153 return 4154} 4155 4156// GetFieldLevelEncryptionProfileConfig API operation for Amazon CloudFront. 4157// 4158// Get the field-level encryption profile configuration information. 4159// 4160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4161// with awserr.Error's Code and Message methods to get detailed information about 4162// the error. 4163// 4164// See the AWS API reference guide for Amazon CloudFront's 4165// API operation GetFieldLevelEncryptionProfileConfig for usage and error information. 4166// 4167// Returned Error Codes: 4168// * ErrCodeAccessDenied "AccessDenied" 4169// Access denied. 4170// 4171// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 4172// The specified profile for field-level encryption doesn't exist. 4173// 4174// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFieldLevelEncryptionProfileConfig 4175func (c *CloudFront) GetFieldLevelEncryptionProfileConfig(input *GetFieldLevelEncryptionProfileConfigInput) (*GetFieldLevelEncryptionProfileConfigOutput, error) { 4176 req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) 4177 return out, req.Send() 4178} 4179 4180// GetFieldLevelEncryptionProfileConfigWithContext is the same as GetFieldLevelEncryptionProfileConfig with the addition of 4181// the ability to pass a context and additional request options. 4182// 4183// See GetFieldLevelEncryptionProfileConfig for details on how to use this API operation. 4184// 4185// The context must be non-nil and will be used for request cancellation. If 4186// the context is nil a panic will occur. In the future the SDK may create 4187// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4188// for more information on using Contexts. 4189func (c *CloudFront) GetFieldLevelEncryptionProfileConfigWithContext(ctx aws.Context, input *GetFieldLevelEncryptionProfileConfigInput, opts ...request.Option) (*GetFieldLevelEncryptionProfileConfigOutput, error) { 4190 req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) 4191 req.SetContext(ctx) 4192 req.ApplyOptions(opts...) 4193 return out, req.Send() 4194} 4195 4196const opGetFunction = "GetFunction2020_05_31" 4197 4198// GetFunctionRequest generates a "aws/request.Request" representing the 4199// client's request for the GetFunction operation. The "output" return 4200// value will be populated with the request's response once the request completes 4201// successfully. 4202// 4203// Use "Send" method on the returned Request to send the API call to the service. 4204// the "output" return value is not valid until after Send returns without error. 4205// 4206// See GetFunction for more information on using the GetFunction 4207// API call, and error handling. 4208// 4209// This method is useful when you want to inject custom logic or configuration 4210// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4211// 4212// 4213// // Example sending a request using the GetFunctionRequest method. 4214// req, resp := client.GetFunctionRequest(params) 4215// 4216// err := req.Send() 4217// if err == nil { // resp is now filled 4218// fmt.Println(resp) 4219// } 4220// 4221// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunction 4222func (c *CloudFront) GetFunctionRequest(input *GetFunctionInput) (req *request.Request, output *GetFunctionOutput) { 4223 op := &request.Operation{ 4224 Name: opGetFunction, 4225 HTTPMethod: "GET", 4226 HTTPPath: "/2020-05-31/function/{Name}", 4227 } 4228 4229 if input == nil { 4230 input = &GetFunctionInput{} 4231 } 4232 4233 output = &GetFunctionOutput{} 4234 req = c.newRequest(op, input, output) 4235 return 4236} 4237 4238// GetFunction API operation for Amazon CloudFront. 4239// 4240// Gets the code of a CloudFront function. To get configuration information 4241// and metadata about a function, use DescribeFunction. 4242// 4243// To get a function’s code, you must provide the function’s name and stage. 4244// To get these values, you can use ListFunctions. 4245// 4246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4247// with awserr.Error's Code and Message methods to get detailed information about 4248// the error. 4249// 4250// See the AWS API reference guide for Amazon CloudFront's 4251// API operation GetFunction for usage and error information. 4252// 4253// Returned Error Codes: 4254// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 4255// The function does not exist. 4256// 4257// * ErrCodeUnsupportedOperation "UnsupportedOperation" 4258// This operation is not supported in this region. 4259// 4260// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetFunction 4261func (c *CloudFront) GetFunction(input *GetFunctionInput) (*GetFunctionOutput, error) { 4262 req, out := c.GetFunctionRequest(input) 4263 return out, req.Send() 4264} 4265 4266// GetFunctionWithContext is the same as GetFunction with the addition of 4267// the ability to pass a context and additional request options. 4268// 4269// See GetFunction for details on how to use this API operation. 4270// 4271// The context must be non-nil and will be used for request cancellation. If 4272// the context is nil a panic will occur. In the future the SDK may create 4273// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4274// for more information on using Contexts. 4275func (c *CloudFront) GetFunctionWithContext(ctx aws.Context, input *GetFunctionInput, opts ...request.Option) (*GetFunctionOutput, error) { 4276 req, out := c.GetFunctionRequest(input) 4277 req.SetContext(ctx) 4278 req.ApplyOptions(opts...) 4279 return out, req.Send() 4280} 4281 4282const opGetInvalidation = "GetInvalidation2020_05_31" 4283 4284// GetInvalidationRequest generates a "aws/request.Request" representing the 4285// client's request for the GetInvalidation operation. The "output" return 4286// value will be populated with the request's response once the request completes 4287// successfully. 4288// 4289// Use "Send" method on the returned Request to send the API call to the service. 4290// the "output" return value is not valid until after Send returns without error. 4291// 4292// See GetInvalidation for more information on using the GetInvalidation 4293// API call, and error handling. 4294// 4295// This method is useful when you want to inject custom logic or configuration 4296// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4297// 4298// 4299// // Example sending a request using the GetInvalidationRequest method. 4300// req, resp := client.GetInvalidationRequest(params) 4301// 4302// err := req.Send() 4303// if err == nil { // resp is now filled 4304// fmt.Println(resp) 4305// } 4306// 4307// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation 4308func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { 4309 op := &request.Operation{ 4310 Name: opGetInvalidation, 4311 HTTPMethod: "GET", 4312 HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation/{Id}", 4313 } 4314 4315 if input == nil { 4316 input = &GetInvalidationInput{} 4317 } 4318 4319 output = &GetInvalidationOutput{} 4320 req = c.newRequest(op, input, output) 4321 return 4322} 4323 4324// GetInvalidation API operation for Amazon CloudFront. 4325// 4326// Get the information about an invalidation. 4327// 4328// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4329// with awserr.Error's Code and Message methods to get detailed information about 4330// the error. 4331// 4332// See the AWS API reference guide for Amazon CloudFront's 4333// API operation GetInvalidation for usage and error information. 4334// 4335// Returned Error Codes: 4336// * ErrCodeNoSuchInvalidation "NoSuchInvalidation" 4337// The specified invalidation does not exist. 4338// 4339// * ErrCodeNoSuchDistribution "NoSuchDistribution" 4340// The specified distribution does not exist. 4341// 4342// * ErrCodeAccessDenied "AccessDenied" 4343// Access denied. 4344// 4345// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetInvalidation 4346func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { 4347 req, out := c.GetInvalidationRequest(input) 4348 return out, req.Send() 4349} 4350 4351// GetInvalidationWithContext is the same as GetInvalidation with the addition of 4352// the ability to pass a context and additional request options. 4353// 4354// See GetInvalidation for details on how to use this API operation. 4355// 4356// The context must be non-nil and will be used for request cancellation. If 4357// the context is nil a panic will occur. In the future the SDK may create 4358// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4359// for more information on using Contexts. 4360func (c *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInvalidationInput, opts ...request.Option) (*GetInvalidationOutput, error) { 4361 req, out := c.GetInvalidationRequest(input) 4362 req.SetContext(ctx) 4363 req.ApplyOptions(opts...) 4364 return out, req.Send() 4365} 4366 4367const opGetKeyGroup = "GetKeyGroup2020_05_31" 4368 4369// GetKeyGroupRequest generates a "aws/request.Request" representing the 4370// client's request for the GetKeyGroup operation. The "output" return 4371// value will be populated with the request's response once the request completes 4372// successfully. 4373// 4374// Use "Send" method on the returned Request to send the API call to the service. 4375// the "output" return value is not valid until after Send returns without error. 4376// 4377// See GetKeyGroup for more information on using the GetKeyGroup 4378// API call, and error handling. 4379// 4380// This method is useful when you want to inject custom logic or configuration 4381// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4382// 4383// 4384// // Example sending a request using the GetKeyGroupRequest method. 4385// req, resp := client.GetKeyGroupRequest(params) 4386// 4387// err := req.Send() 4388// if err == nil { // resp is now filled 4389// fmt.Println(resp) 4390// } 4391// 4392// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup 4393func (c *CloudFront) GetKeyGroupRequest(input *GetKeyGroupInput) (req *request.Request, output *GetKeyGroupOutput) { 4394 op := &request.Operation{ 4395 Name: opGetKeyGroup, 4396 HTTPMethod: "GET", 4397 HTTPPath: "/2020-05-31/key-group/{Id}", 4398 } 4399 4400 if input == nil { 4401 input = &GetKeyGroupInput{} 4402 } 4403 4404 output = &GetKeyGroupOutput{} 4405 req = c.newRequest(op, input, output) 4406 return 4407} 4408 4409// GetKeyGroup API operation for Amazon CloudFront. 4410// 4411// Gets a key group, including the date and time when the key group was last 4412// modified. 4413// 4414// To get a key group, you must provide the key group’s identifier. If the 4415// key group is referenced in a distribution’s cache behavior, you can get 4416// the key group’s identifier using ListDistributions or GetDistribution. 4417// If the key group is not referenced in a cache behavior, you can get the identifier 4418// using ListKeyGroups. 4419// 4420// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4421// with awserr.Error's Code and Message methods to get detailed information about 4422// the error. 4423// 4424// See the AWS API reference guide for Amazon CloudFront's 4425// API operation GetKeyGroup for usage and error information. 4426// 4427// Returned Error Codes: 4428// * ErrCodeNoSuchResource "NoSuchResource" 4429// A resource that was specified is not valid. 4430// 4431// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroup 4432func (c *CloudFront) GetKeyGroup(input *GetKeyGroupInput) (*GetKeyGroupOutput, error) { 4433 req, out := c.GetKeyGroupRequest(input) 4434 return out, req.Send() 4435} 4436 4437// GetKeyGroupWithContext is the same as GetKeyGroup with the addition of 4438// the ability to pass a context and additional request options. 4439// 4440// See GetKeyGroup for details on how to use this API operation. 4441// 4442// The context must be non-nil and will be used for request cancellation. If 4443// the context is nil a panic will occur. In the future the SDK may create 4444// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4445// for more information on using Contexts. 4446func (c *CloudFront) GetKeyGroupWithContext(ctx aws.Context, input *GetKeyGroupInput, opts ...request.Option) (*GetKeyGroupOutput, error) { 4447 req, out := c.GetKeyGroupRequest(input) 4448 req.SetContext(ctx) 4449 req.ApplyOptions(opts...) 4450 return out, req.Send() 4451} 4452 4453const opGetKeyGroupConfig = "GetKeyGroupConfig2020_05_31" 4454 4455// GetKeyGroupConfigRequest generates a "aws/request.Request" representing the 4456// client's request for the GetKeyGroupConfig operation. The "output" return 4457// value will be populated with the request's response once the request completes 4458// successfully. 4459// 4460// Use "Send" method on the returned Request to send the API call to the service. 4461// the "output" return value is not valid until after Send returns without error. 4462// 4463// See GetKeyGroupConfig for more information on using the GetKeyGroupConfig 4464// API call, and error handling. 4465// 4466// This method is useful when you want to inject custom logic or configuration 4467// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4468// 4469// 4470// // Example sending a request using the GetKeyGroupConfigRequest method. 4471// req, resp := client.GetKeyGroupConfigRequest(params) 4472// 4473// err := req.Send() 4474// if err == nil { // resp is now filled 4475// fmt.Println(resp) 4476// } 4477// 4478// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroupConfig 4479func (c *CloudFront) GetKeyGroupConfigRequest(input *GetKeyGroupConfigInput) (req *request.Request, output *GetKeyGroupConfigOutput) { 4480 op := &request.Operation{ 4481 Name: opGetKeyGroupConfig, 4482 HTTPMethod: "GET", 4483 HTTPPath: "/2020-05-31/key-group/{Id}/config", 4484 } 4485 4486 if input == nil { 4487 input = &GetKeyGroupConfigInput{} 4488 } 4489 4490 output = &GetKeyGroupConfigOutput{} 4491 req = c.newRequest(op, input, output) 4492 return 4493} 4494 4495// GetKeyGroupConfig API operation for Amazon CloudFront. 4496// 4497// Gets a key group configuration. 4498// 4499// To get a key group configuration, you must provide the key group’s identifier. 4500// If the key group is referenced in a distribution’s cache behavior, you 4501// can get the key group’s identifier using ListDistributions or GetDistribution. 4502// If the key group is not referenced in a cache behavior, you can get the identifier 4503// using ListKeyGroups. 4504// 4505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4506// with awserr.Error's Code and Message methods to get detailed information about 4507// the error. 4508// 4509// See the AWS API reference guide for Amazon CloudFront's 4510// API operation GetKeyGroupConfig for usage and error information. 4511// 4512// Returned Error Codes: 4513// * ErrCodeNoSuchResource "NoSuchResource" 4514// A resource that was specified is not valid. 4515// 4516// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetKeyGroupConfig 4517func (c *CloudFront) GetKeyGroupConfig(input *GetKeyGroupConfigInput) (*GetKeyGroupConfigOutput, error) { 4518 req, out := c.GetKeyGroupConfigRequest(input) 4519 return out, req.Send() 4520} 4521 4522// GetKeyGroupConfigWithContext is the same as GetKeyGroupConfig with the addition of 4523// the ability to pass a context and additional request options. 4524// 4525// See GetKeyGroupConfig for details on how to use this API operation. 4526// 4527// The context must be non-nil and will be used for request cancellation. If 4528// the context is nil a panic will occur. In the future the SDK may create 4529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4530// for more information on using Contexts. 4531func (c *CloudFront) GetKeyGroupConfigWithContext(ctx aws.Context, input *GetKeyGroupConfigInput, opts ...request.Option) (*GetKeyGroupConfigOutput, error) { 4532 req, out := c.GetKeyGroupConfigRequest(input) 4533 req.SetContext(ctx) 4534 req.ApplyOptions(opts...) 4535 return out, req.Send() 4536} 4537 4538const opGetMonitoringSubscription = "GetMonitoringSubscription2020_05_31" 4539 4540// GetMonitoringSubscriptionRequest generates a "aws/request.Request" representing the 4541// client's request for the GetMonitoringSubscription operation. The "output" return 4542// value will be populated with the request's response once the request completes 4543// successfully. 4544// 4545// Use "Send" method on the returned Request to send the API call to the service. 4546// the "output" return value is not valid until after Send returns without error. 4547// 4548// See GetMonitoringSubscription for more information on using the GetMonitoringSubscription 4549// API call, and error handling. 4550// 4551// This method is useful when you want to inject custom logic or configuration 4552// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4553// 4554// 4555// // Example sending a request using the GetMonitoringSubscriptionRequest method. 4556// req, resp := client.GetMonitoringSubscriptionRequest(params) 4557// 4558// err := req.Send() 4559// if err == nil { // resp is now filled 4560// fmt.Println(resp) 4561// } 4562// 4563// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription 4564func (c *CloudFront) GetMonitoringSubscriptionRequest(input *GetMonitoringSubscriptionInput) (req *request.Request, output *GetMonitoringSubscriptionOutput) { 4565 op := &request.Operation{ 4566 Name: opGetMonitoringSubscription, 4567 HTTPMethod: "GET", 4568 HTTPPath: "/2020-05-31/distributions/{DistributionId}/monitoring-subscription", 4569 } 4570 4571 if input == nil { 4572 input = &GetMonitoringSubscriptionInput{} 4573 } 4574 4575 output = &GetMonitoringSubscriptionOutput{} 4576 req = c.newRequest(op, input, output) 4577 return 4578} 4579 4580// GetMonitoringSubscription API operation for Amazon CloudFront. 4581// 4582// Gets information about whether additional CloudWatch metrics are enabled 4583// for the specified CloudFront distribution. 4584// 4585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4586// with awserr.Error's Code and Message methods to get detailed information about 4587// the error. 4588// 4589// See the AWS API reference guide for Amazon CloudFront's 4590// API operation GetMonitoringSubscription for usage and error information. 4591// 4592// Returned Error Codes: 4593// * ErrCodeAccessDenied "AccessDenied" 4594// Access denied. 4595// 4596// * ErrCodeNoSuchDistribution "NoSuchDistribution" 4597// The specified distribution does not exist. 4598// 4599// * ErrCodeUnsupportedOperation "UnsupportedOperation" 4600// This operation is not supported in this region. 4601// 4602// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetMonitoringSubscription 4603func (c *CloudFront) GetMonitoringSubscription(input *GetMonitoringSubscriptionInput) (*GetMonitoringSubscriptionOutput, error) { 4604 req, out := c.GetMonitoringSubscriptionRequest(input) 4605 return out, req.Send() 4606} 4607 4608// GetMonitoringSubscriptionWithContext is the same as GetMonitoringSubscription with the addition of 4609// the ability to pass a context and additional request options. 4610// 4611// See GetMonitoringSubscription for details on how to use this API operation. 4612// 4613// The context must be non-nil and will be used for request cancellation. If 4614// the context is nil a panic will occur. In the future the SDK may create 4615// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4616// for more information on using Contexts. 4617func (c *CloudFront) GetMonitoringSubscriptionWithContext(ctx aws.Context, input *GetMonitoringSubscriptionInput, opts ...request.Option) (*GetMonitoringSubscriptionOutput, error) { 4618 req, out := c.GetMonitoringSubscriptionRequest(input) 4619 req.SetContext(ctx) 4620 req.ApplyOptions(opts...) 4621 return out, req.Send() 4622} 4623 4624const opGetOriginRequestPolicy = "GetOriginRequestPolicy2020_05_31" 4625 4626// GetOriginRequestPolicyRequest generates a "aws/request.Request" representing the 4627// client's request for the GetOriginRequestPolicy operation. The "output" return 4628// value will be populated with the request's response once the request completes 4629// successfully. 4630// 4631// Use "Send" method on the returned Request to send the API call to the service. 4632// the "output" return value is not valid until after Send returns without error. 4633// 4634// See GetOriginRequestPolicy for more information on using the GetOriginRequestPolicy 4635// API call, and error handling. 4636// 4637// This method is useful when you want to inject custom logic or configuration 4638// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4639// 4640// 4641// // Example sending a request using the GetOriginRequestPolicyRequest method. 4642// req, resp := client.GetOriginRequestPolicyRequest(params) 4643// 4644// err := req.Send() 4645// if err == nil { // resp is now filled 4646// fmt.Println(resp) 4647// } 4648// 4649// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy 4650func (c *CloudFront) GetOriginRequestPolicyRequest(input *GetOriginRequestPolicyInput) (req *request.Request, output *GetOriginRequestPolicyOutput) { 4651 op := &request.Operation{ 4652 Name: opGetOriginRequestPolicy, 4653 HTTPMethod: "GET", 4654 HTTPPath: "/2020-05-31/origin-request-policy/{Id}", 4655 } 4656 4657 if input == nil { 4658 input = &GetOriginRequestPolicyInput{} 4659 } 4660 4661 output = &GetOriginRequestPolicyOutput{} 4662 req = c.newRequest(op, input, output) 4663 return 4664} 4665 4666// GetOriginRequestPolicy API operation for Amazon CloudFront. 4667// 4668// Gets an origin request policy, including the following metadata: 4669// 4670// * The policy’s identifier. 4671// 4672// * The date and time when the policy was last modified. 4673// 4674// To get an origin request policy, you must provide the policy’s identifier. 4675// If the origin request policy is attached to a distribution’s cache behavior, 4676// you can get the policy’s identifier using ListDistributions or GetDistribution. 4677// If the origin request policy is not attached to a cache behavior, you can 4678// get the identifier using ListOriginRequestPolicies. 4679// 4680// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4681// with awserr.Error's Code and Message methods to get detailed information about 4682// the error. 4683// 4684// See the AWS API reference guide for Amazon CloudFront's 4685// API operation GetOriginRequestPolicy for usage and error information. 4686// 4687// Returned Error Codes: 4688// * ErrCodeAccessDenied "AccessDenied" 4689// Access denied. 4690// 4691// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 4692// The origin request policy does not exist. 4693// 4694// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicy 4695func (c *CloudFront) GetOriginRequestPolicy(input *GetOriginRequestPolicyInput) (*GetOriginRequestPolicyOutput, error) { 4696 req, out := c.GetOriginRequestPolicyRequest(input) 4697 return out, req.Send() 4698} 4699 4700// GetOriginRequestPolicyWithContext is the same as GetOriginRequestPolicy with the addition of 4701// the ability to pass a context and additional request options. 4702// 4703// See GetOriginRequestPolicy for details on how to use this API operation. 4704// 4705// The context must be non-nil and will be used for request cancellation. If 4706// the context is nil a panic will occur. In the future the SDK may create 4707// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4708// for more information on using Contexts. 4709func (c *CloudFront) GetOriginRequestPolicyWithContext(ctx aws.Context, input *GetOriginRequestPolicyInput, opts ...request.Option) (*GetOriginRequestPolicyOutput, error) { 4710 req, out := c.GetOriginRequestPolicyRequest(input) 4711 req.SetContext(ctx) 4712 req.ApplyOptions(opts...) 4713 return out, req.Send() 4714} 4715 4716const opGetOriginRequestPolicyConfig = "GetOriginRequestPolicyConfig2020_05_31" 4717 4718// GetOriginRequestPolicyConfigRequest generates a "aws/request.Request" representing the 4719// client's request for the GetOriginRequestPolicyConfig operation. The "output" return 4720// value will be populated with the request's response once the request completes 4721// successfully. 4722// 4723// Use "Send" method on the returned Request to send the API call to the service. 4724// the "output" return value is not valid until after Send returns without error. 4725// 4726// See GetOriginRequestPolicyConfig for more information on using the GetOriginRequestPolicyConfig 4727// API call, and error handling. 4728// 4729// This method is useful when you want to inject custom logic or configuration 4730// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4731// 4732// 4733// // Example sending a request using the GetOriginRequestPolicyConfigRequest method. 4734// req, resp := client.GetOriginRequestPolicyConfigRequest(params) 4735// 4736// err := req.Send() 4737// if err == nil { // resp is now filled 4738// fmt.Println(resp) 4739// } 4740// 4741// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig 4742func (c *CloudFront) GetOriginRequestPolicyConfigRequest(input *GetOriginRequestPolicyConfigInput) (req *request.Request, output *GetOriginRequestPolicyConfigOutput) { 4743 op := &request.Operation{ 4744 Name: opGetOriginRequestPolicyConfig, 4745 HTTPMethod: "GET", 4746 HTTPPath: "/2020-05-31/origin-request-policy/{Id}/config", 4747 } 4748 4749 if input == nil { 4750 input = &GetOriginRequestPolicyConfigInput{} 4751 } 4752 4753 output = &GetOriginRequestPolicyConfigOutput{} 4754 req = c.newRequest(op, input, output) 4755 return 4756} 4757 4758// GetOriginRequestPolicyConfig API operation for Amazon CloudFront. 4759// 4760// Gets an origin request policy configuration. 4761// 4762// To get an origin request policy configuration, you must provide the policy’s 4763// identifier. If the origin request policy is attached to a distribution’s 4764// cache behavior, you can get the policy’s identifier using ListDistributions 4765// or GetDistribution. If the origin request policy is not attached to a cache 4766// behavior, you can get the identifier using ListOriginRequestPolicies. 4767// 4768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4769// with awserr.Error's Code and Message methods to get detailed information about 4770// the error. 4771// 4772// See the AWS API reference guide for Amazon CloudFront's 4773// API operation GetOriginRequestPolicyConfig for usage and error information. 4774// 4775// Returned Error Codes: 4776// * ErrCodeAccessDenied "AccessDenied" 4777// Access denied. 4778// 4779// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 4780// The origin request policy does not exist. 4781// 4782// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginRequestPolicyConfig 4783func (c *CloudFront) GetOriginRequestPolicyConfig(input *GetOriginRequestPolicyConfigInput) (*GetOriginRequestPolicyConfigOutput, error) { 4784 req, out := c.GetOriginRequestPolicyConfigRequest(input) 4785 return out, req.Send() 4786} 4787 4788// GetOriginRequestPolicyConfigWithContext is the same as GetOriginRequestPolicyConfig with the addition of 4789// the ability to pass a context and additional request options. 4790// 4791// See GetOriginRequestPolicyConfig for details on how to use this API operation. 4792// 4793// The context must be non-nil and will be used for request cancellation. If 4794// the context is nil a panic will occur. In the future the SDK may create 4795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4796// for more information on using Contexts. 4797func (c *CloudFront) GetOriginRequestPolicyConfigWithContext(ctx aws.Context, input *GetOriginRequestPolicyConfigInput, opts ...request.Option) (*GetOriginRequestPolicyConfigOutput, error) { 4798 req, out := c.GetOriginRequestPolicyConfigRequest(input) 4799 req.SetContext(ctx) 4800 req.ApplyOptions(opts...) 4801 return out, req.Send() 4802} 4803 4804const opGetPublicKey = "GetPublicKey2020_05_31" 4805 4806// GetPublicKeyRequest generates a "aws/request.Request" representing the 4807// client's request for the GetPublicKey operation. The "output" return 4808// value will be populated with the request's response once the request completes 4809// successfully. 4810// 4811// Use "Send" method on the returned Request to send the API call to the service. 4812// the "output" return value is not valid until after Send returns without error. 4813// 4814// See GetPublicKey for more information on using the GetPublicKey 4815// API call, and error handling. 4816// 4817// This method is useful when you want to inject custom logic or configuration 4818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4819// 4820// 4821// // Example sending a request using the GetPublicKeyRequest method. 4822// req, resp := client.GetPublicKeyRequest(params) 4823// 4824// err := req.Send() 4825// if err == nil { // resp is now filled 4826// fmt.Println(resp) 4827// } 4828// 4829// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey 4830func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { 4831 op := &request.Operation{ 4832 Name: opGetPublicKey, 4833 HTTPMethod: "GET", 4834 HTTPPath: "/2020-05-31/public-key/{Id}", 4835 } 4836 4837 if input == nil { 4838 input = &GetPublicKeyInput{} 4839 } 4840 4841 output = &GetPublicKeyOutput{} 4842 req = c.newRequest(op, input, output) 4843 return 4844} 4845 4846// GetPublicKey API operation for Amazon CloudFront. 4847// 4848// Gets a public key. 4849// 4850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4851// with awserr.Error's Code and Message methods to get detailed information about 4852// the error. 4853// 4854// See the AWS API reference guide for Amazon CloudFront's 4855// API operation GetPublicKey for usage and error information. 4856// 4857// Returned Error Codes: 4858// * ErrCodeAccessDenied "AccessDenied" 4859// Access denied. 4860// 4861// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 4862// The specified public key doesn't exist. 4863// 4864// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKey 4865func (c *CloudFront) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { 4866 req, out := c.GetPublicKeyRequest(input) 4867 return out, req.Send() 4868} 4869 4870// GetPublicKeyWithContext is the same as GetPublicKey with the addition of 4871// the ability to pass a context and additional request options. 4872// 4873// See GetPublicKey for details on how to use this API operation. 4874// 4875// The context must be non-nil and will be used for request cancellation. If 4876// the context is nil a panic will occur. In the future the SDK may create 4877// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4878// for more information on using Contexts. 4879func (c *CloudFront) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { 4880 req, out := c.GetPublicKeyRequest(input) 4881 req.SetContext(ctx) 4882 req.ApplyOptions(opts...) 4883 return out, req.Send() 4884} 4885 4886const opGetPublicKeyConfig = "GetPublicKeyConfig2020_05_31" 4887 4888// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the 4889// client's request for the GetPublicKeyConfig operation. The "output" return 4890// value will be populated with the request's response once the request completes 4891// successfully. 4892// 4893// Use "Send" method on the returned Request to send the API call to the service. 4894// the "output" return value is not valid until after Send returns without error. 4895// 4896// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig 4897// API call, and error handling. 4898// 4899// This method is useful when you want to inject custom logic or configuration 4900// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4901// 4902// 4903// // Example sending a request using the GetPublicKeyConfigRequest method. 4904// req, resp := client.GetPublicKeyConfigRequest(params) 4905// 4906// err := req.Send() 4907// if err == nil { // resp is now filled 4908// fmt.Println(resp) 4909// } 4910// 4911// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig 4912func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { 4913 op := &request.Operation{ 4914 Name: opGetPublicKeyConfig, 4915 HTTPMethod: "GET", 4916 HTTPPath: "/2020-05-31/public-key/{Id}/config", 4917 } 4918 4919 if input == nil { 4920 input = &GetPublicKeyConfigInput{} 4921 } 4922 4923 output = &GetPublicKeyConfigOutput{} 4924 req = c.newRequest(op, input, output) 4925 return 4926} 4927 4928// GetPublicKeyConfig API operation for Amazon CloudFront. 4929// 4930// Gets a public key configuration. 4931// 4932// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4933// with awserr.Error's Code and Message methods to get detailed information about 4934// the error. 4935// 4936// See the AWS API reference guide for Amazon CloudFront's 4937// API operation GetPublicKeyConfig for usage and error information. 4938// 4939// Returned Error Codes: 4940// * ErrCodeAccessDenied "AccessDenied" 4941// Access denied. 4942// 4943// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 4944// The specified public key doesn't exist. 4945// 4946// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetPublicKeyConfig 4947func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { 4948 req, out := c.GetPublicKeyConfigRequest(input) 4949 return out, req.Send() 4950} 4951 4952// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of 4953// the ability to pass a context and additional request options. 4954// 4955// See GetPublicKeyConfig for details on how to use this API operation. 4956// 4957// The context must be non-nil and will be used for request cancellation. If 4958// the context is nil a panic will occur. In the future the SDK may create 4959// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4960// for more information on using Contexts. 4961func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { 4962 req, out := c.GetPublicKeyConfigRequest(input) 4963 req.SetContext(ctx) 4964 req.ApplyOptions(opts...) 4965 return out, req.Send() 4966} 4967 4968const opGetRealtimeLogConfig = "GetRealtimeLogConfig2020_05_31" 4969 4970// GetRealtimeLogConfigRequest generates a "aws/request.Request" representing the 4971// client's request for the GetRealtimeLogConfig operation. The "output" return 4972// value will be populated with the request's response once the request completes 4973// successfully. 4974// 4975// Use "Send" method on the returned Request to send the API call to the service. 4976// the "output" return value is not valid until after Send returns without error. 4977// 4978// See GetRealtimeLogConfig for more information on using the GetRealtimeLogConfig 4979// API call, and error handling. 4980// 4981// This method is useful when you want to inject custom logic or configuration 4982// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4983// 4984// 4985// // Example sending a request using the GetRealtimeLogConfigRequest method. 4986// req, resp := client.GetRealtimeLogConfigRequest(params) 4987// 4988// err := req.Send() 4989// if err == nil { // resp is now filled 4990// fmt.Println(resp) 4991// } 4992// 4993// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfig 4994func (c *CloudFront) GetRealtimeLogConfigRequest(input *GetRealtimeLogConfigInput) (req *request.Request, output *GetRealtimeLogConfigOutput) { 4995 op := &request.Operation{ 4996 Name: opGetRealtimeLogConfig, 4997 HTTPMethod: "POST", 4998 HTTPPath: "/2020-05-31/get-realtime-log-config/", 4999 } 5000 5001 if input == nil { 5002 input = &GetRealtimeLogConfigInput{} 5003 } 5004 5005 output = &GetRealtimeLogConfigOutput{} 5006 req = c.newRequest(op, input, output) 5007 return 5008} 5009 5010// GetRealtimeLogConfig API operation for Amazon CloudFront. 5011// 5012// Gets a real-time log configuration. 5013// 5014// To get a real-time log configuration, you can provide the configuration’s 5015// name or its Amazon Resource Name (ARN). You must provide at least one. If 5016// you provide both, CloudFront uses the name to identify the real-time log 5017// configuration to get. 5018// 5019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5020// with awserr.Error's Code and Message methods to get detailed information about 5021// the error. 5022// 5023// See the AWS API reference guide for Amazon CloudFront's 5024// API operation GetRealtimeLogConfig for usage and error information. 5025// 5026// Returned Error Codes: 5027// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 5028// The real-time log configuration does not exist. 5029// 5030// * ErrCodeInvalidArgument "InvalidArgument" 5031// An argument is invalid. 5032// 5033// * ErrCodeAccessDenied "AccessDenied" 5034// Access denied. 5035// 5036// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetRealtimeLogConfig 5037func (c *CloudFront) GetRealtimeLogConfig(input *GetRealtimeLogConfigInput) (*GetRealtimeLogConfigOutput, error) { 5038 req, out := c.GetRealtimeLogConfigRequest(input) 5039 return out, req.Send() 5040} 5041 5042// GetRealtimeLogConfigWithContext is the same as GetRealtimeLogConfig with the addition of 5043// the ability to pass a context and additional request options. 5044// 5045// See GetRealtimeLogConfig for details on how to use this API operation. 5046// 5047// The context must be non-nil and will be used for request cancellation. If 5048// the context is nil a panic will occur. In the future the SDK may create 5049// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5050// for more information on using Contexts. 5051func (c *CloudFront) GetRealtimeLogConfigWithContext(ctx aws.Context, input *GetRealtimeLogConfigInput, opts ...request.Option) (*GetRealtimeLogConfigOutput, error) { 5052 req, out := c.GetRealtimeLogConfigRequest(input) 5053 req.SetContext(ctx) 5054 req.ApplyOptions(opts...) 5055 return out, req.Send() 5056} 5057 5058const opGetStreamingDistribution = "GetStreamingDistribution2020_05_31" 5059 5060// GetStreamingDistributionRequest generates a "aws/request.Request" representing the 5061// client's request for the GetStreamingDistribution operation. The "output" return 5062// value will be populated with the request's response once the request completes 5063// successfully. 5064// 5065// Use "Send" method on the returned Request to send the API call to the service. 5066// the "output" return value is not valid until after Send returns without error. 5067// 5068// See GetStreamingDistribution for more information on using the GetStreamingDistribution 5069// API call, and error handling. 5070// 5071// This method is useful when you want to inject custom logic or configuration 5072// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5073// 5074// 5075// // Example sending a request using the GetStreamingDistributionRequest method. 5076// req, resp := client.GetStreamingDistributionRequest(params) 5077// 5078// err := req.Send() 5079// if err == nil { // resp is now filled 5080// fmt.Println(resp) 5081// } 5082// 5083// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution 5084func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) { 5085 op := &request.Operation{ 5086 Name: opGetStreamingDistribution, 5087 HTTPMethod: "GET", 5088 HTTPPath: "/2020-05-31/streaming-distribution/{Id}", 5089 } 5090 5091 if input == nil { 5092 input = &GetStreamingDistributionInput{} 5093 } 5094 5095 output = &GetStreamingDistributionOutput{} 5096 req = c.newRequest(op, input, output) 5097 return 5098} 5099 5100// GetStreamingDistribution API operation for Amazon CloudFront. 5101// 5102// Gets information about a specified RTMP distribution, including the distribution 5103// configuration. 5104// 5105// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5106// with awserr.Error's Code and Message methods to get detailed information about 5107// the error. 5108// 5109// See the AWS API reference guide for Amazon CloudFront's 5110// API operation GetStreamingDistribution for usage and error information. 5111// 5112// Returned Error Codes: 5113// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 5114// The specified streaming distribution does not exist. 5115// 5116// * ErrCodeAccessDenied "AccessDenied" 5117// Access denied. 5118// 5119// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistribution 5120func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) { 5121 req, out := c.GetStreamingDistributionRequest(input) 5122 return out, req.Send() 5123} 5124 5125// GetStreamingDistributionWithContext is the same as GetStreamingDistribution with the addition of 5126// the ability to pass a context and additional request options. 5127// 5128// See GetStreamingDistribution for details on how to use this API operation. 5129// 5130// The context must be non-nil and will be used for request cancellation. If 5131// the context is nil a panic will occur. In the future the SDK may create 5132// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5133// for more information on using Contexts. 5134func (c *CloudFront) GetStreamingDistributionWithContext(ctx aws.Context, input *GetStreamingDistributionInput, opts ...request.Option) (*GetStreamingDistributionOutput, error) { 5135 req, out := c.GetStreamingDistributionRequest(input) 5136 req.SetContext(ctx) 5137 req.ApplyOptions(opts...) 5138 return out, req.Send() 5139} 5140 5141const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2020_05_31" 5142 5143// GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the 5144// client's request for the GetStreamingDistributionConfig operation. The "output" return 5145// value will be populated with the request's response once the request completes 5146// successfully. 5147// 5148// Use "Send" method on the returned Request to send the API call to the service. 5149// the "output" return value is not valid until after Send returns without error. 5150// 5151// See GetStreamingDistributionConfig for more information on using the GetStreamingDistributionConfig 5152// API call, and error handling. 5153// 5154// This method is useful when you want to inject custom logic or configuration 5155// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5156// 5157// 5158// // Example sending a request using the GetStreamingDistributionConfigRequest method. 5159// req, resp := client.GetStreamingDistributionConfigRequest(params) 5160// 5161// err := req.Send() 5162// if err == nil { // resp is now filled 5163// fmt.Println(resp) 5164// } 5165// 5166// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig 5167func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) { 5168 op := &request.Operation{ 5169 Name: opGetStreamingDistributionConfig, 5170 HTTPMethod: "GET", 5171 HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", 5172 } 5173 5174 if input == nil { 5175 input = &GetStreamingDistributionConfigInput{} 5176 } 5177 5178 output = &GetStreamingDistributionConfigOutput{} 5179 req = c.newRequest(op, input, output) 5180 return 5181} 5182 5183// GetStreamingDistributionConfig API operation for Amazon CloudFront. 5184// 5185// Get the configuration information about a streaming distribution. 5186// 5187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5188// with awserr.Error's Code and Message methods to get detailed information about 5189// the error. 5190// 5191// See the AWS API reference guide for Amazon CloudFront's 5192// API operation GetStreamingDistributionConfig for usage and error information. 5193// 5194// Returned Error Codes: 5195// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 5196// The specified streaming distribution does not exist. 5197// 5198// * ErrCodeAccessDenied "AccessDenied" 5199// Access denied. 5200// 5201// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetStreamingDistributionConfig 5202func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) { 5203 req, out := c.GetStreamingDistributionConfigRequest(input) 5204 return out, req.Send() 5205} 5206 5207// GetStreamingDistributionConfigWithContext is the same as GetStreamingDistributionConfig with the addition of 5208// the ability to pass a context and additional request options. 5209// 5210// See GetStreamingDistributionConfig for details on how to use this API operation. 5211// 5212// The context must be non-nil and will be used for request cancellation. If 5213// the context is nil a panic will occur. In the future the SDK may create 5214// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5215// for more information on using Contexts. 5216func (c *CloudFront) GetStreamingDistributionConfigWithContext(ctx aws.Context, input *GetStreamingDistributionConfigInput, opts ...request.Option) (*GetStreamingDistributionConfigOutput, error) { 5217 req, out := c.GetStreamingDistributionConfigRequest(input) 5218 req.SetContext(ctx) 5219 req.ApplyOptions(opts...) 5220 return out, req.Send() 5221} 5222 5223const opListCachePolicies = "ListCachePolicies2020_05_31" 5224 5225// ListCachePoliciesRequest generates a "aws/request.Request" representing the 5226// client's request for the ListCachePolicies operation. The "output" return 5227// value will be populated with the request's response once the request completes 5228// successfully. 5229// 5230// Use "Send" method on the returned Request to send the API call to the service. 5231// the "output" return value is not valid until after Send returns without error. 5232// 5233// See ListCachePolicies for more information on using the ListCachePolicies 5234// API call, and error handling. 5235// 5236// This method is useful when you want to inject custom logic or configuration 5237// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5238// 5239// 5240// // Example sending a request using the ListCachePoliciesRequest method. 5241// req, resp := client.ListCachePoliciesRequest(params) 5242// 5243// err := req.Send() 5244// if err == nil { // resp is now filled 5245// fmt.Println(resp) 5246// } 5247// 5248// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies 5249func (c *CloudFront) ListCachePoliciesRequest(input *ListCachePoliciesInput) (req *request.Request, output *ListCachePoliciesOutput) { 5250 op := &request.Operation{ 5251 Name: opListCachePolicies, 5252 HTTPMethod: "GET", 5253 HTTPPath: "/2020-05-31/cache-policy", 5254 } 5255 5256 if input == nil { 5257 input = &ListCachePoliciesInput{} 5258 } 5259 5260 output = &ListCachePoliciesOutput{} 5261 req = c.newRequest(op, input, output) 5262 return 5263} 5264 5265// ListCachePolicies API operation for Amazon CloudFront. 5266// 5267// Gets a list of cache policies. 5268// 5269// You can optionally apply a filter to return only the managed policies created 5270// by Amazon Web Services, or only the custom policies created in your account. 5271// 5272// You can optionally specify the maximum number of items to receive in the 5273// response. If the total number of items in the list exceeds the maximum that 5274// you specify, or the default maximum, the response is paginated. To get the 5275// next page of items, send a subsequent request that specifies the NextMarker 5276// value from the current response as the Marker value in the subsequent request. 5277// 5278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5279// with awserr.Error's Code and Message methods to get detailed information about 5280// the error. 5281// 5282// See the AWS API reference guide for Amazon CloudFront's 5283// API operation ListCachePolicies for usage and error information. 5284// 5285// Returned Error Codes: 5286// * ErrCodeAccessDenied "AccessDenied" 5287// Access denied. 5288// 5289// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 5290// The cache policy does not exist. 5291// 5292// * ErrCodeInvalidArgument "InvalidArgument" 5293// An argument is invalid. 5294// 5295// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCachePolicies 5296func (c *CloudFront) ListCachePolicies(input *ListCachePoliciesInput) (*ListCachePoliciesOutput, error) { 5297 req, out := c.ListCachePoliciesRequest(input) 5298 return out, req.Send() 5299} 5300 5301// ListCachePoliciesWithContext is the same as ListCachePolicies with the addition of 5302// the ability to pass a context and additional request options. 5303// 5304// See ListCachePolicies for details on how to use this API operation. 5305// 5306// The context must be non-nil and will be used for request cancellation. If 5307// the context is nil a panic will occur. In the future the SDK may create 5308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5309// for more information on using Contexts. 5310func (c *CloudFront) ListCachePoliciesWithContext(ctx aws.Context, input *ListCachePoliciesInput, opts ...request.Option) (*ListCachePoliciesOutput, error) { 5311 req, out := c.ListCachePoliciesRequest(input) 5312 req.SetContext(ctx) 5313 req.ApplyOptions(opts...) 5314 return out, req.Send() 5315} 5316 5317const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2020_05_31" 5318 5319// ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the 5320// client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return 5321// value will be populated with the request's response once the request completes 5322// successfully. 5323// 5324// Use "Send" method on the returned Request to send the API call to the service. 5325// the "output" return value is not valid until after Send returns without error. 5326// 5327// See ListCloudFrontOriginAccessIdentities for more information on using the ListCloudFrontOriginAccessIdentities 5328// API call, and error handling. 5329// 5330// This method is useful when you want to inject custom logic or configuration 5331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5332// 5333// 5334// // Example sending a request using the ListCloudFrontOriginAccessIdentitiesRequest method. 5335// req, resp := client.ListCloudFrontOriginAccessIdentitiesRequest(params) 5336// 5337// err := req.Send() 5338// if err == nil { // resp is now filled 5339// fmt.Println(resp) 5340// } 5341// 5342// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities 5343func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) { 5344 op := &request.Operation{ 5345 Name: opListCloudFrontOriginAccessIdentities, 5346 HTTPMethod: "GET", 5347 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront", 5348 Paginator: &request.Paginator{ 5349 InputTokens: []string{"Marker"}, 5350 OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"}, 5351 LimitToken: "MaxItems", 5352 TruncationToken: "CloudFrontOriginAccessIdentityList.IsTruncated", 5353 }, 5354 } 5355 5356 if input == nil { 5357 input = &ListCloudFrontOriginAccessIdentitiesInput{} 5358 } 5359 5360 output = &ListCloudFrontOriginAccessIdentitiesOutput{} 5361 req = c.newRequest(op, input, output) 5362 return 5363} 5364 5365// ListCloudFrontOriginAccessIdentities API operation for Amazon CloudFront. 5366// 5367// Lists origin access identities. 5368// 5369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5370// with awserr.Error's Code and Message methods to get detailed information about 5371// the error. 5372// 5373// See the AWS API reference guide for Amazon CloudFront's 5374// API operation ListCloudFrontOriginAccessIdentities for usage and error information. 5375// 5376// Returned Error Codes: 5377// * ErrCodeInvalidArgument "InvalidArgument" 5378// An argument is invalid. 5379// 5380// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListCloudFrontOriginAccessIdentities 5381func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { 5382 req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) 5383 return out, req.Send() 5384} 5385 5386// ListCloudFrontOriginAccessIdentitiesWithContext is the same as ListCloudFrontOriginAccessIdentities with the addition of 5387// the ability to pass a context and additional request options. 5388// 5389// See ListCloudFrontOriginAccessIdentities for details on how to use this API operation. 5390// 5391// The context must be non-nil and will be used for request cancellation. If 5392// the context is nil a panic will occur. In the future the SDK may create 5393// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5394// for more information on using Contexts. 5395func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesWithContext(ctx aws.Context, input *ListCloudFrontOriginAccessIdentitiesInput, opts ...request.Option) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { 5396 req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) 5397 req.SetContext(ctx) 5398 req.ApplyOptions(opts...) 5399 return out, req.Send() 5400} 5401 5402// ListCloudFrontOriginAccessIdentitiesPages iterates over the pages of a ListCloudFrontOriginAccessIdentities operation, 5403// calling the "fn" function with the response data for each page. To stop 5404// iterating, return false from the fn function. 5405// 5406// See ListCloudFrontOriginAccessIdentities method for more information on how to use this operation. 5407// 5408// Note: This operation can generate multiple requests to a service. 5409// 5410// // Example iterating over at most 3 pages of a ListCloudFrontOriginAccessIdentities operation. 5411// pageNum := 0 5412// err := client.ListCloudFrontOriginAccessIdentitiesPages(params, 5413// func(page *cloudfront.ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) bool { 5414// pageNum++ 5415// fmt.Println(page) 5416// return pageNum <= 3 5417// }) 5418// 5419func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPages(input *ListCloudFrontOriginAccessIdentitiesInput, fn func(*ListCloudFrontOriginAccessIdentitiesOutput, bool) bool) error { 5420 return c.ListCloudFrontOriginAccessIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn) 5421} 5422 5423// ListCloudFrontOriginAccessIdentitiesPagesWithContext same as ListCloudFrontOriginAccessIdentitiesPages except 5424// it takes a Context and allows setting request options on the pages. 5425// 5426// The context must be non-nil and will be used for request cancellation. If 5427// the context is nil a panic will occur. In the future the SDK may create 5428// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5429// for more information on using Contexts. 5430func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPagesWithContext(ctx aws.Context, input *ListCloudFrontOriginAccessIdentitiesInput, fn func(*ListCloudFrontOriginAccessIdentitiesOutput, bool) bool, opts ...request.Option) error { 5431 p := request.Pagination{ 5432 NewRequest: func() (*request.Request, error) { 5433 var inCpy *ListCloudFrontOriginAccessIdentitiesInput 5434 if input != nil { 5435 tmp := *input 5436 inCpy = &tmp 5437 } 5438 req, _ := c.ListCloudFrontOriginAccessIdentitiesRequest(inCpy) 5439 req.SetContext(ctx) 5440 req.ApplyOptions(opts...) 5441 return req, nil 5442 }, 5443 } 5444 5445 for p.Next() { 5446 if !fn(p.Page().(*ListCloudFrontOriginAccessIdentitiesOutput), !p.HasNextPage()) { 5447 break 5448 } 5449 } 5450 5451 return p.Err() 5452} 5453 5454const opListConflictingAliases = "ListConflictingAliases2020_05_31" 5455 5456// ListConflictingAliasesRequest generates a "aws/request.Request" representing the 5457// client's request for the ListConflictingAliases operation. The "output" return 5458// value will be populated with the request's response once the request completes 5459// successfully. 5460// 5461// Use "Send" method on the returned Request to send the API call to the service. 5462// the "output" return value is not valid until after Send returns without error. 5463// 5464// See ListConflictingAliases for more information on using the ListConflictingAliases 5465// API call, and error handling. 5466// 5467// This method is useful when you want to inject custom logic or configuration 5468// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5469// 5470// 5471// // Example sending a request using the ListConflictingAliasesRequest method. 5472// req, resp := client.ListConflictingAliasesRequest(params) 5473// 5474// err := req.Send() 5475// if err == nil { // resp is now filled 5476// fmt.Println(resp) 5477// } 5478// 5479// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListConflictingAliases 5480func (c *CloudFront) ListConflictingAliasesRequest(input *ListConflictingAliasesInput) (req *request.Request, output *ListConflictingAliasesOutput) { 5481 op := &request.Operation{ 5482 Name: opListConflictingAliases, 5483 HTTPMethod: "GET", 5484 HTTPPath: "/2020-05-31/conflicting-alias", 5485 } 5486 5487 if input == nil { 5488 input = &ListConflictingAliasesInput{} 5489 } 5490 5491 output = &ListConflictingAliasesOutput{} 5492 req = c.newRequest(op, input, output) 5493 return 5494} 5495 5496// ListConflictingAliases API operation for Amazon CloudFront. 5497// 5498// Gets a list of aliases (also called CNAMEs or alternate domain names) that 5499// conflict or overlap with the provided alias, and the associated CloudFront 5500// distributions and Amazon Web Services accounts for each conflicting alias. 5501// In the returned list, the distribution and account IDs are partially hidden, 5502// which allows you to identify the distributions and accounts that you own, 5503// but helps to protect the information of ones that you don’t own. 5504// 5505// Use this operation to find aliases that are in use in CloudFront that conflict 5506// or overlap with the provided alias. For example, if you provide www.example.com 5507// as input, the returned list can include www.example.com and the overlapping 5508// wildcard alternate domain name (*.example.com), if they exist. If you provide 5509// *.example.com as input, the returned list can include *.example.com and any 5510// alternate domain names covered by that wildcard (for example, www.example.com, 5511// test.example.com, dev.example.com, and so on), if they exist. 5512// 5513// To list conflicting aliases, you provide the alias to search and the ID of 5514// a distribution in your account that has an attached SSL/TLS certificate that 5515// includes the provided alias. For more information, including how to set up 5516// the distribution and certificate, see Moving an alternate domain name to 5517// a different distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-move) 5518// in the Amazon CloudFront Developer Guide. 5519// 5520// You can optionally specify the maximum number of items to receive in the 5521// response. If the total number of items in the list exceeds the maximum that 5522// you specify, or the default maximum, the response is paginated. To get the 5523// next page of items, send a subsequent request that specifies the NextMarker 5524// value from the current response as the Marker value in the subsequent request. 5525// 5526// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5527// with awserr.Error's Code and Message methods to get detailed information about 5528// the error. 5529// 5530// See the AWS API reference guide for Amazon CloudFront's 5531// API operation ListConflictingAliases for usage and error information. 5532// 5533// Returned Error Codes: 5534// * ErrCodeInvalidArgument "InvalidArgument" 5535// An argument is invalid. 5536// 5537// * ErrCodeNoSuchDistribution "NoSuchDistribution" 5538// The specified distribution does not exist. 5539// 5540// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListConflictingAliases 5541func (c *CloudFront) ListConflictingAliases(input *ListConflictingAliasesInput) (*ListConflictingAliasesOutput, error) { 5542 req, out := c.ListConflictingAliasesRequest(input) 5543 return out, req.Send() 5544} 5545 5546// ListConflictingAliasesWithContext is the same as ListConflictingAliases with the addition of 5547// the ability to pass a context and additional request options. 5548// 5549// See ListConflictingAliases for details on how to use this API operation. 5550// 5551// The context must be non-nil and will be used for request cancellation. If 5552// the context is nil a panic will occur. In the future the SDK may create 5553// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5554// for more information on using Contexts. 5555func (c *CloudFront) ListConflictingAliasesWithContext(ctx aws.Context, input *ListConflictingAliasesInput, opts ...request.Option) (*ListConflictingAliasesOutput, error) { 5556 req, out := c.ListConflictingAliasesRequest(input) 5557 req.SetContext(ctx) 5558 req.ApplyOptions(opts...) 5559 return out, req.Send() 5560} 5561 5562const opListDistributions = "ListDistributions2020_05_31" 5563 5564// ListDistributionsRequest generates a "aws/request.Request" representing the 5565// client's request for the ListDistributions operation. The "output" return 5566// value will be populated with the request's response once the request completes 5567// successfully. 5568// 5569// Use "Send" method on the returned Request to send the API call to the service. 5570// the "output" return value is not valid until after Send returns without error. 5571// 5572// See ListDistributions for more information on using the ListDistributions 5573// API call, and error handling. 5574// 5575// This method is useful when you want to inject custom logic or configuration 5576// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5577// 5578// 5579// // Example sending a request using the ListDistributionsRequest method. 5580// req, resp := client.ListDistributionsRequest(params) 5581// 5582// err := req.Send() 5583// if err == nil { // resp is now filled 5584// fmt.Println(resp) 5585// } 5586// 5587// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions 5588func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) { 5589 op := &request.Operation{ 5590 Name: opListDistributions, 5591 HTTPMethod: "GET", 5592 HTTPPath: "/2020-05-31/distribution", 5593 Paginator: &request.Paginator{ 5594 InputTokens: []string{"Marker"}, 5595 OutputTokens: []string{"DistributionList.NextMarker"}, 5596 LimitToken: "MaxItems", 5597 TruncationToken: "DistributionList.IsTruncated", 5598 }, 5599 } 5600 5601 if input == nil { 5602 input = &ListDistributionsInput{} 5603 } 5604 5605 output = &ListDistributionsOutput{} 5606 req = c.newRequest(op, input, output) 5607 return 5608} 5609 5610// ListDistributions API operation for Amazon CloudFront. 5611// 5612// List CloudFront distributions. 5613// 5614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5615// with awserr.Error's Code and Message methods to get detailed information about 5616// the error. 5617// 5618// See the AWS API reference guide for Amazon CloudFront's 5619// API operation ListDistributions for usage and error information. 5620// 5621// Returned Error Codes: 5622// * ErrCodeInvalidArgument "InvalidArgument" 5623// An argument is invalid. 5624// 5625// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributions 5626func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { 5627 req, out := c.ListDistributionsRequest(input) 5628 return out, req.Send() 5629} 5630 5631// ListDistributionsWithContext is the same as ListDistributions with the addition of 5632// the ability to pass a context and additional request options. 5633// 5634// See ListDistributions for details on how to use this API operation. 5635// 5636// The context must be non-nil and will be used for request cancellation. If 5637// the context is nil a panic will occur. In the future the SDK may create 5638// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5639// for more information on using Contexts. 5640func (c *CloudFront) ListDistributionsWithContext(ctx aws.Context, input *ListDistributionsInput, opts ...request.Option) (*ListDistributionsOutput, error) { 5641 req, out := c.ListDistributionsRequest(input) 5642 req.SetContext(ctx) 5643 req.ApplyOptions(opts...) 5644 return out, req.Send() 5645} 5646 5647// ListDistributionsPages iterates over the pages of a ListDistributions operation, 5648// calling the "fn" function with the response data for each page. To stop 5649// iterating, return false from the fn function. 5650// 5651// See ListDistributions method for more information on how to use this operation. 5652// 5653// Note: This operation can generate multiple requests to a service. 5654// 5655// // Example iterating over at most 3 pages of a ListDistributions operation. 5656// pageNum := 0 5657// err := client.ListDistributionsPages(params, 5658// func(page *cloudfront.ListDistributionsOutput, lastPage bool) bool { 5659// pageNum++ 5660// fmt.Println(page) 5661// return pageNum <= 3 5662// }) 5663// 5664func (c *CloudFront) ListDistributionsPages(input *ListDistributionsInput, fn func(*ListDistributionsOutput, bool) bool) error { 5665 return c.ListDistributionsPagesWithContext(aws.BackgroundContext(), input, fn) 5666} 5667 5668// ListDistributionsPagesWithContext same as ListDistributionsPages except 5669// it takes a Context and allows setting request options on the pages. 5670// 5671// The context must be non-nil and will be used for request cancellation. If 5672// the context is nil a panic will occur. In the future the SDK may create 5673// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5674// for more information on using Contexts. 5675func (c *CloudFront) ListDistributionsPagesWithContext(ctx aws.Context, input *ListDistributionsInput, fn func(*ListDistributionsOutput, bool) bool, opts ...request.Option) error { 5676 p := request.Pagination{ 5677 NewRequest: func() (*request.Request, error) { 5678 var inCpy *ListDistributionsInput 5679 if input != nil { 5680 tmp := *input 5681 inCpy = &tmp 5682 } 5683 req, _ := c.ListDistributionsRequest(inCpy) 5684 req.SetContext(ctx) 5685 req.ApplyOptions(opts...) 5686 return req, nil 5687 }, 5688 } 5689 5690 for p.Next() { 5691 if !fn(p.Page().(*ListDistributionsOutput), !p.HasNextPage()) { 5692 break 5693 } 5694 } 5695 5696 return p.Err() 5697} 5698 5699const opListDistributionsByCachePolicyId = "ListDistributionsByCachePolicyId2020_05_31" 5700 5701// ListDistributionsByCachePolicyIdRequest generates a "aws/request.Request" representing the 5702// client's request for the ListDistributionsByCachePolicyId operation. The "output" return 5703// value will be populated with the request's response once the request completes 5704// successfully. 5705// 5706// Use "Send" method on the returned Request to send the API call to the service. 5707// the "output" return value is not valid until after Send returns without error. 5708// 5709// See ListDistributionsByCachePolicyId for more information on using the ListDistributionsByCachePolicyId 5710// API call, and error handling. 5711// 5712// This method is useful when you want to inject custom logic or configuration 5713// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5714// 5715// 5716// // Example sending a request using the ListDistributionsByCachePolicyIdRequest method. 5717// req, resp := client.ListDistributionsByCachePolicyIdRequest(params) 5718// 5719// err := req.Send() 5720// if err == nil { // resp is now filled 5721// fmt.Println(resp) 5722// } 5723// 5724// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId 5725func (c *CloudFront) ListDistributionsByCachePolicyIdRequest(input *ListDistributionsByCachePolicyIdInput) (req *request.Request, output *ListDistributionsByCachePolicyIdOutput) { 5726 op := &request.Operation{ 5727 Name: opListDistributionsByCachePolicyId, 5728 HTTPMethod: "GET", 5729 HTTPPath: "/2020-05-31/distributionsByCachePolicyId/{CachePolicyId}", 5730 } 5731 5732 if input == nil { 5733 input = &ListDistributionsByCachePolicyIdInput{} 5734 } 5735 5736 output = &ListDistributionsByCachePolicyIdOutput{} 5737 req = c.newRequest(op, input, output) 5738 return 5739} 5740 5741// ListDistributionsByCachePolicyId API operation for Amazon CloudFront. 5742// 5743// Gets a list of distribution IDs for distributions that have a cache behavior 5744// that’s associated with the specified cache policy. 5745// 5746// You can optionally specify the maximum number of items to receive in the 5747// response. If the total number of items in the list exceeds the maximum that 5748// you specify, or the default maximum, the response is paginated. To get the 5749// next page of items, send a subsequent request that specifies the NextMarker 5750// value from the current response as the Marker value in the subsequent request. 5751// 5752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5753// with awserr.Error's Code and Message methods to get detailed information about 5754// the error. 5755// 5756// See the AWS API reference guide for Amazon CloudFront's 5757// API operation ListDistributionsByCachePolicyId for usage and error information. 5758// 5759// Returned Error Codes: 5760// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 5761// The cache policy does not exist. 5762// 5763// * ErrCodeInvalidArgument "InvalidArgument" 5764// An argument is invalid. 5765// 5766// * ErrCodeAccessDenied "AccessDenied" 5767// Access denied. 5768// 5769// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByCachePolicyId 5770func (c *CloudFront) ListDistributionsByCachePolicyId(input *ListDistributionsByCachePolicyIdInput) (*ListDistributionsByCachePolicyIdOutput, error) { 5771 req, out := c.ListDistributionsByCachePolicyIdRequest(input) 5772 return out, req.Send() 5773} 5774 5775// ListDistributionsByCachePolicyIdWithContext is the same as ListDistributionsByCachePolicyId with the addition of 5776// the ability to pass a context and additional request options. 5777// 5778// See ListDistributionsByCachePolicyId for details on how to use this API operation. 5779// 5780// The context must be non-nil and will be used for request cancellation. If 5781// the context is nil a panic will occur. In the future the SDK may create 5782// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5783// for more information on using Contexts. 5784func (c *CloudFront) ListDistributionsByCachePolicyIdWithContext(ctx aws.Context, input *ListDistributionsByCachePolicyIdInput, opts ...request.Option) (*ListDistributionsByCachePolicyIdOutput, error) { 5785 req, out := c.ListDistributionsByCachePolicyIdRequest(input) 5786 req.SetContext(ctx) 5787 req.ApplyOptions(opts...) 5788 return out, req.Send() 5789} 5790 5791const opListDistributionsByKeyGroup = "ListDistributionsByKeyGroup2020_05_31" 5792 5793// ListDistributionsByKeyGroupRequest generates a "aws/request.Request" representing the 5794// client's request for the ListDistributionsByKeyGroup operation. The "output" return 5795// value will be populated with the request's response once the request completes 5796// successfully. 5797// 5798// Use "Send" method on the returned Request to send the API call to the service. 5799// the "output" return value is not valid until after Send returns without error. 5800// 5801// See ListDistributionsByKeyGroup for more information on using the ListDistributionsByKeyGroup 5802// API call, and error handling. 5803// 5804// This method is useful when you want to inject custom logic or configuration 5805// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5806// 5807// 5808// // Example sending a request using the ListDistributionsByKeyGroupRequest method. 5809// req, resp := client.ListDistributionsByKeyGroupRequest(params) 5810// 5811// err := req.Send() 5812// if err == nil { // resp is now filled 5813// fmt.Println(resp) 5814// } 5815// 5816// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByKeyGroup 5817func (c *CloudFront) ListDistributionsByKeyGroupRequest(input *ListDistributionsByKeyGroupInput) (req *request.Request, output *ListDistributionsByKeyGroupOutput) { 5818 op := &request.Operation{ 5819 Name: opListDistributionsByKeyGroup, 5820 HTTPMethod: "GET", 5821 HTTPPath: "/2020-05-31/distributionsByKeyGroupId/{KeyGroupId}", 5822 } 5823 5824 if input == nil { 5825 input = &ListDistributionsByKeyGroupInput{} 5826 } 5827 5828 output = &ListDistributionsByKeyGroupOutput{} 5829 req = c.newRequest(op, input, output) 5830 return 5831} 5832 5833// ListDistributionsByKeyGroup API operation for Amazon CloudFront. 5834// 5835// Gets a list of distribution IDs for distributions that have a cache behavior 5836// that references the specified key group. 5837// 5838// You can optionally specify the maximum number of items to receive in the 5839// response. If the total number of items in the list exceeds the maximum that 5840// you specify, or the default maximum, the response is paginated. To get the 5841// next page of items, send a subsequent request that specifies the NextMarker 5842// value from the current response as the Marker value in the subsequent request. 5843// 5844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5845// with awserr.Error's Code and Message methods to get detailed information about 5846// the error. 5847// 5848// See the AWS API reference guide for Amazon CloudFront's 5849// API operation ListDistributionsByKeyGroup for usage and error information. 5850// 5851// Returned Error Codes: 5852// * ErrCodeNoSuchResource "NoSuchResource" 5853// A resource that was specified is not valid. 5854// 5855// * ErrCodeInvalidArgument "InvalidArgument" 5856// An argument is invalid. 5857// 5858// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByKeyGroup 5859func (c *CloudFront) ListDistributionsByKeyGroup(input *ListDistributionsByKeyGroupInput) (*ListDistributionsByKeyGroupOutput, error) { 5860 req, out := c.ListDistributionsByKeyGroupRequest(input) 5861 return out, req.Send() 5862} 5863 5864// ListDistributionsByKeyGroupWithContext is the same as ListDistributionsByKeyGroup with the addition of 5865// the ability to pass a context and additional request options. 5866// 5867// See ListDistributionsByKeyGroup for details on how to use this API operation. 5868// 5869// The context must be non-nil and will be used for request cancellation. If 5870// the context is nil a panic will occur. In the future the SDK may create 5871// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5872// for more information on using Contexts. 5873func (c *CloudFront) ListDistributionsByKeyGroupWithContext(ctx aws.Context, input *ListDistributionsByKeyGroupInput, opts ...request.Option) (*ListDistributionsByKeyGroupOutput, error) { 5874 req, out := c.ListDistributionsByKeyGroupRequest(input) 5875 req.SetContext(ctx) 5876 req.ApplyOptions(opts...) 5877 return out, req.Send() 5878} 5879 5880const opListDistributionsByOriginRequestPolicyId = "ListDistributionsByOriginRequestPolicyId2020_05_31" 5881 5882// ListDistributionsByOriginRequestPolicyIdRequest generates a "aws/request.Request" representing the 5883// client's request for the ListDistributionsByOriginRequestPolicyId operation. The "output" return 5884// value will be populated with the request's response once the request completes 5885// successfully. 5886// 5887// Use "Send" method on the returned Request to send the API call to the service. 5888// the "output" return value is not valid until after Send returns without error. 5889// 5890// See ListDistributionsByOriginRequestPolicyId for more information on using the ListDistributionsByOriginRequestPolicyId 5891// API call, and error handling. 5892// 5893// This method is useful when you want to inject custom logic or configuration 5894// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5895// 5896// 5897// // Example sending a request using the ListDistributionsByOriginRequestPolicyIdRequest method. 5898// req, resp := client.ListDistributionsByOriginRequestPolicyIdRequest(params) 5899// 5900// err := req.Send() 5901// if err == nil { // resp is now filled 5902// fmt.Println(resp) 5903// } 5904// 5905// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId 5906func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdRequest(input *ListDistributionsByOriginRequestPolicyIdInput) (req *request.Request, output *ListDistributionsByOriginRequestPolicyIdOutput) { 5907 op := &request.Operation{ 5908 Name: opListDistributionsByOriginRequestPolicyId, 5909 HTTPMethod: "GET", 5910 HTTPPath: "/2020-05-31/distributionsByOriginRequestPolicyId/{OriginRequestPolicyId}", 5911 } 5912 5913 if input == nil { 5914 input = &ListDistributionsByOriginRequestPolicyIdInput{} 5915 } 5916 5917 output = &ListDistributionsByOriginRequestPolicyIdOutput{} 5918 req = c.newRequest(op, input, output) 5919 return 5920} 5921 5922// ListDistributionsByOriginRequestPolicyId API operation for Amazon CloudFront. 5923// 5924// Gets a list of distribution IDs for distributions that have a cache behavior 5925// that’s associated with the specified origin request policy. 5926// 5927// You can optionally specify the maximum number of items to receive in the 5928// response. If the total number of items in the list exceeds the maximum that 5929// you specify, or the default maximum, the response is paginated. To get the 5930// next page of items, send a subsequent request that specifies the NextMarker 5931// value from the current response as the Marker value in the subsequent request. 5932// 5933// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5934// with awserr.Error's Code and Message methods to get detailed information about 5935// the error. 5936// 5937// See the AWS API reference guide for Amazon CloudFront's 5938// API operation ListDistributionsByOriginRequestPolicyId for usage and error information. 5939// 5940// Returned Error Codes: 5941// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 5942// The origin request policy does not exist. 5943// 5944// * ErrCodeInvalidArgument "InvalidArgument" 5945// An argument is invalid. 5946// 5947// * ErrCodeAccessDenied "AccessDenied" 5948// Access denied. 5949// 5950// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByOriginRequestPolicyId 5951func (c *CloudFront) ListDistributionsByOriginRequestPolicyId(input *ListDistributionsByOriginRequestPolicyIdInput) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { 5952 req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) 5953 return out, req.Send() 5954} 5955 5956// ListDistributionsByOriginRequestPolicyIdWithContext is the same as ListDistributionsByOriginRequestPolicyId with the addition of 5957// the ability to pass a context and additional request options. 5958// 5959// See ListDistributionsByOriginRequestPolicyId for details on how to use this API operation. 5960// 5961// The context must be non-nil and will be used for request cancellation. If 5962// the context is nil a panic will occur. In the future the SDK may create 5963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5964// for more information on using Contexts. 5965func (c *CloudFront) ListDistributionsByOriginRequestPolicyIdWithContext(ctx aws.Context, input *ListDistributionsByOriginRequestPolicyIdInput, opts ...request.Option) (*ListDistributionsByOriginRequestPolicyIdOutput, error) { 5966 req, out := c.ListDistributionsByOriginRequestPolicyIdRequest(input) 5967 req.SetContext(ctx) 5968 req.ApplyOptions(opts...) 5969 return out, req.Send() 5970} 5971 5972const opListDistributionsByRealtimeLogConfig = "ListDistributionsByRealtimeLogConfig2020_05_31" 5973 5974// ListDistributionsByRealtimeLogConfigRequest generates a "aws/request.Request" representing the 5975// client's request for the ListDistributionsByRealtimeLogConfig operation. The "output" return 5976// value will be populated with the request's response once the request completes 5977// successfully. 5978// 5979// Use "Send" method on the returned Request to send the API call to the service. 5980// the "output" return value is not valid until after Send returns without error. 5981// 5982// See ListDistributionsByRealtimeLogConfig for more information on using the ListDistributionsByRealtimeLogConfig 5983// API call, and error handling. 5984// 5985// This method is useful when you want to inject custom logic or configuration 5986// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5987// 5988// 5989// // Example sending a request using the ListDistributionsByRealtimeLogConfigRequest method. 5990// req, resp := client.ListDistributionsByRealtimeLogConfigRequest(params) 5991// 5992// err := req.Send() 5993// if err == nil { // resp is now filled 5994// fmt.Println(resp) 5995// } 5996// 5997// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig 5998func (c *CloudFront) ListDistributionsByRealtimeLogConfigRequest(input *ListDistributionsByRealtimeLogConfigInput) (req *request.Request, output *ListDistributionsByRealtimeLogConfigOutput) { 5999 op := &request.Operation{ 6000 Name: opListDistributionsByRealtimeLogConfig, 6001 HTTPMethod: "POST", 6002 HTTPPath: "/2020-05-31/distributionsByRealtimeLogConfig/", 6003 } 6004 6005 if input == nil { 6006 input = &ListDistributionsByRealtimeLogConfigInput{} 6007 } 6008 6009 output = &ListDistributionsByRealtimeLogConfigOutput{} 6010 req = c.newRequest(op, input, output) 6011 return 6012} 6013 6014// ListDistributionsByRealtimeLogConfig API operation for Amazon CloudFront. 6015// 6016// Gets a list of distributions that have a cache behavior that’s associated 6017// with the specified real-time log configuration. 6018// 6019// You can specify the real-time log configuration by its name or its Amazon 6020// Resource Name (ARN). You must provide at least one. If you provide both, 6021// CloudFront uses the name to identify the real-time log configuration to list 6022// distributions for. 6023// 6024// You can optionally specify the maximum number of items to receive in the 6025// response. If the total number of items in the list exceeds the maximum that 6026// you specify, or the default maximum, the response is paginated. To get the 6027// next page of items, send a subsequent request that specifies the NextMarker 6028// value from the current response as the Marker value in the subsequent request. 6029// 6030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6031// with awserr.Error's Code and Message methods to get detailed information about 6032// the error. 6033// 6034// See the AWS API reference guide for Amazon CloudFront's 6035// API operation ListDistributionsByRealtimeLogConfig for usage and error information. 6036// 6037// Returned Error Codes: 6038// * ErrCodeInvalidArgument "InvalidArgument" 6039// An argument is invalid. 6040// 6041// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByRealtimeLogConfig 6042func (c *CloudFront) ListDistributionsByRealtimeLogConfig(input *ListDistributionsByRealtimeLogConfigInput) (*ListDistributionsByRealtimeLogConfigOutput, error) { 6043 req, out := c.ListDistributionsByRealtimeLogConfigRequest(input) 6044 return out, req.Send() 6045} 6046 6047// ListDistributionsByRealtimeLogConfigWithContext is the same as ListDistributionsByRealtimeLogConfig with the addition of 6048// the ability to pass a context and additional request options. 6049// 6050// See ListDistributionsByRealtimeLogConfig for details on how to use this API operation. 6051// 6052// The context must be non-nil and will be used for request cancellation. If 6053// the context is nil a panic will occur. In the future the SDK may create 6054// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6055// for more information on using Contexts. 6056func (c *CloudFront) ListDistributionsByRealtimeLogConfigWithContext(ctx aws.Context, input *ListDistributionsByRealtimeLogConfigInput, opts ...request.Option) (*ListDistributionsByRealtimeLogConfigOutput, error) { 6057 req, out := c.ListDistributionsByRealtimeLogConfigRequest(input) 6058 req.SetContext(ctx) 6059 req.ApplyOptions(opts...) 6060 return out, req.Send() 6061} 6062 6063const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2020_05_31" 6064 6065// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the 6066// client's request for the ListDistributionsByWebACLId operation. The "output" return 6067// value will be populated with the request's response once the request completes 6068// successfully. 6069// 6070// Use "Send" method on the returned Request to send the API call to the service. 6071// the "output" return value is not valid until after Send returns without error. 6072// 6073// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId 6074// API call, and error handling. 6075// 6076// This method is useful when you want to inject custom logic or configuration 6077// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6078// 6079// 6080// // Example sending a request using the ListDistributionsByWebACLIdRequest method. 6081// req, resp := client.ListDistributionsByWebACLIdRequest(params) 6082// 6083// err := req.Send() 6084// if err == nil { // resp is now filled 6085// fmt.Println(resp) 6086// } 6087// 6088// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId 6089func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { 6090 op := &request.Operation{ 6091 Name: opListDistributionsByWebACLId, 6092 HTTPMethod: "GET", 6093 HTTPPath: "/2020-05-31/distributionsByWebACLId/{WebACLId}", 6094 } 6095 6096 if input == nil { 6097 input = &ListDistributionsByWebACLIdInput{} 6098 } 6099 6100 output = &ListDistributionsByWebACLIdOutput{} 6101 req = c.newRequest(op, input, output) 6102 return 6103} 6104 6105// ListDistributionsByWebACLId API operation for Amazon CloudFront. 6106// 6107// List the distributions that are associated with a specified WAF web ACL. 6108// 6109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6110// with awserr.Error's Code and Message methods to get detailed information about 6111// the error. 6112// 6113// See the AWS API reference guide for Amazon CloudFront's 6114// API operation ListDistributionsByWebACLId for usage and error information. 6115// 6116// Returned Error Codes: 6117// * ErrCodeInvalidArgument "InvalidArgument" 6118// An argument is invalid. 6119// 6120// * ErrCodeInvalidWebACLId "InvalidWebACLId" 6121// A web ACL ID specified is not valid. To specify a web ACL created using the 6122// latest version of WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 6123// To specify a web ACL created using WAF Classic, use the ACL ID, for example 6124// 473e64fd-f30b-4765-81a0-62ad96dd167a. 6125// 6126// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListDistributionsByWebACLId 6127func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { 6128 req, out := c.ListDistributionsByWebACLIdRequest(input) 6129 return out, req.Send() 6130} 6131 6132// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of 6133// the ability to pass a context and additional request options. 6134// 6135// See ListDistributionsByWebACLId for details on how to use this API operation. 6136// 6137// The context must be non-nil and will be used for request cancellation. If 6138// the context is nil a panic will occur. In the future the SDK may create 6139// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6140// for more information on using Contexts. 6141func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { 6142 req, out := c.ListDistributionsByWebACLIdRequest(input) 6143 req.SetContext(ctx) 6144 req.ApplyOptions(opts...) 6145 return out, req.Send() 6146} 6147 6148const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2020_05_31" 6149 6150// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the 6151// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return 6152// value will be populated with the request's response once the request completes 6153// successfully. 6154// 6155// Use "Send" method on the returned Request to send the API call to the service. 6156// the "output" return value is not valid until after Send returns without error. 6157// 6158// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs 6159// API call, and error handling. 6160// 6161// This method is useful when you want to inject custom logic or configuration 6162// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6163// 6164// 6165// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. 6166// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) 6167// 6168// err := req.Send() 6169// if err == nil { // resp is now filled 6170// fmt.Println(resp) 6171// } 6172// 6173// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs 6174func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { 6175 op := &request.Operation{ 6176 Name: opListFieldLevelEncryptionConfigs, 6177 HTTPMethod: "GET", 6178 HTTPPath: "/2020-05-31/field-level-encryption", 6179 } 6180 6181 if input == nil { 6182 input = &ListFieldLevelEncryptionConfigsInput{} 6183 } 6184 6185 output = &ListFieldLevelEncryptionConfigsOutput{} 6186 req = c.newRequest(op, input, output) 6187 return 6188} 6189 6190// ListFieldLevelEncryptionConfigs API operation for Amazon CloudFront. 6191// 6192// List all field-level encryption configurations that have been created in 6193// CloudFront for this account. 6194// 6195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6196// with awserr.Error's Code and Message methods to get detailed information about 6197// the error. 6198// 6199// See the AWS API reference guide for Amazon CloudFront's 6200// API operation ListFieldLevelEncryptionConfigs for usage and error information. 6201// 6202// Returned Error Codes: 6203// * ErrCodeInvalidArgument "InvalidArgument" 6204// An argument is invalid. 6205// 6206// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionConfigs 6207func (c *CloudFront) ListFieldLevelEncryptionConfigs(input *ListFieldLevelEncryptionConfigsInput) (*ListFieldLevelEncryptionConfigsOutput, error) { 6208 req, out := c.ListFieldLevelEncryptionConfigsRequest(input) 6209 return out, req.Send() 6210} 6211 6212// ListFieldLevelEncryptionConfigsWithContext is the same as ListFieldLevelEncryptionConfigs with the addition of 6213// the ability to pass a context and additional request options. 6214// 6215// See ListFieldLevelEncryptionConfigs for details on how to use this API operation. 6216// 6217// The context must be non-nil and will be used for request cancellation. If 6218// the context is nil a panic will occur. In the future the SDK may create 6219// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6220// for more information on using Contexts. 6221func (c *CloudFront) ListFieldLevelEncryptionConfigsWithContext(ctx aws.Context, input *ListFieldLevelEncryptionConfigsInput, opts ...request.Option) (*ListFieldLevelEncryptionConfigsOutput, error) { 6222 req, out := c.ListFieldLevelEncryptionConfigsRequest(input) 6223 req.SetContext(ctx) 6224 req.ApplyOptions(opts...) 6225 return out, req.Send() 6226} 6227 6228const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2020_05_31" 6229 6230// ListFieldLevelEncryptionProfilesRequest generates a "aws/request.Request" representing the 6231// client's request for the ListFieldLevelEncryptionProfiles operation. The "output" return 6232// value will be populated with the request's response once the request completes 6233// successfully. 6234// 6235// Use "Send" method on the returned Request to send the API call to the service. 6236// the "output" return value is not valid until after Send returns without error. 6237// 6238// See ListFieldLevelEncryptionProfiles for more information on using the ListFieldLevelEncryptionProfiles 6239// API call, and error handling. 6240// 6241// This method is useful when you want to inject custom logic or configuration 6242// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6243// 6244// 6245// // Example sending a request using the ListFieldLevelEncryptionProfilesRequest method. 6246// req, resp := client.ListFieldLevelEncryptionProfilesRequest(params) 6247// 6248// err := req.Send() 6249// if err == nil { // resp is now filled 6250// fmt.Println(resp) 6251// } 6252// 6253// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles 6254func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLevelEncryptionProfilesInput) (req *request.Request, output *ListFieldLevelEncryptionProfilesOutput) { 6255 op := &request.Operation{ 6256 Name: opListFieldLevelEncryptionProfiles, 6257 HTTPMethod: "GET", 6258 HTTPPath: "/2020-05-31/field-level-encryption-profile", 6259 } 6260 6261 if input == nil { 6262 input = &ListFieldLevelEncryptionProfilesInput{} 6263 } 6264 6265 output = &ListFieldLevelEncryptionProfilesOutput{} 6266 req = c.newRequest(op, input, output) 6267 return 6268} 6269 6270// ListFieldLevelEncryptionProfiles API operation for Amazon CloudFront. 6271// 6272// Request a list of field-level encryption profiles that have been created 6273// in CloudFront for this account. 6274// 6275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6276// with awserr.Error's Code and Message methods to get detailed information about 6277// the error. 6278// 6279// See the AWS API reference guide for Amazon CloudFront's 6280// API operation ListFieldLevelEncryptionProfiles for usage and error information. 6281// 6282// Returned Error Codes: 6283// * ErrCodeInvalidArgument "InvalidArgument" 6284// An argument is invalid. 6285// 6286// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFieldLevelEncryptionProfiles 6287func (c *CloudFront) ListFieldLevelEncryptionProfiles(input *ListFieldLevelEncryptionProfilesInput) (*ListFieldLevelEncryptionProfilesOutput, error) { 6288 req, out := c.ListFieldLevelEncryptionProfilesRequest(input) 6289 return out, req.Send() 6290} 6291 6292// ListFieldLevelEncryptionProfilesWithContext is the same as ListFieldLevelEncryptionProfiles with the addition of 6293// the ability to pass a context and additional request options. 6294// 6295// See ListFieldLevelEncryptionProfiles for details on how to use this API operation. 6296// 6297// The context must be non-nil and will be used for request cancellation. If 6298// the context is nil a panic will occur. In the future the SDK may create 6299// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6300// for more information on using Contexts. 6301func (c *CloudFront) ListFieldLevelEncryptionProfilesWithContext(ctx aws.Context, input *ListFieldLevelEncryptionProfilesInput, opts ...request.Option) (*ListFieldLevelEncryptionProfilesOutput, error) { 6302 req, out := c.ListFieldLevelEncryptionProfilesRequest(input) 6303 req.SetContext(ctx) 6304 req.ApplyOptions(opts...) 6305 return out, req.Send() 6306} 6307 6308const opListFunctions = "ListFunctions2020_05_31" 6309 6310// ListFunctionsRequest generates a "aws/request.Request" representing the 6311// client's request for the ListFunctions operation. The "output" return 6312// value will be populated with the request's response once the request completes 6313// successfully. 6314// 6315// Use "Send" method on the returned Request to send the API call to the service. 6316// the "output" return value is not valid until after Send returns without error. 6317// 6318// See ListFunctions for more information on using the ListFunctions 6319// API call, and error handling. 6320// 6321// This method is useful when you want to inject custom logic or configuration 6322// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6323// 6324// 6325// // Example sending a request using the ListFunctionsRequest method. 6326// req, resp := client.ListFunctionsRequest(params) 6327// 6328// err := req.Send() 6329// if err == nil { // resp is now filled 6330// fmt.Println(resp) 6331// } 6332// 6333// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctions 6334func (c *CloudFront) ListFunctionsRequest(input *ListFunctionsInput) (req *request.Request, output *ListFunctionsOutput) { 6335 op := &request.Operation{ 6336 Name: opListFunctions, 6337 HTTPMethod: "GET", 6338 HTTPPath: "/2020-05-31/function", 6339 } 6340 6341 if input == nil { 6342 input = &ListFunctionsInput{} 6343 } 6344 6345 output = &ListFunctionsOutput{} 6346 req = c.newRequest(op, input, output) 6347 return 6348} 6349 6350// ListFunctions API operation for Amazon CloudFront. 6351// 6352// Gets a list of all CloudFront functions in your account. 6353// 6354// You can optionally apply a filter to return only the functions that are in 6355// the specified stage, either DEVELOPMENT or LIVE. 6356// 6357// You can optionally specify the maximum number of items to receive in the 6358// response. If the total number of items in the list exceeds the maximum that 6359// you specify, or the default maximum, the response is paginated. To get the 6360// next page of items, send a subsequent request that specifies the NextMarker 6361// value from the current response as the Marker value in the subsequent request. 6362// 6363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6364// with awserr.Error's Code and Message methods to get detailed information about 6365// the error. 6366// 6367// See the AWS API reference guide for Amazon CloudFront's 6368// API operation ListFunctions for usage and error information. 6369// 6370// Returned Error Codes: 6371// * ErrCodeInvalidArgument "InvalidArgument" 6372// An argument is invalid. 6373// 6374// * ErrCodeUnsupportedOperation "UnsupportedOperation" 6375// This operation is not supported in this region. 6376// 6377// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListFunctions 6378func (c *CloudFront) ListFunctions(input *ListFunctionsInput) (*ListFunctionsOutput, error) { 6379 req, out := c.ListFunctionsRequest(input) 6380 return out, req.Send() 6381} 6382 6383// ListFunctionsWithContext is the same as ListFunctions with the addition of 6384// the ability to pass a context and additional request options. 6385// 6386// See ListFunctions for details on how to use this API operation. 6387// 6388// The context must be non-nil and will be used for request cancellation. If 6389// the context is nil a panic will occur. In the future the SDK may create 6390// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6391// for more information on using Contexts. 6392func (c *CloudFront) ListFunctionsWithContext(ctx aws.Context, input *ListFunctionsInput, opts ...request.Option) (*ListFunctionsOutput, error) { 6393 req, out := c.ListFunctionsRequest(input) 6394 req.SetContext(ctx) 6395 req.ApplyOptions(opts...) 6396 return out, req.Send() 6397} 6398 6399const opListInvalidations = "ListInvalidations2020_05_31" 6400 6401// ListInvalidationsRequest generates a "aws/request.Request" representing the 6402// client's request for the ListInvalidations operation. The "output" return 6403// value will be populated with the request's response once the request completes 6404// successfully. 6405// 6406// Use "Send" method on the returned Request to send the API call to the service. 6407// the "output" return value is not valid until after Send returns without error. 6408// 6409// See ListInvalidations for more information on using the ListInvalidations 6410// API call, and error handling. 6411// 6412// This method is useful when you want to inject custom logic or configuration 6413// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6414// 6415// 6416// // Example sending a request using the ListInvalidationsRequest method. 6417// req, resp := client.ListInvalidationsRequest(params) 6418// 6419// err := req.Send() 6420// if err == nil { // resp is now filled 6421// fmt.Println(resp) 6422// } 6423// 6424// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations 6425func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) { 6426 op := &request.Operation{ 6427 Name: opListInvalidations, 6428 HTTPMethod: "GET", 6429 HTTPPath: "/2020-05-31/distribution/{DistributionId}/invalidation", 6430 Paginator: &request.Paginator{ 6431 InputTokens: []string{"Marker"}, 6432 OutputTokens: []string{"InvalidationList.NextMarker"}, 6433 LimitToken: "MaxItems", 6434 TruncationToken: "InvalidationList.IsTruncated", 6435 }, 6436 } 6437 6438 if input == nil { 6439 input = &ListInvalidationsInput{} 6440 } 6441 6442 output = &ListInvalidationsOutput{} 6443 req = c.newRequest(op, input, output) 6444 return 6445} 6446 6447// ListInvalidations API operation for Amazon CloudFront. 6448// 6449// Lists invalidation batches. 6450// 6451// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6452// with awserr.Error's Code and Message methods to get detailed information about 6453// the error. 6454// 6455// See the AWS API reference guide for Amazon CloudFront's 6456// API operation ListInvalidations for usage and error information. 6457// 6458// Returned Error Codes: 6459// * ErrCodeInvalidArgument "InvalidArgument" 6460// An argument is invalid. 6461// 6462// * ErrCodeNoSuchDistribution "NoSuchDistribution" 6463// The specified distribution does not exist. 6464// 6465// * ErrCodeAccessDenied "AccessDenied" 6466// Access denied. 6467// 6468// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListInvalidations 6469func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) { 6470 req, out := c.ListInvalidationsRequest(input) 6471 return out, req.Send() 6472} 6473 6474// ListInvalidationsWithContext is the same as ListInvalidations with the addition of 6475// the ability to pass a context and additional request options. 6476// 6477// See ListInvalidations for details on how to use this API operation. 6478// 6479// The context must be non-nil and will be used for request cancellation. If 6480// the context is nil a panic will occur. In the future the SDK may create 6481// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6482// for more information on using Contexts. 6483func (c *CloudFront) ListInvalidationsWithContext(ctx aws.Context, input *ListInvalidationsInput, opts ...request.Option) (*ListInvalidationsOutput, error) { 6484 req, out := c.ListInvalidationsRequest(input) 6485 req.SetContext(ctx) 6486 req.ApplyOptions(opts...) 6487 return out, req.Send() 6488} 6489 6490// ListInvalidationsPages iterates over the pages of a ListInvalidations operation, 6491// calling the "fn" function with the response data for each page. To stop 6492// iterating, return false from the fn function. 6493// 6494// See ListInvalidations method for more information on how to use this operation. 6495// 6496// Note: This operation can generate multiple requests to a service. 6497// 6498// // Example iterating over at most 3 pages of a ListInvalidations operation. 6499// pageNum := 0 6500// err := client.ListInvalidationsPages(params, 6501// func(page *cloudfront.ListInvalidationsOutput, lastPage bool) bool { 6502// pageNum++ 6503// fmt.Println(page) 6504// return pageNum <= 3 6505// }) 6506// 6507func (c *CloudFront) ListInvalidationsPages(input *ListInvalidationsInput, fn func(*ListInvalidationsOutput, bool) bool) error { 6508 return c.ListInvalidationsPagesWithContext(aws.BackgroundContext(), input, fn) 6509} 6510 6511// ListInvalidationsPagesWithContext same as ListInvalidationsPages except 6512// it takes a Context and allows setting request options on the pages. 6513// 6514// The context must be non-nil and will be used for request cancellation. If 6515// the context is nil a panic will occur. In the future the SDK may create 6516// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6517// for more information on using Contexts. 6518func (c *CloudFront) ListInvalidationsPagesWithContext(ctx aws.Context, input *ListInvalidationsInput, fn func(*ListInvalidationsOutput, bool) bool, opts ...request.Option) error { 6519 p := request.Pagination{ 6520 NewRequest: func() (*request.Request, error) { 6521 var inCpy *ListInvalidationsInput 6522 if input != nil { 6523 tmp := *input 6524 inCpy = &tmp 6525 } 6526 req, _ := c.ListInvalidationsRequest(inCpy) 6527 req.SetContext(ctx) 6528 req.ApplyOptions(opts...) 6529 return req, nil 6530 }, 6531 } 6532 6533 for p.Next() { 6534 if !fn(p.Page().(*ListInvalidationsOutput), !p.HasNextPage()) { 6535 break 6536 } 6537 } 6538 6539 return p.Err() 6540} 6541 6542const opListKeyGroups = "ListKeyGroups2020_05_31" 6543 6544// ListKeyGroupsRequest generates a "aws/request.Request" representing the 6545// client's request for the ListKeyGroups operation. The "output" return 6546// value will be populated with the request's response once the request completes 6547// successfully. 6548// 6549// Use "Send" method on the returned Request to send the API call to the service. 6550// the "output" return value is not valid until after Send returns without error. 6551// 6552// See ListKeyGroups for more information on using the ListKeyGroups 6553// API call, and error handling. 6554// 6555// This method is useful when you want to inject custom logic or configuration 6556// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6557// 6558// 6559// // Example sending a request using the ListKeyGroupsRequest method. 6560// req, resp := client.ListKeyGroupsRequest(params) 6561// 6562// err := req.Send() 6563// if err == nil { // resp is now filled 6564// fmt.Println(resp) 6565// } 6566// 6567// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyGroups 6568func (c *CloudFront) ListKeyGroupsRequest(input *ListKeyGroupsInput) (req *request.Request, output *ListKeyGroupsOutput) { 6569 op := &request.Operation{ 6570 Name: opListKeyGroups, 6571 HTTPMethod: "GET", 6572 HTTPPath: "/2020-05-31/key-group", 6573 } 6574 6575 if input == nil { 6576 input = &ListKeyGroupsInput{} 6577 } 6578 6579 output = &ListKeyGroupsOutput{} 6580 req = c.newRequest(op, input, output) 6581 return 6582} 6583 6584// ListKeyGroups API operation for Amazon CloudFront. 6585// 6586// Gets a list of key groups. 6587// 6588// You can optionally specify the maximum number of items to receive in the 6589// response. If the total number of items in the list exceeds the maximum that 6590// you specify, or the default maximum, the response is paginated. To get the 6591// next page of items, send a subsequent request that specifies the NextMarker 6592// value from the current response as the Marker value in the subsequent request. 6593// 6594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6595// with awserr.Error's Code and Message methods to get detailed information about 6596// the error. 6597// 6598// See the AWS API reference guide for Amazon CloudFront's 6599// API operation ListKeyGroups for usage and error information. 6600// 6601// Returned Error Codes: 6602// * ErrCodeInvalidArgument "InvalidArgument" 6603// An argument is invalid. 6604// 6605// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListKeyGroups 6606func (c *CloudFront) ListKeyGroups(input *ListKeyGroupsInput) (*ListKeyGroupsOutput, error) { 6607 req, out := c.ListKeyGroupsRequest(input) 6608 return out, req.Send() 6609} 6610 6611// ListKeyGroupsWithContext is the same as ListKeyGroups with the addition of 6612// the ability to pass a context and additional request options. 6613// 6614// See ListKeyGroups for details on how to use this API operation. 6615// 6616// The context must be non-nil and will be used for request cancellation. If 6617// the context is nil a panic will occur. In the future the SDK may create 6618// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6619// for more information on using Contexts. 6620func (c *CloudFront) ListKeyGroupsWithContext(ctx aws.Context, input *ListKeyGroupsInput, opts ...request.Option) (*ListKeyGroupsOutput, error) { 6621 req, out := c.ListKeyGroupsRequest(input) 6622 req.SetContext(ctx) 6623 req.ApplyOptions(opts...) 6624 return out, req.Send() 6625} 6626 6627const opListOriginRequestPolicies = "ListOriginRequestPolicies2020_05_31" 6628 6629// ListOriginRequestPoliciesRequest generates a "aws/request.Request" representing the 6630// client's request for the ListOriginRequestPolicies operation. The "output" return 6631// value will be populated with the request's response once the request completes 6632// successfully. 6633// 6634// Use "Send" method on the returned Request to send the API call to the service. 6635// the "output" return value is not valid until after Send returns without error. 6636// 6637// See ListOriginRequestPolicies for more information on using the ListOriginRequestPolicies 6638// API call, and error handling. 6639// 6640// This method is useful when you want to inject custom logic or configuration 6641// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6642// 6643// 6644// // Example sending a request using the ListOriginRequestPoliciesRequest method. 6645// req, resp := client.ListOriginRequestPoliciesRequest(params) 6646// 6647// err := req.Send() 6648// if err == nil { // resp is now filled 6649// fmt.Println(resp) 6650// } 6651// 6652// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies 6653func (c *CloudFront) ListOriginRequestPoliciesRequest(input *ListOriginRequestPoliciesInput) (req *request.Request, output *ListOriginRequestPoliciesOutput) { 6654 op := &request.Operation{ 6655 Name: opListOriginRequestPolicies, 6656 HTTPMethod: "GET", 6657 HTTPPath: "/2020-05-31/origin-request-policy", 6658 } 6659 6660 if input == nil { 6661 input = &ListOriginRequestPoliciesInput{} 6662 } 6663 6664 output = &ListOriginRequestPoliciesOutput{} 6665 req = c.newRequest(op, input, output) 6666 return 6667} 6668 6669// ListOriginRequestPolicies API operation for Amazon CloudFront. 6670// 6671// Gets a list of origin request policies. 6672// 6673// You can optionally apply a filter to return only the managed policies created 6674// by Amazon Web Services, or only the custom policies created in your account. 6675// 6676// You can optionally specify the maximum number of items to receive in the 6677// response. If the total number of items in the list exceeds the maximum that 6678// you specify, or the default maximum, the response is paginated. To get the 6679// next page of items, send a subsequent request that specifies the NextMarker 6680// value from the current response as the Marker value in the subsequent request. 6681// 6682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6683// with awserr.Error's Code and Message methods to get detailed information about 6684// the error. 6685// 6686// See the AWS API reference guide for Amazon CloudFront's 6687// API operation ListOriginRequestPolicies for usage and error information. 6688// 6689// Returned Error Codes: 6690// * ErrCodeAccessDenied "AccessDenied" 6691// Access denied. 6692// 6693// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 6694// The origin request policy does not exist. 6695// 6696// * ErrCodeInvalidArgument "InvalidArgument" 6697// An argument is invalid. 6698// 6699// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginRequestPolicies 6700func (c *CloudFront) ListOriginRequestPolicies(input *ListOriginRequestPoliciesInput) (*ListOriginRequestPoliciesOutput, error) { 6701 req, out := c.ListOriginRequestPoliciesRequest(input) 6702 return out, req.Send() 6703} 6704 6705// ListOriginRequestPoliciesWithContext is the same as ListOriginRequestPolicies with the addition of 6706// the ability to pass a context and additional request options. 6707// 6708// See ListOriginRequestPolicies for details on how to use this API operation. 6709// 6710// The context must be non-nil and will be used for request cancellation. If 6711// the context is nil a panic will occur. In the future the SDK may create 6712// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6713// for more information on using Contexts. 6714func (c *CloudFront) ListOriginRequestPoliciesWithContext(ctx aws.Context, input *ListOriginRequestPoliciesInput, opts ...request.Option) (*ListOriginRequestPoliciesOutput, error) { 6715 req, out := c.ListOriginRequestPoliciesRequest(input) 6716 req.SetContext(ctx) 6717 req.ApplyOptions(opts...) 6718 return out, req.Send() 6719} 6720 6721const opListPublicKeys = "ListPublicKeys2020_05_31" 6722 6723// ListPublicKeysRequest generates a "aws/request.Request" representing the 6724// client's request for the ListPublicKeys operation. The "output" return 6725// value will be populated with the request's response once the request completes 6726// successfully. 6727// 6728// Use "Send" method on the returned Request to send the API call to the service. 6729// the "output" return value is not valid until after Send returns without error. 6730// 6731// See ListPublicKeys for more information on using the ListPublicKeys 6732// API call, and error handling. 6733// 6734// This method is useful when you want to inject custom logic or configuration 6735// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6736// 6737// 6738// // Example sending a request using the ListPublicKeysRequest method. 6739// req, resp := client.ListPublicKeysRequest(params) 6740// 6741// err := req.Send() 6742// if err == nil { // resp is now filled 6743// fmt.Println(resp) 6744// } 6745// 6746// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys 6747func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *request.Request, output *ListPublicKeysOutput) { 6748 op := &request.Operation{ 6749 Name: opListPublicKeys, 6750 HTTPMethod: "GET", 6751 HTTPPath: "/2020-05-31/public-key", 6752 } 6753 6754 if input == nil { 6755 input = &ListPublicKeysInput{} 6756 } 6757 6758 output = &ListPublicKeysOutput{} 6759 req = c.newRequest(op, input, output) 6760 return 6761} 6762 6763// ListPublicKeys API operation for Amazon CloudFront. 6764// 6765// List all public keys that have been added to CloudFront for this account. 6766// 6767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6768// with awserr.Error's Code and Message methods to get detailed information about 6769// the error. 6770// 6771// See the AWS API reference guide for Amazon CloudFront's 6772// API operation ListPublicKeys for usage and error information. 6773// 6774// Returned Error Codes: 6775// * ErrCodeInvalidArgument "InvalidArgument" 6776// An argument is invalid. 6777// 6778// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListPublicKeys 6779func (c *CloudFront) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { 6780 req, out := c.ListPublicKeysRequest(input) 6781 return out, req.Send() 6782} 6783 6784// ListPublicKeysWithContext is the same as ListPublicKeys with the addition of 6785// the ability to pass a context and additional request options. 6786// 6787// See ListPublicKeys for details on how to use this API operation. 6788// 6789// The context must be non-nil and will be used for request cancellation. If 6790// the context is nil a panic will occur. In the future the SDK may create 6791// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6792// for more information on using Contexts. 6793func (c *CloudFront) ListPublicKeysWithContext(ctx aws.Context, input *ListPublicKeysInput, opts ...request.Option) (*ListPublicKeysOutput, error) { 6794 req, out := c.ListPublicKeysRequest(input) 6795 req.SetContext(ctx) 6796 req.ApplyOptions(opts...) 6797 return out, req.Send() 6798} 6799 6800const opListRealtimeLogConfigs = "ListRealtimeLogConfigs2020_05_31" 6801 6802// ListRealtimeLogConfigsRequest generates a "aws/request.Request" representing the 6803// client's request for the ListRealtimeLogConfigs operation. The "output" return 6804// value will be populated with the request's response once the request completes 6805// successfully. 6806// 6807// Use "Send" method on the returned Request to send the API call to the service. 6808// the "output" return value is not valid until after Send returns without error. 6809// 6810// See ListRealtimeLogConfigs for more information on using the ListRealtimeLogConfigs 6811// API call, and error handling. 6812// 6813// This method is useful when you want to inject custom logic or configuration 6814// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6815// 6816// 6817// // Example sending a request using the ListRealtimeLogConfigsRequest method. 6818// req, resp := client.ListRealtimeLogConfigsRequest(params) 6819// 6820// err := req.Send() 6821// if err == nil { // resp is now filled 6822// fmt.Println(resp) 6823// } 6824// 6825// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigs 6826func (c *CloudFront) ListRealtimeLogConfigsRequest(input *ListRealtimeLogConfigsInput) (req *request.Request, output *ListRealtimeLogConfigsOutput) { 6827 op := &request.Operation{ 6828 Name: opListRealtimeLogConfigs, 6829 HTTPMethod: "GET", 6830 HTTPPath: "/2020-05-31/realtime-log-config", 6831 } 6832 6833 if input == nil { 6834 input = &ListRealtimeLogConfigsInput{} 6835 } 6836 6837 output = &ListRealtimeLogConfigsOutput{} 6838 req = c.newRequest(op, input, output) 6839 return 6840} 6841 6842// ListRealtimeLogConfigs API operation for Amazon CloudFront. 6843// 6844// Gets a list of real-time log configurations. 6845// 6846// You can optionally specify the maximum number of items to receive in the 6847// response. If the total number of items in the list exceeds the maximum that 6848// you specify, or the default maximum, the response is paginated. To get the 6849// next page of items, send a subsequent request that specifies the NextMarker 6850// value from the current response as the Marker value in the subsequent request. 6851// 6852// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6853// with awserr.Error's Code and Message methods to get detailed information about 6854// the error. 6855// 6856// See the AWS API reference guide for Amazon CloudFront's 6857// API operation ListRealtimeLogConfigs for usage and error information. 6858// 6859// Returned Error Codes: 6860// * ErrCodeInvalidArgument "InvalidArgument" 6861// An argument is invalid. 6862// 6863// * ErrCodeAccessDenied "AccessDenied" 6864// Access denied. 6865// 6866// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 6867// The real-time log configuration does not exist. 6868// 6869// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListRealtimeLogConfigs 6870func (c *CloudFront) ListRealtimeLogConfigs(input *ListRealtimeLogConfigsInput) (*ListRealtimeLogConfigsOutput, error) { 6871 req, out := c.ListRealtimeLogConfigsRequest(input) 6872 return out, req.Send() 6873} 6874 6875// ListRealtimeLogConfigsWithContext is the same as ListRealtimeLogConfigs with the addition of 6876// the ability to pass a context and additional request options. 6877// 6878// See ListRealtimeLogConfigs for details on how to use this API operation. 6879// 6880// The context must be non-nil and will be used for request cancellation. If 6881// the context is nil a panic will occur. In the future the SDK may create 6882// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6883// for more information on using Contexts. 6884func (c *CloudFront) ListRealtimeLogConfigsWithContext(ctx aws.Context, input *ListRealtimeLogConfigsInput, opts ...request.Option) (*ListRealtimeLogConfigsOutput, error) { 6885 req, out := c.ListRealtimeLogConfigsRequest(input) 6886 req.SetContext(ctx) 6887 req.ApplyOptions(opts...) 6888 return out, req.Send() 6889} 6890 6891const opListStreamingDistributions = "ListStreamingDistributions2020_05_31" 6892 6893// ListStreamingDistributionsRequest generates a "aws/request.Request" representing the 6894// client's request for the ListStreamingDistributions operation. The "output" return 6895// value will be populated with the request's response once the request completes 6896// successfully. 6897// 6898// Use "Send" method on the returned Request to send the API call to the service. 6899// the "output" return value is not valid until after Send returns without error. 6900// 6901// See ListStreamingDistributions for more information on using the ListStreamingDistributions 6902// API call, and error handling. 6903// 6904// This method is useful when you want to inject custom logic or configuration 6905// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6906// 6907// 6908// // Example sending a request using the ListStreamingDistributionsRequest method. 6909// req, resp := client.ListStreamingDistributionsRequest(params) 6910// 6911// err := req.Send() 6912// if err == nil { // resp is now filled 6913// fmt.Println(resp) 6914// } 6915// 6916// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions 6917func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) { 6918 op := &request.Operation{ 6919 Name: opListStreamingDistributions, 6920 HTTPMethod: "GET", 6921 HTTPPath: "/2020-05-31/streaming-distribution", 6922 Paginator: &request.Paginator{ 6923 InputTokens: []string{"Marker"}, 6924 OutputTokens: []string{"StreamingDistributionList.NextMarker"}, 6925 LimitToken: "MaxItems", 6926 TruncationToken: "StreamingDistributionList.IsTruncated", 6927 }, 6928 } 6929 6930 if input == nil { 6931 input = &ListStreamingDistributionsInput{} 6932 } 6933 6934 output = &ListStreamingDistributionsOutput{} 6935 req = c.newRequest(op, input, output) 6936 return 6937} 6938 6939// ListStreamingDistributions API operation for Amazon CloudFront. 6940// 6941// List streaming distributions. 6942// 6943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6944// with awserr.Error's Code and Message methods to get detailed information about 6945// the error. 6946// 6947// See the AWS API reference guide for Amazon CloudFront's 6948// API operation ListStreamingDistributions for usage and error information. 6949// 6950// Returned Error Codes: 6951// * ErrCodeInvalidArgument "InvalidArgument" 6952// An argument is invalid. 6953// 6954// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListStreamingDistributions 6955func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { 6956 req, out := c.ListStreamingDistributionsRequest(input) 6957 return out, req.Send() 6958} 6959 6960// ListStreamingDistributionsWithContext is the same as ListStreamingDistributions with the addition of 6961// the ability to pass a context and additional request options. 6962// 6963// See ListStreamingDistributions for details on how to use this API operation. 6964// 6965// The context must be non-nil and will be used for request cancellation. If 6966// the context is nil a panic will occur. In the future the SDK may create 6967// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6968// for more information on using Contexts. 6969func (c *CloudFront) ListStreamingDistributionsWithContext(ctx aws.Context, input *ListStreamingDistributionsInput, opts ...request.Option) (*ListStreamingDistributionsOutput, error) { 6970 req, out := c.ListStreamingDistributionsRequest(input) 6971 req.SetContext(ctx) 6972 req.ApplyOptions(opts...) 6973 return out, req.Send() 6974} 6975 6976// ListStreamingDistributionsPages iterates over the pages of a ListStreamingDistributions operation, 6977// calling the "fn" function with the response data for each page. To stop 6978// iterating, return false from the fn function. 6979// 6980// See ListStreamingDistributions method for more information on how to use this operation. 6981// 6982// Note: This operation can generate multiple requests to a service. 6983// 6984// // Example iterating over at most 3 pages of a ListStreamingDistributions operation. 6985// pageNum := 0 6986// err := client.ListStreamingDistributionsPages(params, 6987// func(page *cloudfront.ListStreamingDistributionsOutput, lastPage bool) bool { 6988// pageNum++ 6989// fmt.Println(page) 6990// return pageNum <= 3 6991// }) 6992// 6993func (c *CloudFront) ListStreamingDistributionsPages(input *ListStreamingDistributionsInput, fn func(*ListStreamingDistributionsOutput, bool) bool) error { 6994 return c.ListStreamingDistributionsPagesWithContext(aws.BackgroundContext(), input, fn) 6995} 6996 6997// ListStreamingDistributionsPagesWithContext same as ListStreamingDistributionsPages except 6998// it takes a Context and allows setting request options on the pages. 6999// 7000// The context must be non-nil and will be used for request cancellation. If 7001// the context is nil a panic will occur. In the future the SDK may create 7002// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7003// for more information on using Contexts. 7004func (c *CloudFront) ListStreamingDistributionsPagesWithContext(ctx aws.Context, input *ListStreamingDistributionsInput, fn func(*ListStreamingDistributionsOutput, bool) bool, opts ...request.Option) error { 7005 p := request.Pagination{ 7006 NewRequest: func() (*request.Request, error) { 7007 var inCpy *ListStreamingDistributionsInput 7008 if input != nil { 7009 tmp := *input 7010 inCpy = &tmp 7011 } 7012 req, _ := c.ListStreamingDistributionsRequest(inCpy) 7013 req.SetContext(ctx) 7014 req.ApplyOptions(opts...) 7015 return req, nil 7016 }, 7017 } 7018 7019 for p.Next() { 7020 if !fn(p.Page().(*ListStreamingDistributionsOutput), !p.HasNextPage()) { 7021 break 7022 } 7023 } 7024 7025 return p.Err() 7026} 7027 7028const opListTagsForResource = "ListTagsForResource2020_05_31" 7029 7030// ListTagsForResourceRequest generates a "aws/request.Request" representing the 7031// client's request for the ListTagsForResource operation. The "output" return 7032// value will be populated with the request's response once the request completes 7033// successfully. 7034// 7035// Use "Send" method on the returned Request to send the API call to the service. 7036// the "output" return value is not valid until after Send returns without error. 7037// 7038// See ListTagsForResource for more information on using the ListTagsForResource 7039// API call, and error handling. 7040// 7041// This method is useful when you want to inject custom logic or configuration 7042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7043// 7044// 7045// // Example sending a request using the ListTagsForResourceRequest method. 7046// req, resp := client.ListTagsForResourceRequest(params) 7047// 7048// err := req.Send() 7049// if err == nil { // resp is now filled 7050// fmt.Println(resp) 7051// } 7052// 7053// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource 7054func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 7055 op := &request.Operation{ 7056 Name: opListTagsForResource, 7057 HTTPMethod: "GET", 7058 HTTPPath: "/2020-05-31/tagging", 7059 } 7060 7061 if input == nil { 7062 input = &ListTagsForResourceInput{} 7063 } 7064 7065 output = &ListTagsForResourceOutput{} 7066 req = c.newRequest(op, input, output) 7067 return 7068} 7069 7070// ListTagsForResource API operation for Amazon CloudFront. 7071// 7072// List tags for a CloudFront resource. 7073// 7074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7075// with awserr.Error's Code and Message methods to get detailed information about 7076// the error. 7077// 7078// See the AWS API reference guide for Amazon CloudFront's 7079// API operation ListTagsForResource for usage and error information. 7080// 7081// Returned Error Codes: 7082// * ErrCodeAccessDenied "AccessDenied" 7083// Access denied. 7084// 7085// * ErrCodeInvalidArgument "InvalidArgument" 7086// An argument is invalid. 7087// 7088// * ErrCodeInvalidTagging "InvalidTagging" 7089// The tagging specified is not valid. 7090// 7091// * ErrCodeNoSuchResource "NoSuchResource" 7092// A resource that was specified is not valid. 7093// 7094// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListTagsForResource 7095func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 7096 req, out := c.ListTagsForResourceRequest(input) 7097 return out, req.Send() 7098} 7099 7100// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 7101// the ability to pass a context and additional request options. 7102// 7103// See ListTagsForResource for details on how to use this API operation. 7104// 7105// The context must be non-nil and will be used for request cancellation. If 7106// the context is nil a panic will occur. In the future the SDK may create 7107// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7108// for more information on using Contexts. 7109func (c *CloudFront) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 7110 req, out := c.ListTagsForResourceRequest(input) 7111 req.SetContext(ctx) 7112 req.ApplyOptions(opts...) 7113 return out, req.Send() 7114} 7115 7116const opPublishFunction = "PublishFunction2020_05_31" 7117 7118// PublishFunctionRequest generates a "aws/request.Request" representing the 7119// client's request for the PublishFunction operation. The "output" return 7120// value will be populated with the request's response once the request completes 7121// successfully. 7122// 7123// Use "Send" method on the returned Request to send the API call to the service. 7124// the "output" return value is not valid until after Send returns without error. 7125// 7126// See PublishFunction for more information on using the PublishFunction 7127// API call, and error handling. 7128// 7129// This method is useful when you want to inject custom logic or configuration 7130// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7131// 7132// 7133// // Example sending a request using the PublishFunctionRequest method. 7134// req, resp := client.PublishFunctionRequest(params) 7135// 7136// err := req.Send() 7137// if err == nil { // resp is now filled 7138// fmt.Println(resp) 7139// } 7140// 7141// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunction 7142func (c *CloudFront) PublishFunctionRequest(input *PublishFunctionInput) (req *request.Request, output *PublishFunctionOutput) { 7143 op := &request.Operation{ 7144 Name: opPublishFunction, 7145 HTTPMethod: "POST", 7146 HTTPPath: "/2020-05-31/function/{Name}/publish", 7147 } 7148 7149 if input == nil { 7150 input = &PublishFunctionInput{} 7151 } 7152 7153 output = &PublishFunctionOutput{} 7154 req = c.newRequest(op, input, output) 7155 return 7156} 7157 7158// PublishFunction API operation for Amazon CloudFront. 7159// 7160// Publishes a CloudFront function by copying the function code from the DEVELOPMENT 7161// stage to LIVE. This automatically updates all cache behaviors that are using 7162// this function to use the newly published copy in the LIVE stage. 7163// 7164// When a function is published to the LIVE stage, you can attach the function 7165// to a distribution’s cache behavior, using the function’s Amazon Resource 7166// Name (ARN). 7167// 7168// To publish a function, you must provide the function’s name and version 7169// (ETag value). To get these values, you can use ListFunctions and DescribeFunction. 7170// 7171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7172// with awserr.Error's Code and Message methods to get detailed information about 7173// the error. 7174// 7175// See the AWS API reference guide for Amazon CloudFront's 7176// API operation PublishFunction for usage and error information. 7177// 7178// Returned Error Codes: 7179// * ErrCodeInvalidArgument "InvalidArgument" 7180// An argument is invalid. 7181// 7182// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 7183// The If-Match version is missing or not valid. 7184// 7185// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 7186// The function does not exist. 7187// 7188// * ErrCodePreconditionFailed "PreconditionFailed" 7189// The precondition in one or more of the request fields evaluated to false. 7190// 7191// * ErrCodeUnsupportedOperation "UnsupportedOperation" 7192// This operation is not supported in this region. 7193// 7194// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/PublishFunction 7195func (c *CloudFront) PublishFunction(input *PublishFunctionInput) (*PublishFunctionOutput, error) { 7196 req, out := c.PublishFunctionRequest(input) 7197 return out, req.Send() 7198} 7199 7200// PublishFunctionWithContext is the same as PublishFunction with the addition of 7201// the ability to pass a context and additional request options. 7202// 7203// See PublishFunction for details on how to use this API operation. 7204// 7205// The context must be non-nil and will be used for request cancellation. If 7206// the context is nil a panic will occur. In the future the SDK may create 7207// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7208// for more information on using Contexts. 7209func (c *CloudFront) PublishFunctionWithContext(ctx aws.Context, input *PublishFunctionInput, opts ...request.Option) (*PublishFunctionOutput, error) { 7210 req, out := c.PublishFunctionRequest(input) 7211 req.SetContext(ctx) 7212 req.ApplyOptions(opts...) 7213 return out, req.Send() 7214} 7215 7216const opTagResource = "TagResource2020_05_31" 7217 7218// TagResourceRequest generates a "aws/request.Request" representing the 7219// client's request for the TagResource operation. The "output" return 7220// value will be populated with the request's response once the request completes 7221// successfully. 7222// 7223// Use "Send" method on the returned Request to send the API call to the service. 7224// the "output" return value is not valid until after Send returns without error. 7225// 7226// See TagResource for more information on using the TagResource 7227// API call, and error handling. 7228// 7229// This method is useful when you want to inject custom logic or configuration 7230// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7231// 7232// 7233// // Example sending a request using the TagResourceRequest method. 7234// req, resp := client.TagResourceRequest(params) 7235// 7236// err := req.Send() 7237// if err == nil { // resp is now filled 7238// fmt.Println(resp) 7239// } 7240// 7241// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource 7242func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 7243 op := &request.Operation{ 7244 Name: opTagResource, 7245 HTTPMethod: "POST", 7246 HTTPPath: "/2020-05-31/tagging?Operation=Tag", 7247 } 7248 7249 if input == nil { 7250 input = &TagResourceInput{} 7251 } 7252 7253 output = &TagResourceOutput{} 7254 req = c.newRequest(op, input, output) 7255 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7256 return 7257} 7258 7259// TagResource API operation for Amazon CloudFront. 7260// 7261// Add tags to a CloudFront resource. 7262// 7263// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7264// with awserr.Error's Code and Message methods to get detailed information about 7265// the error. 7266// 7267// See the AWS API reference guide for Amazon CloudFront's 7268// API operation TagResource for usage and error information. 7269// 7270// Returned Error Codes: 7271// * ErrCodeAccessDenied "AccessDenied" 7272// Access denied. 7273// 7274// * ErrCodeInvalidArgument "InvalidArgument" 7275// An argument is invalid. 7276// 7277// * ErrCodeInvalidTagging "InvalidTagging" 7278// The tagging specified is not valid. 7279// 7280// * ErrCodeNoSuchResource "NoSuchResource" 7281// A resource that was specified is not valid. 7282// 7283// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TagResource 7284func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 7285 req, out := c.TagResourceRequest(input) 7286 return out, req.Send() 7287} 7288 7289// TagResourceWithContext is the same as TagResource with the addition of 7290// the ability to pass a context and additional request options. 7291// 7292// See TagResource for details on how to use this API operation. 7293// 7294// The context must be non-nil and will be used for request cancellation. If 7295// the context is nil a panic will occur. In the future the SDK may create 7296// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7297// for more information on using Contexts. 7298func (c *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 7299 req, out := c.TagResourceRequest(input) 7300 req.SetContext(ctx) 7301 req.ApplyOptions(opts...) 7302 return out, req.Send() 7303} 7304 7305const opTestFunction = "TestFunction2020_05_31" 7306 7307// TestFunctionRequest generates a "aws/request.Request" representing the 7308// client's request for the TestFunction operation. The "output" return 7309// value will be populated with the request's response once the request completes 7310// successfully. 7311// 7312// Use "Send" method on the returned Request to send the API call to the service. 7313// the "output" return value is not valid until after Send returns without error. 7314// 7315// See TestFunction for more information on using the TestFunction 7316// API call, and error handling. 7317// 7318// This method is useful when you want to inject custom logic or configuration 7319// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7320// 7321// 7322// // Example sending a request using the TestFunctionRequest method. 7323// req, resp := client.TestFunctionRequest(params) 7324// 7325// err := req.Send() 7326// if err == nil { // resp is now filled 7327// fmt.Println(resp) 7328// } 7329// 7330// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunction 7331func (c *CloudFront) TestFunctionRequest(input *TestFunctionInput) (req *request.Request, output *TestFunctionOutput) { 7332 op := &request.Operation{ 7333 Name: opTestFunction, 7334 HTTPMethod: "POST", 7335 HTTPPath: "/2020-05-31/function/{Name}/test", 7336 } 7337 7338 if input == nil { 7339 input = &TestFunctionInput{} 7340 } 7341 7342 output = &TestFunctionOutput{} 7343 req = c.newRequest(op, input, output) 7344 return 7345} 7346 7347// TestFunction API operation for Amazon CloudFront. 7348// 7349// Tests a CloudFront function. 7350// 7351// To test a function, you provide an event object that represents an HTTP request 7352// or response that your CloudFront distribution could receive in production. 7353// CloudFront runs the function, passing it the event object that you provided, 7354// and returns the function’s result (the modified event object) in the response. 7355// The response also contains function logs and error messages, if any exist. 7356// For more information about testing functions, see Testing functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function) 7357// in the Amazon CloudFront Developer Guide. 7358// 7359// To test a function, you provide the function’s name and version (ETag value) 7360// along with the event object. To get the function’s name and version, you 7361// can use ListFunctions and DescribeFunction. 7362// 7363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7364// with awserr.Error's Code and Message methods to get detailed information about 7365// the error. 7366// 7367// See the AWS API reference guide for Amazon CloudFront's 7368// API operation TestFunction for usage and error information. 7369// 7370// Returned Error Codes: 7371// * ErrCodeInvalidArgument "InvalidArgument" 7372// An argument is invalid. 7373// 7374// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 7375// The If-Match version is missing or not valid. 7376// 7377// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 7378// The function does not exist. 7379// 7380// * ErrCodeTestFunctionFailed "TestFunctionFailed" 7381// The CloudFront function failed. 7382// 7383// * ErrCodeUnsupportedOperation "UnsupportedOperation" 7384// This operation is not supported in this region. 7385// 7386// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TestFunction 7387func (c *CloudFront) TestFunction(input *TestFunctionInput) (*TestFunctionOutput, error) { 7388 req, out := c.TestFunctionRequest(input) 7389 return out, req.Send() 7390} 7391 7392// TestFunctionWithContext is the same as TestFunction with the addition of 7393// the ability to pass a context and additional request options. 7394// 7395// See TestFunction for details on how to use this API operation. 7396// 7397// The context must be non-nil and will be used for request cancellation. If 7398// the context is nil a panic will occur. In the future the SDK may create 7399// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7400// for more information on using Contexts. 7401func (c *CloudFront) TestFunctionWithContext(ctx aws.Context, input *TestFunctionInput, opts ...request.Option) (*TestFunctionOutput, error) { 7402 req, out := c.TestFunctionRequest(input) 7403 req.SetContext(ctx) 7404 req.ApplyOptions(opts...) 7405 return out, req.Send() 7406} 7407 7408const opUntagResource = "UntagResource2020_05_31" 7409 7410// UntagResourceRequest generates a "aws/request.Request" representing the 7411// client's request for the UntagResource operation. The "output" return 7412// value will be populated with the request's response once the request completes 7413// successfully. 7414// 7415// Use "Send" method on the returned Request to send the API call to the service. 7416// the "output" return value is not valid until after Send returns without error. 7417// 7418// See UntagResource for more information on using the UntagResource 7419// API call, and error handling. 7420// 7421// This method is useful when you want to inject custom logic or configuration 7422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7423// 7424// 7425// // Example sending a request using the UntagResourceRequest method. 7426// req, resp := client.UntagResourceRequest(params) 7427// 7428// err := req.Send() 7429// if err == nil { // resp is now filled 7430// fmt.Println(resp) 7431// } 7432// 7433// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource 7434func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 7435 op := &request.Operation{ 7436 Name: opUntagResource, 7437 HTTPMethod: "POST", 7438 HTTPPath: "/2020-05-31/tagging?Operation=Untag", 7439 } 7440 7441 if input == nil { 7442 input = &UntagResourceInput{} 7443 } 7444 7445 output = &UntagResourceOutput{} 7446 req = c.newRequest(op, input, output) 7447 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 7448 return 7449} 7450 7451// UntagResource API operation for Amazon CloudFront. 7452// 7453// Remove tags from a CloudFront resource. 7454// 7455// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7456// with awserr.Error's Code and Message methods to get detailed information about 7457// the error. 7458// 7459// See the AWS API reference guide for Amazon CloudFront's 7460// API operation UntagResource for usage and error information. 7461// 7462// Returned Error Codes: 7463// * ErrCodeAccessDenied "AccessDenied" 7464// Access denied. 7465// 7466// * ErrCodeInvalidArgument "InvalidArgument" 7467// An argument is invalid. 7468// 7469// * ErrCodeInvalidTagging "InvalidTagging" 7470// The tagging specified is not valid. 7471// 7472// * ErrCodeNoSuchResource "NoSuchResource" 7473// A resource that was specified is not valid. 7474// 7475// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UntagResource 7476func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 7477 req, out := c.UntagResourceRequest(input) 7478 return out, req.Send() 7479} 7480 7481// UntagResourceWithContext is the same as UntagResource with the addition of 7482// the ability to pass a context and additional request options. 7483// 7484// See UntagResource for details on how to use this API operation. 7485// 7486// The context must be non-nil and will be used for request cancellation. If 7487// the context is nil a panic will occur. In the future the SDK may create 7488// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7489// for more information on using Contexts. 7490func (c *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 7491 req, out := c.UntagResourceRequest(input) 7492 req.SetContext(ctx) 7493 req.ApplyOptions(opts...) 7494 return out, req.Send() 7495} 7496 7497const opUpdateCachePolicy = "UpdateCachePolicy2020_05_31" 7498 7499// UpdateCachePolicyRequest generates a "aws/request.Request" representing the 7500// client's request for the UpdateCachePolicy operation. The "output" return 7501// value will be populated with the request's response once the request completes 7502// successfully. 7503// 7504// Use "Send" method on the returned Request to send the API call to the service. 7505// the "output" return value is not valid until after Send returns without error. 7506// 7507// See UpdateCachePolicy for more information on using the UpdateCachePolicy 7508// API call, and error handling. 7509// 7510// This method is useful when you want to inject custom logic or configuration 7511// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7512// 7513// 7514// // Example sending a request using the UpdateCachePolicyRequest method. 7515// req, resp := client.UpdateCachePolicyRequest(params) 7516// 7517// err := req.Send() 7518// if err == nil { // resp is now filled 7519// fmt.Println(resp) 7520// } 7521// 7522// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy 7523func (c *CloudFront) UpdateCachePolicyRequest(input *UpdateCachePolicyInput) (req *request.Request, output *UpdateCachePolicyOutput) { 7524 op := &request.Operation{ 7525 Name: opUpdateCachePolicy, 7526 HTTPMethod: "PUT", 7527 HTTPPath: "/2020-05-31/cache-policy/{Id}", 7528 } 7529 7530 if input == nil { 7531 input = &UpdateCachePolicyInput{} 7532 } 7533 7534 output = &UpdateCachePolicyOutput{} 7535 req = c.newRequest(op, input, output) 7536 return 7537} 7538 7539// UpdateCachePolicy API operation for Amazon CloudFront. 7540// 7541// Updates a cache policy configuration. 7542// 7543// When you update a cache policy configuration, all the fields are updated 7544// with the values provided in the request. You cannot update some fields independent 7545// of others. To update a cache policy configuration: 7546// 7547// Use GetCachePolicyConfig to get the current configuration. 7548// 7549// Locally modify the fields in the cache policy configuration that you want 7550// to update. 7551// 7552// Call UpdateCachePolicy by providing the entire cache policy configuration, 7553// including the fields that you modified and those that you didn’t. 7554// 7555// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7556// with awserr.Error's Code and Message methods to get detailed information about 7557// the error. 7558// 7559// See the AWS API reference guide for Amazon CloudFront's 7560// API operation UpdateCachePolicy for usage and error information. 7561// 7562// Returned Error Codes: 7563// * ErrCodeAccessDenied "AccessDenied" 7564// Access denied. 7565// 7566// * ErrCodeIllegalUpdate "IllegalUpdate" 7567// The update contains modifications that are not allowed. 7568// 7569// * ErrCodeInconsistentQuantities "InconsistentQuantities" 7570// The value of Quantity and the size of Items don't match. 7571// 7572// * ErrCodeInvalidArgument "InvalidArgument" 7573// An argument is invalid. 7574// 7575// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 7576// The If-Match version is missing or not valid. 7577// 7578// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 7579// The cache policy does not exist. 7580// 7581// * ErrCodePreconditionFailed "PreconditionFailed" 7582// The precondition in one or more of the request fields evaluated to false. 7583// 7584// * ErrCodeCachePolicyAlreadyExists "CachePolicyAlreadyExists" 7585// A cache policy with this name already exists. You must provide a unique name. 7586// To modify an existing cache policy, use UpdateCachePolicy. 7587// 7588// * ErrCodeTooManyHeadersInCachePolicy "TooManyHeadersInCachePolicy" 7589// The number of headers in the cache policy exceeds the maximum. For more information, 7590// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 7591// (formerly known as limits) in the Amazon CloudFront Developer Guide. 7592// 7593// * ErrCodeTooManyCookiesInCachePolicy "TooManyCookiesInCachePolicy" 7594// The number of cookies in the cache policy exceeds the maximum. For more information, 7595// see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 7596// (formerly known as limits) in the Amazon CloudFront Developer Guide. 7597// 7598// * ErrCodeTooManyQueryStringsInCachePolicy "TooManyQueryStringsInCachePolicy" 7599// The number of query strings in the cache policy exceeds the maximum. For 7600// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 7601// (formerly known as limits) in the Amazon CloudFront Developer Guide. 7602// 7603// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCachePolicy 7604func (c *CloudFront) UpdateCachePolicy(input *UpdateCachePolicyInput) (*UpdateCachePolicyOutput, error) { 7605 req, out := c.UpdateCachePolicyRequest(input) 7606 return out, req.Send() 7607} 7608 7609// UpdateCachePolicyWithContext is the same as UpdateCachePolicy with the addition of 7610// the ability to pass a context and additional request options. 7611// 7612// See UpdateCachePolicy for details on how to use this API operation. 7613// 7614// The context must be non-nil and will be used for request cancellation. If 7615// the context is nil a panic will occur. In the future the SDK may create 7616// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7617// for more information on using Contexts. 7618func (c *CloudFront) UpdateCachePolicyWithContext(ctx aws.Context, input *UpdateCachePolicyInput, opts ...request.Option) (*UpdateCachePolicyOutput, error) { 7619 req, out := c.UpdateCachePolicyRequest(input) 7620 req.SetContext(ctx) 7621 req.ApplyOptions(opts...) 7622 return out, req.Send() 7623} 7624 7625const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2020_05_31" 7626 7627// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 7628// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return 7629// value will be populated with the request's response once the request completes 7630// successfully. 7631// 7632// Use "Send" method on the returned Request to send the API call to the service. 7633// the "output" return value is not valid until after Send returns without error. 7634// 7635// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity 7636// API call, and error handling. 7637// 7638// This method is useful when you want to inject custom logic or configuration 7639// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7640// 7641// 7642// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. 7643// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) 7644// 7645// err := req.Send() 7646// if err == nil { // resp is now filled 7647// fmt.Println(resp) 7648// } 7649// 7650// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity 7651func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { 7652 op := &request.Operation{ 7653 Name: opUpdateCloudFrontOriginAccessIdentity, 7654 HTTPMethod: "PUT", 7655 HTTPPath: "/2020-05-31/origin-access-identity/cloudfront/{Id}/config", 7656 } 7657 7658 if input == nil { 7659 input = &UpdateCloudFrontOriginAccessIdentityInput{} 7660 } 7661 7662 output = &UpdateCloudFrontOriginAccessIdentityOutput{} 7663 req = c.newRequest(op, input, output) 7664 return 7665} 7666 7667// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 7668// 7669// Update an origin access identity. 7670// 7671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7672// with awserr.Error's Code and Message methods to get detailed information about 7673// the error. 7674// 7675// See the AWS API reference guide for Amazon CloudFront's 7676// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. 7677// 7678// Returned Error Codes: 7679// * ErrCodeAccessDenied "AccessDenied" 7680// Access denied. 7681// 7682// * ErrCodeIllegalUpdate "IllegalUpdate" 7683// The update contains modifications that are not allowed. 7684// 7685// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 7686// The If-Match version is missing or not valid. 7687// 7688// * ErrCodeMissingBody "MissingBody" 7689// This operation requires a body. Ensure that the body is present and the Content-Type 7690// header is set. 7691// 7692// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 7693// The specified origin access identity does not exist. 7694// 7695// * ErrCodePreconditionFailed "PreconditionFailed" 7696// The precondition in one or more of the request fields evaluated to false. 7697// 7698// * ErrCodeInvalidArgument "InvalidArgument" 7699// An argument is invalid. 7700// 7701// * ErrCodeInconsistentQuantities "InconsistentQuantities" 7702// The value of Quantity and the size of Items don't match. 7703// 7704// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateCloudFrontOriginAccessIdentity 7705func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { 7706 req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) 7707 return out, req.Send() 7708} 7709 7710// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of 7711// the ability to pass a context and additional request options. 7712// 7713// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. 7714// 7715// The context must be non-nil and will be used for request cancellation. If 7716// the context is nil a panic will occur. In the future the SDK may create 7717// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7718// for more information on using Contexts. 7719func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { 7720 req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) 7721 req.SetContext(ctx) 7722 req.ApplyOptions(opts...) 7723 return out, req.Send() 7724} 7725 7726const opUpdateDistribution = "UpdateDistribution2020_05_31" 7727 7728// UpdateDistributionRequest generates a "aws/request.Request" representing the 7729// client's request for the UpdateDistribution operation. The "output" return 7730// value will be populated with the request's response once the request completes 7731// successfully. 7732// 7733// Use "Send" method on the returned Request to send the API call to the service. 7734// the "output" return value is not valid until after Send returns without error. 7735// 7736// See UpdateDistribution for more information on using the UpdateDistribution 7737// API call, and error handling. 7738// 7739// This method is useful when you want to inject custom logic or configuration 7740// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7741// 7742// 7743// // Example sending a request using the UpdateDistributionRequest method. 7744// req, resp := client.UpdateDistributionRequest(params) 7745// 7746// err := req.Send() 7747// if err == nil { // resp is now filled 7748// fmt.Println(resp) 7749// } 7750// 7751// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution 7752func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { 7753 op := &request.Operation{ 7754 Name: opUpdateDistribution, 7755 HTTPMethod: "PUT", 7756 HTTPPath: "/2020-05-31/distribution/{Id}/config", 7757 } 7758 7759 if input == nil { 7760 input = &UpdateDistributionInput{} 7761 } 7762 7763 output = &UpdateDistributionOutput{} 7764 req = c.newRequest(op, input, output) 7765 return 7766} 7767 7768// UpdateDistribution API operation for Amazon CloudFront. 7769// 7770// Updates the configuration for a web distribution. 7771// 7772// When you update a distribution, there are more required fields than when 7773// you create a distribution. When you update your distribution by using this 7774// API action, follow the steps here to get the current configuration and then 7775// make your updates, to make sure that you include all of the required fields. 7776// To view a summary, see Required Fields for Create Distribution and Update 7777// Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) 7778// in the Amazon CloudFront Developer Guide. 7779// 7780// The update process includes getting the current distribution configuration, 7781// updating the XML document that is returned to make your changes, and then 7782// submitting an UpdateDistribution request to make the updates. 7783// 7784// For information about updating a distribution using the CloudFront console 7785// instead, see Creating a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) 7786// in the Amazon CloudFront Developer Guide. 7787// 7788// To update a web distribution using the CloudFront API 7789// 7790// Submit a GetDistributionConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) 7791// request to get the current configuration and an Etag header for the distribution. 7792// 7793// If you update the distribution again, you must get a new Etag header. 7794// 7795// Update the XML document that was returned in the response to your GetDistributionConfig 7796// request to include your changes. 7797// 7798// When you edit the XML file, be aware of the following: 7799// 7800// * You must strip out the ETag parameter that is returned. 7801// 7802// * Additional fields are required when you update a distribution. There 7803// may be fields included in the XML file for features that you haven't configured 7804// for your distribution. This is expected and required to successfully update 7805// the distribution. 7806// 7807// * You can't change the value of CallerReference. If you try to change 7808// this value, CloudFront returns an IllegalUpdate error. 7809// 7810// * The new configuration replaces the existing configuration; the values 7811// that you specify in an UpdateDistribution request are not merged into 7812// your existing configuration. When you add, delete, or replace values in 7813// an element that allows multiple values (for example, CNAME), you must 7814// specify all of the values that you want to appear in the updated distribution. 7815// In addition, you must update the corresponding Quantity element. 7816// 7817// Submit an UpdateDistribution request to update the configuration for your 7818// distribution: 7819// 7820// * In the request body, include the XML document that you updated in Step 7821// 2. The request body must include an XML document with a DistributionConfig 7822// element. 7823// 7824// * Set the value of the HTTP If-Match header to the value of the ETag header 7825// that CloudFront returned when you submitted the GetDistributionConfig 7826// request in Step 1. 7827// 7828// Review the response to the UpdateDistribution request to confirm that the 7829// configuration was successfully updated. 7830// 7831// Optional: Submit a GetDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html) 7832// request to confirm that your changes have propagated. When propagation is 7833// complete, the value of Status is Deployed. 7834// 7835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7836// with awserr.Error's Code and Message methods to get detailed information about 7837// the error. 7838// 7839// See the AWS API reference guide for Amazon CloudFront's 7840// API operation UpdateDistribution for usage and error information. 7841// 7842// Returned Error Codes: 7843// * ErrCodeAccessDenied "AccessDenied" 7844// Access denied. 7845// 7846// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 7847// The CNAME specified is already defined for CloudFront. 7848// 7849// * ErrCodeIllegalUpdate "IllegalUpdate" 7850// The update contains modifications that are not allowed. 7851// 7852// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 7853// The If-Match version is missing or not valid. 7854// 7855// * ErrCodeMissingBody "MissingBody" 7856// This operation requires a body. Ensure that the body is present and the Content-Type 7857// header is set. 7858// 7859// * ErrCodeNoSuchDistribution "NoSuchDistribution" 7860// The specified distribution does not exist. 7861// 7862// * ErrCodePreconditionFailed "PreconditionFailed" 7863// The precondition in one or more of the request fields evaluated to false. 7864// 7865// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 7866// Your request contains more CNAMEs than are allowed per distribution. 7867// 7868// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 7869// The default root object file name is too big or contains an invalid character. 7870// 7871// * ErrCodeInvalidRelativePath "InvalidRelativePath" 7872// The relative path is too big, is not URL-encoded, or does not begin with 7873// a slash (/). 7874// 7875// * ErrCodeInvalidErrorCode "InvalidErrorCode" 7876// An invalid error code was specified. 7877// 7878// * ErrCodeInvalidResponseCode "InvalidResponseCode" 7879// A response code is not valid. 7880// 7881// * ErrCodeInvalidArgument "InvalidArgument" 7882// An argument is invalid. 7883// 7884// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 7885// The origin access identity is not valid or doesn't exist. 7886// 7887// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 7888// Your request contains more trusted signers than are allowed per distribution. 7889// 7890// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 7891// One or more of your trusted signers don't exist. 7892// 7893// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 7894// A viewer certificate specified is not valid. 7895// 7896// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 7897// The minimum protocol version specified is not valid. 7898// 7899// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 7900// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 7901// protocol in your request, or omit the RequiredProtocols element from your 7902// distribution configuration. 7903// 7904// * ErrCodeNoSuchOrigin "NoSuchOrigin" 7905// No origin exists with the specified Origin Id. 7906// 7907// * ErrCodeTooManyOrigins "TooManyOrigins" 7908// You cannot create more origins for the distribution. 7909// 7910// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 7911// Processing your request would cause you to exceed the maximum number of origin 7912// groups allowed. 7913// 7914// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 7915// You cannot create more cache behaviors for the distribution. 7916// 7917// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 7918// Your request contains more cookie names in the whitelist than are allowed 7919// per cache behavior. 7920// 7921// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 7922// Your request contains forward cookies option which doesn't match with the 7923// expectation for the whitelisted list of cookie names. Either list of cookie 7924// names has been specified when not allowed or list of cookie names is missing 7925// when expected. 7926// 7927// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 7928// Your request contains too many headers in forwarded values. 7929// 7930// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 7931// The headers specified are not valid for an Amazon S3 origin. 7932// 7933// * ErrCodeInconsistentQuantities "InconsistentQuantities" 7934// The value of Quantity and the size of Items don't match. 7935// 7936// * ErrCodeTooManyCertificates "TooManyCertificates" 7937// You cannot create anymore custom SSL/TLS certificates. 7938// 7939// * ErrCodeInvalidLocationCode "InvalidLocationCode" 7940// The location code specified is not valid. 7941// 7942// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 7943// The specified geo restriction parameter is not valid. 7944// 7945// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 7946// The TTL order specified is not valid. 7947// 7948// * ErrCodeInvalidWebACLId "InvalidWebACLId" 7949// A web ACL ID specified is not valid. To specify a web ACL created using the 7950// latest version of WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 7951// To specify a web ACL created using WAF Classic, use the ACL ID, for example 7952// 473e64fd-f30b-4765-81a0-62ad96dd167a. 7953// 7954// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 7955// Your request contains too many origin custom headers. 7956// 7957// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 7958// Your request contains too many query string parameters. 7959// 7960// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 7961// The query string parameters specified are not valid. 7962// 7963// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 7964// Processing your request would cause the maximum number of distributions with 7965// Lambda@Edge function associations per owner to be exceeded. 7966// 7967// * ErrCodeTooManyDistributionsWithSingleFunctionARN "TooManyDistributionsWithSingleFunctionARN" 7968// The maximum number of distributions have been associated with the specified 7969// Lambda@Edge function. 7970// 7971// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 7972// Your request contains more Lambda@Edge function associations than are allowed 7973// per distribution. 7974// 7975// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 7976// The specified Lambda@Edge function association is invalid. 7977// 7978// * ErrCodeTooManyDistributionsWithFunctionAssociations "TooManyDistributionsWithFunctionAssociations" 7979// You have reached the maximum number of distributions that are associated 7980// with a CloudFront function. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 7981// (formerly known as limits) in the Amazon CloudFront Developer Guide. 7982// 7983// * ErrCodeTooManyFunctionAssociations "TooManyFunctionAssociations" 7984// You have reached the maximum number of CloudFront function associations for 7985// this distribution. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 7986// (formerly known as limits) in the Amazon CloudFront Developer Guide. 7987// 7988// * ErrCodeInvalidFunctionAssociation "InvalidFunctionAssociation" 7989// A CloudFront function association is invalid. 7990// 7991// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 7992// The read timeout specified for the origin is not valid. 7993// 7994// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 7995// The keep alive timeout specified for the origin is not valid. 7996// 7997// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 7998// The specified configuration for field-level encryption doesn't exist. 7999// 8000// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 8001// The specified configuration for field-level encryption can't be associated 8002// with the specified cache behavior. 8003// 8004// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 8005// The maximum number of distributions have been associated with the specified 8006// configuration for field-level encryption. 8007// 8008// * ErrCodeNoSuchCachePolicy "NoSuchCachePolicy" 8009// The cache policy does not exist. 8010// 8011// * ErrCodeTooManyDistributionsAssociatedToCachePolicy "TooManyDistributionsAssociatedToCachePolicy" 8012// The maximum number of distributions have been associated with the specified 8013// cache policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8014// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8015// 8016// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 8017// The origin request policy does not exist. 8018// 8019// * ErrCodeTooManyDistributionsAssociatedToOriginRequestPolicy "TooManyDistributionsAssociatedToOriginRequestPolicy" 8020// The maximum number of distributions have been associated with the specified 8021// origin request policy. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8022// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8023// 8024// * ErrCodeTooManyDistributionsAssociatedToKeyGroup "TooManyDistributionsAssociatedToKeyGroup" 8025// The number of distributions that reference this key group is more than the 8026// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8027// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8028// 8029// * ErrCodeTooManyKeyGroupsAssociatedToDistribution "TooManyKeyGroupsAssociatedToDistribution" 8030// The number of key groups referenced by this distribution is more than the 8031// maximum allowed. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8032// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8033// 8034// * ErrCodeTrustedKeyGroupDoesNotExist "TrustedKeyGroupDoesNotExist" 8035// The specified key group does not exist. 8036// 8037// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 8038// The real-time log configuration does not exist. 8039// 8040// * ErrCodeRealtimeLogConfigOwnerMismatch "RealtimeLogConfigOwnerMismatch" 8041// The specified real-time log configuration belongs to a different account. 8042// 8043// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateDistribution 8044func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { 8045 req, out := c.UpdateDistributionRequest(input) 8046 return out, req.Send() 8047} 8048 8049// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of 8050// the ability to pass a context and additional request options. 8051// 8052// See UpdateDistribution for details on how to use this API operation. 8053// 8054// The context must be non-nil and will be used for request cancellation. If 8055// the context is nil a panic will occur. In the future the SDK may create 8056// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8057// for more information on using Contexts. 8058func (c *CloudFront) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) { 8059 req, out := c.UpdateDistributionRequest(input) 8060 req.SetContext(ctx) 8061 req.ApplyOptions(opts...) 8062 return out, req.Send() 8063} 8064 8065const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2020_05_31" 8066 8067// UpdateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 8068// client's request for the UpdateFieldLevelEncryptionConfig operation. The "output" return 8069// value will be populated with the request's response once the request completes 8070// successfully. 8071// 8072// Use "Send" method on the returned Request to send the API call to the service. 8073// the "output" return value is not valid until after Send returns without error. 8074// 8075// See UpdateFieldLevelEncryptionConfig for more information on using the UpdateFieldLevelEncryptionConfig 8076// API call, and error handling. 8077// 8078// This method is useful when you want to inject custom logic or configuration 8079// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8080// 8081// 8082// // Example sending a request using the UpdateFieldLevelEncryptionConfigRequest method. 8083// req, resp := client.UpdateFieldLevelEncryptionConfigRequest(params) 8084// 8085// err := req.Send() 8086// if err == nil { // resp is now filled 8087// fmt.Println(resp) 8088// } 8089// 8090// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig 8091func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldLevelEncryptionConfigInput) (req *request.Request, output *UpdateFieldLevelEncryptionConfigOutput) { 8092 op := &request.Operation{ 8093 Name: opUpdateFieldLevelEncryptionConfig, 8094 HTTPMethod: "PUT", 8095 HTTPPath: "/2020-05-31/field-level-encryption/{Id}/config", 8096 } 8097 8098 if input == nil { 8099 input = &UpdateFieldLevelEncryptionConfigInput{} 8100 } 8101 8102 output = &UpdateFieldLevelEncryptionConfigOutput{} 8103 req = c.newRequest(op, input, output) 8104 return 8105} 8106 8107// UpdateFieldLevelEncryptionConfig API operation for Amazon CloudFront. 8108// 8109// Update a field-level encryption configuration. 8110// 8111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8112// with awserr.Error's Code and Message methods to get detailed information about 8113// the error. 8114// 8115// See the AWS API reference guide for Amazon CloudFront's 8116// API operation UpdateFieldLevelEncryptionConfig for usage and error information. 8117// 8118// Returned Error Codes: 8119// * ErrCodeAccessDenied "AccessDenied" 8120// Access denied. 8121// 8122// * ErrCodeIllegalUpdate "IllegalUpdate" 8123// The update contains modifications that are not allowed. 8124// 8125// * ErrCodeInconsistentQuantities "InconsistentQuantities" 8126// The value of Quantity and the size of Items don't match. 8127// 8128// * ErrCodeInvalidArgument "InvalidArgument" 8129// An argument is invalid. 8130// 8131// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8132// The If-Match version is missing or not valid. 8133// 8134// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 8135// The specified profile for field-level encryption doesn't exist. 8136// 8137// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 8138// The specified configuration for field-level encryption doesn't exist. 8139// 8140// * ErrCodePreconditionFailed "PreconditionFailed" 8141// The precondition in one or more of the request fields evaluated to false. 8142// 8143// * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" 8144// The maximum number of query arg profiles for field-level encryption have 8145// been created. 8146// 8147// * ErrCodeTooManyFieldLevelEncryptionContentTypeProfiles "TooManyFieldLevelEncryptionContentTypeProfiles" 8148// The maximum number of content type profiles for field-level encryption have 8149// been created. 8150// 8151// * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" 8152// No profile specified for the field-level encryption query argument. 8153// 8154// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionConfig 8155func (c *CloudFront) UpdateFieldLevelEncryptionConfig(input *UpdateFieldLevelEncryptionConfigInput) (*UpdateFieldLevelEncryptionConfigOutput, error) { 8156 req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) 8157 return out, req.Send() 8158} 8159 8160// UpdateFieldLevelEncryptionConfigWithContext is the same as UpdateFieldLevelEncryptionConfig with the addition of 8161// the ability to pass a context and additional request options. 8162// 8163// See UpdateFieldLevelEncryptionConfig for details on how to use this API operation. 8164// 8165// The context must be non-nil and will be used for request cancellation. If 8166// the context is nil a panic will occur. In the future the SDK may create 8167// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8168// for more information on using Contexts. 8169func (c *CloudFront) UpdateFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *UpdateFieldLevelEncryptionConfigInput, opts ...request.Option) (*UpdateFieldLevelEncryptionConfigOutput, error) { 8170 req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) 8171 req.SetContext(ctx) 8172 req.ApplyOptions(opts...) 8173 return out, req.Send() 8174} 8175 8176const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2020_05_31" 8177 8178// UpdateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 8179// client's request for the UpdateFieldLevelEncryptionProfile operation. The "output" return 8180// value will be populated with the request's response once the request completes 8181// successfully. 8182// 8183// Use "Send" method on the returned Request to send the API call to the service. 8184// the "output" return value is not valid until after Send returns without error. 8185// 8186// See UpdateFieldLevelEncryptionProfile for more information on using the UpdateFieldLevelEncryptionProfile 8187// API call, and error handling. 8188// 8189// This method is useful when you want to inject custom logic or configuration 8190// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8191// 8192// 8193// // Example sending a request using the UpdateFieldLevelEncryptionProfileRequest method. 8194// req, resp := client.UpdateFieldLevelEncryptionProfileRequest(params) 8195// 8196// err := req.Send() 8197// if err == nil { // resp is now filled 8198// fmt.Println(resp) 8199// } 8200// 8201// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile 8202func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateFieldLevelEncryptionProfileInput) (req *request.Request, output *UpdateFieldLevelEncryptionProfileOutput) { 8203 op := &request.Operation{ 8204 Name: opUpdateFieldLevelEncryptionProfile, 8205 HTTPMethod: "PUT", 8206 HTTPPath: "/2020-05-31/field-level-encryption-profile/{Id}/config", 8207 } 8208 8209 if input == nil { 8210 input = &UpdateFieldLevelEncryptionProfileInput{} 8211 } 8212 8213 output = &UpdateFieldLevelEncryptionProfileOutput{} 8214 req = c.newRequest(op, input, output) 8215 return 8216} 8217 8218// UpdateFieldLevelEncryptionProfile API operation for Amazon CloudFront. 8219// 8220// Update a field-level encryption profile. 8221// 8222// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8223// with awserr.Error's Code and Message methods to get detailed information about 8224// the error. 8225// 8226// See the AWS API reference guide for Amazon CloudFront's 8227// API operation UpdateFieldLevelEncryptionProfile for usage and error information. 8228// 8229// Returned Error Codes: 8230// * ErrCodeAccessDenied "AccessDenied" 8231// Access denied. 8232// 8233// * ErrCodeFieldLevelEncryptionProfileAlreadyExists "FieldLevelEncryptionProfileAlreadyExists" 8234// The specified profile for field-level encryption already exists. 8235// 8236// * ErrCodeIllegalUpdate "IllegalUpdate" 8237// The update contains modifications that are not allowed. 8238// 8239// * ErrCodeInconsistentQuantities "InconsistentQuantities" 8240// The value of Quantity and the size of Items don't match. 8241// 8242// * ErrCodeInvalidArgument "InvalidArgument" 8243// An argument is invalid. 8244// 8245// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8246// The If-Match version is missing or not valid. 8247// 8248// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 8249// The specified public key doesn't exist. 8250// 8251// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 8252// The specified profile for field-level encryption doesn't exist. 8253// 8254// * ErrCodePreconditionFailed "PreconditionFailed" 8255// The precondition in one or more of the request fields evaluated to false. 8256// 8257// * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" 8258// The maximum size of a profile for field-level encryption was exceeded. 8259// 8260// * ErrCodeTooManyFieldLevelEncryptionEncryptionEntities "TooManyFieldLevelEncryptionEncryptionEntities" 8261// The maximum number of encryption entities for field-level encryption have 8262// been created. 8263// 8264// * ErrCodeTooManyFieldLevelEncryptionFieldPatterns "TooManyFieldLevelEncryptionFieldPatterns" 8265// The maximum number of field patterns for field-level encryption have been 8266// created. 8267// 8268// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFieldLevelEncryptionProfile 8269func (c *CloudFront) UpdateFieldLevelEncryptionProfile(input *UpdateFieldLevelEncryptionProfileInput) (*UpdateFieldLevelEncryptionProfileOutput, error) { 8270 req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) 8271 return out, req.Send() 8272} 8273 8274// UpdateFieldLevelEncryptionProfileWithContext is the same as UpdateFieldLevelEncryptionProfile with the addition of 8275// the ability to pass a context and additional request options. 8276// 8277// See UpdateFieldLevelEncryptionProfile for details on how to use this API operation. 8278// 8279// The context must be non-nil and will be used for request cancellation. If 8280// the context is nil a panic will occur. In the future the SDK may create 8281// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8282// for more information on using Contexts. 8283func (c *CloudFront) UpdateFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *UpdateFieldLevelEncryptionProfileInput, opts ...request.Option) (*UpdateFieldLevelEncryptionProfileOutput, error) { 8284 req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) 8285 req.SetContext(ctx) 8286 req.ApplyOptions(opts...) 8287 return out, req.Send() 8288} 8289 8290const opUpdateFunction = "UpdateFunction2020_05_31" 8291 8292// UpdateFunctionRequest generates a "aws/request.Request" representing the 8293// client's request for the UpdateFunction operation. The "output" return 8294// value will be populated with the request's response once the request completes 8295// successfully. 8296// 8297// Use "Send" method on the returned Request to send the API call to the service. 8298// the "output" return value is not valid until after Send returns without error. 8299// 8300// See UpdateFunction for more information on using the UpdateFunction 8301// API call, and error handling. 8302// 8303// This method is useful when you want to inject custom logic or configuration 8304// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8305// 8306// 8307// // Example sending a request using the UpdateFunctionRequest method. 8308// req, resp := client.UpdateFunctionRequest(params) 8309// 8310// err := req.Send() 8311// if err == nil { // resp is now filled 8312// fmt.Println(resp) 8313// } 8314// 8315// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunction 8316func (c *CloudFront) UpdateFunctionRequest(input *UpdateFunctionInput) (req *request.Request, output *UpdateFunctionOutput) { 8317 op := &request.Operation{ 8318 Name: opUpdateFunction, 8319 HTTPMethod: "PUT", 8320 HTTPPath: "/2020-05-31/function/{Name}", 8321 } 8322 8323 if input == nil { 8324 input = &UpdateFunctionInput{} 8325 } 8326 8327 output = &UpdateFunctionOutput{} 8328 req = c.newRequest(op, input, output) 8329 return 8330} 8331 8332// UpdateFunction API operation for Amazon CloudFront. 8333// 8334// Updates a CloudFront function. 8335// 8336// You can update a function’s code or the comment that describes the function. 8337// You cannot update a function’s name. 8338// 8339// To update a function, you provide the function’s name and version (ETag 8340// value) along with the updated function code. To get the name and version, 8341// you can use ListFunctions and DescribeFunction. 8342// 8343// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8344// with awserr.Error's Code and Message methods to get detailed information about 8345// the error. 8346// 8347// See the AWS API reference guide for Amazon CloudFront's 8348// API operation UpdateFunction for usage and error information. 8349// 8350// Returned Error Codes: 8351// * ErrCodeInvalidArgument "InvalidArgument" 8352// An argument is invalid. 8353// 8354// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8355// The If-Match version is missing or not valid. 8356// 8357// * ErrCodeNoSuchFunctionExists "NoSuchFunctionExists" 8358// The function does not exist. 8359// 8360// * ErrCodePreconditionFailed "PreconditionFailed" 8361// The precondition in one or more of the request fields evaluated to false. 8362// 8363// * ErrCodeFunctionSizeLimitExceeded "FunctionSizeLimitExceeded" 8364// The function is too large. For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8365// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8366// 8367// * ErrCodeUnsupportedOperation "UnsupportedOperation" 8368// This operation is not supported in this region. 8369// 8370// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateFunction 8371func (c *CloudFront) UpdateFunction(input *UpdateFunctionInput) (*UpdateFunctionOutput, error) { 8372 req, out := c.UpdateFunctionRequest(input) 8373 return out, req.Send() 8374} 8375 8376// UpdateFunctionWithContext is the same as UpdateFunction with the addition of 8377// the ability to pass a context and additional request options. 8378// 8379// See UpdateFunction for details on how to use this API operation. 8380// 8381// The context must be non-nil and will be used for request cancellation. If 8382// the context is nil a panic will occur. In the future the SDK may create 8383// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8384// for more information on using Contexts. 8385func (c *CloudFront) UpdateFunctionWithContext(ctx aws.Context, input *UpdateFunctionInput, opts ...request.Option) (*UpdateFunctionOutput, error) { 8386 req, out := c.UpdateFunctionRequest(input) 8387 req.SetContext(ctx) 8388 req.ApplyOptions(opts...) 8389 return out, req.Send() 8390} 8391 8392const opUpdateKeyGroup = "UpdateKeyGroup2020_05_31" 8393 8394// UpdateKeyGroupRequest generates a "aws/request.Request" representing the 8395// client's request for the UpdateKeyGroup operation. The "output" return 8396// value will be populated with the request's response once the request completes 8397// successfully. 8398// 8399// Use "Send" method on the returned Request to send the API call to the service. 8400// the "output" return value is not valid until after Send returns without error. 8401// 8402// See UpdateKeyGroup for more information on using the UpdateKeyGroup 8403// API call, and error handling. 8404// 8405// This method is useful when you want to inject custom logic or configuration 8406// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8407// 8408// 8409// // Example sending a request using the UpdateKeyGroupRequest method. 8410// req, resp := client.UpdateKeyGroupRequest(params) 8411// 8412// err := req.Send() 8413// if err == nil { // resp is now filled 8414// fmt.Println(resp) 8415// } 8416// 8417// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyGroup 8418func (c *CloudFront) UpdateKeyGroupRequest(input *UpdateKeyGroupInput) (req *request.Request, output *UpdateKeyGroupOutput) { 8419 op := &request.Operation{ 8420 Name: opUpdateKeyGroup, 8421 HTTPMethod: "PUT", 8422 HTTPPath: "/2020-05-31/key-group/{Id}", 8423 } 8424 8425 if input == nil { 8426 input = &UpdateKeyGroupInput{} 8427 } 8428 8429 output = &UpdateKeyGroupOutput{} 8430 req = c.newRequest(op, input, output) 8431 return 8432} 8433 8434// UpdateKeyGroup API operation for Amazon CloudFront. 8435// 8436// Updates a key group. 8437// 8438// When you update a key group, all the fields are updated with the values provided 8439// in the request. You cannot update some fields independent of others. To update 8440// a key group: 8441// 8442// Get the current key group with GetKeyGroup or GetKeyGroupConfig. 8443// 8444// Locally modify the fields in the key group that you want to update. For example, 8445// add or remove public key IDs. 8446// 8447// Call UpdateKeyGroup with the entire key group object, including the fields 8448// that you modified and those that you didn’t. 8449// 8450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8451// with awserr.Error's Code and Message methods to get detailed information about 8452// the error. 8453// 8454// See the AWS API reference guide for Amazon CloudFront's 8455// API operation UpdateKeyGroup for usage and error information. 8456// 8457// Returned Error Codes: 8458// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8459// The If-Match version is missing or not valid. 8460// 8461// * ErrCodeNoSuchResource "NoSuchResource" 8462// A resource that was specified is not valid. 8463// 8464// * ErrCodePreconditionFailed "PreconditionFailed" 8465// The precondition in one or more of the request fields evaluated to false. 8466// 8467// * ErrCodeKeyGroupAlreadyExists "KeyGroupAlreadyExists" 8468// A key group with this name already exists. You must provide a unique name. 8469// To modify an existing key group, use UpdateKeyGroup. 8470// 8471// * ErrCodeInvalidArgument "InvalidArgument" 8472// An argument is invalid. 8473// 8474// * ErrCodeTooManyPublicKeysInKeyGroup "TooManyPublicKeysInKeyGroup" 8475// The number of public keys in this key group is more than the maximum allowed. 8476// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8477// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8478// 8479// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateKeyGroup 8480func (c *CloudFront) UpdateKeyGroup(input *UpdateKeyGroupInput) (*UpdateKeyGroupOutput, error) { 8481 req, out := c.UpdateKeyGroupRequest(input) 8482 return out, req.Send() 8483} 8484 8485// UpdateKeyGroupWithContext is the same as UpdateKeyGroup with the addition of 8486// the ability to pass a context and additional request options. 8487// 8488// See UpdateKeyGroup for details on how to use this API operation. 8489// 8490// The context must be non-nil and will be used for request cancellation. If 8491// the context is nil a panic will occur. In the future the SDK may create 8492// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8493// for more information on using Contexts. 8494func (c *CloudFront) UpdateKeyGroupWithContext(ctx aws.Context, input *UpdateKeyGroupInput, opts ...request.Option) (*UpdateKeyGroupOutput, error) { 8495 req, out := c.UpdateKeyGroupRequest(input) 8496 req.SetContext(ctx) 8497 req.ApplyOptions(opts...) 8498 return out, req.Send() 8499} 8500 8501const opUpdateOriginRequestPolicy = "UpdateOriginRequestPolicy2020_05_31" 8502 8503// UpdateOriginRequestPolicyRequest generates a "aws/request.Request" representing the 8504// client's request for the UpdateOriginRequestPolicy operation. The "output" return 8505// value will be populated with the request's response once the request completes 8506// successfully. 8507// 8508// Use "Send" method on the returned Request to send the API call to the service. 8509// the "output" return value is not valid until after Send returns without error. 8510// 8511// See UpdateOriginRequestPolicy for more information on using the UpdateOriginRequestPolicy 8512// API call, and error handling. 8513// 8514// This method is useful when you want to inject custom logic or configuration 8515// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8516// 8517// 8518// // Example sending a request using the UpdateOriginRequestPolicyRequest method. 8519// req, resp := client.UpdateOriginRequestPolicyRequest(params) 8520// 8521// err := req.Send() 8522// if err == nil { // resp is now filled 8523// fmt.Println(resp) 8524// } 8525// 8526// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy 8527func (c *CloudFront) UpdateOriginRequestPolicyRequest(input *UpdateOriginRequestPolicyInput) (req *request.Request, output *UpdateOriginRequestPolicyOutput) { 8528 op := &request.Operation{ 8529 Name: opUpdateOriginRequestPolicy, 8530 HTTPMethod: "PUT", 8531 HTTPPath: "/2020-05-31/origin-request-policy/{Id}", 8532 } 8533 8534 if input == nil { 8535 input = &UpdateOriginRequestPolicyInput{} 8536 } 8537 8538 output = &UpdateOriginRequestPolicyOutput{} 8539 req = c.newRequest(op, input, output) 8540 return 8541} 8542 8543// UpdateOriginRequestPolicy API operation for Amazon CloudFront. 8544// 8545// Updates an origin request policy configuration. 8546// 8547// When you update an origin request policy configuration, all the fields are 8548// updated with the values provided in the request. You cannot update some fields 8549// independent of others. To update an origin request policy configuration: 8550// 8551// Use GetOriginRequestPolicyConfig to get the current configuration. 8552// 8553// Locally modify the fields in the origin request policy configuration that 8554// you want to update. 8555// 8556// Call UpdateOriginRequestPolicy by providing the entire origin request policy 8557// configuration, including the fields that you modified and those that you 8558// didn’t. 8559// 8560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8561// with awserr.Error's Code and Message methods to get detailed information about 8562// the error. 8563// 8564// See the AWS API reference guide for Amazon CloudFront's 8565// API operation UpdateOriginRequestPolicy for usage and error information. 8566// 8567// Returned Error Codes: 8568// * ErrCodeAccessDenied "AccessDenied" 8569// Access denied. 8570// 8571// * ErrCodeIllegalUpdate "IllegalUpdate" 8572// The update contains modifications that are not allowed. 8573// 8574// * ErrCodeInconsistentQuantities "InconsistentQuantities" 8575// The value of Quantity and the size of Items don't match. 8576// 8577// * ErrCodeInvalidArgument "InvalidArgument" 8578// An argument is invalid. 8579// 8580// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8581// The If-Match version is missing or not valid. 8582// 8583// * ErrCodeNoSuchOriginRequestPolicy "NoSuchOriginRequestPolicy" 8584// The origin request policy does not exist. 8585// 8586// * ErrCodePreconditionFailed "PreconditionFailed" 8587// The precondition in one or more of the request fields evaluated to false. 8588// 8589// * ErrCodeOriginRequestPolicyAlreadyExists "OriginRequestPolicyAlreadyExists" 8590// An origin request policy with this name already exists. You must provide 8591// a unique name. To modify an existing origin request policy, use UpdateOriginRequestPolicy. 8592// 8593// * ErrCodeTooManyHeadersInOriginRequestPolicy "TooManyHeadersInOriginRequestPolicy" 8594// The number of headers in the origin request policy exceeds the maximum. For 8595// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8596// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8597// 8598// * ErrCodeTooManyCookiesInOriginRequestPolicy "TooManyCookiesInOriginRequestPolicy" 8599// The number of cookies in the origin request policy exceeds the maximum. For 8600// more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8601// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8602// 8603// * ErrCodeTooManyQueryStringsInOriginRequestPolicy "TooManyQueryStringsInOriginRequestPolicy" 8604// The number of query strings in the origin request policy exceeds the maximum. 8605// For more information, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 8606// (formerly known as limits) in the Amazon CloudFront Developer Guide. 8607// 8608// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginRequestPolicy 8609func (c *CloudFront) UpdateOriginRequestPolicy(input *UpdateOriginRequestPolicyInput) (*UpdateOriginRequestPolicyOutput, error) { 8610 req, out := c.UpdateOriginRequestPolicyRequest(input) 8611 return out, req.Send() 8612} 8613 8614// UpdateOriginRequestPolicyWithContext is the same as UpdateOriginRequestPolicy with the addition of 8615// the ability to pass a context and additional request options. 8616// 8617// See UpdateOriginRequestPolicy for details on how to use this API operation. 8618// 8619// The context must be non-nil and will be used for request cancellation. If 8620// the context is nil a panic will occur. In the future the SDK may create 8621// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8622// for more information on using Contexts. 8623func (c *CloudFront) UpdateOriginRequestPolicyWithContext(ctx aws.Context, input *UpdateOriginRequestPolicyInput, opts ...request.Option) (*UpdateOriginRequestPolicyOutput, error) { 8624 req, out := c.UpdateOriginRequestPolicyRequest(input) 8625 req.SetContext(ctx) 8626 req.ApplyOptions(opts...) 8627 return out, req.Send() 8628} 8629 8630const opUpdatePublicKey = "UpdatePublicKey2020_05_31" 8631 8632// UpdatePublicKeyRequest generates a "aws/request.Request" representing the 8633// client's request for the UpdatePublicKey operation. The "output" return 8634// value will be populated with the request's response once the request completes 8635// successfully. 8636// 8637// Use "Send" method on the returned Request to send the API call to the service. 8638// the "output" return value is not valid until after Send returns without error. 8639// 8640// See UpdatePublicKey for more information on using the UpdatePublicKey 8641// API call, and error handling. 8642// 8643// This method is useful when you want to inject custom logic or configuration 8644// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8645// 8646// 8647// // Example sending a request using the UpdatePublicKeyRequest method. 8648// req, resp := client.UpdatePublicKeyRequest(params) 8649// 8650// err := req.Send() 8651// if err == nil { // resp is now filled 8652// fmt.Println(resp) 8653// } 8654// 8655// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey 8656func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *request.Request, output *UpdatePublicKeyOutput) { 8657 op := &request.Operation{ 8658 Name: opUpdatePublicKey, 8659 HTTPMethod: "PUT", 8660 HTTPPath: "/2020-05-31/public-key/{Id}/config", 8661 } 8662 8663 if input == nil { 8664 input = &UpdatePublicKeyInput{} 8665 } 8666 8667 output = &UpdatePublicKeyOutput{} 8668 req = c.newRequest(op, input, output) 8669 return 8670} 8671 8672// UpdatePublicKey API operation for Amazon CloudFront. 8673// 8674// Update public key information. Note that the only value you can change is 8675// the comment. 8676// 8677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8678// with awserr.Error's Code and Message methods to get detailed information about 8679// the error. 8680// 8681// See the AWS API reference guide for Amazon CloudFront's 8682// API operation UpdatePublicKey for usage and error information. 8683// 8684// Returned Error Codes: 8685// * ErrCodeAccessDenied "AccessDenied" 8686// Access denied. 8687// 8688// * ErrCodeCannotChangeImmutablePublicKeyFields "CannotChangeImmutablePublicKeyFields" 8689// You can't change the value of a public key. 8690// 8691// * ErrCodeInvalidArgument "InvalidArgument" 8692// An argument is invalid. 8693// 8694// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8695// The If-Match version is missing or not valid. 8696// 8697// * ErrCodeIllegalUpdate "IllegalUpdate" 8698// The update contains modifications that are not allowed. 8699// 8700// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 8701// The specified public key doesn't exist. 8702// 8703// * ErrCodePreconditionFailed "PreconditionFailed" 8704// The precondition in one or more of the request fields evaluated to false. 8705// 8706// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdatePublicKey 8707func (c *CloudFront) UpdatePublicKey(input *UpdatePublicKeyInput) (*UpdatePublicKeyOutput, error) { 8708 req, out := c.UpdatePublicKeyRequest(input) 8709 return out, req.Send() 8710} 8711 8712// UpdatePublicKeyWithContext is the same as UpdatePublicKey with the addition of 8713// the ability to pass a context and additional request options. 8714// 8715// See UpdatePublicKey for details on how to use this API operation. 8716// 8717// The context must be non-nil and will be used for request cancellation. If 8718// the context is nil a panic will occur. In the future the SDK may create 8719// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8720// for more information on using Contexts. 8721func (c *CloudFront) UpdatePublicKeyWithContext(ctx aws.Context, input *UpdatePublicKeyInput, opts ...request.Option) (*UpdatePublicKeyOutput, error) { 8722 req, out := c.UpdatePublicKeyRequest(input) 8723 req.SetContext(ctx) 8724 req.ApplyOptions(opts...) 8725 return out, req.Send() 8726} 8727 8728const opUpdateRealtimeLogConfig = "UpdateRealtimeLogConfig2020_05_31" 8729 8730// UpdateRealtimeLogConfigRequest generates a "aws/request.Request" representing the 8731// client's request for the UpdateRealtimeLogConfig operation. The "output" return 8732// value will be populated with the request's response once the request completes 8733// successfully. 8734// 8735// Use "Send" method on the returned Request to send the API call to the service. 8736// the "output" return value is not valid until after Send returns without error. 8737// 8738// See UpdateRealtimeLogConfig for more information on using the UpdateRealtimeLogConfig 8739// API call, and error handling. 8740// 8741// This method is useful when you want to inject custom logic or configuration 8742// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8743// 8744// 8745// // Example sending a request using the UpdateRealtimeLogConfigRequest method. 8746// req, resp := client.UpdateRealtimeLogConfigRequest(params) 8747// 8748// err := req.Send() 8749// if err == nil { // resp is now filled 8750// fmt.Println(resp) 8751// } 8752// 8753// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfig 8754func (c *CloudFront) UpdateRealtimeLogConfigRequest(input *UpdateRealtimeLogConfigInput) (req *request.Request, output *UpdateRealtimeLogConfigOutput) { 8755 op := &request.Operation{ 8756 Name: opUpdateRealtimeLogConfig, 8757 HTTPMethod: "PUT", 8758 HTTPPath: "/2020-05-31/realtime-log-config/", 8759 } 8760 8761 if input == nil { 8762 input = &UpdateRealtimeLogConfigInput{} 8763 } 8764 8765 output = &UpdateRealtimeLogConfigOutput{} 8766 req = c.newRequest(op, input, output) 8767 return 8768} 8769 8770// UpdateRealtimeLogConfig API operation for Amazon CloudFront. 8771// 8772// Updates a real-time log configuration. 8773// 8774// When you update a real-time log configuration, all the parameters are updated 8775// with the values provided in the request. You cannot update some parameters 8776// independent of others. To update a real-time log configuration: 8777// 8778// Call GetRealtimeLogConfig to get the current real-time log configuration. 8779// 8780// Locally modify the parameters in the real-time log configuration that you 8781// want to update. 8782// 8783// Call this API (UpdateRealtimeLogConfig) by providing the entire real-time 8784// log configuration, including the parameters that you modified and those that 8785// you didn’t. 8786// 8787// You cannot update a real-time log configuration’s Name or ARN. 8788// 8789// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8790// with awserr.Error's Code and Message methods to get detailed information about 8791// the error. 8792// 8793// See the AWS API reference guide for Amazon CloudFront's 8794// API operation UpdateRealtimeLogConfig for usage and error information. 8795// 8796// Returned Error Codes: 8797// * ErrCodeNoSuchRealtimeLogConfig "NoSuchRealtimeLogConfig" 8798// The real-time log configuration does not exist. 8799// 8800// * ErrCodeInvalidArgument "InvalidArgument" 8801// An argument is invalid. 8802// 8803// * ErrCodeAccessDenied "AccessDenied" 8804// Access denied. 8805// 8806// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateRealtimeLogConfig 8807func (c *CloudFront) UpdateRealtimeLogConfig(input *UpdateRealtimeLogConfigInput) (*UpdateRealtimeLogConfigOutput, error) { 8808 req, out := c.UpdateRealtimeLogConfigRequest(input) 8809 return out, req.Send() 8810} 8811 8812// UpdateRealtimeLogConfigWithContext is the same as UpdateRealtimeLogConfig with the addition of 8813// the ability to pass a context and additional request options. 8814// 8815// See UpdateRealtimeLogConfig for details on how to use this API operation. 8816// 8817// The context must be non-nil and will be used for request cancellation. If 8818// the context is nil a panic will occur. In the future the SDK may create 8819// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8820// for more information on using Contexts. 8821func (c *CloudFront) UpdateRealtimeLogConfigWithContext(ctx aws.Context, input *UpdateRealtimeLogConfigInput, opts ...request.Option) (*UpdateRealtimeLogConfigOutput, error) { 8822 req, out := c.UpdateRealtimeLogConfigRequest(input) 8823 req.SetContext(ctx) 8824 req.ApplyOptions(opts...) 8825 return out, req.Send() 8826} 8827 8828const opUpdateStreamingDistribution = "UpdateStreamingDistribution2020_05_31" 8829 8830// UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the 8831// client's request for the UpdateStreamingDistribution operation. The "output" return 8832// value will be populated with the request's response once the request completes 8833// successfully. 8834// 8835// Use "Send" method on the returned Request to send the API call to the service. 8836// the "output" return value is not valid until after Send returns without error. 8837// 8838// See UpdateStreamingDistribution for more information on using the UpdateStreamingDistribution 8839// API call, and error handling. 8840// 8841// This method is useful when you want to inject custom logic or configuration 8842// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8843// 8844// 8845// // Example sending a request using the UpdateStreamingDistributionRequest method. 8846// req, resp := client.UpdateStreamingDistributionRequest(params) 8847// 8848// err := req.Send() 8849// if err == nil { // resp is now filled 8850// fmt.Println(resp) 8851// } 8852// 8853// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution 8854func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) { 8855 op := &request.Operation{ 8856 Name: opUpdateStreamingDistribution, 8857 HTTPMethod: "PUT", 8858 HTTPPath: "/2020-05-31/streaming-distribution/{Id}/config", 8859 } 8860 8861 if input == nil { 8862 input = &UpdateStreamingDistributionInput{} 8863 } 8864 8865 output = &UpdateStreamingDistributionOutput{} 8866 req = c.newRequest(op, input, output) 8867 return 8868} 8869 8870// UpdateStreamingDistribution API operation for Amazon CloudFront. 8871// 8872// Update a streaming distribution. 8873// 8874// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8875// with awserr.Error's Code and Message methods to get detailed information about 8876// the error. 8877// 8878// See the AWS API reference guide for Amazon CloudFront's 8879// API operation UpdateStreamingDistribution for usage and error information. 8880// 8881// Returned Error Codes: 8882// * ErrCodeAccessDenied "AccessDenied" 8883// Access denied. 8884// 8885// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 8886// The CNAME specified is already defined for CloudFront. 8887// 8888// * ErrCodeIllegalUpdate "IllegalUpdate" 8889// The update contains modifications that are not allowed. 8890// 8891// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 8892// The If-Match version is missing or not valid. 8893// 8894// * ErrCodeMissingBody "MissingBody" 8895// This operation requires a body. Ensure that the body is present and the Content-Type 8896// header is set. 8897// 8898// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 8899// The specified streaming distribution does not exist. 8900// 8901// * ErrCodePreconditionFailed "PreconditionFailed" 8902// The precondition in one or more of the request fields evaluated to false. 8903// 8904// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 8905// Your request contains more CNAMEs than are allowed per distribution. 8906// 8907// * ErrCodeInvalidArgument "InvalidArgument" 8908// An argument is invalid. 8909// 8910// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 8911// The origin access identity is not valid or doesn't exist. 8912// 8913// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 8914// Your request contains more trusted signers than are allowed per distribution. 8915// 8916// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 8917// One or more of your trusted signers don't exist. 8918// 8919// * ErrCodeInconsistentQuantities "InconsistentQuantities" 8920// The value of Quantity and the size of Items don't match. 8921// 8922// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateStreamingDistribution 8923func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) { 8924 req, out := c.UpdateStreamingDistributionRequest(input) 8925 return out, req.Send() 8926} 8927 8928// UpdateStreamingDistributionWithContext is the same as UpdateStreamingDistribution with the addition of 8929// the ability to pass a context and additional request options. 8930// 8931// See UpdateStreamingDistribution for details on how to use this API operation. 8932// 8933// The context must be non-nil and will be used for request cancellation. If 8934// the context is nil a panic will occur. In the future the SDK may create 8935// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8936// for more information on using Contexts. 8937func (c *CloudFront) UpdateStreamingDistributionWithContext(ctx aws.Context, input *UpdateStreamingDistributionInput, opts ...request.Option) (*UpdateStreamingDistributionOutput, error) { 8938 req, out := c.UpdateStreamingDistributionRequest(input) 8939 req.SetContext(ctx) 8940 req.ApplyOptions(opts...) 8941 return out, req.Send() 8942} 8943 8944// A list of key groups, and the public keys in each key group, that CloudFront 8945// can use to verify the signatures of signed URLs and signed cookies. 8946type ActiveTrustedKeyGroups struct { 8947 _ struct{} `type:"structure"` 8948 8949 // This field is true if any of the key groups have public keys that CloudFront 8950 // can use to verify the signatures of signed URLs and signed cookies. If not, 8951 // this field is false. 8952 // 8953 // Enabled is a required field 8954 Enabled *bool `type:"boolean" required:"true"` 8955 8956 // A list of key groups, including the identifiers of the public keys in each 8957 // key group that CloudFront can use to verify the signatures of signed URLs 8958 // and signed cookies. 8959 Items []*KGKeyPairIds `locationNameList:"KeyGroup" type:"list"` 8960 8961 // The number of key groups in the list. 8962 // 8963 // Quantity is a required field 8964 Quantity *int64 `type:"integer" required:"true"` 8965} 8966 8967// String returns the string representation 8968func (s ActiveTrustedKeyGroups) String() string { 8969 return awsutil.Prettify(s) 8970} 8971 8972// GoString returns the string representation 8973func (s ActiveTrustedKeyGroups) GoString() string { 8974 return s.String() 8975} 8976 8977// SetEnabled sets the Enabled field's value. 8978func (s *ActiveTrustedKeyGroups) SetEnabled(v bool) *ActiveTrustedKeyGroups { 8979 s.Enabled = &v 8980 return s 8981} 8982 8983// SetItems sets the Items field's value. 8984func (s *ActiveTrustedKeyGroups) SetItems(v []*KGKeyPairIds) *ActiveTrustedKeyGroups { 8985 s.Items = v 8986 return s 8987} 8988 8989// SetQuantity sets the Quantity field's value. 8990func (s *ActiveTrustedKeyGroups) SetQuantity(v int64) *ActiveTrustedKeyGroups { 8991 s.Quantity = &v 8992 return s 8993} 8994 8995// A list of accounts and the active CloudFront key pairs in each account that 8996// CloudFront can use to verify the signatures of signed URLs and signed cookies. 8997type ActiveTrustedSigners struct { 8998 _ struct{} `type:"structure"` 8999 9000 // This field is true if any of the accounts in the list have active CloudFront 9001 // key pairs that CloudFront can use to verify the signatures of signed URLs 9002 // and signed cookies. If not, this field is false. 9003 // 9004 // Enabled is a required field 9005 Enabled *bool `type:"boolean" required:"true"` 9006 9007 // A list of accounts and the identifiers of active CloudFront key pairs in 9008 // each account that CloudFront can use to verify the signatures of signed URLs 9009 // and signed cookies. 9010 Items []*Signer `locationNameList:"Signer" type:"list"` 9011 9012 // The number of accounts in the list. 9013 // 9014 // Quantity is a required field 9015 Quantity *int64 `type:"integer" required:"true"` 9016} 9017 9018// String returns the string representation 9019func (s ActiveTrustedSigners) String() string { 9020 return awsutil.Prettify(s) 9021} 9022 9023// GoString returns the string representation 9024func (s ActiveTrustedSigners) GoString() string { 9025 return s.String() 9026} 9027 9028// SetEnabled sets the Enabled field's value. 9029func (s *ActiveTrustedSigners) SetEnabled(v bool) *ActiveTrustedSigners { 9030 s.Enabled = &v 9031 return s 9032} 9033 9034// SetItems sets the Items field's value. 9035func (s *ActiveTrustedSigners) SetItems(v []*Signer) *ActiveTrustedSigners { 9036 s.Items = v 9037 return s 9038} 9039 9040// SetQuantity sets the Quantity field's value. 9041func (s *ActiveTrustedSigners) SetQuantity(v int64) *ActiveTrustedSigners { 9042 s.Quantity = &v 9043 return s 9044} 9045 9046// Amazon Web Services services in China customers must file for an Internet 9047// Content Provider (ICP) recordal if they want to serve content publicly on 9048// an alternate domain name, also known as a CNAME, that they've added to CloudFront. 9049// AliasICPRecordal provides the ICP recordal status for CNAMEs associated with 9050// distributions. The status is returned in the CloudFront response; you can't 9051// configure it yourself. 9052// 9053// For more information about ICP recordals, see Signup, Accounts, and Credentials 9054// (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 9055// in Getting Started with Amazon Web Services services in China. 9056type AliasICPRecordal struct { 9057 _ struct{} `type:"structure"` 9058 9059 // A domain name associated with a distribution. 9060 CNAME *string `type:"string"` 9061 9062 // The Internet Content Provider (ICP) recordal status for a CNAME. The ICPRecordalStatus 9063 // is set to APPROVED for all CNAMEs (aliases) in regions outside of China. 9064 // 9065 // The status values returned are the following: 9066 // 9067 // * APPROVED indicates that the associated CNAME has a valid ICP recordal 9068 // number. Multiple CNAMEs can be associated with a distribution, and CNAMEs 9069 // can correspond to different ICP recordals. To be marked as APPROVED, that 9070 // is, valid to use with China region, a CNAME must have one ICP recordal 9071 // number associated with it. 9072 // 9073 // * SUSPENDED indicates that the associated CNAME does not have a valid 9074 // ICP recordal number. 9075 // 9076 // * PENDING indicates that CloudFront can't determine the ICP recordal status 9077 // of the CNAME associated with the distribution because there was an error 9078 // in trying to determine the status. You can try again to see if the error 9079 // is resolved in which case CloudFront returns an APPROVED or SUSPENDED 9080 // status. 9081 ICPRecordalStatus *string `type:"string" enum:"ICPRecordalStatus"` 9082} 9083 9084// String returns the string representation 9085func (s AliasICPRecordal) String() string { 9086 return awsutil.Prettify(s) 9087} 9088 9089// GoString returns the string representation 9090func (s AliasICPRecordal) GoString() string { 9091 return s.String() 9092} 9093 9094// SetCNAME sets the CNAME field's value. 9095func (s *AliasICPRecordal) SetCNAME(v string) *AliasICPRecordal { 9096 s.CNAME = &v 9097 return s 9098} 9099 9100// SetICPRecordalStatus sets the ICPRecordalStatus field's value. 9101func (s *AliasICPRecordal) SetICPRecordalStatus(v string) *AliasICPRecordal { 9102 s.ICPRecordalStatus = &v 9103 return s 9104} 9105 9106// A complex type that contains information about CNAMEs (alternate domain names), 9107// if any, for this distribution. 9108type Aliases struct { 9109 _ struct{} `type:"structure"` 9110 9111 // A complex type that contains the CNAME aliases, if any, that you want to 9112 // associate with this distribution. 9113 Items []*string `locationNameList:"CNAME" type:"list"` 9114 9115 // The number of CNAME aliases, if any, that you want to associate with this 9116 // distribution. 9117 // 9118 // Quantity is a required field 9119 Quantity *int64 `type:"integer" required:"true"` 9120} 9121 9122// String returns the string representation 9123func (s Aliases) String() string { 9124 return awsutil.Prettify(s) 9125} 9126 9127// GoString returns the string representation 9128func (s Aliases) GoString() string { 9129 return s.String() 9130} 9131 9132// Validate inspects the fields of the type to determine if they are valid. 9133func (s *Aliases) Validate() error { 9134 invalidParams := request.ErrInvalidParams{Context: "Aliases"} 9135 if s.Quantity == nil { 9136 invalidParams.Add(request.NewErrParamRequired("Quantity")) 9137 } 9138 9139 if invalidParams.Len() > 0 { 9140 return invalidParams 9141 } 9142 return nil 9143} 9144 9145// SetItems sets the Items field's value. 9146func (s *Aliases) SetItems(v []*string) *Aliases { 9147 s.Items = v 9148 return s 9149} 9150 9151// SetQuantity sets the Quantity field's value. 9152func (s *Aliases) SetQuantity(v int64) *Aliases { 9153 s.Quantity = &v 9154 return s 9155} 9156 9157// A complex type that controls which HTTP methods CloudFront processes and 9158// forwards to your Amazon S3 bucket or your custom origin. There are three 9159// choices: 9160// 9161// * CloudFront forwards only GET and HEAD requests. 9162// 9163// * CloudFront forwards only GET, HEAD, and OPTIONS requests. 9164// 9165// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 9166// requests. 9167// 9168// If you pick the third choice, you may need to restrict access to your Amazon 9169// S3 bucket or to your custom origin so users can't perform operations that 9170// you don't want them to. For example, you might not want users to have permissions 9171// to delete objects from your origin. 9172type AllowedMethods struct { 9173 _ struct{} `type:"structure"` 9174 9175 // A complex type that controls whether CloudFront caches the response to requests 9176 // using the specified HTTP methods. There are two choices: 9177 // 9178 // * CloudFront caches responses to GET and HEAD requests. 9179 // 9180 // * CloudFront caches responses to GET, HEAD, and OPTIONS requests. 9181 // 9182 // If you pick the second choice for your Amazon S3 Origin, you may need to 9183 // forward Access-Control-Request-Method, Access-Control-Request-Headers, and 9184 // Origin headers for the responses to be cached correctly. 9185 CachedMethods *CachedMethods `type:"structure"` 9186 9187 // A complex type that contains the HTTP methods that you want CloudFront to 9188 // process and forward to your origin. 9189 // 9190 // Items is a required field 9191 Items []*string `locationNameList:"Method" type:"list" required:"true"` 9192 9193 // The number of HTTP methods that you want CloudFront to forward to your origin. 9194 // Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS 9195 // requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests). 9196 // 9197 // Quantity is a required field 9198 Quantity *int64 `type:"integer" required:"true"` 9199} 9200 9201// String returns the string representation 9202func (s AllowedMethods) String() string { 9203 return awsutil.Prettify(s) 9204} 9205 9206// GoString returns the string representation 9207func (s AllowedMethods) GoString() string { 9208 return s.String() 9209} 9210 9211// Validate inspects the fields of the type to determine if they are valid. 9212func (s *AllowedMethods) Validate() error { 9213 invalidParams := request.ErrInvalidParams{Context: "AllowedMethods"} 9214 if s.Items == nil { 9215 invalidParams.Add(request.NewErrParamRequired("Items")) 9216 } 9217 if s.Quantity == nil { 9218 invalidParams.Add(request.NewErrParamRequired("Quantity")) 9219 } 9220 if s.CachedMethods != nil { 9221 if err := s.CachedMethods.Validate(); err != nil { 9222 invalidParams.AddNested("CachedMethods", err.(request.ErrInvalidParams)) 9223 } 9224 } 9225 9226 if invalidParams.Len() > 0 { 9227 return invalidParams 9228 } 9229 return nil 9230} 9231 9232// SetCachedMethods sets the CachedMethods field's value. 9233func (s *AllowedMethods) SetCachedMethods(v *CachedMethods) *AllowedMethods { 9234 s.CachedMethods = v 9235 return s 9236} 9237 9238// SetItems sets the Items field's value. 9239func (s *AllowedMethods) SetItems(v []*string) *AllowedMethods { 9240 s.Items = v 9241 return s 9242} 9243 9244// SetQuantity sets the Quantity field's value. 9245func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { 9246 s.Quantity = &v 9247 return s 9248} 9249 9250type AssociateAliasInput struct { 9251 _ struct{} `locationName:"AssociateAliasRequest" type:"structure"` 9252 9253 // The alias (also known as a CNAME) to add to the target distribution. 9254 // 9255 // Alias is a required field 9256 Alias *string `location:"querystring" locationName:"Alias" type:"string" required:"true"` 9257 9258 // The ID of the distribution that you’re associating the alias with. 9259 // 9260 // TargetDistributionId is a required field 9261 TargetDistributionId *string `location:"uri" locationName:"TargetDistributionId" type:"string" required:"true"` 9262} 9263 9264// String returns the string representation 9265func (s AssociateAliasInput) String() string { 9266 return awsutil.Prettify(s) 9267} 9268 9269// GoString returns the string representation 9270func (s AssociateAliasInput) GoString() string { 9271 return s.String() 9272} 9273 9274// Validate inspects the fields of the type to determine if they are valid. 9275func (s *AssociateAliasInput) Validate() error { 9276 invalidParams := request.ErrInvalidParams{Context: "AssociateAliasInput"} 9277 if s.Alias == nil { 9278 invalidParams.Add(request.NewErrParamRequired("Alias")) 9279 } 9280 if s.TargetDistributionId == nil { 9281 invalidParams.Add(request.NewErrParamRequired("TargetDistributionId")) 9282 } 9283 if s.TargetDistributionId != nil && len(*s.TargetDistributionId) < 1 { 9284 invalidParams.Add(request.NewErrParamMinLen("TargetDistributionId", 1)) 9285 } 9286 9287 if invalidParams.Len() > 0 { 9288 return invalidParams 9289 } 9290 return nil 9291} 9292 9293// SetAlias sets the Alias field's value. 9294func (s *AssociateAliasInput) SetAlias(v string) *AssociateAliasInput { 9295 s.Alias = &v 9296 return s 9297} 9298 9299// SetTargetDistributionId sets the TargetDistributionId field's value. 9300func (s *AssociateAliasInput) SetTargetDistributionId(v string) *AssociateAliasInput { 9301 s.TargetDistributionId = &v 9302 return s 9303} 9304 9305type AssociateAliasOutput struct { 9306 _ struct{} `type:"structure"` 9307} 9308 9309// String returns the string representation 9310func (s AssociateAliasOutput) String() string { 9311 return awsutil.Prettify(s) 9312} 9313 9314// GoString returns the string representation 9315func (s AssociateAliasOutput) GoString() string { 9316 return s.String() 9317} 9318 9319// A complex type that describes how CloudFront processes requests. 9320// 9321// You must create at least as many cache behaviors (including the default cache 9322// behavior) as you have origins if you want CloudFront to serve objects from 9323// all of the origins. Each cache behavior specifies the one origin from which 9324// you want CloudFront to get objects. If you have two origins and only the 9325// default cache behavior, the default cache behavior will cause CloudFront 9326// to get objects from one of the origins, but the other origin is never used. 9327// 9328// For the current quota (formerly known as limit) on the number of cache behaviors 9329// that you can add to a distribution, see Quotas (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html) 9330// in the Amazon CloudFront Developer Guide. 9331// 9332// If you don’t want to specify any cache behaviors, include only an empty 9333// CacheBehaviors element. Don’t include an empty CacheBehavior element because 9334// this is invalid. 9335// 9336// To delete all cache behaviors in an existing distribution, update the distribution 9337// configuration and include only an empty CacheBehaviors element. 9338// 9339// To add, change, or remove one or more cache behaviors, update the distribution 9340// configuration and specify all of the cache behaviors that you want to include 9341// in the updated distribution. 9342// 9343// For more information about cache behaviors, see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) 9344// in the Amazon CloudFront Developer Guide. 9345type CacheBehavior struct { 9346 _ struct{} `type:"structure"` 9347 9348 // A complex type that controls which HTTP methods CloudFront processes and 9349 // forwards to your Amazon S3 bucket or your custom origin. There are three 9350 // choices: 9351 // 9352 // * CloudFront forwards only GET and HEAD requests. 9353 // 9354 // * CloudFront forwards only GET, HEAD, and OPTIONS requests. 9355 // 9356 // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 9357 // requests. 9358 // 9359 // If you pick the third choice, you may need to restrict access to your Amazon 9360 // S3 bucket or to your custom origin so users can't perform operations that 9361 // you don't want them to. For example, you might not want users to have permissions 9362 // to delete objects from your origin. 9363 AllowedMethods *AllowedMethods `type:"structure"` 9364 9365 // The unique identifier of the cache policy that is attached to this cache 9366 // behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 9367 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 9368 // in the Amazon CloudFront Developer Guide. 9369 // 9370 // A CacheBehavior must include either a CachePolicyId or ForwardedValues. We 9371 // recommend that you use a CachePolicyId. 9372 CachePolicyId *string `type:"string"` 9373 9374 // Whether you want CloudFront to automatically compress certain files for this 9375 // cache behavior. If so, specify true; if not, specify false. For more information, 9376 // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) 9377 // in the Amazon CloudFront Developer Guide. 9378 Compress *bool `type:"boolean"` 9379 9380 // This field is deprecated. We recommend that you use the DefaultTTL field 9381 // in a cache policy instead of this field. For more information, see Creating 9382 // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 9383 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 9384 // in the Amazon CloudFront Developer Guide. 9385 // 9386 // The default amount of time that you want objects to stay in CloudFront caches 9387 // before CloudFront forwards another request to your origin to determine whether 9388 // the object has been updated. The value that you specify applies only when 9389 // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control 9390 // s-maxage, and Expires to objects. For more information, see Managing How 9391 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9392 // in the Amazon CloudFront Developer Guide. 9393 // 9394 // Deprecated: DefaultTTL has been deprecated 9395 DefaultTTL *int64 `deprecated:"true" type:"long"` 9396 9397 // The value of ID for the field-level encryption configuration that you want 9398 // CloudFront to use for encrypting specific fields of data for this cache behavior. 9399 FieldLevelEncryptionId *string `type:"string"` 9400 9401 // This field is deprecated. We recommend that you use a cache policy or an 9402 // origin request policy instead of this field. For more information, see Working 9403 // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) 9404 // in the Amazon CloudFront Developer Guide. 9405 // 9406 // If you want to include values in the cache key, use a cache policy. For more 9407 // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 9408 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 9409 // in the Amazon CloudFront Developer Guide. 9410 // 9411 // If you want to send values to the origin but not include them in the cache 9412 // key, use an origin request policy. For more information, see Creating origin 9413 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 9414 // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) 9415 // in the Amazon CloudFront Developer Guide. 9416 // 9417 // A CacheBehavior must include either a CachePolicyId or ForwardedValues. We 9418 // recommend that you use a CachePolicyId. 9419 // 9420 // A complex type that specifies how CloudFront handles query strings, cookies, 9421 // and HTTP headers. 9422 // 9423 // Deprecated: ForwardedValues has been deprecated 9424 ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` 9425 9426 // A list of CloudFront functions that are associated with this cache behavior. 9427 // CloudFront functions must be published to the LIVE stage to associate them 9428 // with a cache behavior. 9429 FunctionAssociations *FunctionAssociations `type:"structure"` 9430 9431 // A complex type that contains zero or more Lambda@Edge function associations 9432 // for a cache behavior. 9433 LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` 9434 9435 // This field is deprecated. We recommend that you use the MaxTTL field in a 9436 // cache policy instead of this field. For more information, see Creating cache 9437 // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 9438 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 9439 // in the Amazon CloudFront Developer Guide. 9440 // 9441 // The maximum amount of time that you want objects to stay in CloudFront caches 9442 // before CloudFront forwards another request to your origin to determine whether 9443 // the object has been updated. The value that you specify applies only when 9444 // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control 9445 // s-maxage, and Expires to objects. For more information, see Managing How 9446 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9447 // in the Amazon CloudFront Developer Guide. 9448 // 9449 // Deprecated: MaxTTL has been deprecated 9450 MaxTTL *int64 `deprecated:"true" type:"long"` 9451 9452 // This field is deprecated. We recommend that you use the MinTTL field in a 9453 // cache policy instead of this field. For more information, see Creating cache 9454 // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 9455 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 9456 // in the Amazon CloudFront Developer Guide. 9457 // 9458 // The minimum amount of time that you want objects to stay in CloudFront caches 9459 // before CloudFront forwards another request to your origin to determine whether 9460 // the object has been updated. For more information, see Managing How Long 9461 // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9462 // in the Amazon CloudFront Developer Guide. 9463 // 9464 // You must specify 0 for MinTTL if you configure CloudFront to forward all 9465 // headers to your origin (under Headers, if you specify 1 for Quantity and 9466 // * for Name). 9467 // 9468 // Deprecated: MinTTL has been deprecated 9469 MinTTL *int64 `deprecated:"true" type:"long"` 9470 9471 // The unique identifier of the origin request policy that is attached to this 9472 // cache behavior. For more information, see Creating origin request policies 9473 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 9474 // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) 9475 // in the Amazon CloudFront Developer Guide. 9476 OriginRequestPolicyId *string `type:"string"` 9477 9478 // The pattern (for example, images/*.jpg) that specifies which requests to 9479 // apply the behavior to. When CloudFront receives a viewer request, the requested 9480 // path is compared with path patterns in the order in which cache behaviors 9481 // are listed in the distribution. 9482 // 9483 // You can optionally include a slash (/) at the beginning of the path pattern. 9484 // For example, /images/*.jpg. CloudFront behavior is the same with or without 9485 // the leading /. 9486 // 9487 // The path pattern for the default cache behavior is * and cannot be changed. 9488 // If the request for an object does not match the path pattern for any cache 9489 // behaviors, CloudFront applies the behavior in the default cache behavior. 9490 // 9491 // For more information, see Path Pattern (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) 9492 // in the Amazon CloudFront Developer Guide. 9493 // 9494 // PathPattern is a required field 9495 PathPattern *string `type:"string" required:"true"` 9496 9497 // The Amazon Resource Name (ARN) of the real-time log configuration that is 9498 // attached to this cache behavior. For more information, see Real-time logs 9499 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) 9500 // in the Amazon CloudFront Developer Guide. 9501 RealtimeLogConfigArn *string `type:"string"` 9502 9503 // Indicates whether you want to distribute media files in the Microsoft Smooth 9504 // Streaming format using the origin that is associated with this cache behavior. 9505 // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, 9506 // you can still distribute other content using this cache behavior if the content 9507 // matches the value of PathPattern. 9508 SmoothStreaming *bool `type:"boolean"` 9509 9510 // The value of ID for the origin that you want CloudFront to route requests 9511 // to when they match this cache behavior. 9512 // 9513 // TargetOriginId is a required field 9514 TargetOriginId *string `type:"string" required:"true"` 9515 9516 // A list of key groups that CloudFront can use to validate signed URLs or signed 9517 // cookies. 9518 // 9519 // When a cache behavior contains trusted key groups, CloudFront requires signed 9520 // URLs or signed cookies for all requests that match the cache behavior. The 9521 // URLs or cookies must be signed with a private key whose corresponding public 9522 // key is in the key group. The signed URL or cookie contains information about 9523 // which public key CloudFront should use to verify the signature. For more 9524 // information, see Serving private content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 9525 // in the Amazon CloudFront Developer Guide. 9526 TrustedKeyGroups *TrustedKeyGroups `type:"structure"` 9527 9528 // 9529 // We recommend using TrustedKeyGroups instead of TrustedSigners. 9530 // 9531 // A list of account IDs whose public keys CloudFront can use to validate signed 9532 // URLs or signed cookies. 9533 // 9534 // When a cache behavior contains trusted signers, CloudFront requires signed 9535 // URLs or signed cookies for all requests that match the cache behavior. The 9536 // URLs or cookies must be signed with the private key of a CloudFront key pair 9537 // in the trusted signer’s account. The signed URL or cookie contains information 9538 // about which public key CloudFront should use to verify the signature. For 9539 // more information, see Serving private content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 9540 // in the Amazon CloudFront Developer Guide. 9541 TrustedSigners *TrustedSigners `type:"structure"` 9542 9543 // The protocol that viewers can use to access the files in the origin specified 9544 // by TargetOriginId when a request matches the path pattern in PathPattern. 9545 // You can specify the following options: 9546 // 9547 // * allow-all: Viewers can use HTTP or HTTPS. 9548 // 9549 // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns 9550 // an HTTP status code of 301 (Moved Permanently) to the viewer along with 9551 // the HTTPS URL. The viewer then resubmits the request using the new URL. 9552 // 9553 // * https-only: If a viewer sends an HTTP request, CloudFront returns an 9554 // HTTP status code of 403 (Forbidden). 9555 // 9556 // For more information about requiring the HTTPS protocol, see Requiring HTTPS 9557 // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) 9558 // in the Amazon CloudFront Developer Guide. 9559 // 9560 // The only way to guarantee that viewers retrieve an object that was fetched 9561 // from the origin using HTTPS is never to use any other protocol to fetch the 9562 // object. If you have recently changed from HTTP to HTTPS, we recommend that 9563 // you clear your objects’ cache because cached objects are protocol agnostic. 9564 // That means that an edge location will return an object from the cache regardless 9565 // of whether the current request protocol matches the protocol used previously. 9566 // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9567 // in the Amazon CloudFront Developer Guide. 9568 // 9569 // ViewerProtocolPolicy is a required field 9570 ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` 9571} 9572 9573// String returns the string representation 9574func (s CacheBehavior) String() string { 9575 return awsutil.Prettify(s) 9576} 9577 9578// GoString returns the string representation 9579func (s CacheBehavior) GoString() string { 9580 return s.String() 9581} 9582 9583// Validate inspects the fields of the type to determine if they are valid. 9584func (s *CacheBehavior) Validate() error { 9585 invalidParams := request.ErrInvalidParams{Context: "CacheBehavior"} 9586 if s.PathPattern == nil { 9587 invalidParams.Add(request.NewErrParamRequired("PathPattern")) 9588 } 9589 if s.TargetOriginId == nil { 9590 invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) 9591 } 9592 if s.ViewerProtocolPolicy == nil { 9593 invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) 9594 } 9595 if s.AllowedMethods != nil { 9596 if err := s.AllowedMethods.Validate(); err != nil { 9597 invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) 9598 } 9599 } 9600 if s.ForwardedValues != nil { 9601 if err := s.ForwardedValues.Validate(); err != nil { 9602 invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) 9603 } 9604 } 9605 if s.FunctionAssociations != nil { 9606 if err := s.FunctionAssociations.Validate(); err != nil { 9607 invalidParams.AddNested("FunctionAssociations", err.(request.ErrInvalidParams)) 9608 } 9609 } 9610 if s.LambdaFunctionAssociations != nil { 9611 if err := s.LambdaFunctionAssociations.Validate(); err != nil { 9612 invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) 9613 } 9614 } 9615 if s.TrustedKeyGroups != nil { 9616 if err := s.TrustedKeyGroups.Validate(); err != nil { 9617 invalidParams.AddNested("TrustedKeyGroups", err.(request.ErrInvalidParams)) 9618 } 9619 } 9620 if s.TrustedSigners != nil { 9621 if err := s.TrustedSigners.Validate(); err != nil { 9622 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 9623 } 9624 } 9625 9626 if invalidParams.Len() > 0 { 9627 return invalidParams 9628 } 9629 return nil 9630} 9631 9632// SetAllowedMethods sets the AllowedMethods field's value. 9633func (s *CacheBehavior) SetAllowedMethods(v *AllowedMethods) *CacheBehavior { 9634 s.AllowedMethods = v 9635 return s 9636} 9637 9638// SetCachePolicyId sets the CachePolicyId field's value. 9639func (s *CacheBehavior) SetCachePolicyId(v string) *CacheBehavior { 9640 s.CachePolicyId = &v 9641 return s 9642} 9643 9644// SetCompress sets the Compress field's value. 9645func (s *CacheBehavior) SetCompress(v bool) *CacheBehavior { 9646 s.Compress = &v 9647 return s 9648} 9649 9650// SetDefaultTTL sets the DefaultTTL field's value. 9651func (s *CacheBehavior) SetDefaultTTL(v int64) *CacheBehavior { 9652 s.DefaultTTL = &v 9653 return s 9654} 9655 9656// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. 9657func (s *CacheBehavior) SetFieldLevelEncryptionId(v string) *CacheBehavior { 9658 s.FieldLevelEncryptionId = &v 9659 return s 9660} 9661 9662// SetForwardedValues sets the ForwardedValues field's value. 9663func (s *CacheBehavior) SetForwardedValues(v *ForwardedValues) *CacheBehavior { 9664 s.ForwardedValues = v 9665 return s 9666} 9667 9668// SetFunctionAssociations sets the FunctionAssociations field's value. 9669func (s *CacheBehavior) SetFunctionAssociations(v *FunctionAssociations) *CacheBehavior { 9670 s.FunctionAssociations = v 9671 return s 9672} 9673 9674// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. 9675func (s *CacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *CacheBehavior { 9676 s.LambdaFunctionAssociations = v 9677 return s 9678} 9679 9680// SetMaxTTL sets the MaxTTL field's value. 9681func (s *CacheBehavior) SetMaxTTL(v int64) *CacheBehavior { 9682 s.MaxTTL = &v 9683 return s 9684} 9685 9686// SetMinTTL sets the MinTTL field's value. 9687func (s *CacheBehavior) SetMinTTL(v int64) *CacheBehavior { 9688 s.MinTTL = &v 9689 return s 9690} 9691 9692// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. 9693func (s *CacheBehavior) SetOriginRequestPolicyId(v string) *CacheBehavior { 9694 s.OriginRequestPolicyId = &v 9695 return s 9696} 9697 9698// SetPathPattern sets the PathPattern field's value. 9699func (s *CacheBehavior) SetPathPattern(v string) *CacheBehavior { 9700 s.PathPattern = &v 9701 return s 9702} 9703 9704// SetRealtimeLogConfigArn sets the RealtimeLogConfigArn field's value. 9705func (s *CacheBehavior) SetRealtimeLogConfigArn(v string) *CacheBehavior { 9706 s.RealtimeLogConfigArn = &v 9707 return s 9708} 9709 9710// SetSmoothStreaming sets the SmoothStreaming field's value. 9711func (s *CacheBehavior) SetSmoothStreaming(v bool) *CacheBehavior { 9712 s.SmoothStreaming = &v 9713 return s 9714} 9715 9716// SetTargetOriginId sets the TargetOriginId field's value. 9717func (s *CacheBehavior) SetTargetOriginId(v string) *CacheBehavior { 9718 s.TargetOriginId = &v 9719 return s 9720} 9721 9722// SetTrustedKeyGroups sets the TrustedKeyGroups field's value. 9723func (s *CacheBehavior) SetTrustedKeyGroups(v *TrustedKeyGroups) *CacheBehavior { 9724 s.TrustedKeyGroups = v 9725 return s 9726} 9727 9728// SetTrustedSigners sets the TrustedSigners field's value. 9729func (s *CacheBehavior) SetTrustedSigners(v *TrustedSigners) *CacheBehavior { 9730 s.TrustedSigners = v 9731 return s 9732} 9733 9734// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. 9735func (s *CacheBehavior) SetViewerProtocolPolicy(v string) *CacheBehavior { 9736 s.ViewerProtocolPolicy = &v 9737 return s 9738} 9739 9740// A complex type that contains zero or more CacheBehavior elements. 9741type CacheBehaviors struct { 9742 _ struct{} `type:"structure"` 9743 9744 // Optional: A complex type that contains cache behaviors for this distribution. 9745 // If Quantity is 0, you can omit Items. 9746 Items []*CacheBehavior `locationNameList:"CacheBehavior" type:"list"` 9747 9748 // The number of cache behaviors for this distribution. 9749 // 9750 // Quantity is a required field 9751 Quantity *int64 `type:"integer" required:"true"` 9752} 9753 9754// String returns the string representation 9755func (s CacheBehaviors) String() string { 9756 return awsutil.Prettify(s) 9757} 9758 9759// GoString returns the string representation 9760func (s CacheBehaviors) GoString() string { 9761 return s.String() 9762} 9763 9764// Validate inspects the fields of the type to determine if they are valid. 9765func (s *CacheBehaviors) Validate() error { 9766 invalidParams := request.ErrInvalidParams{Context: "CacheBehaviors"} 9767 if s.Quantity == nil { 9768 invalidParams.Add(request.NewErrParamRequired("Quantity")) 9769 } 9770 if s.Items != nil { 9771 for i, v := range s.Items { 9772 if v == nil { 9773 continue 9774 } 9775 if err := v.Validate(); err != nil { 9776 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 9777 } 9778 } 9779 } 9780 9781 if invalidParams.Len() > 0 { 9782 return invalidParams 9783 } 9784 return nil 9785} 9786 9787// SetItems sets the Items field's value. 9788func (s *CacheBehaviors) SetItems(v []*CacheBehavior) *CacheBehaviors { 9789 s.Items = v 9790 return s 9791} 9792 9793// SetQuantity sets the Quantity field's value. 9794func (s *CacheBehaviors) SetQuantity(v int64) *CacheBehaviors { 9795 s.Quantity = &v 9796 return s 9797} 9798 9799// A cache policy. 9800// 9801// When it’s attached to a cache behavior, the cache policy determines the 9802// following: 9803// 9804// * The values that CloudFront includes in the cache key. These values can 9805// include HTTP headers, cookies, and URL query strings. CloudFront uses 9806// the cache key to find an object in its cache that it can return to the 9807// viewer. 9808// 9809// * The default, minimum, and maximum time to live (TTL) values that you 9810// want objects to stay in the CloudFront cache. 9811// 9812// The headers, cookies, and query strings that are included in the cache key 9813// are automatically included in requests that CloudFront sends to the origin. 9814// CloudFront sends a request when it can’t find a valid object in its cache 9815// that matches the request’s cache key. If you want to send values to the 9816// origin but not include them in the cache key, use OriginRequestPolicy. 9817type CachePolicy struct { 9818 _ struct{} `type:"structure"` 9819 9820 // The cache policy configuration. 9821 // 9822 // CachePolicyConfig is a required field 9823 CachePolicyConfig *CachePolicyConfig `type:"structure" required:"true"` 9824 9825 // The unique identifier for the cache policy. 9826 // 9827 // Id is a required field 9828 Id *string `type:"string" required:"true"` 9829 9830 // The date and time when the cache policy was last modified. 9831 // 9832 // LastModifiedTime is a required field 9833 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 9834} 9835 9836// String returns the string representation 9837func (s CachePolicy) String() string { 9838 return awsutil.Prettify(s) 9839} 9840 9841// GoString returns the string representation 9842func (s CachePolicy) GoString() string { 9843 return s.String() 9844} 9845 9846// SetCachePolicyConfig sets the CachePolicyConfig field's value. 9847func (s *CachePolicy) SetCachePolicyConfig(v *CachePolicyConfig) *CachePolicy { 9848 s.CachePolicyConfig = v 9849 return s 9850} 9851 9852// SetId sets the Id field's value. 9853func (s *CachePolicy) SetId(v string) *CachePolicy { 9854 s.Id = &v 9855 return s 9856} 9857 9858// SetLastModifiedTime sets the LastModifiedTime field's value. 9859func (s *CachePolicy) SetLastModifiedTime(v time.Time) *CachePolicy { 9860 s.LastModifiedTime = &v 9861 return s 9862} 9863 9864// A cache policy configuration. 9865// 9866// This configuration determines the following: 9867// 9868// * The values that CloudFront includes in the cache key. These values can 9869// include HTTP headers, cookies, and URL query strings. CloudFront uses 9870// the cache key to find an object in its cache that it can return to the 9871// viewer. 9872// 9873// * The default, minimum, and maximum time to live (TTL) values that you 9874// want objects to stay in the CloudFront cache. 9875// 9876// The headers, cookies, and query strings that are included in the cache key 9877// are automatically included in requests that CloudFront sends to the origin. 9878// CloudFront sends a request when it can’t find a valid object in its cache 9879// that matches the request’s cache key. If you want to send values to the 9880// origin but not include them in the cache key, use OriginRequestPolicy. 9881type CachePolicyConfig struct { 9882 _ struct{} `type:"structure"` 9883 9884 // A comment to describe the cache policy. The comment cannot be longer than 9885 // 128 characters. 9886 Comment *string `type:"string"` 9887 9888 // The default amount of time, in seconds, that you want objects to stay in 9889 // the CloudFront cache before CloudFront sends another request to the origin 9890 // to see if the object has been updated. CloudFront uses this value as the 9891 // object’s time to live (TTL) only when the origin does not send Cache-Control 9892 // or Expires headers with the object. For more information, see Managing How 9893 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9894 // in the Amazon CloudFront Developer Guide. 9895 // 9896 // The default value for this field is 86400 seconds (one day). If the value 9897 // of MinTTL is more than 86400 seconds, then the default value for this field 9898 // is the same as the value of MinTTL. 9899 DefaultTTL *int64 `type:"long"` 9900 9901 // The maximum amount of time, in seconds, that objects stay in the CloudFront 9902 // cache before CloudFront sends another request to the origin to see if the 9903 // object has been updated. CloudFront uses this value only when the origin 9904 // sends Cache-Control or Expires headers with the object. For more information, 9905 // see Managing How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9906 // in the Amazon CloudFront Developer Guide. 9907 // 9908 // The default value for this field is 31536000 seconds (one year). If the value 9909 // of MinTTL or DefaultTTL is more than 31536000 seconds, then the default value 9910 // for this field is the same as the value of DefaultTTL. 9911 MaxTTL *int64 `type:"long"` 9912 9913 // The minimum amount of time, in seconds, that you want objects to stay in 9914 // the CloudFront cache before CloudFront sends another request to the origin 9915 // to see if the object has been updated. For more information, see Managing 9916 // How Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 9917 // in the Amazon CloudFront Developer Guide. 9918 // 9919 // MinTTL is a required field 9920 MinTTL *int64 `type:"long" required:"true"` 9921 9922 // A unique name to identify the cache policy. 9923 // 9924 // Name is a required field 9925 Name *string `type:"string" required:"true"` 9926 9927 // The HTTP headers, cookies, and URL query strings to include in the cache 9928 // key. The values included in the cache key are automatically included in requests 9929 // that CloudFront sends to the origin. 9930 ParametersInCacheKeyAndForwardedToOrigin *ParametersInCacheKeyAndForwardedToOrigin `type:"structure"` 9931} 9932 9933// String returns the string representation 9934func (s CachePolicyConfig) String() string { 9935 return awsutil.Prettify(s) 9936} 9937 9938// GoString returns the string representation 9939func (s CachePolicyConfig) GoString() string { 9940 return s.String() 9941} 9942 9943// Validate inspects the fields of the type to determine if they are valid. 9944func (s *CachePolicyConfig) Validate() error { 9945 invalidParams := request.ErrInvalidParams{Context: "CachePolicyConfig"} 9946 if s.MinTTL == nil { 9947 invalidParams.Add(request.NewErrParamRequired("MinTTL")) 9948 } 9949 if s.Name == nil { 9950 invalidParams.Add(request.NewErrParamRequired("Name")) 9951 } 9952 if s.ParametersInCacheKeyAndForwardedToOrigin != nil { 9953 if err := s.ParametersInCacheKeyAndForwardedToOrigin.Validate(); err != nil { 9954 invalidParams.AddNested("ParametersInCacheKeyAndForwardedToOrigin", err.(request.ErrInvalidParams)) 9955 } 9956 } 9957 9958 if invalidParams.Len() > 0 { 9959 return invalidParams 9960 } 9961 return nil 9962} 9963 9964// SetComment sets the Comment field's value. 9965func (s *CachePolicyConfig) SetComment(v string) *CachePolicyConfig { 9966 s.Comment = &v 9967 return s 9968} 9969 9970// SetDefaultTTL sets the DefaultTTL field's value. 9971func (s *CachePolicyConfig) SetDefaultTTL(v int64) *CachePolicyConfig { 9972 s.DefaultTTL = &v 9973 return s 9974} 9975 9976// SetMaxTTL sets the MaxTTL field's value. 9977func (s *CachePolicyConfig) SetMaxTTL(v int64) *CachePolicyConfig { 9978 s.MaxTTL = &v 9979 return s 9980} 9981 9982// SetMinTTL sets the MinTTL field's value. 9983func (s *CachePolicyConfig) SetMinTTL(v int64) *CachePolicyConfig { 9984 s.MinTTL = &v 9985 return s 9986} 9987 9988// SetName sets the Name field's value. 9989func (s *CachePolicyConfig) SetName(v string) *CachePolicyConfig { 9990 s.Name = &v 9991 return s 9992} 9993 9994// SetParametersInCacheKeyAndForwardedToOrigin sets the ParametersInCacheKeyAndForwardedToOrigin field's value. 9995func (s *CachePolicyConfig) SetParametersInCacheKeyAndForwardedToOrigin(v *ParametersInCacheKeyAndForwardedToOrigin) *CachePolicyConfig { 9996 s.ParametersInCacheKeyAndForwardedToOrigin = v 9997 return s 9998} 9999 10000// An object that determines whether any cookies in viewer requests (and if 10001// so, which cookies) are included in the cache key and automatically included 10002// in requests that CloudFront sends to the origin. 10003type CachePolicyCookiesConfig struct { 10004 _ struct{} `type:"structure"` 10005 10006 // Determines whether any cookies in viewer requests are included in the cache 10007 // key and automatically included in requests that CloudFront sends to the origin. 10008 // Valid values are: 10009 // 10010 // * none – Cookies in viewer requests are not included in the cache key 10011 // and are not automatically included in requests that CloudFront sends to 10012 // the origin. Even when this field is set to none, any cookies that are 10013 // listed in an OriginRequestPolicy are included in origin requests. 10014 // 10015 // * whitelist – The cookies in viewer requests that are listed in the 10016 // CookieNames type are included in the cache key and automatically included 10017 // in requests that CloudFront sends to the origin. 10018 // 10019 // * allExcept – All cookies in viewer requests that are not listed in 10020 // the CookieNames type are included in the cache key and automatically included 10021 // in requests that CloudFront sends to the origin. 10022 // 10023 // * all – All cookies in viewer requests are included in the cache key 10024 // and are automatically included in requests that CloudFront sends to the 10025 // origin. 10026 // 10027 // CookieBehavior is a required field 10028 CookieBehavior *string `type:"string" required:"true" enum:"CachePolicyCookieBehavior"` 10029 10030 // Contains a list of cookie names. 10031 Cookies *CookieNames `type:"structure"` 10032} 10033 10034// String returns the string representation 10035func (s CachePolicyCookiesConfig) String() string { 10036 return awsutil.Prettify(s) 10037} 10038 10039// GoString returns the string representation 10040func (s CachePolicyCookiesConfig) GoString() string { 10041 return s.String() 10042} 10043 10044// Validate inspects the fields of the type to determine if they are valid. 10045func (s *CachePolicyCookiesConfig) Validate() error { 10046 invalidParams := request.ErrInvalidParams{Context: "CachePolicyCookiesConfig"} 10047 if s.CookieBehavior == nil { 10048 invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) 10049 } 10050 if s.Cookies != nil { 10051 if err := s.Cookies.Validate(); err != nil { 10052 invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) 10053 } 10054 } 10055 10056 if invalidParams.Len() > 0 { 10057 return invalidParams 10058 } 10059 return nil 10060} 10061 10062// SetCookieBehavior sets the CookieBehavior field's value. 10063func (s *CachePolicyCookiesConfig) SetCookieBehavior(v string) *CachePolicyCookiesConfig { 10064 s.CookieBehavior = &v 10065 return s 10066} 10067 10068// SetCookies sets the Cookies field's value. 10069func (s *CachePolicyCookiesConfig) SetCookies(v *CookieNames) *CachePolicyCookiesConfig { 10070 s.Cookies = v 10071 return s 10072} 10073 10074// An object that determines whether any HTTP headers (and if so, which headers) 10075// are included in the cache key and automatically included in requests that 10076// CloudFront sends to the origin. 10077type CachePolicyHeadersConfig struct { 10078 _ struct{} `type:"structure"` 10079 10080 // Determines whether any HTTP headers are included in the cache key and automatically 10081 // included in requests that CloudFront sends to the origin. Valid values are: 10082 // 10083 // * none – HTTP headers are not included in the cache key and are not 10084 // automatically included in requests that CloudFront sends to the origin. 10085 // Even when this field is set to none, any headers that are listed in an 10086 // OriginRequestPolicy are included in origin requests. 10087 // 10088 // * whitelist – The HTTP headers that are listed in the Headers type are 10089 // included in the cache key and are automatically included in requests that 10090 // CloudFront sends to the origin. 10091 // 10092 // HeaderBehavior is a required field 10093 HeaderBehavior *string `type:"string" required:"true" enum:"CachePolicyHeaderBehavior"` 10094 10095 // Contains a list of HTTP header names. 10096 Headers *Headers `type:"structure"` 10097} 10098 10099// String returns the string representation 10100func (s CachePolicyHeadersConfig) String() string { 10101 return awsutil.Prettify(s) 10102} 10103 10104// GoString returns the string representation 10105func (s CachePolicyHeadersConfig) GoString() string { 10106 return s.String() 10107} 10108 10109// Validate inspects the fields of the type to determine if they are valid. 10110func (s *CachePolicyHeadersConfig) Validate() error { 10111 invalidParams := request.ErrInvalidParams{Context: "CachePolicyHeadersConfig"} 10112 if s.HeaderBehavior == nil { 10113 invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) 10114 } 10115 if s.Headers != nil { 10116 if err := s.Headers.Validate(); err != nil { 10117 invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) 10118 } 10119 } 10120 10121 if invalidParams.Len() > 0 { 10122 return invalidParams 10123 } 10124 return nil 10125} 10126 10127// SetHeaderBehavior sets the HeaderBehavior field's value. 10128func (s *CachePolicyHeadersConfig) SetHeaderBehavior(v string) *CachePolicyHeadersConfig { 10129 s.HeaderBehavior = &v 10130 return s 10131} 10132 10133// SetHeaders sets the Headers field's value. 10134func (s *CachePolicyHeadersConfig) SetHeaders(v *Headers) *CachePolicyHeadersConfig { 10135 s.Headers = v 10136 return s 10137} 10138 10139// A list of cache policies. 10140type CachePolicyList struct { 10141 _ struct{} `type:"structure"` 10142 10143 // Contains the cache policies in the list. 10144 Items []*CachePolicySummary `locationNameList:"CachePolicySummary" type:"list"` 10145 10146 // The maximum number of cache policies requested. 10147 // 10148 // MaxItems is a required field 10149 MaxItems *int64 `type:"integer" required:"true"` 10150 10151 // If there are more items in the list than are in this response, this element 10152 // is present. It contains the value that you should use in the Marker field 10153 // of a subsequent request to continue listing cache policies where you left 10154 // off. 10155 NextMarker *string `type:"string"` 10156 10157 // The total number of cache policies returned in the response. 10158 // 10159 // Quantity is a required field 10160 Quantity *int64 `type:"integer" required:"true"` 10161} 10162 10163// String returns the string representation 10164func (s CachePolicyList) String() string { 10165 return awsutil.Prettify(s) 10166} 10167 10168// GoString returns the string representation 10169func (s CachePolicyList) GoString() string { 10170 return s.String() 10171} 10172 10173// SetItems sets the Items field's value. 10174func (s *CachePolicyList) SetItems(v []*CachePolicySummary) *CachePolicyList { 10175 s.Items = v 10176 return s 10177} 10178 10179// SetMaxItems sets the MaxItems field's value. 10180func (s *CachePolicyList) SetMaxItems(v int64) *CachePolicyList { 10181 s.MaxItems = &v 10182 return s 10183} 10184 10185// SetNextMarker sets the NextMarker field's value. 10186func (s *CachePolicyList) SetNextMarker(v string) *CachePolicyList { 10187 s.NextMarker = &v 10188 return s 10189} 10190 10191// SetQuantity sets the Quantity field's value. 10192func (s *CachePolicyList) SetQuantity(v int64) *CachePolicyList { 10193 s.Quantity = &v 10194 return s 10195} 10196 10197// An object that determines whether any URL query strings in viewer requests 10198// (and if so, which query strings) are included in the cache key and automatically 10199// included in requests that CloudFront sends to the origin. 10200type CachePolicyQueryStringsConfig struct { 10201 _ struct{} `type:"structure"` 10202 10203 // Determines whether any URL query strings in viewer requests are included 10204 // in the cache key and automatically included in requests that CloudFront sends 10205 // to the origin. Valid values are: 10206 // 10207 // * none – Query strings in viewer requests are not included in the cache 10208 // key and are not automatically included in requests that CloudFront sends 10209 // to the origin. Even when this field is set to none, any query strings 10210 // that are listed in an OriginRequestPolicy are included in origin requests. 10211 // 10212 // * whitelist – The query strings in viewer requests that are listed in 10213 // the QueryStringNames type are included in the cache key and automatically 10214 // included in requests that CloudFront sends to the origin. 10215 // 10216 // * allExcept – All query strings in viewer requests that are not listed 10217 // in the QueryStringNames type are included in the cache key and automatically 10218 // included in requests that CloudFront sends to the origin. 10219 // 10220 // * all – All query strings in viewer requests are included in the cache 10221 // key and are automatically included in requests that CloudFront sends to 10222 // the origin. 10223 // 10224 // QueryStringBehavior is a required field 10225 QueryStringBehavior *string `type:"string" required:"true" enum:"CachePolicyQueryStringBehavior"` 10226 10227 // Contains the specific query strings in viewer requests that either are or 10228 // are not included in the cache key and automatically included in requests 10229 // that CloudFront sends to the origin. The behavior depends on whether the 10230 // QueryStringBehavior field in the CachePolicyQueryStringsConfig type is set 10231 // to whitelist (the listed query strings are included) or allExcept (the listed 10232 // query strings are not included, but all other query strings are). 10233 QueryStrings *QueryStringNames `type:"structure"` 10234} 10235 10236// String returns the string representation 10237func (s CachePolicyQueryStringsConfig) String() string { 10238 return awsutil.Prettify(s) 10239} 10240 10241// GoString returns the string representation 10242func (s CachePolicyQueryStringsConfig) GoString() string { 10243 return s.String() 10244} 10245 10246// Validate inspects the fields of the type to determine if they are valid. 10247func (s *CachePolicyQueryStringsConfig) Validate() error { 10248 invalidParams := request.ErrInvalidParams{Context: "CachePolicyQueryStringsConfig"} 10249 if s.QueryStringBehavior == nil { 10250 invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) 10251 } 10252 if s.QueryStrings != nil { 10253 if err := s.QueryStrings.Validate(); err != nil { 10254 invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) 10255 } 10256 } 10257 10258 if invalidParams.Len() > 0 { 10259 return invalidParams 10260 } 10261 return nil 10262} 10263 10264// SetQueryStringBehavior sets the QueryStringBehavior field's value. 10265func (s *CachePolicyQueryStringsConfig) SetQueryStringBehavior(v string) *CachePolicyQueryStringsConfig { 10266 s.QueryStringBehavior = &v 10267 return s 10268} 10269 10270// SetQueryStrings sets the QueryStrings field's value. 10271func (s *CachePolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *CachePolicyQueryStringsConfig { 10272 s.QueryStrings = v 10273 return s 10274} 10275 10276// Contains a cache policy. 10277type CachePolicySummary struct { 10278 _ struct{} `type:"structure"` 10279 10280 // The cache policy. 10281 // 10282 // CachePolicy is a required field 10283 CachePolicy *CachePolicy `type:"structure" required:"true"` 10284 10285 // The type of cache policy, either managed (created by Amazon Web Services) 10286 // or custom (created in this account). 10287 // 10288 // Type is a required field 10289 Type *string `type:"string" required:"true" enum:"CachePolicyType"` 10290} 10291 10292// String returns the string representation 10293func (s CachePolicySummary) String() string { 10294 return awsutil.Prettify(s) 10295} 10296 10297// GoString returns the string representation 10298func (s CachePolicySummary) GoString() string { 10299 return s.String() 10300} 10301 10302// SetCachePolicy sets the CachePolicy field's value. 10303func (s *CachePolicySummary) SetCachePolicy(v *CachePolicy) *CachePolicySummary { 10304 s.CachePolicy = v 10305 return s 10306} 10307 10308// SetType sets the Type field's value. 10309func (s *CachePolicySummary) SetType(v string) *CachePolicySummary { 10310 s.Type = &v 10311 return s 10312} 10313 10314// A complex type that controls whether CloudFront caches the response to requests 10315// using the specified HTTP methods. There are two choices: 10316// 10317// * CloudFront caches responses to GET and HEAD requests. 10318// 10319// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. 10320// 10321// If you pick the second choice for your Amazon S3 Origin, you may need to 10322// forward Access-Control-Request-Method, Access-Control-Request-Headers, and 10323// Origin headers for the responses to be cached correctly. 10324type CachedMethods struct { 10325 _ struct{} `type:"structure"` 10326 10327 // A complex type that contains the HTTP methods that you want CloudFront to 10328 // cache responses to. 10329 // 10330 // Items is a required field 10331 Items []*string `locationNameList:"Method" type:"list" required:"true"` 10332 10333 // The number of HTTP methods for which you want CloudFront to cache responses. 10334 // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 10335 // (for caching responses to GET, HEAD, and OPTIONS requests). 10336 // 10337 // Quantity is a required field 10338 Quantity *int64 `type:"integer" required:"true"` 10339} 10340 10341// String returns the string representation 10342func (s CachedMethods) String() string { 10343 return awsutil.Prettify(s) 10344} 10345 10346// GoString returns the string representation 10347func (s CachedMethods) GoString() string { 10348 return s.String() 10349} 10350 10351// Validate inspects the fields of the type to determine if they are valid. 10352func (s *CachedMethods) Validate() error { 10353 invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} 10354 if s.Items == nil { 10355 invalidParams.Add(request.NewErrParamRequired("Items")) 10356 } 10357 if s.Quantity == nil { 10358 invalidParams.Add(request.NewErrParamRequired("Quantity")) 10359 } 10360 10361 if invalidParams.Len() > 0 { 10362 return invalidParams 10363 } 10364 return nil 10365} 10366 10367// SetItems sets the Items field's value. 10368func (s *CachedMethods) SetItems(v []*string) *CachedMethods { 10369 s.Items = v 10370 return s 10371} 10372 10373// SetQuantity sets the Quantity field's value. 10374func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { 10375 s.Quantity = &v 10376 return s 10377} 10378 10379// An alias (also called a CNAME) and the CloudFront distribution and Amazon 10380// Web Services account ID that it’s associated with. The distribution and 10381// account IDs are partially hidden, which allows you to identify the distributions 10382// and accounts that you own, but helps to protect the information of ones that 10383// you don’t own. 10384type ConflictingAlias struct { 10385 _ struct{} `type:"structure"` 10386 10387 // The (partially hidden) ID of the Amazon Web Services account that owns the 10388 // distribution that’s associated with the alias. 10389 AccountId *string `type:"string"` 10390 10391 // An alias (also called a CNAME). 10392 Alias *string `type:"string"` 10393 10394 // The (partially hidden) ID of the CloudFront distribution associated with 10395 // the alias. 10396 DistributionId *string `type:"string"` 10397} 10398 10399// String returns the string representation 10400func (s ConflictingAlias) String() string { 10401 return awsutil.Prettify(s) 10402} 10403 10404// GoString returns the string representation 10405func (s ConflictingAlias) GoString() string { 10406 return s.String() 10407} 10408 10409// SetAccountId sets the AccountId field's value. 10410func (s *ConflictingAlias) SetAccountId(v string) *ConflictingAlias { 10411 s.AccountId = &v 10412 return s 10413} 10414 10415// SetAlias sets the Alias field's value. 10416func (s *ConflictingAlias) SetAlias(v string) *ConflictingAlias { 10417 s.Alias = &v 10418 return s 10419} 10420 10421// SetDistributionId sets the DistributionId field's value. 10422func (s *ConflictingAlias) SetDistributionId(v string) *ConflictingAlias { 10423 s.DistributionId = &v 10424 return s 10425} 10426 10427// A list of aliases (also called CNAMEs) and the CloudFront distributions and 10428// Amazon Web Services accounts that they are associated with. In the list, 10429// the distribution and account IDs are partially hidden, which allows you to 10430// identify the distributions and accounts that you own, but helps to protect 10431// the information of ones that you don’t own. 10432type ConflictingAliasesList struct { 10433 _ struct{} `type:"structure"` 10434 10435 // Contains the conflicting aliases in the list. 10436 Items []*ConflictingAlias `locationNameList:"ConflictingAlias" type:"list"` 10437 10438 // The maximum number of conflicting aliases requested. 10439 MaxItems *int64 `type:"integer"` 10440 10441 // If there are more items in the list than are in this response, this element 10442 // is present. It contains the value that you should use in the Marker field 10443 // of a subsequent request to continue listing conflicting aliases where you 10444 // left off. 10445 NextMarker *string `type:"string"` 10446 10447 // The number of conflicting aliases returned in the response. 10448 Quantity *int64 `type:"integer"` 10449} 10450 10451// String returns the string representation 10452func (s ConflictingAliasesList) String() string { 10453 return awsutil.Prettify(s) 10454} 10455 10456// GoString returns the string representation 10457func (s ConflictingAliasesList) GoString() string { 10458 return s.String() 10459} 10460 10461// SetItems sets the Items field's value. 10462func (s *ConflictingAliasesList) SetItems(v []*ConflictingAlias) *ConflictingAliasesList { 10463 s.Items = v 10464 return s 10465} 10466 10467// SetMaxItems sets the MaxItems field's value. 10468func (s *ConflictingAliasesList) SetMaxItems(v int64) *ConflictingAliasesList { 10469 s.MaxItems = &v 10470 return s 10471} 10472 10473// SetNextMarker sets the NextMarker field's value. 10474func (s *ConflictingAliasesList) SetNextMarker(v string) *ConflictingAliasesList { 10475 s.NextMarker = &v 10476 return s 10477} 10478 10479// SetQuantity sets the Quantity field's value. 10480func (s *ConflictingAliasesList) SetQuantity(v int64) *ConflictingAliasesList { 10481 s.Quantity = &v 10482 return s 10483} 10484 10485// A field-level encryption content type profile. 10486type ContentTypeProfile struct { 10487 _ struct{} `type:"structure"` 10488 10489 // The content type for a field-level encryption content type-profile mapping. 10490 // 10491 // ContentType is a required field 10492 ContentType *string `type:"string" required:"true"` 10493 10494 // The format for a field-level encryption content type-profile mapping. 10495 // 10496 // Format is a required field 10497 Format *string `type:"string" required:"true" enum:"Format"` 10498 10499 // The profile ID for a field-level encryption content type-profile mapping. 10500 ProfileId *string `type:"string"` 10501} 10502 10503// String returns the string representation 10504func (s ContentTypeProfile) String() string { 10505 return awsutil.Prettify(s) 10506} 10507 10508// GoString returns the string representation 10509func (s ContentTypeProfile) GoString() string { 10510 return s.String() 10511} 10512 10513// Validate inspects the fields of the type to determine if they are valid. 10514func (s *ContentTypeProfile) Validate() error { 10515 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} 10516 if s.ContentType == nil { 10517 invalidParams.Add(request.NewErrParamRequired("ContentType")) 10518 } 10519 if s.Format == nil { 10520 invalidParams.Add(request.NewErrParamRequired("Format")) 10521 } 10522 10523 if invalidParams.Len() > 0 { 10524 return invalidParams 10525 } 10526 return nil 10527} 10528 10529// SetContentType sets the ContentType field's value. 10530func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { 10531 s.ContentType = &v 10532 return s 10533} 10534 10535// SetFormat sets the Format field's value. 10536func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { 10537 s.Format = &v 10538 return s 10539} 10540 10541// SetProfileId sets the ProfileId field's value. 10542func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { 10543 s.ProfileId = &v 10544 return s 10545} 10546 10547// The configuration for a field-level encryption content type-profile mapping. 10548type ContentTypeProfileConfig struct { 10549 _ struct{} `type:"structure"` 10550 10551 // The configuration for a field-level encryption content type-profile. 10552 ContentTypeProfiles *ContentTypeProfiles `type:"structure"` 10553 10554 // The setting in a field-level encryption content type-profile mapping that 10555 // specifies what to do when an unknown content type is provided for the profile. 10556 // If true, content is forwarded without being encrypted when the content type 10557 // is unknown. If false (the default), an error is returned when the content 10558 // type is unknown. 10559 // 10560 // ForwardWhenContentTypeIsUnknown is a required field 10561 ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` 10562} 10563 10564// String returns the string representation 10565func (s ContentTypeProfileConfig) String() string { 10566 return awsutil.Prettify(s) 10567} 10568 10569// GoString returns the string representation 10570func (s ContentTypeProfileConfig) GoString() string { 10571 return s.String() 10572} 10573 10574// Validate inspects the fields of the type to determine if they are valid. 10575func (s *ContentTypeProfileConfig) Validate() error { 10576 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} 10577 if s.ForwardWhenContentTypeIsUnknown == nil { 10578 invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) 10579 } 10580 if s.ContentTypeProfiles != nil { 10581 if err := s.ContentTypeProfiles.Validate(); err != nil { 10582 invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) 10583 } 10584 } 10585 10586 if invalidParams.Len() > 0 { 10587 return invalidParams 10588 } 10589 return nil 10590} 10591 10592// SetContentTypeProfiles sets the ContentTypeProfiles field's value. 10593func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { 10594 s.ContentTypeProfiles = v 10595 return s 10596} 10597 10598// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. 10599func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { 10600 s.ForwardWhenContentTypeIsUnknown = &v 10601 return s 10602} 10603 10604// Field-level encryption content type-profile. 10605type ContentTypeProfiles struct { 10606 _ struct{} `type:"structure"` 10607 10608 // Items in a field-level encryption content type-profile mapping. 10609 Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` 10610 10611 // The number of field-level encryption content type-profile mappings. 10612 // 10613 // Quantity is a required field 10614 Quantity *int64 `type:"integer" required:"true"` 10615} 10616 10617// String returns the string representation 10618func (s ContentTypeProfiles) String() string { 10619 return awsutil.Prettify(s) 10620} 10621 10622// GoString returns the string representation 10623func (s ContentTypeProfiles) GoString() string { 10624 return s.String() 10625} 10626 10627// Validate inspects the fields of the type to determine if they are valid. 10628func (s *ContentTypeProfiles) Validate() error { 10629 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} 10630 if s.Quantity == nil { 10631 invalidParams.Add(request.NewErrParamRequired("Quantity")) 10632 } 10633 if s.Items != nil { 10634 for i, v := range s.Items { 10635 if v == nil { 10636 continue 10637 } 10638 if err := v.Validate(); err != nil { 10639 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 10640 } 10641 } 10642 } 10643 10644 if invalidParams.Len() > 0 { 10645 return invalidParams 10646 } 10647 return nil 10648} 10649 10650// SetItems sets the Items field's value. 10651func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { 10652 s.Items = v 10653 return s 10654} 10655 10656// SetQuantity sets the Quantity field's value. 10657func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { 10658 s.Quantity = &v 10659 return s 10660} 10661 10662// Contains a list of cookie names. 10663type CookieNames struct { 10664 _ struct{} `type:"structure"` 10665 10666 // A list of cookie names. 10667 Items []*string `locationNameList:"Name" type:"list"` 10668 10669 // The number of cookie names in the Items list. 10670 // 10671 // Quantity is a required field 10672 Quantity *int64 `type:"integer" required:"true"` 10673} 10674 10675// String returns the string representation 10676func (s CookieNames) String() string { 10677 return awsutil.Prettify(s) 10678} 10679 10680// GoString returns the string representation 10681func (s CookieNames) GoString() string { 10682 return s.String() 10683} 10684 10685// Validate inspects the fields of the type to determine if they are valid. 10686func (s *CookieNames) Validate() error { 10687 invalidParams := request.ErrInvalidParams{Context: "CookieNames"} 10688 if s.Quantity == nil { 10689 invalidParams.Add(request.NewErrParamRequired("Quantity")) 10690 } 10691 10692 if invalidParams.Len() > 0 { 10693 return invalidParams 10694 } 10695 return nil 10696} 10697 10698// SetItems sets the Items field's value. 10699func (s *CookieNames) SetItems(v []*string) *CookieNames { 10700 s.Items = v 10701 return s 10702} 10703 10704// SetQuantity sets the Quantity field's value. 10705func (s *CookieNames) SetQuantity(v int64) *CookieNames { 10706 s.Quantity = &v 10707 return s 10708} 10709 10710// This field is deprecated. We recommend that you use a cache policy or an 10711// origin request policy instead of this field. 10712// 10713// If you want to include cookies in the cache key, use CookiesConfig in a cache 10714// policy. See CachePolicy. 10715// 10716// If you want to send cookies to the origin but not include them in the cache 10717// key, use CookiesConfig in an origin request policy. See OriginRequestPolicy. 10718// 10719// A complex type that specifies whether you want CloudFront to forward cookies 10720// to the origin and, if so, which ones. For more information about forwarding 10721// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) 10722// in the Amazon CloudFront Developer Guide. 10723type CookiePreference struct { 10724 _ struct{} `type:"structure"` 10725 10726 // This field is deprecated. We recommend that you use a cache policy or an 10727 // origin request policy instead of this field. 10728 // 10729 // If you want to include cookies in the cache key, use a cache policy. For 10730 // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 10731 // in the Amazon CloudFront Developer Guide. 10732 // 10733 // If you want to send cookies to the origin but not include them in the cache 10734 // key, use origin request policy. For more information, see Creating origin 10735 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 10736 // in the Amazon CloudFront Developer Guide. 10737 // 10738 // Specifies which cookies to forward to the origin for this cache behavior: 10739 // all, none, or the list of cookies specified in the WhitelistedNames complex 10740 // type. 10741 // 10742 // Amazon S3 doesn't process cookies. When the cache behavior is forwarding 10743 // requests to an Amazon S3 origin, specify none for the Forward element. 10744 // 10745 // Forward is a required field 10746 Forward *string `type:"string" required:"true" enum:"ItemSelection"` 10747 10748 // This field is deprecated. We recommend that you use a cache policy or an 10749 // origin request policy instead of this field. 10750 // 10751 // If you want to include cookies in the cache key, use a cache policy. For 10752 // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 10753 // in the Amazon CloudFront Developer Guide. 10754 // 10755 // If you want to send cookies to the origin but not include them in the cache 10756 // key, use an origin request policy. For more information, see Creating origin 10757 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 10758 // in the Amazon CloudFront Developer Guide. 10759 // 10760 // Required if you specify whitelist for the value of Forward. A complex type 10761 // that specifies how many different cookies you want CloudFront to forward 10762 // to the origin for this cache behavior and, if you want to forward selected 10763 // cookies, the names of those cookies. 10764 // 10765 // If you specify all or none for the value of Forward, omit WhitelistedNames. 10766 // If you change the value of Forward from whitelist to all or none and you 10767 // don't delete the WhitelistedNames element and its child elements, CloudFront 10768 // deletes them automatically. 10769 // 10770 // For the current limit on the number of cookie names that you can whitelist 10771 // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) 10772 // in the Amazon Web Services General Reference. 10773 WhitelistedNames *CookieNames `type:"structure"` 10774} 10775 10776// String returns the string representation 10777func (s CookiePreference) String() string { 10778 return awsutil.Prettify(s) 10779} 10780 10781// GoString returns the string representation 10782func (s CookiePreference) GoString() string { 10783 return s.String() 10784} 10785 10786// Validate inspects the fields of the type to determine if they are valid. 10787func (s *CookiePreference) Validate() error { 10788 invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} 10789 if s.Forward == nil { 10790 invalidParams.Add(request.NewErrParamRequired("Forward")) 10791 } 10792 if s.WhitelistedNames != nil { 10793 if err := s.WhitelistedNames.Validate(); err != nil { 10794 invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) 10795 } 10796 } 10797 10798 if invalidParams.Len() > 0 { 10799 return invalidParams 10800 } 10801 return nil 10802} 10803 10804// SetForward sets the Forward field's value. 10805func (s *CookiePreference) SetForward(v string) *CookiePreference { 10806 s.Forward = &v 10807 return s 10808} 10809 10810// SetWhitelistedNames sets the WhitelistedNames field's value. 10811func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { 10812 s.WhitelistedNames = v 10813 return s 10814} 10815 10816type CreateCachePolicyInput struct { 10817 _ struct{} `locationName:"CreateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` 10818 10819 // A cache policy configuration. 10820 // 10821 // CachePolicyConfig is a required field 10822 CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 10823} 10824 10825// String returns the string representation 10826func (s CreateCachePolicyInput) String() string { 10827 return awsutil.Prettify(s) 10828} 10829 10830// GoString returns the string representation 10831func (s CreateCachePolicyInput) GoString() string { 10832 return s.String() 10833} 10834 10835// Validate inspects the fields of the type to determine if they are valid. 10836func (s *CreateCachePolicyInput) Validate() error { 10837 invalidParams := request.ErrInvalidParams{Context: "CreateCachePolicyInput"} 10838 if s.CachePolicyConfig == nil { 10839 invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) 10840 } 10841 if s.CachePolicyConfig != nil { 10842 if err := s.CachePolicyConfig.Validate(); err != nil { 10843 invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) 10844 } 10845 } 10846 10847 if invalidParams.Len() > 0 { 10848 return invalidParams 10849 } 10850 return nil 10851} 10852 10853// SetCachePolicyConfig sets the CachePolicyConfig field's value. 10854func (s *CreateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *CreateCachePolicyInput { 10855 s.CachePolicyConfig = v 10856 return s 10857} 10858 10859type CreateCachePolicyOutput struct { 10860 _ struct{} `type:"structure" payload:"CachePolicy"` 10861 10862 // A cache policy. 10863 CachePolicy *CachePolicy `type:"structure"` 10864 10865 // The current version of the cache policy. 10866 ETag *string `location:"header" locationName:"ETag" type:"string"` 10867 10868 // The fully qualified URI of the cache policy just created. 10869 Location *string `location:"header" locationName:"Location" type:"string"` 10870} 10871 10872// String returns the string representation 10873func (s CreateCachePolicyOutput) String() string { 10874 return awsutil.Prettify(s) 10875} 10876 10877// GoString returns the string representation 10878func (s CreateCachePolicyOutput) GoString() string { 10879 return s.String() 10880} 10881 10882// SetCachePolicy sets the CachePolicy field's value. 10883func (s *CreateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *CreateCachePolicyOutput { 10884 s.CachePolicy = v 10885 return s 10886} 10887 10888// SetETag sets the ETag field's value. 10889func (s *CreateCachePolicyOutput) SetETag(v string) *CreateCachePolicyOutput { 10890 s.ETag = &v 10891 return s 10892} 10893 10894// SetLocation sets the Location field's value. 10895func (s *CreateCachePolicyOutput) SetLocation(v string) *CreateCachePolicyOutput { 10896 s.Location = &v 10897 return s 10898} 10899 10900// The request to create a new origin access identity (OAI). An origin access 10901// identity is a special CloudFront user that you can associate with Amazon 10902// S3 origins, so that you can secure all or just some of your Amazon S3 content. 10903// For more information, see Restricting Access to Amazon S3 Content by Using 10904// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 10905// in the Amazon CloudFront Developer Guide. 10906type CreateCloudFrontOriginAccessIdentityInput struct { 10907 _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 10908 10909 // The current configuration information for the identity. 10910 // 10911 // CloudFrontOriginAccessIdentityConfig is a required field 10912 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 10913} 10914 10915// String returns the string representation 10916func (s CreateCloudFrontOriginAccessIdentityInput) String() string { 10917 return awsutil.Prettify(s) 10918} 10919 10920// GoString returns the string representation 10921func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { 10922 return s.String() 10923} 10924 10925// Validate inspects the fields of the type to determine if they are valid. 10926func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { 10927 invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} 10928 if s.CloudFrontOriginAccessIdentityConfig == nil { 10929 invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) 10930 } 10931 if s.CloudFrontOriginAccessIdentityConfig != nil { 10932 if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { 10933 invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) 10934 } 10935 } 10936 10937 if invalidParams.Len() > 0 { 10938 return invalidParams 10939 } 10940 return nil 10941} 10942 10943// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 10944func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { 10945 s.CloudFrontOriginAccessIdentityConfig = v 10946 return s 10947} 10948 10949// The returned result of the corresponding request. 10950type CreateCloudFrontOriginAccessIdentityOutput struct { 10951 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 10952 10953 // The origin access identity's information. 10954 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 10955 10956 // The current version of the origin access identity created. 10957 ETag *string `location:"header" locationName:"ETag" type:"string"` 10958 10959 // The fully qualified URI of the new origin access identity just created. 10960 Location *string `location:"header" locationName:"Location" type:"string"` 10961} 10962 10963// String returns the string representation 10964func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { 10965 return awsutil.Prettify(s) 10966} 10967 10968// GoString returns the string representation 10969func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { 10970 return s.String() 10971} 10972 10973// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 10974func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { 10975 s.CloudFrontOriginAccessIdentity = v 10976 return s 10977} 10978 10979// SetETag sets the ETag field's value. 10980func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { 10981 s.ETag = &v 10982 return s 10983} 10984 10985// SetLocation sets the Location field's value. 10986func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { 10987 s.Location = &v 10988 return s 10989} 10990 10991// The request to create a new distribution. 10992type CreateDistributionInput struct { 10993 _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` 10994 10995 // The distribution's configuration information. 10996 // 10997 // DistributionConfig is a required field 10998 DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 10999} 11000 11001// String returns the string representation 11002func (s CreateDistributionInput) String() string { 11003 return awsutil.Prettify(s) 11004} 11005 11006// GoString returns the string representation 11007func (s CreateDistributionInput) GoString() string { 11008 return s.String() 11009} 11010 11011// Validate inspects the fields of the type to determine if they are valid. 11012func (s *CreateDistributionInput) Validate() error { 11013 invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} 11014 if s.DistributionConfig == nil { 11015 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 11016 } 11017 if s.DistributionConfig != nil { 11018 if err := s.DistributionConfig.Validate(); err != nil { 11019 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 11020 } 11021 } 11022 11023 if invalidParams.Len() > 0 { 11024 return invalidParams 11025 } 11026 return nil 11027} 11028 11029// SetDistributionConfig sets the DistributionConfig field's value. 11030func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { 11031 s.DistributionConfig = v 11032 return s 11033} 11034 11035// The returned result of the corresponding request. 11036type CreateDistributionOutput struct { 11037 _ struct{} `type:"structure" payload:"Distribution"` 11038 11039 // The distribution's information. 11040 Distribution *Distribution `type:"structure"` 11041 11042 // The current version of the distribution created. 11043 ETag *string `location:"header" locationName:"ETag" type:"string"` 11044 11045 // The fully qualified URI of the new distribution resource just created. 11046 Location *string `location:"header" locationName:"Location" type:"string"` 11047} 11048 11049// String returns the string representation 11050func (s CreateDistributionOutput) String() string { 11051 return awsutil.Prettify(s) 11052} 11053 11054// GoString returns the string representation 11055func (s CreateDistributionOutput) GoString() string { 11056 return s.String() 11057} 11058 11059// SetDistribution sets the Distribution field's value. 11060func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { 11061 s.Distribution = v 11062 return s 11063} 11064 11065// SetETag sets the ETag field's value. 11066func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { 11067 s.ETag = &v 11068 return s 11069} 11070 11071// SetLocation sets the Location field's value. 11072func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { 11073 s.Location = &v 11074 return s 11075} 11076 11077// The request to create a new distribution with tags. 11078type CreateDistributionWithTagsInput struct { 11079 _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` 11080 11081 // The distribution's configuration information. 11082 // 11083 // DistributionConfigWithTags is a required field 11084 DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11085} 11086 11087// String returns the string representation 11088func (s CreateDistributionWithTagsInput) String() string { 11089 return awsutil.Prettify(s) 11090} 11091 11092// GoString returns the string representation 11093func (s CreateDistributionWithTagsInput) GoString() string { 11094 return s.String() 11095} 11096 11097// Validate inspects the fields of the type to determine if they are valid. 11098func (s *CreateDistributionWithTagsInput) Validate() error { 11099 invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} 11100 if s.DistributionConfigWithTags == nil { 11101 invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) 11102 } 11103 if s.DistributionConfigWithTags != nil { 11104 if err := s.DistributionConfigWithTags.Validate(); err != nil { 11105 invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) 11106 } 11107 } 11108 11109 if invalidParams.Len() > 0 { 11110 return invalidParams 11111 } 11112 return nil 11113} 11114 11115// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. 11116func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { 11117 s.DistributionConfigWithTags = v 11118 return s 11119} 11120 11121// The returned result of the corresponding request. 11122type CreateDistributionWithTagsOutput struct { 11123 _ struct{} `type:"structure" payload:"Distribution"` 11124 11125 // The distribution's information. 11126 Distribution *Distribution `type:"structure"` 11127 11128 // The current version of the distribution created. 11129 ETag *string `location:"header" locationName:"ETag" type:"string"` 11130 11131 // The fully qualified URI of the new distribution resource just created. 11132 Location *string `location:"header" locationName:"Location" type:"string"` 11133} 11134 11135// String returns the string representation 11136func (s CreateDistributionWithTagsOutput) String() string { 11137 return awsutil.Prettify(s) 11138} 11139 11140// GoString returns the string representation 11141func (s CreateDistributionWithTagsOutput) GoString() string { 11142 return s.String() 11143} 11144 11145// SetDistribution sets the Distribution field's value. 11146func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { 11147 s.Distribution = v 11148 return s 11149} 11150 11151// SetETag sets the ETag field's value. 11152func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { 11153 s.ETag = &v 11154 return s 11155} 11156 11157// SetLocation sets the Location field's value. 11158func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { 11159 s.Location = &v 11160 return s 11161} 11162 11163type CreateFieldLevelEncryptionConfigInput struct { 11164 _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` 11165 11166 // The request to create a new field-level encryption configuration. 11167 // 11168 // FieldLevelEncryptionConfig is a required field 11169 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11170} 11171 11172// String returns the string representation 11173func (s CreateFieldLevelEncryptionConfigInput) String() string { 11174 return awsutil.Prettify(s) 11175} 11176 11177// GoString returns the string representation 11178func (s CreateFieldLevelEncryptionConfigInput) GoString() string { 11179 return s.String() 11180} 11181 11182// Validate inspects the fields of the type to determine if they are valid. 11183func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { 11184 invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} 11185 if s.FieldLevelEncryptionConfig == nil { 11186 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) 11187 } 11188 if s.FieldLevelEncryptionConfig != nil { 11189 if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { 11190 invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) 11191 } 11192 } 11193 11194 if invalidParams.Len() > 0 { 11195 return invalidParams 11196 } 11197 return nil 11198} 11199 11200// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 11201func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { 11202 s.FieldLevelEncryptionConfig = v 11203 return s 11204} 11205 11206type CreateFieldLevelEncryptionConfigOutput struct { 11207 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 11208 11209 // The current version of the field level encryption configuration. For example: 11210 // E2QWRUHAPOMQZL. 11211 ETag *string `location:"header" locationName:"ETag" type:"string"` 11212 11213 // Returned when you create a new field-level encryption configuration. 11214 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 11215 11216 // The fully qualified URI of the new configuration resource just created. 11217 Location *string `location:"header" locationName:"Location" type:"string"` 11218} 11219 11220// String returns the string representation 11221func (s CreateFieldLevelEncryptionConfigOutput) String() string { 11222 return awsutil.Prettify(s) 11223} 11224 11225// GoString returns the string representation 11226func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { 11227 return s.String() 11228} 11229 11230// SetETag sets the ETag field's value. 11231func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { 11232 s.ETag = &v 11233 return s 11234} 11235 11236// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 11237func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { 11238 s.FieldLevelEncryption = v 11239 return s 11240} 11241 11242// SetLocation sets the Location field's value. 11243func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { 11244 s.Location = &v 11245 return s 11246} 11247 11248type CreateFieldLevelEncryptionProfileInput struct { 11249 _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 11250 11251 // The request to create a field-level encryption profile. 11252 // 11253 // FieldLevelEncryptionProfileConfig is a required field 11254 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11255} 11256 11257// String returns the string representation 11258func (s CreateFieldLevelEncryptionProfileInput) String() string { 11259 return awsutil.Prettify(s) 11260} 11261 11262// GoString returns the string representation 11263func (s CreateFieldLevelEncryptionProfileInput) GoString() string { 11264 return s.String() 11265} 11266 11267// Validate inspects the fields of the type to determine if they are valid. 11268func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { 11269 invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} 11270 if s.FieldLevelEncryptionProfileConfig == nil { 11271 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) 11272 } 11273 if s.FieldLevelEncryptionProfileConfig != nil { 11274 if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { 11275 invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) 11276 } 11277 } 11278 11279 if invalidParams.Len() > 0 { 11280 return invalidParams 11281 } 11282 return nil 11283} 11284 11285// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 11286func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { 11287 s.FieldLevelEncryptionProfileConfig = v 11288 return s 11289} 11290 11291type CreateFieldLevelEncryptionProfileOutput struct { 11292 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 11293 11294 // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. 11295 ETag *string `location:"header" locationName:"ETag" type:"string"` 11296 11297 // Returned when you create a new field-level encryption profile. 11298 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 11299 11300 // The fully qualified URI of the new profile resource just created. 11301 Location *string `location:"header" locationName:"Location" type:"string"` 11302} 11303 11304// String returns the string representation 11305func (s CreateFieldLevelEncryptionProfileOutput) String() string { 11306 return awsutil.Prettify(s) 11307} 11308 11309// GoString returns the string representation 11310func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { 11311 return s.String() 11312} 11313 11314// SetETag sets the ETag field's value. 11315func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { 11316 s.ETag = &v 11317 return s 11318} 11319 11320// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 11321func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { 11322 s.FieldLevelEncryptionProfile = v 11323 return s 11324} 11325 11326// SetLocation sets the Location field's value. 11327func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { 11328 s.Location = &v 11329 return s 11330} 11331 11332type CreateFunctionInput struct { 11333 _ struct{} `locationName:"CreateFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11334 11335 // The function code. For more information about writing a CloudFront function, 11336 // see Writing function code for CloudFront Functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) 11337 // in the Amazon CloudFront Developer Guide. 11338 // 11339 // FunctionCode is automatically base64 encoded/decoded by the SDK. 11340 // 11341 // FunctionCode is a required field 11342 FunctionCode []byte `min:"1" type:"blob" required:"true" sensitive:"true"` 11343 11344 // Configuration information about the function, including an optional comment 11345 // and the function’s runtime. 11346 // 11347 // FunctionConfig is a required field 11348 FunctionConfig *FunctionConfig `type:"structure" required:"true"` 11349 11350 // A name to identify the function. 11351 // 11352 // Name is a required field 11353 Name *string `min:"1" type:"string" required:"true"` 11354} 11355 11356// String returns the string representation 11357func (s CreateFunctionInput) String() string { 11358 return awsutil.Prettify(s) 11359} 11360 11361// GoString returns the string representation 11362func (s CreateFunctionInput) GoString() string { 11363 return s.String() 11364} 11365 11366// Validate inspects the fields of the type to determine if they are valid. 11367func (s *CreateFunctionInput) Validate() error { 11368 invalidParams := request.ErrInvalidParams{Context: "CreateFunctionInput"} 11369 if s.FunctionCode == nil { 11370 invalidParams.Add(request.NewErrParamRequired("FunctionCode")) 11371 } 11372 if s.FunctionCode != nil && len(s.FunctionCode) < 1 { 11373 invalidParams.Add(request.NewErrParamMinLen("FunctionCode", 1)) 11374 } 11375 if s.FunctionConfig == nil { 11376 invalidParams.Add(request.NewErrParamRequired("FunctionConfig")) 11377 } 11378 if s.Name == nil { 11379 invalidParams.Add(request.NewErrParamRequired("Name")) 11380 } 11381 if s.Name != nil && len(*s.Name) < 1 { 11382 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 11383 } 11384 if s.FunctionConfig != nil { 11385 if err := s.FunctionConfig.Validate(); err != nil { 11386 invalidParams.AddNested("FunctionConfig", err.(request.ErrInvalidParams)) 11387 } 11388 } 11389 11390 if invalidParams.Len() > 0 { 11391 return invalidParams 11392 } 11393 return nil 11394} 11395 11396// SetFunctionCode sets the FunctionCode field's value. 11397func (s *CreateFunctionInput) SetFunctionCode(v []byte) *CreateFunctionInput { 11398 s.FunctionCode = v 11399 return s 11400} 11401 11402// SetFunctionConfig sets the FunctionConfig field's value. 11403func (s *CreateFunctionInput) SetFunctionConfig(v *FunctionConfig) *CreateFunctionInput { 11404 s.FunctionConfig = v 11405 return s 11406} 11407 11408// SetName sets the Name field's value. 11409func (s *CreateFunctionInput) SetName(v string) *CreateFunctionInput { 11410 s.Name = &v 11411 return s 11412} 11413 11414type CreateFunctionOutput struct { 11415 _ struct{} `type:"structure" payload:"FunctionSummary"` 11416 11417 // The version identifier for the current version of the CloudFront function. 11418 ETag *string `location:"header" locationName:"ETag" type:"string"` 11419 11420 // Contains configuration information and metadata about a CloudFront function. 11421 FunctionSummary *FunctionSummary `type:"structure"` 11422 11423 // The URL of the CloudFront function. Use the URL to manage the function with 11424 // the CloudFront API. 11425 Location *string `location:"header" locationName:"Location" type:"string"` 11426} 11427 11428// String returns the string representation 11429func (s CreateFunctionOutput) String() string { 11430 return awsutil.Prettify(s) 11431} 11432 11433// GoString returns the string representation 11434func (s CreateFunctionOutput) GoString() string { 11435 return s.String() 11436} 11437 11438// SetETag sets the ETag field's value. 11439func (s *CreateFunctionOutput) SetETag(v string) *CreateFunctionOutput { 11440 s.ETag = &v 11441 return s 11442} 11443 11444// SetFunctionSummary sets the FunctionSummary field's value. 11445func (s *CreateFunctionOutput) SetFunctionSummary(v *FunctionSummary) *CreateFunctionOutput { 11446 s.FunctionSummary = v 11447 return s 11448} 11449 11450// SetLocation sets the Location field's value. 11451func (s *CreateFunctionOutput) SetLocation(v string) *CreateFunctionOutput { 11452 s.Location = &v 11453 return s 11454} 11455 11456// The request to create an invalidation. 11457type CreateInvalidationInput struct { 11458 _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` 11459 11460 // The distribution's id. 11461 // 11462 // DistributionId is a required field 11463 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 11464 11465 // The batch information for the invalidation. 11466 // 11467 // InvalidationBatch is a required field 11468 InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11469} 11470 11471// String returns the string representation 11472func (s CreateInvalidationInput) String() string { 11473 return awsutil.Prettify(s) 11474} 11475 11476// GoString returns the string representation 11477func (s CreateInvalidationInput) GoString() string { 11478 return s.String() 11479} 11480 11481// Validate inspects the fields of the type to determine if they are valid. 11482func (s *CreateInvalidationInput) Validate() error { 11483 invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} 11484 if s.DistributionId == nil { 11485 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 11486 } 11487 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 11488 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 11489 } 11490 if s.InvalidationBatch == nil { 11491 invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) 11492 } 11493 if s.InvalidationBatch != nil { 11494 if err := s.InvalidationBatch.Validate(); err != nil { 11495 invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) 11496 } 11497 } 11498 11499 if invalidParams.Len() > 0 { 11500 return invalidParams 11501 } 11502 return nil 11503} 11504 11505// SetDistributionId sets the DistributionId field's value. 11506func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { 11507 s.DistributionId = &v 11508 return s 11509} 11510 11511// SetInvalidationBatch sets the InvalidationBatch field's value. 11512func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { 11513 s.InvalidationBatch = v 11514 return s 11515} 11516 11517// The returned result of the corresponding request. 11518type CreateInvalidationOutput struct { 11519 _ struct{} `type:"structure" payload:"Invalidation"` 11520 11521 // The invalidation's information. 11522 Invalidation *Invalidation `type:"structure"` 11523 11524 // The fully qualified URI of the distribution and invalidation batch request, 11525 // including the Invalidation ID. 11526 Location *string `location:"header" locationName:"Location" type:"string"` 11527} 11528 11529// String returns the string representation 11530func (s CreateInvalidationOutput) String() string { 11531 return awsutil.Prettify(s) 11532} 11533 11534// GoString returns the string representation 11535func (s CreateInvalidationOutput) GoString() string { 11536 return s.String() 11537} 11538 11539// SetInvalidation sets the Invalidation field's value. 11540func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { 11541 s.Invalidation = v 11542 return s 11543} 11544 11545// SetLocation sets the Location field's value. 11546func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { 11547 s.Location = &v 11548 return s 11549} 11550 11551type CreateKeyGroupInput struct { 11552 _ struct{} `locationName:"CreateKeyGroupRequest" type:"structure" payload:"KeyGroupConfig"` 11553 11554 // A key group configuration. 11555 // 11556 // KeyGroupConfig is a required field 11557 KeyGroupConfig *KeyGroupConfig `locationName:"KeyGroupConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11558} 11559 11560// String returns the string representation 11561func (s CreateKeyGroupInput) String() string { 11562 return awsutil.Prettify(s) 11563} 11564 11565// GoString returns the string representation 11566func (s CreateKeyGroupInput) GoString() string { 11567 return s.String() 11568} 11569 11570// Validate inspects the fields of the type to determine if they are valid. 11571func (s *CreateKeyGroupInput) Validate() error { 11572 invalidParams := request.ErrInvalidParams{Context: "CreateKeyGroupInput"} 11573 if s.KeyGroupConfig == nil { 11574 invalidParams.Add(request.NewErrParamRequired("KeyGroupConfig")) 11575 } 11576 if s.KeyGroupConfig != nil { 11577 if err := s.KeyGroupConfig.Validate(); err != nil { 11578 invalidParams.AddNested("KeyGroupConfig", err.(request.ErrInvalidParams)) 11579 } 11580 } 11581 11582 if invalidParams.Len() > 0 { 11583 return invalidParams 11584 } 11585 return nil 11586} 11587 11588// SetKeyGroupConfig sets the KeyGroupConfig field's value. 11589func (s *CreateKeyGroupInput) SetKeyGroupConfig(v *KeyGroupConfig) *CreateKeyGroupInput { 11590 s.KeyGroupConfig = v 11591 return s 11592} 11593 11594type CreateKeyGroupOutput struct { 11595 _ struct{} `type:"structure" payload:"KeyGroup"` 11596 11597 // The identifier for this version of the key group. 11598 ETag *string `location:"header" locationName:"ETag" type:"string"` 11599 11600 // The key group that was just created. 11601 KeyGroup *KeyGroup `type:"structure"` 11602 11603 // The URL of the key group. 11604 Location *string `location:"header" locationName:"Location" type:"string"` 11605} 11606 11607// String returns the string representation 11608func (s CreateKeyGroupOutput) String() string { 11609 return awsutil.Prettify(s) 11610} 11611 11612// GoString returns the string representation 11613func (s CreateKeyGroupOutput) GoString() string { 11614 return s.String() 11615} 11616 11617// SetETag sets the ETag field's value. 11618func (s *CreateKeyGroupOutput) SetETag(v string) *CreateKeyGroupOutput { 11619 s.ETag = &v 11620 return s 11621} 11622 11623// SetKeyGroup sets the KeyGroup field's value. 11624func (s *CreateKeyGroupOutput) SetKeyGroup(v *KeyGroup) *CreateKeyGroupOutput { 11625 s.KeyGroup = v 11626 return s 11627} 11628 11629// SetLocation sets the Location field's value. 11630func (s *CreateKeyGroupOutput) SetLocation(v string) *CreateKeyGroupOutput { 11631 s.Location = &v 11632 return s 11633} 11634 11635type CreateMonitoringSubscriptionInput struct { 11636 _ struct{} `locationName:"CreateMonitoringSubscriptionRequest" type:"structure" payload:"MonitoringSubscription"` 11637 11638 // The ID of the distribution that you are enabling metrics for. 11639 // 11640 // DistributionId is a required field 11641 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 11642 11643 // A monitoring subscription. This structure contains information about whether 11644 // additional CloudWatch metrics are enabled for a given CloudFront distribution. 11645 // 11646 // MonitoringSubscription is a required field 11647 MonitoringSubscription *MonitoringSubscription `locationName:"MonitoringSubscription" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11648} 11649 11650// String returns the string representation 11651func (s CreateMonitoringSubscriptionInput) String() string { 11652 return awsutil.Prettify(s) 11653} 11654 11655// GoString returns the string representation 11656func (s CreateMonitoringSubscriptionInput) GoString() string { 11657 return s.String() 11658} 11659 11660// Validate inspects the fields of the type to determine if they are valid. 11661func (s *CreateMonitoringSubscriptionInput) Validate() error { 11662 invalidParams := request.ErrInvalidParams{Context: "CreateMonitoringSubscriptionInput"} 11663 if s.DistributionId == nil { 11664 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 11665 } 11666 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 11667 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 11668 } 11669 if s.MonitoringSubscription == nil { 11670 invalidParams.Add(request.NewErrParamRequired("MonitoringSubscription")) 11671 } 11672 if s.MonitoringSubscription != nil { 11673 if err := s.MonitoringSubscription.Validate(); err != nil { 11674 invalidParams.AddNested("MonitoringSubscription", err.(request.ErrInvalidParams)) 11675 } 11676 } 11677 11678 if invalidParams.Len() > 0 { 11679 return invalidParams 11680 } 11681 return nil 11682} 11683 11684// SetDistributionId sets the DistributionId field's value. 11685func (s *CreateMonitoringSubscriptionInput) SetDistributionId(v string) *CreateMonitoringSubscriptionInput { 11686 s.DistributionId = &v 11687 return s 11688} 11689 11690// SetMonitoringSubscription sets the MonitoringSubscription field's value. 11691func (s *CreateMonitoringSubscriptionInput) SetMonitoringSubscription(v *MonitoringSubscription) *CreateMonitoringSubscriptionInput { 11692 s.MonitoringSubscription = v 11693 return s 11694} 11695 11696type CreateMonitoringSubscriptionOutput struct { 11697 _ struct{} `type:"structure" payload:"MonitoringSubscription"` 11698 11699 // A monitoring subscription. This structure contains information about whether 11700 // additional CloudWatch metrics are enabled for a given CloudFront distribution. 11701 MonitoringSubscription *MonitoringSubscription `type:"structure"` 11702} 11703 11704// String returns the string representation 11705func (s CreateMonitoringSubscriptionOutput) String() string { 11706 return awsutil.Prettify(s) 11707} 11708 11709// GoString returns the string representation 11710func (s CreateMonitoringSubscriptionOutput) GoString() string { 11711 return s.String() 11712} 11713 11714// SetMonitoringSubscription sets the MonitoringSubscription field's value. 11715func (s *CreateMonitoringSubscriptionOutput) SetMonitoringSubscription(v *MonitoringSubscription) *CreateMonitoringSubscriptionOutput { 11716 s.MonitoringSubscription = v 11717 return s 11718} 11719 11720type CreateOriginRequestPolicyInput struct { 11721 _ struct{} `locationName:"CreateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` 11722 11723 // An origin request policy configuration. 11724 // 11725 // OriginRequestPolicyConfig is a required field 11726 OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11727} 11728 11729// String returns the string representation 11730func (s CreateOriginRequestPolicyInput) String() string { 11731 return awsutil.Prettify(s) 11732} 11733 11734// GoString returns the string representation 11735func (s CreateOriginRequestPolicyInput) GoString() string { 11736 return s.String() 11737} 11738 11739// Validate inspects the fields of the type to determine if they are valid. 11740func (s *CreateOriginRequestPolicyInput) Validate() error { 11741 invalidParams := request.ErrInvalidParams{Context: "CreateOriginRequestPolicyInput"} 11742 if s.OriginRequestPolicyConfig == nil { 11743 invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) 11744 } 11745 if s.OriginRequestPolicyConfig != nil { 11746 if err := s.OriginRequestPolicyConfig.Validate(); err != nil { 11747 invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) 11748 } 11749 } 11750 11751 if invalidParams.Len() > 0 { 11752 return invalidParams 11753 } 11754 return nil 11755} 11756 11757// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. 11758func (s *CreateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *CreateOriginRequestPolicyInput { 11759 s.OriginRequestPolicyConfig = v 11760 return s 11761} 11762 11763type CreateOriginRequestPolicyOutput struct { 11764 _ struct{} `type:"structure" payload:"OriginRequestPolicy"` 11765 11766 // The current version of the origin request policy. 11767 ETag *string `location:"header" locationName:"ETag" type:"string"` 11768 11769 // The fully qualified URI of the origin request policy just created. 11770 Location *string `location:"header" locationName:"Location" type:"string"` 11771 11772 // An origin request policy. 11773 OriginRequestPolicy *OriginRequestPolicy `type:"structure"` 11774} 11775 11776// String returns the string representation 11777func (s CreateOriginRequestPolicyOutput) String() string { 11778 return awsutil.Prettify(s) 11779} 11780 11781// GoString returns the string representation 11782func (s CreateOriginRequestPolicyOutput) GoString() string { 11783 return s.String() 11784} 11785 11786// SetETag sets the ETag field's value. 11787func (s *CreateOriginRequestPolicyOutput) SetETag(v string) *CreateOriginRequestPolicyOutput { 11788 s.ETag = &v 11789 return s 11790} 11791 11792// SetLocation sets the Location field's value. 11793func (s *CreateOriginRequestPolicyOutput) SetLocation(v string) *CreateOriginRequestPolicyOutput { 11794 s.Location = &v 11795 return s 11796} 11797 11798// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. 11799func (s *CreateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *CreateOriginRequestPolicyOutput { 11800 s.OriginRequestPolicy = v 11801 return s 11802} 11803 11804type CreatePublicKeyInput struct { 11805 _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` 11806 11807 // A CloudFront public key configuration. 11808 // 11809 // PublicKeyConfig is a required field 11810 PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11811} 11812 11813// String returns the string representation 11814func (s CreatePublicKeyInput) String() string { 11815 return awsutil.Prettify(s) 11816} 11817 11818// GoString returns the string representation 11819func (s CreatePublicKeyInput) GoString() string { 11820 return s.String() 11821} 11822 11823// Validate inspects the fields of the type to determine if they are valid. 11824func (s *CreatePublicKeyInput) Validate() error { 11825 invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} 11826 if s.PublicKeyConfig == nil { 11827 invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) 11828 } 11829 if s.PublicKeyConfig != nil { 11830 if err := s.PublicKeyConfig.Validate(); err != nil { 11831 invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) 11832 } 11833 } 11834 11835 if invalidParams.Len() > 0 { 11836 return invalidParams 11837 } 11838 return nil 11839} 11840 11841// SetPublicKeyConfig sets the PublicKeyConfig field's value. 11842func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { 11843 s.PublicKeyConfig = v 11844 return s 11845} 11846 11847type CreatePublicKeyOutput struct { 11848 _ struct{} `type:"structure" payload:"PublicKey"` 11849 11850 // The identifier for this version of the public key. 11851 ETag *string `location:"header" locationName:"ETag" type:"string"` 11852 11853 // The URL of the public key. 11854 Location *string `location:"header" locationName:"Location" type:"string"` 11855 11856 // The public key. 11857 PublicKey *PublicKey `type:"structure"` 11858} 11859 11860// String returns the string representation 11861func (s CreatePublicKeyOutput) String() string { 11862 return awsutil.Prettify(s) 11863} 11864 11865// GoString returns the string representation 11866func (s CreatePublicKeyOutput) GoString() string { 11867 return s.String() 11868} 11869 11870// SetETag sets the ETag field's value. 11871func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { 11872 s.ETag = &v 11873 return s 11874} 11875 11876// SetLocation sets the Location field's value. 11877func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { 11878 s.Location = &v 11879 return s 11880} 11881 11882// SetPublicKey sets the PublicKey field's value. 11883func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { 11884 s.PublicKey = v 11885 return s 11886} 11887 11888type CreateRealtimeLogConfigInput struct { 11889 _ struct{} `locationName:"CreateRealtimeLogConfigRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 11890 11891 // Contains information about the Amazon Kinesis data stream where you are sending 11892 // real-time log data. 11893 // 11894 // EndPoints is a required field 11895 EndPoints []*EndPoint `type:"list" required:"true"` 11896 11897 // A list of fields to include in each real-time log record. 11898 // 11899 // For more information about fields, see Real-time log configuration fields 11900 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) 11901 // in the Amazon CloudFront Developer Guide. 11902 // 11903 // Fields is a required field 11904 Fields []*string `locationNameList:"Field" type:"list" required:"true"` 11905 11906 // A unique name to identify this real-time log configuration. 11907 // 11908 // Name is a required field 11909 Name *string `type:"string" required:"true"` 11910 11911 // The sampling rate for this real-time log configuration. The sampling rate 11912 // determines the percentage of viewer requests that are represented in the 11913 // real-time log data. You must provide an integer between 1 and 100, inclusive. 11914 // 11915 // SamplingRate is a required field 11916 SamplingRate *int64 `type:"long" required:"true"` 11917} 11918 11919// String returns the string representation 11920func (s CreateRealtimeLogConfigInput) String() string { 11921 return awsutil.Prettify(s) 11922} 11923 11924// GoString returns the string representation 11925func (s CreateRealtimeLogConfigInput) GoString() string { 11926 return s.String() 11927} 11928 11929// Validate inspects the fields of the type to determine if they are valid. 11930func (s *CreateRealtimeLogConfigInput) Validate() error { 11931 invalidParams := request.ErrInvalidParams{Context: "CreateRealtimeLogConfigInput"} 11932 if s.EndPoints == nil { 11933 invalidParams.Add(request.NewErrParamRequired("EndPoints")) 11934 } 11935 if s.Fields == nil { 11936 invalidParams.Add(request.NewErrParamRequired("Fields")) 11937 } 11938 if s.Name == nil { 11939 invalidParams.Add(request.NewErrParamRequired("Name")) 11940 } 11941 if s.SamplingRate == nil { 11942 invalidParams.Add(request.NewErrParamRequired("SamplingRate")) 11943 } 11944 if s.EndPoints != nil { 11945 for i, v := range s.EndPoints { 11946 if v == nil { 11947 continue 11948 } 11949 if err := v.Validate(); err != nil { 11950 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EndPoints", i), err.(request.ErrInvalidParams)) 11951 } 11952 } 11953 } 11954 11955 if invalidParams.Len() > 0 { 11956 return invalidParams 11957 } 11958 return nil 11959} 11960 11961// SetEndPoints sets the EndPoints field's value. 11962func (s *CreateRealtimeLogConfigInput) SetEndPoints(v []*EndPoint) *CreateRealtimeLogConfigInput { 11963 s.EndPoints = v 11964 return s 11965} 11966 11967// SetFields sets the Fields field's value. 11968func (s *CreateRealtimeLogConfigInput) SetFields(v []*string) *CreateRealtimeLogConfigInput { 11969 s.Fields = v 11970 return s 11971} 11972 11973// SetName sets the Name field's value. 11974func (s *CreateRealtimeLogConfigInput) SetName(v string) *CreateRealtimeLogConfigInput { 11975 s.Name = &v 11976 return s 11977} 11978 11979// SetSamplingRate sets the SamplingRate field's value. 11980func (s *CreateRealtimeLogConfigInput) SetSamplingRate(v int64) *CreateRealtimeLogConfigInput { 11981 s.SamplingRate = &v 11982 return s 11983} 11984 11985type CreateRealtimeLogConfigOutput struct { 11986 _ struct{} `type:"structure"` 11987 11988 // A real-time log configuration. 11989 RealtimeLogConfig *RealtimeLogConfig `type:"structure"` 11990} 11991 11992// String returns the string representation 11993func (s CreateRealtimeLogConfigOutput) String() string { 11994 return awsutil.Prettify(s) 11995} 11996 11997// GoString returns the string representation 11998func (s CreateRealtimeLogConfigOutput) GoString() string { 11999 return s.String() 12000} 12001 12002// SetRealtimeLogConfig sets the RealtimeLogConfig field's value. 12003func (s *CreateRealtimeLogConfigOutput) SetRealtimeLogConfig(v *RealtimeLogConfig) *CreateRealtimeLogConfigOutput { 12004 s.RealtimeLogConfig = v 12005 return s 12006} 12007 12008// The request to create a new streaming distribution. 12009type CreateStreamingDistributionInput struct { 12010 _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` 12011 12012 // The streaming distribution's configuration information. 12013 // 12014 // StreamingDistributionConfig is a required field 12015 StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 12016} 12017 12018// String returns the string representation 12019func (s CreateStreamingDistributionInput) String() string { 12020 return awsutil.Prettify(s) 12021} 12022 12023// GoString returns the string representation 12024func (s CreateStreamingDistributionInput) GoString() string { 12025 return s.String() 12026} 12027 12028// Validate inspects the fields of the type to determine if they are valid. 12029func (s *CreateStreamingDistributionInput) Validate() error { 12030 invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} 12031 if s.StreamingDistributionConfig == nil { 12032 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 12033 } 12034 if s.StreamingDistributionConfig != nil { 12035 if err := s.StreamingDistributionConfig.Validate(); err != nil { 12036 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 12037 } 12038 } 12039 12040 if invalidParams.Len() > 0 { 12041 return invalidParams 12042 } 12043 return nil 12044} 12045 12046// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 12047func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { 12048 s.StreamingDistributionConfig = v 12049 return s 12050} 12051 12052// The returned result of the corresponding request. 12053type CreateStreamingDistributionOutput struct { 12054 _ struct{} `type:"structure" payload:"StreamingDistribution"` 12055 12056 // The current version of the streaming distribution created. 12057 ETag *string `location:"header" locationName:"ETag" type:"string"` 12058 12059 // The fully qualified URI of the new streaming distribution resource just created. 12060 Location *string `location:"header" locationName:"Location" type:"string"` 12061 12062 // The streaming distribution's information. 12063 StreamingDistribution *StreamingDistribution `type:"structure"` 12064} 12065 12066// String returns the string representation 12067func (s CreateStreamingDistributionOutput) String() string { 12068 return awsutil.Prettify(s) 12069} 12070 12071// GoString returns the string representation 12072func (s CreateStreamingDistributionOutput) GoString() string { 12073 return s.String() 12074} 12075 12076// SetETag sets the ETag field's value. 12077func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { 12078 s.ETag = &v 12079 return s 12080} 12081 12082// SetLocation sets the Location field's value. 12083func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { 12084 s.Location = &v 12085 return s 12086} 12087 12088// SetStreamingDistribution sets the StreamingDistribution field's value. 12089func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { 12090 s.StreamingDistribution = v 12091 return s 12092} 12093 12094// The request to create a new streaming distribution with tags. 12095type CreateStreamingDistributionWithTagsInput struct { 12096 _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` 12097 12098 // The streaming distribution's configuration information. 12099 // 12100 // StreamingDistributionConfigWithTags is a required field 12101 StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 12102} 12103 12104// String returns the string representation 12105func (s CreateStreamingDistributionWithTagsInput) String() string { 12106 return awsutil.Prettify(s) 12107} 12108 12109// GoString returns the string representation 12110func (s CreateStreamingDistributionWithTagsInput) GoString() string { 12111 return s.String() 12112} 12113 12114// Validate inspects the fields of the type to determine if they are valid. 12115func (s *CreateStreamingDistributionWithTagsInput) Validate() error { 12116 invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} 12117 if s.StreamingDistributionConfigWithTags == nil { 12118 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) 12119 } 12120 if s.StreamingDistributionConfigWithTags != nil { 12121 if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { 12122 invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) 12123 } 12124 } 12125 12126 if invalidParams.Len() > 0 { 12127 return invalidParams 12128 } 12129 return nil 12130} 12131 12132// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. 12133func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { 12134 s.StreamingDistributionConfigWithTags = v 12135 return s 12136} 12137 12138// The returned result of the corresponding request. 12139type CreateStreamingDistributionWithTagsOutput struct { 12140 _ struct{} `type:"structure" payload:"StreamingDistribution"` 12141 12142 // The current version of the distribution created. 12143 ETag *string `location:"header" locationName:"ETag" type:"string"` 12144 12145 // The fully qualified URI of the new streaming distribution resource just created. 12146 Location *string `location:"header" locationName:"Location" type:"string"` 12147 12148 // The streaming distribution's information. 12149 StreamingDistribution *StreamingDistribution `type:"structure"` 12150} 12151 12152// String returns the string representation 12153func (s CreateStreamingDistributionWithTagsOutput) String() string { 12154 return awsutil.Prettify(s) 12155} 12156 12157// GoString returns the string representation 12158func (s CreateStreamingDistributionWithTagsOutput) GoString() string { 12159 return s.String() 12160} 12161 12162// SetETag sets the ETag field's value. 12163func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { 12164 s.ETag = &v 12165 return s 12166} 12167 12168// SetLocation sets the Location field's value. 12169func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { 12170 s.Location = &v 12171 return s 12172} 12173 12174// SetStreamingDistribution sets the StreamingDistribution field's value. 12175func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { 12176 s.StreamingDistribution = v 12177 return s 12178} 12179 12180// A complex type that controls: 12181// 12182// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 12183// with custom error messages before returning the response to the viewer. 12184// 12185// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 12186// 12187// For more information about custom error pages, see Customizing Error Responses 12188// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 12189// in the Amazon CloudFront Developer Guide. 12190type CustomErrorResponse struct { 12191 _ struct{} `type:"structure"` 12192 12193 // The minimum amount of time, in seconds, that you want CloudFront to cache 12194 // the HTTP status code specified in ErrorCode. When this time period has elapsed, 12195 // CloudFront queries your origin to see whether the problem that caused the 12196 // error has been resolved and the requested object is now available. 12197 // 12198 // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 12199 // in the Amazon CloudFront Developer Guide. 12200 ErrorCachingMinTTL *int64 `type:"long"` 12201 12202 // The HTTP status code for which you want to specify a custom error page and/or 12203 // a caching duration. 12204 // 12205 // ErrorCode is a required field 12206 ErrorCode *int64 `type:"integer" required:"true"` 12207 12208 // The HTTP status code that you want CloudFront to return to the viewer along 12209 // with the custom error page. There are a variety of reasons that you might 12210 // want CloudFront to return a status code different from the status code that 12211 // your origin returned to CloudFront, for example: 12212 // 12213 // * Some Internet devices (some firewalls and corporate proxies, for example) 12214 // intercept HTTP 4xx and 5xx and prevent the response from being returned 12215 // to the viewer. If you substitute 200, the response typically won't be 12216 // intercepted. 12217 // 12218 // * If you don't care about distinguishing among different client errors 12219 // or server errors, you can specify 400 or 500 as the ResponseCode for all 12220 // 4xx or 5xx errors. 12221 // 12222 // * You might want to return a 200 status code (OK) and static website so 12223 // your customers don't know that your website is down. 12224 // 12225 // If you specify a value for ResponseCode, you must also specify a value for 12226 // ResponsePagePath. 12227 ResponseCode *string `type:"string"` 12228 12229 // The path to the custom error page that you want CloudFront to return to a 12230 // viewer when your origin returns the HTTP status code specified by ErrorCode, 12231 // for example, /4xx-errors/403-forbidden.html. If you want to store your objects 12232 // and your custom error pages in different locations, your distribution must 12233 // include a cache behavior for which the following is true: 12234 // 12235 // * The value of PathPattern matches the path to your custom error messages. 12236 // For example, suppose you saved custom error pages for 4xx errors in an 12237 // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must 12238 // include a cache behavior for which the path pattern routes requests for 12239 // your custom error pages to that location, for example, /4xx-errors/*. 12240 // 12241 // * The value of TargetOriginId specifies the value of the ID element for 12242 // the origin that contains your custom error pages. 12243 // 12244 // If you specify a value for ResponsePagePath, you must also specify a value 12245 // for ResponseCode. 12246 // 12247 // We recommend that you store custom error pages in an Amazon S3 bucket. If 12248 // you store custom error pages on an HTTP server and the server starts to return 12249 // 5xx errors, CloudFront can't get the files that you want to return to viewers 12250 // because the origin server is unavailable. 12251 ResponsePagePath *string `type:"string"` 12252} 12253 12254// String returns the string representation 12255func (s CustomErrorResponse) String() string { 12256 return awsutil.Prettify(s) 12257} 12258 12259// GoString returns the string representation 12260func (s CustomErrorResponse) GoString() string { 12261 return s.String() 12262} 12263 12264// Validate inspects the fields of the type to determine if they are valid. 12265func (s *CustomErrorResponse) Validate() error { 12266 invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} 12267 if s.ErrorCode == nil { 12268 invalidParams.Add(request.NewErrParamRequired("ErrorCode")) 12269 } 12270 12271 if invalidParams.Len() > 0 { 12272 return invalidParams 12273 } 12274 return nil 12275} 12276 12277// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. 12278func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { 12279 s.ErrorCachingMinTTL = &v 12280 return s 12281} 12282 12283// SetErrorCode sets the ErrorCode field's value. 12284func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { 12285 s.ErrorCode = &v 12286 return s 12287} 12288 12289// SetResponseCode sets the ResponseCode field's value. 12290func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { 12291 s.ResponseCode = &v 12292 return s 12293} 12294 12295// SetResponsePagePath sets the ResponsePagePath field's value. 12296func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { 12297 s.ResponsePagePath = &v 12298 return s 12299} 12300 12301// A complex type that controls: 12302// 12303// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 12304// with custom error messages before returning the response to the viewer. 12305// 12306// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 12307// 12308// For more information about custom error pages, see Customizing Error Responses 12309// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 12310// in the Amazon CloudFront Developer Guide. 12311type CustomErrorResponses struct { 12312 _ struct{} `type:"structure"` 12313 12314 // A complex type that contains a CustomErrorResponse element for each HTTP 12315 // status code for which you want to specify a custom error page and/or a caching 12316 // duration. 12317 Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` 12318 12319 // The number of HTTP status codes for which you want to specify a custom error 12320 // page and/or a caching duration. If Quantity is 0, you can omit Items. 12321 // 12322 // Quantity is a required field 12323 Quantity *int64 `type:"integer" required:"true"` 12324} 12325 12326// String returns the string representation 12327func (s CustomErrorResponses) String() string { 12328 return awsutil.Prettify(s) 12329} 12330 12331// GoString returns the string representation 12332func (s CustomErrorResponses) GoString() string { 12333 return s.String() 12334} 12335 12336// Validate inspects the fields of the type to determine if they are valid. 12337func (s *CustomErrorResponses) Validate() error { 12338 invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} 12339 if s.Quantity == nil { 12340 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12341 } 12342 if s.Items != nil { 12343 for i, v := range s.Items { 12344 if v == nil { 12345 continue 12346 } 12347 if err := v.Validate(); err != nil { 12348 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 12349 } 12350 } 12351 } 12352 12353 if invalidParams.Len() > 0 { 12354 return invalidParams 12355 } 12356 return nil 12357} 12358 12359// SetItems sets the Items field's value. 12360func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { 12361 s.Items = v 12362 return s 12363} 12364 12365// SetQuantity sets the Quantity field's value. 12366func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { 12367 s.Quantity = &v 12368 return s 12369} 12370 12371// A complex type that contains the list of Custom Headers for each origin. 12372type CustomHeaders struct { 12373 _ struct{} `type:"structure"` 12374 12375 // Optional: A list that contains one OriginCustomHeader element for each custom 12376 // header that you want CloudFront to forward to the origin. If Quantity is 12377 // 0, omit Items. 12378 Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` 12379 12380 // The number of custom headers, if any, for this distribution. 12381 // 12382 // Quantity is a required field 12383 Quantity *int64 `type:"integer" required:"true"` 12384} 12385 12386// String returns the string representation 12387func (s CustomHeaders) String() string { 12388 return awsutil.Prettify(s) 12389} 12390 12391// GoString returns the string representation 12392func (s CustomHeaders) GoString() string { 12393 return s.String() 12394} 12395 12396// Validate inspects the fields of the type to determine if they are valid. 12397func (s *CustomHeaders) Validate() error { 12398 invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} 12399 if s.Quantity == nil { 12400 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12401 } 12402 if s.Items != nil { 12403 for i, v := range s.Items { 12404 if v == nil { 12405 continue 12406 } 12407 if err := v.Validate(); err != nil { 12408 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 12409 } 12410 } 12411 } 12412 12413 if invalidParams.Len() > 0 { 12414 return invalidParams 12415 } 12416 return nil 12417} 12418 12419// SetItems sets the Items field's value. 12420func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { 12421 s.Items = v 12422 return s 12423} 12424 12425// SetQuantity sets the Quantity field's value. 12426func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { 12427 s.Quantity = &v 12428 return s 12429} 12430 12431// A custom origin. A custom origin is any origin that is not an Amazon S3 bucket, 12432// with one exception. An Amazon S3 bucket that is configured with static website 12433// hosting (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) 12434// is a custom origin. 12435type CustomOriginConfig struct { 12436 _ struct{} `type:"structure"` 12437 12438 // The HTTP port that CloudFront uses to connect to the origin. Specify the 12439 // HTTP port that the origin listens on. 12440 // 12441 // HTTPPort is a required field 12442 HTTPPort *int64 `type:"integer" required:"true"` 12443 12444 // The HTTPS port that CloudFront uses to connect to the origin. Specify the 12445 // HTTPS port that the origin listens on. 12446 // 12447 // HTTPSPort is a required field 12448 HTTPSPort *int64 `type:"integer" required:"true"` 12449 12450 // Specifies how long, in seconds, CloudFront persists its connection to the 12451 // origin. The minimum timeout is 1 second, the maximum is 60 seconds, and the 12452 // default (if you don’t specify otherwise) is 5 seconds. 12453 // 12454 // For more information, see Origin Keep-alive Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginKeepaliveTimeout) 12455 // in the Amazon CloudFront Developer Guide. 12456 OriginKeepaliveTimeout *int64 `type:"integer"` 12457 12458 // Specifies the protocol (HTTP or HTTPS) that CloudFront uses to connect to 12459 // the origin. Valid values are: 12460 // 12461 // * http-only – CloudFront always uses HTTP to connect to the origin. 12462 // 12463 // * match-viewer – CloudFront connects to the origin using the same protocol 12464 // that the viewer used to connect to CloudFront. 12465 // 12466 // * https-only – CloudFront always uses HTTPS to connect to the origin. 12467 // 12468 // OriginProtocolPolicy is a required field 12469 OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` 12470 12471 // Specifies how long, in seconds, CloudFront waits for a response from the 12472 // origin. This is also known as the origin response timeout. The minimum timeout 12473 // is 1 second, the maximum is 60 seconds, and the default (if you don’t specify 12474 // otherwise) is 30 seconds. 12475 // 12476 // For more information, see Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout) 12477 // in the Amazon CloudFront Developer Guide. 12478 OriginReadTimeout *int64 `type:"integer"` 12479 12480 // Specifies the minimum SSL/TLS protocol that CloudFront uses when connecting 12481 // to your origin over HTTPS. Valid values include SSLv3, TLSv1, TLSv1.1, and 12482 // TLSv1.2. 12483 // 12484 // For more information, see Minimum Origin SSL Protocol (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginSSLProtocols) 12485 // in the Amazon CloudFront Developer Guide. 12486 OriginSslProtocols *OriginSslProtocols `type:"structure"` 12487} 12488 12489// String returns the string representation 12490func (s CustomOriginConfig) String() string { 12491 return awsutil.Prettify(s) 12492} 12493 12494// GoString returns the string representation 12495func (s CustomOriginConfig) GoString() string { 12496 return s.String() 12497} 12498 12499// Validate inspects the fields of the type to determine if they are valid. 12500func (s *CustomOriginConfig) Validate() error { 12501 invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} 12502 if s.HTTPPort == nil { 12503 invalidParams.Add(request.NewErrParamRequired("HTTPPort")) 12504 } 12505 if s.HTTPSPort == nil { 12506 invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) 12507 } 12508 if s.OriginProtocolPolicy == nil { 12509 invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) 12510 } 12511 if s.OriginSslProtocols != nil { 12512 if err := s.OriginSslProtocols.Validate(); err != nil { 12513 invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) 12514 } 12515 } 12516 12517 if invalidParams.Len() > 0 { 12518 return invalidParams 12519 } 12520 return nil 12521} 12522 12523// SetHTTPPort sets the HTTPPort field's value. 12524func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { 12525 s.HTTPPort = &v 12526 return s 12527} 12528 12529// SetHTTPSPort sets the HTTPSPort field's value. 12530func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { 12531 s.HTTPSPort = &v 12532 return s 12533} 12534 12535// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. 12536func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { 12537 s.OriginKeepaliveTimeout = &v 12538 return s 12539} 12540 12541// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. 12542func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { 12543 s.OriginProtocolPolicy = &v 12544 return s 12545} 12546 12547// SetOriginReadTimeout sets the OriginReadTimeout field's value. 12548func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { 12549 s.OriginReadTimeout = &v 12550 return s 12551} 12552 12553// SetOriginSslProtocols sets the OriginSslProtocols field's value. 12554func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { 12555 s.OriginSslProtocols = v 12556 return s 12557} 12558 12559// A complex type that describes the default cache behavior if you don’t specify 12560// a CacheBehavior element or if request URLs don’t match any of the values 12561// of PathPattern in CacheBehavior elements. You must create exactly one default 12562// cache behavior. 12563type DefaultCacheBehavior struct { 12564 _ struct{} `type:"structure"` 12565 12566 // A complex type that controls which HTTP methods CloudFront processes and 12567 // forwards to your Amazon S3 bucket or your custom origin. There are three 12568 // choices: 12569 // 12570 // * CloudFront forwards only GET and HEAD requests. 12571 // 12572 // * CloudFront forwards only GET, HEAD, and OPTIONS requests. 12573 // 12574 // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 12575 // requests. 12576 // 12577 // If you pick the third choice, you may need to restrict access to your Amazon 12578 // S3 bucket or to your custom origin so users can't perform operations that 12579 // you don't want them to. For example, you might not want users to have permissions 12580 // to delete objects from your origin. 12581 AllowedMethods *AllowedMethods `type:"structure"` 12582 12583 // The unique identifier of the cache policy that is attached to the default 12584 // cache behavior. For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 12585 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 12586 // in the Amazon CloudFront Developer Guide. 12587 // 12588 // A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. 12589 // We recommend that you use a CachePolicyId. 12590 CachePolicyId *string `type:"string"` 12591 12592 // Whether you want CloudFront to automatically compress certain files for this 12593 // cache behavior. If so, specify true; if not, specify false. For more information, 12594 // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) 12595 // in the Amazon CloudFront Developer Guide. 12596 Compress *bool `type:"boolean"` 12597 12598 // This field is deprecated. We recommend that you use the DefaultTTL field 12599 // in a cache policy instead of this field. For more information, see Creating 12600 // cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 12601 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 12602 // in the Amazon CloudFront Developer Guide. 12603 // 12604 // The default amount of time that you want objects to stay in CloudFront caches 12605 // before CloudFront forwards another request to your origin to determine whether 12606 // the object has been updated. The value that you specify applies only when 12607 // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control 12608 // s-maxage, and Expires to objects. For more information, see Managing How 12609 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 12610 // in the Amazon CloudFront Developer Guide. 12611 // 12612 // Deprecated: DefaultTTL has been deprecated 12613 DefaultTTL *int64 `deprecated:"true" type:"long"` 12614 12615 // The value of ID for the field-level encryption configuration that you want 12616 // CloudFront to use for encrypting specific fields of data for the default 12617 // cache behavior. 12618 FieldLevelEncryptionId *string `type:"string"` 12619 12620 // This field is deprecated. We recommend that you use a cache policy or an 12621 // origin request policy instead of this field. For more information, see Working 12622 // with policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/working-with-policies.html) 12623 // in the Amazon CloudFront Developer Guide. 12624 // 12625 // If you want to include values in the cache key, use a cache policy. For more 12626 // information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 12627 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 12628 // in the Amazon CloudFront Developer Guide. 12629 // 12630 // If you want to send values to the origin but not include them in the cache 12631 // key, use an origin request policy. For more information, see Creating origin 12632 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 12633 // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) 12634 // in the Amazon CloudFront Developer Guide. 12635 // 12636 // A DefaultCacheBehavior must include either a CachePolicyId or ForwardedValues. 12637 // We recommend that you use a CachePolicyId. 12638 // 12639 // A complex type that specifies how CloudFront handles query strings, cookies, 12640 // and HTTP headers. 12641 // 12642 // Deprecated: ForwardedValues has been deprecated 12643 ForwardedValues *ForwardedValues `deprecated:"true" type:"structure"` 12644 12645 // A list of CloudFront functions that are associated with this cache behavior. 12646 // CloudFront functions must be published to the LIVE stage to associate them 12647 // with a cache behavior. 12648 FunctionAssociations *FunctionAssociations `type:"structure"` 12649 12650 // A complex type that contains zero or more Lambda@Edge function associations 12651 // for a cache behavior. 12652 LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` 12653 12654 // This field is deprecated. We recommend that you use the MaxTTL field in a 12655 // cache policy instead of this field. For more information, see Creating cache 12656 // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 12657 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 12658 // in the Amazon CloudFront Developer Guide. 12659 // 12660 // The maximum amount of time that you want objects to stay in CloudFront caches 12661 // before CloudFront forwards another request to your origin to determine whether 12662 // the object has been updated. The value that you specify applies only when 12663 // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control 12664 // s-maxage, and Expires to objects. For more information, see Managing How 12665 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 12666 // in the Amazon CloudFront Developer Guide. 12667 // 12668 // Deprecated: MaxTTL has been deprecated 12669 MaxTTL *int64 `deprecated:"true" type:"long"` 12670 12671 // This field is deprecated. We recommend that you use the MinTTL field in a 12672 // cache policy instead of this field. For more information, see Creating cache 12673 // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 12674 // or Using the managed cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-cache-policies.html) 12675 // in the Amazon CloudFront Developer Guide. 12676 // 12677 // The minimum amount of time that you want objects to stay in CloudFront caches 12678 // before CloudFront forwards another request to your origin to determine whether 12679 // the object has been updated. For more information, see Managing How Long 12680 // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 12681 // in the Amazon CloudFront Developer Guide. 12682 // 12683 // You must specify 0 for MinTTL if you configure CloudFront to forward all 12684 // headers to your origin (under Headers, if you specify 1 for Quantity and 12685 // * for Name). 12686 // 12687 // Deprecated: MinTTL has been deprecated 12688 MinTTL *int64 `deprecated:"true" type:"long"` 12689 12690 // The unique identifier of the origin request policy that is attached to the 12691 // default cache behavior. For more information, see Creating origin request 12692 // policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 12693 // or Using the managed origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html) 12694 // in the Amazon CloudFront Developer Guide. 12695 OriginRequestPolicyId *string `type:"string"` 12696 12697 // The Amazon Resource Name (ARN) of the real-time log configuration that is 12698 // attached to this cache behavior. For more information, see Real-time logs 12699 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html) 12700 // in the Amazon CloudFront Developer Guide. 12701 RealtimeLogConfigArn *string `type:"string"` 12702 12703 // Indicates whether you want to distribute media files in the Microsoft Smooth 12704 // Streaming format using the origin that is associated with this cache behavior. 12705 // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, 12706 // you can still distribute other content using this cache behavior if the content 12707 // matches the value of PathPattern. 12708 SmoothStreaming *bool `type:"boolean"` 12709 12710 // The value of ID for the origin that you want CloudFront to route requests 12711 // to when they use the default cache behavior. 12712 // 12713 // TargetOriginId is a required field 12714 TargetOriginId *string `type:"string" required:"true"` 12715 12716 // A list of key groups that CloudFront can use to validate signed URLs or signed 12717 // cookies. 12718 // 12719 // When a cache behavior contains trusted key groups, CloudFront requires signed 12720 // URLs or signed cookies for all requests that match the cache behavior. The 12721 // URLs or cookies must be signed with a private key whose corresponding public 12722 // key is in the key group. The signed URL or cookie contains information about 12723 // which public key CloudFront should use to verify the signature. For more 12724 // information, see Serving private content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 12725 // in the Amazon CloudFront Developer Guide. 12726 TrustedKeyGroups *TrustedKeyGroups `type:"structure"` 12727 12728 // 12729 // We recommend using TrustedKeyGroups instead of TrustedSigners. 12730 // 12731 // A list of account IDs whose public keys CloudFront can use to validate signed 12732 // URLs or signed cookies. 12733 // 12734 // When a cache behavior contains trusted signers, CloudFront requires signed 12735 // URLs or signed cookies for all requests that match the cache behavior. The 12736 // URLs or cookies must be signed with the private key of a CloudFront key pair 12737 // in a trusted signer’s account. The signed URL or cookie contains information 12738 // about which public key CloudFront should use to verify the signature. For 12739 // more information, see Serving private content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 12740 // in the Amazon CloudFront Developer Guide. 12741 TrustedSigners *TrustedSigners `type:"structure"` 12742 12743 // The protocol that viewers can use to access the files in the origin specified 12744 // by TargetOriginId when a request matches the path pattern in PathPattern. 12745 // You can specify the following options: 12746 // 12747 // * allow-all: Viewers can use HTTP or HTTPS. 12748 // 12749 // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns 12750 // an HTTP status code of 301 (Moved Permanently) to the viewer along with 12751 // the HTTPS URL. The viewer then resubmits the request using the new URL. 12752 // 12753 // * https-only: If a viewer sends an HTTP request, CloudFront returns an 12754 // HTTP status code of 403 (Forbidden). 12755 // 12756 // For more information about requiring the HTTPS protocol, see Requiring HTTPS 12757 // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html) 12758 // in the Amazon CloudFront Developer Guide. 12759 // 12760 // The only way to guarantee that viewers retrieve an object that was fetched 12761 // from the origin using HTTPS is never to use any other protocol to fetch the 12762 // object. If you have recently changed from HTTP to HTTPS, we recommend that 12763 // you clear your objects’ cache because cached objects are protocol agnostic. 12764 // That means that an edge location will return an object from the cache regardless 12765 // of whether the current request protocol matches the protocol used previously. 12766 // For more information, see Managing Cache Expiration (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 12767 // in the Amazon CloudFront Developer Guide. 12768 // 12769 // ViewerProtocolPolicy is a required field 12770 ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` 12771} 12772 12773// String returns the string representation 12774func (s DefaultCacheBehavior) String() string { 12775 return awsutil.Prettify(s) 12776} 12777 12778// GoString returns the string representation 12779func (s DefaultCacheBehavior) GoString() string { 12780 return s.String() 12781} 12782 12783// Validate inspects the fields of the type to determine if they are valid. 12784func (s *DefaultCacheBehavior) Validate() error { 12785 invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} 12786 if s.TargetOriginId == nil { 12787 invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) 12788 } 12789 if s.ViewerProtocolPolicy == nil { 12790 invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) 12791 } 12792 if s.AllowedMethods != nil { 12793 if err := s.AllowedMethods.Validate(); err != nil { 12794 invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) 12795 } 12796 } 12797 if s.ForwardedValues != nil { 12798 if err := s.ForwardedValues.Validate(); err != nil { 12799 invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) 12800 } 12801 } 12802 if s.FunctionAssociations != nil { 12803 if err := s.FunctionAssociations.Validate(); err != nil { 12804 invalidParams.AddNested("FunctionAssociations", err.(request.ErrInvalidParams)) 12805 } 12806 } 12807 if s.LambdaFunctionAssociations != nil { 12808 if err := s.LambdaFunctionAssociations.Validate(); err != nil { 12809 invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) 12810 } 12811 } 12812 if s.TrustedKeyGroups != nil { 12813 if err := s.TrustedKeyGroups.Validate(); err != nil { 12814 invalidParams.AddNested("TrustedKeyGroups", err.(request.ErrInvalidParams)) 12815 } 12816 } 12817 if s.TrustedSigners != nil { 12818 if err := s.TrustedSigners.Validate(); err != nil { 12819 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 12820 } 12821 } 12822 12823 if invalidParams.Len() > 0 { 12824 return invalidParams 12825 } 12826 return nil 12827} 12828 12829// SetAllowedMethods sets the AllowedMethods field's value. 12830func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { 12831 s.AllowedMethods = v 12832 return s 12833} 12834 12835// SetCachePolicyId sets the CachePolicyId field's value. 12836func (s *DefaultCacheBehavior) SetCachePolicyId(v string) *DefaultCacheBehavior { 12837 s.CachePolicyId = &v 12838 return s 12839} 12840 12841// SetCompress sets the Compress field's value. 12842func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { 12843 s.Compress = &v 12844 return s 12845} 12846 12847// SetDefaultTTL sets the DefaultTTL field's value. 12848func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { 12849 s.DefaultTTL = &v 12850 return s 12851} 12852 12853// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. 12854func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { 12855 s.FieldLevelEncryptionId = &v 12856 return s 12857} 12858 12859// SetForwardedValues sets the ForwardedValues field's value. 12860func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { 12861 s.ForwardedValues = v 12862 return s 12863} 12864 12865// SetFunctionAssociations sets the FunctionAssociations field's value. 12866func (s *DefaultCacheBehavior) SetFunctionAssociations(v *FunctionAssociations) *DefaultCacheBehavior { 12867 s.FunctionAssociations = v 12868 return s 12869} 12870 12871// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. 12872func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { 12873 s.LambdaFunctionAssociations = v 12874 return s 12875} 12876 12877// SetMaxTTL sets the MaxTTL field's value. 12878func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { 12879 s.MaxTTL = &v 12880 return s 12881} 12882 12883// SetMinTTL sets the MinTTL field's value. 12884func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { 12885 s.MinTTL = &v 12886 return s 12887} 12888 12889// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. 12890func (s *DefaultCacheBehavior) SetOriginRequestPolicyId(v string) *DefaultCacheBehavior { 12891 s.OriginRequestPolicyId = &v 12892 return s 12893} 12894 12895// SetRealtimeLogConfigArn sets the RealtimeLogConfigArn field's value. 12896func (s *DefaultCacheBehavior) SetRealtimeLogConfigArn(v string) *DefaultCacheBehavior { 12897 s.RealtimeLogConfigArn = &v 12898 return s 12899} 12900 12901// SetSmoothStreaming sets the SmoothStreaming field's value. 12902func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { 12903 s.SmoothStreaming = &v 12904 return s 12905} 12906 12907// SetTargetOriginId sets the TargetOriginId field's value. 12908func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { 12909 s.TargetOriginId = &v 12910 return s 12911} 12912 12913// SetTrustedKeyGroups sets the TrustedKeyGroups field's value. 12914func (s *DefaultCacheBehavior) SetTrustedKeyGroups(v *TrustedKeyGroups) *DefaultCacheBehavior { 12915 s.TrustedKeyGroups = v 12916 return s 12917} 12918 12919// SetTrustedSigners sets the TrustedSigners field's value. 12920func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { 12921 s.TrustedSigners = v 12922 return s 12923} 12924 12925// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. 12926func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { 12927 s.ViewerProtocolPolicy = &v 12928 return s 12929} 12930 12931type DeleteCachePolicyInput struct { 12932 _ struct{} `locationName:"DeleteCachePolicyRequest" type:"structure"` 12933 12934 // The unique identifier for the cache policy that you are deleting. To get 12935 // the identifier, you can use ListCachePolicies. 12936 // 12937 // Id is a required field 12938 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 12939 12940 // The version of the cache policy that you are deleting. The version is the 12941 // cache policy’s ETag value, which you can get using ListCachePolicies, GetCachePolicy, 12942 // or GetCachePolicyConfig. 12943 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 12944} 12945 12946// String returns the string representation 12947func (s DeleteCachePolicyInput) String() string { 12948 return awsutil.Prettify(s) 12949} 12950 12951// GoString returns the string representation 12952func (s DeleteCachePolicyInput) GoString() string { 12953 return s.String() 12954} 12955 12956// Validate inspects the fields of the type to determine if they are valid. 12957func (s *DeleteCachePolicyInput) Validate() error { 12958 invalidParams := request.ErrInvalidParams{Context: "DeleteCachePolicyInput"} 12959 if s.Id == nil { 12960 invalidParams.Add(request.NewErrParamRequired("Id")) 12961 } 12962 if s.Id != nil && len(*s.Id) < 1 { 12963 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 12964 } 12965 12966 if invalidParams.Len() > 0 { 12967 return invalidParams 12968 } 12969 return nil 12970} 12971 12972// SetId sets the Id field's value. 12973func (s *DeleteCachePolicyInput) SetId(v string) *DeleteCachePolicyInput { 12974 s.Id = &v 12975 return s 12976} 12977 12978// SetIfMatch sets the IfMatch field's value. 12979func (s *DeleteCachePolicyInput) SetIfMatch(v string) *DeleteCachePolicyInput { 12980 s.IfMatch = &v 12981 return s 12982} 12983 12984type DeleteCachePolicyOutput struct { 12985 _ struct{} `type:"structure"` 12986} 12987 12988// String returns the string representation 12989func (s DeleteCachePolicyOutput) String() string { 12990 return awsutil.Prettify(s) 12991} 12992 12993// GoString returns the string representation 12994func (s DeleteCachePolicyOutput) GoString() string { 12995 return s.String() 12996} 12997 12998// Deletes a origin access identity. 12999type DeleteCloudFrontOriginAccessIdentityInput struct { 13000 _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` 13001 13002 // The origin access identity's ID. 13003 // 13004 // Id is a required field 13005 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13006 13007 // The value of the ETag header you received from a previous GET or PUT request. 13008 // For example: E2QWRUHAPOMQZL. 13009 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13010} 13011 13012// String returns the string representation 13013func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { 13014 return awsutil.Prettify(s) 13015} 13016 13017// GoString returns the string representation 13018func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { 13019 return s.String() 13020} 13021 13022// Validate inspects the fields of the type to determine if they are valid. 13023func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { 13024 invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} 13025 if s.Id == nil { 13026 invalidParams.Add(request.NewErrParamRequired("Id")) 13027 } 13028 if s.Id != nil && len(*s.Id) < 1 { 13029 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13030 } 13031 13032 if invalidParams.Len() > 0 { 13033 return invalidParams 13034 } 13035 return nil 13036} 13037 13038// SetId sets the Id field's value. 13039func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { 13040 s.Id = &v 13041 return s 13042} 13043 13044// SetIfMatch sets the IfMatch field's value. 13045func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { 13046 s.IfMatch = &v 13047 return s 13048} 13049 13050type DeleteCloudFrontOriginAccessIdentityOutput struct { 13051 _ struct{} `type:"structure"` 13052} 13053 13054// String returns the string representation 13055func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { 13056 return awsutil.Prettify(s) 13057} 13058 13059// GoString returns the string representation 13060func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { 13061 return s.String() 13062} 13063 13064// This action deletes a web distribution. To delete a web distribution using 13065// the CloudFront API, perform the following steps. 13066// 13067// To delete a web distribution using the CloudFront API: 13068// 13069// Disable the web distribution 13070// 13071// Submit a GET Distribution Config request to get the current configuration 13072// and the Etag header for the distribution. 13073// 13074// Update the XML document that was returned in the response to your GET Distribution 13075// Config request to change the value of Enabled to false. 13076// 13077// Submit a PUT Distribution Config request to update the configuration for 13078// your distribution. In the request body, include the XML document that you 13079// updated in Step 3. Set the value of the HTTP If-Match header to the value 13080// of the ETag header that CloudFront returned when you submitted the GET Distribution 13081// Config request in Step 2. 13082// 13083// Review the response to the PUT Distribution Config request to confirm that 13084// the distribution was successfully disabled. 13085// 13086// Submit a GET Distribution request to confirm that your changes have propagated. 13087// When propagation is complete, the value of Status is Deployed. 13088// 13089// Submit a DELETE Distribution request. Set the value of the HTTP If-Match 13090// header to the value of the ETag header that CloudFront returned when you 13091// submitted the GET Distribution Config request in Step 6. 13092// 13093// Review the response to your DELETE Distribution request to confirm that the 13094// distribution was successfully deleted. 13095// 13096// For information about deleting a distribution using the CloudFront console, 13097// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) 13098// in the Amazon CloudFront Developer Guide. 13099type DeleteDistributionInput struct { 13100 _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` 13101 13102 // The distribution ID. 13103 // 13104 // Id is a required field 13105 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13106 13107 // The value of the ETag header that you received when you disabled the distribution. 13108 // For example: E2QWRUHAPOMQZL. 13109 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13110} 13111 13112// String returns the string representation 13113func (s DeleteDistributionInput) String() string { 13114 return awsutil.Prettify(s) 13115} 13116 13117// GoString returns the string representation 13118func (s DeleteDistributionInput) GoString() string { 13119 return s.String() 13120} 13121 13122// Validate inspects the fields of the type to determine if they are valid. 13123func (s *DeleteDistributionInput) Validate() error { 13124 invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} 13125 if s.Id == nil { 13126 invalidParams.Add(request.NewErrParamRequired("Id")) 13127 } 13128 if s.Id != nil && len(*s.Id) < 1 { 13129 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13130 } 13131 13132 if invalidParams.Len() > 0 { 13133 return invalidParams 13134 } 13135 return nil 13136} 13137 13138// SetId sets the Id field's value. 13139func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { 13140 s.Id = &v 13141 return s 13142} 13143 13144// SetIfMatch sets the IfMatch field's value. 13145func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { 13146 s.IfMatch = &v 13147 return s 13148} 13149 13150type DeleteDistributionOutput struct { 13151 _ struct{} `type:"structure"` 13152} 13153 13154// String returns the string representation 13155func (s DeleteDistributionOutput) String() string { 13156 return awsutil.Prettify(s) 13157} 13158 13159// GoString returns the string representation 13160func (s DeleteDistributionOutput) GoString() string { 13161 return s.String() 13162} 13163 13164type DeleteFieldLevelEncryptionConfigInput struct { 13165 _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` 13166 13167 // The ID of the configuration you want to delete from CloudFront. 13168 // 13169 // Id is a required field 13170 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13171 13172 // The value of the ETag header that you received when retrieving the configuration 13173 // identity to delete. For example: E2QWRUHAPOMQZL. 13174 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13175} 13176 13177// String returns the string representation 13178func (s DeleteFieldLevelEncryptionConfigInput) String() string { 13179 return awsutil.Prettify(s) 13180} 13181 13182// GoString returns the string representation 13183func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { 13184 return s.String() 13185} 13186 13187// Validate inspects the fields of the type to determine if they are valid. 13188func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { 13189 invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} 13190 if s.Id == nil { 13191 invalidParams.Add(request.NewErrParamRequired("Id")) 13192 } 13193 if s.Id != nil && len(*s.Id) < 1 { 13194 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13195 } 13196 13197 if invalidParams.Len() > 0 { 13198 return invalidParams 13199 } 13200 return nil 13201} 13202 13203// SetId sets the Id field's value. 13204func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { 13205 s.Id = &v 13206 return s 13207} 13208 13209// SetIfMatch sets the IfMatch field's value. 13210func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { 13211 s.IfMatch = &v 13212 return s 13213} 13214 13215type DeleteFieldLevelEncryptionConfigOutput struct { 13216 _ struct{} `type:"structure"` 13217} 13218 13219// String returns the string representation 13220func (s DeleteFieldLevelEncryptionConfigOutput) String() string { 13221 return awsutil.Prettify(s) 13222} 13223 13224// GoString returns the string representation 13225func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { 13226 return s.String() 13227} 13228 13229type DeleteFieldLevelEncryptionProfileInput struct { 13230 _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` 13231 13232 // Request the ID of the profile you want to delete from CloudFront. 13233 // 13234 // Id is a required field 13235 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13236 13237 // The value of the ETag header that you received when retrieving the profile 13238 // to delete. For example: E2QWRUHAPOMQZL. 13239 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13240} 13241 13242// String returns the string representation 13243func (s DeleteFieldLevelEncryptionProfileInput) String() string { 13244 return awsutil.Prettify(s) 13245} 13246 13247// GoString returns the string representation 13248func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { 13249 return s.String() 13250} 13251 13252// Validate inspects the fields of the type to determine if they are valid. 13253func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { 13254 invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} 13255 if s.Id == nil { 13256 invalidParams.Add(request.NewErrParamRequired("Id")) 13257 } 13258 if s.Id != nil && len(*s.Id) < 1 { 13259 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13260 } 13261 13262 if invalidParams.Len() > 0 { 13263 return invalidParams 13264 } 13265 return nil 13266} 13267 13268// SetId sets the Id field's value. 13269func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { 13270 s.Id = &v 13271 return s 13272} 13273 13274// SetIfMatch sets the IfMatch field's value. 13275func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { 13276 s.IfMatch = &v 13277 return s 13278} 13279 13280type DeleteFieldLevelEncryptionProfileOutput struct { 13281 _ struct{} `type:"structure"` 13282} 13283 13284// String returns the string representation 13285func (s DeleteFieldLevelEncryptionProfileOutput) String() string { 13286 return awsutil.Prettify(s) 13287} 13288 13289// GoString returns the string representation 13290func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { 13291 return s.String() 13292} 13293 13294type DeleteFunctionInput struct { 13295 _ struct{} `locationName:"DeleteFunctionRequest" type:"structure"` 13296 13297 // The current version (ETag value) of the function that you are deleting, which 13298 // you can get using DescribeFunction. 13299 // 13300 // IfMatch is a required field 13301 IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` 13302 13303 // The name of the function that you are deleting. 13304 // 13305 // Name is a required field 13306 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 13307} 13308 13309// String returns the string representation 13310func (s DeleteFunctionInput) String() string { 13311 return awsutil.Prettify(s) 13312} 13313 13314// GoString returns the string representation 13315func (s DeleteFunctionInput) GoString() string { 13316 return s.String() 13317} 13318 13319// Validate inspects the fields of the type to determine if they are valid. 13320func (s *DeleteFunctionInput) Validate() error { 13321 invalidParams := request.ErrInvalidParams{Context: "DeleteFunctionInput"} 13322 if s.IfMatch == nil { 13323 invalidParams.Add(request.NewErrParamRequired("IfMatch")) 13324 } 13325 if s.Name == nil { 13326 invalidParams.Add(request.NewErrParamRequired("Name")) 13327 } 13328 if s.Name != nil && len(*s.Name) < 1 { 13329 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 13330 } 13331 13332 if invalidParams.Len() > 0 { 13333 return invalidParams 13334 } 13335 return nil 13336} 13337 13338// SetIfMatch sets the IfMatch field's value. 13339func (s *DeleteFunctionInput) SetIfMatch(v string) *DeleteFunctionInput { 13340 s.IfMatch = &v 13341 return s 13342} 13343 13344// SetName sets the Name field's value. 13345func (s *DeleteFunctionInput) SetName(v string) *DeleteFunctionInput { 13346 s.Name = &v 13347 return s 13348} 13349 13350type DeleteFunctionOutput struct { 13351 _ struct{} `type:"structure"` 13352} 13353 13354// String returns the string representation 13355func (s DeleteFunctionOutput) String() string { 13356 return awsutil.Prettify(s) 13357} 13358 13359// GoString returns the string representation 13360func (s DeleteFunctionOutput) GoString() string { 13361 return s.String() 13362} 13363 13364type DeleteKeyGroupInput struct { 13365 _ struct{} `locationName:"DeleteKeyGroupRequest" type:"structure"` 13366 13367 // The identifier of the key group that you are deleting. To get the identifier, 13368 // use ListKeyGroups. 13369 // 13370 // Id is a required field 13371 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13372 13373 // The version of the key group that you are deleting. The version is the key 13374 // group’s ETag value. To get the ETag, use GetKeyGroup or GetKeyGroupConfig. 13375 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13376} 13377 13378// String returns the string representation 13379func (s DeleteKeyGroupInput) String() string { 13380 return awsutil.Prettify(s) 13381} 13382 13383// GoString returns the string representation 13384func (s DeleteKeyGroupInput) GoString() string { 13385 return s.String() 13386} 13387 13388// Validate inspects the fields of the type to determine if they are valid. 13389func (s *DeleteKeyGroupInput) Validate() error { 13390 invalidParams := request.ErrInvalidParams{Context: "DeleteKeyGroupInput"} 13391 if s.Id == nil { 13392 invalidParams.Add(request.NewErrParamRequired("Id")) 13393 } 13394 if s.Id != nil && len(*s.Id) < 1 { 13395 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13396 } 13397 13398 if invalidParams.Len() > 0 { 13399 return invalidParams 13400 } 13401 return nil 13402} 13403 13404// SetId sets the Id field's value. 13405func (s *DeleteKeyGroupInput) SetId(v string) *DeleteKeyGroupInput { 13406 s.Id = &v 13407 return s 13408} 13409 13410// SetIfMatch sets the IfMatch field's value. 13411func (s *DeleteKeyGroupInput) SetIfMatch(v string) *DeleteKeyGroupInput { 13412 s.IfMatch = &v 13413 return s 13414} 13415 13416type DeleteKeyGroupOutput struct { 13417 _ struct{} `type:"structure"` 13418} 13419 13420// String returns the string representation 13421func (s DeleteKeyGroupOutput) String() string { 13422 return awsutil.Prettify(s) 13423} 13424 13425// GoString returns the string representation 13426func (s DeleteKeyGroupOutput) GoString() string { 13427 return s.String() 13428} 13429 13430type DeleteMonitoringSubscriptionInput struct { 13431 _ struct{} `locationName:"DeleteMonitoringSubscriptionRequest" type:"structure"` 13432 13433 // The ID of the distribution that you are disabling metrics for. 13434 // 13435 // DistributionId is a required field 13436 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 13437} 13438 13439// String returns the string representation 13440func (s DeleteMonitoringSubscriptionInput) String() string { 13441 return awsutil.Prettify(s) 13442} 13443 13444// GoString returns the string representation 13445func (s DeleteMonitoringSubscriptionInput) GoString() string { 13446 return s.String() 13447} 13448 13449// Validate inspects the fields of the type to determine if they are valid. 13450func (s *DeleteMonitoringSubscriptionInput) Validate() error { 13451 invalidParams := request.ErrInvalidParams{Context: "DeleteMonitoringSubscriptionInput"} 13452 if s.DistributionId == nil { 13453 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 13454 } 13455 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 13456 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 13457 } 13458 13459 if invalidParams.Len() > 0 { 13460 return invalidParams 13461 } 13462 return nil 13463} 13464 13465// SetDistributionId sets the DistributionId field's value. 13466func (s *DeleteMonitoringSubscriptionInput) SetDistributionId(v string) *DeleteMonitoringSubscriptionInput { 13467 s.DistributionId = &v 13468 return s 13469} 13470 13471type DeleteMonitoringSubscriptionOutput struct { 13472 _ struct{} `type:"structure"` 13473} 13474 13475// String returns the string representation 13476func (s DeleteMonitoringSubscriptionOutput) String() string { 13477 return awsutil.Prettify(s) 13478} 13479 13480// GoString returns the string representation 13481func (s DeleteMonitoringSubscriptionOutput) GoString() string { 13482 return s.String() 13483} 13484 13485type DeleteOriginRequestPolicyInput struct { 13486 _ struct{} `locationName:"DeleteOriginRequestPolicyRequest" type:"structure"` 13487 13488 // The unique identifier for the origin request policy that you are deleting. 13489 // To get the identifier, you can use ListOriginRequestPolicies. 13490 // 13491 // Id is a required field 13492 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13493 13494 // The version of the origin request policy that you are deleting. The version 13495 // is the origin request policy’s ETag value, which you can get using ListOriginRequestPolicies, 13496 // GetOriginRequestPolicy, or GetOriginRequestPolicyConfig. 13497 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13498} 13499 13500// String returns the string representation 13501func (s DeleteOriginRequestPolicyInput) String() string { 13502 return awsutil.Prettify(s) 13503} 13504 13505// GoString returns the string representation 13506func (s DeleteOriginRequestPolicyInput) GoString() string { 13507 return s.String() 13508} 13509 13510// Validate inspects the fields of the type to determine if they are valid. 13511func (s *DeleteOriginRequestPolicyInput) Validate() error { 13512 invalidParams := request.ErrInvalidParams{Context: "DeleteOriginRequestPolicyInput"} 13513 if s.Id == nil { 13514 invalidParams.Add(request.NewErrParamRequired("Id")) 13515 } 13516 if s.Id != nil && len(*s.Id) < 1 { 13517 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13518 } 13519 13520 if invalidParams.Len() > 0 { 13521 return invalidParams 13522 } 13523 return nil 13524} 13525 13526// SetId sets the Id field's value. 13527func (s *DeleteOriginRequestPolicyInput) SetId(v string) *DeleteOriginRequestPolicyInput { 13528 s.Id = &v 13529 return s 13530} 13531 13532// SetIfMatch sets the IfMatch field's value. 13533func (s *DeleteOriginRequestPolicyInput) SetIfMatch(v string) *DeleteOriginRequestPolicyInput { 13534 s.IfMatch = &v 13535 return s 13536} 13537 13538type DeleteOriginRequestPolicyOutput struct { 13539 _ struct{} `type:"structure"` 13540} 13541 13542// String returns the string representation 13543func (s DeleteOriginRequestPolicyOutput) String() string { 13544 return awsutil.Prettify(s) 13545} 13546 13547// GoString returns the string representation 13548func (s DeleteOriginRequestPolicyOutput) GoString() string { 13549 return s.String() 13550} 13551 13552type DeletePublicKeyInput struct { 13553 _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` 13554 13555 // The ID of the public key you want to remove from CloudFront. 13556 // 13557 // Id is a required field 13558 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13559 13560 // The value of the ETag header that you received when retrieving the public 13561 // key identity to delete. For example: E2QWRUHAPOMQZL. 13562 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13563} 13564 13565// String returns the string representation 13566func (s DeletePublicKeyInput) String() string { 13567 return awsutil.Prettify(s) 13568} 13569 13570// GoString returns the string representation 13571func (s DeletePublicKeyInput) GoString() string { 13572 return s.String() 13573} 13574 13575// Validate inspects the fields of the type to determine if they are valid. 13576func (s *DeletePublicKeyInput) Validate() error { 13577 invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} 13578 if s.Id == nil { 13579 invalidParams.Add(request.NewErrParamRequired("Id")) 13580 } 13581 if s.Id != nil && len(*s.Id) < 1 { 13582 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13583 } 13584 13585 if invalidParams.Len() > 0 { 13586 return invalidParams 13587 } 13588 return nil 13589} 13590 13591// SetId sets the Id field's value. 13592func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { 13593 s.Id = &v 13594 return s 13595} 13596 13597// SetIfMatch sets the IfMatch field's value. 13598func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { 13599 s.IfMatch = &v 13600 return s 13601} 13602 13603type DeletePublicKeyOutput struct { 13604 _ struct{} `type:"structure"` 13605} 13606 13607// String returns the string representation 13608func (s DeletePublicKeyOutput) String() string { 13609 return awsutil.Prettify(s) 13610} 13611 13612// GoString returns the string representation 13613func (s DeletePublicKeyOutput) GoString() string { 13614 return s.String() 13615} 13616 13617type DeleteRealtimeLogConfigInput struct { 13618 _ struct{} `locationName:"DeleteRealtimeLogConfigRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 13619 13620 // The Amazon Resource Name (ARN) of the real-time log configuration to delete. 13621 ARN *string `type:"string"` 13622 13623 // The name of the real-time log configuration to delete. 13624 Name *string `type:"string"` 13625} 13626 13627// String returns the string representation 13628func (s DeleteRealtimeLogConfigInput) String() string { 13629 return awsutil.Prettify(s) 13630} 13631 13632// GoString returns the string representation 13633func (s DeleteRealtimeLogConfigInput) GoString() string { 13634 return s.String() 13635} 13636 13637// SetARN sets the ARN field's value. 13638func (s *DeleteRealtimeLogConfigInput) SetARN(v string) *DeleteRealtimeLogConfigInput { 13639 s.ARN = &v 13640 return s 13641} 13642 13643// SetName sets the Name field's value. 13644func (s *DeleteRealtimeLogConfigInput) SetName(v string) *DeleteRealtimeLogConfigInput { 13645 s.Name = &v 13646 return s 13647} 13648 13649type DeleteRealtimeLogConfigOutput struct { 13650 _ struct{} `type:"structure"` 13651} 13652 13653// String returns the string representation 13654func (s DeleteRealtimeLogConfigOutput) String() string { 13655 return awsutil.Prettify(s) 13656} 13657 13658// GoString returns the string representation 13659func (s DeleteRealtimeLogConfigOutput) GoString() string { 13660 return s.String() 13661} 13662 13663// The request to delete a streaming distribution. 13664type DeleteStreamingDistributionInput struct { 13665 _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` 13666 13667 // The distribution ID. 13668 // 13669 // Id is a required field 13670 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 13671 13672 // The value of the ETag header that you received when you disabled the streaming 13673 // distribution. For example: E2QWRUHAPOMQZL. 13674 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 13675} 13676 13677// String returns the string representation 13678func (s DeleteStreamingDistributionInput) String() string { 13679 return awsutil.Prettify(s) 13680} 13681 13682// GoString returns the string representation 13683func (s DeleteStreamingDistributionInput) GoString() string { 13684 return s.String() 13685} 13686 13687// Validate inspects the fields of the type to determine if they are valid. 13688func (s *DeleteStreamingDistributionInput) Validate() error { 13689 invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} 13690 if s.Id == nil { 13691 invalidParams.Add(request.NewErrParamRequired("Id")) 13692 } 13693 if s.Id != nil && len(*s.Id) < 1 { 13694 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 13695 } 13696 13697 if invalidParams.Len() > 0 { 13698 return invalidParams 13699 } 13700 return nil 13701} 13702 13703// SetId sets the Id field's value. 13704func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { 13705 s.Id = &v 13706 return s 13707} 13708 13709// SetIfMatch sets the IfMatch field's value. 13710func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { 13711 s.IfMatch = &v 13712 return s 13713} 13714 13715type DeleteStreamingDistributionOutput struct { 13716 _ struct{} `type:"structure"` 13717} 13718 13719// String returns the string representation 13720func (s DeleteStreamingDistributionOutput) String() string { 13721 return awsutil.Prettify(s) 13722} 13723 13724// GoString returns the string representation 13725func (s DeleteStreamingDistributionOutput) GoString() string { 13726 return s.String() 13727} 13728 13729type DescribeFunctionInput struct { 13730 _ struct{} `locationName:"DescribeFunctionRequest" type:"structure"` 13731 13732 // The name of the function that you are getting information about. 13733 // 13734 // Name is a required field 13735 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 13736 13737 // The function’s stage, either DEVELOPMENT or LIVE. 13738 Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` 13739} 13740 13741// String returns the string representation 13742func (s DescribeFunctionInput) String() string { 13743 return awsutil.Prettify(s) 13744} 13745 13746// GoString returns the string representation 13747func (s DescribeFunctionInput) GoString() string { 13748 return s.String() 13749} 13750 13751// Validate inspects the fields of the type to determine if they are valid. 13752func (s *DescribeFunctionInput) Validate() error { 13753 invalidParams := request.ErrInvalidParams{Context: "DescribeFunctionInput"} 13754 if s.Name == nil { 13755 invalidParams.Add(request.NewErrParamRequired("Name")) 13756 } 13757 if s.Name != nil && len(*s.Name) < 1 { 13758 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 13759 } 13760 13761 if invalidParams.Len() > 0 { 13762 return invalidParams 13763 } 13764 return nil 13765} 13766 13767// SetName sets the Name field's value. 13768func (s *DescribeFunctionInput) SetName(v string) *DescribeFunctionInput { 13769 s.Name = &v 13770 return s 13771} 13772 13773// SetStage sets the Stage field's value. 13774func (s *DescribeFunctionInput) SetStage(v string) *DescribeFunctionInput { 13775 s.Stage = &v 13776 return s 13777} 13778 13779type DescribeFunctionOutput struct { 13780 _ struct{} `type:"structure" payload:"FunctionSummary"` 13781 13782 // The version identifier for the current version of the CloudFront function. 13783 ETag *string `location:"header" locationName:"ETag" type:"string"` 13784 13785 // Contains configuration information and metadata about a CloudFront function. 13786 FunctionSummary *FunctionSummary `type:"structure"` 13787} 13788 13789// String returns the string representation 13790func (s DescribeFunctionOutput) String() string { 13791 return awsutil.Prettify(s) 13792} 13793 13794// GoString returns the string representation 13795func (s DescribeFunctionOutput) GoString() string { 13796 return s.String() 13797} 13798 13799// SetETag sets the ETag field's value. 13800func (s *DescribeFunctionOutput) SetETag(v string) *DescribeFunctionOutput { 13801 s.ETag = &v 13802 return s 13803} 13804 13805// SetFunctionSummary sets the FunctionSummary field's value. 13806func (s *DescribeFunctionOutput) SetFunctionSummary(v *FunctionSummary) *DescribeFunctionOutput { 13807 s.FunctionSummary = v 13808 return s 13809} 13810 13811// A distribution tells CloudFront where you want content to be delivered from, 13812// and the details about how to track and manage content delivery. 13813type Distribution struct { 13814 _ struct{} `type:"structure"` 13815 13816 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 13817 // where 123456789012 is your account ID. 13818 // 13819 // ARN is a required field 13820 ARN *string `type:"string" required:"true"` 13821 13822 // CloudFront automatically adds this field to the response if you’ve configured 13823 // a cache behavior in this distribution to serve private content using key 13824 // groups. This field contains a list of key groups and the public keys in each 13825 // key group that CloudFront can use to verify the signatures of signed URLs 13826 // or signed cookies. 13827 ActiveTrustedKeyGroups *ActiveTrustedKeyGroups `type:"structure"` 13828 13829 // 13830 // We recommend using TrustedKeyGroups instead of TrustedSigners. 13831 // 13832 // CloudFront automatically adds this field to the response if you’ve configured 13833 // a cache behavior in this distribution to serve private content using trusted 13834 // signers. This field contains a list of account IDs and the active CloudFront 13835 // key pairs in each account that CloudFront can use to verify the signatures 13836 // of signed URLs or signed cookies. 13837 ActiveTrustedSigners *ActiveTrustedSigners `type:"structure"` 13838 13839 // Amazon Web Services services in China customers must file for an Internet 13840 // Content Provider (ICP) recordal if they want to serve content publicly on 13841 // an alternate domain name, also known as a CNAME, that they've added to CloudFront. 13842 // AliasICPRecordal provides the ICP recordal status for CNAMEs associated with 13843 // distributions. 13844 // 13845 // For more information about ICP recordals, see Signup, Accounts, and Credentials 13846 // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 13847 // in Getting Started with Amazon Web Services services in China. 13848 AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` 13849 13850 // The current configuration information for the distribution. Send a GET request 13851 // to the /CloudFront API version/distribution ID/config resource. 13852 // 13853 // DistributionConfig is a required field 13854 DistributionConfig *DistributionConfig `type:"structure" required:"true"` 13855 13856 // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. 13857 // 13858 // DomainName is a required field 13859 DomainName *string `type:"string" required:"true"` 13860 13861 // The identifier for the distribution. For example: EDFDVBD632BHDS5. 13862 // 13863 // Id is a required field 13864 Id *string `type:"string" required:"true"` 13865 13866 // The number of invalidation batches currently in progress. 13867 // 13868 // InProgressInvalidationBatches is a required field 13869 InProgressInvalidationBatches *int64 `type:"integer" required:"true"` 13870 13871 // The date and time the distribution was last modified. 13872 // 13873 // LastModifiedTime is a required field 13874 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 13875 13876 // This response element indicates the current status of the distribution. When 13877 // the status is Deployed, the distribution's information is fully propagated 13878 // to all CloudFront edge locations. 13879 // 13880 // Status is a required field 13881 Status *string `type:"string" required:"true"` 13882} 13883 13884// String returns the string representation 13885func (s Distribution) String() string { 13886 return awsutil.Prettify(s) 13887} 13888 13889// GoString returns the string representation 13890func (s Distribution) GoString() string { 13891 return s.String() 13892} 13893 13894// SetARN sets the ARN field's value. 13895func (s *Distribution) SetARN(v string) *Distribution { 13896 s.ARN = &v 13897 return s 13898} 13899 13900// SetActiveTrustedKeyGroups sets the ActiveTrustedKeyGroups field's value. 13901func (s *Distribution) SetActiveTrustedKeyGroups(v *ActiveTrustedKeyGroups) *Distribution { 13902 s.ActiveTrustedKeyGroups = v 13903 return s 13904} 13905 13906// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. 13907func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { 13908 s.ActiveTrustedSigners = v 13909 return s 13910} 13911 13912// SetAliasICPRecordals sets the AliasICPRecordals field's value. 13913func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { 13914 s.AliasICPRecordals = v 13915 return s 13916} 13917 13918// SetDistributionConfig sets the DistributionConfig field's value. 13919func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { 13920 s.DistributionConfig = v 13921 return s 13922} 13923 13924// SetDomainName sets the DomainName field's value. 13925func (s *Distribution) SetDomainName(v string) *Distribution { 13926 s.DomainName = &v 13927 return s 13928} 13929 13930// SetId sets the Id field's value. 13931func (s *Distribution) SetId(v string) *Distribution { 13932 s.Id = &v 13933 return s 13934} 13935 13936// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. 13937func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { 13938 s.InProgressInvalidationBatches = &v 13939 return s 13940} 13941 13942// SetLastModifiedTime sets the LastModifiedTime field's value. 13943func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { 13944 s.LastModifiedTime = &v 13945 return s 13946} 13947 13948// SetStatus sets the Status field's value. 13949func (s *Distribution) SetStatus(v string) *Distribution { 13950 s.Status = &v 13951 return s 13952} 13953 13954// A distribution configuration. 13955type DistributionConfig struct { 13956 _ struct{} `type:"structure"` 13957 13958 // A complex type that contains information about CNAMEs (alternate domain names), 13959 // if any, for this distribution. 13960 Aliases *Aliases `type:"structure"` 13961 13962 // A complex type that contains zero or more CacheBehavior elements. 13963 CacheBehaviors *CacheBehaviors `type:"structure"` 13964 13965 // A unique value (for example, a date-time stamp) that ensures that the request 13966 // can't be replayed. 13967 // 13968 // If the value of CallerReference is new (regardless of the content of the 13969 // DistributionConfig object), CloudFront creates a new distribution. 13970 // 13971 // If CallerReference is a value that you already sent in a previous request 13972 // to create a distribution, CloudFront returns a DistributionAlreadyExists 13973 // error. 13974 // 13975 // CallerReference is a required field 13976 CallerReference *string `type:"string" required:"true"` 13977 13978 // An optional comment to describe the distribution. The comment cannot be longer 13979 // than 128 characters. 13980 // 13981 // Comment is a required field 13982 Comment *string `type:"string" required:"true" sensitive:"true"` 13983 13984 // A complex type that controls the following: 13985 // 13986 // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 13987 // with custom error messages before returning the response to the viewer. 13988 // 13989 // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 13990 // 13991 // For more information about custom error pages, see Customizing Error Responses 13992 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 13993 // in the Amazon CloudFront Developer Guide. 13994 CustomErrorResponses *CustomErrorResponses `type:"structure"` 13995 13996 // A complex type that describes the default cache behavior if you don't specify 13997 // a CacheBehavior element or if files don't match any of the values of PathPattern 13998 // in CacheBehavior elements. You must create exactly one default cache behavior. 13999 // 14000 // DefaultCacheBehavior is a required field 14001 DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` 14002 14003 // The object that you want CloudFront to request from your origin (for example, 14004 // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) 14005 // instead of an object in your distribution (http://www.example.com/product-description.html). 14006 // Specifying a default root object avoids exposing the contents of your distribution. 14007 // 14008 // Specify only the object name, for example, index.html. Don't add a / before 14009 // the object name. 14010 // 14011 // If you don't want to specify a default root object when you create a distribution, 14012 // include an empty DefaultRootObject element. 14013 // 14014 // To delete the default root object from an existing distribution, update the 14015 // distribution configuration and include an empty DefaultRootObject element. 14016 // 14017 // To replace the default root object, update the distribution configuration 14018 // and specify the new object. 14019 // 14020 // For more information about the default root object, see Creating a Default 14021 // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) 14022 // in the Amazon CloudFront Developer Guide. 14023 DefaultRootObject *string `type:"string"` 14024 14025 // From this field, you can enable or disable the selected distribution. 14026 // 14027 // Enabled is a required field 14028 Enabled *bool `type:"boolean" required:"true"` 14029 14030 // (Optional) Specify the maximum HTTP version that you want viewers to use 14031 // to communicate with CloudFront. The default value for new web distributions 14032 // is http2. Viewers that don't support HTTP/2 automatically use an earlier 14033 // HTTP version. 14034 // 14035 // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or 14036 // later, and must support Server Name Identification (SNI). 14037 // 14038 // In general, configuring CloudFront to communicate with viewers using HTTP/2 14039 // reduces latency. You can improve performance by optimizing for HTTP/2. For 14040 // more information, do an Internet search for "http/2 optimization." 14041 HttpVersion *string `type:"string" enum:"HttpVersion"` 14042 14043 // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address 14044 // for your distribution, specify true. If you specify false, CloudFront responds 14045 // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. 14046 // This allows viewers to submit a second request, for an IPv4 address for your 14047 // distribution. 14048 // 14049 // In general, you should enable IPv6 if you have users on IPv6 networks who 14050 // want to access your content. However, if you're using signed URLs or signed 14051 // cookies to restrict access to your content, and if you're using a custom 14052 // policy that includes the IpAddress parameter to restrict the IP addresses 14053 // that can access your content, don't enable IPv6. If you want to restrict 14054 // access to some content by IP address and not restrict access to other content 14055 // (or restrict access but not by IP address), you can create two distributions. 14056 // For more information, see Creating a Signed URL Using a Custom Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-creating-signed-url-custom-policy.html) 14057 // in the Amazon CloudFront Developer Guide. 14058 // 14059 // If you're using an Route 53 Amazon Web Services Integration alias resource 14060 // record set to route traffic to your CloudFront distribution, you need to 14061 // create a second alias resource record set when both of the following are 14062 // true: 14063 // 14064 // * You enable IPv6 for the distribution 14065 // 14066 // * You're using alternate domain names in the URLs for your objects 14067 // 14068 // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution 14069 // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) 14070 // in the Route 53 Amazon Web Services Integration Developer Guide. 14071 // 14072 // If you created a CNAME resource record set, either with Route 53 Amazon Web 14073 // Services Integration or with another DNS service, you don't need to make 14074 // any changes. A CNAME record will route traffic to your distribution regardless 14075 // of the IP address format of the viewer request. 14076 IsIPV6Enabled *bool `type:"boolean"` 14077 14078 // A complex type that controls whether access logs are written for the distribution. 14079 // 14080 // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) 14081 // in the Amazon CloudFront Developer Guide. 14082 Logging *LoggingConfig `type:"structure"` 14083 14084 // A complex type that contains information about origin groups for this distribution. 14085 OriginGroups *OriginGroups `type:"structure"` 14086 14087 // A complex type that contains information about origins for this distribution. 14088 // 14089 // Origins is a required field 14090 Origins *Origins `type:"structure" required:"true"` 14091 14092 // The price class that corresponds with the maximum price that you want to 14093 // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds 14094 // to requests for your objects from all CloudFront edge locations. 14095 // 14096 // If you specify a price class other than PriceClass_All, CloudFront serves 14097 // your objects from the CloudFront edge location that has the lowest latency 14098 // among the edge locations in your price class. Viewers who are in or near 14099 // regions that are excluded from your specified price class may encounter slower 14100 // performance. 14101 // 14102 // For more information about price classes, see Choosing the Price Class for 14103 // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) 14104 // in the Amazon CloudFront Developer Guide. For information about CloudFront 14105 // pricing, including how price classes (such as Price Class 100) map to CloudFront 14106 // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). 14107 PriceClass *string `type:"string" enum:"PriceClass"` 14108 14109 // A complex type that identifies ways in which you want to restrict distribution 14110 // of your content. 14111 Restrictions *Restrictions `type:"structure"` 14112 14113 // A complex type that determines the distribution’s SSL/TLS configuration 14114 // for communicating with viewers. 14115 ViewerCertificate *ViewerCertificate `type:"structure"` 14116 14117 // A unique identifier that specifies the WAF web ACL, if any, to associate 14118 // with this distribution. To specify a web ACL created using the latest version 14119 // of WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 14120 // To specify a web ACL created using WAF Classic, use the ACL ID, for example 14121 // 473e64fd-f30b-4765-81a0-62ad96dd167a. 14122 // 14123 // WAF is a web application firewall that lets you monitor the HTTP and HTTPS 14124 // requests that are forwarded to CloudFront, and lets you control access to 14125 // your content. Based on conditions that you specify, such as the IP addresses 14126 // that requests originate from or the values of query strings, CloudFront responds 14127 // to requests either with the requested content or with an HTTP 403 status 14128 // code (Forbidden). You can also configure CloudFront to return a custom error 14129 // page when a request is blocked. For more information about WAF, see the WAF 14130 // Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). 14131 WebACLId *string `type:"string"` 14132} 14133 14134// String returns the string representation 14135func (s DistributionConfig) String() string { 14136 return awsutil.Prettify(s) 14137} 14138 14139// GoString returns the string representation 14140func (s DistributionConfig) GoString() string { 14141 return s.String() 14142} 14143 14144// Validate inspects the fields of the type to determine if they are valid. 14145func (s *DistributionConfig) Validate() error { 14146 invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} 14147 if s.CallerReference == nil { 14148 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 14149 } 14150 if s.Comment == nil { 14151 invalidParams.Add(request.NewErrParamRequired("Comment")) 14152 } 14153 if s.DefaultCacheBehavior == nil { 14154 invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) 14155 } 14156 if s.Enabled == nil { 14157 invalidParams.Add(request.NewErrParamRequired("Enabled")) 14158 } 14159 if s.Origins == nil { 14160 invalidParams.Add(request.NewErrParamRequired("Origins")) 14161 } 14162 if s.Aliases != nil { 14163 if err := s.Aliases.Validate(); err != nil { 14164 invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) 14165 } 14166 } 14167 if s.CacheBehaviors != nil { 14168 if err := s.CacheBehaviors.Validate(); err != nil { 14169 invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) 14170 } 14171 } 14172 if s.CustomErrorResponses != nil { 14173 if err := s.CustomErrorResponses.Validate(); err != nil { 14174 invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) 14175 } 14176 } 14177 if s.DefaultCacheBehavior != nil { 14178 if err := s.DefaultCacheBehavior.Validate(); err != nil { 14179 invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) 14180 } 14181 } 14182 if s.Logging != nil { 14183 if err := s.Logging.Validate(); err != nil { 14184 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 14185 } 14186 } 14187 if s.OriginGroups != nil { 14188 if err := s.OriginGroups.Validate(); err != nil { 14189 invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) 14190 } 14191 } 14192 if s.Origins != nil { 14193 if err := s.Origins.Validate(); err != nil { 14194 invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) 14195 } 14196 } 14197 if s.Restrictions != nil { 14198 if err := s.Restrictions.Validate(); err != nil { 14199 invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) 14200 } 14201 } 14202 14203 if invalidParams.Len() > 0 { 14204 return invalidParams 14205 } 14206 return nil 14207} 14208 14209// SetAliases sets the Aliases field's value. 14210func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { 14211 s.Aliases = v 14212 return s 14213} 14214 14215// SetCacheBehaviors sets the CacheBehaviors field's value. 14216func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { 14217 s.CacheBehaviors = v 14218 return s 14219} 14220 14221// SetCallerReference sets the CallerReference field's value. 14222func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { 14223 s.CallerReference = &v 14224 return s 14225} 14226 14227// SetComment sets the Comment field's value. 14228func (s *DistributionConfig) SetComment(v string) *DistributionConfig { 14229 s.Comment = &v 14230 return s 14231} 14232 14233// SetCustomErrorResponses sets the CustomErrorResponses field's value. 14234func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { 14235 s.CustomErrorResponses = v 14236 return s 14237} 14238 14239// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. 14240func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { 14241 s.DefaultCacheBehavior = v 14242 return s 14243} 14244 14245// SetDefaultRootObject sets the DefaultRootObject field's value. 14246func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { 14247 s.DefaultRootObject = &v 14248 return s 14249} 14250 14251// SetEnabled sets the Enabled field's value. 14252func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { 14253 s.Enabled = &v 14254 return s 14255} 14256 14257// SetHttpVersion sets the HttpVersion field's value. 14258func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { 14259 s.HttpVersion = &v 14260 return s 14261} 14262 14263// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. 14264func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { 14265 s.IsIPV6Enabled = &v 14266 return s 14267} 14268 14269// SetLogging sets the Logging field's value. 14270func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { 14271 s.Logging = v 14272 return s 14273} 14274 14275// SetOriginGroups sets the OriginGroups field's value. 14276func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { 14277 s.OriginGroups = v 14278 return s 14279} 14280 14281// SetOrigins sets the Origins field's value. 14282func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { 14283 s.Origins = v 14284 return s 14285} 14286 14287// SetPriceClass sets the PriceClass field's value. 14288func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { 14289 s.PriceClass = &v 14290 return s 14291} 14292 14293// SetRestrictions sets the Restrictions field's value. 14294func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { 14295 s.Restrictions = v 14296 return s 14297} 14298 14299// SetViewerCertificate sets the ViewerCertificate field's value. 14300func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { 14301 s.ViewerCertificate = v 14302 return s 14303} 14304 14305// SetWebACLId sets the WebACLId field's value. 14306func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { 14307 s.WebACLId = &v 14308 return s 14309} 14310 14311// A distribution Configuration and a list of tags to be associated with the 14312// distribution. 14313type DistributionConfigWithTags struct { 14314 _ struct{} `type:"structure"` 14315 14316 // A distribution configuration. 14317 // 14318 // DistributionConfig is a required field 14319 DistributionConfig *DistributionConfig `type:"structure" required:"true"` 14320 14321 // A complex type that contains zero or more Tag elements. 14322 // 14323 // Tags is a required field 14324 Tags *Tags `type:"structure" required:"true"` 14325} 14326 14327// String returns the string representation 14328func (s DistributionConfigWithTags) String() string { 14329 return awsutil.Prettify(s) 14330} 14331 14332// GoString returns the string representation 14333func (s DistributionConfigWithTags) GoString() string { 14334 return s.String() 14335} 14336 14337// Validate inspects the fields of the type to determine if they are valid. 14338func (s *DistributionConfigWithTags) Validate() error { 14339 invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} 14340 if s.DistributionConfig == nil { 14341 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 14342 } 14343 if s.Tags == nil { 14344 invalidParams.Add(request.NewErrParamRequired("Tags")) 14345 } 14346 if s.DistributionConfig != nil { 14347 if err := s.DistributionConfig.Validate(); err != nil { 14348 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 14349 } 14350 } 14351 if s.Tags != nil { 14352 if err := s.Tags.Validate(); err != nil { 14353 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 14354 } 14355 } 14356 14357 if invalidParams.Len() > 0 { 14358 return invalidParams 14359 } 14360 return nil 14361} 14362 14363// SetDistributionConfig sets the DistributionConfig field's value. 14364func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { 14365 s.DistributionConfig = v 14366 return s 14367} 14368 14369// SetTags sets the Tags field's value. 14370func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { 14371 s.Tags = v 14372 return s 14373} 14374 14375// A list of distribution IDs. 14376type DistributionIdList struct { 14377 _ struct{} `type:"structure"` 14378 14379 // A flag that indicates whether more distribution IDs remain to be listed. 14380 // If your results were truncated, you can make a subsequent request using the 14381 // Marker request field to retrieve more distribution IDs in the list. 14382 // 14383 // IsTruncated is a required field 14384 IsTruncated *bool `type:"boolean" required:"true"` 14385 14386 // Contains the distribution IDs in the list. 14387 Items []*string `locationNameList:"DistributionId" type:"list"` 14388 14389 // The value provided in the Marker request field. 14390 // 14391 // Marker is a required field 14392 Marker *string `type:"string" required:"true"` 14393 14394 // The maximum number of distribution IDs requested. 14395 // 14396 // MaxItems is a required field 14397 MaxItems *int64 `type:"integer" required:"true"` 14398 14399 // Contains the value that you should use in the Marker field of a subsequent 14400 // request to continue listing distribution IDs where you left off. 14401 NextMarker *string `type:"string"` 14402 14403 // The total number of distribution IDs returned in the response. 14404 // 14405 // Quantity is a required field 14406 Quantity *int64 `type:"integer" required:"true"` 14407} 14408 14409// String returns the string representation 14410func (s DistributionIdList) String() string { 14411 return awsutil.Prettify(s) 14412} 14413 14414// GoString returns the string representation 14415func (s DistributionIdList) GoString() string { 14416 return s.String() 14417} 14418 14419// SetIsTruncated sets the IsTruncated field's value. 14420func (s *DistributionIdList) SetIsTruncated(v bool) *DistributionIdList { 14421 s.IsTruncated = &v 14422 return s 14423} 14424 14425// SetItems sets the Items field's value. 14426func (s *DistributionIdList) SetItems(v []*string) *DistributionIdList { 14427 s.Items = v 14428 return s 14429} 14430 14431// SetMarker sets the Marker field's value. 14432func (s *DistributionIdList) SetMarker(v string) *DistributionIdList { 14433 s.Marker = &v 14434 return s 14435} 14436 14437// SetMaxItems sets the MaxItems field's value. 14438func (s *DistributionIdList) SetMaxItems(v int64) *DistributionIdList { 14439 s.MaxItems = &v 14440 return s 14441} 14442 14443// SetNextMarker sets the NextMarker field's value. 14444func (s *DistributionIdList) SetNextMarker(v string) *DistributionIdList { 14445 s.NextMarker = &v 14446 return s 14447} 14448 14449// SetQuantity sets the Quantity field's value. 14450func (s *DistributionIdList) SetQuantity(v int64) *DistributionIdList { 14451 s.Quantity = &v 14452 return s 14453} 14454 14455// A distribution list. 14456type DistributionList struct { 14457 _ struct{} `type:"structure"` 14458 14459 // A flag that indicates whether more distributions remain to be listed. If 14460 // your results were truncated, you can make a follow-up pagination request 14461 // using the Marker request parameter to retrieve more distributions in the 14462 // list. 14463 // 14464 // IsTruncated is a required field 14465 IsTruncated *bool `type:"boolean" required:"true"` 14466 14467 // A complex type that contains one DistributionSummary element for each distribution 14468 // that was created by the current account. 14469 Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` 14470 14471 // The value you provided for the Marker request parameter. 14472 // 14473 // Marker is a required field 14474 Marker *string `type:"string" required:"true"` 14475 14476 // The value you provided for the MaxItems request parameter. 14477 // 14478 // MaxItems is a required field 14479 MaxItems *int64 `type:"integer" required:"true"` 14480 14481 // If IsTruncated is true, this element is present and contains the value you 14482 // can use for the Marker request parameter to continue listing your distributions 14483 // where they left off. 14484 NextMarker *string `type:"string"` 14485 14486 // The number of distributions that were created by the current account. 14487 // 14488 // Quantity is a required field 14489 Quantity *int64 `type:"integer" required:"true"` 14490} 14491 14492// String returns the string representation 14493func (s DistributionList) String() string { 14494 return awsutil.Prettify(s) 14495} 14496 14497// GoString returns the string representation 14498func (s DistributionList) GoString() string { 14499 return s.String() 14500} 14501 14502// SetIsTruncated sets the IsTruncated field's value. 14503func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { 14504 s.IsTruncated = &v 14505 return s 14506} 14507 14508// SetItems sets the Items field's value. 14509func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { 14510 s.Items = v 14511 return s 14512} 14513 14514// SetMarker sets the Marker field's value. 14515func (s *DistributionList) SetMarker(v string) *DistributionList { 14516 s.Marker = &v 14517 return s 14518} 14519 14520// SetMaxItems sets the MaxItems field's value. 14521func (s *DistributionList) SetMaxItems(v int64) *DistributionList { 14522 s.MaxItems = &v 14523 return s 14524} 14525 14526// SetNextMarker sets the NextMarker field's value. 14527func (s *DistributionList) SetNextMarker(v string) *DistributionList { 14528 s.NextMarker = &v 14529 return s 14530} 14531 14532// SetQuantity sets the Quantity field's value. 14533func (s *DistributionList) SetQuantity(v int64) *DistributionList { 14534 s.Quantity = &v 14535 return s 14536} 14537 14538// A summary of the information about a CloudFront distribution. 14539type DistributionSummary struct { 14540 _ struct{} `type:"structure"` 14541 14542 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 14543 // where 123456789012 is your account ID. 14544 // 14545 // ARN is a required field 14546 ARN *string `type:"string" required:"true"` 14547 14548 // Amazon Web Services services in China customers must file for an Internet 14549 // Content Provider (ICP) recordal if they want to serve content publicly on 14550 // an alternate domain name, also known as a CNAME, that they've added to CloudFront. 14551 // AliasICPRecordal provides the ICP recordal status for CNAMEs associated with 14552 // distributions. 14553 // 14554 // For more information about ICP recordals, see Signup, Accounts, and Credentials 14555 // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 14556 // in Getting Started with Amazon Web Services services in China. 14557 AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` 14558 14559 // A complex type that contains information about CNAMEs (alternate domain names), 14560 // if any, for this distribution. 14561 // 14562 // Aliases is a required field 14563 Aliases *Aliases `type:"structure" required:"true"` 14564 14565 // A complex type that contains zero or more CacheBehavior elements. 14566 // 14567 // CacheBehaviors is a required field 14568 CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` 14569 14570 // The comment originally specified when this distribution was created. 14571 // 14572 // Comment is a required field 14573 Comment *string `type:"string" required:"true"` 14574 14575 // A complex type that contains zero or more CustomErrorResponses elements. 14576 // 14577 // CustomErrorResponses is a required field 14578 CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` 14579 14580 // A complex type that describes the default cache behavior if you don't specify 14581 // a CacheBehavior element or if files don't match any of the values of PathPattern 14582 // in CacheBehavior elements. You must create exactly one default cache behavior. 14583 // 14584 // DefaultCacheBehavior is a required field 14585 DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` 14586 14587 // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. 14588 // 14589 // DomainName is a required field 14590 DomainName *string `type:"string" required:"true"` 14591 14592 // Whether the distribution is enabled to accept user requests for content. 14593 // 14594 // Enabled is a required field 14595 Enabled *bool `type:"boolean" required:"true"` 14596 14597 // Specify the maximum HTTP version that you want viewers to use to communicate 14598 // with CloudFront. The default value for new web distributions is http2. Viewers 14599 // that don't support HTTP/2 will automatically use an earlier version. 14600 // 14601 // HttpVersion is a required field 14602 HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` 14603 14604 // The identifier for the distribution. For example: EDFDVBD632BHDS5. 14605 // 14606 // Id is a required field 14607 Id *string `type:"string" required:"true"` 14608 14609 // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for 14610 // your distribution. 14611 // 14612 // IsIPV6Enabled is a required field 14613 IsIPV6Enabled *bool `type:"boolean" required:"true"` 14614 14615 // The date and time the distribution was last modified. 14616 // 14617 // LastModifiedTime is a required field 14618 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 14619 14620 // A complex type that contains information about origin groups for this distribution. 14621 OriginGroups *OriginGroups `type:"structure"` 14622 14623 // A complex type that contains information about origins for this distribution. 14624 // 14625 // Origins is a required field 14626 Origins *Origins `type:"structure" required:"true"` 14627 14628 // A complex type that contains information about price class for this streaming 14629 // distribution. 14630 // 14631 // PriceClass is a required field 14632 PriceClass *string `type:"string" required:"true" enum:"PriceClass"` 14633 14634 // A complex type that identifies ways in which you want to restrict distribution 14635 // of your content. 14636 // 14637 // Restrictions is a required field 14638 Restrictions *Restrictions `type:"structure" required:"true"` 14639 14640 // The current status of the distribution. When the status is Deployed, the 14641 // distribution's information is propagated to all CloudFront edge locations. 14642 // 14643 // Status is a required field 14644 Status *string `type:"string" required:"true"` 14645 14646 // A complex type that determines the distribution’s SSL/TLS configuration 14647 // for communicating with viewers. 14648 // 14649 // ViewerCertificate is a required field 14650 ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` 14651 14652 // The Web ACL Id (if any) associated with the distribution. 14653 // 14654 // WebACLId is a required field 14655 WebACLId *string `type:"string" required:"true"` 14656} 14657 14658// String returns the string representation 14659func (s DistributionSummary) String() string { 14660 return awsutil.Prettify(s) 14661} 14662 14663// GoString returns the string representation 14664func (s DistributionSummary) GoString() string { 14665 return s.String() 14666} 14667 14668// SetARN sets the ARN field's value. 14669func (s *DistributionSummary) SetARN(v string) *DistributionSummary { 14670 s.ARN = &v 14671 return s 14672} 14673 14674// SetAliasICPRecordals sets the AliasICPRecordals field's value. 14675func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { 14676 s.AliasICPRecordals = v 14677 return s 14678} 14679 14680// SetAliases sets the Aliases field's value. 14681func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { 14682 s.Aliases = v 14683 return s 14684} 14685 14686// SetCacheBehaviors sets the CacheBehaviors field's value. 14687func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { 14688 s.CacheBehaviors = v 14689 return s 14690} 14691 14692// SetComment sets the Comment field's value. 14693func (s *DistributionSummary) SetComment(v string) *DistributionSummary { 14694 s.Comment = &v 14695 return s 14696} 14697 14698// SetCustomErrorResponses sets the CustomErrorResponses field's value. 14699func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { 14700 s.CustomErrorResponses = v 14701 return s 14702} 14703 14704// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. 14705func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { 14706 s.DefaultCacheBehavior = v 14707 return s 14708} 14709 14710// SetDomainName sets the DomainName field's value. 14711func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { 14712 s.DomainName = &v 14713 return s 14714} 14715 14716// SetEnabled sets the Enabled field's value. 14717func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { 14718 s.Enabled = &v 14719 return s 14720} 14721 14722// SetHttpVersion sets the HttpVersion field's value. 14723func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { 14724 s.HttpVersion = &v 14725 return s 14726} 14727 14728// SetId sets the Id field's value. 14729func (s *DistributionSummary) SetId(v string) *DistributionSummary { 14730 s.Id = &v 14731 return s 14732} 14733 14734// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. 14735func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { 14736 s.IsIPV6Enabled = &v 14737 return s 14738} 14739 14740// SetLastModifiedTime sets the LastModifiedTime field's value. 14741func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { 14742 s.LastModifiedTime = &v 14743 return s 14744} 14745 14746// SetOriginGroups sets the OriginGroups field's value. 14747func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { 14748 s.OriginGroups = v 14749 return s 14750} 14751 14752// SetOrigins sets the Origins field's value. 14753func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { 14754 s.Origins = v 14755 return s 14756} 14757 14758// SetPriceClass sets the PriceClass field's value. 14759func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { 14760 s.PriceClass = &v 14761 return s 14762} 14763 14764// SetRestrictions sets the Restrictions field's value. 14765func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { 14766 s.Restrictions = v 14767 return s 14768} 14769 14770// SetStatus sets the Status field's value. 14771func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { 14772 s.Status = &v 14773 return s 14774} 14775 14776// SetViewerCertificate sets the ViewerCertificate field's value. 14777func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { 14778 s.ViewerCertificate = v 14779 return s 14780} 14781 14782// SetWebACLId sets the WebACLId field's value. 14783func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { 14784 s.WebACLId = &v 14785 return s 14786} 14787 14788// Complex data type for field-level encryption profiles that includes all of 14789// the encryption entities. 14790type EncryptionEntities struct { 14791 _ struct{} `type:"structure"` 14792 14793 // An array of field patterns in a field-level encryption content type-profile 14794 // mapping. 14795 Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` 14796 14797 // Number of field pattern items in a field-level encryption content type-profile 14798 // mapping. 14799 // 14800 // Quantity is a required field 14801 Quantity *int64 `type:"integer" required:"true"` 14802} 14803 14804// String returns the string representation 14805func (s EncryptionEntities) String() string { 14806 return awsutil.Prettify(s) 14807} 14808 14809// GoString returns the string representation 14810func (s EncryptionEntities) GoString() string { 14811 return s.String() 14812} 14813 14814// Validate inspects the fields of the type to determine if they are valid. 14815func (s *EncryptionEntities) Validate() error { 14816 invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} 14817 if s.Quantity == nil { 14818 invalidParams.Add(request.NewErrParamRequired("Quantity")) 14819 } 14820 if s.Items != nil { 14821 for i, v := range s.Items { 14822 if v == nil { 14823 continue 14824 } 14825 if err := v.Validate(); err != nil { 14826 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 14827 } 14828 } 14829 } 14830 14831 if invalidParams.Len() > 0 { 14832 return invalidParams 14833 } 14834 return nil 14835} 14836 14837// SetItems sets the Items field's value. 14838func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { 14839 s.Items = v 14840 return s 14841} 14842 14843// SetQuantity sets the Quantity field's value. 14844func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { 14845 s.Quantity = &v 14846 return s 14847} 14848 14849// Complex data type for field-level encryption profiles that includes the encryption 14850// key and field pattern specifications. 14851type EncryptionEntity struct { 14852 _ struct{} `type:"structure"` 14853 14854 // Field patterns in a field-level encryption content type profile specify the 14855 // fields that you want to be encrypted. You can provide the full field name, 14856 // or any beginning characters followed by a wildcard (*). You can't overlap 14857 // field patterns. For example, you can't have both ABC* and AB*. Note that 14858 // field patterns are case-sensitive. 14859 // 14860 // FieldPatterns is a required field 14861 FieldPatterns *FieldPatterns `type:"structure" required:"true"` 14862 14863 // The provider associated with the public key being used for encryption. This 14864 // value must also be provided with the private key for applications to be able 14865 // to decrypt data. 14866 // 14867 // ProviderId is a required field 14868 ProviderId *string `type:"string" required:"true"` 14869 14870 // The public key associated with a set of field-level encryption patterns, 14871 // to be used when encrypting the fields that match the patterns. 14872 // 14873 // PublicKeyId is a required field 14874 PublicKeyId *string `type:"string" required:"true"` 14875} 14876 14877// String returns the string representation 14878func (s EncryptionEntity) String() string { 14879 return awsutil.Prettify(s) 14880} 14881 14882// GoString returns the string representation 14883func (s EncryptionEntity) GoString() string { 14884 return s.String() 14885} 14886 14887// Validate inspects the fields of the type to determine if they are valid. 14888func (s *EncryptionEntity) Validate() error { 14889 invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} 14890 if s.FieldPatterns == nil { 14891 invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) 14892 } 14893 if s.ProviderId == nil { 14894 invalidParams.Add(request.NewErrParamRequired("ProviderId")) 14895 } 14896 if s.PublicKeyId == nil { 14897 invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) 14898 } 14899 if s.FieldPatterns != nil { 14900 if err := s.FieldPatterns.Validate(); err != nil { 14901 invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) 14902 } 14903 } 14904 14905 if invalidParams.Len() > 0 { 14906 return invalidParams 14907 } 14908 return nil 14909} 14910 14911// SetFieldPatterns sets the FieldPatterns field's value. 14912func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { 14913 s.FieldPatterns = v 14914 return s 14915} 14916 14917// SetProviderId sets the ProviderId field's value. 14918func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { 14919 s.ProviderId = &v 14920 return s 14921} 14922 14923// SetPublicKeyId sets the PublicKeyId field's value. 14924func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { 14925 s.PublicKeyId = &v 14926 return s 14927} 14928 14929// Contains information about the Amazon Kinesis data stream where you are sending 14930// real-time log data in a real-time log configuration. 14931type EndPoint struct { 14932 _ struct{} `type:"structure"` 14933 14934 // Contains information about the Amazon Kinesis data stream where you are sending 14935 // real-time log data. 14936 KinesisStreamConfig *KinesisStreamConfig `type:"structure"` 14937 14938 // The type of data stream where you are sending real-time log data. The only 14939 // valid value is Kinesis. 14940 // 14941 // StreamType is a required field 14942 StreamType *string `type:"string" required:"true"` 14943} 14944 14945// String returns the string representation 14946func (s EndPoint) String() string { 14947 return awsutil.Prettify(s) 14948} 14949 14950// GoString returns the string representation 14951func (s EndPoint) GoString() string { 14952 return s.String() 14953} 14954 14955// Validate inspects the fields of the type to determine if they are valid. 14956func (s *EndPoint) Validate() error { 14957 invalidParams := request.ErrInvalidParams{Context: "EndPoint"} 14958 if s.StreamType == nil { 14959 invalidParams.Add(request.NewErrParamRequired("StreamType")) 14960 } 14961 if s.KinesisStreamConfig != nil { 14962 if err := s.KinesisStreamConfig.Validate(); err != nil { 14963 invalidParams.AddNested("KinesisStreamConfig", err.(request.ErrInvalidParams)) 14964 } 14965 } 14966 14967 if invalidParams.Len() > 0 { 14968 return invalidParams 14969 } 14970 return nil 14971} 14972 14973// SetKinesisStreamConfig sets the KinesisStreamConfig field's value. 14974func (s *EndPoint) SetKinesisStreamConfig(v *KinesisStreamConfig) *EndPoint { 14975 s.KinesisStreamConfig = v 14976 return s 14977} 14978 14979// SetStreamType sets the StreamType field's value. 14980func (s *EndPoint) SetStreamType(v string) *EndPoint { 14981 s.StreamType = &v 14982 return s 14983} 14984 14985// A complex data type that includes the profile configurations and other options 14986// specified for field-level encryption. 14987type FieldLevelEncryption struct { 14988 _ struct{} `type:"structure"` 14989 14990 // A complex data type that includes the profile configurations specified for 14991 // field-level encryption. 14992 // 14993 // FieldLevelEncryptionConfig is a required field 14994 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` 14995 14996 // The configuration ID for a field-level encryption configuration which includes 14997 // a set of profiles that specify certain selected data fields to be encrypted 14998 // by specific public keys. 14999 // 15000 // Id is a required field 15001 Id *string `type:"string" required:"true"` 15002 15003 // The last time the field-level encryption configuration was changed. 15004 // 15005 // LastModifiedTime is a required field 15006 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 15007} 15008 15009// String returns the string representation 15010func (s FieldLevelEncryption) String() string { 15011 return awsutil.Prettify(s) 15012} 15013 15014// GoString returns the string representation 15015func (s FieldLevelEncryption) GoString() string { 15016 return s.String() 15017} 15018 15019// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 15020func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { 15021 s.FieldLevelEncryptionConfig = v 15022 return s 15023} 15024 15025// SetId sets the Id field's value. 15026func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { 15027 s.Id = &v 15028 return s 15029} 15030 15031// SetLastModifiedTime sets the LastModifiedTime field's value. 15032func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { 15033 s.LastModifiedTime = &v 15034 return s 15035} 15036 15037// A complex data type that includes the profile configurations specified for 15038// field-level encryption. 15039type FieldLevelEncryptionConfig struct { 15040 _ struct{} `type:"structure"` 15041 15042 // A unique number that ensures the request can't be replayed. 15043 // 15044 // CallerReference is a required field 15045 CallerReference *string `type:"string" required:"true"` 15046 15047 // An optional comment about the configuration. The comment cannot be longer 15048 // than 128 characters. 15049 Comment *string `type:"string"` 15050 15051 // A complex data type that specifies when to forward content if a content type 15052 // isn't recognized and profiles to use as by default in a request if a query 15053 // argument doesn't specify a profile to use. 15054 ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` 15055 15056 // A complex data type that specifies when to forward content if a profile isn't 15057 // found and the profile that can be provided as a query argument in a request. 15058 QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` 15059} 15060 15061// String returns the string representation 15062func (s FieldLevelEncryptionConfig) String() string { 15063 return awsutil.Prettify(s) 15064} 15065 15066// GoString returns the string representation 15067func (s FieldLevelEncryptionConfig) GoString() string { 15068 return s.String() 15069} 15070 15071// Validate inspects the fields of the type to determine if they are valid. 15072func (s *FieldLevelEncryptionConfig) Validate() error { 15073 invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} 15074 if s.CallerReference == nil { 15075 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 15076 } 15077 if s.ContentTypeProfileConfig != nil { 15078 if err := s.ContentTypeProfileConfig.Validate(); err != nil { 15079 invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) 15080 } 15081 } 15082 if s.QueryArgProfileConfig != nil { 15083 if err := s.QueryArgProfileConfig.Validate(); err != nil { 15084 invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) 15085 } 15086 } 15087 15088 if invalidParams.Len() > 0 { 15089 return invalidParams 15090 } 15091 return nil 15092} 15093 15094// SetCallerReference sets the CallerReference field's value. 15095func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { 15096 s.CallerReference = &v 15097 return s 15098} 15099 15100// SetComment sets the Comment field's value. 15101func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { 15102 s.Comment = &v 15103 return s 15104} 15105 15106// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. 15107func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { 15108 s.ContentTypeProfileConfig = v 15109 return s 15110} 15111 15112// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. 15113func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { 15114 s.QueryArgProfileConfig = v 15115 return s 15116} 15117 15118// List of field-level encrpytion configurations. 15119type FieldLevelEncryptionList struct { 15120 _ struct{} `type:"structure"` 15121 15122 // An array of field-level encryption items. 15123 Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` 15124 15125 // The maximum number of elements you want in the response body. 15126 // 15127 // MaxItems is a required field 15128 MaxItems *int64 `type:"integer" required:"true"` 15129 15130 // If there are more elements to be listed, this element is present and contains 15131 // the value that you can use for the Marker request parameter to continue listing 15132 // your configurations where you left off. 15133 NextMarker *string `type:"string"` 15134 15135 // The number of field-level encryption items. 15136 // 15137 // Quantity is a required field 15138 Quantity *int64 `type:"integer" required:"true"` 15139} 15140 15141// String returns the string representation 15142func (s FieldLevelEncryptionList) String() string { 15143 return awsutil.Prettify(s) 15144} 15145 15146// GoString returns the string representation 15147func (s FieldLevelEncryptionList) GoString() string { 15148 return s.String() 15149} 15150 15151// SetItems sets the Items field's value. 15152func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { 15153 s.Items = v 15154 return s 15155} 15156 15157// SetMaxItems sets the MaxItems field's value. 15158func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { 15159 s.MaxItems = &v 15160 return s 15161} 15162 15163// SetNextMarker sets the NextMarker field's value. 15164func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { 15165 s.NextMarker = &v 15166 return s 15167} 15168 15169// SetQuantity sets the Quantity field's value. 15170func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { 15171 s.Quantity = &v 15172 return s 15173} 15174 15175// A complex data type for field-level encryption profiles. 15176type FieldLevelEncryptionProfile struct { 15177 _ struct{} `type:"structure"` 15178 15179 // A complex data type that includes the profile name and the encryption entities 15180 // for the field-level encryption profile. 15181 // 15182 // FieldLevelEncryptionProfileConfig is a required field 15183 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` 15184 15185 // The ID for a field-level encryption profile configuration which includes 15186 // a set of profiles that specify certain selected data fields to be encrypted 15187 // by specific public keys. 15188 // 15189 // Id is a required field 15190 Id *string `type:"string" required:"true"` 15191 15192 // The last time the field-level encryption profile was updated. 15193 // 15194 // LastModifiedTime is a required field 15195 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 15196} 15197 15198// String returns the string representation 15199func (s FieldLevelEncryptionProfile) String() string { 15200 return awsutil.Prettify(s) 15201} 15202 15203// GoString returns the string representation 15204func (s FieldLevelEncryptionProfile) GoString() string { 15205 return s.String() 15206} 15207 15208// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 15209func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { 15210 s.FieldLevelEncryptionProfileConfig = v 15211 return s 15212} 15213 15214// SetId sets the Id field's value. 15215func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { 15216 s.Id = &v 15217 return s 15218} 15219 15220// SetLastModifiedTime sets the LastModifiedTime field's value. 15221func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { 15222 s.LastModifiedTime = &v 15223 return s 15224} 15225 15226// A complex data type of profiles for the field-level encryption. 15227type FieldLevelEncryptionProfileConfig struct { 15228 _ struct{} `type:"structure"` 15229 15230 // A unique number that ensures that the request can't be replayed. 15231 // 15232 // CallerReference is a required field 15233 CallerReference *string `type:"string" required:"true"` 15234 15235 // An optional comment for the field-level encryption profile. The comment cannot 15236 // be longer than 128 characters. 15237 Comment *string `type:"string"` 15238 15239 // A complex data type of encryption entities for the field-level encryption 15240 // profile that include the public key ID, provider, and field patterns for 15241 // specifying which fields to encrypt with this key. 15242 // 15243 // EncryptionEntities is a required field 15244 EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` 15245 15246 // Profile name for the field-level encryption profile. 15247 // 15248 // Name is a required field 15249 Name *string `type:"string" required:"true"` 15250} 15251 15252// String returns the string representation 15253func (s FieldLevelEncryptionProfileConfig) String() string { 15254 return awsutil.Prettify(s) 15255} 15256 15257// GoString returns the string representation 15258func (s FieldLevelEncryptionProfileConfig) GoString() string { 15259 return s.String() 15260} 15261 15262// Validate inspects the fields of the type to determine if they are valid. 15263func (s *FieldLevelEncryptionProfileConfig) Validate() error { 15264 invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} 15265 if s.CallerReference == nil { 15266 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 15267 } 15268 if s.EncryptionEntities == nil { 15269 invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) 15270 } 15271 if s.Name == nil { 15272 invalidParams.Add(request.NewErrParamRequired("Name")) 15273 } 15274 if s.EncryptionEntities != nil { 15275 if err := s.EncryptionEntities.Validate(); err != nil { 15276 invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) 15277 } 15278 } 15279 15280 if invalidParams.Len() > 0 { 15281 return invalidParams 15282 } 15283 return nil 15284} 15285 15286// SetCallerReference sets the CallerReference field's value. 15287func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { 15288 s.CallerReference = &v 15289 return s 15290} 15291 15292// SetComment sets the Comment field's value. 15293func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { 15294 s.Comment = &v 15295 return s 15296} 15297 15298// SetEncryptionEntities sets the EncryptionEntities field's value. 15299func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { 15300 s.EncryptionEntities = v 15301 return s 15302} 15303 15304// SetName sets the Name field's value. 15305func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { 15306 s.Name = &v 15307 return s 15308} 15309 15310// List of field-level encryption profiles. 15311type FieldLevelEncryptionProfileList struct { 15312 _ struct{} `type:"structure"` 15313 15314 // The field-level encryption profile items. 15315 Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` 15316 15317 // The maximum number of field-level encryption profiles you want in the response 15318 // body. 15319 // 15320 // MaxItems is a required field 15321 MaxItems *int64 `type:"integer" required:"true"` 15322 15323 // If there are more elements to be listed, this element is present and contains 15324 // the value that you can use for the Marker request parameter to continue listing 15325 // your profiles where you left off. 15326 NextMarker *string `type:"string"` 15327 15328 // The number of field-level encryption profiles. 15329 // 15330 // Quantity is a required field 15331 Quantity *int64 `type:"integer" required:"true"` 15332} 15333 15334// String returns the string representation 15335func (s FieldLevelEncryptionProfileList) String() string { 15336 return awsutil.Prettify(s) 15337} 15338 15339// GoString returns the string representation 15340func (s FieldLevelEncryptionProfileList) GoString() string { 15341 return s.String() 15342} 15343 15344// SetItems sets the Items field's value. 15345func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { 15346 s.Items = v 15347 return s 15348} 15349 15350// SetMaxItems sets the MaxItems field's value. 15351func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { 15352 s.MaxItems = &v 15353 return s 15354} 15355 15356// SetNextMarker sets the NextMarker field's value. 15357func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { 15358 s.NextMarker = &v 15359 return s 15360} 15361 15362// SetQuantity sets the Quantity field's value. 15363func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { 15364 s.Quantity = &v 15365 return s 15366} 15367 15368// The field-level encryption profile summary. 15369type FieldLevelEncryptionProfileSummary struct { 15370 _ struct{} `type:"structure"` 15371 15372 // An optional comment for the field-level encryption profile summary. The comment 15373 // cannot be longer than 128 characters. 15374 Comment *string `type:"string"` 15375 15376 // A complex data type of encryption entities for the field-level encryption 15377 // profile that include the public key ID, provider, and field patterns for 15378 // specifying which fields to encrypt with this key. 15379 // 15380 // EncryptionEntities is a required field 15381 EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` 15382 15383 // ID for the field-level encryption profile summary. 15384 // 15385 // Id is a required field 15386 Id *string `type:"string" required:"true"` 15387 15388 // The time when the the field-level encryption profile summary was last updated. 15389 // 15390 // LastModifiedTime is a required field 15391 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 15392 15393 // Name for the field-level encryption profile summary. 15394 // 15395 // Name is a required field 15396 Name *string `type:"string" required:"true"` 15397} 15398 15399// String returns the string representation 15400func (s FieldLevelEncryptionProfileSummary) String() string { 15401 return awsutil.Prettify(s) 15402} 15403 15404// GoString returns the string representation 15405func (s FieldLevelEncryptionProfileSummary) GoString() string { 15406 return s.String() 15407} 15408 15409// SetComment sets the Comment field's value. 15410func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { 15411 s.Comment = &v 15412 return s 15413} 15414 15415// SetEncryptionEntities sets the EncryptionEntities field's value. 15416func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { 15417 s.EncryptionEntities = v 15418 return s 15419} 15420 15421// SetId sets the Id field's value. 15422func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { 15423 s.Id = &v 15424 return s 15425} 15426 15427// SetLastModifiedTime sets the LastModifiedTime field's value. 15428func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { 15429 s.LastModifiedTime = &v 15430 return s 15431} 15432 15433// SetName sets the Name field's value. 15434func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { 15435 s.Name = &v 15436 return s 15437} 15438 15439// A summary of a field-level encryption item. 15440type FieldLevelEncryptionSummary struct { 15441 _ struct{} `type:"structure"` 15442 15443 // An optional comment about the field-level encryption item. The comment cannot 15444 // be longer than 128 characters. 15445 Comment *string `type:"string"` 15446 15447 // A summary of a content type-profile mapping. 15448 ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` 15449 15450 // The unique ID of a field-level encryption item. 15451 // 15452 // Id is a required field 15453 Id *string `type:"string" required:"true"` 15454 15455 // The last time that the summary of field-level encryption items was modified. 15456 // 15457 // LastModifiedTime is a required field 15458 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 15459 15460 // A summary of a query argument-profile mapping. 15461 QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` 15462} 15463 15464// String returns the string representation 15465func (s FieldLevelEncryptionSummary) String() string { 15466 return awsutil.Prettify(s) 15467} 15468 15469// GoString returns the string representation 15470func (s FieldLevelEncryptionSummary) GoString() string { 15471 return s.String() 15472} 15473 15474// SetComment sets the Comment field's value. 15475func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { 15476 s.Comment = &v 15477 return s 15478} 15479 15480// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. 15481func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { 15482 s.ContentTypeProfileConfig = v 15483 return s 15484} 15485 15486// SetId sets the Id field's value. 15487func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { 15488 s.Id = &v 15489 return s 15490} 15491 15492// SetLastModifiedTime sets the LastModifiedTime field's value. 15493func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { 15494 s.LastModifiedTime = &v 15495 return s 15496} 15497 15498// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. 15499func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { 15500 s.QueryArgProfileConfig = v 15501 return s 15502} 15503 15504// A complex data type that includes the field patterns to match for field-level 15505// encryption. 15506type FieldPatterns struct { 15507 _ struct{} `type:"structure"` 15508 15509 // An array of the field-level encryption field patterns. 15510 Items []*string `locationNameList:"FieldPattern" type:"list"` 15511 15512 // The number of field-level encryption field patterns. 15513 // 15514 // Quantity is a required field 15515 Quantity *int64 `type:"integer" required:"true"` 15516} 15517 15518// String returns the string representation 15519func (s FieldPatterns) String() string { 15520 return awsutil.Prettify(s) 15521} 15522 15523// GoString returns the string representation 15524func (s FieldPatterns) GoString() string { 15525 return s.String() 15526} 15527 15528// Validate inspects the fields of the type to determine if they are valid. 15529func (s *FieldPatterns) Validate() error { 15530 invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} 15531 if s.Quantity == nil { 15532 invalidParams.Add(request.NewErrParamRequired("Quantity")) 15533 } 15534 15535 if invalidParams.Len() > 0 { 15536 return invalidParams 15537 } 15538 return nil 15539} 15540 15541// SetItems sets the Items field's value. 15542func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { 15543 s.Items = v 15544 return s 15545} 15546 15547// SetQuantity sets the Quantity field's value. 15548func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { 15549 s.Quantity = &v 15550 return s 15551} 15552 15553// This field is deprecated. We recommend that you use a cache policy or an 15554// origin request policy instead of this field. 15555// 15556// If you want to include values in the cache key, use a cache policy. For more 15557// information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 15558// in the Amazon CloudFront Developer Guide. 15559// 15560// If you want to send values to the origin but not include them in the cache 15561// key, use an origin request policy. For more information, see Creating origin 15562// request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 15563// in the Amazon CloudFront Developer Guide. 15564// 15565// A complex type that specifies how CloudFront handles query strings, cookies, 15566// and HTTP headers. 15567type ForwardedValues struct { 15568 _ struct{} `type:"structure"` 15569 15570 // This field is deprecated. We recommend that you use a cache policy or an 15571 // origin request policy instead of this field. 15572 // 15573 // If you want to include cookies in the cache key, use a cache policy. For 15574 // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 15575 // in the Amazon CloudFront Developer Guide. 15576 // 15577 // If you want to send cookies to the origin but not include them in the cache 15578 // key, use an origin request policy. For more information, see Creating origin 15579 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 15580 // in the Amazon CloudFront Developer Guide. 15581 // 15582 // A complex type that specifies whether you want CloudFront to forward cookies 15583 // to the origin and, if so, which ones. For more information about forwarding 15584 // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies 15585 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) 15586 // in the Amazon CloudFront Developer Guide. 15587 // 15588 // Cookies is a required field 15589 Cookies *CookiePreference `type:"structure" required:"true"` 15590 15591 // This field is deprecated. We recommend that you use a cache policy or an 15592 // origin request policy instead of this field. 15593 // 15594 // If you want to include headers in the cache key, use a cache policy. For 15595 // more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 15596 // in the Amazon CloudFront Developer Guide. 15597 // 15598 // If you want to send headers to the origin but not include them in the cache 15599 // key, use an origin request policy. For more information, see Creating origin 15600 // request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 15601 // in the Amazon CloudFront Developer Guide. 15602 // 15603 // A complex type that specifies the Headers, if any, that you want CloudFront 15604 // to forward to the origin for this cache behavior (whitelisted headers). For 15605 // the headers that you specify, CloudFront also caches separate versions of 15606 // a specified object that is based on the header values in viewer requests. 15607 // 15608 // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) 15609 // in the Amazon CloudFront Developer Guide. 15610 Headers *Headers `type:"structure"` 15611 15612 // This field is deprecated. We recommend that you use a cache policy or an 15613 // origin request policy instead of this field. 15614 // 15615 // If you want to include query strings in the cache key, use a cache policy. 15616 // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 15617 // in the Amazon CloudFront Developer Guide. 15618 // 15619 // If you want to send query strings to the origin but not include them in the 15620 // cache key, use an origin request policy. For more information, see Creating 15621 // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 15622 // in the Amazon CloudFront Developer Guide. 15623 // 15624 // Indicates whether you want CloudFront to forward query strings to the origin 15625 // that is associated with this cache behavior and cache based on the query 15626 // string parameters. CloudFront behavior depends on the value of QueryString 15627 // and on the values that you specify for QueryStringCacheKeys, if any: 15628 // 15629 // If you specify true for QueryString and you don't specify any values for 15630 // QueryStringCacheKeys, CloudFront forwards all query string parameters to 15631 // the origin and caches based on all query string parameters. Depending on 15632 // how many query string parameters and values you have, this can adversely 15633 // affect performance because CloudFront must forward more requests to the origin. 15634 // 15635 // If you specify true for QueryString and you specify one or more values for 15636 // QueryStringCacheKeys, CloudFront forwards all query string parameters to 15637 // the origin, but it only caches based on the query string parameters that 15638 // you specify. 15639 // 15640 // If you specify false for QueryString, CloudFront doesn't forward any query 15641 // string parameters to the origin, and doesn't cache based on query string 15642 // parameters. 15643 // 15644 // For more information, see Configuring CloudFront to Cache Based on Query 15645 // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) 15646 // in the Amazon CloudFront Developer Guide. 15647 // 15648 // QueryString is a required field 15649 QueryString *bool `type:"boolean" required:"true"` 15650 15651 // This field is deprecated. We recommend that you use a cache policy or an 15652 // origin request policy instead of this field. 15653 // 15654 // If you want to include query strings in the cache key, use a cache policy. 15655 // For more information, see Creating cache policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-key-create-cache-policy) 15656 // in the Amazon CloudFront Developer Guide. 15657 // 15658 // If you want to send query strings to the origin but not include them in the 15659 // cache key, use an origin request policy. For more information, see Creating 15660 // origin request policies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html#origin-request-create-origin-request-policy) 15661 // in the Amazon CloudFront Developer Guide. 15662 // 15663 // A complex type that contains information about the query string parameters 15664 // that you want CloudFront to use for caching for this cache behavior. 15665 QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` 15666} 15667 15668// String returns the string representation 15669func (s ForwardedValues) String() string { 15670 return awsutil.Prettify(s) 15671} 15672 15673// GoString returns the string representation 15674func (s ForwardedValues) GoString() string { 15675 return s.String() 15676} 15677 15678// Validate inspects the fields of the type to determine if they are valid. 15679func (s *ForwardedValues) Validate() error { 15680 invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} 15681 if s.Cookies == nil { 15682 invalidParams.Add(request.NewErrParamRequired("Cookies")) 15683 } 15684 if s.QueryString == nil { 15685 invalidParams.Add(request.NewErrParamRequired("QueryString")) 15686 } 15687 if s.Cookies != nil { 15688 if err := s.Cookies.Validate(); err != nil { 15689 invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) 15690 } 15691 } 15692 if s.Headers != nil { 15693 if err := s.Headers.Validate(); err != nil { 15694 invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) 15695 } 15696 } 15697 if s.QueryStringCacheKeys != nil { 15698 if err := s.QueryStringCacheKeys.Validate(); err != nil { 15699 invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) 15700 } 15701 } 15702 15703 if invalidParams.Len() > 0 { 15704 return invalidParams 15705 } 15706 return nil 15707} 15708 15709// SetCookies sets the Cookies field's value. 15710func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { 15711 s.Cookies = v 15712 return s 15713} 15714 15715// SetHeaders sets the Headers field's value. 15716func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { 15717 s.Headers = v 15718 return s 15719} 15720 15721// SetQueryString sets the QueryString field's value. 15722func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { 15723 s.QueryString = &v 15724 return s 15725} 15726 15727// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. 15728func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { 15729 s.QueryStringCacheKeys = v 15730 return s 15731} 15732 15733// A CloudFront function that is associated with a cache behavior in a CloudFront 15734// distribution. 15735type FunctionAssociation struct { 15736 _ struct{} `type:"structure"` 15737 15738 // The event type of the function, either viewer-request or viewer-response. 15739 // You cannot use origin-facing event types (origin-request and origin-response) 15740 // with a CloudFront function. 15741 // 15742 // EventType is a required field 15743 EventType *string `type:"string" required:"true" enum:"EventType"` 15744 15745 // The Amazon Resource Name (ARN) of the function. 15746 // 15747 // FunctionARN is a required field 15748 FunctionARN *string `type:"string" required:"true"` 15749} 15750 15751// String returns the string representation 15752func (s FunctionAssociation) String() string { 15753 return awsutil.Prettify(s) 15754} 15755 15756// GoString returns the string representation 15757func (s FunctionAssociation) GoString() string { 15758 return s.String() 15759} 15760 15761// Validate inspects the fields of the type to determine if they are valid. 15762func (s *FunctionAssociation) Validate() error { 15763 invalidParams := request.ErrInvalidParams{Context: "FunctionAssociation"} 15764 if s.EventType == nil { 15765 invalidParams.Add(request.NewErrParamRequired("EventType")) 15766 } 15767 if s.FunctionARN == nil { 15768 invalidParams.Add(request.NewErrParamRequired("FunctionARN")) 15769 } 15770 15771 if invalidParams.Len() > 0 { 15772 return invalidParams 15773 } 15774 return nil 15775} 15776 15777// SetEventType sets the EventType field's value. 15778func (s *FunctionAssociation) SetEventType(v string) *FunctionAssociation { 15779 s.EventType = &v 15780 return s 15781} 15782 15783// SetFunctionARN sets the FunctionARN field's value. 15784func (s *FunctionAssociation) SetFunctionARN(v string) *FunctionAssociation { 15785 s.FunctionARN = &v 15786 return s 15787} 15788 15789// A list of CloudFront functions that are associated with a cache behavior 15790// in a CloudFront distribution. CloudFront functions must be published to the 15791// LIVE stage to associate them with a cache behavior. 15792type FunctionAssociations struct { 15793 _ struct{} `type:"structure"` 15794 15795 // The CloudFront functions that are associated with a cache behavior in a CloudFront 15796 // distribution. CloudFront functions must be published to the LIVE stage to 15797 // associate them with a cache behavior. 15798 Items []*FunctionAssociation `locationNameList:"FunctionAssociation" type:"list"` 15799 15800 // The number of CloudFront functions in the list. 15801 // 15802 // Quantity is a required field 15803 Quantity *int64 `type:"integer" required:"true"` 15804} 15805 15806// String returns the string representation 15807func (s FunctionAssociations) String() string { 15808 return awsutil.Prettify(s) 15809} 15810 15811// GoString returns the string representation 15812func (s FunctionAssociations) GoString() string { 15813 return s.String() 15814} 15815 15816// Validate inspects the fields of the type to determine if they are valid. 15817func (s *FunctionAssociations) Validate() error { 15818 invalidParams := request.ErrInvalidParams{Context: "FunctionAssociations"} 15819 if s.Quantity == nil { 15820 invalidParams.Add(request.NewErrParamRequired("Quantity")) 15821 } 15822 if s.Items != nil { 15823 for i, v := range s.Items { 15824 if v == nil { 15825 continue 15826 } 15827 if err := v.Validate(); err != nil { 15828 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 15829 } 15830 } 15831 } 15832 15833 if invalidParams.Len() > 0 { 15834 return invalidParams 15835 } 15836 return nil 15837} 15838 15839// SetItems sets the Items field's value. 15840func (s *FunctionAssociations) SetItems(v []*FunctionAssociation) *FunctionAssociations { 15841 s.Items = v 15842 return s 15843} 15844 15845// SetQuantity sets the Quantity field's value. 15846func (s *FunctionAssociations) SetQuantity(v int64) *FunctionAssociations { 15847 s.Quantity = &v 15848 return s 15849} 15850 15851// Contains configuration information about a CloudFront function. 15852type FunctionConfig struct { 15853 _ struct{} `type:"structure"` 15854 15855 // A comment to describe the function. 15856 // 15857 // Comment is a required field 15858 Comment *string `type:"string" required:"true"` 15859 15860 // The function’s runtime environment. The only valid value is cloudfront-js-1.0. 15861 // 15862 // Runtime is a required field 15863 Runtime *string `type:"string" required:"true" enum:"FunctionRuntime"` 15864} 15865 15866// String returns the string representation 15867func (s FunctionConfig) String() string { 15868 return awsutil.Prettify(s) 15869} 15870 15871// GoString returns the string representation 15872func (s FunctionConfig) GoString() string { 15873 return s.String() 15874} 15875 15876// Validate inspects the fields of the type to determine if they are valid. 15877func (s *FunctionConfig) Validate() error { 15878 invalidParams := request.ErrInvalidParams{Context: "FunctionConfig"} 15879 if s.Comment == nil { 15880 invalidParams.Add(request.NewErrParamRequired("Comment")) 15881 } 15882 if s.Runtime == nil { 15883 invalidParams.Add(request.NewErrParamRequired("Runtime")) 15884 } 15885 15886 if invalidParams.Len() > 0 { 15887 return invalidParams 15888 } 15889 return nil 15890} 15891 15892// SetComment sets the Comment field's value. 15893func (s *FunctionConfig) SetComment(v string) *FunctionConfig { 15894 s.Comment = &v 15895 return s 15896} 15897 15898// SetRuntime sets the Runtime field's value. 15899func (s *FunctionConfig) SetRuntime(v string) *FunctionConfig { 15900 s.Runtime = &v 15901 return s 15902} 15903 15904// A list of CloudFront functions. 15905type FunctionList struct { 15906 _ struct{} `type:"structure"` 15907 15908 // Contains the functions in the list. 15909 Items []*FunctionSummary `locationNameList:"FunctionSummary" type:"list"` 15910 15911 // The maximum number of functions requested. 15912 // 15913 // MaxItems is a required field 15914 MaxItems *int64 `type:"integer" required:"true"` 15915 15916 // If there are more items in the list than are in this response, this element 15917 // is present. It contains the value that you should use in the Marker field 15918 // of a subsequent request to continue listing functions where you left off. 15919 NextMarker *string `type:"string"` 15920 15921 // The number of functions returned in the response. 15922 // 15923 // Quantity is a required field 15924 Quantity *int64 `type:"integer" required:"true"` 15925} 15926 15927// String returns the string representation 15928func (s FunctionList) String() string { 15929 return awsutil.Prettify(s) 15930} 15931 15932// GoString returns the string representation 15933func (s FunctionList) GoString() string { 15934 return s.String() 15935} 15936 15937// SetItems sets the Items field's value. 15938func (s *FunctionList) SetItems(v []*FunctionSummary) *FunctionList { 15939 s.Items = v 15940 return s 15941} 15942 15943// SetMaxItems sets the MaxItems field's value. 15944func (s *FunctionList) SetMaxItems(v int64) *FunctionList { 15945 s.MaxItems = &v 15946 return s 15947} 15948 15949// SetNextMarker sets the NextMarker field's value. 15950func (s *FunctionList) SetNextMarker(v string) *FunctionList { 15951 s.NextMarker = &v 15952 return s 15953} 15954 15955// SetQuantity sets the Quantity field's value. 15956func (s *FunctionList) SetQuantity(v int64) *FunctionList { 15957 s.Quantity = &v 15958 return s 15959} 15960 15961// Contains metadata about a CloudFront function. 15962type FunctionMetadata struct { 15963 _ struct{} `type:"structure"` 15964 15965 // The date and time when the function was created. 15966 CreatedTime *time.Time `type:"timestamp"` 15967 15968 // The Amazon Resource Name (ARN) of the function. The ARN uniquely identifies 15969 // the function. 15970 // 15971 // FunctionARN is a required field 15972 FunctionARN *string `type:"string" required:"true"` 15973 15974 // The date and time when the function was most recently updated. 15975 // 15976 // LastModifiedTime is a required field 15977 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 15978 15979 // The stage that the function is in, either DEVELOPMENT or LIVE. 15980 // 15981 // When a function is in the DEVELOPMENT stage, you can test the function with 15982 // TestFunction, and update it with UpdateFunction. 15983 // 15984 // When a function is in the LIVE stage, you can attach the function to a distribution’s 15985 // cache behavior, using the function’s ARN. 15986 Stage *string `type:"string" enum:"FunctionStage"` 15987} 15988 15989// String returns the string representation 15990func (s FunctionMetadata) String() string { 15991 return awsutil.Prettify(s) 15992} 15993 15994// GoString returns the string representation 15995func (s FunctionMetadata) GoString() string { 15996 return s.String() 15997} 15998 15999// SetCreatedTime sets the CreatedTime field's value. 16000func (s *FunctionMetadata) SetCreatedTime(v time.Time) *FunctionMetadata { 16001 s.CreatedTime = &v 16002 return s 16003} 16004 16005// SetFunctionARN sets the FunctionARN field's value. 16006func (s *FunctionMetadata) SetFunctionARN(v string) *FunctionMetadata { 16007 s.FunctionARN = &v 16008 return s 16009} 16010 16011// SetLastModifiedTime sets the LastModifiedTime field's value. 16012func (s *FunctionMetadata) SetLastModifiedTime(v time.Time) *FunctionMetadata { 16013 s.LastModifiedTime = &v 16014 return s 16015} 16016 16017// SetStage sets the Stage field's value. 16018func (s *FunctionMetadata) SetStage(v string) *FunctionMetadata { 16019 s.Stage = &v 16020 return s 16021} 16022 16023// Contains configuration information and metadata about a CloudFront function. 16024type FunctionSummary struct { 16025 _ struct{} `type:"structure"` 16026 16027 // Contains configuration information about a CloudFront function. 16028 // 16029 // FunctionConfig is a required field 16030 FunctionConfig *FunctionConfig `type:"structure" required:"true"` 16031 16032 // Contains metadata about a CloudFront function. 16033 // 16034 // FunctionMetadata is a required field 16035 FunctionMetadata *FunctionMetadata `type:"structure" required:"true"` 16036 16037 // The name of the CloudFront function. 16038 // 16039 // Name is a required field 16040 Name *string `min:"1" type:"string" required:"true"` 16041 16042 // The status of the CloudFront function. 16043 Status *string `type:"string"` 16044} 16045 16046// String returns the string representation 16047func (s FunctionSummary) String() string { 16048 return awsutil.Prettify(s) 16049} 16050 16051// GoString returns the string representation 16052func (s FunctionSummary) GoString() string { 16053 return s.String() 16054} 16055 16056// SetFunctionConfig sets the FunctionConfig field's value. 16057func (s *FunctionSummary) SetFunctionConfig(v *FunctionConfig) *FunctionSummary { 16058 s.FunctionConfig = v 16059 return s 16060} 16061 16062// SetFunctionMetadata sets the FunctionMetadata field's value. 16063func (s *FunctionSummary) SetFunctionMetadata(v *FunctionMetadata) *FunctionSummary { 16064 s.FunctionMetadata = v 16065 return s 16066} 16067 16068// SetName sets the Name field's value. 16069func (s *FunctionSummary) SetName(v string) *FunctionSummary { 16070 s.Name = &v 16071 return s 16072} 16073 16074// SetStatus sets the Status field's value. 16075func (s *FunctionSummary) SetStatus(v string) *FunctionSummary { 16076 s.Status = &v 16077 return s 16078} 16079 16080// A complex type that controls the countries in which your content is distributed. 16081// CloudFront determines the location of your users using MaxMind GeoIP databases. 16082type GeoRestriction struct { 16083 _ struct{} `type:"structure"` 16084 16085 // A complex type that contains a Location element for each country in which 16086 // you want CloudFront either to distribute your content (whitelist) or not 16087 // distribute your content (blacklist). 16088 // 16089 // The Location element is a two-letter, uppercase country code for a country 16090 // that you want to include in your blacklist or whitelist. Include one Location 16091 // element for each country. 16092 // 16093 // CloudFront and MaxMind both use ISO 3166 country codes. For the current list 16094 // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on 16095 // the International Organization for Standardization website. You can also 16096 // refer to the country list on the CloudFront console, which includes both 16097 // country names and codes. 16098 Items []*string `locationNameList:"Location" type:"list"` 16099 16100 // When geo restriction is enabled, this is the number of countries in your 16101 // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, 16102 // and you can omit Items. 16103 // 16104 // Quantity is a required field 16105 Quantity *int64 `type:"integer" required:"true"` 16106 16107 // The method that you want to use to restrict distribution of your content 16108 // by country: 16109 // 16110 // * none: No geo restriction is enabled, meaning access to content is not 16111 // restricted by client geo location. 16112 // 16113 // * blacklist: The Location elements specify the countries in which you 16114 // don't want CloudFront to distribute your content. 16115 // 16116 // * whitelist: The Location elements specify the countries in which you 16117 // want CloudFront to distribute your content. 16118 // 16119 // RestrictionType is a required field 16120 RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` 16121} 16122 16123// String returns the string representation 16124func (s GeoRestriction) String() string { 16125 return awsutil.Prettify(s) 16126} 16127 16128// GoString returns the string representation 16129func (s GeoRestriction) GoString() string { 16130 return s.String() 16131} 16132 16133// Validate inspects the fields of the type to determine if they are valid. 16134func (s *GeoRestriction) Validate() error { 16135 invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} 16136 if s.Quantity == nil { 16137 invalidParams.Add(request.NewErrParamRequired("Quantity")) 16138 } 16139 if s.RestrictionType == nil { 16140 invalidParams.Add(request.NewErrParamRequired("RestrictionType")) 16141 } 16142 16143 if invalidParams.Len() > 0 { 16144 return invalidParams 16145 } 16146 return nil 16147} 16148 16149// SetItems sets the Items field's value. 16150func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { 16151 s.Items = v 16152 return s 16153} 16154 16155// SetQuantity sets the Quantity field's value. 16156func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { 16157 s.Quantity = &v 16158 return s 16159} 16160 16161// SetRestrictionType sets the RestrictionType field's value. 16162func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { 16163 s.RestrictionType = &v 16164 return s 16165} 16166 16167type GetCachePolicyConfigInput struct { 16168 _ struct{} `locationName:"GetCachePolicyConfigRequest" type:"structure"` 16169 16170 // The unique identifier for the cache policy. If the cache policy is attached 16171 // to a distribution’s cache behavior, you can get the policy’s identifier 16172 // using ListDistributions or GetDistribution. If the cache policy is not attached 16173 // to a cache behavior, you can get the identifier using ListCachePolicies. 16174 // 16175 // Id is a required field 16176 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16177} 16178 16179// String returns the string representation 16180func (s GetCachePolicyConfigInput) String() string { 16181 return awsutil.Prettify(s) 16182} 16183 16184// GoString returns the string representation 16185func (s GetCachePolicyConfigInput) GoString() string { 16186 return s.String() 16187} 16188 16189// Validate inspects the fields of the type to determine if they are valid. 16190func (s *GetCachePolicyConfigInput) Validate() error { 16191 invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyConfigInput"} 16192 if s.Id == nil { 16193 invalidParams.Add(request.NewErrParamRequired("Id")) 16194 } 16195 if s.Id != nil && len(*s.Id) < 1 { 16196 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16197 } 16198 16199 if invalidParams.Len() > 0 { 16200 return invalidParams 16201 } 16202 return nil 16203} 16204 16205// SetId sets the Id field's value. 16206func (s *GetCachePolicyConfigInput) SetId(v string) *GetCachePolicyConfigInput { 16207 s.Id = &v 16208 return s 16209} 16210 16211type GetCachePolicyConfigOutput struct { 16212 _ struct{} `type:"structure" payload:"CachePolicyConfig"` 16213 16214 // The cache policy configuration. 16215 CachePolicyConfig *CachePolicyConfig `type:"structure"` 16216 16217 // The current version of the cache policy. 16218 ETag *string `location:"header" locationName:"ETag" type:"string"` 16219} 16220 16221// String returns the string representation 16222func (s GetCachePolicyConfigOutput) String() string { 16223 return awsutil.Prettify(s) 16224} 16225 16226// GoString returns the string representation 16227func (s GetCachePolicyConfigOutput) GoString() string { 16228 return s.String() 16229} 16230 16231// SetCachePolicyConfig sets the CachePolicyConfig field's value. 16232func (s *GetCachePolicyConfigOutput) SetCachePolicyConfig(v *CachePolicyConfig) *GetCachePolicyConfigOutput { 16233 s.CachePolicyConfig = v 16234 return s 16235} 16236 16237// SetETag sets the ETag field's value. 16238func (s *GetCachePolicyConfigOutput) SetETag(v string) *GetCachePolicyConfigOutput { 16239 s.ETag = &v 16240 return s 16241} 16242 16243type GetCachePolicyInput struct { 16244 _ struct{} `locationName:"GetCachePolicyRequest" type:"structure"` 16245 16246 // The unique identifier for the cache policy. If the cache policy is attached 16247 // to a distribution’s cache behavior, you can get the policy’s identifier 16248 // using ListDistributions or GetDistribution. If the cache policy is not attached 16249 // to a cache behavior, you can get the identifier using ListCachePolicies. 16250 // 16251 // Id is a required field 16252 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16253} 16254 16255// String returns the string representation 16256func (s GetCachePolicyInput) String() string { 16257 return awsutil.Prettify(s) 16258} 16259 16260// GoString returns the string representation 16261func (s GetCachePolicyInput) GoString() string { 16262 return s.String() 16263} 16264 16265// Validate inspects the fields of the type to determine if they are valid. 16266func (s *GetCachePolicyInput) Validate() error { 16267 invalidParams := request.ErrInvalidParams{Context: "GetCachePolicyInput"} 16268 if s.Id == nil { 16269 invalidParams.Add(request.NewErrParamRequired("Id")) 16270 } 16271 if s.Id != nil && len(*s.Id) < 1 { 16272 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16273 } 16274 16275 if invalidParams.Len() > 0 { 16276 return invalidParams 16277 } 16278 return nil 16279} 16280 16281// SetId sets the Id field's value. 16282func (s *GetCachePolicyInput) SetId(v string) *GetCachePolicyInput { 16283 s.Id = &v 16284 return s 16285} 16286 16287type GetCachePolicyOutput struct { 16288 _ struct{} `type:"structure" payload:"CachePolicy"` 16289 16290 // The cache policy. 16291 CachePolicy *CachePolicy `type:"structure"` 16292 16293 // The current version of the cache policy. 16294 ETag *string `location:"header" locationName:"ETag" type:"string"` 16295} 16296 16297// String returns the string representation 16298func (s GetCachePolicyOutput) String() string { 16299 return awsutil.Prettify(s) 16300} 16301 16302// GoString returns the string representation 16303func (s GetCachePolicyOutput) GoString() string { 16304 return s.String() 16305} 16306 16307// SetCachePolicy sets the CachePolicy field's value. 16308func (s *GetCachePolicyOutput) SetCachePolicy(v *CachePolicy) *GetCachePolicyOutput { 16309 s.CachePolicy = v 16310 return s 16311} 16312 16313// SetETag sets the ETag field's value. 16314func (s *GetCachePolicyOutput) SetETag(v string) *GetCachePolicyOutput { 16315 s.ETag = &v 16316 return s 16317} 16318 16319// The origin access identity's configuration information. For more information, 16320// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). 16321type GetCloudFrontOriginAccessIdentityConfigInput struct { 16322 _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` 16323 16324 // The identity's ID. 16325 // 16326 // Id is a required field 16327 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16328} 16329 16330// String returns the string representation 16331func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { 16332 return awsutil.Prettify(s) 16333} 16334 16335// GoString returns the string representation 16336func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { 16337 return s.String() 16338} 16339 16340// Validate inspects the fields of the type to determine if they are valid. 16341func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { 16342 invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} 16343 if s.Id == nil { 16344 invalidParams.Add(request.NewErrParamRequired("Id")) 16345 } 16346 if s.Id != nil && len(*s.Id) < 1 { 16347 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16348 } 16349 16350 if invalidParams.Len() > 0 { 16351 return invalidParams 16352 } 16353 return nil 16354} 16355 16356// SetId sets the Id field's value. 16357func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { 16358 s.Id = &v 16359 return s 16360} 16361 16362// The returned result of the corresponding request. 16363type GetCloudFrontOriginAccessIdentityConfigOutput struct { 16364 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 16365 16366 // The origin access identity's configuration information. 16367 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` 16368 16369 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 16370 ETag *string `location:"header" locationName:"ETag" type:"string"` 16371} 16372 16373// String returns the string representation 16374func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { 16375 return awsutil.Prettify(s) 16376} 16377 16378// GoString returns the string representation 16379func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { 16380 return s.String() 16381} 16382 16383// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 16384func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { 16385 s.CloudFrontOriginAccessIdentityConfig = v 16386 return s 16387} 16388 16389// SetETag sets the ETag field's value. 16390func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { 16391 s.ETag = &v 16392 return s 16393} 16394 16395// The request to get an origin access identity's information. 16396type GetCloudFrontOriginAccessIdentityInput struct { 16397 _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` 16398 16399 // The identity's ID. 16400 // 16401 // Id is a required field 16402 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16403} 16404 16405// String returns the string representation 16406func (s GetCloudFrontOriginAccessIdentityInput) String() string { 16407 return awsutil.Prettify(s) 16408} 16409 16410// GoString returns the string representation 16411func (s GetCloudFrontOriginAccessIdentityInput) GoString() string { 16412 return s.String() 16413} 16414 16415// Validate inspects the fields of the type to determine if they are valid. 16416func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { 16417 invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} 16418 if s.Id == nil { 16419 invalidParams.Add(request.NewErrParamRequired("Id")) 16420 } 16421 if s.Id != nil && len(*s.Id) < 1 { 16422 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16423 } 16424 16425 if invalidParams.Len() > 0 { 16426 return invalidParams 16427 } 16428 return nil 16429} 16430 16431// SetId sets the Id field's value. 16432func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { 16433 s.Id = &v 16434 return s 16435} 16436 16437// The returned result of the corresponding request. 16438type GetCloudFrontOriginAccessIdentityOutput struct { 16439 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 16440 16441 // The origin access identity's information. 16442 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 16443 16444 // The current version of the origin access identity's information. For example: 16445 // E2QWRUHAPOMQZL. 16446 ETag *string `location:"header" locationName:"ETag" type:"string"` 16447} 16448 16449// String returns the string representation 16450func (s GetCloudFrontOriginAccessIdentityOutput) String() string { 16451 return awsutil.Prettify(s) 16452} 16453 16454// GoString returns the string representation 16455func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { 16456 return s.String() 16457} 16458 16459// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 16460func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { 16461 s.CloudFrontOriginAccessIdentity = v 16462 return s 16463} 16464 16465// SetETag sets the ETag field's value. 16466func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { 16467 s.ETag = &v 16468 return s 16469} 16470 16471// The request to get a distribution configuration. 16472type GetDistributionConfigInput struct { 16473 _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` 16474 16475 // The distribution's ID. If the ID is empty, an empty distribution configuration 16476 // is returned. 16477 // 16478 // Id is a required field 16479 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16480} 16481 16482// String returns the string representation 16483func (s GetDistributionConfigInput) String() string { 16484 return awsutil.Prettify(s) 16485} 16486 16487// GoString returns the string representation 16488func (s GetDistributionConfigInput) GoString() string { 16489 return s.String() 16490} 16491 16492// Validate inspects the fields of the type to determine if they are valid. 16493func (s *GetDistributionConfigInput) Validate() error { 16494 invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} 16495 if s.Id == nil { 16496 invalidParams.Add(request.NewErrParamRequired("Id")) 16497 } 16498 if s.Id != nil && len(*s.Id) < 1 { 16499 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16500 } 16501 16502 if invalidParams.Len() > 0 { 16503 return invalidParams 16504 } 16505 return nil 16506} 16507 16508// SetId sets the Id field's value. 16509func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { 16510 s.Id = &v 16511 return s 16512} 16513 16514// The returned result of the corresponding request. 16515type GetDistributionConfigOutput struct { 16516 _ struct{} `type:"structure" payload:"DistributionConfig"` 16517 16518 // The distribution's configuration information. 16519 DistributionConfig *DistributionConfig `type:"structure"` 16520 16521 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 16522 ETag *string `location:"header" locationName:"ETag" type:"string"` 16523} 16524 16525// String returns the string representation 16526func (s GetDistributionConfigOutput) String() string { 16527 return awsutil.Prettify(s) 16528} 16529 16530// GoString returns the string representation 16531func (s GetDistributionConfigOutput) GoString() string { 16532 return s.String() 16533} 16534 16535// SetDistributionConfig sets the DistributionConfig field's value. 16536func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { 16537 s.DistributionConfig = v 16538 return s 16539} 16540 16541// SetETag sets the ETag field's value. 16542func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { 16543 s.ETag = &v 16544 return s 16545} 16546 16547// The request to get a distribution's information. 16548type GetDistributionInput struct { 16549 _ struct{} `locationName:"GetDistributionRequest" type:"structure"` 16550 16551 // The distribution's ID. If the ID is empty, an empty distribution configuration 16552 // is returned. 16553 // 16554 // Id is a required field 16555 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16556} 16557 16558// String returns the string representation 16559func (s GetDistributionInput) String() string { 16560 return awsutil.Prettify(s) 16561} 16562 16563// GoString returns the string representation 16564func (s GetDistributionInput) GoString() string { 16565 return s.String() 16566} 16567 16568// Validate inspects the fields of the type to determine if they are valid. 16569func (s *GetDistributionInput) Validate() error { 16570 invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} 16571 if s.Id == nil { 16572 invalidParams.Add(request.NewErrParamRequired("Id")) 16573 } 16574 if s.Id != nil && len(*s.Id) < 1 { 16575 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16576 } 16577 16578 if invalidParams.Len() > 0 { 16579 return invalidParams 16580 } 16581 return nil 16582} 16583 16584// SetId sets the Id field's value. 16585func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { 16586 s.Id = &v 16587 return s 16588} 16589 16590// The returned result of the corresponding request. 16591type GetDistributionOutput struct { 16592 _ struct{} `type:"structure" payload:"Distribution"` 16593 16594 // The distribution's information. 16595 Distribution *Distribution `type:"structure"` 16596 16597 // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. 16598 ETag *string `location:"header" locationName:"ETag" type:"string"` 16599} 16600 16601// String returns the string representation 16602func (s GetDistributionOutput) String() string { 16603 return awsutil.Prettify(s) 16604} 16605 16606// GoString returns the string representation 16607func (s GetDistributionOutput) GoString() string { 16608 return s.String() 16609} 16610 16611// SetDistribution sets the Distribution field's value. 16612func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { 16613 s.Distribution = v 16614 return s 16615} 16616 16617// SetETag sets the ETag field's value. 16618func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { 16619 s.ETag = &v 16620 return s 16621} 16622 16623type GetFieldLevelEncryptionConfigInput struct { 16624 _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` 16625 16626 // Request the ID for the field-level encryption configuration information. 16627 // 16628 // Id is a required field 16629 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16630} 16631 16632// String returns the string representation 16633func (s GetFieldLevelEncryptionConfigInput) String() string { 16634 return awsutil.Prettify(s) 16635} 16636 16637// GoString returns the string representation 16638func (s GetFieldLevelEncryptionConfigInput) GoString() string { 16639 return s.String() 16640} 16641 16642// Validate inspects the fields of the type to determine if they are valid. 16643func (s *GetFieldLevelEncryptionConfigInput) Validate() error { 16644 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} 16645 if s.Id == nil { 16646 invalidParams.Add(request.NewErrParamRequired("Id")) 16647 } 16648 if s.Id != nil && len(*s.Id) < 1 { 16649 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16650 } 16651 16652 if invalidParams.Len() > 0 { 16653 return invalidParams 16654 } 16655 return nil 16656} 16657 16658// SetId sets the Id field's value. 16659func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { 16660 s.Id = &v 16661 return s 16662} 16663 16664type GetFieldLevelEncryptionConfigOutput struct { 16665 _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` 16666 16667 // The current version of the field level encryption configuration. For example: 16668 // E2QWRUHAPOMQZL. 16669 ETag *string `location:"header" locationName:"ETag" type:"string"` 16670 16671 // Return the field-level encryption configuration information. 16672 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` 16673} 16674 16675// String returns the string representation 16676func (s GetFieldLevelEncryptionConfigOutput) String() string { 16677 return awsutil.Prettify(s) 16678} 16679 16680// GoString returns the string representation 16681func (s GetFieldLevelEncryptionConfigOutput) GoString() string { 16682 return s.String() 16683} 16684 16685// SetETag sets the ETag field's value. 16686func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { 16687 s.ETag = &v 16688 return s 16689} 16690 16691// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 16692func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { 16693 s.FieldLevelEncryptionConfig = v 16694 return s 16695} 16696 16697type GetFieldLevelEncryptionInput struct { 16698 _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` 16699 16700 // Request the ID for the field-level encryption configuration information. 16701 // 16702 // Id is a required field 16703 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16704} 16705 16706// String returns the string representation 16707func (s GetFieldLevelEncryptionInput) String() string { 16708 return awsutil.Prettify(s) 16709} 16710 16711// GoString returns the string representation 16712func (s GetFieldLevelEncryptionInput) GoString() string { 16713 return s.String() 16714} 16715 16716// Validate inspects the fields of the type to determine if they are valid. 16717func (s *GetFieldLevelEncryptionInput) Validate() error { 16718 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} 16719 if s.Id == nil { 16720 invalidParams.Add(request.NewErrParamRequired("Id")) 16721 } 16722 if s.Id != nil && len(*s.Id) < 1 { 16723 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16724 } 16725 16726 if invalidParams.Len() > 0 { 16727 return invalidParams 16728 } 16729 return nil 16730} 16731 16732// SetId sets the Id field's value. 16733func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { 16734 s.Id = &v 16735 return s 16736} 16737 16738type GetFieldLevelEncryptionOutput struct { 16739 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 16740 16741 // The current version of the field level encryption configuration. For example: 16742 // E2QWRUHAPOMQZL. 16743 ETag *string `location:"header" locationName:"ETag" type:"string"` 16744 16745 // Return the field-level encryption configuration information. 16746 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 16747} 16748 16749// String returns the string representation 16750func (s GetFieldLevelEncryptionOutput) String() string { 16751 return awsutil.Prettify(s) 16752} 16753 16754// GoString returns the string representation 16755func (s GetFieldLevelEncryptionOutput) GoString() string { 16756 return s.String() 16757} 16758 16759// SetETag sets the ETag field's value. 16760func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { 16761 s.ETag = &v 16762 return s 16763} 16764 16765// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 16766func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { 16767 s.FieldLevelEncryption = v 16768 return s 16769} 16770 16771type GetFieldLevelEncryptionProfileConfigInput struct { 16772 _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` 16773 16774 // Get the ID for the field-level encryption profile configuration information. 16775 // 16776 // Id is a required field 16777 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16778} 16779 16780// String returns the string representation 16781func (s GetFieldLevelEncryptionProfileConfigInput) String() string { 16782 return awsutil.Prettify(s) 16783} 16784 16785// GoString returns the string representation 16786func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { 16787 return s.String() 16788} 16789 16790// Validate inspects the fields of the type to determine if they are valid. 16791func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { 16792 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} 16793 if s.Id == nil { 16794 invalidParams.Add(request.NewErrParamRequired("Id")) 16795 } 16796 if s.Id != nil && len(*s.Id) < 1 { 16797 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16798 } 16799 16800 if invalidParams.Len() > 0 { 16801 return invalidParams 16802 } 16803 return nil 16804} 16805 16806// SetId sets the Id field's value. 16807func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { 16808 s.Id = &v 16809 return s 16810} 16811 16812type GetFieldLevelEncryptionProfileConfigOutput struct { 16813 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 16814 16815 // The current version of the field-level encryption profile configuration result. 16816 // For example: E2QWRUHAPOMQZL. 16817 ETag *string `location:"header" locationName:"ETag" type:"string"` 16818 16819 // Return the field-level encryption profile configuration information. 16820 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` 16821} 16822 16823// String returns the string representation 16824func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { 16825 return awsutil.Prettify(s) 16826} 16827 16828// GoString returns the string representation 16829func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { 16830 return s.String() 16831} 16832 16833// SetETag sets the ETag field's value. 16834func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { 16835 s.ETag = &v 16836 return s 16837} 16838 16839// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 16840func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { 16841 s.FieldLevelEncryptionProfileConfig = v 16842 return s 16843} 16844 16845type GetFieldLevelEncryptionProfileInput struct { 16846 _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` 16847 16848 // Get the ID for the field-level encryption profile information. 16849 // 16850 // Id is a required field 16851 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 16852} 16853 16854// String returns the string representation 16855func (s GetFieldLevelEncryptionProfileInput) String() string { 16856 return awsutil.Prettify(s) 16857} 16858 16859// GoString returns the string representation 16860func (s GetFieldLevelEncryptionProfileInput) GoString() string { 16861 return s.String() 16862} 16863 16864// Validate inspects the fields of the type to determine if they are valid. 16865func (s *GetFieldLevelEncryptionProfileInput) Validate() error { 16866 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} 16867 if s.Id == nil { 16868 invalidParams.Add(request.NewErrParamRequired("Id")) 16869 } 16870 if s.Id != nil && len(*s.Id) < 1 { 16871 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 16872 } 16873 16874 if invalidParams.Len() > 0 { 16875 return invalidParams 16876 } 16877 return nil 16878} 16879 16880// SetId sets the Id field's value. 16881func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { 16882 s.Id = &v 16883 return s 16884} 16885 16886type GetFieldLevelEncryptionProfileOutput struct { 16887 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 16888 16889 // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. 16890 ETag *string `location:"header" locationName:"ETag" type:"string"` 16891 16892 // Return the field-level encryption profile information. 16893 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 16894} 16895 16896// String returns the string representation 16897func (s GetFieldLevelEncryptionProfileOutput) String() string { 16898 return awsutil.Prettify(s) 16899} 16900 16901// GoString returns the string representation 16902func (s GetFieldLevelEncryptionProfileOutput) GoString() string { 16903 return s.String() 16904} 16905 16906// SetETag sets the ETag field's value. 16907func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { 16908 s.ETag = &v 16909 return s 16910} 16911 16912// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 16913func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { 16914 s.FieldLevelEncryptionProfile = v 16915 return s 16916} 16917 16918type GetFunctionInput struct { 16919 _ struct{} `locationName:"GetFunctionRequest" type:"structure"` 16920 16921 // The name of the function whose code you are getting. 16922 // 16923 // Name is a required field 16924 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 16925 16926 // The function’s stage, either DEVELOPMENT or LIVE. 16927 Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` 16928} 16929 16930// String returns the string representation 16931func (s GetFunctionInput) String() string { 16932 return awsutil.Prettify(s) 16933} 16934 16935// GoString returns the string representation 16936func (s GetFunctionInput) GoString() string { 16937 return s.String() 16938} 16939 16940// Validate inspects the fields of the type to determine if they are valid. 16941func (s *GetFunctionInput) Validate() error { 16942 invalidParams := request.ErrInvalidParams{Context: "GetFunctionInput"} 16943 if s.Name == nil { 16944 invalidParams.Add(request.NewErrParamRequired("Name")) 16945 } 16946 if s.Name != nil && len(*s.Name) < 1 { 16947 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 16948 } 16949 16950 if invalidParams.Len() > 0 { 16951 return invalidParams 16952 } 16953 return nil 16954} 16955 16956// SetName sets the Name field's value. 16957func (s *GetFunctionInput) SetName(v string) *GetFunctionInput { 16958 s.Name = &v 16959 return s 16960} 16961 16962// SetStage sets the Stage field's value. 16963func (s *GetFunctionInput) SetStage(v string) *GetFunctionInput { 16964 s.Stage = &v 16965 return s 16966} 16967 16968type GetFunctionOutput struct { 16969 _ struct{} `type:"structure" payload:"FunctionCode"` 16970 16971 // The content type (media type) of the response. 16972 ContentType *string `location:"header" locationName:"Content-Type" type:"string"` 16973 16974 // The version identifier for the current version of the CloudFront function. 16975 ETag *string `location:"header" locationName:"ETag" type:"string"` 16976 16977 // The function code of a CloudFront function. 16978 FunctionCode []byte `min:"1" type:"blob" sensitive:"true"` 16979} 16980 16981// String returns the string representation 16982func (s GetFunctionOutput) String() string { 16983 return awsutil.Prettify(s) 16984} 16985 16986// GoString returns the string representation 16987func (s GetFunctionOutput) GoString() string { 16988 return s.String() 16989} 16990 16991// SetContentType sets the ContentType field's value. 16992func (s *GetFunctionOutput) SetContentType(v string) *GetFunctionOutput { 16993 s.ContentType = &v 16994 return s 16995} 16996 16997// SetETag sets the ETag field's value. 16998func (s *GetFunctionOutput) SetETag(v string) *GetFunctionOutput { 16999 s.ETag = &v 17000 return s 17001} 17002 17003// SetFunctionCode sets the FunctionCode field's value. 17004func (s *GetFunctionOutput) SetFunctionCode(v []byte) *GetFunctionOutput { 17005 s.FunctionCode = v 17006 return s 17007} 17008 17009// The request to get an invalidation's information. 17010type GetInvalidationInput struct { 17011 _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` 17012 17013 // The distribution's ID. 17014 // 17015 // DistributionId is a required field 17016 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 17017 17018 // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. 17019 // 17020 // Id is a required field 17021 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17022} 17023 17024// String returns the string representation 17025func (s GetInvalidationInput) String() string { 17026 return awsutil.Prettify(s) 17027} 17028 17029// GoString returns the string representation 17030func (s GetInvalidationInput) GoString() string { 17031 return s.String() 17032} 17033 17034// Validate inspects the fields of the type to determine if they are valid. 17035func (s *GetInvalidationInput) Validate() error { 17036 invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} 17037 if s.DistributionId == nil { 17038 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 17039 } 17040 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 17041 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 17042 } 17043 if s.Id == nil { 17044 invalidParams.Add(request.NewErrParamRequired("Id")) 17045 } 17046 if s.Id != nil && len(*s.Id) < 1 { 17047 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17048 } 17049 17050 if invalidParams.Len() > 0 { 17051 return invalidParams 17052 } 17053 return nil 17054} 17055 17056// SetDistributionId sets the DistributionId field's value. 17057func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { 17058 s.DistributionId = &v 17059 return s 17060} 17061 17062// SetId sets the Id field's value. 17063func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { 17064 s.Id = &v 17065 return s 17066} 17067 17068// The returned result of the corresponding request. 17069type GetInvalidationOutput struct { 17070 _ struct{} `type:"structure" payload:"Invalidation"` 17071 17072 // The invalidation's information. For more information, see Invalidation Complex 17073 // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). 17074 Invalidation *Invalidation `type:"structure"` 17075} 17076 17077// String returns the string representation 17078func (s GetInvalidationOutput) String() string { 17079 return awsutil.Prettify(s) 17080} 17081 17082// GoString returns the string representation 17083func (s GetInvalidationOutput) GoString() string { 17084 return s.String() 17085} 17086 17087// SetInvalidation sets the Invalidation field's value. 17088func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { 17089 s.Invalidation = v 17090 return s 17091} 17092 17093type GetKeyGroupConfigInput struct { 17094 _ struct{} `locationName:"GetKeyGroupConfigRequest" type:"structure"` 17095 17096 // The identifier of the key group whose configuration you are getting. To get 17097 // the identifier, use ListKeyGroups. 17098 // 17099 // Id is a required field 17100 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17101} 17102 17103// String returns the string representation 17104func (s GetKeyGroupConfigInput) String() string { 17105 return awsutil.Prettify(s) 17106} 17107 17108// GoString returns the string representation 17109func (s GetKeyGroupConfigInput) GoString() string { 17110 return s.String() 17111} 17112 17113// Validate inspects the fields of the type to determine if they are valid. 17114func (s *GetKeyGroupConfigInput) Validate() error { 17115 invalidParams := request.ErrInvalidParams{Context: "GetKeyGroupConfigInput"} 17116 if s.Id == nil { 17117 invalidParams.Add(request.NewErrParamRequired("Id")) 17118 } 17119 if s.Id != nil && len(*s.Id) < 1 { 17120 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17121 } 17122 17123 if invalidParams.Len() > 0 { 17124 return invalidParams 17125 } 17126 return nil 17127} 17128 17129// SetId sets the Id field's value. 17130func (s *GetKeyGroupConfigInput) SetId(v string) *GetKeyGroupConfigInput { 17131 s.Id = &v 17132 return s 17133} 17134 17135type GetKeyGroupConfigOutput struct { 17136 _ struct{} `type:"structure" payload:"KeyGroupConfig"` 17137 17138 // The identifier for this version of the key group. 17139 ETag *string `location:"header" locationName:"ETag" type:"string"` 17140 17141 // The key group configuration. 17142 KeyGroupConfig *KeyGroupConfig `type:"structure"` 17143} 17144 17145// String returns the string representation 17146func (s GetKeyGroupConfigOutput) String() string { 17147 return awsutil.Prettify(s) 17148} 17149 17150// GoString returns the string representation 17151func (s GetKeyGroupConfigOutput) GoString() string { 17152 return s.String() 17153} 17154 17155// SetETag sets the ETag field's value. 17156func (s *GetKeyGroupConfigOutput) SetETag(v string) *GetKeyGroupConfigOutput { 17157 s.ETag = &v 17158 return s 17159} 17160 17161// SetKeyGroupConfig sets the KeyGroupConfig field's value. 17162func (s *GetKeyGroupConfigOutput) SetKeyGroupConfig(v *KeyGroupConfig) *GetKeyGroupConfigOutput { 17163 s.KeyGroupConfig = v 17164 return s 17165} 17166 17167type GetKeyGroupInput struct { 17168 _ struct{} `locationName:"GetKeyGroupRequest" type:"structure"` 17169 17170 // The identifier of the key group that you are getting. To get the identifier, 17171 // use ListKeyGroups. 17172 // 17173 // Id is a required field 17174 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17175} 17176 17177// String returns the string representation 17178func (s GetKeyGroupInput) String() string { 17179 return awsutil.Prettify(s) 17180} 17181 17182// GoString returns the string representation 17183func (s GetKeyGroupInput) GoString() string { 17184 return s.String() 17185} 17186 17187// Validate inspects the fields of the type to determine if they are valid. 17188func (s *GetKeyGroupInput) Validate() error { 17189 invalidParams := request.ErrInvalidParams{Context: "GetKeyGroupInput"} 17190 if s.Id == nil { 17191 invalidParams.Add(request.NewErrParamRequired("Id")) 17192 } 17193 if s.Id != nil && len(*s.Id) < 1 { 17194 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17195 } 17196 17197 if invalidParams.Len() > 0 { 17198 return invalidParams 17199 } 17200 return nil 17201} 17202 17203// SetId sets the Id field's value. 17204func (s *GetKeyGroupInput) SetId(v string) *GetKeyGroupInput { 17205 s.Id = &v 17206 return s 17207} 17208 17209type GetKeyGroupOutput struct { 17210 _ struct{} `type:"structure" payload:"KeyGroup"` 17211 17212 // The identifier for this version of the key group. 17213 ETag *string `location:"header" locationName:"ETag" type:"string"` 17214 17215 // The key group. 17216 KeyGroup *KeyGroup `type:"structure"` 17217} 17218 17219// String returns the string representation 17220func (s GetKeyGroupOutput) String() string { 17221 return awsutil.Prettify(s) 17222} 17223 17224// GoString returns the string representation 17225func (s GetKeyGroupOutput) GoString() string { 17226 return s.String() 17227} 17228 17229// SetETag sets the ETag field's value. 17230func (s *GetKeyGroupOutput) SetETag(v string) *GetKeyGroupOutput { 17231 s.ETag = &v 17232 return s 17233} 17234 17235// SetKeyGroup sets the KeyGroup field's value. 17236func (s *GetKeyGroupOutput) SetKeyGroup(v *KeyGroup) *GetKeyGroupOutput { 17237 s.KeyGroup = v 17238 return s 17239} 17240 17241type GetMonitoringSubscriptionInput struct { 17242 _ struct{} `locationName:"GetMonitoringSubscriptionRequest" type:"structure"` 17243 17244 // The ID of the distribution that you are getting metrics information for. 17245 // 17246 // DistributionId is a required field 17247 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 17248} 17249 17250// String returns the string representation 17251func (s GetMonitoringSubscriptionInput) String() string { 17252 return awsutil.Prettify(s) 17253} 17254 17255// GoString returns the string representation 17256func (s GetMonitoringSubscriptionInput) GoString() string { 17257 return s.String() 17258} 17259 17260// Validate inspects the fields of the type to determine if they are valid. 17261func (s *GetMonitoringSubscriptionInput) Validate() error { 17262 invalidParams := request.ErrInvalidParams{Context: "GetMonitoringSubscriptionInput"} 17263 if s.DistributionId == nil { 17264 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 17265 } 17266 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 17267 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 17268 } 17269 17270 if invalidParams.Len() > 0 { 17271 return invalidParams 17272 } 17273 return nil 17274} 17275 17276// SetDistributionId sets the DistributionId field's value. 17277func (s *GetMonitoringSubscriptionInput) SetDistributionId(v string) *GetMonitoringSubscriptionInput { 17278 s.DistributionId = &v 17279 return s 17280} 17281 17282type GetMonitoringSubscriptionOutput struct { 17283 _ struct{} `type:"structure" payload:"MonitoringSubscription"` 17284 17285 // A monitoring subscription. This structure contains information about whether 17286 // additional CloudWatch metrics are enabled for a given CloudFront distribution. 17287 MonitoringSubscription *MonitoringSubscription `type:"structure"` 17288} 17289 17290// String returns the string representation 17291func (s GetMonitoringSubscriptionOutput) String() string { 17292 return awsutil.Prettify(s) 17293} 17294 17295// GoString returns the string representation 17296func (s GetMonitoringSubscriptionOutput) GoString() string { 17297 return s.String() 17298} 17299 17300// SetMonitoringSubscription sets the MonitoringSubscription field's value. 17301func (s *GetMonitoringSubscriptionOutput) SetMonitoringSubscription(v *MonitoringSubscription) *GetMonitoringSubscriptionOutput { 17302 s.MonitoringSubscription = v 17303 return s 17304} 17305 17306type GetOriginRequestPolicyConfigInput struct { 17307 _ struct{} `locationName:"GetOriginRequestPolicyConfigRequest" type:"structure"` 17308 17309 // The unique identifier for the origin request policy. If the origin request 17310 // policy is attached to a distribution’s cache behavior, you can get the 17311 // policy’s identifier using ListDistributions or GetDistribution. If the 17312 // origin request policy is not attached to a cache behavior, you can get the 17313 // identifier using ListOriginRequestPolicies. 17314 // 17315 // Id is a required field 17316 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17317} 17318 17319// String returns the string representation 17320func (s GetOriginRequestPolicyConfigInput) String() string { 17321 return awsutil.Prettify(s) 17322} 17323 17324// GoString returns the string representation 17325func (s GetOriginRequestPolicyConfigInput) GoString() string { 17326 return s.String() 17327} 17328 17329// Validate inspects the fields of the type to determine if they are valid. 17330func (s *GetOriginRequestPolicyConfigInput) Validate() error { 17331 invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyConfigInput"} 17332 if s.Id == nil { 17333 invalidParams.Add(request.NewErrParamRequired("Id")) 17334 } 17335 if s.Id != nil && len(*s.Id) < 1 { 17336 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17337 } 17338 17339 if invalidParams.Len() > 0 { 17340 return invalidParams 17341 } 17342 return nil 17343} 17344 17345// SetId sets the Id field's value. 17346func (s *GetOriginRequestPolicyConfigInput) SetId(v string) *GetOriginRequestPolicyConfigInput { 17347 s.Id = &v 17348 return s 17349} 17350 17351type GetOriginRequestPolicyConfigOutput struct { 17352 _ struct{} `type:"structure" payload:"OriginRequestPolicyConfig"` 17353 17354 // The current version of the origin request policy. 17355 ETag *string `location:"header" locationName:"ETag" type:"string"` 17356 17357 // The origin request policy configuration. 17358 OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure"` 17359} 17360 17361// String returns the string representation 17362func (s GetOriginRequestPolicyConfigOutput) String() string { 17363 return awsutil.Prettify(s) 17364} 17365 17366// GoString returns the string representation 17367func (s GetOriginRequestPolicyConfigOutput) GoString() string { 17368 return s.String() 17369} 17370 17371// SetETag sets the ETag field's value. 17372func (s *GetOriginRequestPolicyConfigOutput) SetETag(v string) *GetOriginRequestPolicyConfigOutput { 17373 s.ETag = &v 17374 return s 17375} 17376 17377// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. 17378func (s *GetOriginRequestPolicyConfigOutput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *GetOriginRequestPolicyConfigOutput { 17379 s.OriginRequestPolicyConfig = v 17380 return s 17381} 17382 17383type GetOriginRequestPolicyInput struct { 17384 _ struct{} `locationName:"GetOriginRequestPolicyRequest" type:"structure"` 17385 17386 // The unique identifier for the origin request policy. If the origin request 17387 // policy is attached to a distribution’s cache behavior, you can get the 17388 // policy’s identifier using ListDistributions or GetDistribution. If the 17389 // origin request policy is not attached to a cache behavior, you can get the 17390 // identifier using ListOriginRequestPolicies. 17391 // 17392 // Id is a required field 17393 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17394} 17395 17396// String returns the string representation 17397func (s GetOriginRequestPolicyInput) String() string { 17398 return awsutil.Prettify(s) 17399} 17400 17401// GoString returns the string representation 17402func (s GetOriginRequestPolicyInput) GoString() string { 17403 return s.String() 17404} 17405 17406// Validate inspects the fields of the type to determine if they are valid. 17407func (s *GetOriginRequestPolicyInput) Validate() error { 17408 invalidParams := request.ErrInvalidParams{Context: "GetOriginRequestPolicyInput"} 17409 if s.Id == nil { 17410 invalidParams.Add(request.NewErrParamRequired("Id")) 17411 } 17412 if s.Id != nil && len(*s.Id) < 1 { 17413 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17414 } 17415 17416 if invalidParams.Len() > 0 { 17417 return invalidParams 17418 } 17419 return nil 17420} 17421 17422// SetId sets the Id field's value. 17423func (s *GetOriginRequestPolicyInput) SetId(v string) *GetOriginRequestPolicyInput { 17424 s.Id = &v 17425 return s 17426} 17427 17428type GetOriginRequestPolicyOutput struct { 17429 _ struct{} `type:"structure" payload:"OriginRequestPolicy"` 17430 17431 // The current version of the origin request policy. 17432 ETag *string `location:"header" locationName:"ETag" type:"string"` 17433 17434 // The origin request policy. 17435 OriginRequestPolicy *OriginRequestPolicy `type:"structure"` 17436} 17437 17438// String returns the string representation 17439func (s GetOriginRequestPolicyOutput) String() string { 17440 return awsutil.Prettify(s) 17441} 17442 17443// GoString returns the string representation 17444func (s GetOriginRequestPolicyOutput) GoString() string { 17445 return s.String() 17446} 17447 17448// SetETag sets the ETag field's value. 17449func (s *GetOriginRequestPolicyOutput) SetETag(v string) *GetOriginRequestPolicyOutput { 17450 s.ETag = &v 17451 return s 17452} 17453 17454// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. 17455func (s *GetOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *GetOriginRequestPolicyOutput { 17456 s.OriginRequestPolicy = v 17457 return s 17458} 17459 17460type GetPublicKeyConfigInput struct { 17461 _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` 17462 17463 // The identifier of the public key whose configuration you are getting. 17464 // 17465 // Id is a required field 17466 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17467} 17468 17469// String returns the string representation 17470func (s GetPublicKeyConfigInput) String() string { 17471 return awsutil.Prettify(s) 17472} 17473 17474// GoString returns the string representation 17475func (s GetPublicKeyConfigInput) GoString() string { 17476 return s.String() 17477} 17478 17479// Validate inspects the fields of the type to determine if they are valid. 17480func (s *GetPublicKeyConfigInput) Validate() error { 17481 invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} 17482 if s.Id == nil { 17483 invalidParams.Add(request.NewErrParamRequired("Id")) 17484 } 17485 if s.Id != nil && len(*s.Id) < 1 { 17486 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17487 } 17488 17489 if invalidParams.Len() > 0 { 17490 return invalidParams 17491 } 17492 return nil 17493} 17494 17495// SetId sets the Id field's value. 17496func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { 17497 s.Id = &v 17498 return s 17499} 17500 17501type GetPublicKeyConfigOutput struct { 17502 _ struct{} `type:"structure" payload:"PublicKeyConfig"` 17503 17504 // The identifier for this version of the public key configuration. 17505 ETag *string `location:"header" locationName:"ETag" type:"string"` 17506 17507 // A public key configuration. 17508 PublicKeyConfig *PublicKeyConfig `type:"structure"` 17509} 17510 17511// String returns the string representation 17512func (s GetPublicKeyConfigOutput) String() string { 17513 return awsutil.Prettify(s) 17514} 17515 17516// GoString returns the string representation 17517func (s GetPublicKeyConfigOutput) GoString() string { 17518 return s.String() 17519} 17520 17521// SetETag sets the ETag field's value. 17522func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { 17523 s.ETag = &v 17524 return s 17525} 17526 17527// SetPublicKeyConfig sets the PublicKeyConfig field's value. 17528func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { 17529 s.PublicKeyConfig = v 17530 return s 17531} 17532 17533type GetPublicKeyInput struct { 17534 _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` 17535 17536 // The identifier of the public key you are getting. 17537 // 17538 // Id is a required field 17539 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17540} 17541 17542// String returns the string representation 17543func (s GetPublicKeyInput) String() string { 17544 return awsutil.Prettify(s) 17545} 17546 17547// GoString returns the string representation 17548func (s GetPublicKeyInput) GoString() string { 17549 return s.String() 17550} 17551 17552// Validate inspects the fields of the type to determine if they are valid. 17553func (s *GetPublicKeyInput) Validate() error { 17554 invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} 17555 if s.Id == nil { 17556 invalidParams.Add(request.NewErrParamRequired("Id")) 17557 } 17558 if s.Id != nil && len(*s.Id) < 1 { 17559 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17560 } 17561 17562 if invalidParams.Len() > 0 { 17563 return invalidParams 17564 } 17565 return nil 17566} 17567 17568// SetId sets the Id field's value. 17569func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { 17570 s.Id = &v 17571 return s 17572} 17573 17574type GetPublicKeyOutput struct { 17575 _ struct{} `type:"structure" payload:"PublicKey"` 17576 17577 // The identifier for this version of the public key. 17578 ETag *string `location:"header" locationName:"ETag" type:"string"` 17579 17580 // The public key. 17581 PublicKey *PublicKey `type:"structure"` 17582} 17583 17584// String returns the string representation 17585func (s GetPublicKeyOutput) String() string { 17586 return awsutil.Prettify(s) 17587} 17588 17589// GoString returns the string representation 17590func (s GetPublicKeyOutput) GoString() string { 17591 return s.String() 17592} 17593 17594// SetETag sets the ETag field's value. 17595func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { 17596 s.ETag = &v 17597 return s 17598} 17599 17600// SetPublicKey sets the PublicKey field's value. 17601func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { 17602 s.PublicKey = v 17603 return s 17604} 17605 17606type GetRealtimeLogConfigInput struct { 17607 _ struct{} `locationName:"GetRealtimeLogConfigRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 17608 17609 // The Amazon Resource Name (ARN) of the real-time log configuration to get. 17610 ARN *string `type:"string"` 17611 17612 // The name of the real-time log configuration to get. 17613 Name *string `type:"string"` 17614} 17615 17616// String returns the string representation 17617func (s GetRealtimeLogConfigInput) String() string { 17618 return awsutil.Prettify(s) 17619} 17620 17621// GoString returns the string representation 17622func (s GetRealtimeLogConfigInput) GoString() string { 17623 return s.String() 17624} 17625 17626// SetARN sets the ARN field's value. 17627func (s *GetRealtimeLogConfigInput) SetARN(v string) *GetRealtimeLogConfigInput { 17628 s.ARN = &v 17629 return s 17630} 17631 17632// SetName sets the Name field's value. 17633func (s *GetRealtimeLogConfigInput) SetName(v string) *GetRealtimeLogConfigInput { 17634 s.Name = &v 17635 return s 17636} 17637 17638type GetRealtimeLogConfigOutput struct { 17639 _ struct{} `type:"structure"` 17640 17641 // A real-time log configuration. 17642 RealtimeLogConfig *RealtimeLogConfig `type:"structure"` 17643} 17644 17645// String returns the string representation 17646func (s GetRealtimeLogConfigOutput) String() string { 17647 return awsutil.Prettify(s) 17648} 17649 17650// GoString returns the string representation 17651func (s GetRealtimeLogConfigOutput) GoString() string { 17652 return s.String() 17653} 17654 17655// SetRealtimeLogConfig sets the RealtimeLogConfig field's value. 17656func (s *GetRealtimeLogConfigOutput) SetRealtimeLogConfig(v *RealtimeLogConfig) *GetRealtimeLogConfigOutput { 17657 s.RealtimeLogConfig = v 17658 return s 17659} 17660 17661// To request to get a streaming distribution configuration. 17662type GetStreamingDistributionConfigInput struct { 17663 _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` 17664 17665 // The streaming distribution's ID. 17666 // 17667 // Id is a required field 17668 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17669} 17670 17671// String returns the string representation 17672func (s GetStreamingDistributionConfigInput) String() string { 17673 return awsutil.Prettify(s) 17674} 17675 17676// GoString returns the string representation 17677func (s GetStreamingDistributionConfigInput) GoString() string { 17678 return s.String() 17679} 17680 17681// Validate inspects the fields of the type to determine if they are valid. 17682func (s *GetStreamingDistributionConfigInput) Validate() error { 17683 invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} 17684 if s.Id == nil { 17685 invalidParams.Add(request.NewErrParamRequired("Id")) 17686 } 17687 if s.Id != nil && len(*s.Id) < 1 { 17688 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17689 } 17690 17691 if invalidParams.Len() > 0 { 17692 return invalidParams 17693 } 17694 return nil 17695} 17696 17697// SetId sets the Id field's value. 17698func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { 17699 s.Id = &v 17700 return s 17701} 17702 17703// The returned result of the corresponding request. 17704type GetStreamingDistributionConfigOutput struct { 17705 _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` 17706 17707 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 17708 ETag *string `location:"header" locationName:"ETag" type:"string"` 17709 17710 // The streaming distribution's configuration information. 17711 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` 17712} 17713 17714// String returns the string representation 17715func (s GetStreamingDistributionConfigOutput) String() string { 17716 return awsutil.Prettify(s) 17717} 17718 17719// GoString returns the string representation 17720func (s GetStreamingDistributionConfigOutput) GoString() string { 17721 return s.String() 17722} 17723 17724// SetETag sets the ETag field's value. 17725func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { 17726 s.ETag = &v 17727 return s 17728} 17729 17730// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 17731func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { 17732 s.StreamingDistributionConfig = v 17733 return s 17734} 17735 17736// The request to get a streaming distribution's information. 17737type GetStreamingDistributionInput struct { 17738 _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` 17739 17740 // The streaming distribution's ID. 17741 // 17742 // Id is a required field 17743 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 17744} 17745 17746// String returns the string representation 17747func (s GetStreamingDistributionInput) String() string { 17748 return awsutil.Prettify(s) 17749} 17750 17751// GoString returns the string representation 17752func (s GetStreamingDistributionInput) GoString() string { 17753 return s.String() 17754} 17755 17756// Validate inspects the fields of the type to determine if they are valid. 17757func (s *GetStreamingDistributionInput) Validate() error { 17758 invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} 17759 if s.Id == nil { 17760 invalidParams.Add(request.NewErrParamRequired("Id")) 17761 } 17762 if s.Id != nil && len(*s.Id) < 1 { 17763 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 17764 } 17765 17766 if invalidParams.Len() > 0 { 17767 return invalidParams 17768 } 17769 return nil 17770} 17771 17772// SetId sets the Id field's value. 17773func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { 17774 s.Id = &v 17775 return s 17776} 17777 17778// The returned result of the corresponding request. 17779type GetStreamingDistributionOutput struct { 17780 _ struct{} `type:"structure" payload:"StreamingDistribution"` 17781 17782 // The current version of the streaming distribution's information. For example: 17783 // E2QWRUHAPOMQZL. 17784 ETag *string `location:"header" locationName:"ETag" type:"string"` 17785 17786 // The streaming distribution's information. 17787 StreamingDistribution *StreamingDistribution `type:"structure"` 17788} 17789 17790// String returns the string representation 17791func (s GetStreamingDistributionOutput) String() string { 17792 return awsutil.Prettify(s) 17793} 17794 17795// GoString returns the string representation 17796func (s GetStreamingDistributionOutput) GoString() string { 17797 return s.String() 17798} 17799 17800// SetETag sets the ETag field's value. 17801func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { 17802 s.ETag = &v 17803 return s 17804} 17805 17806// SetStreamingDistribution sets the StreamingDistribution field's value. 17807func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { 17808 s.StreamingDistribution = v 17809 return s 17810} 17811 17812// Contains a list of HTTP header names. 17813type Headers struct { 17814 _ struct{} `type:"structure"` 17815 17816 // A list of HTTP header names. 17817 Items []*string `locationNameList:"Name" type:"list"` 17818 17819 // The number of header names in the Items list. 17820 // 17821 // Quantity is a required field 17822 Quantity *int64 `type:"integer" required:"true"` 17823} 17824 17825// String returns the string representation 17826func (s Headers) String() string { 17827 return awsutil.Prettify(s) 17828} 17829 17830// GoString returns the string representation 17831func (s Headers) GoString() string { 17832 return s.String() 17833} 17834 17835// Validate inspects the fields of the type to determine if they are valid. 17836func (s *Headers) Validate() error { 17837 invalidParams := request.ErrInvalidParams{Context: "Headers"} 17838 if s.Quantity == nil { 17839 invalidParams.Add(request.NewErrParamRequired("Quantity")) 17840 } 17841 17842 if invalidParams.Len() > 0 { 17843 return invalidParams 17844 } 17845 return nil 17846} 17847 17848// SetItems sets the Items field's value. 17849func (s *Headers) SetItems(v []*string) *Headers { 17850 s.Items = v 17851 return s 17852} 17853 17854// SetQuantity sets the Quantity field's value. 17855func (s *Headers) SetQuantity(v int64) *Headers { 17856 s.Quantity = &v 17857 return s 17858} 17859 17860// An invalidation. 17861type Invalidation struct { 17862 _ struct{} `type:"structure"` 17863 17864 // The date and time the invalidation request was first made. 17865 // 17866 // CreateTime is a required field 17867 CreateTime *time.Time `type:"timestamp" required:"true"` 17868 17869 // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. 17870 // 17871 // Id is a required field 17872 Id *string `type:"string" required:"true"` 17873 17874 // The current invalidation information for the batch request. 17875 // 17876 // InvalidationBatch is a required field 17877 InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` 17878 17879 // The status of the invalidation request. When the invalidation batch is finished, 17880 // the status is Completed. 17881 // 17882 // Status is a required field 17883 Status *string `type:"string" required:"true"` 17884} 17885 17886// String returns the string representation 17887func (s Invalidation) String() string { 17888 return awsutil.Prettify(s) 17889} 17890 17891// GoString returns the string representation 17892func (s Invalidation) GoString() string { 17893 return s.String() 17894} 17895 17896// SetCreateTime sets the CreateTime field's value. 17897func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { 17898 s.CreateTime = &v 17899 return s 17900} 17901 17902// SetId sets the Id field's value. 17903func (s *Invalidation) SetId(v string) *Invalidation { 17904 s.Id = &v 17905 return s 17906} 17907 17908// SetInvalidationBatch sets the InvalidationBatch field's value. 17909func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { 17910 s.InvalidationBatch = v 17911 return s 17912} 17913 17914// SetStatus sets the Status field's value. 17915func (s *Invalidation) SetStatus(v string) *Invalidation { 17916 s.Status = &v 17917 return s 17918} 17919 17920// An invalidation batch. 17921type InvalidationBatch struct { 17922 _ struct{} `type:"structure"` 17923 17924 // A value that you specify to uniquely identify an invalidation request. CloudFront 17925 // uses the value to prevent you from accidentally resubmitting an identical 17926 // request. Whenever you create a new invalidation request, you must specify 17927 // a new value for CallerReference and change other values in the request as 17928 // applicable. One way to ensure that the value of CallerReference is unique 17929 // is to use a timestamp, for example, 20120301090000. 17930 // 17931 // If you make a second invalidation request with the same value for CallerReference, 17932 // and if the rest of the request is the same, CloudFront doesn't create a new 17933 // invalidation request. Instead, CloudFront returns information about the invalidation 17934 // request that you previously created with the same CallerReference. 17935 // 17936 // If CallerReference is a value you already sent in a previous invalidation 17937 // batch request but the content of any Path is different from the original 17938 // request, CloudFront returns an InvalidationBatchAlreadyExists error. 17939 // 17940 // CallerReference is a required field 17941 CallerReference *string `type:"string" required:"true"` 17942 17943 // A complex type that contains information about the objects that you want 17944 // to invalidate. For more information, see Specifying the Objects to Invalidate 17945 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) 17946 // in the Amazon CloudFront Developer Guide. 17947 // 17948 // Paths is a required field 17949 Paths *Paths `type:"structure" required:"true"` 17950} 17951 17952// String returns the string representation 17953func (s InvalidationBatch) String() string { 17954 return awsutil.Prettify(s) 17955} 17956 17957// GoString returns the string representation 17958func (s InvalidationBatch) GoString() string { 17959 return s.String() 17960} 17961 17962// Validate inspects the fields of the type to determine if they are valid. 17963func (s *InvalidationBatch) Validate() error { 17964 invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} 17965 if s.CallerReference == nil { 17966 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 17967 } 17968 if s.Paths == nil { 17969 invalidParams.Add(request.NewErrParamRequired("Paths")) 17970 } 17971 if s.Paths != nil { 17972 if err := s.Paths.Validate(); err != nil { 17973 invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) 17974 } 17975 } 17976 17977 if invalidParams.Len() > 0 { 17978 return invalidParams 17979 } 17980 return nil 17981} 17982 17983// SetCallerReference sets the CallerReference field's value. 17984func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { 17985 s.CallerReference = &v 17986 return s 17987} 17988 17989// SetPaths sets the Paths field's value. 17990func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { 17991 s.Paths = v 17992 return s 17993} 17994 17995// The InvalidationList complex type describes the list of invalidation objects. 17996// For more information about invalidation, see Invalidating Objects (Web Distributions 17997// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) 17998// in the Amazon CloudFront Developer Guide. 17999type InvalidationList struct { 18000 _ struct{} `type:"structure"` 18001 18002 // A flag that indicates whether more invalidation batch requests remain to 18003 // be listed. If your results were truncated, you can make a follow-up pagination 18004 // request using the Marker request parameter to retrieve more invalidation 18005 // batches in the list. 18006 // 18007 // IsTruncated is a required field 18008 IsTruncated *bool `type:"boolean" required:"true"` 18009 18010 // A complex type that contains one InvalidationSummary element for each invalidation 18011 // batch created by the current account. 18012 Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` 18013 18014 // The value that you provided for the Marker request parameter. 18015 // 18016 // Marker is a required field 18017 Marker *string `type:"string" required:"true"` 18018 18019 // The value that you provided for the MaxItems request parameter. 18020 // 18021 // MaxItems is a required field 18022 MaxItems *int64 `type:"integer" required:"true"` 18023 18024 // If IsTruncated is true, this element is present and contains the value that 18025 // you can use for the Marker request parameter to continue listing your invalidation 18026 // batches where they left off. 18027 NextMarker *string `type:"string"` 18028 18029 // The number of invalidation batches that were created by the current account. 18030 // 18031 // Quantity is a required field 18032 Quantity *int64 `type:"integer" required:"true"` 18033} 18034 18035// String returns the string representation 18036func (s InvalidationList) String() string { 18037 return awsutil.Prettify(s) 18038} 18039 18040// GoString returns the string representation 18041func (s InvalidationList) GoString() string { 18042 return s.String() 18043} 18044 18045// SetIsTruncated sets the IsTruncated field's value. 18046func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { 18047 s.IsTruncated = &v 18048 return s 18049} 18050 18051// SetItems sets the Items field's value. 18052func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { 18053 s.Items = v 18054 return s 18055} 18056 18057// SetMarker sets the Marker field's value. 18058func (s *InvalidationList) SetMarker(v string) *InvalidationList { 18059 s.Marker = &v 18060 return s 18061} 18062 18063// SetMaxItems sets the MaxItems field's value. 18064func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { 18065 s.MaxItems = &v 18066 return s 18067} 18068 18069// SetNextMarker sets the NextMarker field's value. 18070func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { 18071 s.NextMarker = &v 18072 return s 18073} 18074 18075// SetQuantity sets the Quantity field's value. 18076func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { 18077 s.Quantity = &v 18078 return s 18079} 18080 18081// A summary of an invalidation request. 18082type InvalidationSummary struct { 18083 _ struct{} `type:"structure"` 18084 18085 // The time that an invalidation request was created. 18086 // 18087 // CreateTime is a required field 18088 CreateTime *time.Time `type:"timestamp" required:"true"` 18089 18090 // The unique ID for an invalidation request. 18091 // 18092 // Id is a required field 18093 Id *string `type:"string" required:"true"` 18094 18095 // The status of an invalidation request. 18096 // 18097 // Status is a required field 18098 Status *string `type:"string" required:"true"` 18099} 18100 18101// String returns the string representation 18102func (s InvalidationSummary) String() string { 18103 return awsutil.Prettify(s) 18104} 18105 18106// GoString returns the string representation 18107func (s InvalidationSummary) GoString() string { 18108 return s.String() 18109} 18110 18111// SetCreateTime sets the CreateTime field's value. 18112func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { 18113 s.CreateTime = &v 18114 return s 18115} 18116 18117// SetId sets the Id field's value. 18118func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { 18119 s.Id = &v 18120 return s 18121} 18122 18123// SetStatus sets the Status field's value. 18124func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { 18125 s.Status = &v 18126 return s 18127} 18128 18129// A list of identifiers for the public keys that CloudFront can use to verify 18130// the signatures of signed URLs and signed cookies. 18131type KGKeyPairIds struct { 18132 _ struct{} `type:"structure"` 18133 18134 // The identifier of the key group that contains the public keys. 18135 KeyGroupId *string `type:"string"` 18136 18137 // A list of CloudFront key pair identifiers. 18138 KeyPairIds *KeyPairIds `type:"structure"` 18139} 18140 18141// String returns the string representation 18142func (s KGKeyPairIds) String() string { 18143 return awsutil.Prettify(s) 18144} 18145 18146// GoString returns the string representation 18147func (s KGKeyPairIds) GoString() string { 18148 return s.String() 18149} 18150 18151// SetKeyGroupId sets the KeyGroupId field's value. 18152func (s *KGKeyPairIds) SetKeyGroupId(v string) *KGKeyPairIds { 18153 s.KeyGroupId = &v 18154 return s 18155} 18156 18157// SetKeyPairIds sets the KeyPairIds field's value. 18158func (s *KGKeyPairIds) SetKeyPairIds(v *KeyPairIds) *KGKeyPairIds { 18159 s.KeyPairIds = v 18160 return s 18161} 18162 18163// A key group. 18164// 18165// A key group contains a list of public keys that you can use with CloudFront 18166// signed URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html). 18167type KeyGroup struct { 18168 _ struct{} `type:"structure"` 18169 18170 // The identifier for the key group. 18171 // 18172 // Id is a required field 18173 Id *string `type:"string" required:"true"` 18174 18175 // The key group configuration. 18176 // 18177 // KeyGroupConfig is a required field 18178 KeyGroupConfig *KeyGroupConfig `type:"structure" required:"true"` 18179 18180 // The date and time when the key group was last modified. 18181 // 18182 // LastModifiedTime is a required field 18183 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 18184} 18185 18186// String returns the string representation 18187func (s KeyGroup) String() string { 18188 return awsutil.Prettify(s) 18189} 18190 18191// GoString returns the string representation 18192func (s KeyGroup) GoString() string { 18193 return s.String() 18194} 18195 18196// SetId sets the Id field's value. 18197func (s *KeyGroup) SetId(v string) *KeyGroup { 18198 s.Id = &v 18199 return s 18200} 18201 18202// SetKeyGroupConfig sets the KeyGroupConfig field's value. 18203func (s *KeyGroup) SetKeyGroupConfig(v *KeyGroupConfig) *KeyGroup { 18204 s.KeyGroupConfig = v 18205 return s 18206} 18207 18208// SetLastModifiedTime sets the LastModifiedTime field's value. 18209func (s *KeyGroup) SetLastModifiedTime(v time.Time) *KeyGroup { 18210 s.LastModifiedTime = &v 18211 return s 18212} 18213 18214// A key group configuration. 18215// 18216// A key group contains a list of public keys that you can use with CloudFront 18217// signed URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html). 18218type KeyGroupConfig struct { 18219 _ struct{} `type:"structure"` 18220 18221 // A comment to describe the key group. The comment cannot be longer than 128 18222 // characters. 18223 Comment *string `type:"string"` 18224 18225 // A list of the identifiers of the public keys in the key group. 18226 // 18227 // Items is a required field 18228 Items []*string `locationNameList:"PublicKey" type:"list" required:"true"` 18229 18230 // A name to identify the key group. 18231 // 18232 // Name is a required field 18233 Name *string `type:"string" required:"true"` 18234} 18235 18236// String returns the string representation 18237func (s KeyGroupConfig) String() string { 18238 return awsutil.Prettify(s) 18239} 18240 18241// GoString returns the string representation 18242func (s KeyGroupConfig) GoString() string { 18243 return s.String() 18244} 18245 18246// Validate inspects the fields of the type to determine if they are valid. 18247func (s *KeyGroupConfig) Validate() error { 18248 invalidParams := request.ErrInvalidParams{Context: "KeyGroupConfig"} 18249 if s.Items == nil { 18250 invalidParams.Add(request.NewErrParamRequired("Items")) 18251 } 18252 if s.Name == nil { 18253 invalidParams.Add(request.NewErrParamRequired("Name")) 18254 } 18255 18256 if invalidParams.Len() > 0 { 18257 return invalidParams 18258 } 18259 return nil 18260} 18261 18262// SetComment sets the Comment field's value. 18263func (s *KeyGroupConfig) SetComment(v string) *KeyGroupConfig { 18264 s.Comment = &v 18265 return s 18266} 18267 18268// SetItems sets the Items field's value. 18269func (s *KeyGroupConfig) SetItems(v []*string) *KeyGroupConfig { 18270 s.Items = v 18271 return s 18272} 18273 18274// SetName sets the Name field's value. 18275func (s *KeyGroupConfig) SetName(v string) *KeyGroupConfig { 18276 s.Name = &v 18277 return s 18278} 18279 18280// A list of key groups. 18281type KeyGroupList struct { 18282 _ struct{} `type:"structure"` 18283 18284 // A list of key groups. 18285 Items []*KeyGroupSummary `locationNameList:"KeyGroupSummary" type:"list"` 18286 18287 // The maximum number of key groups requested. 18288 // 18289 // MaxItems is a required field 18290 MaxItems *int64 `type:"integer" required:"true"` 18291 18292 // If there are more items in the list than are in this response, this element 18293 // is present. It contains the value that you should use in the Marker field 18294 // of a subsequent request to continue listing key groups. 18295 NextMarker *string `type:"string"` 18296 18297 // The number of key groups returned in the response. 18298 // 18299 // Quantity is a required field 18300 Quantity *int64 `type:"integer" required:"true"` 18301} 18302 18303// String returns the string representation 18304func (s KeyGroupList) String() string { 18305 return awsutil.Prettify(s) 18306} 18307 18308// GoString returns the string representation 18309func (s KeyGroupList) GoString() string { 18310 return s.String() 18311} 18312 18313// SetItems sets the Items field's value. 18314func (s *KeyGroupList) SetItems(v []*KeyGroupSummary) *KeyGroupList { 18315 s.Items = v 18316 return s 18317} 18318 18319// SetMaxItems sets the MaxItems field's value. 18320func (s *KeyGroupList) SetMaxItems(v int64) *KeyGroupList { 18321 s.MaxItems = &v 18322 return s 18323} 18324 18325// SetNextMarker sets the NextMarker field's value. 18326func (s *KeyGroupList) SetNextMarker(v string) *KeyGroupList { 18327 s.NextMarker = &v 18328 return s 18329} 18330 18331// SetQuantity sets the Quantity field's value. 18332func (s *KeyGroupList) SetQuantity(v int64) *KeyGroupList { 18333 s.Quantity = &v 18334 return s 18335} 18336 18337// Contains information about a key group. 18338type KeyGroupSummary struct { 18339 _ struct{} `type:"structure"` 18340 18341 // A key group. 18342 // 18343 // KeyGroup is a required field 18344 KeyGroup *KeyGroup `type:"structure" required:"true"` 18345} 18346 18347// String returns the string representation 18348func (s KeyGroupSummary) String() string { 18349 return awsutil.Prettify(s) 18350} 18351 18352// GoString returns the string representation 18353func (s KeyGroupSummary) GoString() string { 18354 return s.String() 18355} 18356 18357// SetKeyGroup sets the KeyGroup field's value. 18358func (s *KeyGroupSummary) SetKeyGroup(v *KeyGroup) *KeyGroupSummary { 18359 s.KeyGroup = v 18360 return s 18361} 18362 18363// A list of CloudFront key pair identifiers. 18364type KeyPairIds struct { 18365 _ struct{} `type:"structure"` 18366 18367 // A list of CloudFront key pair identifiers. 18368 Items []*string `locationNameList:"KeyPairId" type:"list"` 18369 18370 // The number of key pair identifiers in the list. 18371 // 18372 // Quantity is a required field 18373 Quantity *int64 `type:"integer" required:"true"` 18374} 18375 18376// String returns the string representation 18377func (s KeyPairIds) String() string { 18378 return awsutil.Prettify(s) 18379} 18380 18381// GoString returns the string representation 18382func (s KeyPairIds) GoString() string { 18383 return s.String() 18384} 18385 18386// SetItems sets the Items field's value. 18387func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { 18388 s.Items = v 18389 return s 18390} 18391 18392// SetQuantity sets the Quantity field's value. 18393func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { 18394 s.Quantity = &v 18395 return s 18396} 18397 18398// Contains information about the Amazon Kinesis data stream where you are sending 18399// real-time log data. 18400type KinesisStreamConfig struct { 18401 _ struct{} `type:"structure"` 18402 18403 // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) 18404 // role that CloudFront can use to send real-time log data to your Kinesis data 18405 // stream. 18406 // 18407 // For more information the IAM role, see Real-time log configuration IAM role 18408 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-iam-role) 18409 // in the Amazon CloudFront Developer Guide. 18410 // 18411 // RoleARN is a required field 18412 RoleARN *string `type:"string" required:"true"` 18413 18414 // The Amazon Resource Name (ARN) of the Kinesis data stream where you are sending 18415 // real-time log data. 18416 // 18417 // StreamARN is a required field 18418 StreamARN *string `type:"string" required:"true"` 18419} 18420 18421// String returns the string representation 18422func (s KinesisStreamConfig) String() string { 18423 return awsutil.Prettify(s) 18424} 18425 18426// GoString returns the string representation 18427func (s KinesisStreamConfig) GoString() string { 18428 return s.String() 18429} 18430 18431// Validate inspects the fields of the type to determine if they are valid. 18432func (s *KinesisStreamConfig) Validate() error { 18433 invalidParams := request.ErrInvalidParams{Context: "KinesisStreamConfig"} 18434 if s.RoleARN == nil { 18435 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 18436 } 18437 if s.StreamARN == nil { 18438 invalidParams.Add(request.NewErrParamRequired("StreamARN")) 18439 } 18440 18441 if invalidParams.Len() > 0 { 18442 return invalidParams 18443 } 18444 return nil 18445} 18446 18447// SetRoleARN sets the RoleARN field's value. 18448func (s *KinesisStreamConfig) SetRoleARN(v string) *KinesisStreamConfig { 18449 s.RoleARN = &v 18450 return s 18451} 18452 18453// SetStreamARN sets the StreamARN field's value. 18454func (s *KinesisStreamConfig) SetStreamARN(v string) *KinesisStreamConfig { 18455 s.StreamARN = &v 18456 return s 18457} 18458 18459// A complex type that contains a Lambda@Edge function association. 18460type LambdaFunctionAssociation struct { 18461 _ struct{} `type:"structure"` 18462 18463 // Specifies the event type that triggers a Lambda@Edge function invocation. 18464 // You can specify the following values: 18465 // 18466 // * viewer-request: The function executes when CloudFront receives a request 18467 // from a viewer and before it checks to see whether the requested object 18468 // is in the edge cache. 18469 // 18470 // * origin-request: The function executes only when CloudFront sends a request 18471 // to your origin. When the requested object is in the edge cache, the function 18472 // doesn't execute. 18473 // 18474 // * origin-response: The function executes after CloudFront receives a response 18475 // from the origin and before it caches the object in the response. When 18476 // the requested object is in the edge cache, the function doesn't execute. 18477 // 18478 // * viewer-response: The function executes before CloudFront returns the 18479 // requested object to the viewer. The function executes regardless of whether 18480 // the object was already in the edge cache. If the origin returns an HTTP 18481 // status code other than HTTP 200 (OK), the function doesn't execute. 18482 // 18483 // EventType is a required field 18484 EventType *string `type:"string" required:"true" enum:"EventType"` 18485 18486 // A flag that allows a Lambda@Edge function to have read access to the body 18487 // content. For more information, see Accessing the Request Body by Choosing 18488 // the Include Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) 18489 // in the Amazon CloudFront Developer Guide. 18490 IncludeBody *bool `type:"boolean"` 18491 18492 // The ARN of the Lambda@Edge function. You must specify the ARN of a function 18493 // version; you can't specify an alias or $LATEST. 18494 // 18495 // LambdaFunctionARN is a required field 18496 LambdaFunctionARN *string `type:"string" required:"true"` 18497} 18498 18499// String returns the string representation 18500func (s LambdaFunctionAssociation) String() string { 18501 return awsutil.Prettify(s) 18502} 18503 18504// GoString returns the string representation 18505func (s LambdaFunctionAssociation) GoString() string { 18506 return s.String() 18507} 18508 18509// Validate inspects the fields of the type to determine if they are valid. 18510func (s *LambdaFunctionAssociation) Validate() error { 18511 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} 18512 if s.EventType == nil { 18513 invalidParams.Add(request.NewErrParamRequired("EventType")) 18514 } 18515 if s.LambdaFunctionARN == nil { 18516 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) 18517 } 18518 18519 if invalidParams.Len() > 0 { 18520 return invalidParams 18521 } 18522 return nil 18523} 18524 18525// SetEventType sets the EventType field's value. 18526func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { 18527 s.EventType = &v 18528 return s 18529} 18530 18531// SetIncludeBody sets the IncludeBody field's value. 18532func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { 18533 s.IncludeBody = &v 18534 return s 18535} 18536 18537// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. 18538func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { 18539 s.LambdaFunctionARN = &v 18540 return s 18541} 18542 18543// A complex type that specifies a list of Lambda@Edge functions associations 18544// for a cache behavior. 18545// 18546// If you want to invoke one or more Lambda@Edge functions triggered by requests 18547// that match the PathPattern of the cache behavior, specify the applicable 18548// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation 18549// items in this list (one for each possible value of EventType) and each EventType 18550// can be associated with only one function. 18551// 18552// If you don't want to invoke any Lambda@Edge functions for the requests that 18553// match PathPattern, specify 0 for Quantity and omit Items. 18554type LambdaFunctionAssociations struct { 18555 _ struct{} `type:"structure"` 18556 18557 // Optional: A complex type that contains LambdaFunctionAssociation items for 18558 // this cache behavior. If Quantity is 0, you can omit Items. 18559 Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` 18560 18561 // The number of Lambda@Edge function associations for this cache behavior. 18562 // 18563 // Quantity is a required field 18564 Quantity *int64 `type:"integer" required:"true"` 18565} 18566 18567// String returns the string representation 18568func (s LambdaFunctionAssociations) String() string { 18569 return awsutil.Prettify(s) 18570} 18571 18572// GoString returns the string representation 18573func (s LambdaFunctionAssociations) GoString() string { 18574 return s.String() 18575} 18576 18577// Validate inspects the fields of the type to determine if they are valid. 18578func (s *LambdaFunctionAssociations) Validate() error { 18579 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} 18580 if s.Quantity == nil { 18581 invalidParams.Add(request.NewErrParamRequired("Quantity")) 18582 } 18583 if s.Items != nil { 18584 for i, v := range s.Items { 18585 if v == nil { 18586 continue 18587 } 18588 if err := v.Validate(); err != nil { 18589 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 18590 } 18591 } 18592 } 18593 18594 if invalidParams.Len() > 0 { 18595 return invalidParams 18596 } 18597 return nil 18598} 18599 18600// SetItems sets the Items field's value. 18601func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { 18602 s.Items = v 18603 return s 18604} 18605 18606// SetQuantity sets the Quantity field's value. 18607func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { 18608 s.Quantity = &v 18609 return s 18610} 18611 18612type ListCachePoliciesInput struct { 18613 _ struct{} `locationName:"ListCachePoliciesRequest" type:"structure"` 18614 18615 // Use this field when paginating results to indicate where to begin in your 18616 // list of cache policies. The response includes cache policies in the list 18617 // that occur after the marker. To get the next page of the list, set this field’s 18618 // value to the value of NextMarker from the current page’s response. 18619 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 18620 18621 // The maximum number of cache policies that you want in the response. 18622 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 18623 18624 // A filter to return only the specified kinds of cache policies. Valid values 18625 // are: 18626 // 18627 // * managed – Returns only the managed policies created by Amazon Web 18628 // Services. 18629 // 18630 // * custom – Returns only the custom policies created in your account. 18631 Type *string `location:"querystring" locationName:"Type" type:"string" enum:"CachePolicyType"` 18632} 18633 18634// String returns the string representation 18635func (s ListCachePoliciesInput) String() string { 18636 return awsutil.Prettify(s) 18637} 18638 18639// GoString returns the string representation 18640func (s ListCachePoliciesInput) GoString() string { 18641 return s.String() 18642} 18643 18644// SetMarker sets the Marker field's value. 18645func (s *ListCachePoliciesInput) SetMarker(v string) *ListCachePoliciesInput { 18646 s.Marker = &v 18647 return s 18648} 18649 18650// SetMaxItems sets the MaxItems field's value. 18651func (s *ListCachePoliciesInput) SetMaxItems(v int64) *ListCachePoliciesInput { 18652 s.MaxItems = &v 18653 return s 18654} 18655 18656// SetType sets the Type field's value. 18657func (s *ListCachePoliciesInput) SetType(v string) *ListCachePoliciesInput { 18658 s.Type = &v 18659 return s 18660} 18661 18662type ListCachePoliciesOutput struct { 18663 _ struct{} `type:"structure" payload:"CachePolicyList"` 18664 18665 // A list of cache policies. 18666 CachePolicyList *CachePolicyList `type:"structure"` 18667} 18668 18669// String returns the string representation 18670func (s ListCachePoliciesOutput) String() string { 18671 return awsutil.Prettify(s) 18672} 18673 18674// GoString returns the string representation 18675func (s ListCachePoliciesOutput) GoString() string { 18676 return s.String() 18677} 18678 18679// SetCachePolicyList sets the CachePolicyList field's value. 18680func (s *ListCachePoliciesOutput) SetCachePolicyList(v *CachePolicyList) *ListCachePoliciesOutput { 18681 s.CachePolicyList = v 18682 return s 18683} 18684 18685// The request to list origin access identities. 18686type ListCloudFrontOriginAccessIdentitiesInput struct { 18687 _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` 18688 18689 // Use this when paginating results to indicate where to begin in your list 18690 // of origin access identities. The results include identities in the list that 18691 // occur after the marker. To get the next page of results, set the Marker to 18692 // the value of the NextMarker from the current page's response (which is also 18693 // the ID of the last identity on that page). 18694 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 18695 18696 // The maximum number of origin access identities you want in the response body. 18697 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 18698} 18699 18700// String returns the string representation 18701func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { 18702 return awsutil.Prettify(s) 18703} 18704 18705// GoString returns the string representation 18706func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { 18707 return s.String() 18708} 18709 18710// SetMarker sets the Marker field's value. 18711func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { 18712 s.Marker = &v 18713 return s 18714} 18715 18716// SetMaxItems sets the MaxItems field's value. 18717func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { 18718 s.MaxItems = &v 18719 return s 18720} 18721 18722// The returned result of the corresponding request. 18723type ListCloudFrontOriginAccessIdentitiesOutput struct { 18724 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` 18725 18726 // The CloudFrontOriginAccessIdentityList type. 18727 CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` 18728} 18729 18730// String returns the string representation 18731func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { 18732 return awsutil.Prettify(s) 18733} 18734 18735// GoString returns the string representation 18736func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { 18737 return s.String() 18738} 18739 18740// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. 18741func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { 18742 s.CloudFrontOriginAccessIdentityList = v 18743 return s 18744} 18745 18746type ListConflictingAliasesInput struct { 18747 _ struct{} `locationName:"ListConflictingAliasesRequest" type:"structure"` 18748 18749 // The alias (also called a CNAME) to search for conflicting aliases. 18750 // 18751 // Alias is a required field 18752 Alias *string `location:"querystring" locationName:"Alias" type:"string" required:"true"` 18753 18754 // The ID of a distribution in your account that has an attached SSL/TLS certificate 18755 // that includes the provided alias. 18756 // 18757 // DistributionId is a required field 18758 DistributionId *string `location:"querystring" locationName:"DistributionId" type:"string" required:"true"` 18759 18760 // Use this field when paginating results to indicate where to begin in the 18761 // list of conflicting aliases. The response includes conflicting aliases in 18762 // the list that occur after the marker. To get the next page of the list, set 18763 // this field’s value to the value of NextMarker from the current page’s 18764 // response. 18765 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 18766 18767 // The maximum number of conflicting aliases that you want in the response. 18768 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 18769} 18770 18771// String returns the string representation 18772func (s ListConflictingAliasesInput) String() string { 18773 return awsutil.Prettify(s) 18774} 18775 18776// GoString returns the string representation 18777func (s ListConflictingAliasesInput) GoString() string { 18778 return s.String() 18779} 18780 18781// Validate inspects the fields of the type to determine if they are valid. 18782func (s *ListConflictingAliasesInput) Validate() error { 18783 invalidParams := request.ErrInvalidParams{Context: "ListConflictingAliasesInput"} 18784 if s.Alias == nil { 18785 invalidParams.Add(request.NewErrParamRequired("Alias")) 18786 } 18787 if s.DistributionId == nil { 18788 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 18789 } 18790 18791 if invalidParams.Len() > 0 { 18792 return invalidParams 18793 } 18794 return nil 18795} 18796 18797// SetAlias sets the Alias field's value. 18798func (s *ListConflictingAliasesInput) SetAlias(v string) *ListConflictingAliasesInput { 18799 s.Alias = &v 18800 return s 18801} 18802 18803// SetDistributionId sets the DistributionId field's value. 18804func (s *ListConflictingAliasesInput) SetDistributionId(v string) *ListConflictingAliasesInput { 18805 s.DistributionId = &v 18806 return s 18807} 18808 18809// SetMarker sets the Marker field's value. 18810func (s *ListConflictingAliasesInput) SetMarker(v string) *ListConflictingAliasesInput { 18811 s.Marker = &v 18812 return s 18813} 18814 18815// SetMaxItems sets the MaxItems field's value. 18816func (s *ListConflictingAliasesInput) SetMaxItems(v int64) *ListConflictingAliasesInput { 18817 s.MaxItems = &v 18818 return s 18819} 18820 18821type ListConflictingAliasesOutput struct { 18822 _ struct{} `type:"structure" payload:"ConflictingAliasesList"` 18823 18824 // A list of conflicting aliases. 18825 ConflictingAliasesList *ConflictingAliasesList `type:"structure"` 18826} 18827 18828// String returns the string representation 18829func (s ListConflictingAliasesOutput) String() string { 18830 return awsutil.Prettify(s) 18831} 18832 18833// GoString returns the string representation 18834func (s ListConflictingAliasesOutput) GoString() string { 18835 return s.String() 18836} 18837 18838// SetConflictingAliasesList sets the ConflictingAliasesList field's value. 18839func (s *ListConflictingAliasesOutput) SetConflictingAliasesList(v *ConflictingAliasesList) *ListConflictingAliasesOutput { 18840 s.ConflictingAliasesList = v 18841 return s 18842} 18843 18844type ListDistributionsByCachePolicyIdInput struct { 18845 _ struct{} `locationName:"ListDistributionsByCachePolicyIdRequest" type:"structure"` 18846 18847 // The ID of the cache policy whose associated distribution IDs you want to 18848 // list. 18849 // 18850 // CachePolicyId is a required field 18851 CachePolicyId *string `location:"uri" locationName:"CachePolicyId" type:"string" required:"true"` 18852 18853 // Use this field when paginating results to indicate where to begin in your 18854 // list of distribution IDs. The response includes distribution IDs in the list 18855 // that occur after the marker. To get the next page of the list, set this field’s 18856 // value to the value of NextMarker from the current page’s response. 18857 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 18858 18859 // The maximum number of distribution IDs that you want in the response. 18860 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 18861} 18862 18863// String returns the string representation 18864func (s ListDistributionsByCachePolicyIdInput) String() string { 18865 return awsutil.Prettify(s) 18866} 18867 18868// GoString returns the string representation 18869func (s ListDistributionsByCachePolicyIdInput) GoString() string { 18870 return s.String() 18871} 18872 18873// Validate inspects the fields of the type to determine if they are valid. 18874func (s *ListDistributionsByCachePolicyIdInput) Validate() error { 18875 invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByCachePolicyIdInput"} 18876 if s.CachePolicyId == nil { 18877 invalidParams.Add(request.NewErrParamRequired("CachePolicyId")) 18878 } 18879 if s.CachePolicyId != nil && len(*s.CachePolicyId) < 1 { 18880 invalidParams.Add(request.NewErrParamMinLen("CachePolicyId", 1)) 18881 } 18882 18883 if invalidParams.Len() > 0 { 18884 return invalidParams 18885 } 18886 return nil 18887} 18888 18889// SetCachePolicyId sets the CachePolicyId field's value. 18890func (s *ListDistributionsByCachePolicyIdInput) SetCachePolicyId(v string) *ListDistributionsByCachePolicyIdInput { 18891 s.CachePolicyId = &v 18892 return s 18893} 18894 18895// SetMarker sets the Marker field's value. 18896func (s *ListDistributionsByCachePolicyIdInput) SetMarker(v string) *ListDistributionsByCachePolicyIdInput { 18897 s.Marker = &v 18898 return s 18899} 18900 18901// SetMaxItems sets the MaxItems field's value. 18902func (s *ListDistributionsByCachePolicyIdInput) SetMaxItems(v int64) *ListDistributionsByCachePolicyIdInput { 18903 s.MaxItems = &v 18904 return s 18905} 18906 18907type ListDistributionsByCachePolicyIdOutput struct { 18908 _ struct{} `type:"structure" payload:"DistributionIdList"` 18909 18910 // A list of distribution IDs. 18911 DistributionIdList *DistributionIdList `type:"structure"` 18912} 18913 18914// String returns the string representation 18915func (s ListDistributionsByCachePolicyIdOutput) String() string { 18916 return awsutil.Prettify(s) 18917} 18918 18919// GoString returns the string representation 18920func (s ListDistributionsByCachePolicyIdOutput) GoString() string { 18921 return s.String() 18922} 18923 18924// SetDistributionIdList sets the DistributionIdList field's value. 18925func (s *ListDistributionsByCachePolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByCachePolicyIdOutput { 18926 s.DistributionIdList = v 18927 return s 18928} 18929 18930type ListDistributionsByKeyGroupInput struct { 18931 _ struct{} `locationName:"ListDistributionsByKeyGroupRequest" type:"structure"` 18932 18933 // The ID of the key group whose associated distribution IDs you are listing. 18934 // 18935 // KeyGroupId is a required field 18936 KeyGroupId *string `location:"uri" locationName:"KeyGroupId" type:"string" required:"true"` 18937 18938 // Use this field when paginating results to indicate where to begin in your 18939 // list of distribution IDs. The response includes distribution IDs in the list 18940 // that occur after the marker. To get the next page of the list, set this field’s 18941 // value to the value of NextMarker from the current page’s response. 18942 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 18943 18944 // The maximum number of distribution IDs that you want in the response. 18945 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 18946} 18947 18948// String returns the string representation 18949func (s ListDistributionsByKeyGroupInput) String() string { 18950 return awsutil.Prettify(s) 18951} 18952 18953// GoString returns the string representation 18954func (s ListDistributionsByKeyGroupInput) GoString() string { 18955 return s.String() 18956} 18957 18958// Validate inspects the fields of the type to determine if they are valid. 18959func (s *ListDistributionsByKeyGroupInput) Validate() error { 18960 invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByKeyGroupInput"} 18961 if s.KeyGroupId == nil { 18962 invalidParams.Add(request.NewErrParamRequired("KeyGroupId")) 18963 } 18964 if s.KeyGroupId != nil && len(*s.KeyGroupId) < 1 { 18965 invalidParams.Add(request.NewErrParamMinLen("KeyGroupId", 1)) 18966 } 18967 18968 if invalidParams.Len() > 0 { 18969 return invalidParams 18970 } 18971 return nil 18972} 18973 18974// SetKeyGroupId sets the KeyGroupId field's value. 18975func (s *ListDistributionsByKeyGroupInput) SetKeyGroupId(v string) *ListDistributionsByKeyGroupInput { 18976 s.KeyGroupId = &v 18977 return s 18978} 18979 18980// SetMarker sets the Marker field's value. 18981func (s *ListDistributionsByKeyGroupInput) SetMarker(v string) *ListDistributionsByKeyGroupInput { 18982 s.Marker = &v 18983 return s 18984} 18985 18986// SetMaxItems sets the MaxItems field's value. 18987func (s *ListDistributionsByKeyGroupInput) SetMaxItems(v int64) *ListDistributionsByKeyGroupInput { 18988 s.MaxItems = &v 18989 return s 18990} 18991 18992type ListDistributionsByKeyGroupOutput struct { 18993 _ struct{} `type:"structure" payload:"DistributionIdList"` 18994 18995 // A list of distribution IDs. 18996 DistributionIdList *DistributionIdList `type:"structure"` 18997} 18998 18999// String returns the string representation 19000func (s ListDistributionsByKeyGroupOutput) String() string { 19001 return awsutil.Prettify(s) 19002} 19003 19004// GoString returns the string representation 19005func (s ListDistributionsByKeyGroupOutput) GoString() string { 19006 return s.String() 19007} 19008 19009// SetDistributionIdList sets the DistributionIdList field's value. 19010func (s *ListDistributionsByKeyGroupOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByKeyGroupOutput { 19011 s.DistributionIdList = v 19012 return s 19013} 19014 19015type ListDistributionsByOriginRequestPolicyIdInput struct { 19016 _ struct{} `locationName:"ListDistributionsByOriginRequestPolicyIdRequest" type:"structure"` 19017 19018 // Use this field when paginating results to indicate where to begin in your 19019 // list of distribution IDs. The response includes distribution IDs in the list 19020 // that occur after the marker. To get the next page of the list, set this field’s 19021 // value to the value of NextMarker from the current page’s response. 19022 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19023 19024 // The maximum number of distribution IDs that you want in the response. 19025 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19026 19027 // The ID of the origin request policy whose associated distribution IDs you 19028 // want to list. 19029 // 19030 // OriginRequestPolicyId is a required field 19031 OriginRequestPolicyId *string `location:"uri" locationName:"OriginRequestPolicyId" type:"string" required:"true"` 19032} 19033 19034// String returns the string representation 19035func (s ListDistributionsByOriginRequestPolicyIdInput) String() string { 19036 return awsutil.Prettify(s) 19037} 19038 19039// GoString returns the string representation 19040func (s ListDistributionsByOriginRequestPolicyIdInput) GoString() string { 19041 return s.String() 19042} 19043 19044// Validate inspects the fields of the type to determine if they are valid. 19045func (s *ListDistributionsByOriginRequestPolicyIdInput) Validate() error { 19046 invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByOriginRequestPolicyIdInput"} 19047 if s.OriginRequestPolicyId == nil { 19048 invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyId")) 19049 } 19050 if s.OriginRequestPolicyId != nil && len(*s.OriginRequestPolicyId) < 1 { 19051 invalidParams.Add(request.NewErrParamMinLen("OriginRequestPolicyId", 1)) 19052 } 19053 19054 if invalidParams.Len() > 0 { 19055 return invalidParams 19056 } 19057 return nil 19058} 19059 19060// SetMarker sets the Marker field's value. 19061func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMarker(v string) *ListDistributionsByOriginRequestPolicyIdInput { 19062 s.Marker = &v 19063 return s 19064} 19065 19066// SetMaxItems sets the MaxItems field's value. 19067func (s *ListDistributionsByOriginRequestPolicyIdInput) SetMaxItems(v int64) *ListDistributionsByOriginRequestPolicyIdInput { 19068 s.MaxItems = &v 19069 return s 19070} 19071 19072// SetOriginRequestPolicyId sets the OriginRequestPolicyId field's value. 19073func (s *ListDistributionsByOriginRequestPolicyIdInput) SetOriginRequestPolicyId(v string) *ListDistributionsByOriginRequestPolicyIdInput { 19074 s.OriginRequestPolicyId = &v 19075 return s 19076} 19077 19078type ListDistributionsByOriginRequestPolicyIdOutput struct { 19079 _ struct{} `type:"structure" payload:"DistributionIdList"` 19080 19081 // A list of distribution IDs. 19082 DistributionIdList *DistributionIdList `type:"structure"` 19083} 19084 19085// String returns the string representation 19086func (s ListDistributionsByOriginRequestPolicyIdOutput) String() string { 19087 return awsutil.Prettify(s) 19088} 19089 19090// GoString returns the string representation 19091func (s ListDistributionsByOriginRequestPolicyIdOutput) GoString() string { 19092 return s.String() 19093} 19094 19095// SetDistributionIdList sets the DistributionIdList field's value. 19096func (s *ListDistributionsByOriginRequestPolicyIdOutput) SetDistributionIdList(v *DistributionIdList) *ListDistributionsByOriginRequestPolicyIdOutput { 19097 s.DistributionIdList = v 19098 return s 19099} 19100 19101type ListDistributionsByRealtimeLogConfigInput struct { 19102 _ struct{} `locationName:"ListDistributionsByRealtimeLogConfigRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 19103 19104 // Use this field when paginating results to indicate where to begin in your 19105 // list of distributions. The response includes distributions in the list that 19106 // occur after the marker. To get the next page of the list, set this field’s 19107 // value to the value of NextMarker from the current page’s response. 19108 Marker *string `type:"string"` 19109 19110 // The maximum number of distributions that you want in the response. 19111 MaxItems *int64 `type:"integer"` 19112 19113 // The Amazon Resource Name (ARN) of the real-time log configuration whose associated 19114 // distributions you want to list. 19115 RealtimeLogConfigArn *string `type:"string"` 19116 19117 // The name of the real-time log configuration whose associated distributions 19118 // you want to list. 19119 RealtimeLogConfigName *string `type:"string"` 19120} 19121 19122// String returns the string representation 19123func (s ListDistributionsByRealtimeLogConfigInput) String() string { 19124 return awsutil.Prettify(s) 19125} 19126 19127// GoString returns the string representation 19128func (s ListDistributionsByRealtimeLogConfigInput) GoString() string { 19129 return s.String() 19130} 19131 19132// SetMarker sets the Marker field's value. 19133func (s *ListDistributionsByRealtimeLogConfigInput) SetMarker(v string) *ListDistributionsByRealtimeLogConfigInput { 19134 s.Marker = &v 19135 return s 19136} 19137 19138// SetMaxItems sets the MaxItems field's value. 19139func (s *ListDistributionsByRealtimeLogConfigInput) SetMaxItems(v int64) *ListDistributionsByRealtimeLogConfigInput { 19140 s.MaxItems = &v 19141 return s 19142} 19143 19144// SetRealtimeLogConfigArn sets the RealtimeLogConfigArn field's value. 19145func (s *ListDistributionsByRealtimeLogConfigInput) SetRealtimeLogConfigArn(v string) *ListDistributionsByRealtimeLogConfigInput { 19146 s.RealtimeLogConfigArn = &v 19147 return s 19148} 19149 19150// SetRealtimeLogConfigName sets the RealtimeLogConfigName field's value. 19151func (s *ListDistributionsByRealtimeLogConfigInput) SetRealtimeLogConfigName(v string) *ListDistributionsByRealtimeLogConfigInput { 19152 s.RealtimeLogConfigName = &v 19153 return s 19154} 19155 19156type ListDistributionsByRealtimeLogConfigOutput struct { 19157 _ struct{} `type:"structure" payload:"DistributionList"` 19158 19159 // A distribution list. 19160 DistributionList *DistributionList `type:"structure"` 19161} 19162 19163// String returns the string representation 19164func (s ListDistributionsByRealtimeLogConfigOutput) String() string { 19165 return awsutil.Prettify(s) 19166} 19167 19168// GoString returns the string representation 19169func (s ListDistributionsByRealtimeLogConfigOutput) GoString() string { 19170 return s.String() 19171} 19172 19173// SetDistributionList sets the DistributionList field's value. 19174func (s *ListDistributionsByRealtimeLogConfigOutput) SetDistributionList(v *DistributionList) *ListDistributionsByRealtimeLogConfigOutput { 19175 s.DistributionList = v 19176 return s 19177} 19178 19179// The request to list distributions that are associated with a specified WAF 19180// web ACL. 19181type ListDistributionsByWebACLIdInput struct { 19182 _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` 19183 19184 // Use Marker and MaxItems to control pagination of results. If you have more 19185 // than MaxItems distributions that satisfy the request, the response includes 19186 // a NextMarker element. To get the next page of results, submit another request. 19187 // For the value of Marker, specify the value of NextMarker from the last response. 19188 // (For the first request, omit Marker.) 19189 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19190 19191 // The maximum number of distributions that you want CloudFront to return in 19192 // the response body. The maximum and default values are both 100. 19193 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19194 19195 // The ID of the WAF web ACL that you want to list the associated distributions. 19196 // If you specify "null" for the ID, the request returns a list of the distributions 19197 // that aren't associated with a web ACL. 19198 // 19199 // WebACLId is a required field 19200 WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` 19201} 19202 19203// String returns the string representation 19204func (s ListDistributionsByWebACLIdInput) String() string { 19205 return awsutil.Prettify(s) 19206} 19207 19208// GoString returns the string representation 19209func (s ListDistributionsByWebACLIdInput) GoString() string { 19210 return s.String() 19211} 19212 19213// Validate inspects the fields of the type to determine if they are valid. 19214func (s *ListDistributionsByWebACLIdInput) Validate() error { 19215 invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} 19216 if s.WebACLId == nil { 19217 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 19218 } 19219 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 19220 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 19221 } 19222 19223 if invalidParams.Len() > 0 { 19224 return invalidParams 19225 } 19226 return nil 19227} 19228 19229// SetMarker sets the Marker field's value. 19230func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { 19231 s.Marker = &v 19232 return s 19233} 19234 19235// SetMaxItems sets the MaxItems field's value. 19236func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { 19237 s.MaxItems = &v 19238 return s 19239} 19240 19241// SetWebACLId sets the WebACLId field's value. 19242func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { 19243 s.WebACLId = &v 19244 return s 19245} 19246 19247// The response to a request to list the distributions that are associated with 19248// a specified WAF web ACL. 19249type ListDistributionsByWebACLIdOutput struct { 19250 _ struct{} `type:"structure" payload:"DistributionList"` 19251 19252 // The DistributionList type. 19253 DistributionList *DistributionList `type:"structure"` 19254} 19255 19256// String returns the string representation 19257func (s ListDistributionsByWebACLIdOutput) String() string { 19258 return awsutil.Prettify(s) 19259} 19260 19261// GoString returns the string representation 19262func (s ListDistributionsByWebACLIdOutput) GoString() string { 19263 return s.String() 19264} 19265 19266// SetDistributionList sets the DistributionList field's value. 19267func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { 19268 s.DistributionList = v 19269 return s 19270} 19271 19272// The request to list your distributions. 19273type ListDistributionsInput struct { 19274 _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` 19275 19276 // Use this when paginating results to indicate where to begin in your list 19277 // of distributions. The results include distributions in the list that occur 19278 // after the marker. To get the next page of results, set the Marker to the 19279 // value of the NextMarker from the current page's response (which is also the 19280 // ID of the last distribution on that page). 19281 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19282 19283 // The maximum number of distributions you want in the response body. 19284 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19285} 19286 19287// String returns the string representation 19288func (s ListDistributionsInput) String() string { 19289 return awsutil.Prettify(s) 19290} 19291 19292// GoString returns the string representation 19293func (s ListDistributionsInput) GoString() string { 19294 return s.String() 19295} 19296 19297// SetMarker sets the Marker field's value. 19298func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { 19299 s.Marker = &v 19300 return s 19301} 19302 19303// SetMaxItems sets the MaxItems field's value. 19304func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { 19305 s.MaxItems = &v 19306 return s 19307} 19308 19309// The returned result of the corresponding request. 19310type ListDistributionsOutput struct { 19311 _ struct{} `type:"structure" payload:"DistributionList"` 19312 19313 // The DistributionList type. 19314 DistributionList *DistributionList `type:"structure"` 19315} 19316 19317// String returns the string representation 19318func (s ListDistributionsOutput) String() string { 19319 return awsutil.Prettify(s) 19320} 19321 19322// GoString returns the string representation 19323func (s ListDistributionsOutput) GoString() string { 19324 return s.String() 19325} 19326 19327// SetDistributionList sets the DistributionList field's value. 19328func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { 19329 s.DistributionList = v 19330 return s 19331} 19332 19333type ListFieldLevelEncryptionConfigsInput struct { 19334 _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` 19335 19336 // Use this when paginating results to indicate where to begin in your list 19337 // of configurations. The results include configurations in the list that occur 19338 // after the marker. To get the next page of results, set the Marker to the 19339 // value of the NextMarker from the current page's response (which is also the 19340 // ID of the last configuration on that page). 19341 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19342 19343 // The maximum number of field-level encryption configurations you want in the 19344 // response body. 19345 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19346} 19347 19348// String returns the string representation 19349func (s ListFieldLevelEncryptionConfigsInput) String() string { 19350 return awsutil.Prettify(s) 19351} 19352 19353// GoString returns the string representation 19354func (s ListFieldLevelEncryptionConfigsInput) GoString() string { 19355 return s.String() 19356} 19357 19358// SetMarker sets the Marker field's value. 19359func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { 19360 s.Marker = &v 19361 return s 19362} 19363 19364// SetMaxItems sets the MaxItems field's value. 19365func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { 19366 s.MaxItems = &v 19367 return s 19368} 19369 19370type ListFieldLevelEncryptionConfigsOutput struct { 19371 _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` 19372 19373 // Returns a list of all field-level encryption configurations that have been 19374 // created in CloudFront for this account. 19375 FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` 19376} 19377 19378// String returns the string representation 19379func (s ListFieldLevelEncryptionConfigsOutput) String() string { 19380 return awsutil.Prettify(s) 19381} 19382 19383// GoString returns the string representation 19384func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { 19385 return s.String() 19386} 19387 19388// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. 19389func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { 19390 s.FieldLevelEncryptionList = v 19391 return s 19392} 19393 19394type ListFieldLevelEncryptionProfilesInput struct { 19395 _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` 19396 19397 // Use this when paginating results to indicate where to begin in your list 19398 // of profiles. The results include profiles in the list that occur after the 19399 // marker. To get the next page of results, set the Marker to the value of the 19400 // NextMarker from the current page's response (which is also the ID of the 19401 // last profile on that page). 19402 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19403 19404 // The maximum number of field-level encryption profiles you want in the response 19405 // body. 19406 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19407} 19408 19409// String returns the string representation 19410func (s ListFieldLevelEncryptionProfilesInput) String() string { 19411 return awsutil.Prettify(s) 19412} 19413 19414// GoString returns the string representation 19415func (s ListFieldLevelEncryptionProfilesInput) GoString() string { 19416 return s.String() 19417} 19418 19419// SetMarker sets the Marker field's value. 19420func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { 19421 s.Marker = &v 19422 return s 19423} 19424 19425// SetMaxItems sets the MaxItems field's value. 19426func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { 19427 s.MaxItems = &v 19428 return s 19429} 19430 19431type ListFieldLevelEncryptionProfilesOutput struct { 19432 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` 19433 19434 // Returns a list of the field-level encryption profiles that have been created 19435 // in CloudFront for this account. 19436 FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` 19437} 19438 19439// String returns the string representation 19440func (s ListFieldLevelEncryptionProfilesOutput) String() string { 19441 return awsutil.Prettify(s) 19442} 19443 19444// GoString returns the string representation 19445func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { 19446 return s.String() 19447} 19448 19449// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. 19450func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { 19451 s.FieldLevelEncryptionProfileList = v 19452 return s 19453} 19454 19455type ListFunctionsInput struct { 19456 _ struct{} `locationName:"ListFunctionsRequest" type:"structure"` 19457 19458 // Use this field when paginating results to indicate where to begin in your 19459 // list of functions. The response includes functions in the list that occur 19460 // after the marker. To get the next page of the list, set this field’s value 19461 // to the value of NextMarker from the current page’s response. 19462 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19463 19464 // The maximum number of functions that you want in the response. 19465 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19466 19467 // An optional filter to return only the functions that are in the specified 19468 // stage, either DEVELOPMENT or LIVE. 19469 Stage *string `location:"querystring" locationName:"Stage" type:"string" enum:"FunctionStage"` 19470} 19471 19472// String returns the string representation 19473func (s ListFunctionsInput) String() string { 19474 return awsutil.Prettify(s) 19475} 19476 19477// GoString returns the string representation 19478func (s ListFunctionsInput) GoString() string { 19479 return s.String() 19480} 19481 19482// SetMarker sets the Marker field's value. 19483func (s *ListFunctionsInput) SetMarker(v string) *ListFunctionsInput { 19484 s.Marker = &v 19485 return s 19486} 19487 19488// SetMaxItems sets the MaxItems field's value. 19489func (s *ListFunctionsInput) SetMaxItems(v int64) *ListFunctionsInput { 19490 s.MaxItems = &v 19491 return s 19492} 19493 19494// SetStage sets the Stage field's value. 19495func (s *ListFunctionsInput) SetStage(v string) *ListFunctionsInput { 19496 s.Stage = &v 19497 return s 19498} 19499 19500type ListFunctionsOutput struct { 19501 _ struct{} `type:"structure" payload:"FunctionList"` 19502 19503 // A list of CloudFront functions. 19504 FunctionList *FunctionList `type:"structure"` 19505} 19506 19507// String returns the string representation 19508func (s ListFunctionsOutput) String() string { 19509 return awsutil.Prettify(s) 19510} 19511 19512// GoString returns the string representation 19513func (s ListFunctionsOutput) GoString() string { 19514 return s.String() 19515} 19516 19517// SetFunctionList sets the FunctionList field's value. 19518func (s *ListFunctionsOutput) SetFunctionList(v *FunctionList) *ListFunctionsOutput { 19519 s.FunctionList = v 19520 return s 19521} 19522 19523// The request to list invalidations. 19524type ListInvalidationsInput struct { 19525 _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` 19526 19527 // The distribution's ID. 19528 // 19529 // DistributionId is a required field 19530 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 19531 19532 // Use this parameter when paginating results to indicate where to begin in 19533 // your list of invalidation batches. Because the results are returned in decreasing 19534 // order from most recent to oldest, the most recent results are on the first 19535 // page, the second page will contain earlier results, and so on. To get the 19536 // next page of results, set Marker to the value of the NextMarker from the 19537 // current page's response. This value is the same as the ID of the last invalidation 19538 // batch on that page. 19539 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19540 19541 // The maximum number of invalidation batches that you want in the response 19542 // body. 19543 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19544} 19545 19546// String returns the string representation 19547func (s ListInvalidationsInput) String() string { 19548 return awsutil.Prettify(s) 19549} 19550 19551// GoString returns the string representation 19552func (s ListInvalidationsInput) GoString() string { 19553 return s.String() 19554} 19555 19556// Validate inspects the fields of the type to determine if they are valid. 19557func (s *ListInvalidationsInput) Validate() error { 19558 invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} 19559 if s.DistributionId == nil { 19560 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 19561 } 19562 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 19563 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 19564 } 19565 19566 if invalidParams.Len() > 0 { 19567 return invalidParams 19568 } 19569 return nil 19570} 19571 19572// SetDistributionId sets the DistributionId field's value. 19573func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { 19574 s.DistributionId = &v 19575 return s 19576} 19577 19578// SetMarker sets the Marker field's value. 19579func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { 19580 s.Marker = &v 19581 return s 19582} 19583 19584// SetMaxItems sets the MaxItems field's value. 19585func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { 19586 s.MaxItems = &v 19587 return s 19588} 19589 19590// The returned result of the corresponding request. 19591type ListInvalidationsOutput struct { 19592 _ struct{} `type:"structure" payload:"InvalidationList"` 19593 19594 // Information about invalidation batches. 19595 InvalidationList *InvalidationList `type:"structure"` 19596} 19597 19598// String returns the string representation 19599func (s ListInvalidationsOutput) String() string { 19600 return awsutil.Prettify(s) 19601} 19602 19603// GoString returns the string representation 19604func (s ListInvalidationsOutput) GoString() string { 19605 return s.String() 19606} 19607 19608// SetInvalidationList sets the InvalidationList field's value. 19609func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { 19610 s.InvalidationList = v 19611 return s 19612} 19613 19614type ListKeyGroupsInput struct { 19615 _ struct{} `locationName:"ListKeyGroupsRequest" type:"structure"` 19616 19617 // Use this field when paginating results to indicate where to begin in your 19618 // list of key groups. The response includes key groups in the list that occur 19619 // after the marker. To get the next page of the list, set this field’s value 19620 // to the value of NextMarker from the current page’s response. 19621 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19622 19623 // The maximum number of key groups that you want in the response. 19624 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19625} 19626 19627// String returns the string representation 19628func (s ListKeyGroupsInput) String() string { 19629 return awsutil.Prettify(s) 19630} 19631 19632// GoString returns the string representation 19633func (s ListKeyGroupsInput) GoString() string { 19634 return s.String() 19635} 19636 19637// SetMarker sets the Marker field's value. 19638func (s *ListKeyGroupsInput) SetMarker(v string) *ListKeyGroupsInput { 19639 s.Marker = &v 19640 return s 19641} 19642 19643// SetMaxItems sets the MaxItems field's value. 19644func (s *ListKeyGroupsInput) SetMaxItems(v int64) *ListKeyGroupsInput { 19645 s.MaxItems = &v 19646 return s 19647} 19648 19649type ListKeyGroupsOutput struct { 19650 _ struct{} `type:"structure" payload:"KeyGroupList"` 19651 19652 // A list of key groups. 19653 KeyGroupList *KeyGroupList `type:"structure"` 19654} 19655 19656// String returns the string representation 19657func (s ListKeyGroupsOutput) String() string { 19658 return awsutil.Prettify(s) 19659} 19660 19661// GoString returns the string representation 19662func (s ListKeyGroupsOutput) GoString() string { 19663 return s.String() 19664} 19665 19666// SetKeyGroupList sets the KeyGroupList field's value. 19667func (s *ListKeyGroupsOutput) SetKeyGroupList(v *KeyGroupList) *ListKeyGroupsOutput { 19668 s.KeyGroupList = v 19669 return s 19670} 19671 19672type ListOriginRequestPoliciesInput struct { 19673 _ struct{} `locationName:"ListOriginRequestPoliciesRequest" type:"structure"` 19674 19675 // Use this field when paginating results to indicate where to begin in your 19676 // list of origin request policies. The response includes origin request policies 19677 // in the list that occur after the marker. To get the next page of the list, 19678 // set this field’s value to the value of NextMarker from the current page’s 19679 // response. 19680 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19681 19682 // The maximum number of origin request policies that you want in the response. 19683 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19684 19685 // A filter to return only the specified kinds of origin request policies. Valid 19686 // values are: 19687 // 19688 // * managed – Returns only the managed policies created by Amazon Web 19689 // Services. 19690 // 19691 // * custom – Returns only the custom policies created in your account. 19692 Type *string `location:"querystring" locationName:"Type" type:"string" enum:"OriginRequestPolicyType"` 19693} 19694 19695// String returns the string representation 19696func (s ListOriginRequestPoliciesInput) String() string { 19697 return awsutil.Prettify(s) 19698} 19699 19700// GoString returns the string representation 19701func (s ListOriginRequestPoliciesInput) GoString() string { 19702 return s.String() 19703} 19704 19705// SetMarker sets the Marker field's value. 19706func (s *ListOriginRequestPoliciesInput) SetMarker(v string) *ListOriginRequestPoliciesInput { 19707 s.Marker = &v 19708 return s 19709} 19710 19711// SetMaxItems sets the MaxItems field's value. 19712func (s *ListOriginRequestPoliciesInput) SetMaxItems(v int64) *ListOriginRequestPoliciesInput { 19713 s.MaxItems = &v 19714 return s 19715} 19716 19717// SetType sets the Type field's value. 19718func (s *ListOriginRequestPoliciesInput) SetType(v string) *ListOriginRequestPoliciesInput { 19719 s.Type = &v 19720 return s 19721} 19722 19723type ListOriginRequestPoliciesOutput struct { 19724 _ struct{} `type:"structure" payload:"OriginRequestPolicyList"` 19725 19726 // A list of origin request policies. 19727 OriginRequestPolicyList *OriginRequestPolicyList `type:"structure"` 19728} 19729 19730// String returns the string representation 19731func (s ListOriginRequestPoliciesOutput) String() string { 19732 return awsutil.Prettify(s) 19733} 19734 19735// GoString returns the string representation 19736func (s ListOriginRequestPoliciesOutput) GoString() string { 19737 return s.String() 19738} 19739 19740// SetOriginRequestPolicyList sets the OriginRequestPolicyList field's value. 19741func (s *ListOriginRequestPoliciesOutput) SetOriginRequestPolicyList(v *OriginRequestPolicyList) *ListOriginRequestPoliciesOutput { 19742 s.OriginRequestPolicyList = v 19743 return s 19744} 19745 19746type ListPublicKeysInput struct { 19747 _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` 19748 19749 // Use this when paginating results to indicate where to begin in your list 19750 // of public keys. The results include public keys in the list that occur after 19751 // the marker. To get the next page of results, set the Marker to the value 19752 // of the NextMarker from the current page's response (which is also the ID 19753 // of the last public key on that page). 19754 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19755 19756 // The maximum number of public keys you want in the response body. 19757 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19758} 19759 19760// String returns the string representation 19761func (s ListPublicKeysInput) String() string { 19762 return awsutil.Prettify(s) 19763} 19764 19765// GoString returns the string representation 19766func (s ListPublicKeysInput) GoString() string { 19767 return s.String() 19768} 19769 19770// SetMarker sets the Marker field's value. 19771func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { 19772 s.Marker = &v 19773 return s 19774} 19775 19776// SetMaxItems sets the MaxItems field's value. 19777func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { 19778 s.MaxItems = &v 19779 return s 19780} 19781 19782type ListPublicKeysOutput struct { 19783 _ struct{} `type:"structure" payload:"PublicKeyList"` 19784 19785 // Returns a list of all public keys that have been added to CloudFront for 19786 // this account. 19787 PublicKeyList *PublicKeyList `type:"structure"` 19788} 19789 19790// String returns the string representation 19791func (s ListPublicKeysOutput) String() string { 19792 return awsutil.Prettify(s) 19793} 19794 19795// GoString returns the string representation 19796func (s ListPublicKeysOutput) GoString() string { 19797 return s.String() 19798} 19799 19800// SetPublicKeyList sets the PublicKeyList field's value. 19801func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { 19802 s.PublicKeyList = v 19803 return s 19804} 19805 19806type ListRealtimeLogConfigsInput struct { 19807 _ struct{} `locationName:"ListRealtimeLogConfigsRequest" type:"structure"` 19808 19809 // Use this field when paginating results to indicate where to begin in your 19810 // list of real-time log configurations. The response includes real-time log 19811 // configurations in the list that occur after the marker. To get the next page 19812 // of the list, set this field’s value to the value of NextMarker from the 19813 // current page’s response. 19814 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19815 19816 // The maximum number of real-time log configurations that you want in the response. 19817 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19818} 19819 19820// String returns the string representation 19821func (s ListRealtimeLogConfigsInput) String() string { 19822 return awsutil.Prettify(s) 19823} 19824 19825// GoString returns the string representation 19826func (s ListRealtimeLogConfigsInput) GoString() string { 19827 return s.String() 19828} 19829 19830// SetMarker sets the Marker field's value. 19831func (s *ListRealtimeLogConfigsInput) SetMarker(v string) *ListRealtimeLogConfigsInput { 19832 s.Marker = &v 19833 return s 19834} 19835 19836// SetMaxItems sets the MaxItems field's value. 19837func (s *ListRealtimeLogConfigsInput) SetMaxItems(v int64) *ListRealtimeLogConfigsInput { 19838 s.MaxItems = &v 19839 return s 19840} 19841 19842type ListRealtimeLogConfigsOutput struct { 19843 _ struct{} `type:"structure" payload:"RealtimeLogConfigs"` 19844 19845 // A list of real-time log configurations. 19846 RealtimeLogConfigs *RealtimeLogConfigs `type:"structure"` 19847} 19848 19849// String returns the string representation 19850func (s ListRealtimeLogConfigsOutput) String() string { 19851 return awsutil.Prettify(s) 19852} 19853 19854// GoString returns the string representation 19855func (s ListRealtimeLogConfigsOutput) GoString() string { 19856 return s.String() 19857} 19858 19859// SetRealtimeLogConfigs sets the RealtimeLogConfigs field's value. 19860func (s *ListRealtimeLogConfigsOutput) SetRealtimeLogConfigs(v *RealtimeLogConfigs) *ListRealtimeLogConfigsOutput { 19861 s.RealtimeLogConfigs = v 19862 return s 19863} 19864 19865// The request to list your streaming distributions. 19866type ListStreamingDistributionsInput struct { 19867 _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` 19868 19869 // The value that you provided for the Marker request parameter. 19870 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 19871 19872 // The value that you provided for the MaxItems request parameter. 19873 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 19874} 19875 19876// String returns the string representation 19877func (s ListStreamingDistributionsInput) String() string { 19878 return awsutil.Prettify(s) 19879} 19880 19881// GoString returns the string representation 19882func (s ListStreamingDistributionsInput) GoString() string { 19883 return s.String() 19884} 19885 19886// SetMarker sets the Marker field's value. 19887func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { 19888 s.Marker = &v 19889 return s 19890} 19891 19892// SetMaxItems sets the MaxItems field's value. 19893func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { 19894 s.MaxItems = &v 19895 return s 19896} 19897 19898// The returned result of the corresponding request. 19899type ListStreamingDistributionsOutput struct { 19900 _ struct{} `type:"structure" payload:"StreamingDistributionList"` 19901 19902 // The StreamingDistributionList type. 19903 StreamingDistributionList *StreamingDistributionList `type:"structure"` 19904} 19905 19906// String returns the string representation 19907func (s ListStreamingDistributionsOutput) String() string { 19908 return awsutil.Prettify(s) 19909} 19910 19911// GoString returns the string representation 19912func (s ListStreamingDistributionsOutput) GoString() string { 19913 return s.String() 19914} 19915 19916// SetStreamingDistributionList sets the StreamingDistributionList field's value. 19917func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { 19918 s.StreamingDistributionList = v 19919 return s 19920} 19921 19922// The request to list tags for a CloudFront resource. 19923type ListTagsForResourceInput struct { 19924 _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` 19925 19926 // An ARN of a CloudFront resource. 19927 // 19928 // Resource is a required field 19929 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 19930} 19931 19932// String returns the string representation 19933func (s ListTagsForResourceInput) String() string { 19934 return awsutil.Prettify(s) 19935} 19936 19937// GoString returns the string representation 19938func (s ListTagsForResourceInput) GoString() string { 19939 return s.String() 19940} 19941 19942// Validate inspects the fields of the type to determine if they are valid. 19943func (s *ListTagsForResourceInput) Validate() error { 19944 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 19945 if s.Resource == nil { 19946 invalidParams.Add(request.NewErrParamRequired("Resource")) 19947 } 19948 19949 if invalidParams.Len() > 0 { 19950 return invalidParams 19951 } 19952 return nil 19953} 19954 19955// SetResource sets the Resource field's value. 19956func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { 19957 s.Resource = &v 19958 return s 19959} 19960 19961// The returned result of the corresponding request. 19962type ListTagsForResourceOutput struct { 19963 _ struct{} `type:"structure" payload:"Tags"` 19964 19965 // A complex type that contains zero or more Tag elements. 19966 // 19967 // Tags is a required field 19968 Tags *Tags `type:"structure" required:"true"` 19969} 19970 19971// String returns the string representation 19972func (s ListTagsForResourceOutput) String() string { 19973 return awsutil.Prettify(s) 19974} 19975 19976// GoString returns the string representation 19977func (s ListTagsForResourceOutput) GoString() string { 19978 return s.String() 19979} 19980 19981// SetTags sets the Tags field's value. 19982func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { 19983 s.Tags = v 19984 return s 19985} 19986 19987// A complex type that controls whether access logs are written for the distribution. 19988type LoggingConfig struct { 19989 _ struct{} `type:"structure"` 19990 19991 // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. 19992 // 19993 // Bucket is a required field 19994 Bucket *string `type:"string" required:"true"` 19995 19996 // Specifies whether you want CloudFront to save access logs to an Amazon S3 19997 // bucket. If you don't want to enable logging when you create a distribution 19998 // or if you want to disable logging for an existing distribution, specify false 19999 // for Enabled, and specify empty Bucket and Prefix elements. If you specify 20000 // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, 20001 // the values are automatically deleted. 20002 // 20003 // Enabled is a required field 20004 Enabled *bool `type:"boolean" required:"true"` 20005 20006 // Specifies whether you want CloudFront to include cookies in access logs, 20007 // specify true for IncludeCookies. If you choose to include cookies in logs, 20008 // CloudFront logs all cookies regardless of how you configure the cache behaviors 20009 // for this distribution. If you don't want to include cookies when you create 20010 // a distribution or if you want to disable include cookies for an existing 20011 // distribution, specify false for IncludeCookies. 20012 // 20013 // IncludeCookies is a required field 20014 IncludeCookies *bool `type:"boolean" required:"true"` 20015 20016 // An optional string that you want CloudFront to prefix to the access log filenames 20017 // for this distribution, for example, myprefix/. If you want to enable logging, 20018 // but you don't want to specify a prefix, you still must include an empty Prefix 20019 // element in the Logging element. 20020 // 20021 // Prefix is a required field 20022 Prefix *string `type:"string" required:"true"` 20023} 20024 20025// String returns the string representation 20026func (s LoggingConfig) String() string { 20027 return awsutil.Prettify(s) 20028} 20029 20030// GoString returns the string representation 20031func (s LoggingConfig) GoString() string { 20032 return s.String() 20033} 20034 20035// Validate inspects the fields of the type to determine if they are valid. 20036func (s *LoggingConfig) Validate() error { 20037 invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} 20038 if s.Bucket == nil { 20039 invalidParams.Add(request.NewErrParamRequired("Bucket")) 20040 } 20041 if s.Enabled == nil { 20042 invalidParams.Add(request.NewErrParamRequired("Enabled")) 20043 } 20044 if s.IncludeCookies == nil { 20045 invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) 20046 } 20047 if s.Prefix == nil { 20048 invalidParams.Add(request.NewErrParamRequired("Prefix")) 20049 } 20050 20051 if invalidParams.Len() > 0 { 20052 return invalidParams 20053 } 20054 return nil 20055} 20056 20057// SetBucket sets the Bucket field's value. 20058func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { 20059 s.Bucket = &v 20060 return s 20061} 20062 20063// SetEnabled sets the Enabled field's value. 20064func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { 20065 s.Enabled = &v 20066 return s 20067} 20068 20069// SetIncludeCookies sets the IncludeCookies field's value. 20070func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { 20071 s.IncludeCookies = &v 20072 return s 20073} 20074 20075// SetPrefix sets the Prefix field's value. 20076func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { 20077 s.Prefix = &v 20078 return s 20079} 20080 20081// A monitoring subscription. This structure contains information about whether 20082// additional CloudWatch metrics are enabled for a given CloudFront distribution. 20083type MonitoringSubscription struct { 20084 _ struct{} `type:"structure"` 20085 20086 // A subscription configuration for additional CloudWatch metrics. 20087 RealtimeMetricsSubscriptionConfig *RealtimeMetricsSubscriptionConfig `type:"structure"` 20088} 20089 20090// String returns the string representation 20091func (s MonitoringSubscription) String() string { 20092 return awsutil.Prettify(s) 20093} 20094 20095// GoString returns the string representation 20096func (s MonitoringSubscription) GoString() string { 20097 return s.String() 20098} 20099 20100// Validate inspects the fields of the type to determine if they are valid. 20101func (s *MonitoringSubscription) Validate() error { 20102 invalidParams := request.ErrInvalidParams{Context: "MonitoringSubscription"} 20103 if s.RealtimeMetricsSubscriptionConfig != nil { 20104 if err := s.RealtimeMetricsSubscriptionConfig.Validate(); err != nil { 20105 invalidParams.AddNested("RealtimeMetricsSubscriptionConfig", err.(request.ErrInvalidParams)) 20106 } 20107 } 20108 20109 if invalidParams.Len() > 0 { 20110 return invalidParams 20111 } 20112 return nil 20113} 20114 20115// SetRealtimeMetricsSubscriptionConfig sets the RealtimeMetricsSubscriptionConfig field's value. 20116func (s *MonitoringSubscription) SetRealtimeMetricsSubscriptionConfig(v *RealtimeMetricsSubscriptionConfig) *MonitoringSubscription { 20117 s.RealtimeMetricsSubscriptionConfig = v 20118 return s 20119} 20120 20121// An origin. 20122// 20123// An origin is the location where content is stored, and from which CloudFront 20124// gets content to serve to viewers. To specify an origin: 20125// 20126// * Use S3OriginConfig to specify an Amazon S3 bucket that is not configured 20127// with static website hosting. 20128// 20129// * Use CustomOriginConfig to specify all other kinds of origins, including: 20130// An Amazon S3 bucket that is configured with static website hosting An 20131// Elastic Load Balancing load balancer An AWS Elemental MediaPackage endpoint 20132// An AWS Elemental MediaStore container Any other HTTP server, running on 20133// an Amazon EC2 instance or any other kind of host 20134// 20135// For the current maximum number of origins that you can specify per distribution, 20136// see General Quotas on Web Distributions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html#limits-web-distributions) 20137// in the Amazon CloudFront Developer Guide (quotas were formerly referred to 20138// as limits). 20139type Origin struct { 20140 _ struct{} `type:"structure"` 20141 20142 // The number of times that CloudFront attempts to connect to the origin. The 20143 // minimum number is 1, the maximum is 3, and the default (if you don’t specify 20144 // otherwise) is 3. 20145 // 20146 // For a custom origin (including an Amazon S3 bucket that’s configured with 20147 // static website hosting), this value also specifies the number of times that 20148 // CloudFront attempts to get a response from the origin, in the case of an 20149 // Origin Response Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginResponseTimeout). 20150 // 20151 // For more information, see Origin Connection Attempts (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-attempts) 20152 // in the Amazon CloudFront Developer Guide. 20153 ConnectionAttempts *int64 `type:"integer"` 20154 20155 // The number of seconds that CloudFront waits when trying to establish a connection 20156 // to the origin. The minimum timeout is 1 second, the maximum is 10 seconds, 20157 // and the default (if you don’t specify otherwise) is 10 seconds. 20158 // 20159 // For more information, see Origin Connection Timeout (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#origin-connection-timeout) 20160 // in the Amazon CloudFront Developer Guide. 20161 ConnectionTimeout *int64 `type:"integer"` 20162 20163 // A list of HTTP header names and values that CloudFront adds to the requests 20164 // that it sends to the origin. 20165 // 20166 // For more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/add-origin-custom-headers.html) 20167 // in the Amazon CloudFront Developer Guide. 20168 CustomHeaders *CustomHeaders `type:"structure"` 20169 20170 // Use this type to specify an origin that is not an Amazon S3 bucket, with 20171 // one exception. If the Amazon S3 bucket is configured with static website 20172 // hosting, use this type. If the Amazon S3 bucket is not configured with static 20173 // website hosting, use the S3OriginConfig type instead. 20174 CustomOriginConfig *CustomOriginConfig `type:"structure"` 20175 20176 // The domain name for the origin. 20177 // 20178 // For more information, see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) 20179 // in the Amazon CloudFront Developer Guide. 20180 // 20181 // DomainName is a required field 20182 DomainName *string `type:"string" required:"true"` 20183 20184 // A unique identifier for the origin. This value must be unique within the 20185 // distribution. 20186 // 20187 // Use this value to specify the TargetOriginId in a CacheBehavior or DefaultCacheBehavior. 20188 // 20189 // Id is a required field 20190 Id *string `type:"string" required:"true"` 20191 20192 // An optional path that CloudFront appends to the origin domain name when CloudFront 20193 // requests content from the origin. 20194 // 20195 // For more information, see Origin Path (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesOriginPath) 20196 // in the Amazon CloudFront Developer Guide. 20197 OriginPath *string `type:"string"` 20198 20199 // CloudFront Origin Shield. Using Origin Shield can help reduce the load on 20200 // your origin. 20201 // 20202 // For more information, see Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) 20203 // in the Amazon CloudFront Developer Guide. 20204 OriginShield *OriginShield `type:"structure"` 20205 20206 // Use this type to specify an origin that is an Amazon S3 bucket that is not 20207 // configured with static website hosting. To specify any other type of origin, 20208 // including an Amazon S3 bucket that is configured with static website hosting, 20209 // use the CustomOriginConfig type instead. 20210 S3OriginConfig *S3OriginConfig `type:"structure"` 20211} 20212 20213// String returns the string representation 20214func (s Origin) String() string { 20215 return awsutil.Prettify(s) 20216} 20217 20218// GoString returns the string representation 20219func (s Origin) GoString() string { 20220 return s.String() 20221} 20222 20223// Validate inspects the fields of the type to determine if they are valid. 20224func (s *Origin) Validate() error { 20225 invalidParams := request.ErrInvalidParams{Context: "Origin"} 20226 if s.DomainName == nil { 20227 invalidParams.Add(request.NewErrParamRequired("DomainName")) 20228 } 20229 if s.Id == nil { 20230 invalidParams.Add(request.NewErrParamRequired("Id")) 20231 } 20232 if s.CustomHeaders != nil { 20233 if err := s.CustomHeaders.Validate(); err != nil { 20234 invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) 20235 } 20236 } 20237 if s.CustomOriginConfig != nil { 20238 if err := s.CustomOriginConfig.Validate(); err != nil { 20239 invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) 20240 } 20241 } 20242 if s.OriginShield != nil { 20243 if err := s.OriginShield.Validate(); err != nil { 20244 invalidParams.AddNested("OriginShield", err.(request.ErrInvalidParams)) 20245 } 20246 } 20247 if s.S3OriginConfig != nil { 20248 if err := s.S3OriginConfig.Validate(); err != nil { 20249 invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) 20250 } 20251 } 20252 20253 if invalidParams.Len() > 0 { 20254 return invalidParams 20255 } 20256 return nil 20257} 20258 20259// SetConnectionAttempts sets the ConnectionAttempts field's value. 20260func (s *Origin) SetConnectionAttempts(v int64) *Origin { 20261 s.ConnectionAttempts = &v 20262 return s 20263} 20264 20265// SetConnectionTimeout sets the ConnectionTimeout field's value. 20266func (s *Origin) SetConnectionTimeout(v int64) *Origin { 20267 s.ConnectionTimeout = &v 20268 return s 20269} 20270 20271// SetCustomHeaders sets the CustomHeaders field's value. 20272func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { 20273 s.CustomHeaders = v 20274 return s 20275} 20276 20277// SetCustomOriginConfig sets the CustomOriginConfig field's value. 20278func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { 20279 s.CustomOriginConfig = v 20280 return s 20281} 20282 20283// SetDomainName sets the DomainName field's value. 20284func (s *Origin) SetDomainName(v string) *Origin { 20285 s.DomainName = &v 20286 return s 20287} 20288 20289// SetId sets the Id field's value. 20290func (s *Origin) SetId(v string) *Origin { 20291 s.Id = &v 20292 return s 20293} 20294 20295// SetOriginPath sets the OriginPath field's value. 20296func (s *Origin) SetOriginPath(v string) *Origin { 20297 s.OriginPath = &v 20298 return s 20299} 20300 20301// SetOriginShield sets the OriginShield field's value. 20302func (s *Origin) SetOriginShield(v *OriginShield) *Origin { 20303 s.OriginShield = v 20304 return s 20305} 20306 20307// SetS3OriginConfig sets the S3OriginConfig field's value. 20308func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { 20309 s.S3OriginConfig = v 20310 return s 20311} 20312 20313// CloudFront origin access identity. 20314type OriginAccessIdentity struct { 20315 _ struct{} `type:"structure"` 20316 20317 // The current configuration information for the identity. 20318 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` 20319 20320 // The ID for the origin access identity, for example, E74FTE3AJFJ256A. 20321 // 20322 // Id is a required field 20323 Id *string `type:"string" required:"true"` 20324 20325 // The Amazon S3 canonical user ID for the origin access identity, used when 20326 // giving the origin access identity read permission to an object in Amazon 20327 // S3. 20328 // 20329 // S3CanonicalUserId is a required field 20330 S3CanonicalUserId *string `type:"string" required:"true"` 20331} 20332 20333// String returns the string representation 20334func (s OriginAccessIdentity) String() string { 20335 return awsutil.Prettify(s) 20336} 20337 20338// GoString returns the string representation 20339func (s OriginAccessIdentity) GoString() string { 20340 return s.String() 20341} 20342 20343// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 20344func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { 20345 s.CloudFrontOriginAccessIdentityConfig = v 20346 return s 20347} 20348 20349// SetId sets the Id field's value. 20350func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { 20351 s.Id = &v 20352 return s 20353} 20354 20355// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. 20356func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { 20357 s.S3CanonicalUserId = &v 20358 return s 20359} 20360 20361// Origin access identity configuration. Send a GET request to the /CloudFront 20362// API version/CloudFront/identity ID/config resource. 20363type OriginAccessIdentityConfig struct { 20364 _ struct{} `type:"structure"` 20365 20366 // A unique value (for example, a date-time stamp) that ensures that the request 20367 // can't be replayed. 20368 // 20369 // If the value of CallerReference is new (regardless of the content of the 20370 // CloudFrontOriginAccessIdentityConfig object), a new origin access identity 20371 // is created. 20372 // 20373 // If the CallerReference is a value already sent in a previous identity request, 20374 // and the content of the CloudFrontOriginAccessIdentityConfig is identical 20375 // to the original request (ignoring white space), the response includes the 20376 // same information returned to the original request. 20377 // 20378 // If the CallerReference is a value you already sent in a previous request 20379 // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig 20380 // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists 20381 // error. 20382 // 20383 // CallerReference is a required field 20384 CallerReference *string `type:"string" required:"true"` 20385 20386 // A comment to describe the origin access identity. The comment cannot be longer 20387 // than 128 characters. 20388 // 20389 // Comment is a required field 20390 Comment *string `type:"string" required:"true"` 20391} 20392 20393// String returns the string representation 20394func (s OriginAccessIdentityConfig) String() string { 20395 return awsutil.Prettify(s) 20396} 20397 20398// GoString returns the string representation 20399func (s OriginAccessIdentityConfig) GoString() string { 20400 return s.String() 20401} 20402 20403// Validate inspects the fields of the type to determine if they are valid. 20404func (s *OriginAccessIdentityConfig) Validate() error { 20405 invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} 20406 if s.CallerReference == nil { 20407 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 20408 } 20409 if s.Comment == nil { 20410 invalidParams.Add(request.NewErrParamRequired("Comment")) 20411 } 20412 20413 if invalidParams.Len() > 0 { 20414 return invalidParams 20415 } 20416 return nil 20417} 20418 20419// SetCallerReference sets the CallerReference field's value. 20420func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { 20421 s.CallerReference = &v 20422 return s 20423} 20424 20425// SetComment sets the Comment field's value. 20426func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { 20427 s.Comment = &v 20428 return s 20429} 20430 20431// Lists the origin access identities for CloudFront.Send a GET request to the 20432// /CloudFront API version/origin-access-identity/cloudfront resource. The response 20433// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary 20434// child elements. By default, your entire list of origin access identities 20435// is returned in one single page. If the list is long, you can paginate it 20436// using the MaxItems and Marker parameters. 20437type OriginAccessIdentityList struct { 20438 _ struct{} `type:"structure"` 20439 20440 // A flag that indicates whether more origin access identities remain to be 20441 // listed. If your results were truncated, you can make a follow-up pagination 20442 // request using the Marker request parameter to retrieve more items in the 20443 // list. 20444 // 20445 // IsTruncated is a required field 20446 IsTruncated *bool `type:"boolean" required:"true"` 20447 20448 // A complex type that contains one CloudFrontOriginAccessIdentitySummary element 20449 // for each origin access identity that was created by the current account. 20450 Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` 20451 20452 // Use this when paginating results to indicate where to begin in your list 20453 // of origin access identities. The results include identities in the list that 20454 // occur after the marker. To get the next page of results, set the Marker to 20455 // the value of the NextMarker from the current page's response (which is also 20456 // the ID of the last identity on that page). 20457 // 20458 // Marker is a required field 20459 Marker *string `type:"string" required:"true"` 20460 20461 // The maximum number of origin access identities you want in the response body. 20462 // 20463 // MaxItems is a required field 20464 MaxItems *int64 `type:"integer" required:"true"` 20465 20466 // If IsTruncated is true, this element is present and contains the value you 20467 // can use for the Marker request parameter to continue listing your origin 20468 // access identities where they left off. 20469 NextMarker *string `type:"string"` 20470 20471 // The number of CloudFront origin access identities that were created by the 20472 // current account. 20473 // 20474 // Quantity is a required field 20475 Quantity *int64 `type:"integer" required:"true"` 20476} 20477 20478// String returns the string representation 20479func (s OriginAccessIdentityList) String() string { 20480 return awsutil.Prettify(s) 20481} 20482 20483// GoString returns the string representation 20484func (s OriginAccessIdentityList) GoString() string { 20485 return s.String() 20486} 20487 20488// SetIsTruncated sets the IsTruncated field's value. 20489func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { 20490 s.IsTruncated = &v 20491 return s 20492} 20493 20494// SetItems sets the Items field's value. 20495func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { 20496 s.Items = v 20497 return s 20498} 20499 20500// SetMarker sets the Marker field's value. 20501func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { 20502 s.Marker = &v 20503 return s 20504} 20505 20506// SetMaxItems sets the MaxItems field's value. 20507func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { 20508 s.MaxItems = &v 20509 return s 20510} 20511 20512// SetNextMarker sets the NextMarker field's value. 20513func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { 20514 s.NextMarker = &v 20515 return s 20516} 20517 20518// SetQuantity sets the Quantity field's value. 20519func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { 20520 s.Quantity = &v 20521 return s 20522} 20523 20524// Summary of the information about a CloudFront origin access identity. 20525type OriginAccessIdentitySummary struct { 20526 _ struct{} `type:"structure"` 20527 20528 // The comment for this origin access identity, as originally specified when 20529 // created. 20530 // 20531 // Comment is a required field 20532 Comment *string `type:"string" required:"true"` 20533 20534 // The ID for the origin access identity. For example: E74FTE3AJFJ256A. 20535 // 20536 // Id is a required field 20537 Id *string `type:"string" required:"true"` 20538 20539 // The Amazon S3 canonical user ID for the origin access identity, which you 20540 // use when giving the origin access identity read permission to an object in 20541 // Amazon S3. 20542 // 20543 // S3CanonicalUserId is a required field 20544 S3CanonicalUserId *string `type:"string" required:"true"` 20545} 20546 20547// String returns the string representation 20548func (s OriginAccessIdentitySummary) String() string { 20549 return awsutil.Prettify(s) 20550} 20551 20552// GoString returns the string representation 20553func (s OriginAccessIdentitySummary) GoString() string { 20554 return s.String() 20555} 20556 20557// SetComment sets the Comment field's value. 20558func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { 20559 s.Comment = &v 20560 return s 20561} 20562 20563// SetId sets the Id field's value. 20564func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { 20565 s.Id = &v 20566 return s 20567} 20568 20569// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. 20570func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { 20571 s.S3CanonicalUserId = &v 20572 return s 20573} 20574 20575// A complex type that contains HeaderName and HeaderValue elements, if any, 20576// for this distribution. 20577type OriginCustomHeader struct { 20578 _ struct{} `type:"structure"` 20579 20580 // The name of a header that you want CloudFront to send to your origin. For 20581 // more information, see Adding Custom Headers to Origin Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) 20582 // in the Amazon CloudFront Developer Guide. 20583 // 20584 // HeaderName is a required field 20585 HeaderName *string `type:"string" required:"true"` 20586 20587 // The value for the header that you specified in the HeaderName field. 20588 // 20589 // HeaderValue is a required field 20590 HeaderValue *string `type:"string" required:"true"` 20591} 20592 20593// String returns the string representation 20594func (s OriginCustomHeader) String() string { 20595 return awsutil.Prettify(s) 20596} 20597 20598// GoString returns the string representation 20599func (s OriginCustomHeader) GoString() string { 20600 return s.String() 20601} 20602 20603// Validate inspects the fields of the type to determine if they are valid. 20604func (s *OriginCustomHeader) Validate() error { 20605 invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} 20606 if s.HeaderName == nil { 20607 invalidParams.Add(request.NewErrParamRequired("HeaderName")) 20608 } 20609 if s.HeaderValue == nil { 20610 invalidParams.Add(request.NewErrParamRequired("HeaderValue")) 20611 } 20612 20613 if invalidParams.Len() > 0 { 20614 return invalidParams 20615 } 20616 return nil 20617} 20618 20619// SetHeaderName sets the HeaderName field's value. 20620func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { 20621 s.HeaderName = &v 20622 return s 20623} 20624 20625// SetHeaderValue sets the HeaderValue field's value. 20626func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { 20627 s.HeaderValue = &v 20628 return s 20629} 20630 20631// An origin group includes two origins (a primary origin and a second origin 20632// to failover to) and a failover criteria that you specify. You create an origin 20633// group to support origin failover in CloudFront. When you create or update 20634// a distribution, you can specifiy the origin group instead of a single origin, 20635// and CloudFront will failover from the primary origin to the second origin 20636// under the failover conditions that you've chosen. 20637type OriginGroup struct { 20638 _ struct{} `type:"structure"` 20639 20640 // A complex type that contains information about the failover criteria for 20641 // an origin group. 20642 // 20643 // FailoverCriteria is a required field 20644 FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` 20645 20646 // The origin group's ID. 20647 // 20648 // Id is a required field 20649 Id *string `type:"string" required:"true"` 20650 20651 // A complex type that contains information about the origins in an origin group. 20652 // 20653 // Members is a required field 20654 Members *OriginGroupMembers `type:"structure" required:"true"` 20655} 20656 20657// String returns the string representation 20658func (s OriginGroup) String() string { 20659 return awsutil.Prettify(s) 20660} 20661 20662// GoString returns the string representation 20663func (s OriginGroup) GoString() string { 20664 return s.String() 20665} 20666 20667// Validate inspects the fields of the type to determine if they are valid. 20668func (s *OriginGroup) Validate() error { 20669 invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} 20670 if s.FailoverCriteria == nil { 20671 invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) 20672 } 20673 if s.Id == nil { 20674 invalidParams.Add(request.NewErrParamRequired("Id")) 20675 } 20676 if s.Members == nil { 20677 invalidParams.Add(request.NewErrParamRequired("Members")) 20678 } 20679 if s.FailoverCriteria != nil { 20680 if err := s.FailoverCriteria.Validate(); err != nil { 20681 invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) 20682 } 20683 } 20684 if s.Members != nil { 20685 if err := s.Members.Validate(); err != nil { 20686 invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) 20687 } 20688 } 20689 20690 if invalidParams.Len() > 0 { 20691 return invalidParams 20692 } 20693 return nil 20694} 20695 20696// SetFailoverCriteria sets the FailoverCriteria field's value. 20697func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { 20698 s.FailoverCriteria = v 20699 return s 20700} 20701 20702// SetId sets the Id field's value. 20703func (s *OriginGroup) SetId(v string) *OriginGroup { 20704 s.Id = &v 20705 return s 20706} 20707 20708// SetMembers sets the Members field's value. 20709func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { 20710 s.Members = v 20711 return s 20712} 20713 20714// A complex data type that includes information about the failover criteria 20715// for an origin group, including the status codes for which CloudFront will 20716// failover from the primary origin to the second origin. 20717type OriginGroupFailoverCriteria struct { 20718 _ struct{} `type:"structure"` 20719 20720 // The status codes that, when returned from the primary origin, will trigger 20721 // CloudFront to failover to the second origin. 20722 // 20723 // StatusCodes is a required field 20724 StatusCodes *StatusCodes `type:"structure" required:"true"` 20725} 20726 20727// String returns the string representation 20728func (s OriginGroupFailoverCriteria) String() string { 20729 return awsutil.Prettify(s) 20730} 20731 20732// GoString returns the string representation 20733func (s OriginGroupFailoverCriteria) GoString() string { 20734 return s.String() 20735} 20736 20737// Validate inspects the fields of the type to determine if they are valid. 20738func (s *OriginGroupFailoverCriteria) Validate() error { 20739 invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} 20740 if s.StatusCodes == nil { 20741 invalidParams.Add(request.NewErrParamRequired("StatusCodes")) 20742 } 20743 if s.StatusCodes != nil { 20744 if err := s.StatusCodes.Validate(); err != nil { 20745 invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) 20746 } 20747 } 20748 20749 if invalidParams.Len() > 0 { 20750 return invalidParams 20751 } 20752 return nil 20753} 20754 20755// SetStatusCodes sets the StatusCodes field's value. 20756func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { 20757 s.StatusCodes = v 20758 return s 20759} 20760 20761// An origin in an origin group. 20762type OriginGroupMember struct { 20763 _ struct{} `type:"structure"` 20764 20765 // The ID for an origin in an origin group. 20766 // 20767 // OriginId is a required field 20768 OriginId *string `type:"string" required:"true"` 20769} 20770 20771// String returns the string representation 20772func (s OriginGroupMember) String() string { 20773 return awsutil.Prettify(s) 20774} 20775 20776// GoString returns the string representation 20777func (s OriginGroupMember) GoString() string { 20778 return s.String() 20779} 20780 20781// Validate inspects the fields of the type to determine if they are valid. 20782func (s *OriginGroupMember) Validate() error { 20783 invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} 20784 if s.OriginId == nil { 20785 invalidParams.Add(request.NewErrParamRequired("OriginId")) 20786 } 20787 20788 if invalidParams.Len() > 0 { 20789 return invalidParams 20790 } 20791 return nil 20792} 20793 20794// SetOriginId sets the OriginId field's value. 20795func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { 20796 s.OriginId = &v 20797 return s 20798} 20799 20800// A complex data type for the origins included in an origin group. 20801type OriginGroupMembers struct { 20802 _ struct{} `type:"structure"` 20803 20804 // Items (origins) in an origin group. 20805 // 20806 // Items is a required field 20807 Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` 20808 20809 // The number of origins in an origin group. 20810 // 20811 // Quantity is a required field 20812 Quantity *int64 `type:"integer" required:"true"` 20813} 20814 20815// String returns the string representation 20816func (s OriginGroupMembers) String() string { 20817 return awsutil.Prettify(s) 20818} 20819 20820// GoString returns the string representation 20821func (s OriginGroupMembers) GoString() string { 20822 return s.String() 20823} 20824 20825// Validate inspects the fields of the type to determine if they are valid. 20826func (s *OriginGroupMembers) Validate() error { 20827 invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} 20828 if s.Items == nil { 20829 invalidParams.Add(request.NewErrParamRequired("Items")) 20830 } 20831 if s.Items != nil && len(s.Items) < 2 { 20832 invalidParams.Add(request.NewErrParamMinLen("Items", 2)) 20833 } 20834 if s.Quantity == nil { 20835 invalidParams.Add(request.NewErrParamRequired("Quantity")) 20836 } 20837 if s.Items != nil { 20838 for i, v := range s.Items { 20839 if v == nil { 20840 continue 20841 } 20842 if err := v.Validate(); err != nil { 20843 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 20844 } 20845 } 20846 } 20847 20848 if invalidParams.Len() > 0 { 20849 return invalidParams 20850 } 20851 return nil 20852} 20853 20854// SetItems sets the Items field's value. 20855func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { 20856 s.Items = v 20857 return s 20858} 20859 20860// SetQuantity sets the Quantity field's value. 20861func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { 20862 s.Quantity = &v 20863 return s 20864} 20865 20866// A complex data type for the origin groups specified for a distribution. 20867type OriginGroups struct { 20868 _ struct{} `type:"structure"` 20869 20870 // The items (origin groups) in a distribution. 20871 Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` 20872 20873 // The number of origin groups. 20874 // 20875 // Quantity is a required field 20876 Quantity *int64 `type:"integer" required:"true"` 20877} 20878 20879// String returns the string representation 20880func (s OriginGroups) String() string { 20881 return awsutil.Prettify(s) 20882} 20883 20884// GoString returns the string representation 20885func (s OriginGroups) GoString() string { 20886 return s.String() 20887} 20888 20889// Validate inspects the fields of the type to determine if they are valid. 20890func (s *OriginGroups) Validate() error { 20891 invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} 20892 if s.Quantity == nil { 20893 invalidParams.Add(request.NewErrParamRequired("Quantity")) 20894 } 20895 if s.Items != nil { 20896 for i, v := range s.Items { 20897 if v == nil { 20898 continue 20899 } 20900 if err := v.Validate(); err != nil { 20901 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 20902 } 20903 } 20904 } 20905 20906 if invalidParams.Len() > 0 { 20907 return invalidParams 20908 } 20909 return nil 20910} 20911 20912// SetItems sets the Items field's value. 20913func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { 20914 s.Items = v 20915 return s 20916} 20917 20918// SetQuantity sets the Quantity field's value. 20919func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { 20920 s.Quantity = &v 20921 return s 20922} 20923 20924// An origin request policy. 20925// 20926// When it’s attached to a cache behavior, the origin request policy determines 20927// the values that CloudFront includes in requests that it sends to the origin. 20928// Each request that CloudFront sends to the origin includes the following: 20929// 20930// * The request body and the URL path (without the domain name) from the 20931// viewer request. 20932// 20933// * The headers that CloudFront automatically includes in every origin request, 20934// including Host, User-Agent, and X-Amz-Cf-Id. 20935// 20936// * All HTTP headers, cookies, and URL query strings that are specified 20937// in the cache policy or the origin request policy. These can include items 20938// from the viewer request and, in the case of headers, additional ones that 20939// are added by CloudFront. 20940// 20941// CloudFront sends a request when it can’t find an object in its cache that 20942// matches the request. If you want to send values to the origin and also include 20943// them in the cache key, use CachePolicy. 20944type OriginRequestPolicy struct { 20945 _ struct{} `type:"structure"` 20946 20947 // The unique identifier for the origin request policy. 20948 // 20949 // Id is a required field 20950 Id *string `type:"string" required:"true"` 20951 20952 // The date and time when the origin request policy was last modified. 20953 // 20954 // LastModifiedTime is a required field 20955 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 20956 20957 // The origin request policy configuration. 20958 // 20959 // OriginRequestPolicyConfig is a required field 20960 OriginRequestPolicyConfig *OriginRequestPolicyConfig `type:"structure" required:"true"` 20961} 20962 20963// String returns the string representation 20964func (s OriginRequestPolicy) String() string { 20965 return awsutil.Prettify(s) 20966} 20967 20968// GoString returns the string representation 20969func (s OriginRequestPolicy) GoString() string { 20970 return s.String() 20971} 20972 20973// SetId sets the Id field's value. 20974func (s *OriginRequestPolicy) SetId(v string) *OriginRequestPolicy { 20975 s.Id = &v 20976 return s 20977} 20978 20979// SetLastModifiedTime sets the LastModifiedTime field's value. 20980func (s *OriginRequestPolicy) SetLastModifiedTime(v time.Time) *OriginRequestPolicy { 20981 s.LastModifiedTime = &v 20982 return s 20983} 20984 20985// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. 20986func (s *OriginRequestPolicy) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *OriginRequestPolicy { 20987 s.OriginRequestPolicyConfig = v 20988 return s 20989} 20990 20991// An origin request policy configuration. 20992// 20993// This configuration determines the values that CloudFront includes in requests 20994// that it sends to the origin. Each request that CloudFront sends to the origin 20995// includes the following: 20996// 20997// * The request body and the URL path (without the domain name) from the 20998// viewer request. 20999// 21000// * The headers that CloudFront automatically includes in every origin request, 21001// including Host, User-Agent, and X-Amz-Cf-Id. 21002// 21003// * All HTTP headers, cookies, and URL query strings that are specified 21004// in the cache policy or the origin request policy. These can include items 21005// from the viewer request and, in the case of headers, additional ones that 21006// are added by CloudFront. 21007// 21008// CloudFront sends a request when it can’t find an object in its cache that 21009// matches the request. If you want to send values to the origin and also include 21010// them in the cache key, use CachePolicy. 21011type OriginRequestPolicyConfig struct { 21012 _ struct{} `type:"structure"` 21013 21014 // A comment to describe the origin request policy. The comment cannot be longer 21015 // than 128 characters. 21016 Comment *string `type:"string"` 21017 21018 // The cookies from viewer requests to include in origin requests. 21019 // 21020 // CookiesConfig is a required field 21021 CookiesConfig *OriginRequestPolicyCookiesConfig `type:"structure" required:"true"` 21022 21023 // The HTTP headers to include in origin requests. These can include headers 21024 // from viewer requests and additional headers added by CloudFront. 21025 // 21026 // HeadersConfig is a required field 21027 HeadersConfig *OriginRequestPolicyHeadersConfig `type:"structure" required:"true"` 21028 21029 // A unique name to identify the origin request policy. 21030 // 21031 // Name is a required field 21032 Name *string `type:"string" required:"true"` 21033 21034 // The URL query strings from viewer requests to include in origin requests. 21035 // 21036 // QueryStringsConfig is a required field 21037 QueryStringsConfig *OriginRequestPolicyQueryStringsConfig `type:"structure" required:"true"` 21038} 21039 21040// String returns the string representation 21041func (s OriginRequestPolicyConfig) String() string { 21042 return awsutil.Prettify(s) 21043} 21044 21045// GoString returns the string representation 21046func (s OriginRequestPolicyConfig) GoString() string { 21047 return s.String() 21048} 21049 21050// Validate inspects the fields of the type to determine if they are valid. 21051func (s *OriginRequestPolicyConfig) Validate() error { 21052 invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyConfig"} 21053 if s.CookiesConfig == nil { 21054 invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) 21055 } 21056 if s.HeadersConfig == nil { 21057 invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) 21058 } 21059 if s.Name == nil { 21060 invalidParams.Add(request.NewErrParamRequired("Name")) 21061 } 21062 if s.QueryStringsConfig == nil { 21063 invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) 21064 } 21065 if s.CookiesConfig != nil { 21066 if err := s.CookiesConfig.Validate(); err != nil { 21067 invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) 21068 } 21069 } 21070 if s.HeadersConfig != nil { 21071 if err := s.HeadersConfig.Validate(); err != nil { 21072 invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) 21073 } 21074 } 21075 if s.QueryStringsConfig != nil { 21076 if err := s.QueryStringsConfig.Validate(); err != nil { 21077 invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) 21078 } 21079 } 21080 21081 if invalidParams.Len() > 0 { 21082 return invalidParams 21083 } 21084 return nil 21085} 21086 21087// SetComment sets the Comment field's value. 21088func (s *OriginRequestPolicyConfig) SetComment(v string) *OriginRequestPolicyConfig { 21089 s.Comment = &v 21090 return s 21091} 21092 21093// SetCookiesConfig sets the CookiesConfig field's value. 21094func (s *OriginRequestPolicyConfig) SetCookiesConfig(v *OriginRequestPolicyCookiesConfig) *OriginRequestPolicyConfig { 21095 s.CookiesConfig = v 21096 return s 21097} 21098 21099// SetHeadersConfig sets the HeadersConfig field's value. 21100func (s *OriginRequestPolicyConfig) SetHeadersConfig(v *OriginRequestPolicyHeadersConfig) *OriginRequestPolicyConfig { 21101 s.HeadersConfig = v 21102 return s 21103} 21104 21105// SetName sets the Name field's value. 21106func (s *OriginRequestPolicyConfig) SetName(v string) *OriginRequestPolicyConfig { 21107 s.Name = &v 21108 return s 21109} 21110 21111// SetQueryStringsConfig sets the QueryStringsConfig field's value. 21112func (s *OriginRequestPolicyConfig) SetQueryStringsConfig(v *OriginRequestPolicyQueryStringsConfig) *OriginRequestPolicyConfig { 21113 s.QueryStringsConfig = v 21114 return s 21115} 21116 21117// An object that determines whether any cookies in viewer requests (and if 21118// so, which cookies) are included in requests that CloudFront sends to the 21119// origin. 21120type OriginRequestPolicyCookiesConfig struct { 21121 _ struct{} `type:"structure"` 21122 21123 // Determines whether cookies in viewer requests are included in requests that 21124 // CloudFront sends to the origin. Valid values are: 21125 // 21126 // * none – Cookies in viewer requests are not included in requests that 21127 // CloudFront sends to the origin. Even when this field is set to none, any 21128 // cookies that are listed in a CachePolicy are included in origin requests. 21129 // 21130 // * whitelist – The cookies in viewer requests that are listed in the 21131 // CookieNames type are included in requests that CloudFront sends to the 21132 // origin. 21133 // 21134 // * all – All cookies in viewer requests are included in requests that 21135 // CloudFront sends to the origin. 21136 // 21137 // CookieBehavior is a required field 21138 CookieBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyCookieBehavior"` 21139 21140 // Contains a list of cookie names. 21141 Cookies *CookieNames `type:"structure"` 21142} 21143 21144// String returns the string representation 21145func (s OriginRequestPolicyCookiesConfig) String() string { 21146 return awsutil.Prettify(s) 21147} 21148 21149// GoString returns the string representation 21150func (s OriginRequestPolicyCookiesConfig) GoString() string { 21151 return s.String() 21152} 21153 21154// Validate inspects the fields of the type to determine if they are valid. 21155func (s *OriginRequestPolicyCookiesConfig) Validate() error { 21156 invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyCookiesConfig"} 21157 if s.CookieBehavior == nil { 21158 invalidParams.Add(request.NewErrParamRequired("CookieBehavior")) 21159 } 21160 if s.Cookies != nil { 21161 if err := s.Cookies.Validate(); err != nil { 21162 invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) 21163 } 21164 } 21165 21166 if invalidParams.Len() > 0 { 21167 return invalidParams 21168 } 21169 return nil 21170} 21171 21172// SetCookieBehavior sets the CookieBehavior field's value. 21173func (s *OriginRequestPolicyCookiesConfig) SetCookieBehavior(v string) *OriginRequestPolicyCookiesConfig { 21174 s.CookieBehavior = &v 21175 return s 21176} 21177 21178// SetCookies sets the Cookies field's value. 21179func (s *OriginRequestPolicyCookiesConfig) SetCookies(v *CookieNames) *OriginRequestPolicyCookiesConfig { 21180 s.Cookies = v 21181 return s 21182} 21183 21184// An object that determines whether any HTTP headers (and if so, which headers) 21185// are included in requests that CloudFront sends to the origin. 21186type OriginRequestPolicyHeadersConfig struct { 21187 _ struct{} `type:"structure"` 21188 21189 // Determines whether any HTTP headers are included in requests that CloudFront 21190 // sends to the origin. Valid values are: 21191 // 21192 // * none – HTTP headers are not included in requests that CloudFront sends 21193 // to the origin. Even when this field is set to none, any headers that are 21194 // listed in a CachePolicy are included in origin requests. 21195 // 21196 // * whitelist – The HTTP headers that are listed in the Headers type are 21197 // included in requests that CloudFront sends to the origin. 21198 // 21199 // * allViewer – All HTTP headers in viewer requests are included in requests 21200 // that CloudFront sends to the origin. 21201 // 21202 // * allViewerAndWhitelistCloudFront – All HTTP headers in viewer requests 21203 // and the additional CloudFront headers that are listed in the Headers type 21204 // are included in requests that CloudFront sends to the origin. The additional 21205 // headers are added by CloudFront. 21206 // 21207 // HeaderBehavior is a required field 21208 HeaderBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyHeaderBehavior"` 21209 21210 // Contains a list of HTTP header names. 21211 Headers *Headers `type:"structure"` 21212} 21213 21214// String returns the string representation 21215func (s OriginRequestPolicyHeadersConfig) String() string { 21216 return awsutil.Prettify(s) 21217} 21218 21219// GoString returns the string representation 21220func (s OriginRequestPolicyHeadersConfig) GoString() string { 21221 return s.String() 21222} 21223 21224// Validate inspects the fields of the type to determine if they are valid. 21225func (s *OriginRequestPolicyHeadersConfig) Validate() error { 21226 invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyHeadersConfig"} 21227 if s.HeaderBehavior == nil { 21228 invalidParams.Add(request.NewErrParamRequired("HeaderBehavior")) 21229 } 21230 if s.Headers != nil { 21231 if err := s.Headers.Validate(); err != nil { 21232 invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) 21233 } 21234 } 21235 21236 if invalidParams.Len() > 0 { 21237 return invalidParams 21238 } 21239 return nil 21240} 21241 21242// SetHeaderBehavior sets the HeaderBehavior field's value. 21243func (s *OriginRequestPolicyHeadersConfig) SetHeaderBehavior(v string) *OriginRequestPolicyHeadersConfig { 21244 s.HeaderBehavior = &v 21245 return s 21246} 21247 21248// SetHeaders sets the Headers field's value. 21249func (s *OriginRequestPolicyHeadersConfig) SetHeaders(v *Headers) *OriginRequestPolicyHeadersConfig { 21250 s.Headers = v 21251 return s 21252} 21253 21254// A list of origin request policies. 21255type OriginRequestPolicyList struct { 21256 _ struct{} `type:"structure"` 21257 21258 // Contains the origin request policies in the list. 21259 Items []*OriginRequestPolicySummary `locationNameList:"OriginRequestPolicySummary" type:"list"` 21260 21261 // The maximum number of origin request policies requested. 21262 // 21263 // MaxItems is a required field 21264 MaxItems *int64 `type:"integer" required:"true"` 21265 21266 // If there are more items in the list than are in this response, this element 21267 // is present. It contains the value that you should use in the Marker field 21268 // of a subsequent request to continue listing origin request policies where 21269 // you left off. 21270 NextMarker *string `type:"string"` 21271 21272 // The total number of origin request policies returned in the response. 21273 // 21274 // Quantity is a required field 21275 Quantity *int64 `type:"integer" required:"true"` 21276} 21277 21278// String returns the string representation 21279func (s OriginRequestPolicyList) String() string { 21280 return awsutil.Prettify(s) 21281} 21282 21283// GoString returns the string representation 21284func (s OriginRequestPolicyList) GoString() string { 21285 return s.String() 21286} 21287 21288// SetItems sets the Items field's value. 21289func (s *OriginRequestPolicyList) SetItems(v []*OriginRequestPolicySummary) *OriginRequestPolicyList { 21290 s.Items = v 21291 return s 21292} 21293 21294// SetMaxItems sets the MaxItems field's value. 21295func (s *OriginRequestPolicyList) SetMaxItems(v int64) *OriginRequestPolicyList { 21296 s.MaxItems = &v 21297 return s 21298} 21299 21300// SetNextMarker sets the NextMarker field's value. 21301func (s *OriginRequestPolicyList) SetNextMarker(v string) *OriginRequestPolicyList { 21302 s.NextMarker = &v 21303 return s 21304} 21305 21306// SetQuantity sets the Quantity field's value. 21307func (s *OriginRequestPolicyList) SetQuantity(v int64) *OriginRequestPolicyList { 21308 s.Quantity = &v 21309 return s 21310} 21311 21312// An object that determines whether any URL query strings in viewer requests 21313// (and if so, which query strings) are included in requests that CloudFront 21314// sends to the origin. 21315type OriginRequestPolicyQueryStringsConfig struct { 21316 _ struct{} `type:"structure"` 21317 21318 // Determines whether any URL query strings in viewer requests are included 21319 // in requests that CloudFront sends to the origin. Valid values are: 21320 // 21321 // * none – Query strings in viewer requests are not included in requests 21322 // that CloudFront sends to the origin. Even when this field is set to none, 21323 // any query strings that are listed in a CachePolicy are included in origin 21324 // requests. 21325 // 21326 // * whitelist – The query strings in viewer requests that are listed in 21327 // the QueryStringNames type are included in requests that CloudFront sends 21328 // to the origin. 21329 // 21330 // * all – All query strings in viewer requests are included in requests 21331 // that CloudFront sends to the origin. 21332 // 21333 // QueryStringBehavior is a required field 21334 QueryStringBehavior *string `type:"string" required:"true" enum:"OriginRequestPolicyQueryStringBehavior"` 21335 21336 // Contains a list of the query strings in viewer requests that are included 21337 // in requests that CloudFront sends to the origin. 21338 QueryStrings *QueryStringNames `type:"structure"` 21339} 21340 21341// String returns the string representation 21342func (s OriginRequestPolicyQueryStringsConfig) String() string { 21343 return awsutil.Prettify(s) 21344} 21345 21346// GoString returns the string representation 21347func (s OriginRequestPolicyQueryStringsConfig) GoString() string { 21348 return s.String() 21349} 21350 21351// Validate inspects the fields of the type to determine if they are valid. 21352func (s *OriginRequestPolicyQueryStringsConfig) Validate() error { 21353 invalidParams := request.ErrInvalidParams{Context: "OriginRequestPolicyQueryStringsConfig"} 21354 if s.QueryStringBehavior == nil { 21355 invalidParams.Add(request.NewErrParamRequired("QueryStringBehavior")) 21356 } 21357 if s.QueryStrings != nil { 21358 if err := s.QueryStrings.Validate(); err != nil { 21359 invalidParams.AddNested("QueryStrings", err.(request.ErrInvalidParams)) 21360 } 21361 } 21362 21363 if invalidParams.Len() > 0 { 21364 return invalidParams 21365 } 21366 return nil 21367} 21368 21369// SetQueryStringBehavior sets the QueryStringBehavior field's value. 21370func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStringBehavior(v string) *OriginRequestPolicyQueryStringsConfig { 21371 s.QueryStringBehavior = &v 21372 return s 21373} 21374 21375// SetQueryStrings sets the QueryStrings field's value. 21376func (s *OriginRequestPolicyQueryStringsConfig) SetQueryStrings(v *QueryStringNames) *OriginRequestPolicyQueryStringsConfig { 21377 s.QueryStrings = v 21378 return s 21379} 21380 21381// Contains an origin request policy. 21382type OriginRequestPolicySummary struct { 21383 _ struct{} `type:"structure"` 21384 21385 // The origin request policy. 21386 // 21387 // OriginRequestPolicy is a required field 21388 OriginRequestPolicy *OriginRequestPolicy `type:"structure" required:"true"` 21389 21390 // The type of origin request policy, either managed (created by Amazon Web 21391 // Services) or custom (created in this account). 21392 // 21393 // Type is a required field 21394 Type *string `type:"string" required:"true" enum:"OriginRequestPolicyType"` 21395} 21396 21397// String returns the string representation 21398func (s OriginRequestPolicySummary) String() string { 21399 return awsutil.Prettify(s) 21400} 21401 21402// GoString returns the string representation 21403func (s OriginRequestPolicySummary) GoString() string { 21404 return s.String() 21405} 21406 21407// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. 21408func (s *OriginRequestPolicySummary) SetOriginRequestPolicy(v *OriginRequestPolicy) *OriginRequestPolicySummary { 21409 s.OriginRequestPolicy = v 21410 return s 21411} 21412 21413// SetType sets the Type field's value. 21414func (s *OriginRequestPolicySummary) SetType(v string) *OriginRequestPolicySummary { 21415 s.Type = &v 21416 return s 21417} 21418 21419// CloudFront Origin Shield. 21420// 21421// Using Origin Shield can help reduce the load on your origin. For more information, 21422// see Using Origin Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html) 21423// in the Amazon CloudFront Developer Guide. 21424type OriginShield struct { 21425 _ struct{} `type:"structure"` 21426 21427 // A flag that specifies whether Origin Shield is enabled. 21428 // 21429 // When it’s enabled, CloudFront routes all requests through Origin Shield, 21430 // which can help protect your origin. When it’s disabled, CloudFront might 21431 // send requests directly to your origin from multiple edge locations or regional 21432 // edge caches. 21433 // 21434 // Enabled is a required field 21435 Enabled *bool `type:"boolean" required:"true"` 21436 21437 // The Region for Origin Shield. 21438 // 21439 // Specify the Region that has the lowest latency to your origin. To specify 21440 // a region, use the region code, not the region name. For example, specify 21441 // the US East (Ohio) region as us-east-2. 21442 // 21443 // When you enable CloudFront Origin Shield, you must specify the Region for 21444 // Origin Shield. For the list of Regions that you can specify, and for help 21445 // choosing the best Region for your origin, see Choosing the Region for Origin 21446 // Shield (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html#choose-origin-shield-region) 21447 // in the Amazon CloudFront Developer Guide. 21448 OriginShieldRegion *string `min:"1" type:"string"` 21449} 21450 21451// String returns the string representation 21452func (s OriginShield) String() string { 21453 return awsutil.Prettify(s) 21454} 21455 21456// GoString returns the string representation 21457func (s OriginShield) GoString() string { 21458 return s.String() 21459} 21460 21461// Validate inspects the fields of the type to determine if they are valid. 21462func (s *OriginShield) Validate() error { 21463 invalidParams := request.ErrInvalidParams{Context: "OriginShield"} 21464 if s.Enabled == nil { 21465 invalidParams.Add(request.NewErrParamRequired("Enabled")) 21466 } 21467 if s.OriginShieldRegion != nil && len(*s.OriginShieldRegion) < 1 { 21468 invalidParams.Add(request.NewErrParamMinLen("OriginShieldRegion", 1)) 21469 } 21470 21471 if invalidParams.Len() > 0 { 21472 return invalidParams 21473 } 21474 return nil 21475} 21476 21477// SetEnabled sets the Enabled field's value. 21478func (s *OriginShield) SetEnabled(v bool) *OriginShield { 21479 s.Enabled = &v 21480 return s 21481} 21482 21483// SetOriginShieldRegion sets the OriginShieldRegion field's value. 21484func (s *OriginShield) SetOriginShieldRegion(v string) *OriginShield { 21485 s.OriginShieldRegion = &v 21486 return s 21487} 21488 21489// A complex type that contains information about the SSL/TLS protocols that 21490// CloudFront can use when establishing an HTTPS connection with your origin. 21491type OriginSslProtocols struct { 21492 _ struct{} `type:"structure"` 21493 21494 // A list that contains allowed SSL/TLS protocols for this distribution. 21495 // 21496 // Items is a required field 21497 Items []*string `locationNameList:"SslProtocol" type:"list" required:"true"` 21498 21499 // The number of SSL/TLS protocols that you want to allow CloudFront to use 21500 // when establishing an HTTPS connection with this origin. 21501 // 21502 // Quantity is a required field 21503 Quantity *int64 `type:"integer" required:"true"` 21504} 21505 21506// String returns the string representation 21507func (s OriginSslProtocols) String() string { 21508 return awsutil.Prettify(s) 21509} 21510 21511// GoString returns the string representation 21512func (s OriginSslProtocols) GoString() string { 21513 return s.String() 21514} 21515 21516// Validate inspects the fields of the type to determine if they are valid. 21517func (s *OriginSslProtocols) Validate() error { 21518 invalidParams := request.ErrInvalidParams{Context: "OriginSslProtocols"} 21519 if s.Items == nil { 21520 invalidParams.Add(request.NewErrParamRequired("Items")) 21521 } 21522 if s.Quantity == nil { 21523 invalidParams.Add(request.NewErrParamRequired("Quantity")) 21524 } 21525 21526 if invalidParams.Len() > 0 { 21527 return invalidParams 21528 } 21529 return nil 21530} 21531 21532// SetItems sets the Items field's value. 21533func (s *OriginSslProtocols) SetItems(v []*string) *OriginSslProtocols { 21534 s.Items = v 21535 return s 21536} 21537 21538// SetQuantity sets the Quantity field's value. 21539func (s *OriginSslProtocols) SetQuantity(v int64) *OriginSslProtocols { 21540 s.Quantity = &v 21541 return s 21542} 21543 21544// Contains information about the origins for this distribution. 21545type Origins struct { 21546 _ struct{} `type:"structure"` 21547 21548 // A list of origins. 21549 // 21550 // Items is a required field 21551 Items []*Origin `locationNameList:"Origin" min:"1" type:"list" required:"true"` 21552 21553 // The number of origins for this distribution. 21554 // 21555 // Quantity is a required field 21556 Quantity *int64 `type:"integer" required:"true"` 21557} 21558 21559// String returns the string representation 21560func (s Origins) String() string { 21561 return awsutil.Prettify(s) 21562} 21563 21564// GoString returns the string representation 21565func (s Origins) GoString() string { 21566 return s.String() 21567} 21568 21569// Validate inspects the fields of the type to determine if they are valid. 21570func (s *Origins) Validate() error { 21571 invalidParams := request.ErrInvalidParams{Context: "Origins"} 21572 if s.Items == nil { 21573 invalidParams.Add(request.NewErrParamRequired("Items")) 21574 } 21575 if s.Items != nil && len(s.Items) < 1 { 21576 invalidParams.Add(request.NewErrParamMinLen("Items", 1)) 21577 } 21578 if s.Quantity == nil { 21579 invalidParams.Add(request.NewErrParamRequired("Quantity")) 21580 } 21581 if s.Items != nil { 21582 for i, v := range s.Items { 21583 if v == nil { 21584 continue 21585 } 21586 if err := v.Validate(); err != nil { 21587 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 21588 } 21589 } 21590 } 21591 21592 if invalidParams.Len() > 0 { 21593 return invalidParams 21594 } 21595 return nil 21596} 21597 21598// SetItems sets the Items field's value. 21599func (s *Origins) SetItems(v []*Origin) *Origins { 21600 s.Items = v 21601 return s 21602} 21603 21604// SetQuantity sets the Quantity field's value. 21605func (s *Origins) SetQuantity(v int64) *Origins { 21606 s.Quantity = &v 21607 return s 21608} 21609 21610// This object determines the values that CloudFront includes in the cache key. 21611// These values can include HTTP headers, cookies, and URL query strings. CloudFront 21612// uses the cache key to find an object in its cache that it can return to the 21613// viewer. 21614// 21615// The headers, cookies, and query strings that are included in the cache key 21616// are automatically included in requests that CloudFront sends to the origin. 21617// CloudFront sends a request when it can’t find an object in its cache that 21618// matches the request’s cache key. If you want to send values to the origin 21619// but not include them in the cache key, use OriginRequestPolicy. 21620type ParametersInCacheKeyAndForwardedToOrigin struct { 21621 _ struct{} `type:"structure"` 21622 21623 // An object that determines whether any cookies in viewer requests (and if 21624 // so, which cookies) are included in the cache key and automatically included 21625 // in requests that CloudFront sends to the origin. 21626 // 21627 // CookiesConfig is a required field 21628 CookiesConfig *CachePolicyCookiesConfig `type:"structure" required:"true"` 21629 21630 // A flag that can affect whether the Accept-Encoding HTTP header is included 21631 // in the cache key and included in requests that CloudFront sends to the origin. 21632 // 21633 // This field is related to the EnableAcceptEncodingGzip field. If one or both 21634 // of these fields is true and the viewer request includes the Accept-Encoding 21635 // header, then CloudFront does the following: 21636 // 21637 // * Normalizes the value of the viewer’s Accept-Encoding header 21638 // 21639 // * Includes the normalized header in the cache key 21640 // 21641 // * Includes the normalized header in the request to the origin, if a request 21642 // is necessary 21643 // 21644 // For more information, see Compression support (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) 21645 // in the Amazon CloudFront Developer Guide. 21646 // 21647 // If you set this value to true, and this cache behavior also has an origin 21648 // request policy attached, do not include the Accept-Encoding header in the 21649 // origin request policy. CloudFront always includes the Accept-Encoding header 21650 // in origin requests when the value of this field is true, so including this 21651 // header in an origin request policy has no effect. 21652 // 21653 // If both of these fields are false, then CloudFront treats the Accept-Encoding 21654 // header the same as any other HTTP header in the viewer request. By default, 21655 // it’s not included in the cache key and it’s not included in origin requests. 21656 // In this case, you can manually add Accept-Encoding to the headers whitelist 21657 // like any other HTTP header. 21658 EnableAcceptEncodingBrotli *bool `type:"boolean"` 21659 21660 // A flag that can affect whether the Accept-Encoding HTTP header is included 21661 // in the cache key and included in requests that CloudFront sends to the origin. 21662 // 21663 // This field is related to the EnableAcceptEncodingBrotli field. If one or 21664 // both of these fields is true and the viewer request includes the Accept-Encoding 21665 // header, then CloudFront does the following: 21666 // 21667 // * Normalizes the value of the viewer’s Accept-Encoding header 21668 // 21669 // * Includes the normalized header in the cache key 21670 // 21671 // * Includes the normalized header in the request to the origin, if a request 21672 // is necessary 21673 // 21674 // For more information, see Compression support (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-the-cache-key.html#cache-policy-compressed-objects) 21675 // in the Amazon CloudFront Developer Guide. 21676 // 21677 // If you set this value to true, and this cache behavior also has an origin 21678 // request policy attached, do not include the Accept-Encoding header in the 21679 // origin request policy. CloudFront always includes the Accept-Encoding header 21680 // in origin requests when the value of this field is true, so including this 21681 // header in an origin request policy has no effect. 21682 // 21683 // If both of these fields are false, then CloudFront treats the Accept-Encoding 21684 // header the same as any other HTTP header in the viewer request. By default, 21685 // it’s not included in the cache key and it’s not included in origin requests. 21686 // In this case, you can manually add Accept-Encoding to the headers whitelist 21687 // like any other HTTP header. 21688 // 21689 // EnableAcceptEncodingGzip is a required field 21690 EnableAcceptEncodingGzip *bool `type:"boolean" required:"true"` 21691 21692 // An object that determines whether any HTTP headers (and if so, which headers) 21693 // are included in the cache key and automatically included in requests that 21694 // CloudFront sends to the origin. 21695 // 21696 // HeadersConfig is a required field 21697 HeadersConfig *CachePolicyHeadersConfig `type:"structure" required:"true"` 21698 21699 // An object that determines whether any URL query strings in viewer requests 21700 // (and if so, which query strings) are included in the cache key and automatically 21701 // included in requests that CloudFront sends to the origin. 21702 // 21703 // QueryStringsConfig is a required field 21704 QueryStringsConfig *CachePolicyQueryStringsConfig `type:"structure" required:"true"` 21705} 21706 21707// String returns the string representation 21708func (s ParametersInCacheKeyAndForwardedToOrigin) String() string { 21709 return awsutil.Prettify(s) 21710} 21711 21712// GoString returns the string representation 21713func (s ParametersInCacheKeyAndForwardedToOrigin) GoString() string { 21714 return s.String() 21715} 21716 21717// Validate inspects the fields of the type to determine if they are valid. 21718func (s *ParametersInCacheKeyAndForwardedToOrigin) Validate() error { 21719 invalidParams := request.ErrInvalidParams{Context: "ParametersInCacheKeyAndForwardedToOrigin"} 21720 if s.CookiesConfig == nil { 21721 invalidParams.Add(request.NewErrParamRequired("CookiesConfig")) 21722 } 21723 if s.EnableAcceptEncodingGzip == nil { 21724 invalidParams.Add(request.NewErrParamRequired("EnableAcceptEncodingGzip")) 21725 } 21726 if s.HeadersConfig == nil { 21727 invalidParams.Add(request.NewErrParamRequired("HeadersConfig")) 21728 } 21729 if s.QueryStringsConfig == nil { 21730 invalidParams.Add(request.NewErrParamRequired("QueryStringsConfig")) 21731 } 21732 if s.CookiesConfig != nil { 21733 if err := s.CookiesConfig.Validate(); err != nil { 21734 invalidParams.AddNested("CookiesConfig", err.(request.ErrInvalidParams)) 21735 } 21736 } 21737 if s.HeadersConfig != nil { 21738 if err := s.HeadersConfig.Validate(); err != nil { 21739 invalidParams.AddNested("HeadersConfig", err.(request.ErrInvalidParams)) 21740 } 21741 } 21742 if s.QueryStringsConfig != nil { 21743 if err := s.QueryStringsConfig.Validate(); err != nil { 21744 invalidParams.AddNested("QueryStringsConfig", err.(request.ErrInvalidParams)) 21745 } 21746 } 21747 21748 if invalidParams.Len() > 0 { 21749 return invalidParams 21750 } 21751 return nil 21752} 21753 21754// SetCookiesConfig sets the CookiesConfig field's value. 21755func (s *ParametersInCacheKeyAndForwardedToOrigin) SetCookiesConfig(v *CachePolicyCookiesConfig) *ParametersInCacheKeyAndForwardedToOrigin { 21756 s.CookiesConfig = v 21757 return s 21758} 21759 21760// SetEnableAcceptEncodingBrotli sets the EnableAcceptEncodingBrotli field's value. 21761func (s *ParametersInCacheKeyAndForwardedToOrigin) SetEnableAcceptEncodingBrotli(v bool) *ParametersInCacheKeyAndForwardedToOrigin { 21762 s.EnableAcceptEncodingBrotli = &v 21763 return s 21764} 21765 21766// SetEnableAcceptEncodingGzip sets the EnableAcceptEncodingGzip field's value. 21767func (s *ParametersInCacheKeyAndForwardedToOrigin) SetEnableAcceptEncodingGzip(v bool) *ParametersInCacheKeyAndForwardedToOrigin { 21768 s.EnableAcceptEncodingGzip = &v 21769 return s 21770} 21771 21772// SetHeadersConfig sets the HeadersConfig field's value. 21773func (s *ParametersInCacheKeyAndForwardedToOrigin) SetHeadersConfig(v *CachePolicyHeadersConfig) *ParametersInCacheKeyAndForwardedToOrigin { 21774 s.HeadersConfig = v 21775 return s 21776} 21777 21778// SetQueryStringsConfig sets the QueryStringsConfig field's value. 21779func (s *ParametersInCacheKeyAndForwardedToOrigin) SetQueryStringsConfig(v *CachePolicyQueryStringsConfig) *ParametersInCacheKeyAndForwardedToOrigin { 21780 s.QueryStringsConfig = v 21781 return s 21782} 21783 21784// A complex type that contains information about the objects that you want 21785// to invalidate. For more information, see Specifying the Objects to Invalidate 21786// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) 21787// in the Amazon CloudFront Developer Guide. 21788type Paths struct { 21789 _ struct{} `type:"structure"` 21790 21791 // A complex type that contains a list of the paths that you want to invalidate. 21792 Items []*string `locationNameList:"Path" type:"list"` 21793 21794 // The number of invalidation paths specified for the objects that you want 21795 // to invalidate. 21796 // 21797 // Quantity is a required field 21798 Quantity *int64 `type:"integer" required:"true"` 21799} 21800 21801// String returns the string representation 21802func (s Paths) String() string { 21803 return awsutil.Prettify(s) 21804} 21805 21806// GoString returns the string representation 21807func (s Paths) GoString() string { 21808 return s.String() 21809} 21810 21811// Validate inspects the fields of the type to determine if they are valid. 21812func (s *Paths) Validate() error { 21813 invalidParams := request.ErrInvalidParams{Context: "Paths"} 21814 if s.Quantity == nil { 21815 invalidParams.Add(request.NewErrParamRequired("Quantity")) 21816 } 21817 21818 if invalidParams.Len() > 0 { 21819 return invalidParams 21820 } 21821 return nil 21822} 21823 21824// SetItems sets the Items field's value. 21825func (s *Paths) SetItems(v []*string) *Paths { 21826 s.Items = v 21827 return s 21828} 21829 21830// SetQuantity sets the Quantity field's value. 21831func (s *Paths) SetQuantity(v int64) *Paths { 21832 s.Quantity = &v 21833 return s 21834} 21835 21836// A public key that you can use with signed URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 21837// or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 21838type PublicKey struct { 21839 _ struct{} `type:"structure"` 21840 21841 // The date and time when the public key was uploaded. 21842 // 21843 // CreatedTime is a required field 21844 CreatedTime *time.Time `type:"timestamp" required:"true"` 21845 21846 // The identifier of the public key. 21847 // 21848 // Id is a required field 21849 Id *string `type:"string" required:"true"` 21850 21851 // Configuration information about a public key that you can use with signed 21852 // URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 21853 // or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 21854 // 21855 // PublicKeyConfig is a required field 21856 PublicKeyConfig *PublicKeyConfig `type:"structure" required:"true"` 21857} 21858 21859// String returns the string representation 21860func (s PublicKey) String() string { 21861 return awsutil.Prettify(s) 21862} 21863 21864// GoString returns the string representation 21865func (s PublicKey) GoString() string { 21866 return s.String() 21867} 21868 21869// SetCreatedTime sets the CreatedTime field's value. 21870func (s *PublicKey) SetCreatedTime(v time.Time) *PublicKey { 21871 s.CreatedTime = &v 21872 return s 21873} 21874 21875// SetId sets the Id field's value. 21876func (s *PublicKey) SetId(v string) *PublicKey { 21877 s.Id = &v 21878 return s 21879} 21880 21881// SetPublicKeyConfig sets the PublicKeyConfig field's value. 21882func (s *PublicKey) SetPublicKeyConfig(v *PublicKeyConfig) *PublicKey { 21883 s.PublicKeyConfig = v 21884 return s 21885} 21886 21887// Configuration information about a public key that you can use with signed 21888// URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 21889// or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 21890type PublicKeyConfig struct { 21891 _ struct{} `type:"structure"` 21892 21893 // A string included in the request to help make sure that the request can’t 21894 // be replayed. 21895 // 21896 // CallerReference is a required field 21897 CallerReference *string `type:"string" required:"true"` 21898 21899 // A comment to describe the public key. The comment cannot be longer than 128 21900 // characters. 21901 Comment *string `type:"string"` 21902 21903 // The public key that you can use with signed URLs and signed cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 21904 // or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 21905 // 21906 // EncodedKey is a required field 21907 EncodedKey *string `type:"string" required:"true"` 21908 21909 // A name to help identify the public key. 21910 // 21911 // Name is a required field 21912 Name *string `type:"string" required:"true"` 21913} 21914 21915// String returns the string representation 21916func (s PublicKeyConfig) String() string { 21917 return awsutil.Prettify(s) 21918} 21919 21920// GoString returns the string representation 21921func (s PublicKeyConfig) GoString() string { 21922 return s.String() 21923} 21924 21925// Validate inspects the fields of the type to determine if they are valid. 21926func (s *PublicKeyConfig) Validate() error { 21927 invalidParams := request.ErrInvalidParams{Context: "PublicKeyConfig"} 21928 if s.CallerReference == nil { 21929 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 21930 } 21931 if s.EncodedKey == nil { 21932 invalidParams.Add(request.NewErrParamRequired("EncodedKey")) 21933 } 21934 if s.Name == nil { 21935 invalidParams.Add(request.NewErrParamRequired("Name")) 21936 } 21937 21938 if invalidParams.Len() > 0 { 21939 return invalidParams 21940 } 21941 return nil 21942} 21943 21944// SetCallerReference sets the CallerReference field's value. 21945func (s *PublicKeyConfig) SetCallerReference(v string) *PublicKeyConfig { 21946 s.CallerReference = &v 21947 return s 21948} 21949 21950// SetComment sets the Comment field's value. 21951func (s *PublicKeyConfig) SetComment(v string) *PublicKeyConfig { 21952 s.Comment = &v 21953 return s 21954} 21955 21956// SetEncodedKey sets the EncodedKey field's value. 21957func (s *PublicKeyConfig) SetEncodedKey(v string) *PublicKeyConfig { 21958 s.EncodedKey = &v 21959 return s 21960} 21961 21962// SetName sets the Name field's value. 21963func (s *PublicKeyConfig) SetName(v string) *PublicKeyConfig { 21964 s.Name = &v 21965 return s 21966} 21967 21968// A list of public keys that you can use with signed URLs and signed cookies 21969// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html), 21970// or with field-level encryption (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/field-level-encryption.html). 21971type PublicKeyList struct { 21972 _ struct{} `type:"structure"` 21973 21974 // A list of public keys. 21975 Items []*PublicKeySummary `locationNameList:"PublicKeySummary" type:"list"` 21976 21977 // The maximum number of public keys you want in the response. 21978 // 21979 // MaxItems is a required field 21980 MaxItems *int64 `type:"integer" required:"true"` 21981 21982 // If there are more elements to be listed, this element is present and contains 21983 // the value that you can use for the Marker request parameter to continue listing 21984 // your public keys where you left off. 21985 NextMarker *string `type:"string"` 21986 21987 // The number of public keys in the list. 21988 // 21989 // Quantity is a required field 21990 Quantity *int64 `type:"integer" required:"true"` 21991} 21992 21993// String returns the string representation 21994func (s PublicKeyList) String() string { 21995 return awsutil.Prettify(s) 21996} 21997 21998// GoString returns the string representation 21999func (s PublicKeyList) GoString() string { 22000 return s.String() 22001} 22002 22003// SetItems sets the Items field's value. 22004func (s *PublicKeyList) SetItems(v []*PublicKeySummary) *PublicKeyList { 22005 s.Items = v 22006 return s 22007} 22008 22009// SetMaxItems sets the MaxItems field's value. 22010func (s *PublicKeyList) SetMaxItems(v int64) *PublicKeyList { 22011 s.MaxItems = &v 22012 return s 22013} 22014 22015// SetNextMarker sets the NextMarker field's value. 22016func (s *PublicKeyList) SetNextMarker(v string) *PublicKeyList { 22017 s.NextMarker = &v 22018 return s 22019} 22020 22021// SetQuantity sets the Quantity field's value. 22022func (s *PublicKeyList) SetQuantity(v int64) *PublicKeyList { 22023 s.Quantity = &v 22024 return s 22025} 22026 22027// Contains information about a public key. 22028type PublicKeySummary struct { 22029 _ struct{} `type:"structure"` 22030 22031 // A comment to describe the public key. The comment cannot be longer than 128 22032 // characters. 22033 Comment *string `type:"string"` 22034 22035 // The date and time when the public key was uploaded. 22036 // 22037 // CreatedTime is a required field 22038 CreatedTime *time.Time `type:"timestamp" required:"true"` 22039 22040 // The public key. 22041 // 22042 // EncodedKey is a required field 22043 EncodedKey *string `type:"string" required:"true"` 22044 22045 // The identifier of the public key. 22046 // 22047 // Id is a required field 22048 Id *string `type:"string" required:"true"` 22049 22050 // A name to help identify the public key. 22051 // 22052 // Name is a required field 22053 Name *string `type:"string" required:"true"` 22054} 22055 22056// String returns the string representation 22057func (s PublicKeySummary) String() string { 22058 return awsutil.Prettify(s) 22059} 22060 22061// GoString returns the string representation 22062func (s PublicKeySummary) GoString() string { 22063 return s.String() 22064} 22065 22066// SetComment sets the Comment field's value. 22067func (s *PublicKeySummary) SetComment(v string) *PublicKeySummary { 22068 s.Comment = &v 22069 return s 22070} 22071 22072// SetCreatedTime sets the CreatedTime field's value. 22073func (s *PublicKeySummary) SetCreatedTime(v time.Time) *PublicKeySummary { 22074 s.CreatedTime = &v 22075 return s 22076} 22077 22078// SetEncodedKey sets the EncodedKey field's value. 22079func (s *PublicKeySummary) SetEncodedKey(v string) *PublicKeySummary { 22080 s.EncodedKey = &v 22081 return s 22082} 22083 22084// SetId sets the Id field's value. 22085func (s *PublicKeySummary) SetId(v string) *PublicKeySummary { 22086 s.Id = &v 22087 return s 22088} 22089 22090// SetName sets the Name field's value. 22091func (s *PublicKeySummary) SetName(v string) *PublicKeySummary { 22092 s.Name = &v 22093 return s 22094} 22095 22096type PublishFunctionInput struct { 22097 _ struct{} `locationName:"PublishFunctionRequest" type:"structure"` 22098 22099 // The current version (ETag value) of the function that you are publishing, 22100 // which you can get using DescribeFunction. 22101 // 22102 // IfMatch is a required field 22103 IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` 22104 22105 // The name of the function that you are publishing. 22106 // 22107 // Name is a required field 22108 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 22109} 22110 22111// String returns the string representation 22112func (s PublishFunctionInput) String() string { 22113 return awsutil.Prettify(s) 22114} 22115 22116// GoString returns the string representation 22117func (s PublishFunctionInput) GoString() string { 22118 return s.String() 22119} 22120 22121// Validate inspects the fields of the type to determine if they are valid. 22122func (s *PublishFunctionInput) Validate() error { 22123 invalidParams := request.ErrInvalidParams{Context: "PublishFunctionInput"} 22124 if s.IfMatch == nil { 22125 invalidParams.Add(request.NewErrParamRequired("IfMatch")) 22126 } 22127 if s.Name == nil { 22128 invalidParams.Add(request.NewErrParamRequired("Name")) 22129 } 22130 if s.Name != nil && len(*s.Name) < 1 { 22131 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 22132 } 22133 22134 if invalidParams.Len() > 0 { 22135 return invalidParams 22136 } 22137 return nil 22138} 22139 22140// SetIfMatch sets the IfMatch field's value. 22141func (s *PublishFunctionInput) SetIfMatch(v string) *PublishFunctionInput { 22142 s.IfMatch = &v 22143 return s 22144} 22145 22146// SetName sets the Name field's value. 22147func (s *PublishFunctionInput) SetName(v string) *PublishFunctionInput { 22148 s.Name = &v 22149 return s 22150} 22151 22152type PublishFunctionOutput struct { 22153 _ struct{} `type:"structure" payload:"FunctionSummary"` 22154 22155 // Contains configuration information and metadata about a CloudFront function. 22156 FunctionSummary *FunctionSummary `type:"structure"` 22157} 22158 22159// String returns the string representation 22160func (s PublishFunctionOutput) String() string { 22161 return awsutil.Prettify(s) 22162} 22163 22164// GoString returns the string representation 22165func (s PublishFunctionOutput) GoString() string { 22166 return s.String() 22167} 22168 22169// SetFunctionSummary sets the FunctionSummary field's value. 22170func (s *PublishFunctionOutput) SetFunctionSummary(v *FunctionSummary) *PublishFunctionOutput { 22171 s.FunctionSummary = v 22172 return s 22173} 22174 22175// Query argument-profile mapping for field-level encryption. 22176type QueryArgProfile struct { 22177 _ struct{} `type:"structure"` 22178 22179 // ID of profile to use for field-level encryption query argument-profile mapping 22180 // 22181 // ProfileId is a required field 22182 ProfileId *string `type:"string" required:"true"` 22183 22184 // Query argument for field-level encryption query argument-profile mapping. 22185 // 22186 // QueryArg is a required field 22187 QueryArg *string `type:"string" required:"true"` 22188} 22189 22190// String returns the string representation 22191func (s QueryArgProfile) String() string { 22192 return awsutil.Prettify(s) 22193} 22194 22195// GoString returns the string representation 22196func (s QueryArgProfile) GoString() string { 22197 return s.String() 22198} 22199 22200// Validate inspects the fields of the type to determine if they are valid. 22201func (s *QueryArgProfile) Validate() error { 22202 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfile"} 22203 if s.ProfileId == nil { 22204 invalidParams.Add(request.NewErrParamRequired("ProfileId")) 22205 } 22206 if s.QueryArg == nil { 22207 invalidParams.Add(request.NewErrParamRequired("QueryArg")) 22208 } 22209 22210 if invalidParams.Len() > 0 { 22211 return invalidParams 22212 } 22213 return nil 22214} 22215 22216// SetProfileId sets the ProfileId field's value. 22217func (s *QueryArgProfile) SetProfileId(v string) *QueryArgProfile { 22218 s.ProfileId = &v 22219 return s 22220} 22221 22222// SetQueryArg sets the QueryArg field's value. 22223func (s *QueryArgProfile) SetQueryArg(v string) *QueryArgProfile { 22224 s.QueryArg = &v 22225 return s 22226} 22227 22228// Configuration for query argument-profile mapping for field-level encryption. 22229type QueryArgProfileConfig struct { 22230 _ struct{} `type:"structure"` 22231 22232 // Flag to set if you want a request to be forwarded to the origin even if the 22233 // profile specified by the field-level encryption query argument, fle-profile, 22234 // is unknown. 22235 // 22236 // ForwardWhenQueryArgProfileIsUnknown is a required field 22237 ForwardWhenQueryArgProfileIsUnknown *bool `type:"boolean" required:"true"` 22238 22239 // Profiles specified for query argument-profile mapping for field-level encryption. 22240 QueryArgProfiles *QueryArgProfiles `type:"structure"` 22241} 22242 22243// String returns the string representation 22244func (s QueryArgProfileConfig) String() string { 22245 return awsutil.Prettify(s) 22246} 22247 22248// GoString returns the string representation 22249func (s QueryArgProfileConfig) GoString() string { 22250 return s.String() 22251} 22252 22253// Validate inspects the fields of the type to determine if they are valid. 22254func (s *QueryArgProfileConfig) Validate() error { 22255 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfileConfig"} 22256 if s.ForwardWhenQueryArgProfileIsUnknown == nil { 22257 invalidParams.Add(request.NewErrParamRequired("ForwardWhenQueryArgProfileIsUnknown")) 22258 } 22259 if s.QueryArgProfiles != nil { 22260 if err := s.QueryArgProfiles.Validate(); err != nil { 22261 invalidParams.AddNested("QueryArgProfiles", err.(request.ErrInvalidParams)) 22262 } 22263 } 22264 22265 if invalidParams.Len() > 0 { 22266 return invalidParams 22267 } 22268 return nil 22269} 22270 22271// SetForwardWhenQueryArgProfileIsUnknown sets the ForwardWhenQueryArgProfileIsUnknown field's value. 22272func (s *QueryArgProfileConfig) SetForwardWhenQueryArgProfileIsUnknown(v bool) *QueryArgProfileConfig { 22273 s.ForwardWhenQueryArgProfileIsUnknown = &v 22274 return s 22275} 22276 22277// SetQueryArgProfiles sets the QueryArgProfiles field's value. 22278func (s *QueryArgProfileConfig) SetQueryArgProfiles(v *QueryArgProfiles) *QueryArgProfileConfig { 22279 s.QueryArgProfiles = v 22280 return s 22281} 22282 22283// Query argument-profile mapping for field-level encryption. 22284type QueryArgProfiles struct { 22285 _ struct{} `type:"structure"` 22286 22287 // Number of items for query argument-profile mapping for field-level encryption. 22288 Items []*QueryArgProfile `locationNameList:"QueryArgProfile" type:"list"` 22289 22290 // Number of profiles for query argument-profile mapping for field-level encryption. 22291 // 22292 // Quantity is a required field 22293 Quantity *int64 `type:"integer" required:"true"` 22294} 22295 22296// String returns the string representation 22297func (s QueryArgProfiles) String() string { 22298 return awsutil.Prettify(s) 22299} 22300 22301// GoString returns the string representation 22302func (s QueryArgProfiles) GoString() string { 22303 return s.String() 22304} 22305 22306// Validate inspects the fields of the type to determine if they are valid. 22307func (s *QueryArgProfiles) Validate() error { 22308 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfiles"} 22309 if s.Quantity == nil { 22310 invalidParams.Add(request.NewErrParamRequired("Quantity")) 22311 } 22312 if s.Items != nil { 22313 for i, v := range s.Items { 22314 if v == nil { 22315 continue 22316 } 22317 if err := v.Validate(); err != nil { 22318 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 22319 } 22320 } 22321 } 22322 22323 if invalidParams.Len() > 0 { 22324 return invalidParams 22325 } 22326 return nil 22327} 22328 22329// SetItems sets the Items field's value. 22330func (s *QueryArgProfiles) SetItems(v []*QueryArgProfile) *QueryArgProfiles { 22331 s.Items = v 22332 return s 22333} 22334 22335// SetQuantity sets the Quantity field's value. 22336func (s *QueryArgProfiles) SetQuantity(v int64) *QueryArgProfiles { 22337 s.Quantity = &v 22338 return s 22339} 22340 22341// This field is deprecated. We recommend that you use a cache policy or an 22342// origin request policy instead of this field. 22343// 22344// If you want to include query strings in the cache key, use QueryStringsConfig 22345// in a cache policy. See CachePolicy. 22346// 22347// If you want to send query strings to the origin but not include them in the 22348// cache key, use QueryStringsConfig in an origin request policy. See OriginRequestPolicy. 22349// 22350// A complex type that contains information about the query string parameters 22351// that you want CloudFront to use for caching for a cache behavior. 22352type QueryStringCacheKeys struct { 22353 _ struct{} `type:"structure"` 22354 22355 // A list that contains the query string parameters that you want CloudFront 22356 // to use as a basis for caching for a cache behavior. If Quantity is 0, you 22357 // can omit Items. 22358 Items []*string `locationNameList:"Name" type:"list"` 22359 22360 // The number of whitelisted query string parameters for a cache behavior. 22361 // 22362 // Quantity is a required field 22363 Quantity *int64 `type:"integer" required:"true"` 22364} 22365 22366// String returns the string representation 22367func (s QueryStringCacheKeys) String() string { 22368 return awsutil.Prettify(s) 22369} 22370 22371// GoString returns the string representation 22372func (s QueryStringCacheKeys) GoString() string { 22373 return s.String() 22374} 22375 22376// Validate inspects the fields of the type to determine if they are valid. 22377func (s *QueryStringCacheKeys) Validate() error { 22378 invalidParams := request.ErrInvalidParams{Context: "QueryStringCacheKeys"} 22379 if s.Quantity == nil { 22380 invalidParams.Add(request.NewErrParamRequired("Quantity")) 22381 } 22382 22383 if invalidParams.Len() > 0 { 22384 return invalidParams 22385 } 22386 return nil 22387} 22388 22389// SetItems sets the Items field's value. 22390func (s *QueryStringCacheKeys) SetItems(v []*string) *QueryStringCacheKeys { 22391 s.Items = v 22392 return s 22393} 22394 22395// SetQuantity sets the Quantity field's value. 22396func (s *QueryStringCacheKeys) SetQuantity(v int64) *QueryStringCacheKeys { 22397 s.Quantity = &v 22398 return s 22399} 22400 22401// Contains a list of query string names. 22402type QueryStringNames struct { 22403 _ struct{} `type:"structure"` 22404 22405 // A list of query string names. 22406 Items []*string `locationNameList:"Name" type:"list"` 22407 22408 // The number of query string names in the Items list. 22409 // 22410 // Quantity is a required field 22411 Quantity *int64 `type:"integer" required:"true"` 22412} 22413 22414// String returns the string representation 22415func (s QueryStringNames) String() string { 22416 return awsutil.Prettify(s) 22417} 22418 22419// GoString returns the string representation 22420func (s QueryStringNames) GoString() string { 22421 return s.String() 22422} 22423 22424// Validate inspects the fields of the type to determine if they are valid. 22425func (s *QueryStringNames) Validate() error { 22426 invalidParams := request.ErrInvalidParams{Context: "QueryStringNames"} 22427 if s.Quantity == nil { 22428 invalidParams.Add(request.NewErrParamRequired("Quantity")) 22429 } 22430 22431 if invalidParams.Len() > 0 { 22432 return invalidParams 22433 } 22434 return nil 22435} 22436 22437// SetItems sets the Items field's value. 22438func (s *QueryStringNames) SetItems(v []*string) *QueryStringNames { 22439 s.Items = v 22440 return s 22441} 22442 22443// SetQuantity sets the Quantity field's value. 22444func (s *QueryStringNames) SetQuantity(v int64) *QueryStringNames { 22445 s.Quantity = &v 22446 return s 22447} 22448 22449// A real-time log configuration. 22450type RealtimeLogConfig struct { 22451 _ struct{} `type:"structure"` 22452 22453 // The Amazon Resource Name (ARN) of this real-time log configuration. 22454 // 22455 // ARN is a required field 22456 ARN *string `type:"string" required:"true"` 22457 22458 // Contains information about the Amazon Kinesis data stream where you are sending 22459 // real-time log data for this real-time log configuration. 22460 // 22461 // EndPoints is a required field 22462 EndPoints []*EndPoint `type:"list" required:"true"` 22463 22464 // A list of fields that are included in each real-time log record. In an API 22465 // response, the fields are provided in the same order in which they are sent 22466 // to the Amazon Kinesis data stream. 22467 // 22468 // For more information about fields, see Real-time log configuration fields 22469 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) 22470 // in the Amazon CloudFront Developer Guide. 22471 // 22472 // Fields is a required field 22473 Fields []*string `locationNameList:"Field" type:"list" required:"true"` 22474 22475 // The unique name of this real-time log configuration. 22476 // 22477 // Name is a required field 22478 Name *string `type:"string" required:"true"` 22479 22480 // The sampling rate for this real-time log configuration. The sampling rate 22481 // determines the percentage of viewer requests that are represented in the 22482 // real-time log data. The sampling rate is an integer between 1 and 100, inclusive. 22483 // 22484 // SamplingRate is a required field 22485 SamplingRate *int64 `type:"long" required:"true"` 22486} 22487 22488// String returns the string representation 22489func (s RealtimeLogConfig) String() string { 22490 return awsutil.Prettify(s) 22491} 22492 22493// GoString returns the string representation 22494func (s RealtimeLogConfig) GoString() string { 22495 return s.String() 22496} 22497 22498// SetARN sets the ARN field's value. 22499func (s *RealtimeLogConfig) SetARN(v string) *RealtimeLogConfig { 22500 s.ARN = &v 22501 return s 22502} 22503 22504// SetEndPoints sets the EndPoints field's value. 22505func (s *RealtimeLogConfig) SetEndPoints(v []*EndPoint) *RealtimeLogConfig { 22506 s.EndPoints = v 22507 return s 22508} 22509 22510// SetFields sets the Fields field's value. 22511func (s *RealtimeLogConfig) SetFields(v []*string) *RealtimeLogConfig { 22512 s.Fields = v 22513 return s 22514} 22515 22516// SetName sets the Name field's value. 22517func (s *RealtimeLogConfig) SetName(v string) *RealtimeLogConfig { 22518 s.Name = &v 22519 return s 22520} 22521 22522// SetSamplingRate sets the SamplingRate field's value. 22523func (s *RealtimeLogConfig) SetSamplingRate(v int64) *RealtimeLogConfig { 22524 s.SamplingRate = &v 22525 return s 22526} 22527 22528// A list of real-time log configurations. 22529type RealtimeLogConfigs struct { 22530 _ struct{} `type:"structure"` 22531 22532 // A flag that indicates whether there are more real-time log configurations 22533 // than are contained in this list. 22534 // 22535 // IsTruncated is a required field 22536 IsTruncated *bool `type:"boolean" required:"true"` 22537 22538 // Contains the list of real-time log configurations. 22539 Items []*RealtimeLogConfig `type:"list"` 22540 22541 // This parameter indicates where this list of real-time log configurations 22542 // begins. This list includes real-time log configurations that occur after 22543 // the marker. 22544 // 22545 // Marker is a required field 22546 Marker *string `type:"string" required:"true"` 22547 22548 // The maximum number of real-time log configurations requested. 22549 // 22550 // MaxItems is a required field 22551 MaxItems *int64 `type:"integer" required:"true"` 22552 22553 // If there are more items in the list than are in this response, this element 22554 // is present. It contains the value that you should use in the Marker field 22555 // of a subsequent request to continue listing real-time log configurations 22556 // where you left off. 22557 NextMarker *string `type:"string"` 22558} 22559 22560// String returns the string representation 22561func (s RealtimeLogConfigs) String() string { 22562 return awsutil.Prettify(s) 22563} 22564 22565// GoString returns the string representation 22566func (s RealtimeLogConfigs) GoString() string { 22567 return s.String() 22568} 22569 22570// SetIsTruncated sets the IsTruncated field's value. 22571func (s *RealtimeLogConfigs) SetIsTruncated(v bool) *RealtimeLogConfigs { 22572 s.IsTruncated = &v 22573 return s 22574} 22575 22576// SetItems sets the Items field's value. 22577func (s *RealtimeLogConfigs) SetItems(v []*RealtimeLogConfig) *RealtimeLogConfigs { 22578 s.Items = v 22579 return s 22580} 22581 22582// SetMarker sets the Marker field's value. 22583func (s *RealtimeLogConfigs) SetMarker(v string) *RealtimeLogConfigs { 22584 s.Marker = &v 22585 return s 22586} 22587 22588// SetMaxItems sets the MaxItems field's value. 22589func (s *RealtimeLogConfigs) SetMaxItems(v int64) *RealtimeLogConfigs { 22590 s.MaxItems = &v 22591 return s 22592} 22593 22594// SetNextMarker sets the NextMarker field's value. 22595func (s *RealtimeLogConfigs) SetNextMarker(v string) *RealtimeLogConfigs { 22596 s.NextMarker = &v 22597 return s 22598} 22599 22600// A subscription configuration for additional CloudWatch metrics. 22601type RealtimeMetricsSubscriptionConfig struct { 22602 _ struct{} `type:"structure"` 22603 22604 // A flag that indicates whether additional CloudWatch metrics are enabled for 22605 // a given CloudFront distribution. 22606 // 22607 // RealtimeMetricsSubscriptionStatus is a required field 22608 RealtimeMetricsSubscriptionStatus *string `type:"string" required:"true" enum:"RealtimeMetricsSubscriptionStatus"` 22609} 22610 22611// String returns the string representation 22612func (s RealtimeMetricsSubscriptionConfig) String() string { 22613 return awsutil.Prettify(s) 22614} 22615 22616// GoString returns the string representation 22617func (s RealtimeMetricsSubscriptionConfig) GoString() string { 22618 return s.String() 22619} 22620 22621// Validate inspects the fields of the type to determine if they are valid. 22622func (s *RealtimeMetricsSubscriptionConfig) Validate() error { 22623 invalidParams := request.ErrInvalidParams{Context: "RealtimeMetricsSubscriptionConfig"} 22624 if s.RealtimeMetricsSubscriptionStatus == nil { 22625 invalidParams.Add(request.NewErrParamRequired("RealtimeMetricsSubscriptionStatus")) 22626 } 22627 22628 if invalidParams.Len() > 0 { 22629 return invalidParams 22630 } 22631 return nil 22632} 22633 22634// SetRealtimeMetricsSubscriptionStatus sets the RealtimeMetricsSubscriptionStatus field's value. 22635func (s *RealtimeMetricsSubscriptionConfig) SetRealtimeMetricsSubscriptionStatus(v string) *RealtimeMetricsSubscriptionConfig { 22636 s.RealtimeMetricsSubscriptionStatus = &v 22637 return s 22638} 22639 22640// A complex type that identifies ways in which you want to restrict distribution 22641// of your content. 22642type Restrictions struct { 22643 _ struct{} `type:"structure"` 22644 22645 // A complex type that controls the countries in which your content is distributed. 22646 // CloudFront determines the location of your users using MaxMind GeoIP databases. 22647 // 22648 // GeoRestriction is a required field 22649 GeoRestriction *GeoRestriction `type:"structure" required:"true"` 22650} 22651 22652// String returns the string representation 22653func (s Restrictions) String() string { 22654 return awsutil.Prettify(s) 22655} 22656 22657// GoString returns the string representation 22658func (s Restrictions) GoString() string { 22659 return s.String() 22660} 22661 22662// Validate inspects the fields of the type to determine if they are valid. 22663func (s *Restrictions) Validate() error { 22664 invalidParams := request.ErrInvalidParams{Context: "Restrictions"} 22665 if s.GeoRestriction == nil { 22666 invalidParams.Add(request.NewErrParamRequired("GeoRestriction")) 22667 } 22668 if s.GeoRestriction != nil { 22669 if err := s.GeoRestriction.Validate(); err != nil { 22670 invalidParams.AddNested("GeoRestriction", err.(request.ErrInvalidParams)) 22671 } 22672 } 22673 22674 if invalidParams.Len() > 0 { 22675 return invalidParams 22676 } 22677 return nil 22678} 22679 22680// SetGeoRestriction sets the GeoRestriction field's value. 22681func (s *Restrictions) SetGeoRestriction(v *GeoRestriction) *Restrictions { 22682 s.GeoRestriction = v 22683 return s 22684} 22685 22686// A complex type that contains information about the Amazon S3 bucket from 22687// which you want CloudFront to get your media files for distribution. 22688type S3Origin struct { 22689 _ struct{} `type:"structure"` 22690 22691 // The DNS name of the Amazon S3 origin. 22692 // 22693 // DomainName is a required field 22694 DomainName *string `type:"string" required:"true"` 22695 22696 // The CloudFront origin access identity to associate with the distribution. 22697 // Use an origin access identity to configure the distribution so that end users 22698 // can only access objects in an Amazon S3 bucket through CloudFront. 22699 // 22700 // If you want end users to be able to access objects using either the CloudFront 22701 // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. 22702 // 22703 // To delete the origin access identity from an existing distribution, update 22704 // the distribution configuration and include an empty OriginAccessIdentity 22705 // element. 22706 // 22707 // To replace the origin access identity, update the distribution configuration 22708 // and specify the new origin access identity. 22709 // 22710 // For more information, see Using an Origin Access Identity to Restrict Access 22711 // to Your Amazon S3 Content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 22712 // in the Amazon CloudFront Developer Guide. 22713 // 22714 // OriginAccessIdentity is a required field 22715 OriginAccessIdentity *string `type:"string" required:"true"` 22716} 22717 22718// String returns the string representation 22719func (s S3Origin) String() string { 22720 return awsutil.Prettify(s) 22721} 22722 22723// GoString returns the string representation 22724func (s S3Origin) GoString() string { 22725 return s.String() 22726} 22727 22728// Validate inspects the fields of the type to determine if they are valid. 22729func (s *S3Origin) Validate() error { 22730 invalidParams := request.ErrInvalidParams{Context: "S3Origin"} 22731 if s.DomainName == nil { 22732 invalidParams.Add(request.NewErrParamRequired("DomainName")) 22733 } 22734 if s.OriginAccessIdentity == nil { 22735 invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity")) 22736 } 22737 22738 if invalidParams.Len() > 0 { 22739 return invalidParams 22740 } 22741 return nil 22742} 22743 22744// SetDomainName sets the DomainName field's value. 22745func (s *S3Origin) SetDomainName(v string) *S3Origin { 22746 s.DomainName = &v 22747 return s 22748} 22749 22750// SetOriginAccessIdentity sets the OriginAccessIdentity field's value. 22751func (s *S3Origin) SetOriginAccessIdentity(v string) *S3Origin { 22752 s.OriginAccessIdentity = &v 22753 return s 22754} 22755 22756// A complex type that contains information about the Amazon S3 origin. If the 22757// origin is a custom origin or an S3 bucket that is configured as a website 22758// endpoint, use the CustomOriginConfig element instead. 22759type S3OriginConfig struct { 22760 _ struct{} `type:"structure"` 22761 22762 // The CloudFront origin access identity to associate with the origin. Use an 22763 // origin access identity to configure the origin so that viewers can only access 22764 // objects in an Amazon S3 bucket through CloudFront. The format of the value 22765 // is: 22766 // 22767 // origin-access-identity/cloudfront/ID-of-origin-access-identity 22768 // 22769 // where ID-of-origin-access-identity is the value that CloudFront returned 22770 // in the ID element when you created the origin access identity. 22771 // 22772 // If you want viewers to be able to access objects using either the CloudFront 22773 // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. 22774 // 22775 // To delete the origin access identity from an existing distribution, update 22776 // the distribution configuration and include an empty OriginAccessIdentity 22777 // element. 22778 // 22779 // To replace the origin access identity, update the distribution configuration 22780 // and specify the new origin access identity. 22781 // 22782 // For more information about the origin access identity, see Serving Private 22783 // Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 22784 // in the Amazon CloudFront Developer Guide. 22785 // 22786 // OriginAccessIdentity is a required field 22787 OriginAccessIdentity *string `type:"string" required:"true"` 22788} 22789 22790// String returns the string representation 22791func (s S3OriginConfig) String() string { 22792 return awsutil.Prettify(s) 22793} 22794 22795// GoString returns the string representation 22796func (s S3OriginConfig) GoString() string { 22797 return s.String() 22798} 22799 22800// Validate inspects the fields of the type to determine if they are valid. 22801func (s *S3OriginConfig) Validate() error { 22802 invalidParams := request.ErrInvalidParams{Context: "S3OriginConfig"} 22803 if s.OriginAccessIdentity == nil { 22804 invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity")) 22805 } 22806 22807 if invalidParams.Len() > 0 { 22808 return invalidParams 22809 } 22810 return nil 22811} 22812 22813// SetOriginAccessIdentity sets the OriginAccessIdentity field's value. 22814func (s *S3OriginConfig) SetOriginAccessIdentity(v string) *S3OriginConfig { 22815 s.OriginAccessIdentity = &v 22816 return s 22817} 22818 22819// A list of accounts and the active CloudFront key pairs in each account that 22820// CloudFront can use to verify the signatures of signed URLs and signed cookies. 22821type Signer struct { 22822 _ struct{} `type:"structure"` 22823 22824 // An account number that contains active CloudFront key pairs that CloudFront 22825 // can use to verify the signatures of signed URLs and signed cookies. If the 22826 // account that owns the key pairs is the same account that owns the CloudFront 22827 // distribution, the value of this field is self. 22828 AwsAccountNumber *string `type:"string"` 22829 22830 // A list of CloudFront key pair identifiers. 22831 KeyPairIds *KeyPairIds `type:"structure"` 22832} 22833 22834// String returns the string representation 22835func (s Signer) String() string { 22836 return awsutil.Prettify(s) 22837} 22838 22839// GoString returns the string representation 22840func (s Signer) GoString() string { 22841 return s.String() 22842} 22843 22844// SetAwsAccountNumber sets the AwsAccountNumber field's value. 22845func (s *Signer) SetAwsAccountNumber(v string) *Signer { 22846 s.AwsAccountNumber = &v 22847 return s 22848} 22849 22850// SetKeyPairIds sets the KeyPairIds field's value. 22851func (s *Signer) SetKeyPairIds(v *KeyPairIds) *Signer { 22852 s.KeyPairIds = v 22853 return s 22854} 22855 22856// A complex data type for the status codes that you specify that, when returned 22857// by a primary origin, trigger CloudFront to failover to a second origin. 22858type StatusCodes struct { 22859 _ struct{} `type:"structure"` 22860 22861 // The items (status codes) for an origin group. 22862 // 22863 // Items is a required field 22864 Items []*int64 `locationNameList:"StatusCode" min:"1" type:"list" required:"true"` 22865 22866 // The number of status codes. 22867 // 22868 // Quantity is a required field 22869 Quantity *int64 `type:"integer" required:"true"` 22870} 22871 22872// String returns the string representation 22873func (s StatusCodes) String() string { 22874 return awsutil.Prettify(s) 22875} 22876 22877// GoString returns the string representation 22878func (s StatusCodes) GoString() string { 22879 return s.String() 22880} 22881 22882// Validate inspects the fields of the type to determine if they are valid. 22883func (s *StatusCodes) Validate() error { 22884 invalidParams := request.ErrInvalidParams{Context: "StatusCodes"} 22885 if s.Items == nil { 22886 invalidParams.Add(request.NewErrParamRequired("Items")) 22887 } 22888 if s.Items != nil && len(s.Items) < 1 { 22889 invalidParams.Add(request.NewErrParamMinLen("Items", 1)) 22890 } 22891 if s.Quantity == nil { 22892 invalidParams.Add(request.NewErrParamRequired("Quantity")) 22893 } 22894 22895 if invalidParams.Len() > 0 { 22896 return invalidParams 22897 } 22898 return nil 22899} 22900 22901// SetItems sets the Items field's value. 22902func (s *StatusCodes) SetItems(v []*int64) *StatusCodes { 22903 s.Items = v 22904 return s 22905} 22906 22907// SetQuantity sets the Quantity field's value. 22908func (s *StatusCodes) SetQuantity(v int64) *StatusCodes { 22909 s.Quantity = &v 22910 return s 22911} 22912 22913// A streaming distribution tells CloudFront where you want RTMP content to 22914// be delivered from, and the details about how to track and manage content 22915// delivery. 22916type StreamingDistribution struct { 22917 _ struct{} `type:"structure"` 22918 22919 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 22920 // where 123456789012 is your account ID. 22921 // 22922 // ARN is a required field 22923 ARN *string `type:"string" required:"true"` 22924 22925 // A complex type that lists the accounts, if any, that you included in the 22926 // TrustedSigners complex type for this distribution. These are the accounts 22927 // that you want to allow to create signed URLs for private content. 22928 // 22929 // The Signer complex type lists the account number of the trusted signer or 22930 // self if the signer is the account that created the distribution. The Signer 22931 // element also includes the IDs of any active CloudFront key pairs that are 22932 // associated with the trusted signer's account. If no KeyPairId element appears 22933 // for a Signer, that signer can't create signed URLs. 22934 // 22935 // For more information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 22936 // in the Amazon CloudFront Developer Guide. 22937 // 22938 // ActiveTrustedSigners is a required field 22939 ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` 22940 22941 // The domain name that corresponds to the streaming distribution, for example, 22942 // s5c39gqb8ow64r.cloudfront.net. 22943 // 22944 // DomainName is a required field 22945 DomainName *string `type:"string" required:"true"` 22946 22947 // The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE. 22948 // 22949 // Id is a required field 22950 Id *string `type:"string" required:"true"` 22951 22952 // The date and time that the distribution was last modified. 22953 LastModifiedTime *time.Time `type:"timestamp"` 22954 22955 // The current status of the RTMP distribution. When the status is Deployed, 22956 // the distribution's information is propagated to all CloudFront edge locations. 22957 // 22958 // Status is a required field 22959 Status *string `type:"string" required:"true"` 22960 22961 // The current configuration information for the RTMP distribution. 22962 // 22963 // StreamingDistributionConfig is a required field 22964 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` 22965} 22966 22967// String returns the string representation 22968func (s StreamingDistribution) String() string { 22969 return awsutil.Prettify(s) 22970} 22971 22972// GoString returns the string representation 22973func (s StreamingDistribution) GoString() string { 22974 return s.String() 22975} 22976 22977// SetARN sets the ARN field's value. 22978func (s *StreamingDistribution) SetARN(v string) *StreamingDistribution { 22979 s.ARN = &v 22980 return s 22981} 22982 22983// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. 22984func (s *StreamingDistribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *StreamingDistribution { 22985 s.ActiveTrustedSigners = v 22986 return s 22987} 22988 22989// SetDomainName sets the DomainName field's value. 22990func (s *StreamingDistribution) SetDomainName(v string) *StreamingDistribution { 22991 s.DomainName = &v 22992 return s 22993} 22994 22995// SetId sets the Id field's value. 22996func (s *StreamingDistribution) SetId(v string) *StreamingDistribution { 22997 s.Id = &v 22998 return s 22999} 23000 23001// SetLastModifiedTime sets the LastModifiedTime field's value. 23002func (s *StreamingDistribution) SetLastModifiedTime(v time.Time) *StreamingDistribution { 23003 s.LastModifiedTime = &v 23004 return s 23005} 23006 23007// SetStatus sets the Status field's value. 23008func (s *StreamingDistribution) SetStatus(v string) *StreamingDistribution { 23009 s.Status = &v 23010 return s 23011} 23012 23013// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 23014func (s *StreamingDistribution) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *StreamingDistribution { 23015 s.StreamingDistributionConfig = v 23016 return s 23017} 23018 23019// The RTMP distribution's configuration information. 23020type StreamingDistributionConfig struct { 23021 _ struct{} `type:"structure"` 23022 23023 // A complex type that contains information about CNAMEs (alternate domain names), 23024 // if any, for this streaming distribution. 23025 Aliases *Aliases `type:"structure"` 23026 23027 // A unique value (for example, a date-time stamp) that ensures that the request 23028 // can't be replayed. 23029 // 23030 // If the value of CallerReference is new (regardless of the content of the 23031 // StreamingDistributionConfig object), CloudFront creates a new distribution. 23032 // 23033 // If CallerReference is a value that you already sent in a previous request 23034 // to create a distribution, CloudFront returns a DistributionAlreadyExists 23035 // error. 23036 // 23037 // CallerReference is a required field 23038 CallerReference *string `type:"string" required:"true"` 23039 23040 // Any comments you want to include about the streaming distribution. 23041 // 23042 // Comment is a required field 23043 Comment *string `type:"string" required:"true"` 23044 23045 // Whether the streaming distribution is enabled to accept user requests for 23046 // content. 23047 // 23048 // Enabled is a required field 23049 Enabled *bool `type:"boolean" required:"true"` 23050 23051 // A complex type that controls whether access logs are written for the streaming 23052 // distribution. 23053 Logging *StreamingLoggingConfig `type:"structure"` 23054 23055 // A complex type that contains information about price class for this streaming 23056 // distribution. 23057 PriceClass *string `type:"string" enum:"PriceClass"` 23058 23059 // A complex type that contains information about the Amazon S3 bucket from 23060 // which you want CloudFront to get your media files for distribution. 23061 // 23062 // S3Origin is a required field 23063 S3Origin *S3Origin `type:"structure" required:"true"` 23064 23065 // A complex type that specifies any accounts that you want to permit to create 23066 // signed URLs for private content. If you want the distribution to use signed 23067 // URLs, include this element; if you want the distribution to use public URLs, 23068 // remove this element. For more information, see Serving Private Content through 23069 // CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 23070 // in the Amazon CloudFront Developer Guide. 23071 // 23072 // TrustedSigners is a required field 23073 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 23074} 23075 23076// String returns the string representation 23077func (s StreamingDistributionConfig) String() string { 23078 return awsutil.Prettify(s) 23079} 23080 23081// GoString returns the string representation 23082func (s StreamingDistributionConfig) GoString() string { 23083 return s.String() 23084} 23085 23086// Validate inspects the fields of the type to determine if they are valid. 23087func (s *StreamingDistributionConfig) Validate() error { 23088 invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfig"} 23089 if s.CallerReference == nil { 23090 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 23091 } 23092 if s.Comment == nil { 23093 invalidParams.Add(request.NewErrParamRequired("Comment")) 23094 } 23095 if s.Enabled == nil { 23096 invalidParams.Add(request.NewErrParamRequired("Enabled")) 23097 } 23098 if s.S3Origin == nil { 23099 invalidParams.Add(request.NewErrParamRequired("S3Origin")) 23100 } 23101 if s.TrustedSigners == nil { 23102 invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) 23103 } 23104 if s.Aliases != nil { 23105 if err := s.Aliases.Validate(); err != nil { 23106 invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) 23107 } 23108 } 23109 if s.Logging != nil { 23110 if err := s.Logging.Validate(); err != nil { 23111 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 23112 } 23113 } 23114 if s.S3Origin != nil { 23115 if err := s.S3Origin.Validate(); err != nil { 23116 invalidParams.AddNested("S3Origin", err.(request.ErrInvalidParams)) 23117 } 23118 } 23119 if s.TrustedSigners != nil { 23120 if err := s.TrustedSigners.Validate(); err != nil { 23121 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 23122 } 23123 } 23124 23125 if invalidParams.Len() > 0 { 23126 return invalidParams 23127 } 23128 return nil 23129} 23130 23131// SetAliases sets the Aliases field's value. 23132func (s *StreamingDistributionConfig) SetAliases(v *Aliases) *StreamingDistributionConfig { 23133 s.Aliases = v 23134 return s 23135} 23136 23137// SetCallerReference sets the CallerReference field's value. 23138func (s *StreamingDistributionConfig) SetCallerReference(v string) *StreamingDistributionConfig { 23139 s.CallerReference = &v 23140 return s 23141} 23142 23143// SetComment sets the Comment field's value. 23144func (s *StreamingDistributionConfig) SetComment(v string) *StreamingDistributionConfig { 23145 s.Comment = &v 23146 return s 23147} 23148 23149// SetEnabled sets the Enabled field's value. 23150func (s *StreamingDistributionConfig) SetEnabled(v bool) *StreamingDistributionConfig { 23151 s.Enabled = &v 23152 return s 23153} 23154 23155// SetLogging sets the Logging field's value. 23156func (s *StreamingDistributionConfig) SetLogging(v *StreamingLoggingConfig) *StreamingDistributionConfig { 23157 s.Logging = v 23158 return s 23159} 23160 23161// SetPriceClass sets the PriceClass field's value. 23162func (s *StreamingDistributionConfig) SetPriceClass(v string) *StreamingDistributionConfig { 23163 s.PriceClass = &v 23164 return s 23165} 23166 23167// SetS3Origin sets the S3Origin field's value. 23168func (s *StreamingDistributionConfig) SetS3Origin(v *S3Origin) *StreamingDistributionConfig { 23169 s.S3Origin = v 23170 return s 23171} 23172 23173// SetTrustedSigners sets the TrustedSigners field's value. 23174func (s *StreamingDistributionConfig) SetTrustedSigners(v *TrustedSigners) *StreamingDistributionConfig { 23175 s.TrustedSigners = v 23176 return s 23177} 23178 23179// A streaming distribution Configuration and a list of tags to be associated 23180// with the streaming distribution. 23181type StreamingDistributionConfigWithTags struct { 23182 _ struct{} `type:"structure"` 23183 23184 // A streaming distribution Configuration. 23185 // 23186 // StreamingDistributionConfig is a required field 23187 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` 23188 23189 // A complex type that contains zero or more Tag elements. 23190 // 23191 // Tags is a required field 23192 Tags *Tags `type:"structure" required:"true"` 23193} 23194 23195// String returns the string representation 23196func (s StreamingDistributionConfigWithTags) String() string { 23197 return awsutil.Prettify(s) 23198} 23199 23200// GoString returns the string representation 23201func (s StreamingDistributionConfigWithTags) GoString() string { 23202 return s.String() 23203} 23204 23205// Validate inspects the fields of the type to determine if they are valid. 23206func (s *StreamingDistributionConfigWithTags) Validate() error { 23207 invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfigWithTags"} 23208 if s.StreamingDistributionConfig == nil { 23209 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 23210 } 23211 if s.Tags == nil { 23212 invalidParams.Add(request.NewErrParamRequired("Tags")) 23213 } 23214 if s.StreamingDistributionConfig != nil { 23215 if err := s.StreamingDistributionConfig.Validate(); err != nil { 23216 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 23217 } 23218 } 23219 if s.Tags != nil { 23220 if err := s.Tags.Validate(); err != nil { 23221 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 23222 } 23223 } 23224 23225 if invalidParams.Len() > 0 { 23226 return invalidParams 23227 } 23228 return nil 23229} 23230 23231// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 23232func (s *StreamingDistributionConfigWithTags) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *StreamingDistributionConfigWithTags { 23233 s.StreamingDistributionConfig = v 23234 return s 23235} 23236 23237// SetTags sets the Tags field's value. 23238func (s *StreamingDistributionConfigWithTags) SetTags(v *Tags) *StreamingDistributionConfigWithTags { 23239 s.Tags = v 23240 return s 23241} 23242 23243// A streaming distribution list. 23244type StreamingDistributionList struct { 23245 _ struct{} `type:"structure"` 23246 23247 // A flag that indicates whether more streaming distributions remain to be listed. 23248 // If your results were truncated, you can make a follow-up pagination request 23249 // using the Marker request parameter to retrieve more distributions in the 23250 // list. 23251 // 23252 // IsTruncated is a required field 23253 IsTruncated *bool `type:"boolean" required:"true"` 23254 23255 // A complex type that contains one StreamingDistributionSummary element for 23256 // each distribution that was created by the current account. 23257 Items []*StreamingDistributionSummary `locationNameList:"StreamingDistributionSummary" type:"list"` 23258 23259 // The value you provided for the Marker request parameter. 23260 // 23261 // Marker is a required field 23262 Marker *string `type:"string" required:"true"` 23263 23264 // The value you provided for the MaxItems request parameter. 23265 // 23266 // MaxItems is a required field 23267 MaxItems *int64 `type:"integer" required:"true"` 23268 23269 // If IsTruncated is true, this element is present and contains the value you 23270 // can use for the Marker request parameter to continue listing your RTMP distributions 23271 // where they left off. 23272 NextMarker *string `type:"string"` 23273 23274 // The number of streaming distributions that were created by the current account. 23275 // 23276 // Quantity is a required field 23277 Quantity *int64 `type:"integer" required:"true"` 23278} 23279 23280// String returns the string representation 23281func (s StreamingDistributionList) String() string { 23282 return awsutil.Prettify(s) 23283} 23284 23285// GoString returns the string representation 23286func (s StreamingDistributionList) GoString() string { 23287 return s.String() 23288} 23289 23290// SetIsTruncated sets the IsTruncated field's value. 23291func (s *StreamingDistributionList) SetIsTruncated(v bool) *StreamingDistributionList { 23292 s.IsTruncated = &v 23293 return s 23294} 23295 23296// SetItems sets the Items field's value. 23297func (s *StreamingDistributionList) SetItems(v []*StreamingDistributionSummary) *StreamingDistributionList { 23298 s.Items = v 23299 return s 23300} 23301 23302// SetMarker sets the Marker field's value. 23303func (s *StreamingDistributionList) SetMarker(v string) *StreamingDistributionList { 23304 s.Marker = &v 23305 return s 23306} 23307 23308// SetMaxItems sets the MaxItems field's value. 23309func (s *StreamingDistributionList) SetMaxItems(v int64) *StreamingDistributionList { 23310 s.MaxItems = &v 23311 return s 23312} 23313 23314// SetNextMarker sets the NextMarker field's value. 23315func (s *StreamingDistributionList) SetNextMarker(v string) *StreamingDistributionList { 23316 s.NextMarker = &v 23317 return s 23318} 23319 23320// SetQuantity sets the Quantity field's value. 23321func (s *StreamingDistributionList) SetQuantity(v int64) *StreamingDistributionList { 23322 s.Quantity = &v 23323 return s 23324} 23325 23326// A summary of the information for a CloudFront streaming distribution. 23327type StreamingDistributionSummary struct { 23328 _ struct{} `type:"structure"` 23329 23330 // The ARN (Amazon Resource Name) for the streaming distribution. For example: 23331 // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, 23332 // where 123456789012 is your account ID. 23333 // 23334 // ARN is a required field 23335 ARN *string `type:"string" required:"true"` 23336 23337 // A complex type that contains information about CNAMEs (alternate domain names), 23338 // if any, for this streaming distribution. 23339 // 23340 // Aliases is a required field 23341 Aliases *Aliases `type:"structure" required:"true"` 23342 23343 // The comment originally specified when this distribution was created. 23344 // 23345 // Comment is a required field 23346 Comment *string `type:"string" required:"true"` 23347 23348 // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. 23349 // 23350 // DomainName is a required field 23351 DomainName *string `type:"string" required:"true"` 23352 23353 // Whether the distribution is enabled to accept end user requests for content. 23354 // 23355 // Enabled is a required field 23356 Enabled *bool `type:"boolean" required:"true"` 23357 23358 // The identifier for the distribution, for example, EDFDVBD632BHDS5. 23359 // 23360 // Id is a required field 23361 Id *string `type:"string" required:"true"` 23362 23363 // The date and time the distribution was last modified. 23364 // 23365 // LastModifiedTime is a required field 23366 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 23367 23368 // A complex type that contains information about price class for this streaming 23369 // distribution. 23370 // 23371 // PriceClass is a required field 23372 PriceClass *string `type:"string" required:"true" enum:"PriceClass"` 23373 23374 // A complex type that contains information about the Amazon S3 bucket from 23375 // which you want CloudFront to get your media files for distribution. 23376 // 23377 // S3Origin is a required field 23378 S3Origin *S3Origin `type:"structure" required:"true"` 23379 23380 // Indicates the current status of the distribution. When the status is Deployed, 23381 // the distribution's information is fully propagated throughout the Amazon 23382 // CloudFront system. 23383 // 23384 // Status is a required field 23385 Status *string `type:"string" required:"true"` 23386 23387 // A complex type that specifies the accounts, if any, that you want to allow 23388 // to create signed URLs for private content. If you want to require signed 23389 // URLs in requests for objects in the target origin that match the PathPattern 23390 // for this cache behavior, specify true for Enabled, and specify the applicable 23391 // values for Quantity and Items.If you don't want to require signed URLs in 23392 // requests for objects that match PathPattern, specify false for Enabled and 23393 // 0 for Quantity. Omit Items. To add, change, or remove one or more trusted 23394 // signers, change Enabled to true (if it's currently false), change Quantity 23395 // as applicable, and specify all of the trusted signers that you want to include 23396 // in the updated distribution. 23397 // 23398 // For more information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 23399 // in the Amazon CloudFront Developer Guide. 23400 // 23401 // TrustedSigners is a required field 23402 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 23403} 23404 23405// String returns the string representation 23406func (s StreamingDistributionSummary) String() string { 23407 return awsutil.Prettify(s) 23408} 23409 23410// GoString returns the string representation 23411func (s StreamingDistributionSummary) GoString() string { 23412 return s.String() 23413} 23414 23415// SetARN sets the ARN field's value. 23416func (s *StreamingDistributionSummary) SetARN(v string) *StreamingDistributionSummary { 23417 s.ARN = &v 23418 return s 23419} 23420 23421// SetAliases sets the Aliases field's value. 23422func (s *StreamingDistributionSummary) SetAliases(v *Aliases) *StreamingDistributionSummary { 23423 s.Aliases = v 23424 return s 23425} 23426 23427// SetComment sets the Comment field's value. 23428func (s *StreamingDistributionSummary) SetComment(v string) *StreamingDistributionSummary { 23429 s.Comment = &v 23430 return s 23431} 23432 23433// SetDomainName sets the DomainName field's value. 23434func (s *StreamingDistributionSummary) SetDomainName(v string) *StreamingDistributionSummary { 23435 s.DomainName = &v 23436 return s 23437} 23438 23439// SetEnabled sets the Enabled field's value. 23440func (s *StreamingDistributionSummary) SetEnabled(v bool) *StreamingDistributionSummary { 23441 s.Enabled = &v 23442 return s 23443} 23444 23445// SetId sets the Id field's value. 23446func (s *StreamingDistributionSummary) SetId(v string) *StreamingDistributionSummary { 23447 s.Id = &v 23448 return s 23449} 23450 23451// SetLastModifiedTime sets the LastModifiedTime field's value. 23452func (s *StreamingDistributionSummary) SetLastModifiedTime(v time.Time) *StreamingDistributionSummary { 23453 s.LastModifiedTime = &v 23454 return s 23455} 23456 23457// SetPriceClass sets the PriceClass field's value. 23458func (s *StreamingDistributionSummary) SetPriceClass(v string) *StreamingDistributionSummary { 23459 s.PriceClass = &v 23460 return s 23461} 23462 23463// SetS3Origin sets the S3Origin field's value. 23464func (s *StreamingDistributionSummary) SetS3Origin(v *S3Origin) *StreamingDistributionSummary { 23465 s.S3Origin = v 23466 return s 23467} 23468 23469// SetStatus sets the Status field's value. 23470func (s *StreamingDistributionSummary) SetStatus(v string) *StreamingDistributionSummary { 23471 s.Status = &v 23472 return s 23473} 23474 23475// SetTrustedSigners sets the TrustedSigners field's value. 23476func (s *StreamingDistributionSummary) SetTrustedSigners(v *TrustedSigners) *StreamingDistributionSummary { 23477 s.TrustedSigners = v 23478 return s 23479} 23480 23481// A complex type that controls whether access logs are written for this streaming 23482// distribution. 23483type StreamingLoggingConfig struct { 23484 _ struct{} `type:"structure"` 23485 23486 // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. 23487 // 23488 // Bucket is a required field 23489 Bucket *string `type:"string" required:"true"` 23490 23491 // Specifies whether you want CloudFront to save access logs to an Amazon S3 23492 // bucket. If you don't want to enable logging when you create a streaming distribution 23493 // or if you want to disable logging for an existing streaming distribution, 23494 // specify false for Enabled, and specify empty Bucket and Prefix elements. 23495 // If you specify false for Enabled but you specify values for Bucket and Prefix, 23496 // the values are automatically deleted. 23497 // 23498 // Enabled is a required field 23499 Enabled *bool `type:"boolean" required:"true"` 23500 23501 // An optional string that you want CloudFront to prefix to the access log filenames 23502 // for this streaming distribution, for example, myprefix/. If you want to enable 23503 // logging, but you don't want to specify a prefix, you still must include an 23504 // empty Prefix element in the Logging element. 23505 // 23506 // Prefix is a required field 23507 Prefix *string `type:"string" required:"true"` 23508} 23509 23510// String returns the string representation 23511func (s StreamingLoggingConfig) String() string { 23512 return awsutil.Prettify(s) 23513} 23514 23515// GoString returns the string representation 23516func (s StreamingLoggingConfig) GoString() string { 23517 return s.String() 23518} 23519 23520// Validate inspects the fields of the type to determine if they are valid. 23521func (s *StreamingLoggingConfig) Validate() error { 23522 invalidParams := request.ErrInvalidParams{Context: "StreamingLoggingConfig"} 23523 if s.Bucket == nil { 23524 invalidParams.Add(request.NewErrParamRequired("Bucket")) 23525 } 23526 if s.Enabled == nil { 23527 invalidParams.Add(request.NewErrParamRequired("Enabled")) 23528 } 23529 if s.Prefix == nil { 23530 invalidParams.Add(request.NewErrParamRequired("Prefix")) 23531 } 23532 23533 if invalidParams.Len() > 0 { 23534 return invalidParams 23535 } 23536 return nil 23537} 23538 23539// SetBucket sets the Bucket field's value. 23540func (s *StreamingLoggingConfig) SetBucket(v string) *StreamingLoggingConfig { 23541 s.Bucket = &v 23542 return s 23543} 23544 23545// SetEnabled sets the Enabled field's value. 23546func (s *StreamingLoggingConfig) SetEnabled(v bool) *StreamingLoggingConfig { 23547 s.Enabled = &v 23548 return s 23549} 23550 23551// SetPrefix sets the Prefix field's value. 23552func (s *StreamingLoggingConfig) SetPrefix(v string) *StreamingLoggingConfig { 23553 s.Prefix = &v 23554 return s 23555} 23556 23557// A complex type that contains Tag key and Tag value. 23558type Tag struct { 23559 _ struct{} `type:"structure"` 23560 23561 // A string that contains Tag key. 23562 // 23563 // The string length should be between 1 and 128 characters. Valid characters 23564 // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @. 23565 // 23566 // Key is a required field 23567 Key *string `min:"1" type:"string" required:"true"` 23568 23569 // A string that contains an optional Tag value. 23570 // 23571 // The string length should be between 0 and 256 characters. Valid characters 23572 // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @. 23573 Value *string `type:"string"` 23574} 23575 23576// String returns the string representation 23577func (s Tag) String() string { 23578 return awsutil.Prettify(s) 23579} 23580 23581// GoString returns the string representation 23582func (s Tag) GoString() string { 23583 return s.String() 23584} 23585 23586// Validate inspects the fields of the type to determine if they are valid. 23587func (s *Tag) Validate() error { 23588 invalidParams := request.ErrInvalidParams{Context: "Tag"} 23589 if s.Key == nil { 23590 invalidParams.Add(request.NewErrParamRequired("Key")) 23591 } 23592 if s.Key != nil && len(*s.Key) < 1 { 23593 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 23594 } 23595 23596 if invalidParams.Len() > 0 { 23597 return invalidParams 23598 } 23599 return nil 23600} 23601 23602// SetKey sets the Key field's value. 23603func (s *Tag) SetKey(v string) *Tag { 23604 s.Key = &v 23605 return s 23606} 23607 23608// SetValue sets the Value field's value. 23609func (s *Tag) SetValue(v string) *Tag { 23610 s.Value = &v 23611 return s 23612} 23613 23614// A complex type that contains zero or more Tag elements. 23615type TagKeys struct { 23616 _ struct{} `type:"structure"` 23617 23618 // A complex type that contains Tag key elements. 23619 Items []*string `locationNameList:"Key" type:"list"` 23620} 23621 23622// String returns the string representation 23623func (s TagKeys) String() string { 23624 return awsutil.Prettify(s) 23625} 23626 23627// GoString returns the string representation 23628func (s TagKeys) GoString() string { 23629 return s.String() 23630} 23631 23632// SetItems sets the Items field's value. 23633func (s *TagKeys) SetItems(v []*string) *TagKeys { 23634 s.Items = v 23635 return s 23636} 23637 23638// The request to add tags to a CloudFront resource. 23639type TagResourceInput struct { 23640 _ struct{} `locationName:"TagResourceRequest" type:"structure" payload:"Tags"` 23641 23642 // An ARN of a CloudFront resource. 23643 // 23644 // Resource is a required field 23645 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 23646 23647 // A complex type that contains zero or more Tag elements. 23648 // 23649 // Tags is a required field 23650 Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 23651} 23652 23653// String returns the string representation 23654func (s TagResourceInput) String() string { 23655 return awsutil.Prettify(s) 23656} 23657 23658// GoString returns the string representation 23659func (s TagResourceInput) GoString() string { 23660 return s.String() 23661} 23662 23663// Validate inspects the fields of the type to determine if they are valid. 23664func (s *TagResourceInput) Validate() error { 23665 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 23666 if s.Resource == nil { 23667 invalidParams.Add(request.NewErrParamRequired("Resource")) 23668 } 23669 if s.Tags == nil { 23670 invalidParams.Add(request.NewErrParamRequired("Tags")) 23671 } 23672 if s.Tags != nil { 23673 if err := s.Tags.Validate(); err != nil { 23674 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 23675 } 23676 } 23677 23678 if invalidParams.Len() > 0 { 23679 return invalidParams 23680 } 23681 return nil 23682} 23683 23684// SetResource sets the Resource field's value. 23685func (s *TagResourceInput) SetResource(v string) *TagResourceInput { 23686 s.Resource = &v 23687 return s 23688} 23689 23690// SetTags sets the Tags field's value. 23691func (s *TagResourceInput) SetTags(v *Tags) *TagResourceInput { 23692 s.Tags = v 23693 return s 23694} 23695 23696type TagResourceOutput struct { 23697 _ struct{} `type:"structure"` 23698} 23699 23700// String returns the string representation 23701func (s TagResourceOutput) String() string { 23702 return awsutil.Prettify(s) 23703} 23704 23705// GoString returns the string representation 23706func (s TagResourceOutput) GoString() string { 23707 return s.String() 23708} 23709 23710// A complex type that contains zero or more Tag elements. 23711type Tags struct { 23712 _ struct{} `type:"structure"` 23713 23714 // A complex type that contains Tag elements. 23715 Items []*Tag `locationNameList:"Tag" type:"list"` 23716} 23717 23718// String returns the string representation 23719func (s Tags) String() string { 23720 return awsutil.Prettify(s) 23721} 23722 23723// GoString returns the string representation 23724func (s Tags) GoString() string { 23725 return s.String() 23726} 23727 23728// Validate inspects the fields of the type to determine if they are valid. 23729func (s *Tags) Validate() error { 23730 invalidParams := request.ErrInvalidParams{Context: "Tags"} 23731 if s.Items != nil { 23732 for i, v := range s.Items { 23733 if v == nil { 23734 continue 23735 } 23736 if err := v.Validate(); err != nil { 23737 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 23738 } 23739 } 23740 } 23741 23742 if invalidParams.Len() > 0 { 23743 return invalidParams 23744 } 23745 return nil 23746} 23747 23748// SetItems sets the Items field's value. 23749func (s *Tags) SetItems(v []*Tag) *Tags { 23750 s.Items = v 23751 return s 23752} 23753 23754type TestFunctionInput struct { 23755 _ struct{} `locationName:"TestFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 23756 23757 // The event object to test the function with. For more information about the 23758 // structure of the event object, see Testing functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/managing-functions.html#test-function) 23759 // in the Amazon CloudFront Developer Guide. 23760 // 23761 // EventObject is automatically base64 encoded/decoded by the SDK. 23762 // 23763 // EventObject is a required field 23764 EventObject []byte `type:"blob" required:"true" sensitive:"true"` 23765 23766 // The current version (ETag value) of the function that you are testing, which 23767 // you can get using DescribeFunction. 23768 // 23769 // IfMatch is a required field 23770 IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` 23771 23772 // The name of the function that you are testing. 23773 // 23774 // Name is a required field 23775 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 23776 23777 // The stage of the function that you are testing, either DEVELOPMENT or LIVE. 23778 Stage *string `type:"string" enum:"FunctionStage"` 23779} 23780 23781// String returns the string representation 23782func (s TestFunctionInput) String() string { 23783 return awsutil.Prettify(s) 23784} 23785 23786// GoString returns the string representation 23787func (s TestFunctionInput) GoString() string { 23788 return s.String() 23789} 23790 23791// Validate inspects the fields of the type to determine if they are valid. 23792func (s *TestFunctionInput) Validate() error { 23793 invalidParams := request.ErrInvalidParams{Context: "TestFunctionInput"} 23794 if s.EventObject == nil { 23795 invalidParams.Add(request.NewErrParamRequired("EventObject")) 23796 } 23797 if s.IfMatch == nil { 23798 invalidParams.Add(request.NewErrParamRequired("IfMatch")) 23799 } 23800 if s.Name == nil { 23801 invalidParams.Add(request.NewErrParamRequired("Name")) 23802 } 23803 if s.Name != nil && len(*s.Name) < 1 { 23804 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 23805 } 23806 23807 if invalidParams.Len() > 0 { 23808 return invalidParams 23809 } 23810 return nil 23811} 23812 23813// SetEventObject sets the EventObject field's value. 23814func (s *TestFunctionInput) SetEventObject(v []byte) *TestFunctionInput { 23815 s.EventObject = v 23816 return s 23817} 23818 23819// SetIfMatch sets the IfMatch field's value. 23820func (s *TestFunctionInput) SetIfMatch(v string) *TestFunctionInput { 23821 s.IfMatch = &v 23822 return s 23823} 23824 23825// SetName sets the Name field's value. 23826func (s *TestFunctionInput) SetName(v string) *TestFunctionInput { 23827 s.Name = &v 23828 return s 23829} 23830 23831// SetStage sets the Stage field's value. 23832func (s *TestFunctionInput) SetStage(v string) *TestFunctionInput { 23833 s.Stage = &v 23834 return s 23835} 23836 23837type TestFunctionOutput struct { 23838 _ struct{} `type:"structure" payload:"TestResult"` 23839 23840 // An object that represents the result of running the function with the provided 23841 // event object. 23842 TestResult *TestResult `type:"structure"` 23843} 23844 23845// String returns the string representation 23846func (s TestFunctionOutput) String() string { 23847 return awsutil.Prettify(s) 23848} 23849 23850// GoString returns the string representation 23851func (s TestFunctionOutput) GoString() string { 23852 return s.String() 23853} 23854 23855// SetTestResult sets the TestResult field's value. 23856func (s *TestFunctionOutput) SetTestResult(v *TestResult) *TestFunctionOutput { 23857 s.TestResult = v 23858 return s 23859} 23860 23861// Contains the result of testing a CloudFront function with TestFunction. 23862type TestResult struct { 23863 _ struct{} `type:"structure"` 23864 23865 // The amount of time that the function took to run as a percentage of the maximum 23866 // allowed time. For example, a compute utilization of 35 means that the function 23867 // completed in 35% of the maximum allowed time. 23868 ComputeUtilization *string `type:"string"` 23869 23870 // If the result of testing the function was an error, this field contains the 23871 // error message. 23872 FunctionErrorMessage *string `type:"string"` 23873 23874 // Contains the log lines that the function wrote (if any) when running the 23875 // test. 23876 FunctionExecutionLogs []*string `type:"list"` 23877 23878 // The event object returned by the function. For more information about the 23879 // structure of the event object, see Event object structure (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/functions-event-structure.html) 23880 // in the Amazon CloudFront Developer Guide. 23881 FunctionOutput *string `type:"string"` 23882 23883 // Contains configuration information and metadata about the CloudFront function 23884 // that was tested. 23885 FunctionSummary *FunctionSummary `type:"structure"` 23886} 23887 23888// String returns the string representation 23889func (s TestResult) String() string { 23890 return awsutil.Prettify(s) 23891} 23892 23893// GoString returns the string representation 23894func (s TestResult) GoString() string { 23895 return s.String() 23896} 23897 23898// SetComputeUtilization sets the ComputeUtilization field's value. 23899func (s *TestResult) SetComputeUtilization(v string) *TestResult { 23900 s.ComputeUtilization = &v 23901 return s 23902} 23903 23904// SetFunctionErrorMessage sets the FunctionErrorMessage field's value. 23905func (s *TestResult) SetFunctionErrorMessage(v string) *TestResult { 23906 s.FunctionErrorMessage = &v 23907 return s 23908} 23909 23910// SetFunctionExecutionLogs sets the FunctionExecutionLogs field's value. 23911func (s *TestResult) SetFunctionExecutionLogs(v []*string) *TestResult { 23912 s.FunctionExecutionLogs = v 23913 return s 23914} 23915 23916// SetFunctionOutput sets the FunctionOutput field's value. 23917func (s *TestResult) SetFunctionOutput(v string) *TestResult { 23918 s.FunctionOutput = &v 23919 return s 23920} 23921 23922// SetFunctionSummary sets the FunctionSummary field's value. 23923func (s *TestResult) SetFunctionSummary(v *FunctionSummary) *TestResult { 23924 s.FunctionSummary = v 23925 return s 23926} 23927 23928// A list of key groups whose public keys CloudFront can use to verify the signatures 23929// of signed URLs and signed cookies. 23930type TrustedKeyGroups struct { 23931 _ struct{} `type:"structure"` 23932 23933 // This field is true if any of the key groups in the list have public keys 23934 // that CloudFront can use to verify the signatures of signed URLs and signed 23935 // cookies. If not, this field is false. 23936 // 23937 // Enabled is a required field 23938 Enabled *bool `type:"boolean" required:"true"` 23939 23940 // A list of key groups identifiers. 23941 Items []*string `locationNameList:"KeyGroup" type:"list"` 23942 23943 // The number of key groups in the list. 23944 // 23945 // Quantity is a required field 23946 Quantity *int64 `type:"integer" required:"true"` 23947} 23948 23949// String returns the string representation 23950func (s TrustedKeyGroups) String() string { 23951 return awsutil.Prettify(s) 23952} 23953 23954// GoString returns the string representation 23955func (s TrustedKeyGroups) GoString() string { 23956 return s.String() 23957} 23958 23959// Validate inspects the fields of the type to determine if they are valid. 23960func (s *TrustedKeyGroups) Validate() error { 23961 invalidParams := request.ErrInvalidParams{Context: "TrustedKeyGroups"} 23962 if s.Enabled == nil { 23963 invalidParams.Add(request.NewErrParamRequired("Enabled")) 23964 } 23965 if s.Quantity == nil { 23966 invalidParams.Add(request.NewErrParamRequired("Quantity")) 23967 } 23968 23969 if invalidParams.Len() > 0 { 23970 return invalidParams 23971 } 23972 return nil 23973} 23974 23975// SetEnabled sets the Enabled field's value. 23976func (s *TrustedKeyGroups) SetEnabled(v bool) *TrustedKeyGroups { 23977 s.Enabled = &v 23978 return s 23979} 23980 23981// SetItems sets the Items field's value. 23982func (s *TrustedKeyGroups) SetItems(v []*string) *TrustedKeyGroups { 23983 s.Items = v 23984 return s 23985} 23986 23987// SetQuantity sets the Quantity field's value. 23988func (s *TrustedKeyGroups) SetQuantity(v int64) *TrustedKeyGroups { 23989 s.Quantity = &v 23990 return s 23991} 23992 23993// A list of accounts whose public keys CloudFront can use to verify the signatures 23994// of signed URLs and signed cookies. 23995type TrustedSigners struct { 23996 _ struct{} `type:"structure"` 23997 23998 // This field is true if any of the accounts have public keys that CloudFront 23999 // can use to verify the signatures of signed URLs and signed cookies. If not, 24000 // this field is false. 24001 // 24002 // Enabled is a required field 24003 Enabled *bool `type:"boolean" required:"true"` 24004 24005 // A list of account identifiers. 24006 Items []*string `locationNameList:"AwsAccountNumber" type:"list"` 24007 24008 // The number of accounts in the list. 24009 // 24010 // Quantity is a required field 24011 Quantity *int64 `type:"integer" required:"true"` 24012} 24013 24014// String returns the string representation 24015func (s TrustedSigners) String() string { 24016 return awsutil.Prettify(s) 24017} 24018 24019// GoString returns the string representation 24020func (s TrustedSigners) GoString() string { 24021 return s.String() 24022} 24023 24024// Validate inspects the fields of the type to determine if they are valid. 24025func (s *TrustedSigners) Validate() error { 24026 invalidParams := request.ErrInvalidParams{Context: "TrustedSigners"} 24027 if s.Enabled == nil { 24028 invalidParams.Add(request.NewErrParamRequired("Enabled")) 24029 } 24030 if s.Quantity == nil { 24031 invalidParams.Add(request.NewErrParamRequired("Quantity")) 24032 } 24033 24034 if invalidParams.Len() > 0 { 24035 return invalidParams 24036 } 24037 return nil 24038} 24039 24040// SetEnabled sets the Enabled field's value. 24041func (s *TrustedSigners) SetEnabled(v bool) *TrustedSigners { 24042 s.Enabled = &v 24043 return s 24044} 24045 24046// SetItems sets the Items field's value. 24047func (s *TrustedSigners) SetItems(v []*string) *TrustedSigners { 24048 s.Items = v 24049 return s 24050} 24051 24052// SetQuantity sets the Quantity field's value. 24053func (s *TrustedSigners) SetQuantity(v int64) *TrustedSigners { 24054 s.Quantity = &v 24055 return s 24056} 24057 24058// The request to remove tags from a CloudFront resource. 24059type UntagResourceInput struct { 24060 _ struct{} `locationName:"UntagResourceRequest" type:"structure" payload:"TagKeys"` 24061 24062 // An ARN of a CloudFront resource. 24063 // 24064 // Resource is a required field 24065 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 24066 24067 // A complex type that contains zero or more Tag key elements. 24068 // 24069 // TagKeys is a required field 24070 TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24071} 24072 24073// String returns the string representation 24074func (s UntagResourceInput) String() string { 24075 return awsutil.Prettify(s) 24076} 24077 24078// GoString returns the string representation 24079func (s UntagResourceInput) GoString() string { 24080 return s.String() 24081} 24082 24083// Validate inspects the fields of the type to determine if they are valid. 24084func (s *UntagResourceInput) Validate() error { 24085 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 24086 if s.Resource == nil { 24087 invalidParams.Add(request.NewErrParamRequired("Resource")) 24088 } 24089 if s.TagKeys == nil { 24090 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 24091 } 24092 24093 if invalidParams.Len() > 0 { 24094 return invalidParams 24095 } 24096 return nil 24097} 24098 24099// SetResource sets the Resource field's value. 24100func (s *UntagResourceInput) SetResource(v string) *UntagResourceInput { 24101 s.Resource = &v 24102 return s 24103} 24104 24105// SetTagKeys sets the TagKeys field's value. 24106func (s *UntagResourceInput) SetTagKeys(v *TagKeys) *UntagResourceInput { 24107 s.TagKeys = v 24108 return s 24109} 24110 24111type UntagResourceOutput struct { 24112 _ struct{} `type:"structure"` 24113} 24114 24115// String returns the string representation 24116func (s UntagResourceOutput) String() string { 24117 return awsutil.Prettify(s) 24118} 24119 24120// GoString returns the string representation 24121func (s UntagResourceOutput) GoString() string { 24122 return s.String() 24123} 24124 24125type UpdateCachePolicyInput struct { 24126 _ struct{} `locationName:"UpdateCachePolicyRequest" type:"structure" payload:"CachePolicyConfig"` 24127 24128 // A cache policy configuration. 24129 // 24130 // CachePolicyConfig is a required field 24131 CachePolicyConfig *CachePolicyConfig `locationName:"CachePolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24132 24133 // The unique identifier for the cache policy that you are updating. The identifier 24134 // is returned in a cache behavior’s CachePolicyId field in the response to 24135 // GetDistributionConfig. 24136 // 24137 // Id is a required field 24138 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24139 24140 // The version of the cache policy that you are updating. The version is returned 24141 // in the cache policy’s ETag field in the response to GetCachePolicyConfig. 24142 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24143} 24144 24145// String returns the string representation 24146func (s UpdateCachePolicyInput) String() string { 24147 return awsutil.Prettify(s) 24148} 24149 24150// GoString returns the string representation 24151func (s UpdateCachePolicyInput) GoString() string { 24152 return s.String() 24153} 24154 24155// Validate inspects the fields of the type to determine if they are valid. 24156func (s *UpdateCachePolicyInput) Validate() error { 24157 invalidParams := request.ErrInvalidParams{Context: "UpdateCachePolicyInput"} 24158 if s.CachePolicyConfig == nil { 24159 invalidParams.Add(request.NewErrParamRequired("CachePolicyConfig")) 24160 } 24161 if s.Id == nil { 24162 invalidParams.Add(request.NewErrParamRequired("Id")) 24163 } 24164 if s.Id != nil && len(*s.Id) < 1 { 24165 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24166 } 24167 if s.CachePolicyConfig != nil { 24168 if err := s.CachePolicyConfig.Validate(); err != nil { 24169 invalidParams.AddNested("CachePolicyConfig", err.(request.ErrInvalidParams)) 24170 } 24171 } 24172 24173 if invalidParams.Len() > 0 { 24174 return invalidParams 24175 } 24176 return nil 24177} 24178 24179// SetCachePolicyConfig sets the CachePolicyConfig field's value. 24180func (s *UpdateCachePolicyInput) SetCachePolicyConfig(v *CachePolicyConfig) *UpdateCachePolicyInput { 24181 s.CachePolicyConfig = v 24182 return s 24183} 24184 24185// SetId sets the Id field's value. 24186func (s *UpdateCachePolicyInput) SetId(v string) *UpdateCachePolicyInput { 24187 s.Id = &v 24188 return s 24189} 24190 24191// SetIfMatch sets the IfMatch field's value. 24192func (s *UpdateCachePolicyInput) SetIfMatch(v string) *UpdateCachePolicyInput { 24193 s.IfMatch = &v 24194 return s 24195} 24196 24197type UpdateCachePolicyOutput struct { 24198 _ struct{} `type:"structure" payload:"CachePolicy"` 24199 24200 // A cache policy. 24201 CachePolicy *CachePolicy `type:"structure"` 24202 24203 // The current version of the cache policy. 24204 ETag *string `location:"header" locationName:"ETag" type:"string"` 24205} 24206 24207// String returns the string representation 24208func (s UpdateCachePolicyOutput) String() string { 24209 return awsutil.Prettify(s) 24210} 24211 24212// GoString returns the string representation 24213func (s UpdateCachePolicyOutput) GoString() string { 24214 return s.String() 24215} 24216 24217// SetCachePolicy sets the CachePolicy field's value. 24218func (s *UpdateCachePolicyOutput) SetCachePolicy(v *CachePolicy) *UpdateCachePolicyOutput { 24219 s.CachePolicy = v 24220 return s 24221} 24222 24223// SetETag sets the ETag field's value. 24224func (s *UpdateCachePolicyOutput) SetETag(v string) *UpdateCachePolicyOutput { 24225 s.ETag = &v 24226 return s 24227} 24228 24229// The request to update an origin access identity. 24230type UpdateCloudFrontOriginAccessIdentityInput struct { 24231 _ struct{} `locationName:"UpdateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 24232 24233 // The identity's configuration information. 24234 // 24235 // CloudFrontOriginAccessIdentityConfig is a required field 24236 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24237 24238 // The identity's id. 24239 // 24240 // Id is a required field 24241 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24242 24243 // The value of the ETag header that you received when retrieving the identity's 24244 // configuration. For example: E2QWRUHAPOMQZL. 24245 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24246} 24247 24248// String returns the string representation 24249func (s UpdateCloudFrontOriginAccessIdentityInput) String() string { 24250 return awsutil.Prettify(s) 24251} 24252 24253// GoString returns the string representation 24254func (s UpdateCloudFrontOriginAccessIdentityInput) GoString() string { 24255 return s.String() 24256} 24257 24258// Validate inspects the fields of the type to determine if they are valid. 24259func (s *UpdateCloudFrontOriginAccessIdentityInput) Validate() error { 24260 invalidParams := request.ErrInvalidParams{Context: "UpdateCloudFrontOriginAccessIdentityInput"} 24261 if s.CloudFrontOriginAccessIdentityConfig == nil { 24262 invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) 24263 } 24264 if s.Id == nil { 24265 invalidParams.Add(request.NewErrParamRequired("Id")) 24266 } 24267 if s.Id != nil && len(*s.Id) < 1 { 24268 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24269 } 24270 if s.CloudFrontOriginAccessIdentityConfig != nil { 24271 if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { 24272 invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) 24273 } 24274 } 24275 24276 if invalidParams.Len() > 0 { 24277 return invalidParams 24278 } 24279 return nil 24280} 24281 24282// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 24283func (s *UpdateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *UpdateCloudFrontOriginAccessIdentityInput { 24284 s.CloudFrontOriginAccessIdentityConfig = v 24285 return s 24286} 24287 24288// SetId sets the Id field's value. 24289func (s *UpdateCloudFrontOriginAccessIdentityInput) SetId(v string) *UpdateCloudFrontOriginAccessIdentityInput { 24290 s.Id = &v 24291 return s 24292} 24293 24294// SetIfMatch sets the IfMatch field's value. 24295func (s *UpdateCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *UpdateCloudFrontOriginAccessIdentityInput { 24296 s.IfMatch = &v 24297 return s 24298} 24299 24300// The returned result of the corresponding request. 24301type UpdateCloudFrontOriginAccessIdentityOutput struct { 24302 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 24303 24304 // The origin access identity's information. 24305 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 24306 24307 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 24308 ETag *string `location:"header" locationName:"ETag" type:"string"` 24309} 24310 24311// String returns the string representation 24312func (s UpdateCloudFrontOriginAccessIdentityOutput) String() string { 24313 return awsutil.Prettify(s) 24314} 24315 24316// GoString returns the string representation 24317func (s UpdateCloudFrontOriginAccessIdentityOutput) GoString() string { 24318 return s.String() 24319} 24320 24321// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 24322func (s *UpdateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *UpdateCloudFrontOriginAccessIdentityOutput { 24323 s.CloudFrontOriginAccessIdentity = v 24324 return s 24325} 24326 24327// SetETag sets the ETag field's value. 24328func (s *UpdateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *UpdateCloudFrontOriginAccessIdentityOutput { 24329 s.ETag = &v 24330 return s 24331} 24332 24333// The request to update a distribution. 24334type UpdateDistributionInput struct { 24335 _ struct{} `locationName:"UpdateDistributionRequest" type:"structure" payload:"DistributionConfig"` 24336 24337 // The distribution's configuration information. 24338 // 24339 // DistributionConfig is a required field 24340 DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24341 24342 // The distribution's id. 24343 // 24344 // Id is a required field 24345 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24346 24347 // The value of the ETag header that you received when retrieving the distribution's 24348 // configuration. For example: E2QWRUHAPOMQZL. 24349 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24350} 24351 24352// String returns the string representation 24353func (s UpdateDistributionInput) String() string { 24354 return awsutil.Prettify(s) 24355} 24356 24357// GoString returns the string representation 24358func (s UpdateDistributionInput) GoString() string { 24359 return s.String() 24360} 24361 24362// Validate inspects the fields of the type to determine if they are valid. 24363func (s *UpdateDistributionInput) Validate() error { 24364 invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"} 24365 if s.DistributionConfig == nil { 24366 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 24367 } 24368 if s.Id == nil { 24369 invalidParams.Add(request.NewErrParamRequired("Id")) 24370 } 24371 if s.Id != nil && len(*s.Id) < 1 { 24372 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24373 } 24374 if s.DistributionConfig != nil { 24375 if err := s.DistributionConfig.Validate(); err != nil { 24376 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 24377 } 24378 } 24379 24380 if invalidParams.Len() > 0 { 24381 return invalidParams 24382 } 24383 return nil 24384} 24385 24386// SetDistributionConfig sets the DistributionConfig field's value. 24387func (s *UpdateDistributionInput) SetDistributionConfig(v *DistributionConfig) *UpdateDistributionInput { 24388 s.DistributionConfig = v 24389 return s 24390} 24391 24392// SetId sets the Id field's value. 24393func (s *UpdateDistributionInput) SetId(v string) *UpdateDistributionInput { 24394 s.Id = &v 24395 return s 24396} 24397 24398// SetIfMatch sets the IfMatch field's value. 24399func (s *UpdateDistributionInput) SetIfMatch(v string) *UpdateDistributionInput { 24400 s.IfMatch = &v 24401 return s 24402} 24403 24404// The returned result of the corresponding request. 24405type UpdateDistributionOutput struct { 24406 _ struct{} `type:"structure" payload:"Distribution"` 24407 24408 // The distribution's information. 24409 Distribution *Distribution `type:"structure"` 24410 24411 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 24412 ETag *string `location:"header" locationName:"ETag" type:"string"` 24413} 24414 24415// String returns the string representation 24416func (s UpdateDistributionOutput) String() string { 24417 return awsutil.Prettify(s) 24418} 24419 24420// GoString returns the string representation 24421func (s UpdateDistributionOutput) GoString() string { 24422 return s.String() 24423} 24424 24425// SetDistribution sets the Distribution field's value. 24426func (s *UpdateDistributionOutput) SetDistribution(v *Distribution) *UpdateDistributionOutput { 24427 s.Distribution = v 24428 return s 24429} 24430 24431// SetETag sets the ETag field's value. 24432func (s *UpdateDistributionOutput) SetETag(v string) *UpdateDistributionOutput { 24433 s.ETag = &v 24434 return s 24435} 24436 24437type UpdateFieldLevelEncryptionConfigInput struct { 24438 _ struct{} `locationName:"UpdateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` 24439 24440 // Request to update a field-level encryption configuration. 24441 // 24442 // FieldLevelEncryptionConfig is a required field 24443 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24444 24445 // The ID of the configuration you want to update. 24446 // 24447 // Id is a required field 24448 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24449 24450 // The value of the ETag header that you received when retrieving the configuration 24451 // identity to update. For example: E2QWRUHAPOMQZL. 24452 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24453} 24454 24455// String returns the string representation 24456func (s UpdateFieldLevelEncryptionConfigInput) String() string { 24457 return awsutil.Prettify(s) 24458} 24459 24460// GoString returns the string representation 24461func (s UpdateFieldLevelEncryptionConfigInput) GoString() string { 24462 return s.String() 24463} 24464 24465// Validate inspects the fields of the type to determine if they are valid. 24466func (s *UpdateFieldLevelEncryptionConfigInput) Validate() error { 24467 invalidParams := request.ErrInvalidParams{Context: "UpdateFieldLevelEncryptionConfigInput"} 24468 if s.FieldLevelEncryptionConfig == nil { 24469 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) 24470 } 24471 if s.Id == nil { 24472 invalidParams.Add(request.NewErrParamRequired("Id")) 24473 } 24474 if s.Id != nil && len(*s.Id) < 1 { 24475 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24476 } 24477 if s.FieldLevelEncryptionConfig != nil { 24478 if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { 24479 invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) 24480 } 24481 } 24482 24483 if invalidParams.Len() > 0 { 24484 return invalidParams 24485 } 24486 return nil 24487} 24488 24489// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 24490func (s *UpdateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *UpdateFieldLevelEncryptionConfigInput { 24491 s.FieldLevelEncryptionConfig = v 24492 return s 24493} 24494 24495// SetId sets the Id field's value. 24496func (s *UpdateFieldLevelEncryptionConfigInput) SetId(v string) *UpdateFieldLevelEncryptionConfigInput { 24497 s.Id = &v 24498 return s 24499} 24500 24501// SetIfMatch sets the IfMatch field's value. 24502func (s *UpdateFieldLevelEncryptionConfigInput) SetIfMatch(v string) *UpdateFieldLevelEncryptionConfigInput { 24503 s.IfMatch = &v 24504 return s 24505} 24506 24507type UpdateFieldLevelEncryptionConfigOutput struct { 24508 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 24509 24510 // The value of the ETag header that you received when updating the configuration. 24511 // For example: E2QWRUHAPOMQZL. 24512 ETag *string `location:"header" locationName:"ETag" type:"string"` 24513 24514 // Return the results of updating the configuration. 24515 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 24516} 24517 24518// String returns the string representation 24519func (s UpdateFieldLevelEncryptionConfigOutput) String() string { 24520 return awsutil.Prettify(s) 24521} 24522 24523// GoString returns the string representation 24524func (s UpdateFieldLevelEncryptionConfigOutput) GoString() string { 24525 return s.String() 24526} 24527 24528// SetETag sets the ETag field's value. 24529func (s *UpdateFieldLevelEncryptionConfigOutput) SetETag(v string) *UpdateFieldLevelEncryptionConfigOutput { 24530 s.ETag = &v 24531 return s 24532} 24533 24534// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 24535func (s *UpdateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *UpdateFieldLevelEncryptionConfigOutput { 24536 s.FieldLevelEncryption = v 24537 return s 24538} 24539 24540type UpdateFieldLevelEncryptionProfileInput struct { 24541 _ struct{} `locationName:"UpdateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 24542 24543 // Request to update a field-level encryption profile. 24544 // 24545 // FieldLevelEncryptionProfileConfig is a required field 24546 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24547 24548 // The ID of the field-level encryption profile request. 24549 // 24550 // Id is a required field 24551 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24552 24553 // The value of the ETag header that you received when retrieving the profile 24554 // identity to update. For example: E2QWRUHAPOMQZL. 24555 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24556} 24557 24558// String returns the string representation 24559func (s UpdateFieldLevelEncryptionProfileInput) String() string { 24560 return awsutil.Prettify(s) 24561} 24562 24563// GoString returns the string representation 24564func (s UpdateFieldLevelEncryptionProfileInput) GoString() string { 24565 return s.String() 24566} 24567 24568// Validate inspects the fields of the type to determine if they are valid. 24569func (s *UpdateFieldLevelEncryptionProfileInput) Validate() error { 24570 invalidParams := request.ErrInvalidParams{Context: "UpdateFieldLevelEncryptionProfileInput"} 24571 if s.FieldLevelEncryptionProfileConfig == nil { 24572 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) 24573 } 24574 if s.Id == nil { 24575 invalidParams.Add(request.NewErrParamRequired("Id")) 24576 } 24577 if s.Id != nil && len(*s.Id) < 1 { 24578 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24579 } 24580 if s.FieldLevelEncryptionProfileConfig != nil { 24581 if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { 24582 invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) 24583 } 24584 } 24585 24586 if invalidParams.Len() > 0 { 24587 return invalidParams 24588 } 24589 return nil 24590} 24591 24592// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 24593func (s *UpdateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *UpdateFieldLevelEncryptionProfileInput { 24594 s.FieldLevelEncryptionProfileConfig = v 24595 return s 24596} 24597 24598// SetId sets the Id field's value. 24599func (s *UpdateFieldLevelEncryptionProfileInput) SetId(v string) *UpdateFieldLevelEncryptionProfileInput { 24600 s.Id = &v 24601 return s 24602} 24603 24604// SetIfMatch sets the IfMatch field's value. 24605func (s *UpdateFieldLevelEncryptionProfileInput) SetIfMatch(v string) *UpdateFieldLevelEncryptionProfileInput { 24606 s.IfMatch = &v 24607 return s 24608} 24609 24610type UpdateFieldLevelEncryptionProfileOutput struct { 24611 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 24612 24613 // The result of the field-level encryption profile request. 24614 ETag *string `location:"header" locationName:"ETag" type:"string"` 24615 24616 // Return the results of updating the profile. 24617 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 24618} 24619 24620// String returns the string representation 24621func (s UpdateFieldLevelEncryptionProfileOutput) String() string { 24622 return awsutil.Prettify(s) 24623} 24624 24625// GoString returns the string representation 24626func (s UpdateFieldLevelEncryptionProfileOutput) GoString() string { 24627 return s.String() 24628} 24629 24630// SetETag sets the ETag field's value. 24631func (s *UpdateFieldLevelEncryptionProfileOutput) SetETag(v string) *UpdateFieldLevelEncryptionProfileOutput { 24632 s.ETag = &v 24633 return s 24634} 24635 24636// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 24637func (s *UpdateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *UpdateFieldLevelEncryptionProfileOutput { 24638 s.FieldLevelEncryptionProfile = v 24639 return s 24640} 24641 24642type UpdateFunctionInput struct { 24643 _ struct{} `locationName:"UpdateFunctionRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24644 24645 // The function code. For more information about writing a CloudFront function, 24646 // see Writing function code for CloudFront Functions (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/writing-function-code.html) 24647 // in the Amazon CloudFront Developer Guide. 24648 // 24649 // FunctionCode is automatically base64 encoded/decoded by the SDK. 24650 // 24651 // FunctionCode is a required field 24652 FunctionCode []byte `min:"1" type:"blob" required:"true" sensitive:"true"` 24653 24654 // Configuration information about the function. 24655 // 24656 // FunctionConfig is a required field 24657 FunctionConfig *FunctionConfig `type:"structure" required:"true"` 24658 24659 // The current version (ETag value) of the function that you are updating, which 24660 // you can get using DescribeFunction. 24661 // 24662 // IfMatch is a required field 24663 IfMatch *string `location:"header" locationName:"If-Match" type:"string" required:"true"` 24664 24665 // The name of the function that you are updating. 24666 // 24667 // Name is a required field 24668 Name *string `location:"uri" locationName:"Name" type:"string" required:"true"` 24669} 24670 24671// String returns the string representation 24672func (s UpdateFunctionInput) String() string { 24673 return awsutil.Prettify(s) 24674} 24675 24676// GoString returns the string representation 24677func (s UpdateFunctionInput) GoString() string { 24678 return s.String() 24679} 24680 24681// Validate inspects the fields of the type to determine if they are valid. 24682func (s *UpdateFunctionInput) Validate() error { 24683 invalidParams := request.ErrInvalidParams{Context: "UpdateFunctionInput"} 24684 if s.FunctionCode == nil { 24685 invalidParams.Add(request.NewErrParamRequired("FunctionCode")) 24686 } 24687 if s.FunctionCode != nil && len(s.FunctionCode) < 1 { 24688 invalidParams.Add(request.NewErrParamMinLen("FunctionCode", 1)) 24689 } 24690 if s.FunctionConfig == nil { 24691 invalidParams.Add(request.NewErrParamRequired("FunctionConfig")) 24692 } 24693 if s.IfMatch == nil { 24694 invalidParams.Add(request.NewErrParamRequired("IfMatch")) 24695 } 24696 if s.Name == nil { 24697 invalidParams.Add(request.NewErrParamRequired("Name")) 24698 } 24699 if s.Name != nil && len(*s.Name) < 1 { 24700 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 24701 } 24702 if s.FunctionConfig != nil { 24703 if err := s.FunctionConfig.Validate(); err != nil { 24704 invalidParams.AddNested("FunctionConfig", err.(request.ErrInvalidParams)) 24705 } 24706 } 24707 24708 if invalidParams.Len() > 0 { 24709 return invalidParams 24710 } 24711 return nil 24712} 24713 24714// SetFunctionCode sets the FunctionCode field's value. 24715func (s *UpdateFunctionInput) SetFunctionCode(v []byte) *UpdateFunctionInput { 24716 s.FunctionCode = v 24717 return s 24718} 24719 24720// SetFunctionConfig sets the FunctionConfig field's value. 24721func (s *UpdateFunctionInput) SetFunctionConfig(v *FunctionConfig) *UpdateFunctionInput { 24722 s.FunctionConfig = v 24723 return s 24724} 24725 24726// SetIfMatch sets the IfMatch field's value. 24727func (s *UpdateFunctionInput) SetIfMatch(v string) *UpdateFunctionInput { 24728 s.IfMatch = &v 24729 return s 24730} 24731 24732// SetName sets the Name field's value. 24733func (s *UpdateFunctionInput) SetName(v string) *UpdateFunctionInput { 24734 s.Name = &v 24735 return s 24736} 24737 24738type UpdateFunctionOutput struct { 24739 _ struct{} `type:"structure" payload:"FunctionSummary"` 24740 24741 // The version identifier for the current version of the CloudFront function. 24742 ETag *string `location:"header" locationName:"ETtag" type:"string"` 24743 24744 // Contains configuration information and metadata about a CloudFront function. 24745 FunctionSummary *FunctionSummary `type:"structure"` 24746} 24747 24748// String returns the string representation 24749func (s UpdateFunctionOutput) String() string { 24750 return awsutil.Prettify(s) 24751} 24752 24753// GoString returns the string representation 24754func (s UpdateFunctionOutput) GoString() string { 24755 return s.String() 24756} 24757 24758// SetETag sets the ETag field's value. 24759func (s *UpdateFunctionOutput) SetETag(v string) *UpdateFunctionOutput { 24760 s.ETag = &v 24761 return s 24762} 24763 24764// SetFunctionSummary sets the FunctionSummary field's value. 24765func (s *UpdateFunctionOutput) SetFunctionSummary(v *FunctionSummary) *UpdateFunctionOutput { 24766 s.FunctionSummary = v 24767 return s 24768} 24769 24770type UpdateKeyGroupInput struct { 24771 _ struct{} `locationName:"UpdateKeyGroupRequest" type:"structure" payload:"KeyGroupConfig"` 24772 24773 // The identifier of the key group that you are updating. 24774 // 24775 // Id is a required field 24776 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24777 24778 // The version of the key group that you are updating. The version is the key 24779 // group’s ETag value. 24780 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24781 24782 // The key group configuration. 24783 // 24784 // KeyGroupConfig is a required field 24785 KeyGroupConfig *KeyGroupConfig `locationName:"KeyGroupConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24786} 24787 24788// String returns the string representation 24789func (s UpdateKeyGroupInput) String() string { 24790 return awsutil.Prettify(s) 24791} 24792 24793// GoString returns the string representation 24794func (s UpdateKeyGroupInput) GoString() string { 24795 return s.String() 24796} 24797 24798// Validate inspects the fields of the type to determine if they are valid. 24799func (s *UpdateKeyGroupInput) Validate() error { 24800 invalidParams := request.ErrInvalidParams{Context: "UpdateKeyGroupInput"} 24801 if s.Id == nil { 24802 invalidParams.Add(request.NewErrParamRequired("Id")) 24803 } 24804 if s.Id != nil && len(*s.Id) < 1 { 24805 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24806 } 24807 if s.KeyGroupConfig == nil { 24808 invalidParams.Add(request.NewErrParamRequired("KeyGroupConfig")) 24809 } 24810 if s.KeyGroupConfig != nil { 24811 if err := s.KeyGroupConfig.Validate(); err != nil { 24812 invalidParams.AddNested("KeyGroupConfig", err.(request.ErrInvalidParams)) 24813 } 24814 } 24815 24816 if invalidParams.Len() > 0 { 24817 return invalidParams 24818 } 24819 return nil 24820} 24821 24822// SetId sets the Id field's value. 24823func (s *UpdateKeyGroupInput) SetId(v string) *UpdateKeyGroupInput { 24824 s.Id = &v 24825 return s 24826} 24827 24828// SetIfMatch sets the IfMatch field's value. 24829func (s *UpdateKeyGroupInput) SetIfMatch(v string) *UpdateKeyGroupInput { 24830 s.IfMatch = &v 24831 return s 24832} 24833 24834// SetKeyGroupConfig sets the KeyGroupConfig field's value. 24835func (s *UpdateKeyGroupInput) SetKeyGroupConfig(v *KeyGroupConfig) *UpdateKeyGroupInput { 24836 s.KeyGroupConfig = v 24837 return s 24838} 24839 24840type UpdateKeyGroupOutput struct { 24841 _ struct{} `type:"structure" payload:"KeyGroup"` 24842 24843 // The identifier for this version of the key group. 24844 ETag *string `location:"header" locationName:"ETag" type:"string"` 24845 24846 // The key group that was just updated. 24847 KeyGroup *KeyGroup `type:"structure"` 24848} 24849 24850// String returns the string representation 24851func (s UpdateKeyGroupOutput) String() string { 24852 return awsutil.Prettify(s) 24853} 24854 24855// GoString returns the string representation 24856func (s UpdateKeyGroupOutput) GoString() string { 24857 return s.String() 24858} 24859 24860// SetETag sets the ETag field's value. 24861func (s *UpdateKeyGroupOutput) SetETag(v string) *UpdateKeyGroupOutput { 24862 s.ETag = &v 24863 return s 24864} 24865 24866// SetKeyGroup sets the KeyGroup field's value. 24867func (s *UpdateKeyGroupOutput) SetKeyGroup(v *KeyGroup) *UpdateKeyGroupOutput { 24868 s.KeyGroup = v 24869 return s 24870} 24871 24872type UpdateOriginRequestPolicyInput struct { 24873 _ struct{} `locationName:"UpdateOriginRequestPolicyRequest" type:"structure" payload:"OriginRequestPolicyConfig"` 24874 24875 // The unique identifier for the origin request policy that you are updating. 24876 // The identifier is returned in a cache behavior’s OriginRequestPolicyId 24877 // field in the response to GetDistributionConfig. 24878 // 24879 // Id is a required field 24880 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24881 24882 // The version of the origin request policy that you are updating. The version 24883 // is returned in the origin request policy’s ETag field in the response to 24884 // GetOriginRequestPolicyConfig. 24885 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24886 24887 // An origin request policy configuration. 24888 // 24889 // OriginRequestPolicyConfig is a required field 24890 OriginRequestPolicyConfig *OriginRequestPolicyConfig `locationName:"OriginRequestPolicyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24891} 24892 24893// String returns the string representation 24894func (s UpdateOriginRequestPolicyInput) String() string { 24895 return awsutil.Prettify(s) 24896} 24897 24898// GoString returns the string representation 24899func (s UpdateOriginRequestPolicyInput) GoString() string { 24900 return s.String() 24901} 24902 24903// Validate inspects the fields of the type to determine if they are valid. 24904func (s *UpdateOriginRequestPolicyInput) Validate() error { 24905 invalidParams := request.ErrInvalidParams{Context: "UpdateOriginRequestPolicyInput"} 24906 if s.Id == nil { 24907 invalidParams.Add(request.NewErrParamRequired("Id")) 24908 } 24909 if s.Id != nil && len(*s.Id) < 1 { 24910 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 24911 } 24912 if s.OriginRequestPolicyConfig == nil { 24913 invalidParams.Add(request.NewErrParamRequired("OriginRequestPolicyConfig")) 24914 } 24915 if s.OriginRequestPolicyConfig != nil { 24916 if err := s.OriginRequestPolicyConfig.Validate(); err != nil { 24917 invalidParams.AddNested("OriginRequestPolicyConfig", err.(request.ErrInvalidParams)) 24918 } 24919 } 24920 24921 if invalidParams.Len() > 0 { 24922 return invalidParams 24923 } 24924 return nil 24925} 24926 24927// SetId sets the Id field's value. 24928func (s *UpdateOriginRequestPolicyInput) SetId(v string) *UpdateOriginRequestPolicyInput { 24929 s.Id = &v 24930 return s 24931} 24932 24933// SetIfMatch sets the IfMatch field's value. 24934func (s *UpdateOriginRequestPolicyInput) SetIfMatch(v string) *UpdateOriginRequestPolicyInput { 24935 s.IfMatch = &v 24936 return s 24937} 24938 24939// SetOriginRequestPolicyConfig sets the OriginRequestPolicyConfig field's value. 24940func (s *UpdateOriginRequestPolicyInput) SetOriginRequestPolicyConfig(v *OriginRequestPolicyConfig) *UpdateOriginRequestPolicyInput { 24941 s.OriginRequestPolicyConfig = v 24942 return s 24943} 24944 24945type UpdateOriginRequestPolicyOutput struct { 24946 _ struct{} `type:"structure" payload:"OriginRequestPolicy"` 24947 24948 // The current version of the origin request policy. 24949 ETag *string `location:"header" locationName:"ETag" type:"string"` 24950 24951 // An origin request policy. 24952 OriginRequestPolicy *OriginRequestPolicy `type:"structure"` 24953} 24954 24955// String returns the string representation 24956func (s UpdateOriginRequestPolicyOutput) String() string { 24957 return awsutil.Prettify(s) 24958} 24959 24960// GoString returns the string representation 24961func (s UpdateOriginRequestPolicyOutput) GoString() string { 24962 return s.String() 24963} 24964 24965// SetETag sets the ETag field's value. 24966func (s *UpdateOriginRequestPolicyOutput) SetETag(v string) *UpdateOriginRequestPolicyOutput { 24967 s.ETag = &v 24968 return s 24969} 24970 24971// SetOriginRequestPolicy sets the OriginRequestPolicy field's value. 24972func (s *UpdateOriginRequestPolicyOutput) SetOriginRequestPolicy(v *OriginRequestPolicy) *UpdateOriginRequestPolicyOutput { 24973 s.OriginRequestPolicy = v 24974 return s 24975} 24976 24977type UpdatePublicKeyInput struct { 24978 _ struct{} `locationName:"UpdatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` 24979 24980 // The identifier of the public key that you are updating. 24981 // 24982 // Id is a required field 24983 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 24984 24985 // The value of the ETag header that you received when retrieving the public 24986 // key to update. For example: E2QWRUHAPOMQZL. 24987 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 24988 24989 // A public key configuration. 24990 // 24991 // PublicKeyConfig is a required field 24992 PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 24993} 24994 24995// String returns the string representation 24996func (s UpdatePublicKeyInput) String() string { 24997 return awsutil.Prettify(s) 24998} 24999 25000// GoString returns the string representation 25001func (s UpdatePublicKeyInput) GoString() string { 25002 return s.String() 25003} 25004 25005// Validate inspects the fields of the type to determine if they are valid. 25006func (s *UpdatePublicKeyInput) Validate() error { 25007 invalidParams := request.ErrInvalidParams{Context: "UpdatePublicKeyInput"} 25008 if s.Id == nil { 25009 invalidParams.Add(request.NewErrParamRequired("Id")) 25010 } 25011 if s.Id != nil && len(*s.Id) < 1 { 25012 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 25013 } 25014 if s.PublicKeyConfig == nil { 25015 invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) 25016 } 25017 if s.PublicKeyConfig != nil { 25018 if err := s.PublicKeyConfig.Validate(); err != nil { 25019 invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) 25020 } 25021 } 25022 25023 if invalidParams.Len() > 0 { 25024 return invalidParams 25025 } 25026 return nil 25027} 25028 25029// SetId sets the Id field's value. 25030func (s *UpdatePublicKeyInput) SetId(v string) *UpdatePublicKeyInput { 25031 s.Id = &v 25032 return s 25033} 25034 25035// SetIfMatch sets the IfMatch field's value. 25036func (s *UpdatePublicKeyInput) SetIfMatch(v string) *UpdatePublicKeyInput { 25037 s.IfMatch = &v 25038 return s 25039} 25040 25041// SetPublicKeyConfig sets the PublicKeyConfig field's value. 25042func (s *UpdatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *UpdatePublicKeyInput { 25043 s.PublicKeyConfig = v 25044 return s 25045} 25046 25047type UpdatePublicKeyOutput struct { 25048 _ struct{} `type:"structure" payload:"PublicKey"` 25049 25050 // The identifier of the current version of the public key. 25051 ETag *string `location:"header" locationName:"ETag" type:"string"` 25052 25053 // The public key. 25054 PublicKey *PublicKey `type:"structure"` 25055} 25056 25057// String returns the string representation 25058func (s UpdatePublicKeyOutput) String() string { 25059 return awsutil.Prettify(s) 25060} 25061 25062// GoString returns the string representation 25063func (s UpdatePublicKeyOutput) GoString() string { 25064 return s.String() 25065} 25066 25067// SetETag sets the ETag field's value. 25068func (s *UpdatePublicKeyOutput) SetETag(v string) *UpdatePublicKeyOutput { 25069 s.ETag = &v 25070 return s 25071} 25072 25073// SetPublicKey sets the PublicKey field's value. 25074func (s *UpdatePublicKeyOutput) SetPublicKey(v *PublicKey) *UpdatePublicKeyOutput { 25075 s.PublicKey = v 25076 return s 25077} 25078 25079type UpdateRealtimeLogConfigInput struct { 25080 _ struct{} `locationName:"UpdateRealtimeLogConfigRequest" type:"structure" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 25081 25082 // The Amazon Resource Name (ARN) for this real-time log configuration. 25083 ARN *string `type:"string"` 25084 25085 // Contains information about the Amazon Kinesis data stream where you are sending 25086 // real-time log data. 25087 EndPoints []*EndPoint `type:"list"` 25088 25089 // A list of fields to include in each real-time log record. 25090 // 25091 // For more information about fields, see Real-time log configuration fields 25092 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/real-time-logs.html#understand-real-time-log-config-fields) 25093 // in the Amazon CloudFront Developer Guide. 25094 Fields []*string `locationNameList:"Field" type:"list"` 25095 25096 // The name for this real-time log configuration. 25097 Name *string `type:"string"` 25098 25099 // The sampling rate for this real-time log configuration. The sampling rate 25100 // determines the percentage of viewer requests that are represented in the 25101 // real-time log data. You must provide an integer between 1 and 100, inclusive. 25102 SamplingRate *int64 `type:"long"` 25103} 25104 25105// String returns the string representation 25106func (s UpdateRealtimeLogConfigInput) String() string { 25107 return awsutil.Prettify(s) 25108} 25109 25110// GoString returns the string representation 25111func (s UpdateRealtimeLogConfigInput) GoString() string { 25112 return s.String() 25113} 25114 25115// Validate inspects the fields of the type to determine if they are valid. 25116func (s *UpdateRealtimeLogConfigInput) Validate() error { 25117 invalidParams := request.ErrInvalidParams{Context: "UpdateRealtimeLogConfigInput"} 25118 if s.EndPoints != nil { 25119 for i, v := range s.EndPoints { 25120 if v == nil { 25121 continue 25122 } 25123 if err := v.Validate(); err != nil { 25124 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EndPoints", i), err.(request.ErrInvalidParams)) 25125 } 25126 } 25127 } 25128 25129 if invalidParams.Len() > 0 { 25130 return invalidParams 25131 } 25132 return nil 25133} 25134 25135// SetARN sets the ARN field's value. 25136func (s *UpdateRealtimeLogConfigInput) SetARN(v string) *UpdateRealtimeLogConfigInput { 25137 s.ARN = &v 25138 return s 25139} 25140 25141// SetEndPoints sets the EndPoints field's value. 25142func (s *UpdateRealtimeLogConfigInput) SetEndPoints(v []*EndPoint) *UpdateRealtimeLogConfigInput { 25143 s.EndPoints = v 25144 return s 25145} 25146 25147// SetFields sets the Fields field's value. 25148func (s *UpdateRealtimeLogConfigInput) SetFields(v []*string) *UpdateRealtimeLogConfigInput { 25149 s.Fields = v 25150 return s 25151} 25152 25153// SetName sets the Name field's value. 25154func (s *UpdateRealtimeLogConfigInput) SetName(v string) *UpdateRealtimeLogConfigInput { 25155 s.Name = &v 25156 return s 25157} 25158 25159// SetSamplingRate sets the SamplingRate field's value. 25160func (s *UpdateRealtimeLogConfigInput) SetSamplingRate(v int64) *UpdateRealtimeLogConfigInput { 25161 s.SamplingRate = &v 25162 return s 25163} 25164 25165type UpdateRealtimeLogConfigOutput struct { 25166 _ struct{} `type:"structure"` 25167 25168 // A real-time log configuration. 25169 RealtimeLogConfig *RealtimeLogConfig `type:"structure"` 25170} 25171 25172// String returns the string representation 25173func (s UpdateRealtimeLogConfigOutput) String() string { 25174 return awsutil.Prettify(s) 25175} 25176 25177// GoString returns the string representation 25178func (s UpdateRealtimeLogConfigOutput) GoString() string { 25179 return s.String() 25180} 25181 25182// SetRealtimeLogConfig sets the RealtimeLogConfig field's value. 25183func (s *UpdateRealtimeLogConfigOutput) SetRealtimeLogConfig(v *RealtimeLogConfig) *UpdateRealtimeLogConfigOutput { 25184 s.RealtimeLogConfig = v 25185 return s 25186} 25187 25188// The request to update a streaming distribution. 25189type UpdateStreamingDistributionInput struct { 25190 _ struct{} `locationName:"UpdateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` 25191 25192 // The streaming distribution's id. 25193 // 25194 // Id is a required field 25195 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 25196 25197 // The value of the ETag header that you received when retrieving the streaming 25198 // distribution's configuration. For example: E2QWRUHAPOMQZL. 25199 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 25200 25201 // The streaming distribution's configuration information. 25202 // 25203 // StreamingDistributionConfig is a required field 25204 StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2020-05-31/"` 25205} 25206 25207// String returns the string representation 25208func (s UpdateStreamingDistributionInput) String() string { 25209 return awsutil.Prettify(s) 25210} 25211 25212// GoString returns the string representation 25213func (s UpdateStreamingDistributionInput) GoString() string { 25214 return s.String() 25215} 25216 25217// Validate inspects the fields of the type to determine if they are valid. 25218func (s *UpdateStreamingDistributionInput) Validate() error { 25219 invalidParams := request.ErrInvalidParams{Context: "UpdateStreamingDistributionInput"} 25220 if s.Id == nil { 25221 invalidParams.Add(request.NewErrParamRequired("Id")) 25222 } 25223 if s.Id != nil && len(*s.Id) < 1 { 25224 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 25225 } 25226 if s.StreamingDistributionConfig == nil { 25227 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 25228 } 25229 if s.StreamingDistributionConfig != nil { 25230 if err := s.StreamingDistributionConfig.Validate(); err != nil { 25231 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 25232 } 25233 } 25234 25235 if invalidParams.Len() > 0 { 25236 return invalidParams 25237 } 25238 return nil 25239} 25240 25241// SetId sets the Id field's value. 25242func (s *UpdateStreamingDistributionInput) SetId(v string) *UpdateStreamingDistributionInput { 25243 s.Id = &v 25244 return s 25245} 25246 25247// SetIfMatch sets the IfMatch field's value. 25248func (s *UpdateStreamingDistributionInput) SetIfMatch(v string) *UpdateStreamingDistributionInput { 25249 s.IfMatch = &v 25250 return s 25251} 25252 25253// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 25254func (s *UpdateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *UpdateStreamingDistributionInput { 25255 s.StreamingDistributionConfig = v 25256 return s 25257} 25258 25259// The returned result of the corresponding request. 25260type UpdateStreamingDistributionOutput struct { 25261 _ struct{} `type:"structure" payload:"StreamingDistribution"` 25262 25263 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 25264 ETag *string `location:"header" locationName:"ETag" type:"string"` 25265 25266 // The streaming distribution's information. 25267 StreamingDistribution *StreamingDistribution `type:"structure"` 25268} 25269 25270// String returns the string representation 25271func (s UpdateStreamingDistributionOutput) String() string { 25272 return awsutil.Prettify(s) 25273} 25274 25275// GoString returns the string representation 25276func (s UpdateStreamingDistributionOutput) GoString() string { 25277 return s.String() 25278} 25279 25280// SetETag sets the ETag field's value. 25281func (s *UpdateStreamingDistributionOutput) SetETag(v string) *UpdateStreamingDistributionOutput { 25282 s.ETag = &v 25283 return s 25284} 25285 25286// SetStreamingDistribution sets the StreamingDistribution field's value. 25287func (s *UpdateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *UpdateStreamingDistributionOutput { 25288 s.StreamingDistribution = v 25289 return s 25290} 25291 25292// A complex type that determines the distribution’s SSL/TLS configuration 25293// for communicating with viewers. 25294// 25295// If the distribution doesn’t use Aliases (also known as alternate domain 25296// names or CNAMEs)—that is, if the distribution uses the CloudFront domain 25297// name such as d111111abcdef8.cloudfront.net—set CloudFrontDefaultCertificate 25298// to true and leave all other fields empty. 25299// 25300// If the distribution uses Aliases (alternate domain names or CNAMEs), use 25301// the fields in this type to specify the following settings: 25302// 25303// * Which viewers the distribution accepts HTTPS connections from: only 25304// viewers that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication) 25305// (recommended), or all viewers including those that don’t support SNI. 25306// To accept HTTPS connections from only viewers that support SNI, set SSLSupportMethod 25307// to sni-only. This is recommended. Most browsers and clients support SNI. 25308// To accept HTTPS connections from all viewers, including those that don’t 25309// support SNI, set SSLSupportMethod to vip. This is not recommended, and 25310// results in additional monthly charges from CloudFront. 25311// 25312// * The minimum SSL/TLS protocol version that the distribution can use to 25313// communicate with viewers. To specify a minimum version, choose a value 25314// for MinimumProtocolVersion. For more information, see Security Policy 25315// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) 25316// in the Amazon CloudFront Developer Guide. 25317// 25318// * The location of the SSL/TLS certificate, Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) 25319// (recommended) or Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html). 25320// You specify the location by setting a value in one of the following fields 25321// (not both): ACMCertificateArn IAMCertificateId 25322// 25323// All distributions support HTTPS connections from viewers. To require viewers 25324// to use HTTPS only, or to redirect them from HTTP to HTTPS, use ViewerProtocolPolicy 25325// in the CacheBehavior or DefaultCacheBehavior. To specify how CloudFront should 25326// use SSL/TLS to communicate with your custom origin, use CustomOriginConfig. 25327// 25328// For more information, see Using HTTPS with CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html) 25329// and Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-alternate-domain-names.html) 25330// in the Amazon CloudFront Developer Guide. 25331type ViewerCertificate struct { 25332 _ struct{} `type:"structure"` 25333 25334 // If the distribution uses Aliases (alternate domain names or CNAMEs) and the 25335 // SSL/TLS certificate is stored in Certificate Manager (ACM) (https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html), 25336 // provide the Amazon Resource Name (ARN) of the ACM certificate. CloudFront 25337 // only supports ACM certificates in the US East (N. Virginia) Region (us-east-1). 25338 // 25339 // If you specify an ACM certificate ARN, you must also specify values for MinimumProtocolVersion 25340 // and SSLSupportMethod. 25341 ACMCertificateArn *string `type:"string"` 25342 25343 // This field is deprecated. Use one of the following fields instead: 25344 // 25345 // * ACMCertificateArn 25346 // 25347 // * IAMCertificateId 25348 // 25349 // * CloudFrontDefaultCertificate 25350 // 25351 // Deprecated: Certificate has been deprecated 25352 Certificate *string `deprecated:"true" type:"string"` 25353 25354 // This field is deprecated. Use one of the following fields instead: 25355 // 25356 // * ACMCertificateArn 25357 // 25358 // * IAMCertificateId 25359 // 25360 // * CloudFrontDefaultCertificate 25361 // 25362 // Deprecated: CertificateSource has been deprecated 25363 CertificateSource *string `deprecated:"true" type:"string" enum:"CertificateSource"` 25364 25365 // If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, 25366 // set this field to true. 25367 // 25368 // If the distribution uses Aliases (alternate domain names or CNAMEs), set 25369 // this field to false and specify values for the following fields: 25370 // 25371 // * ACMCertificateArn or IAMCertificateId (specify a value for one, not 25372 // both) 25373 // 25374 // * MinimumProtocolVersion 25375 // 25376 // * SSLSupportMethod 25377 CloudFrontDefaultCertificate *bool `type:"boolean"` 25378 25379 // If the distribution uses Aliases (alternate domain names or CNAMEs) and the 25380 // SSL/TLS certificate is stored in Identity and Access Management (IAM) (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html), 25381 // provide the ID of the IAM certificate. 25382 // 25383 // If you specify an IAM certificate ID, you must also specify values for MinimumProtocolVersion 25384 // and SSLSupportMethod. 25385 IAMCertificateId *string `type:"string"` 25386 25387 // If the distribution uses Aliases (alternate domain names or CNAMEs), specify 25388 // the security policy that you want CloudFront to use for HTTPS connections 25389 // with viewers. The security policy determines two settings: 25390 // 25391 // * The minimum SSL/TLS protocol that CloudFront can use to communicate 25392 // with viewers. 25393 // 25394 // * The ciphers that CloudFront can use to encrypt the content that it returns 25395 // to viewers. 25396 // 25397 // For more information, see Security Policy (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValues-security-policy) 25398 // and Supported Protocols and Ciphers Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) 25399 // in the Amazon CloudFront Developer Guide. 25400 // 25401 // On the CloudFront console, this setting is called Security Policy. 25402 // 25403 // When you’re using SNI only (you set SSLSupportMethod to sni-only), you 25404 // must specify TLSv1 or higher. 25405 // 25406 // If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net 25407 // (you set CloudFrontDefaultCertificate to true), CloudFront automatically 25408 // sets the security policy to TLSv1 regardless of the value that you set here. 25409 MinimumProtocolVersion *string `type:"string" enum:"MinimumProtocolVersion"` 25410 25411 // If the distribution uses Aliases (alternate domain names or CNAMEs), specify 25412 // which viewers the distribution accepts HTTPS connections from. 25413 // 25414 // * sni-only – The distribution accepts HTTPS connections from only viewers 25415 // that support server name indication (SNI) (https://en.wikipedia.org/wiki/Server_Name_Indication). 25416 // This is recommended. Most browsers and clients support SNI. 25417 // 25418 // * vip – The distribution accepts HTTPS connections from all viewers 25419 // including those that don’t support SNI. This is not recommended, and 25420 // results in additional monthly charges from CloudFront. 25421 // 25422 // * static-ip - Do not specify this value unless your distribution has been 25423 // enabled for this feature by the CloudFront team. If you have a use case 25424 // that requires static IP addresses for a distribution, contact CloudFront 25425 // through the Amazon Web Services Support Center (https://console.aws.amazon.com/support/home). 25426 // 25427 // If the distribution uses the CloudFront domain name such as d111111abcdef8.cloudfront.net, 25428 // don’t set a value for this field. 25429 SSLSupportMethod *string `type:"string" enum:"SSLSupportMethod"` 25430} 25431 25432// String returns the string representation 25433func (s ViewerCertificate) String() string { 25434 return awsutil.Prettify(s) 25435} 25436 25437// GoString returns the string representation 25438func (s ViewerCertificate) GoString() string { 25439 return s.String() 25440} 25441 25442// SetACMCertificateArn sets the ACMCertificateArn field's value. 25443func (s *ViewerCertificate) SetACMCertificateArn(v string) *ViewerCertificate { 25444 s.ACMCertificateArn = &v 25445 return s 25446} 25447 25448// SetCertificate sets the Certificate field's value. 25449func (s *ViewerCertificate) SetCertificate(v string) *ViewerCertificate { 25450 s.Certificate = &v 25451 return s 25452} 25453 25454// SetCertificateSource sets the CertificateSource field's value. 25455func (s *ViewerCertificate) SetCertificateSource(v string) *ViewerCertificate { 25456 s.CertificateSource = &v 25457 return s 25458} 25459 25460// SetCloudFrontDefaultCertificate sets the CloudFrontDefaultCertificate field's value. 25461func (s *ViewerCertificate) SetCloudFrontDefaultCertificate(v bool) *ViewerCertificate { 25462 s.CloudFrontDefaultCertificate = &v 25463 return s 25464} 25465 25466// SetIAMCertificateId sets the IAMCertificateId field's value. 25467func (s *ViewerCertificate) SetIAMCertificateId(v string) *ViewerCertificate { 25468 s.IAMCertificateId = &v 25469 return s 25470} 25471 25472// SetMinimumProtocolVersion sets the MinimumProtocolVersion field's value. 25473func (s *ViewerCertificate) SetMinimumProtocolVersion(v string) *ViewerCertificate { 25474 s.MinimumProtocolVersion = &v 25475 return s 25476} 25477 25478// SetSSLSupportMethod sets the SSLSupportMethod field's value. 25479func (s *ViewerCertificate) SetSSLSupportMethod(v string) *ViewerCertificate { 25480 s.SSLSupportMethod = &v 25481 return s 25482} 25483 25484const ( 25485 // CachePolicyCookieBehaviorNone is a CachePolicyCookieBehavior enum value 25486 CachePolicyCookieBehaviorNone = "none" 25487 25488 // CachePolicyCookieBehaviorWhitelist is a CachePolicyCookieBehavior enum value 25489 CachePolicyCookieBehaviorWhitelist = "whitelist" 25490 25491 // CachePolicyCookieBehaviorAllExcept is a CachePolicyCookieBehavior enum value 25492 CachePolicyCookieBehaviorAllExcept = "allExcept" 25493 25494 // CachePolicyCookieBehaviorAll is a CachePolicyCookieBehavior enum value 25495 CachePolicyCookieBehaviorAll = "all" 25496) 25497 25498// CachePolicyCookieBehavior_Values returns all elements of the CachePolicyCookieBehavior enum 25499func CachePolicyCookieBehavior_Values() []string { 25500 return []string{ 25501 CachePolicyCookieBehaviorNone, 25502 CachePolicyCookieBehaviorWhitelist, 25503 CachePolicyCookieBehaviorAllExcept, 25504 CachePolicyCookieBehaviorAll, 25505 } 25506} 25507 25508const ( 25509 // CachePolicyHeaderBehaviorNone is a CachePolicyHeaderBehavior enum value 25510 CachePolicyHeaderBehaviorNone = "none" 25511 25512 // CachePolicyHeaderBehaviorWhitelist is a CachePolicyHeaderBehavior enum value 25513 CachePolicyHeaderBehaviorWhitelist = "whitelist" 25514) 25515 25516// CachePolicyHeaderBehavior_Values returns all elements of the CachePolicyHeaderBehavior enum 25517func CachePolicyHeaderBehavior_Values() []string { 25518 return []string{ 25519 CachePolicyHeaderBehaviorNone, 25520 CachePolicyHeaderBehaviorWhitelist, 25521 } 25522} 25523 25524const ( 25525 // CachePolicyQueryStringBehaviorNone is a CachePolicyQueryStringBehavior enum value 25526 CachePolicyQueryStringBehaviorNone = "none" 25527 25528 // CachePolicyQueryStringBehaviorWhitelist is a CachePolicyQueryStringBehavior enum value 25529 CachePolicyQueryStringBehaviorWhitelist = "whitelist" 25530 25531 // CachePolicyQueryStringBehaviorAllExcept is a CachePolicyQueryStringBehavior enum value 25532 CachePolicyQueryStringBehaviorAllExcept = "allExcept" 25533 25534 // CachePolicyQueryStringBehaviorAll is a CachePolicyQueryStringBehavior enum value 25535 CachePolicyQueryStringBehaviorAll = "all" 25536) 25537 25538// CachePolicyQueryStringBehavior_Values returns all elements of the CachePolicyQueryStringBehavior enum 25539func CachePolicyQueryStringBehavior_Values() []string { 25540 return []string{ 25541 CachePolicyQueryStringBehaviorNone, 25542 CachePolicyQueryStringBehaviorWhitelist, 25543 CachePolicyQueryStringBehaviorAllExcept, 25544 CachePolicyQueryStringBehaviorAll, 25545 } 25546} 25547 25548const ( 25549 // CachePolicyTypeManaged is a CachePolicyType enum value 25550 CachePolicyTypeManaged = "managed" 25551 25552 // CachePolicyTypeCustom is a CachePolicyType enum value 25553 CachePolicyTypeCustom = "custom" 25554) 25555 25556// CachePolicyType_Values returns all elements of the CachePolicyType enum 25557func CachePolicyType_Values() []string { 25558 return []string{ 25559 CachePolicyTypeManaged, 25560 CachePolicyTypeCustom, 25561 } 25562} 25563 25564const ( 25565 // CertificateSourceCloudfront is a CertificateSource enum value 25566 CertificateSourceCloudfront = "cloudfront" 25567 25568 // CertificateSourceIam is a CertificateSource enum value 25569 CertificateSourceIam = "iam" 25570 25571 // CertificateSourceAcm is a CertificateSource enum value 25572 CertificateSourceAcm = "acm" 25573) 25574 25575// CertificateSource_Values returns all elements of the CertificateSource enum 25576func CertificateSource_Values() []string { 25577 return []string{ 25578 CertificateSourceCloudfront, 25579 CertificateSourceIam, 25580 CertificateSourceAcm, 25581 } 25582} 25583 25584const ( 25585 // EventTypeViewerRequest is a EventType enum value 25586 EventTypeViewerRequest = "viewer-request" 25587 25588 // EventTypeViewerResponse is a EventType enum value 25589 EventTypeViewerResponse = "viewer-response" 25590 25591 // EventTypeOriginRequest is a EventType enum value 25592 EventTypeOriginRequest = "origin-request" 25593 25594 // EventTypeOriginResponse is a EventType enum value 25595 EventTypeOriginResponse = "origin-response" 25596) 25597 25598// EventType_Values returns all elements of the EventType enum 25599func EventType_Values() []string { 25600 return []string{ 25601 EventTypeViewerRequest, 25602 EventTypeViewerResponse, 25603 EventTypeOriginRequest, 25604 EventTypeOriginResponse, 25605 } 25606} 25607 25608const ( 25609 // FormatUrlencoded is a Format enum value 25610 FormatUrlencoded = "URLEncoded" 25611) 25612 25613// Format_Values returns all elements of the Format enum 25614func Format_Values() []string { 25615 return []string{ 25616 FormatUrlencoded, 25617 } 25618} 25619 25620const ( 25621 // FunctionRuntimeCloudfrontJs10 is a FunctionRuntime enum value 25622 FunctionRuntimeCloudfrontJs10 = "cloudfront-js-1.0" 25623) 25624 25625// FunctionRuntime_Values returns all elements of the FunctionRuntime enum 25626func FunctionRuntime_Values() []string { 25627 return []string{ 25628 FunctionRuntimeCloudfrontJs10, 25629 } 25630} 25631 25632const ( 25633 // FunctionStageDevelopment is a FunctionStage enum value 25634 FunctionStageDevelopment = "DEVELOPMENT" 25635 25636 // FunctionStageLive is a FunctionStage enum value 25637 FunctionStageLive = "LIVE" 25638) 25639 25640// FunctionStage_Values returns all elements of the FunctionStage enum 25641func FunctionStage_Values() []string { 25642 return []string{ 25643 FunctionStageDevelopment, 25644 FunctionStageLive, 25645 } 25646} 25647 25648const ( 25649 // GeoRestrictionTypeBlacklist is a GeoRestrictionType enum value 25650 GeoRestrictionTypeBlacklist = "blacklist" 25651 25652 // GeoRestrictionTypeWhitelist is a GeoRestrictionType enum value 25653 GeoRestrictionTypeWhitelist = "whitelist" 25654 25655 // GeoRestrictionTypeNone is a GeoRestrictionType enum value 25656 GeoRestrictionTypeNone = "none" 25657) 25658 25659// GeoRestrictionType_Values returns all elements of the GeoRestrictionType enum 25660func GeoRestrictionType_Values() []string { 25661 return []string{ 25662 GeoRestrictionTypeBlacklist, 25663 GeoRestrictionTypeWhitelist, 25664 GeoRestrictionTypeNone, 25665 } 25666} 25667 25668const ( 25669 // HttpVersionHttp11 is a HttpVersion enum value 25670 HttpVersionHttp11 = "http1.1" 25671 25672 // HttpVersionHttp2 is a HttpVersion enum value 25673 HttpVersionHttp2 = "http2" 25674) 25675 25676// HttpVersion_Values returns all elements of the HttpVersion enum 25677func HttpVersion_Values() []string { 25678 return []string{ 25679 HttpVersionHttp11, 25680 HttpVersionHttp2, 25681 } 25682} 25683 25684const ( 25685 // ICPRecordalStatusApproved is a ICPRecordalStatus enum value 25686 ICPRecordalStatusApproved = "APPROVED" 25687 25688 // ICPRecordalStatusSuspended is a ICPRecordalStatus enum value 25689 ICPRecordalStatusSuspended = "SUSPENDED" 25690 25691 // ICPRecordalStatusPending is a ICPRecordalStatus enum value 25692 ICPRecordalStatusPending = "PENDING" 25693) 25694 25695// ICPRecordalStatus_Values returns all elements of the ICPRecordalStatus enum 25696func ICPRecordalStatus_Values() []string { 25697 return []string{ 25698 ICPRecordalStatusApproved, 25699 ICPRecordalStatusSuspended, 25700 ICPRecordalStatusPending, 25701 } 25702} 25703 25704const ( 25705 // ItemSelectionNone is a ItemSelection enum value 25706 ItemSelectionNone = "none" 25707 25708 // ItemSelectionWhitelist is a ItemSelection enum value 25709 ItemSelectionWhitelist = "whitelist" 25710 25711 // ItemSelectionAll is a ItemSelection enum value 25712 ItemSelectionAll = "all" 25713) 25714 25715// ItemSelection_Values returns all elements of the ItemSelection enum 25716func ItemSelection_Values() []string { 25717 return []string{ 25718 ItemSelectionNone, 25719 ItemSelectionWhitelist, 25720 ItemSelectionAll, 25721 } 25722} 25723 25724const ( 25725 // MethodGet is a Method enum value 25726 MethodGet = "GET" 25727 25728 // MethodHead is a Method enum value 25729 MethodHead = "HEAD" 25730 25731 // MethodPost is a Method enum value 25732 MethodPost = "POST" 25733 25734 // MethodPut is a Method enum value 25735 MethodPut = "PUT" 25736 25737 // MethodPatch is a Method enum value 25738 MethodPatch = "PATCH" 25739 25740 // MethodOptions is a Method enum value 25741 MethodOptions = "OPTIONS" 25742 25743 // MethodDelete is a Method enum value 25744 MethodDelete = "DELETE" 25745) 25746 25747// Method_Values returns all elements of the Method enum 25748func Method_Values() []string { 25749 return []string{ 25750 MethodGet, 25751 MethodHead, 25752 MethodPost, 25753 MethodPut, 25754 MethodPatch, 25755 MethodOptions, 25756 MethodDelete, 25757 } 25758} 25759 25760const ( 25761 // MinimumProtocolVersionSslv3 is a MinimumProtocolVersion enum value 25762 MinimumProtocolVersionSslv3 = "SSLv3" 25763 25764 // MinimumProtocolVersionTlsv1 is a MinimumProtocolVersion enum value 25765 MinimumProtocolVersionTlsv1 = "TLSv1" 25766 25767 // MinimumProtocolVersionTlsv12016 is a MinimumProtocolVersion enum value 25768 MinimumProtocolVersionTlsv12016 = "TLSv1_2016" 25769 25770 // MinimumProtocolVersionTlsv112016 is a MinimumProtocolVersion enum value 25771 MinimumProtocolVersionTlsv112016 = "TLSv1.1_2016" 25772 25773 // MinimumProtocolVersionTlsv122018 is a MinimumProtocolVersion enum value 25774 MinimumProtocolVersionTlsv122018 = "TLSv1.2_2018" 25775 25776 // MinimumProtocolVersionTlsv122019 is a MinimumProtocolVersion enum value 25777 MinimumProtocolVersionTlsv122019 = "TLSv1.2_2019" 25778 25779 // MinimumProtocolVersionTlsv122021 is a MinimumProtocolVersion enum value 25780 MinimumProtocolVersionTlsv122021 = "TLSv1.2_2021" 25781) 25782 25783// MinimumProtocolVersion_Values returns all elements of the MinimumProtocolVersion enum 25784func MinimumProtocolVersion_Values() []string { 25785 return []string{ 25786 MinimumProtocolVersionSslv3, 25787 MinimumProtocolVersionTlsv1, 25788 MinimumProtocolVersionTlsv12016, 25789 MinimumProtocolVersionTlsv112016, 25790 MinimumProtocolVersionTlsv122018, 25791 MinimumProtocolVersionTlsv122019, 25792 MinimumProtocolVersionTlsv122021, 25793 } 25794} 25795 25796const ( 25797 // OriginProtocolPolicyHttpOnly is a OriginProtocolPolicy enum value 25798 OriginProtocolPolicyHttpOnly = "http-only" 25799 25800 // OriginProtocolPolicyMatchViewer is a OriginProtocolPolicy enum value 25801 OriginProtocolPolicyMatchViewer = "match-viewer" 25802 25803 // OriginProtocolPolicyHttpsOnly is a OriginProtocolPolicy enum value 25804 OriginProtocolPolicyHttpsOnly = "https-only" 25805) 25806 25807// OriginProtocolPolicy_Values returns all elements of the OriginProtocolPolicy enum 25808func OriginProtocolPolicy_Values() []string { 25809 return []string{ 25810 OriginProtocolPolicyHttpOnly, 25811 OriginProtocolPolicyMatchViewer, 25812 OriginProtocolPolicyHttpsOnly, 25813 } 25814} 25815 25816const ( 25817 // OriginRequestPolicyCookieBehaviorNone is a OriginRequestPolicyCookieBehavior enum value 25818 OriginRequestPolicyCookieBehaviorNone = "none" 25819 25820 // OriginRequestPolicyCookieBehaviorWhitelist is a OriginRequestPolicyCookieBehavior enum value 25821 OriginRequestPolicyCookieBehaviorWhitelist = "whitelist" 25822 25823 // OriginRequestPolicyCookieBehaviorAll is a OriginRequestPolicyCookieBehavior enum value 25824 OriginRequestPolicyCookieBehaviorAll = "all" 25825) 25826 25827// OriginRequestPolicyCookieBehavior_Values returns all elements of the OriginRequestPolicyCookieBehavior enum 25828func OriginRequestPolicyCookieBehavior_Values() []string { 25829 return []string{ 25830 OriginRequestPolicyCookieBehaviorNone, 25831 OriginRequestPolicyCookieBehaviorWhitelist, 25832 OriginRequestPolicyCookieBehaviorAll, 25833 } 25834} 25835 25836const ( 25837 // OriginRequestPolicyHeaderBehaviorNone is a OriginRequestPolicyHeaderBehavior enum value 25838 OriginRequestPolicyHeaderBehaviorNone = "none" 25839 25840 // OriginRequestPolicyHeaderBehaviorWhitelist is a OriginRequestPolicyHeaderBehavior enum value 25841 OriginRequestPolicyHeaderBehaviorWhitelist = "whitelist" 25842 25843 // OriginRequestPolicyHeaderBehaviorAllViewer is a OriginRequestPolicyHeaderBehavior enum value 25844 OriginRequestPolicyHeaderBehaviorAllViewer = "allViewer" 25845 25846 // OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront is a OriginRequestPolicyHeaderBehavior enum value 25847 OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront = "allViewerAndWhitelistCloudFront" 25848) 25849 25850// OriginRequestPolicyHeaderBehavior_Values returns all elements of the OriginRequestPolicyHeaderBehavior enum 25851func OriginRequestPolicyHeaderBehavior_Values() []string { 25852 return []string{ 25853 OriginRequestPolicyHeaderBehaviorNone, 25854 OriginRequestPolicyHeaderBehaviorWhitelist, 25855 OriginRequestPolicyHeaderBehaviorAllViewer, 25856 OriginRequestPolicyHeaderBehaviorAllViewerAndWhitelistCloudFront, 25857 } 25858} 25859 25860const ( 25861 // OriginRequestPolicyQueryStringBehaviorNone is a OriginRequestPolicyQueryStringBehavior enum value 25862 OriginRequestPolicyQueryStringBehaviorNone = "none" 25863 25864 // OriginRequestPolicyQueryStringBehaviorWhitelist is a OriginRequestPolicyQueryStringBehavior enum value 25865 OriginRequestPolicyQueryStringBehaviorWhitelist = "whitelist" 25866 25867 // OriginRequestPolicyQueryStringBehaviorAll is a OriginRequestPolicyQueryStringBehavior enum value 25868 OriginRequestPolicyQueryStringBehaviorAll = "all" 25869) 25870 25871// OriginRequestPolicyQueryStringBehavior_Values returns all elements of the OriginRequestPolicyQueryStringBehavior enum 25872func OriginRequestPolicyQueryStringBehavior_Values() []string { 25873 return []string{ 25874 OriginRequestPolicyQueryStringBehaviorNone, 25875 OriginRequestPolicyQueryStringBehaviorWhitelist, 25876 OriginRequestPolicyQueryStringBehaviorAll, 25877 } 25878} 25879 25880const ( 25881 // OriginRequestPolicyTypeManaged is a OriginRequestPolicyType enum value 25882 OriginRequestPolicyTypeManaged = "managed" 25883 25884 // OriginRequestPolicyTypeCustom is a OriginRequestPolicyType enum value 25885 OriginRequestPolicyTypeCustom = "custom" 25886) 25887 25888// OriginRequestPolicyType_Values returns all elements of the OriginRequestPolicyType enum 25889func OriginRequestPolicyType_Values() []string { 25890 return []string{ 25891 OriginRequestPolicyTypeManaged, 25892 OriginRequestPolicyTypeCustom, 25893 } 25894} 25895 25896const ( 25897 // PriceClassPriceClass100 is a PriceClass enum value 25898 PriceClassPriceClass100 = "PriceClass_100" 25899 25900 // PriceClassPriceClass200 is a PriceClass enum value 25901 PriceClassPriceClass200 = "PriceClass_200" 25902 25903 // PriceClassPriceClassAll is a PriceClass enum value 25904 PriceClassPriceClassAll = "PriceClass_All" 25905) 25906 25907// PriceClass_Values returns all elements of the PriceClass enum 25908func PriceClass_Values() []string { 25909 return []string{ 25910 PriceClassPriceClass100, 25911 PriceClassPriceClass200, 25912 PriceClassPriceClassAll, 25913 } 25914} 25915 25916const ( 25917 // RealtimeMetricsSubscriptionStatusEnabled is a RealtimeMetricsSubscriptionStatus enum value 25918 RealtimeMetricsSubscriptionStatusEnabled = "Enabled" 25919 25920 // RealtimeMetricsSubscriptionStatusDisabled is a RealtimeMetricsSubscriptionStatus enum value 25921 RealtimeMetricsSubscriptionStatusDisabled = "Disabled" 25922) 25923 25924// RealtimeMetricsSubscriptionStatus_Values returns all elements of the RealtimeMetricsSubscriptionStatus enum 25925func RealtimeMetricsSubscriptionStatus_Values() []string { 25926 return []string{ 25927 RealtimeMetricsSubscriptionStatusEnabled, 25928 RealtimeMetricsSubscriptionStatusDisabled, 25929 } 25930} 25931 25932const ( 25933 // SSLSupportMethodSniOnly is a SSLSupportMethod enum value 25934 SSLSupportMethodSniOnly = "sni-only" 25935 25936 // SSLSupportMethodVip is a SSLSupportMethod enum value 25937 SSLSupportMethodVip = "vip" 25938 25939 // SSLSupportMethodStaticIp is a SSLSupportMethod enum value 25940 SSLSupportMethodStaticIp = "static-ip" 25941) 25942 25943// SSLSupportMethod_Values returns all elements of the SSLSupportMethod enum 25944func SSLSupportMethod_Values() []string { 25945 return []string{ 25946 SSLSupportMethodSniOnly, 25947 SSLSupportMethodVip, 25948 SSLSupportMethodStaticIp, 25949 } 25950} 25951 25952const ( 25953 // SslProtocolSslv3 is a SslProtocol enum value 25954 SslProtocolSslv3 = "SSLv3" 25955 25956 // SslProtocolTlsv1 is a SslProtocol enum value 25957 SslProtocolTlsv1 = "TLSv1" 25958 25959 // SslProtocolTlsv11 is a SslProtocol enum value 25960 SslProtocolTlsv11 = "TLSv1.1" 25961 25962 // SslProtocolTlsv12 is a SslProtocol enum value 25963 SslProtocolTlsv12 = "TLSv1.2" 25964) 25965 25966// SslProtocol_Values returns all elements of the SslProtocol enum 25967func SslProtocol_Values() []string { 25968 return []string{ 25969 SslProtocolSslv3, 25970 SslProtocolTlsv1, 25971 SslProtocolTlsv11, 25972 SslProtocolTlsv12, 25973 } 25974} 25975 25976const ( 25977 // ViewerProtocolPolicyAllowAll is a ViewerProtocolPolicy enum value 25978 ViewerProtocolPolicyAllowAll = "allow-all" 25979 25980 // ViewerProtocolPolicyHttpsOnly is a ViewerProtocolPolicy enum value 25981 ViewerProtocolPolicyHttpsOnly = "https-only" 25982 25983 // ViewerProtocolPolicyRedirectToHttps is a ViewerProtocolPolicy enum value 25984 ViewerProtocolPolicyRedirectToHttps = "redirect-to-https" 25985) 25986 25987// ViewerProtocolPolicy_Values returns all elements of the ViewerProtocolPolicy enum 25988func ViewerProtocolPolicy_Values() []string { 25989 return []string{ 25990 ViewerProtocolPolicyAllowAll, 25991 ViewerProtocolPolicyHttpsOnly, 25992 ViewerProtocolPolicyRedirectToHttps, 25993 } 25994} 25995