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 opCreateCloudFrontOriginAccessIdentity = "CreateCloudFrontOriginAccessIdentity2019_03_26" 17 18// CreateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 19// client's request for the CreateCloudFrontOriginAccessIdentity 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 CreateCloudFrontOriginAccessIdentity for more information on using the CreateCloudFrontOriginAccessIdentity 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 CreateCloudFrontOriginAccessIdentityRequest method. 34// req, resp := client.CreateCloudFrontOriginAccessIdentityRequest(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-2019-03-26/CreateCloudFrontOriginAccessIdentity 42func (c *CloudFront) CreateCloudFrontOriginAccessIdentityRequest(input *CreateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *CreateCloudFrontOriginAccessIdentityOutput) { 43 op := &request.Operation{ 44 Name: opCreateCloudFrontOriginAccessIdentity, 45 HTTPMethod: "POST", 46 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", 47 } 48 49 if input == nil { 50 input = &CreateCloudFrontOriginAccessIdentityInput{} 51 } 52 53 output = &CreateCloudFrontOriginAccessIdentityOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// CreateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 59// 60// Creates a new origin access identity. If you're using Amazon S3 for your 61// origin, you can use an origin access identity to require users to access 62// your content using a CloudFront URL instead of the Amazon S3 URL. For more 63// information about how to use origin access identities, see Serving Private 64// Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 65// in the Amazon CloudFront Developer Guide. 66// 67// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 68// with awserr.Error's Code and Message methods to get detailed information about 69// the error. 70// 71// See the AWS API reference guide for Amazon CloudFront's 72// API operation CreateCloudFrontOriginAccessIdentity for usage and error information. 73// 74// Returned Error Codes: 75// * ErrCodeOriginAccessIdentityAlreadyExists "CloudFrontOriginAccessIdentityAlreadyExists" 76// If the CallerReference is a value you already sent in a previous request 77// to create an identity but the content of the CloudFrontOriginAccessIdentityConfig 78// is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists 79// error. 80// 81// * ErrCodeMissingBody "MissingBody" 82// This operation requires a body. Ensure that the body is present and the Content-Type 83// header is set. 84// 85// * ErrCodeTooManyCloudFrontOriginAccessIdentities "TooManyCloudFrontOriginAccessIdentities" 86// Processing your request would cause you to exceed the maximum number of origin 87// access identities allowed. 88// 89// * ErrCodeInvalidArgument "InvalidArgument" 90// The argument is invalid. 91// 92// * ErrCodeInconsistentQuantities "InconsistentQuantities" 93// The value of Quantity and the size of Items don't match. 94// 95// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateCloudFrontOriginAccessIdentity 96func (c *CloudFront) CreateCloudFrontOriginAccessIdentity(input *CreateCloudFrontOriginAccessIdentityInput) (*CreateCloudFrontOriginAccessIdentityOutput, error) { 97 req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) 98 return out, req.Send() 99} 100 101// CreateCloudFrontOriginAccessIdentityWithContext is the same as CreateCloudFrontOriginAccessIdentity with the addition of 102// the ability to pass a context and additional request options. 103// 104// See CreateCloudFrontOriginAccessIdentity for details on how to use this API operation. 105// 106// The context must be non-nil and will be used for request cancellation. If 107// the context is nil a panic will occur. In the future the SDK may create 108// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 109// for more information on using Contexts. 110func (c *CloudFront) CreateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *CreateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*CreateCloudFrontOriginAccessIdentityOutput, error) { 111 req, out := c.CreateCloudFrontOriginAccessIdentityRequest(input) 112 req.SetContext(ctx) 113 req.ApplyOptions(opts...) 114 return out, req.Send() 115} 116 117const opCreateDistribution = "CreateDistribution2019_03_26" 118 119// CreateDistributionRequest generates a "aws/request.Request" representing the 120// client's request for the CreateDistribution operation. The "output" return 121// value will be populated with the request's response once the request completes 122// successfully. 123// 124// Use "Send" method on the returned Request to send the API call to the service. 125// the "output" return value is not valid until after Send returns without error. 126// 127// See CreateDistribution for more information on using the CreateDistribution 128// API call, and error handling. 129// 130// This method is useful when you want to inject custom logic or configuration 131// into the SDK's request lifecycle. Such as custom headers, or retry logic. 132// 133// 134// // Example sending a request using the CreateDistributionRequest method. 135// req, resp := client.CreateDistributionRequest(params) 136// 137// err := req.Send() 138// if err == nil { // resp is now filled 139// fmt.Println(resp) 140// } 141// 142// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution 143func (c *CloudFront) CreateDistributionRequest(input *CreateDistributionInput) (req *request.Request, output *CreateDistributionOutput) { 144 op := &request.Operation{ 145 Name: opCreateDistribution, 146 HTTPMethod: "POST", 147 HTTPPath: "/2019-03-26/distribution", 148 } 149 150 if input == nil { 151 input = &CreateDistributionInput{} 152 } 153 154 output = &CreateDistributionOutput{} 155 req = c.newRequest(op, input, output) 156 return 157} 158 159// CreateDistribution API operation for Amazon CloudFront. 160// 161// Creates a new web distribution. You create a CloudFront distribution to tell 162// CloudFront where you want content to be delivered from, and the details about 163// how to track and manage content delivery. Send a POST request to the /CloudFront 164// API version/distribution/distribution ID resource. 165// 166// When you update a distribution, there are more required fields than when 167// you create a distribution. When you update your distribution by using UpdateDistribution 168// (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html), 169// follow the steps included in the documentation to get the current configuration 170// and then make your updates. This helps to make sure that you include all 171// of the required fields. To view a summary, see Required Fields for Create 172// Distribution and Update Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) 173// in the Amazon CloudFront Developer Guide. 174// 175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 176// with awserr.Error's Code and Message methods to get detailed information about 177// the error. 178// 179// See the AWS API reference guide for Amazon CloudFront's 180// API operation CreateDistribution for usage and error information. 181// 182// Returned Error Codes: 183// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 184// The CNAME specified is already defined for CloudFront. 185// 186// * ErrCodeDistributionAlreadyExists "DistributionAlreadyExists" 187// The caller reference you attempted to create the distribution with is associated 188// with another distribution. 189// 190// * ErrCodeInvalidOrigin "InvalidOrigin" 191// The Amazon S3 origin server specified does not refer to a valid Amazon S3 192// bucket. 193// 194// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 195// The origin access identity is not valid or doesn't exist. 196// 197// * ErrCodeAccessDenied "AccessDenied" 198// Access denied. 199// 200// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 201// Your request contains more trusted signers than are allowed per distribution. 202// 203// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 204// One or more of your trusted signers don't exist. 205// 206// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 207// A viewer certificate specified in the response body is not valid. 208// 209// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 210// The minimum protocol version specified is not valid. 211// 212// * ErrCodeMissingBody "MissingBody" 213// This operation requires a body. Ensure that the body is present and the Content-Type 214// header is set. 215// 216// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 217// Your request contains more CNAMEs than are allowed per distribution. 218// 219// * ErrCodeTooManyDistributions "TooManyDistributions" 220// Processing your request would cause you to exceed the maximum number of distributions 221// allowed. 222// 223// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 224// The default root object file name is too big or contains an invalid character. 225// 226// * ErrCodeInvalidRelativePath "InvalidRelativePath" 227// The relative path is too big, is not URL-encoded, or does not begin with 228// a slash (/). 229// 230// * ErrCodeInvalidErrorCode "InvalidErrorCode" 231// An invalid error code was specified. 232// 233// * ErrCodeInvalidResponseCode "InvalidResponseCode" 234// A response code specified in the response body is not valid. 235// 236// * ErrCodeInvalidArgument "InvalidArgument" 237// The argument is invalid. 238// 239// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 240// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 241// protocol in your request, or omit the RequiredProtocols element from your 242// distribution configuration. 243// 244// * ErrCodeNoSuchOrigin "NoSuchOrigin" 245// No origin exists with the specified Origin Id. 246// 247// * ErrCodeTooManyOrigins "TooManyOrigins" 248// You cannot create more origins for the distribution. 249// 250// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 251// Processing your request would cause you to exceed the maximum number of origin 252// groups allowed. 253// 254// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 255// You cannot create more cache behaviors for the distribution. 256// 257// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 258// Your request contains more cookie names in the whitelist than are allowed 259// per cache behavior. 260// 261// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 262// Your request contains forward cookies option which doesn't match with the 263// expectation for the whitelisted list of cookie names. Either list of cookie 264// names has been specified when not allowed or list of cookie names is missing 265// when expected. 266// 267// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 268// Your request contains too many headers in forwarded values. 269// 270// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 271// The headers specified are not valid for an Amazon S3 origin. 272// 273// * ErrCodeInconsistentQuantities "InconsistentQuantities" 274// The value of Quantity and the size of Items don't match. 275// 276// * ErrCodeTooManyCertificates "TooManyCertificates" 277// You cannot create anymore custom SSL/TLS certificates. 278// 279// * ErrCodeInvalidLocationCode "InvalidLocationCode" 280// The location code specified is not valid. 281// 282// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 283// The specified geo restriction parameter is not valid. 284// 285// * ErrCodeInvalidProtocolSettings "InvalidProtocolSettings" 286// You cannot specify SSLv3 as the minimum protocol version if you only want 287// to support only clients that support Server Name Indication (SNI). 288// 289// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 290// TTL order specified in the response body is not valid. 291// 292// * ErrCodeInvalidWebACLId "InvalidWebACLId" 293// A web ACL ID specified in the response body is not valid. To specify a web 294// ACL created using the latest version of AWS WAF, use the ACL ARN, for example 295// arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 296// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 297// 473e64fd-f30b-4765-81a0-62ad96dd167a. 298// 299// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 300// Your request contains too many origin custom headers. 301// 302// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 303// Your request contains too many query string parameters. 304// 305// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 306// Query string parameters specified in the response body are not valid. 307// 308// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 309// Processing your request would cause the maximum number of distributions with 310// Lambda function associations per owner to be exceeded. 311// 312// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 313// Your request contains more Lambda function associations than are allowed 314// per distribution. 315// 316// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 317// The specified Lambda function association is invalid. 318// 319// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 320// The read timeout specified for the origin is not valid. 321// 322// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 323// The keep alive timeout specified for the origin is not valid. 324// 325// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 326// The specified configuration for field-level encryption doesn't exist. 327// 328// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 329// The specified configuration for field-level encryption can't be associated 330// with the specified cache behavior. 331// 332// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 333// The maximum number of distributions have been associated with the specified 334// configuration for field-level encryption. 335// 336// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistribution 337func (c *CloudFront) CreateDistribution(input *CreateDistributionInput) (*CreateDistributionOutput, error) { 338 req, out := c.CreateDistributionRequest(input) 339 return out, req.Send() 340} 341 342// CreateDistributionWithContext is the same as CreateDistribution with the addition of 343// the ability to pass a context and additional request options. 344// 345// See CreateDistribution for details on how to use this API operation. 346// 347// The context must be non-nil and will be used for request cancellation. If 348// the context is nil a panic will occur. In the future the SDK may create 349// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 350// for more information on using Contexts. 351func (c *CloudFront) CreateDistributionWithContext(ctx aws.Context, input *CreateDistributionInput, opts ...request.Option) (*CreateDistributionOutput, error) { 352 req, out := c.CreateDistributionRequest(input) 353 req.SetContext(ctx) 354 req.ApplyOptions(opts...) 355 return out, req.Send() 356} 357 358const opCreateDistributionWithTags = "CreateDistributionWithTags2019_03_26" 359 360// CreateDistributionWithTagsRequest generates a "aws/request.Request" representing the 361// client's request for the CreateDistributionWithTags operation. The "output" return 362// value will be populated with the request's response once the request completes 363// successfully. 364// 365// Use "Send" method on the returned Request to send the API call to the service. 366// the "output" return value is not valid until after Send returns without error. 367// 368// See CreateDistributionWithTags for more information on using the CreateDistributionWithTags 369// API call, and error handling. 370// 371// This method is useful when you want to inject custom logic or configuration 372// into the SDK's request lifecycle. Such as custom headers, or retry logic. 373// 374// 375// // Example sending a request using the CreateDistributionWithTagsRequest method. 376// req, resp := client.CreateDistributionWithTagsRequest(params) 377// 378// err := req.Send() 379// if err == nil { // resp is now filled 380// fmt.Println(resp) 381// } 382// 383// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags 384func (c *CloudFront) CreateDistributionWithTagsRequest(input *CreateDistributionWithTagsInput) (req *request.Request, output *CreateDistributionWithTagsOutput) { 385 op := &request.Operation{ 386 Name: opCreateDistributionWithTags, 387 HTTPMethod: "POST", 388 HTTPPath: "/2019-03-26/distribution?WithTags", 389 } 390 391 if input == nil { 392 input = &CreateDistributionWithTagsInput{} 393 } 394 395 output = &CreateDistributionWithTagsOutput{} 396 req = c.newRequest(op, input, output) 397 return 398} 399 400// CreateDistributionWithTags API operation for Amazon CloudFront. 401// 402// Create a new distribution with tags. 403// 404// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 405// with awserr.Error's Code and Message methods to get detailed information about 406// the error. 407// 408// See the AWS API reference guide for Amazon CloudFront's 409// API operation CreateDistributionWithTags for usage and error information. 410// 411// Returned Error Codes: 412// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 413// The CNAME specified is already defined for CloudFront. 414// 415// * ErrCodeDistributionAlreadyExists "DistributionAlreadyExists" 416// The caller reference you attempted to create the distribution with is associated 417// with another distribution. 418// 419// * ErrCodeInvalidOrigin "InvalidOrigin" 420// The Amazon S3 origin server specified does not refer to a valid Amazon S3 421// bucket. 422// 423// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 424// The origin access identity is not valid or doesn't exist. 425// 426// * ErrCodeAccessDenied "AccessDenied" 427// Access denied. 428// 429// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 430// Your request contains more trusted signers than are allowed per distribution. 431// 432// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 433// One or more of your trusted signers don't exist. 434// 435// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 436// A viewer certificate specified in the response body is not valid. 437// 438// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 439// The minimum protocol version specified is not valid. 440// 441// * ErrCodeMissingBody "MissingBody" 442// This operation requires a body. Ensure that the body is present and the Content-Type 443// header is set. 444// 445// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 446// Your request contains more CNAMEs than are allowed per distribution. 447// 448// * ErrCodeTooManyDistributions "TooManyDistributions" 449// Processing your request would cause you to exceed the maximum number of distributions 450// allowed. 451// 452// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 453// The default root object file name is too big or contains an invalid character. 454// 455// * ErrCodeInvalidRelativePath "InvalidRelativePath" 456// The relative path is too big, is not URL-encoded, or does not begin with 457// a slash (/). 458// 459// * ErrCodeInvalidErrorCode "InvalidErrorCode" 460// An invalid error code was specified. 461// 462// * ErrCodeInvalidResponseCode "InvalidResponseCode" 463// A response code specified in the response body is not valid. 464// 465// * ErrCodeInvalidArgument "InvalidArgument" 466// The argument is invalid. 467// 468// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 469// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 470// protocol in your request, or omit the RequiredProtocols element from your 471// distribution configuration. 472// 473// * ErrCodeNoSuchOrigin "NoSuchOrigin" 474// No origin exists with the specified Origin Id. 475// 476// * ErrCodeTooManyOrigins "TooManyOrigins" 477// You cannot create more origins for the distribution. 478// 479// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 480// Processing your request would cause you to exceed the maximum number of origin 481// groups allowed. 482// 483// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 484// You cannot create more cache behaviors for the distribution. 485// 486// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 487// Your request contains more cookie names in the whitelist than are allowed 488// per cache behavior. 489// 490// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 491// Your request contains forward cookies option which doesn't match with the 492// expectation for the whitelisted list of cookie names. Either list of cookie 493// names has been specified when not allowed or list of cookie names is missing 494// when expected. 495// 496// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 497// Your request contains too many headers in forwarded values. 498// 499// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 500// The headers specified are not valid for an Amazon S3 origin. 501// 502// * ErrCodeInconsistentQuantities "InconsistentQuantities" 503// The value of Quantity and the size of Items don't match. 504// 505// * ErrCodeTooManyCertificates "TooManyCertificates" 506// You cannot create anymore custom SSL/TLS certificates. 507// 508// * ErrCodeInvalidLocationCode "InvalidLocationCode" 509// The location code specified is not valid. 510// 511// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 512// The specified geo restriction parameter is not valid. 513// 514// * ErrCodeInvalidProtocolSettings "InvalidProtocolSettings" 515// You cannot specify SSLv3 as the minimum protocol version if you only want 516// to support only clients that support Server Name Indication (SNI). 517// 518// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 519// TTL order specified in the response body is not valid. 520// 521// * ErrCodeInvalidWebACLId "InvalidWebACLId" 522// A web ACL ID specified in the response body is not valid. To specify a web 523// ACL created using the latest version of AWS WAF, use the ACL ARN, for example 524// arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 525// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 526// 473e64fd-f30b-4765-81a0-62ad96dd167a. 527// 528// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 529// Your request contains too many origin custom headers. 530// 531// * ErrCodeInvalidTagging "InvalidTagging" 532// Tagging specified in the response body is not valid. 533// 534// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 535// Your request contains too many query string parameters. 536// 537// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 538// Query string parameters specified in the response body are not valid. 539// 540// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 541// Processing your request would cause the maximum number of distributions with 542// Lambda function associations per owner to be exceeded. 543// 544// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 545// Your request contains more Lambda function associations than are allowed 546// per distribution. 547// 548// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 549// The specified Lambda function association is invalid. 550// 551// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 552// The read timeout specified for the origin is not valid. 553// 554// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 555// The keep alive timeout specified for the origin is not valid. 556// 557// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 558// The specified configuration for field-level encryption doesn't exist. 559// 560// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 561// The specified configuration for field-level encryption can't be associated 562// with the specified cache behavior. 563// 564// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 565// The maximum number of distributions have been associated with the specified 566// configuration for field-level encryption. 567// 568// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateDistributionWithTags 569func (c *CloudFront) CreateDistributionWithTags(input *CreateDistributionWithTagsInput) (*CreateDistributionWithTagsOutput, error) { 570 req, out := c.CreateDistributionWithTagsRequest(input) 571 return out, req.Send() 572} 573 574// CreateDistributionWithTagsWithContext is the same as CreateDistributionWithTags with the addition of 575// the ability to pass a context and additional request options. 576// 577// See CreateDistributionWithTags for details on how to use this API operation. 578// 579// The context must be non-nil and will be used for request cancellation. If 580// the context is nil a panic will occur. In the future the SDK may create 581// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 582// for more information on using Contexts. 583func (c *CloudFront) CreateDistributionWithTagsWithContext(ctx aws.Context, input *CreateDistributionWithTagsInput, opts ...request.Option) (*CreateDistributionWithTagsOutput, error) { 584 req, out := c.CreateDistributionWithTagsRequest(input) 585 req.SetContext(ctx) 586 req.ApplyOptions(opts...) 587 return out, req.Send() 588} 589 590const opCreateFieldLevelEncryptionConfig = "CreateFieldLevelEncryptionConfig2019_03_26" 591 592// CreateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 593// client's request for the CreateFieldLevelEncryptionConfig operation. The "output" return 594// value will be populated with the request's response once the request completes 595// successfully. 596// 597// Use "Send" method on the returned Request to send the API call to the service. 598// the "output" return value is not valid until after Send returns without error. 599// 600// See CreateFieldLevelEncryptionConfig for more information on using the CreateFieldLevelEncryptionConfig 601// API call, and error handling. 602// 603// This method is useful when you want to inject custom logic or configuration 604// into the SDK's request lifecycle. Such as custom headers, or retry logic. 605// 606// 607// // Example sending a request using the CreateFieldLevelEncryptionConfigRequest method. 608// req, resp := client.CreateFieldLevelEncryptionConfigRequest(params) 609// 610// err := req.Send() 611// if err == nil { // resp is now filled 612// fmt.Println(resp) 613// } 614// 615// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig 616func (c *CloudFront) CreateFieldLevelEncryptionConfigRequest(input *CreateFieldLevelEncryptionConfigInput) (req *request.Request, output *CreateFieldLevelEncryptionConfigOutput) { 617 op := &request.Operation{ 618 Name: opCreateFieldLevelEncryptionConfig, 619 HTTPMethod: "POST", 620 HTTPPath: "/2019-03-26/field-level-encryption", 621 } 622 623 if input == nil { 624 input = &CreateFieldLevelEncryptionConfigInput{} 625 } 626 627 output = &CreateFieldLevelEncryptionConfigOutput{} 628 req = c.newRequest(op, input, output) 629 return 630} 631 632// CreateFieldLevelEncryptionConfig API operation for Amazon CloudFront. 633// 634// Create a new field-level encryption configuration. 635// 636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 637// with awserr.Error's Code and Message methods to get detailed information about 638// the error. 639// 640// See the AWS API reference guide for Amazon CloudFront's 641// API operation CreateFieldLevelEncryptionConfig for usage and error information. 642// 643// Returned Error Codes: 644// * ErrCodeInconsistentQuantities "InconsistentQuantities" 645// The value of Quantity and the size of Items don't match. 646// 647// * ErrCodeInvalidArgument "InvalidArgument" 648// The argument is invalid. 649// 650// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 651// The specified profile for field-level encryption doesn't exist. 652// 653// * ErrCodeFieldLevelEncryptionConfigAlreadyExists "FieldLevelEncryptionConfigAlreadyExists" 654// The specified configuration for field-level encryption already exists. 655// 656// * ErrCodeTooManyFieldLevelEncryptionConfigs "TooManyFieldLevelEncryptionConfigs" 657// The maximum number of configurations for field-level encryption have been 658// created. 659// 660// * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" 661// The maximum number of query arg profiles for field-level encryption have 662// been created. 663// 664// * ErrCodeTooManyFieldLevelEncryptionContentTypeProfiles "TooManyFieldLevelEncryptionContentTypeProfiles" 665// The maximum number of content type profiles for field-level encryption have 666// been created. 667// 668// * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" 669// No profile specified for the field-level encryption query argument. 670// 671// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionConfig 672func (c *CloudFront) CreateFieldLevelEncryptionConfig(input *CreateFieldLevelEncryptionConfigInput) (*CreateFieldLevelEncryptionConfigOutput, error) { 673 req, out := c.CreateFieldLevelEncryptionConfigRequest(input) 674 return out, req.Send() 675} 676 677// CreateFieldLevelEncryptionConfigWithContext is the same as CreateFieldLevelEncryptionConfig with the addition of 678// the ability to pass a context and additional request options. 679// 680// See CreateFieldLevelEncryptionConfig for details on how to use this API operation. 681// 682// The context must be non-nil and will be used for request cancellation. If 683// the context is nil a panic will occur. In the future the SDK may create 684// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 685// for more information on using Contexts. 686func (c *CloudFront) CreateFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *CreateFieldLevelEncryptionConfigInput, opts ...request.Option) (*CreateFieldLevelEncryptionConfigOutput, error) { 687 req, out := c.CreateFieldLevelEncryptionConfigRequest(input) 688 req.SetContext(ctx) 689 req.ApplyOptions(opts...) 690 return out, req.Send() 691} 692 693const opCreateFieldLevelEncryptionProfile = "CreateFieldLevelEncryptionProfile2019_03_26" 694 695// CreateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 696// client's request for the CreateFieldLevelEncryptionProfile operation. The "output" return 697// value will be populated with the request's response once the request completes 698// successfully. 699// 700// Use "Send" method on the returned Request to send the API call to the service. 701// the "output" return value is not valid until after Send returns without error. 702// 703// See CreateFieldLevelEncryptionProfile for more information on using the CreateFieldLevelEncryptionProfile 704// API call, and error handling. 705// 706// This method is useful when you want to inject custom logic or configuration 707// into the SDK's request lifecycle. Such as custom headers, or retry logic. 708// 709// 710// // Example sending a request using the CreateFieldLevelEncryptionProfileRequest method. 711// req, resp := client.CreateFieldLevelEncryptionProfileRequest(params) 712// 713// err := req.Send() 714// if err == nil { // resp is now filled 715// fmt.Println(resp) 716// } 717// 718// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile 719func (c *CloudFront) CreateFieldLevelEncryptionProfileRequest(input *CreateFieldLevelEncryptionProfileInput) (req *request.Request, output *CreateFieldLevelEncryptionProfileOutput) { 720 op := &request.Operation{ 721 Name: opCreateFieldLevelEncryptionProfile, 722 HTTPMethod: "POST", 723 HTTPPath: "/2019-03-26/field-level-encryption-profile", 724 } 725 726 if input == nil { 727 input = &CreateFieldLevelEncryptionProfileInput{} 728 } 729 730 output = &CreateFieldLevelEncryptionProfileOutput{} 731 req = c.newRequest(op, input, output) 732 return 733} 734 735// CreateFieldLevelEncryptionProfile API operation for Amazon CloudFront. 736// 737// Create a field-level encryption profile. 738// 739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 740// with awserr.Error's Code and Message methods to get detailed information about 741// the error. 742// 743// See the AWS API reference guide for Amazon CloudFront's 744// API operation CreateFieldLevelEncryptionProfile for usage and error information. 745// 746// Returned Error Codes: 747// * ErrCodeInconsistentQuantities "InconsistentQuantities" 748// The value of Quantity and the size of Items don't match. 749// 750// * ErrCodeInvalidArgument "InvalidArgument" 751// The argument is invalid. 752// 753// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 754// The specified public key doesn't exist. 755// 756// * ErrCodeFieldLevelEncryptionProfileAlreadyExists "FieldLevelEncryptionProfileAlreadyExists" 757// The specified profile for field-level encryption already exists. 758// 759// * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" 760// The maximum size of a profile for field-level encryption was exceeded. 761// 762// * ErrCodeTooManyFieldLevelEncryptionProfiles "TooManyFieldLevelEncryptionProfiles" 763// The maximum number of profiles for field-level encryption have been created. 764// 765// * ErrCodeTooManyFieldLevelEncryptionEncryptionEntities "TooManyFieldLevelEncryptionEncryptionEntities" 766// The maximum number of encryption entities for field-level encryption have 767// been created. 768// 769// * ErrCodeTooManyFieldLevelEncryptionFieldPatterns "TooManyFieldLevelEncryptionFieldPatterns" 770// The maximum number of field patterns for field-level encryption have been 771// created. 772// 773// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateFieldLevelEncryptionProfile 774func (c *CloudFront) CreateFieldLevelEncryptionProfile(input *CreateFieldLevelEncryptionProfileInput) (*CreateFieldLevelEncryptionProfileOutput, error) { 775 req, out := c.CreateFieldLevelEncryptionProfileRequest(input) 776 return out, req.Send() 777} 778 779// CreateFieldLevelEncryptionProfileWithContext is the same as CreateFieldLevelEncryptionProfile with the addition of 780// the ability to pass a context and additional request options. 781// 782// See CreateFieldLevelEncryptionProfile for details on how to use this API operation. 783// 784// The context must be non-nil and will be used for request cancellation. If 785// the context is nil a panic will occur. In the future the SDK may create 786// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 787// for more information on using Contexts. 788func (c *CloudFront) CreateFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *CreateFieldLevelEncryptionProfileInput, opts ...request.Option) (*CreateFieldLevelEncryptionProfileOutput, error) { 789 req, out := c.CreateFieldLevelEncryptionProfileRequest(input) 790 req.SetContext(ctx) 791 req.ApplyOptions(opts...) 792 return out, req.Send() 793} 794 795const opCreateInvalidation = "CreateInvalidation2019_03_26" 796 797// CreateInvalidationRequest generates a "aws/request.Request" representing the 798// client's request for the CreateInvalidation operation. The "output" return 799// value will be populated with the request's response once the request completes 800// successfully. 801// 802// Use "Send" method on the returned Request to send the API call to the service. 803// the "output" return value is not valid until after Send returns without error. 804// 805// See CreateInvalidation for more information on using the CreateInvalidation 806// API call, and error handling. 807// 808// This method is useful when you want to inject custom logic or configuration 809// into the SDK's request lifecycle. Such as custom headers, or retry logic. 810// 811// 812// // Example sending a request using the CreateInvalidationRequest method. 813// req, resp := client.CreateInvalidationRequest(params) 814// 815// err := req.Send() 816// if err == nil { // resp is now filled 817// fmt.Println(resp) 818// } 819// 820// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation 821func (c *CloudFront) CreateInvalidationRequest(input *CreateInvalidationInput) (req *request.Request, output *CreateInvalidationOutput) { 822 op := &request.Operation{ 823 Name: opCreateInvalidation, 824 HTTPMethod: "POST", 825 HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", 826 } 827 828 if input == nil { 829 input = &CreateInvalidationInput{} 830 } 831 832 output = &CreateInvalidationOutput{} 833 req = c.newRequest(op, input, output) 834 return 835} 836 837// CreateInvalidation API operation for Amazon CloudFront. 838// 839// Create a new invalidation. 840// 841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 842// with awserr.Error's Code and Message methods to get detailed information about 843// the error. 844// 845// See the AWS API reference guide for Amazon CloudFront's 846// API operation CreateInvalidation for usage and error information. 847// 848// Returned Error Codes: 849// * ErrCodeAccessDenied "AccessDenied" 850// Access denied. 851// 852// * ErrCodeMissingBody "MissingBody" 853// This operation requires a body. Ensure that the body is present and the Content-Type 854// header is set. 855// 856// * ErrCodeInvalidArgument "InvalidArgument" 857// The argument is invalid. 858// 859// * ErrCodeNoSuchDistribution "NoSuchDistribution" 860// The specified distribution does not exist. 861// 862// * ErrCodeBatchTooLarge "BatchTooLarge" 863// Invalidation batch specified is too large. 864// 865// * ErrCodeTooManyInvalidationsInProgress "TooManyInvalidationsInProgress" 866// You have exceeded the maximum number of allowable InProgress invalidation 867// batch requests, or invalidation objects. 868// 869// * ErrCodeInconsistentQuantities "InconsistentQuantities" 870// The value of Quantity and the size of Items don't match. 871// 872// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateInvalidation 873func (c *CloudFront) CreateInvalidation(input *CreateInvalidationInput) (*CreateInvalidationOutput, error) { 874 req, out := c.CreateInvalidationRequest(input) 875 return out, req.Send() 876} 877 878// CreateInvalidationWithContext is the same as CreateInvalidation with the addition of 879// the ability to pass a context and additional request options. 880// 881// See CreateInvalidation for details on how to use this API operation. 882// 883// The context must be non-nil and will be used for request cancellation. If 884// the context is nil a panic will occur. In the future the SDK may create 885// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 886// for more information on using Contexts. 887func (c *CloudFront) CreateInvalidationWithContext(ctx aws.Context, input *CreateInvalidationInput, opts ...request.Option) (*CreateInvalidationOutput, error) { 888 req, out := c.CreateInvalidationRequest(input) 889 req.SetContext(ctx) 890 req.ApplyOptions(opts...) 891 return out, req.Send() 892} 893 894const opCreatePublicKey = "CreatePublicKey2019_03_26" 895 896// CreatePublicKeyRequest generates a "aws/request.Request" representing the 897// client's request for the CreatePublicKey operation. The "output" return 898// value will be populated with the request's response once the request completes 899// successfully. 900// 901// Use "Send" method on the returned Request to send the API call to the service. 902// the "output" return value is not valid until after Send returns without error. 903// 904// See CreatePublicKey for more information on using the CreatePublicKey 905// API call, and error handling. 906// 907// This method is useful when you want to inject custom logic or configuration 908// into the SDK's request lifecycle. Such as custom headers, or retry logic. 909// 910// 911// // Example sending a request using the CreatePublicKeyRequest method. 912// req, resp := client.CreatePublicKeyRequest(params) 913// 914// err := req.Send() 915// if err == nil { // resp is now filled 916// fmt.Println(resp) 917// } 918// 919// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey 920func (c *CloudFront) CreatePublicKeyRequest(input *CreatePublicKeyInput) (req *request.Request, output *CreatePublicKeyOutput) { 921 op := &request.Operation{ 922 Name: opCreatePublicKey, 923 HTTPMethod: "POST", 924 HTTPPath: "/2019-03-26/public-key", 925 } 926 927 if input == nil { 928 input = &CreatePublicKeyInput{} 929 } 930 931 output = &CreatePublicKeyOutput{} 932 req = c.newRequest(op, input, output) 933 return 934} 935 936// CreatePublicKey API operation for Amazon CloudFront. 937// 938// Add a new public key to CloudFront to use, for example, for field-level encryption. 939// You can add a maximum of 10 public keys with one AWS account. 940// 941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 942// with awserr.Error's Code and Message methods to get detailed information about 943// the error. 944// 945// See the AWS API reference guide for Amazon CloudFront's 946// API operation CreatePublicKey for usage and error information. 947// 948// Returned Error Codes: 949// * ErrCodePublicKeyAlreadyExists "PublicKeyAlreadyExists" 950// The specified public key already exists. 951// 952// * ErrCodeInvalidArgument "InvalidArgument" 953// The argument is invalid. 954// 955// * ErrCodeTooManyPublicKeys "TooManyPublicKeys" 956// The maximum number of public keys for field-level encryption have been created. 957// To create a new public key, delete one of the existing keys. 958// 959// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreatePublicKey 960func (c *CloudFront) CreatePublicKey(input *CreatePublicKeyInput) (*CreatePublicKeyOutput, error) { 961 req, out := c.CreatePublicKeyRequest(input) 962 return out, req.Send() 963} 964 965// CreatePublicKeyWithContext is the same as CreatePublicKey with the addition of 966// the ability to pass a context and additional request options. 967// 968// See CreatePublicKey for details on how to use this API operation. 969// 970// The context must be non-nil and will be used for request cancellation. If 971// the context is nil a panic will occur. In the future the SDK may create 972// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 973// for more information on using Contexts. 974func (c *CloudFront) CreatePublicKeyWithContext(ctx aws.Context, input *CreatePublicKeyInput, opts ...request.Option) (*CreatePublicKeyOutput, error) { 975 req, out := c.CreatePublicKeyRequest(input) 976 req.SetContext(ctx) 977 req.ApplyOptions(opts...) 978 return out, req.Send() 979} 980 981const opCreateStreamingDistribution = "CreateStreamingDistribution2019_03_26" 982 983// CreateStreamingDistributionRequest generates a "aws/request.Request" representing the 984// client's request for the CreateStreamingDistribution operation. The "output" return 985// value will be populated with the request's response once the request completes 986// successfully. 987// 988// Use "Send" method on the returned Request to send the API call to the service. 989// the "output" return value is not valid until after Send returns without error. 990// 991// See CreateStreamingDistribution for more information on using the CreateStreamingDistribution 992// API call, and error handling. 993// 994// This method is useful when you want to inject custom logic or configuration 995// into the SDK's request lifecycle. Such as custom headers, or retry logic. 996// 997// 998// // Example sending a request using the CreateStreamingDistributionRequest method. 999// req, resp := client.CreateStreamingDistributionRequest(params) 1000// 1001// err := req.Send() 1002// if err == nil { // resp is now filled 1003// fmt.Println(resp) 1004// } 1005// 1006// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution 1007func (c *CloudFront) CreateStreamingDistributionRequest(input *CreateStreamingDistributionInput) (req *request.Request, output *CreateStreamingDistributionOutput) { 1008 op := &request.Operation{ 1009 Name: opCreateStreamingDistribution, 1010 HTTPMethod: "POST", 1011 HTTPPath: "/2019-03-26/streaming-distribution", 1012 } 1013 1014 if input == nil { 1015 input = &CreateStreamingDistributionInput{} 1016 } 1017 1018 output = &CreateStreamingDistributionOutput{} 1019 req = c.newRequest(op, input, output) 1020 return 1021} 1022 1023// CreateStreamingDistribution API operation for Amazon CloudFront. 1024// 1025// Creates a new RTMP distribution. An RTMP distribution is similar to a web 1026// distribution, but an RTMP distribution streams media files using the Adobe 1027// Real-Time Messaging Protocol (RTMP) instead of serving files using HTTP. 1028// 1029// To create a new distribution, submit a POST request to the CloudFront API 1030// version/distribution resource. The request body must include a document with 1031// a StreamingDistributionConfig element. The response echoes the StreamingDistributionConfig 1032// element and returns other information about the RTMP distribution. 1033// 1034// To get the status of your request, use the GET StreamingDistribution API 1035// action. When the value of Enabled is true and the value of Status is Deployed, 1036// your distribution is ready. A distribution usually deploys in less than 15 1037// minutes. 1038// 1039// For more information about web distributions, see Working with RTMP Distributions 1040// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html) 1041// in the Amazon CloudFront Developer Guide. 1042// 1043// Beginning with the 2012-05-05 version of the CloudFront API, we made substantial 1044// changes to the format of the XML document that you include in the request 1045// body when you create or update a web distribution or an RTMP distribution, 1046// and when you invalidate objects. With previous versions of the API, we discovered 1047// that it was too easy to accidentally delete one or more values for an element 1048// that accepts multiple values, for example, CNAMEs and trusted signers. Our 1049// changes for the 2012-05-05 release are intended to prevent these accidental 1050// deletions and to notify you when there's a mismatch between the number of 1051// values you say you're specifying in the Quantity element and the number of 1052// values specified. 1053// 1054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1055// with awserr.Error's Code and Message methods to get detailed information about 1056// the error. 1057// 1058// See the AWS API reference guide for Amazon CloudFront's 1059// API operation CreateStreamingDistribution for usage and error information. 1060// 1061// Returned Error Codes: 1062// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 1063// The CNAME specified is already defined for CloudFront. 1064// 1065// * ErrCodeStreamingDistributionAlreadyExists "StreamingDistributionAlreadyExists" 1066// The caller reference you attempted to create the streaming distribution with 1067// is associated with another distribution 1068// 1069// * ErrCodeInvalidOrigin "InvalidOrigin" 1070// The Amazon S3 origin server specified does not refer to a valid Amazon S3 1071// bucket. 1072// 1073// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 1074// The origin access identity is not valid or doesn't exist. 1075// 1076// * ErrCodeAccessDenied "AccessDenied" 1077// Access denied. 1078// 1079// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 1080// Your request contains more trusted signers than are allowed per distribution. 1081// 1082// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 1083// One or more of your trusted signers don't exist. 1084// 1085// * ErrCodeMissingBody "MissingBody" 1086// This operation requires a body. Ensure that the body is present and the Content-Type 1087// header is set. 1088// 1089// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 1090// Your request contains more CNAMEs than are allowed per distribution. 1091// 1092// * ErrCodeTooManyStreamingDistributions "TooManyStreamingDistributions" 1093// Processing your request would cause you to exceed the maximum number of streaming 1094// distributions allowed. 1095// 1096// * ErrCodeInvalidArgument "InvalidArgument" 1097// The argument is invalid. 1098// 1099// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1100// The value of Quantity and the size of Items don't match. 1101// 1102// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistribution 1103func (c *CloudFront) CreateStreamingDistribution(input *CreateStreamingDistributionInput) (*CreateStreamingDistributionOutput, error) { 1104 req, out := c.CreateStreamingDistributionRequest(input) 1105 return out, req.Send() 1106} 1107 1108// CreateStreamingDistributionWithContext is the same as CreateStreamingDistribution with the addition of 1109// the ability to pass a context and additional request options. 1110// 1111// See CreateStreamingDistribution for details on how to use this API operation. 1112// 1113// The context must be non-nil and will be used for request cancellation. If 1114// the context is nil a panic will occur. In the future the SDK may create 1115// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1116// for more information on using Contexts. 1117func (c *CloudFront) CreateStreamingDistributionWithContext(ctx aws.Context, input *CreateStreamingDistributionInput, opts ...request.Option) (*CreateStreamingDistributionOutput, error) { 1118 req, out := c.CreateStreamingDistributionRequest(input) 1119 req.SetContext(ctx) 1120 req.ApplyOptions(opts...) 1121 return out, req.Send() 1122} 1123 1124const opCreateStreamingDistributionWithTags = "CreateStreamingDistributionWithTags2019_03_26" 1125 1126// CreateStreamingDistributionWithTagsRequest generates a "aws/request.Request" representing the 1127// client's request for the CreateStreamingDistributionWithTags operation. The "output" return 1128// value will be populated with the request's response once the request completes 1129// successfully. 1130// 1131// Use "Send" method on the returned Request to send the API call to the service. 1132// the "output" return value is not valid until after Send returns without error. 1133// 1134// See CreateStreamingDistributionWithTags for more information on using the CreateStreamingDistributionWithTags 1135// API call, and error handling. 1136// 1137// This method is useful when you want to inject custom logic or configuration 1138// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1139// 1140// 1141// // Example sending a request using the CreateStreamingDistributionWithTagsRequest method. 1142// req, resp := client.CreateStreamingDistributionWithTagsRequest(params) 1143// 1144// err := req.Send() 1145// if err == nil { // resp is now filled 1146// fmt.Println(resp) 1147// } 1148// 1149// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags 1150func (c *CloudFront) CreateStreamingDistributionWithTagsRequest(input *CreateStreamingDistributionWithTagsInput) (req *request.Request, output *CreateStreamingDistributionWithTagsOutput) { 1151 op := &request.Operation{ 1152 Name: opCreateStreamingDistributionWithTags, 1153 HTTPMethod: "POST", 1154 HTTPPath: "/2019-03-26/streaming-distribution?WithTags", 1155 } 1156 1157 if input == nil { 1158 input = &CreateStreamingDistributionWithTagsInput{} 1159 } 1160 1161 output = &CreateStreamingDistributionWithTagsOutput{} 1162 req = c.newRequest(op, input, output) 1163 return 1164} 1165 1166// CreateStreamingDistributionWithTags API operation for Amazon CloudFront. 1167// 1168// Create a new streaming distribution with tags. 1169// 1170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1171// with awserr.Error's Code and Message methods to get detailed information about 1172// the error. 1173// 1174// See the AWS API reference guide for Amazon CloudFront's 1175// API operation CreateStreamingDistributionWithTags for usage and error information. 1176// 1177// Returned Error Codes: 1178// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 1179// The CNAME specified is already defined for CloudFront. 1180// 1181// * ErrCodeStreamingDistributionAlreadyExists "StreamingDistributionAlreadyExists" 1182// The caller reference you attempted to create the streaming distribution with 1183// is associated with another distribution 1184// 1185// * ErrCodeInvalidOrigin "InvalidOrigin" 1186// The Amazon S3 origin server specified does not refer to a valid Amazon S3 1187// bucket. 1188// 1189// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 1190// The origin access identity is not valid or doesn't exist. 1191// 1192// * ErrCodeAccessDenied "AccessDenied" 1193// Access denied. 1194// 1195// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 1196// Your request contains more trusted signers than are allowed per distribution. 1197// 1198// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 1199// One or more of your trusted signers don't exist. 1200// 1201// * ErrCodeMissingBody "MissingBody" 1202// This operation requires a body. Ensure that the body is present and the Content-Type 1203// header is set. 1204// 1205// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 1206// Your request contains more CNAMEs than are allowed per distribution. 1207// 1208// * ErrCodeTooManyStreamingDistributions "TooManyStreamingDistributions" 1209// Processing your request would cause you to exceed the maximum number of streaming 1210// distributions allowed. 1211// 1212// * ErrCodeInvalidArgument "InvalidArgument" 1213// The argument is invalid. 1214// 1215// * ErrCodeInconsistentQuantities "InconsistentQuantities" 1216// The value of Quantity and the size of Items don't match. 1217// 1218// * ErrCodeInvalidTagging "InvalidTagging" 1219// Tagging specified in the response body is not valid. 1220// 1221// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/CreateStreamingDistributionWithTags 1222func (c *CloudFront) CreateStreamingDistributionWithTags(input *CreateStreamingDistributionWithTagsInput) (*CreateStreamingDistributionWithTagsOutput, error) { 1223 req, out := c.CreateStreamingDistributionWithTagsRequest(input) 1224 return out, req.Send() 1225} 1226 1227// CreateStreamingDistributionWithTagsWithContext is the same as CreateStreamingDistributionWithTags with the addition of 1228// the ability to pass a context and additional request options. 1229// 1230// See CreateStreamingDistributionWithTags for details on how to use this API operation. 1231// 1232// The context must be non-nil and will be used for request cancellation. If 1233// the context is nil a panic will occur. In the future the SDK may create 1234// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1235// for more information on using Contexts. 1236func (c *CloudFront) CreateStreamingDistributionWithTagsWithContext(ctx aws.Context, input *CreateStreamingDistributionWithTagsInput, opts ...request.Option) (*CreateStreamingDistributionWithTagsOutput, error) { 1237 req, out := c.CreateStreamingDistributionWithTagsRequest(input) 1238 req.SetContext(ctx) 1239 req.ApplyOptions(opts...) 1240 return out, req.Send() 1241} 1242 1243const opDeleteCloudFrontOriginAccessIdentity = "DeleteCloudFrontOriginAccessIdentity2019_03_26" 1244 1245// DeleteCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 1246// client's request for the DeleteCloudFrontOriginAccessIdentity operation. The "output" return 1247// value will be populated with the request's response once the request completes 1248// successfully. 1249// 1250// Use "Send" method on the returned Request to send the API call to the service. 1251// the "output" return value is not valid until after Send returns without error. 1252// 1253// See DeleteCloudFrontOriginAccessIdentity for more information on using the DeleteCloudFrontOriginAccessIdentity 1254// API call, and error handling. 1255// 1256// This method is useful when you want to inject custom logic or configuration 1257// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1258// 1259// 1260// // Example sending a request using the DeleteCloudFrontOriginAccessIdentityRequest method. 1261// req, resp := client.DeleteCloudFrontOriginAccessIdentityRequest(params) 1262// 1263// err := req.Send() 1264// if err == nil { // resp is now filled 1265// fmt.Println(resp) 1266// } 1267// 1268// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity 1269func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityRequest(input *DeleteCloudFrontOriginAccessIdentityInput) (req *request.Request, output *DeleteCloudFrontOriginAccessIdentityOutput) { 1270 op := &request.Operation{ 1271 Name: opDeleteCloudFrontOriginAccessIdentity, 1272 HTTPMethod: "DELETE", 1273 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", 1274 } 1275 1276 if input == nil { 1277 input = &DeleteCloudFrontOriginAccessIdentityInput{} 1278 } 1279 1280 output = &DeleteCloudFrontOriginAccessIdentityOutput{} 1281 req = c.newRequest(op, input, output) 1282 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1283 return 1284} 1285 1286// DeleteCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 1287// 1288// Delete an origin access identity. 1289// 1290// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1291// with awserr.Error's Code and Message methods to get detailed information about 1292// the error. 1293// 1294// See the AWS API reference guide for Amazon CloudFront's 1295// API operation DeleteCloudFrontOriginAccessIdentity for usage and error information. 1296// 1297// Returned Error Codes: 1298// * ErrCodeAccessDenied "AccessDenied" 1299// Access denied. 1300// 1301// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1302// The If-Match version is missing or not valid for the distribution. 1303// 1304// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 1305// The specified origin access identity does not exist. 1306// 1307// * ErrCodePreconditionFailed "PreconditionFailed" 1308// The precondition given in one or more of the request-header fields evaluated 1309// to false. 1310// 1311// * ErrCodeOriginAccessIdentityInUse "CloudFrontOriginAccessIdentityInUse" 1312// The Origin Access Identity specified is already in use. 1313// 1314// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteCloudFrontOriginAccessIdentity 1315func (c *CloudFront) DeleteCloudFrontOriginAccessIdentity(input *DeleteCloudFrontOriginAccessIdentityInput) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { 1316 req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) 1317 return out, req.Send() 1318} 1319 1320// DeleteCloudFrontOriginAccessIdentityWithContext is the same as DeleteCloudFrontOriginAccessIdentity with the addition of 1321// the ability to pass a context and additional request options. 1322// 1323// See DeleteCloudFrontOriginAccessIdentity for details on how to use this API operation. 1324// 1325// The context must be non-nil and will be used for request cancellation. If 1326// the context is nil a panic will occur. In the future the SDK may create 1327// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1328// for more information on using Contexts. 1329func (c *CloudFront) DeleteCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *DeleteCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*DeleteCloudFrontOriginAccessIdentityOutput, error) { 1330 req, out := c.DeleteCloudFrontOriginAccessIdentityRequest(input) 1331 req.SetContext(ctx) 1332 req.ApplyOptions(opts...) 1333 return out, req.Send() 1334} 1335 1336const opDeleteDistribution = "DeleteDistribution2019_03_26" 1337 1338// DeleteDistributionRequest generates a "aws/request.Request" representing the 1339// client's request for the DeleteDistribution operation. The "output" return 1340// value will be populated with the request's response once the request completes 1341// successfully. 1342// 1343// Use "Send" method on the returned Request to send the API call to the service. 1344// the "output" return value is not valid until after Send returns without error. 1345// 1346// See DeleteDistribution for more information on using the DeleteDistribution 1347// API call, and error handling. 1348// 1349// This method is useful when you want to inject custom logic or configuration 1350// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1351// 1352// 1353// // Example sending a request using the DeleteDistributionRequest method. 1354// req, resp := client.DeleteDistributionRequest(params) 1355// 1356// err := req.Send() 1357// if err == nil { // resp is now filled 1358// fmt.Println(resp) 1359// } 1360// 1361// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution 1362func (c *CloudFront) DeleteDistributionRequest(input *DeleteDistributionInput) (req *request.Request, output *DeleteDistributionOutput) { 1363 op := &request.Operation{ 1364 Name: opDeleteDistribution, 1365 HTTPMethod: "DELETE", 1366 HTTPPath: "/2019-03-26/distribution/{Id}", 1367 } 1368 1369 if input == nil { 1370 input = &DeleteDistributionInput{} 1371 } 1372 1373 output = &DeleteDistributionOutput{} 1374 req = c.newRequest(op, input, output) 1375 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1376 return 1377} 1378 1379// DeleteDistribution API operation for Amazon CloudFront. 1380// 1381// Delete a distribution. 1382// 1383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1384// with awserr.Error's Code and Message methods to get detailed information about 1385// the error. 1386// 1387// See the AWS API reference guide for Amazon CloudFront's 1388// API operation DeleteDistribution for usage and error information. 1389// 1390// Returned Error Codes: 1391// * ErrCodeAccessDenied "AccessDenied" 1392// Access denied. 1393// 1394// * ErrCodeDistributionNotDisabled "DistributionNotDisabled" 1395// The specified CloudFront distribution is not disabled. You must disable the 1396// distribution before you can delete it. 1397// 1398// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1399// The If-Match version is missing or not valid for the distribution. 1400// 1401// * ErrCodeNoSuchDistribution "NoSuchDistribution" 1402// The specified distribution does not exist. 1403// 1404// * ErrCodePreconditionFailed "PreconditionFailed" 1405// The precondition given in one or more of the request-header fields evaluated 1406// to false. 1407// 1408// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteDistribution 1409func (c *CloudFront) DeleteDistribution(input *DeleteDistributionInput) (*DeleteDistributionOutput, error) { 1410 req, out := c.DeleteDistributionRequest(input) 1411 return out, req.Send() 1412} 1413 1414// DeleteDistributionWithContext is the same as DeleteDistribution with the addition of 1415// the ability to pass a context and additional request options. 1416// 1417// See DeleteDistribution for details on how to use this API operation. 1418// 1419// The context must be non-nil and will be used for request cancellation. If 1420// the context is nil a panic will occur. In the future the SDK may create 1421// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1422// for more information on using Contexts. 1423func (c *CloudFront) DeleteDistributionWithContext(ctx aws.Context, input *DeleteDistributionInput, opts ...request.Option) (*DeleteDistributionOutput, error) { 1424 req, out := c.DeleteDistributionRequest(input) 1425 req.SetContext(ctx) 1426 req.ApplyOptions(opts...) 1427 return out, req.Send() 1428} 1429 1430const opDeleteFieldLevelEncryptionConfig = "DeleteFieldLevelEncryptionConfig2019_03_26" 1431 1432// DeleteFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 1433// client's request for the DeleteFieldLevelEncryptionConfig operation. The "output" return 1434// value will be populated with the request's response once the request completes 1435// successfully. 1436// 1437// Use "Send" method on the returned Request to send the API call to the service. 1438// the "output" return value is not valid until after Send returns without error. 1439// 1440// See DeleteFieldLevelEncryptionConfig for more information on using the DeleteFieldLevelEncryptionConfig 1441// API call, and error handling. 1442// 1443// This method is useful when you want to inject custom logic or configuration 1444// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1445// 1446// 1447// // Example sending a request using the DeleteFieldLevelEncryptionConfigRequest method. 1448// req, resp := client.DeleteFieldLevelEncryptionConfigRequest(params) 1449// 1450// err := req.Send() 1451// if err == nil { // resp is now filled 1452// fmt.Println(resp) 1453// } 1454// 1455// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig 1456func (c *CloudFront) DeleteFieldLevelEncryptionConfigRequest(input *DeleteFieldLevelEncryptionConfigInput) (req *request.Request, output *DeleteFieldLevelEncryptionConfigOutput) { 1457 op := &request.Operation{ 1458 Name: opDeleteFieldLevelEncryptionConfig, 1459 HTTPMethod: "DELETE", 1460 HTTPPath: "/2019-03-26/field-level-encryption/{Id}", 1461 } 1462 1463 if input == nil { 1464 input = &DeleteFieldLevelEncryptionConfigInput{} 1465 } 1466 1467 output = &DeleteFieldLevelEncryptionConfigOutput{} 1468 req = c.newRequest(op, input, output) 1469 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1470 return 1471} 1472 1473// DeleteFieldLevelEncryptionConfig API operation for Amazon CloudFront. 1474// 1475// Remove a field-level encryption configuration. 1476// 1477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1478// with awserr.Error's Code and Message methods to get detailed information about 1479// the error. 1480// 1481// See the AWS API reference guide for Amazon CloudFront's 1482// API operation DeleteFieldLevelEncryptionConfig for usage and error information. 1483// 1484// Returned Error Codes: 1485// * ErrCodeAccessDenied "AccessDenied" 1486// Access denied. 1487// 1488// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1489// The If-Match version is missing or not valid for the distribution. 1490// 1491// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 1492// The specified configuration for field-level encryption doesn't exist. 1493// 1494// * ErrCodePreconditionFailed "PreconditionFailed" 1495// The precondition given in one or more of the request-header fields evaluated 1496// to false. 1497// 1498// * ErrCodeFieldLevelEncryptionConfigInUse "FieldLevelEncryptionConfigInUse" 1499// The specified configuration for field-level encryption is in use. 1500// 1501// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionConfig 1502func (c *CloudFront) DeleteFieldLevelEncryptionConfig(input *DeleteFieldLevelEncryptionConfigInput) (*DeleteFieldLevelEncryptionConfigOutput, error) { 1503 req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) 1504 return out, req.Send() 1505} 1506 1507// DeleteFieldLevelEncryptionConfigWithContext is the same as DeleteFieldLevelEncryptionConfig with the addition of 1508// the ability to pass a context and additional request options. 1509// 1510// See DeleteFieldLevelEncryptionConfig for details on how to use this API operation. 1511// 1512// The context must be non-nil and will be used for request cancellation. If 1513// the context is nil a panic will occur. In the future the SDK may create 1514// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1515// for more information on using Contexts. 1516func (c *CloudFront) DeleteFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *DeleteFieldLevelEncryptionConfigInput, opts ...request.Option) (*DeleteFieldLevelEncryptionConfigOutput, error) { 1517 req, out := c.DeleteFieldLevelEncryptionConfigRequest(input) 1518 req.SetContext(ctx) 1519 req.ApplyOptions(opts...) 1520 return out, req.Send() 1521} 1522 1523const opDeleteFieldLevelEncryptionProfile = "DeleteFieldLevelEncryptionProfile2019_03_26" 1524 1525// DeleteFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 1526// client's request for the DeleteFieldLevelEncryptionProfile operation. The "output" return 1527// value will be populated with the request's response once the request completes 1528// successfully. 1529// 1530// Use "Send" method on the returned Request to send the API call to the service. 1531// the "output" return value is not valid until after Send returns without error. 1532// 1533// See DeleteFieldLevelEncryptionProfile for more information on using the DeleteFieldLevelEncryptionProfile 1534// API call, and error handling. 1535// 1536// This method is useful when you want to inject custom logic or configuration 1537// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1538// 1539// 1540// // Example sending a request using the DeleteFieldLevelEncryptionProfileRequest method. 1541// req, resp := client.DeleteFieldLevelEncryptionProfileRequest(params) 1542// 1543// err := req.Send() 1544// if err == nil { // resp is now filled 1545// fmt.Println(resp) 1546// } 1547// 1548// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile 1549func (c *CloudFront) DeleteFieldLevelEncryptionProfileRequest(input *DeleteFieldLevelEncryptionProfileInput) (req *request.Request, output *DeleteFieldLevelEncryptionProfileOutput) { 1550 op := &request.Operation{ 1551 Name: opDeleteFieldLevelEncryptionProfile, 1552 HTTPMethod: "DELETE", 1553 HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", 1554 } 1555 1556 if input == nil { 1557 input = &DeleteFieldLevelEncryptionProfileInput{} 1558 } 1559 1560 output = &DeleteFieldLevelEncryptionProfileOutput{} 1561 req = c.newRequest(op, input, output) 1562 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1563 return 1564} 1565 1566// DeleteFieldLevelEncryptionProfile API operation for Amazon CloudFront. 1567// 1568// Remove a field-level encryption profile. 1569// 1570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1571// with awserr.Error's Code and Message methods to get detailed information about 1572// the error. 1573// 1574// See the AWS API reference guide for Amazon CloudFront's 1575// API operation DeleteFieldLevelEncryptionProfile for usage and error information. 1576// 1577// Returned Error Codes: 1578// * ErrCodeAccessDenied "AccessDenied" 1579// Access denied. 1580// 1581// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1582// The If-Match version is missing or not valid for the distribution. 1583// 1584// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 1585// The specified profile for field-level encryption doesn't exist. 1586// 1587// * ErrCodePreconditionFailed "PreconditionFailed" 1588// The precondition given in one or more of the request-header fields evaluated 1589// to false. 1590// 1591// * ErrCodeFieldLevelEncryptionProfileInUse "FieldLevelEncryptionProfileInUse" 1592// The specified profile for field-level encryption is in use. 1593// 1594// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteFieldLevelEncryptionProfile 1595func (c *CloudFront) DeleteFieldLevelEncryptionProfile(input *DeleteFieldLevelEncryptionProfileInput) (*DeleteFieldLevelEncryptionProfileOutput, error) { 1596 req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) 1597 return out, req.Send() 1598} 1599 1600// DeleteFieldLevelEncryptionProfileWithContext is the same as DeleteFieldLevelEncryptionProfile with the addition of 1601// the ability to pass a context and additional request options. 1602// 1603// See DeleteFieldLevelEncryptionProfile for details on how to use this API operation. 1604// 1605// The context must be non-nil and will be used for request cancellation. If 1606// the context is nil a panic will occur. In the future the SDK may create 1607// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1608// for more information on using Contexts. 1609func (c *CloudFront) DeleteFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *DeleteFieldLevelEncryptionProfileInput, opts ...request.Option) (*DeleteFieldLevelEncryptionProfileOutput, error) { 1610 req, out := c.DeleteFieldLevelEncryptionProfileRequest(input) 1611 req.SetContext(ctx) 1612 req.ApplyOptions(opts...) 1613 return out, req.Send() 1614} 1615 1616const opDeletePublicKey = "DeletePublicKey2019_03_26" 1617 1618// DeletePublicKeyRequest generates a "aws/request.Request" representing the 1619// client's request for the DeletePublicKey operation. The "output" return 1620// value will be populated with the request's response once the request completes 1621// successfully. 1622// 1623// Use "Send" method on the returned Request to send the API call to the service. 1624// the "output" return value is not valid until after Send returns without error. 1625// 1626// See DeletePublicKey for more information on using the DeletePublicKey 1627// API call, and error handling. 1628// 1629// This method is useful when you want to inject custom logic or configuration 1630// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1631// 1632// 1633// // Example sending a request using the DeletePublicKeyRequest method. 1634// req, resp := client.DeletePublicKeyRequest(params) 1635// 1636// err := req.Send() 1637// if err == nil { // resp is now filled 1638// fmt.Println(resp) 1639// } 1640// 1641// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey 1642func (c *CloudFront) DeletePublicKeyRequest(input *DeletePublicKeyInput) (req *request.Request, output *DeletePublicKeyOutput) { 1643 op := &request.Operation{ 1644 Name: opDeletePublicKey, 1645 HTTPMethod: "DELETE", 1646 HTTPPath: "/2019-03-26/public-key/{Id}", 1647 } 1648 1649 if input == nil { 1650 input = &DeletePublicKeyInput{} 1651 } 1652 1653 output = &DeletePublicKeyOutput{} 1654 req = c.newRequest(op, input, output) 1655 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1656 return 1657} 1658 1659// DeletePublicKey API operation for Amazon CloudFront. 1660// 1661// Remove a public key you previously added to CloudFront. 1662// 1663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1664// with awserr.Error's Code and Message methods to get detailed information about 1665// the error. 1666// 1667// See the AWS API reference guide for Amazon CloudFront's 1668// API operation DeletePublicKey for usage and error information. 1669// 1670// Returned Error Codes: 1671// * ErrCodeAccessDenied "AccessDenied" 1672// Access denied. 1673// 1674// * ErrCodePublicKeyInUse "PublicKeyInUse" 1675// The specified public key is in use. 1676// 1677// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1678// The If-Match version is missing or not valid for the distribution. 1679// 1680// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 1681// The specified public key doesn't exist. 1682// 1683// * ErrCodePreconditionFailed "PreconditionFailed" 1684// The precondition given in one or more of the request-header fields evaluated 1685// to false. 1686// 1687// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeletePublicKey 1688func (c *CloudFront) DeletePublicKey(input *DeletePublicKeyInput) (*DeletePublicKeyOutput, error) { 1689 req, out := c.DeletePublicKeyRequest(input) 1690 return out, req.Send() 1691} 1692 1693// DeletePublicKeyWithContext is the same as DeletePublicKey with the addition of 1694// the ability to pass a context and additional request options. 1695// 1696// See DeletePublicKey for details on how to use this API operation. 1697// 1698// The context must be non-nil and will be used for request cancellation. If 1699// the context is nil a panic will occur. In the future the SDK may create 1700// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1701// for more information on using Contexts. 1702func (c *CloudFront) DeletePublicKeyWithContext(ctx aws.Context, input *DeletePublicKeyInput, opts ...request.Option) (*DeletePublicKeyOutput, error) { 1703 req, out := c.DeletePublicKeyRequest(input) 1704 req.SetContext(ctx) 1705 req.ApplyOptions(opts...) 1706 return out, req.Send() 1707} 1708 1709const opDeleteStreamingDistribution = "DeleteStreamingDistribution2019_03_26" 1710 1711// DeleteStreamingDistributionRequest generates a "aws/request.Request" representing the 1712// client's request for the DeleteStreamingDistribution operation. The "output" return 1713// value will be populated with the request's response once the request completes 1714// successfully. 1715// 1716// Use "Send" method on the returned Request to send the API call to the service. 1717// the "output" return value is not valid until after Send returns without error. 1718// 1719// See DeleteStreamingDistribution for more information on using the DeleteStreamingDistribution 1720// API call, and error handling. 1721// 1722// This method is useful when you want to inject custom logic or configuration 1723// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1724// 1725// 1726// // Example sending a request using the DeleteStreamingDistributionRequest method. 1727// req, resp := client.DeleteStreamingDistributionRequest(params) 1728// 1729// err := req.Send() 1730// if err == nil { // resp is now filled 1731// fmt.Println(resp) 1732// } 1733// 1734// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution 1735func (c *CloudFront) DeleteStreamingDistributionRequest(input *DeleteStreamingDistributionInput) (req *request.Request, output *DeleteStreamingDistributionOutput) { 1736 op := &request.Operation{ 1737 Name: opDeleteStreamingDistribution, 1738 HTTPMethod: "DELETE", 1739 HTTPPath: "/2019-03-26/streaming-distribution/{Id}", 1740 } 1741 1742 if input == nil { 1743 input = &DeleteStreamingDistributionInput{} 1744 } 1745 1746 output = &DeleteStreamingDistributionOutput{} 1747 req = c.newRequest(op, input, output) 1748 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1749 return 1750} 1751 1752// DeleteStreamingDistribution API operation for Amazon CloudFront. 1753// 1754// Delete a streaming distribution. To delete an RTMP distribution using the 1755// CloudFront API, perform the following steps. 1756// 1757// To delete an RTMP distribution using the CloudFront API: 1758// 1759// Disable the RTMP distribution. 1760// 1761// Submit a GET Streaming Distribution Config request to get the current configuration 1762// and the Etag header for the distribution. 1763// 1764// Update the XML document that was returned in the response to your GET Streaming 1765// Distribution Config request to change the value of Enabled to false. 1766// 1767// Submit a PUT Streaming Distribution Config request to update the configuration 1768// for your distribution. In the request body, include the XML document that 1769// you updated in Step 3. Then set the value of the HTTP If-Match header to 1770// the value of the ETag header that CloudFront returned when you submitted 1771// the GET Streaming Distribution Config request in Step 2. 1772// 1773// Review the response to the PUT Streaming Distribution Config request to confirm 1774// that the distribution was successfully disabled. 1775// 1776// Submit a GET Streaming Distribution Config request to confirm that your changes 1777// have propagated. When propagation is complete, the value of Status is Deployed. 1778// 1779// Submit a DELETE Streaming Distribution request. Set the value of the HTTP 1780// If-Match header to the value of the ETag header that CloudFront returned 1781// when you submitted the GET Streaming Distribution Config request in Step 1782// 2. 1783// 1784// Review the response to your DELETE Streaming Distribution request to confirm 1785// that the distribution was successfully deleted. 1786// 1787// For information about deleting a distribution using the CloudFront console, 1788// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) 1789// in the Amazon CloudFront Developer Guide. 1790// 1791// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1792// with awserr.Error's Code and Message methods to get detailed information about 1793// the error. 1794// 1795// See the AWS API reference guide for Amazon CloudFront's 1796// API operation DeleteStreamingDistribution for usage and error information. 1797// 1798// Returned Error Codes: 1799// * ErrCodeAccessDenied "AccessDenied" 1800// Access denied. 1801// 1802// * ErrCodeStreamingDistributionNotDisabled "StreamingDistributionNotDisabled" 1803// The specified CloudFront distribution is not disabled. You must disable the 1804// distribution before you can delete it. 1805// 1806// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 1807// The If-Match version is missing or not valid for the distribution. 1808// 1809// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 1810// The specified streaming distribution does not exist. 1811// 1812// * ErrCodePreconditionFailed "PreconditionFailed" 1813// The precondition given in one or more of the request-header fields evaluated 1814// to false. 1815// 1816// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/DeleteStreamingDistribution 1817func (c *CloudFront) DeleteStreamingDistribution(input *DeleteStreamingDistributionInput) (*DeleteStreamingDistributionOutput, error) { 1818 req, out := c.DeleteStreamingDistributionRequest(input) 1819 return out, req.Send() 1820} 1821 1822// DeleteStreamingDistributionWithContext is the same as DeleteStreamingDistribution with the addition of 1823// the ability to pass a context and additional request options. 1824// 1825// See DeleteStreamingDistribution for details on how to use this API operation. 1826// 1827// The context must be non-nil and will be used for request cancellation. If 1828// the context is nil a panic will occur. In the future the SDK may create 1829// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1830// for more information on using Contexts. 1831func (c *CloudFront) DeleteStreamingDistributionWithContext(ctx aws.Context, input *DeleteStreamingDistributionInput, opts ...request.Option) (*DeleteStreamingDistributionOutput, error) { 1832 req, out := c.DeleteStreamingDistributionRequest(input) 1833 req.SetContext(ctx) 1834 req.ApplyOptions(opts...) 1835 return out, req.Send() 1836} 1837 1838const opGetCloudFrontOriginAccessIdentity = "GetCloudFrontOriginAccessIdentity2019_03_26" 1839 1840// GetCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 1841// client's request for the GetCloudFrontOriginAccessIdentity operation. The "output" return 1842// value will be populated with the request's response once the request completes 1843// successfully. 1844// 1845// Use "Send" method on the returned Request to send the API call to the service. 1846// the "output" return value is not valid until after Send returns without error. 1847// 1848// See GetCloudFrontOriginAccessIdentity for more information on using the GetCloudFrontOriginAccessIdentity 1849// API call, and error handling. 1850// 1851// This method is useful when you want to inject custom logic or configuration 1852// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1853// 1854// 1855// // Example sending a request using the GetCloudFrontOriginAccessIdentityRequest method. 1856// req, resp := client.GetCloudFrontOriginAccessIdentityRequest(params) 1857// 1858// err := req.Send() 1859// if err == nil { // resp is now filled 1860// fmt.Println(resp) 1861// } 1862// 1863// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity 1864func (c *CloudFront) GetCloudFrontOriginAccessIdentityRequest(input *GetCloudFrontOriginAccessIdentityInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityOutput) { 1865 op := &request.Operation{ 1866 Name: opGetCloudFrontOriginAccessIdentity, 1867 HTTPMethod: "GET", 1868 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}", 1869 } 1870 1871 if input == nil { 1872 input = &GetCloudFrontOriginAccessIdentityInput{} 1873 } 1874 1875 output = &GetCloudFrontOriginAccessIdentityOutput{} 1876 req = c.newRequest(op, input, output) 1877 return 1878} 1879 1880// GetCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 1881// 1882// Get the information about an origin access identity. 1883// 1884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1885// with awserr.Error's Code and Message methods to get detailed information about 1886// the error. 1887// 1888// See the AWS API reference guide for Amazon CloudFront's 1889// API operation GetCloudFrontOriginAccessIdentity for usage and error information. 1890// 1891// Returned Error Codes: 1892// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 1893// The specified origin access identity does not exist. 1894// 1895// * ErrCodeAccessDenied "AccessDenied" 1896// Access denied. 1897// 1898// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentity 1899func (c *CloudFront) GetCloudFrontOriginAccessIdentity(input *GetCloudFrontOriginAccessIdentityInput) (*GetCloudFrontOriginAccessIdentityOutput, error) { 1900 req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) 1901 return out, req.Send() 1902} 1903 1904// GetCloudFrontOriginAccessIdentityWithContext is the same as GetCloudFrontOriginAccessIdentity with the addition of 1905// the ability to pass a context and additional request options. 1906// 1907// See GetCloudFrontOriginAccessIdentity for details on how to use this API operation. 1908// 1909// The context must be non-nil and will be used for request cancellation. If 1910// the context is nil a panic will occur. In the future the SDK may create 1911// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1912// for more information on using Contexts. 1913func (c *CloudFront) GetCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *GetCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*GetCloudFrontOriginAccessIdentityOutput, error) { 1914 req, out := c.GetCloudFrontOriginAccessIdentityRequest(input) 1915 req.SetContext(ctx) 1916 req.ApplyOptions(opts...) 1917 return out, req.Send() 1918} 1919 1920const opGetCloudFrontOriginAccessIdentityConfig = "GetCloudFrontOriginAccessIdentityConfig2019_03_26" 1921 1922// GetCloudFrontOriginAccessIdentityConfigRequest generates a "aws/request.Request" representing the 1923// client's request for the GetCloudFrontOriginAccessIdentityConfig operation. The "output" return 1924// value will be populated with the request's response once the request completes 1925// successfully. 1926// 1927// Use "Send" method on the returned Request to send the API call to the service. 1928// the "output" return value is not valid until after Send returns without error. 1929// 1930// See GetCloudFrontOriginAccessIdentityConfig for more information on using the GetCloudFrontOriginAccessIdentityConfig 1931// API call, and error handling. 1932// 1933// This method is useful when you want to inject custom logic or configuration 1934// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1935// 1936// 1937// // Example sending a request using the GetCloudFrontOriginAccessIdentityConfigRequest method. 1938// req, resp := client.GetCloudFrontOriginAccessIdentityConfigRequest(params) 1939// 1940// err := req.Send() 1941// if err == nil { // resp is now filled 1942// fmt.Println(resp) 1943// } 1944// 1945// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig 1946func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigRequest(input *GetCloudFrontOriginAccessIdentityConfigInput) (req *request.Request, output *GetCloudFrontOriginAccessIdentityConfigOutput) { 1947 op := &request.Operation{ 1948 Name: opGetCloudFrontOriginAccessIdentityConfig, 1949 HTTPMethod: "GET", 1950 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", 1951 } 1952 1953 if input == nil { 1954 input = &GetCloudFrontOriginAccessIdentityConfigInput{} 1955 } 1956 1957 output = &GetCloudFrontOriginAccessIdentityConfigOutput{} 1958 req = c.newRequest(op, input, output) 1959 return 1960} 1961 1962// GetCloudFrontOriginAccessIdentityConfig API operation for Amazon CloudFront. 1963// 1964// Get the configuration information about an origin access identity. 1965// 1966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1967// with awserr.Error's Code and Message methods to get detailed information about 1968// the error. 1969// 1970// See the AWS API reference guide for Amazon CloudFront's 1971// API operation GetCloudFrontOriginAccessIdentityConfig for usage and error information. 1972// 1973// Returned Error Codes: 1974// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 1975// The specified origin access identity does not exist. 1976// 1977// * ErrCodeAccessDenied "AccessDenied" 1978// Access denied. 1979// 1980// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetCloudFrontOriginAccessIdentityConfig 1981func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfig(input *GetCloudFrontOriginAccessIdentityConfigInput) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { 1982 req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) 1983 return out, req.Send() 1984} 1985 1986// GetCloudFrontOriginAccessIdentityConfigWithContext is the same as GetCloudFrontOriginAccessIdentityConfig with the addition of 1987// the ability to pass a context and additional request options. 1988// 1989// See GetCloudFrontOriginAccessIdentityConfig for details on how to use this API operation. 1990// 1991// The context must be non-nil and will be used for request cancellation. If 1992// the context is nil a panic will occur. In the future the SDK may create 1993// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1994// for more information on using Contexts. 1995func (c *CloudFront) GetCloudFrontOriginAccessIdentityConfigWithContext(ctx aws.Context, input *GetCloudFrontOriginAccessIdentityConfigInput, opts ...request.Option) (*GetCloudFrontOriginAccessIdentityConfigOutput, error) { 1996 req, out := c.GetCloudFrontOriginAccessIdentityConfigRequest(input) 1997 req.SetContext(ctx) 1998 req.ApplyOptions(opts...) 1999 return out, req.Send() 2000} 2001 2002const opGetDistribution = "GetDistribution2019_03_26" 2003 2004// GetDistributionRequest generates a "aws/request.Request" representing the 2005// client's request for the GetDistribution operation. The "output" return 2006// value will be populated with the request's response once the request completes 2007// successfully. 2008// 2009// Use "Send" method on the returned Request to send the API call to the service. 2010// the "output" return value is not valid until after Send returns without error. 2011// 2012// See GetDistribution for more information on using the GetDistribution 2013// API call, and error handling. 2014// 2015// This method is useful when you want to inject custom logic or configuration 2016// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2017// 2018// 2019// // Example sending a request using the GetDistributionRequest method. 2020// req, resp := client.GetDistributionRequest(params) 2021// 2022// err := req.Send() 2023// if err == nil { // resp is now filled 2024// fmt.Println(resp) 2025// } 2026// 2027// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution 2028func (c *CloudFront) GetDistributionRequest(input *GetDistributionInput) (req *request.Request, output *GetDistributionOutput) { 2029 op := &request.Operation{ 2030 Name: opGetDistribution, 2031 HTTPMethod: "GET", 2032 HTTPPath: "/2019-03-26/distribution/{Id}", 2033 } 2034 2035 if input == nil { 2036 input = &GetDistributionInput{} 2037 } 2038 2039 output = &GetDistributionOutput{} 2040 req = c.newRequest(op, input, output) 2041 return 2042} 2043 2044// GetDistribution API operation for Amazon CloudFront. 2045// 2046// Get the information about a distribution. 2047// 2048// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2049// with awserr.Error's Code and Message methods to get detailed information about 2050// the error. 2051// 2052// See the AWS API reference guide for Amazon CloudFront's 2053// API operation GetDistribution for usage and error information. 2054// 2055// Returned Error Codes: 2056// * ErrCodeNoSuchDistribution "NoSuchDistribution" 2057// The specified distribution does not exist. 2058// 2059// * ErrCodeAccessDenied "AccessDenied" 2060// Access denied. 2061// 2062// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistribution 2063func (c *CloudFront) GetDistribution(input *GetDistributionInput) (*GetDistributionOutput, error) { 2064 req, out := c.GetDistributionRequest(input) 2065 return out, req.Send() 2066} 2067 2068// GetDistributionWithContext is the same as GetDistribution with the addition of 2069// the ability to pass a context and additional request options. 2070// 2071// See GetDistribution for details on how to use this API operation. 2072// 2073// The context must be non-nil and will be used for request cancellation. If 2074// the context is nil a panic will occur. In the future the SDK may create 2075// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2076// for more information on using Contexts. 2077func (c *CloudFront) GetDistributionWithContext(ctx aws.Context, input *GetDistributionInput, opts ...request.Option) (*GetDistributionOutput, error) { 2078 req, out := c.GetDistributionRequest(input) 2079 req.SetContext(ctx) 2080 req.ApplyOptions(opts...) 2081 return out, req.Send() 2082} 2083 2084const opGetDistributionConfig = "GetDistributionConfig2019_03_26" 2085 2086// GetDistributionConfigRequest generates a "aws/request.Request" representing the 2087// client's request for the GetDistributionConfig operation. The "output" return 2088// value will be populated with the request's response once the request completes 2089// successfully. 2090// 2091// Use "Send" method on the returned Request to send the API call to the service. 2092// the "output" return value is not valid until after Send returns without error. 2093// 2094// See GetDistributionConfig for more information on using the GetDistributionConfig 2095// API call, and error handling. 2096// 2097// This method is useful when you want to inject custom logic or configuration 2098// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2099// 2100// 2101// // Example sending a request using the GetDistributionConfigRequest method. 2102// req, resp := client.GetDistributionConfigRequest(params) 2103// 2104// err := req.Send() 2105// if err == nil { // resp is now filled 2106// fmt.Println(resp) 2107// } 2108// 2109// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig 2110func (c *CloudFront) GetDistributionConfigRequest(input *GetDistributionConfigInput) (req *request.Request, output *GetDistributionConfigOutput) { 2111 op := &request.Operation{ 2112 Name: opGetDistributionConfig, 2113 HTTPMethod: "GET", 2114 HTTPPath: "/2019-03-26/distribution/{Id}/config", 2115 } 2116 2117 if input == nil { 2118 input = &GetDistributionConfigInput{} 2119 } 2120 2121 output = &GetDistributionConfigOutput{} 2122 req = c.newRequest(op, input, output) 2123 return 2124} 2125 2126// GetDistributionConfig API operation for Amazon CloudFront. 2127// 2128// Get the configuration information about a distribution. 2129// 2130// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2131// with awserr.Error's Code and Message methods to get detailed information about 2132// the error. 2133// 2134// See the AWS API reference guide for Amazon CloudFront's 2135// API operation GetDistributionConfig for usage and error information. 2136// 2137// Returned Error Codes: 2138// * ErrCodeNoSuchDistribution "NoSuchDistribution" 2139// The specified distribution does not exist. 2140// 2141// * ErrCodeAccessDenied "AccessDenied" 2142// Access denied. 2143// 2144// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetDistributionConfig 2145func (c *CloudFront) GetDistributionConfig(input *GetDistributionConfigInput) (*GetDistributionConfigOutput, error) { 2146 req, out := c.GetDistributionConfigRequest(input) 2147 return out, req.Send() 2148} 2149 2150// GetDistributionConfigWithContext is the same as GetDistributionConfig with the addition of 2151// the ability to pass a context and additional request options. 2152// 2153// See GetDistributionConfig for details on how to use this API operation. 2154// 2155// The context must be non-nil and will be used for request cancellation. If 2156// the context is nil a panic will occur. In the future the SDK may create 2157// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2158// for more information on using Contexts. 2159func (c *CloudFront) GetDistributionConfigWithContext(ctx aws.Context, input *GetDistributionConfigInput, opts ...request.Option) (*GetDistributionConfigOutput, error) { 2160 req, out := c.GetDistributionConfigRequest(input) 2161 req.SetContext(ctx) 2162 req.ApplyOptions(opts...) 2163 return out, req.Send() 2164} 2165 2166const opGetFieldLevelEncryption = "GetFieldLevelEncryption2019_03_26" 2167 2168// GetFieldLevelEncryptionRequest generates a "aws/request.Request" representing the 2169// client's request for the GetFieldLevelEncryption operation. The "output" return 2170// value will be populated with the request's response once the request completes 2171// successfully. 2172// 2173// Use "Send" method on the returned Request to send the API call to the service. 2174// the "output" return value is not valid until after Send returns without error. 2175// 2176// See GetFieldLevelEncryption for more information on using the GetFieldLevelEncryption 2177// API call, and error handling. 2178// 2179// This method is useful when you want to inject custom logic or configuration 2180// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2181// 2182// 2183// // Example sending a request using the GetFieldLevelEncryptionRequest method. 2184// req, resp := client.GetFieldLevelEncryptionRequest(params) 2185// 2186// err := req.Send() 2187// if err == nil { // resp is now filled 2188// fmt.Println(resp) 2189// } 2190// 2191// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption 2192func (c *CloudFront) GetFieldLevelEncryptionRequest(input *GetFieldLevelEncryptionInput) (req *request.Request, output *GetFieldLevelEncryptionOutput) { 2193 op := &request.Operation{ 2194 Name: opGetFieldLevelEncryption, 2195 HTTPMethod: "GET", 2196 HTTPPath: "/2019-03-26/field-level-encryption/{Id}", 2197 } 2198 2199 if input == nil { 2200 input = &GetFieldLevelEncryptionInput{} 2201 } 2202 2203 output = &GetFieldLevelEncryptionOutput{} 2204 req = c.newRequest(op, input, output) 2205 return 2206} 2207 2208// GetFieldLevelEncryption API operation for Amazon CloudFront. 2209// 2210// Get the field-level encryption configuration information. 2211// 2212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2213// with awserr.Error's Code and Message methods to get detailed information about 2214// the error. 2215// 2216// See the AWS API reference guide for Amazon CloudFront's 2217// API operation GetFieldLevelEncryption for usage and error information. 2218// 2219// Returned Error Codes: 2220// * ErrCodeAccessDenied "AccessDenied" 2221// Access denied. 2222// 2223// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 2224// The specified configuration for field-level encryption doesn't exist. 2225// 2226// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryption 2227func (c *CloudFront) GetFieldLevelEncryption(input *GetFieldLevelEncryptionInput) (*GetFieldLevelEncryptionOutput, error) { 2228 req, out := c.GetFieldLevelEncryptionRequest(input) 2229 return out, req.Send() 2230} 2231 2232// GetFieldLevelEncryptionWithContext is the same as GetFieldLevelEncryption with the addition of 2233// the ability to pass a context and additional request options. 2234// 2235// See GetFieldLevelEncryption for details on how to use this API operation. 2236// 2237// The context must be non-nil and will be used for request cancellation. If 2238// the context is nil a panic will occur. In the future the SDK may create 2239// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2240// for more information on using Contexts. 2241func (c *CloudFront) GetFieldLevelEncryptionWithContext(ctx aws.Context, input *GetFieldLevelEncryptionInput, opts ...request.Option) (*GetFieldLevelEncryptionOutput, error) { 2242 req, out := c.GetFieldLevelEncryptionRequest(input) 2243 req.SetContext(ctx) 2244 req.ApplyOptions(opts...) 2245 return out, req.Send() 2246} 2247 2248const opGetFieldLevelEncryptionConfig = "GetFieldLevelEncryptionConfig2019_03_26" 2249 2250// GetFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 2251// client's request for the GetFieldLevelEncryptionConfig operation. The "output" return 2252// value will be populated with the request's response once the request completes 2253// successfully. 2254// 2255// Use "Send" method on the returned Request to send the API call to the service. 2256// the "output" return value is not valid until after Send returns without error. 2257// 2258// See GetFieldLevelEncryptionConfig for more information on using the GetFieldLevelEncryptionConfig 2259// API call, and error handling. 2260// 2261// This method is useful when you want to inject custom logic or configuration 2262// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2263// 2264// 2265// // Example sending a request using the GetFieldLevelEncryptionConfigRequest method. 2266// req, resp := client.GetFieldLevelEncryptionConfigRequest(params) 2267// 2268// err := req.Send() 2269// if err == nil { // resp is now filled 2270// fmt.Println(resp) 2271// } 2272// 2273// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig 2274func (c *CloudFront) GetFieldLevelEncryptionConfigRequest(input *GetFieldLevelEncryptionConfigInput) (req *request.Request, output *GetFieldLevelEncryptionConfigOutput) { 2275 op := &request.Operation{ 2276 Name: opGetFieldLevelEncryptionConfig, 2277 HTTPMethod: "GET", 2278 HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", 2279 } 2280 2281 if input == nil { 2282 input = &GetFieldLevelEncryptionConfigInput{} 2283 } 2284 2285 output = &GetFieldLevelEncryptionConfigOutput{} 2286 req = c.newRequest(op, input, output) 2287 return 2288} 2289 2290// GetFieldLevelEncryptionConfig API operation for Amazon CloudFront. 2291// 2292// Get the field-level encryption configuration information. 2293// 2294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2295// with awserr.Error's Code and Message methods to get detailed information about 2296// the error. 2297// 2298// See the AWS API reference guide for Amazon CloudFront's 2299// API operation GetFieldLevelEncryptionConfig for usage and error information. 2300// 2301// Returned Error Codes: 2302// * ErrCodeAccessDenied "AccessDenied" 2303// Access denied. 2304// 2305// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 2306// The specified configuration for field-level encryption doesn't exist. 2307// 2308// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionConfig 2309func (c *CloudFront) GetFieldLevelEncryptionConfig(input *GetFieldLevelEncryptionConfigInput) (*GetFieldLevelEncryptionConfigOutput, error) { 2310 req, out := c.GetFieldLevelEncryptionConfigRequest(input) 2311 return out, req.Send() 2312} 2313 2314// GetFieldLevelEncryptionConfigWithContext is the same as GetFieldLevelEncryptionConfig with the addition of 2315// the ability to pass a context and additional request options. 2316// 2317// See GetFieldLevelEncryptionConfig for details on how to use this API operation. 2318// 2319// The context must be non-nil and will be used for request cancellation. If 2320// the context is nil a panic will occur. In the future the SDK may create 2321// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2322// for more information on using Contexts. 2323func (c *CloudFront) GetFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *GetFieldLevelEncryptionConfigInput, opts ...request.Option) (*GetFieldLevelEncryptionConfigOutput, error) { 2324 req, out := c.GetFieldLevelEncryptionConfigRequest(input) 2325 req.SetContext(ctx) 2326 req.ApplyOptions(opts...) 2327 return out, req.Send() 2328} 2329 2330const opGetFieldLevelEncryptionProfile = "GetFieldLevelEncryptionProfile2019_03_26" 2331 2332// GetFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 2333// client's request for the GetFieldLevelEncryptionProfile operation. The "output" return 2334// value will be populated with the request's response once the request completes 2335// successfully. 2336// 2337// Use "Send" method on the returned Request to send the API call to the service. 2338// the "output" return value is not valid until after Send returns without error. 2339// 2340// See GetFieldLevelEncryptionProfile for more information on using the GetFieldLevelEncryptionProfile 2341// API call, and error handling. 2342// 2343// This method is useful when you want to inject custom logic or configuration 2344// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2345// 2346// 2347// // Example sending a request using the GetFieldLevelEncryptionProfileRequest method. 2348// req, resp := client.GetFieldLevelEncryptionProfileRequest(params) 2349// 2350// err := req.Send() 2351// if err == nil { // resp is now filled 2352// fmt.Println(resp) 2353// } 2354// 2355// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile 2356func (c *CloudFront) GetFieldLevelEncryptionProfileRequest(input *GetFieldLevelEncryptionProfileInput) (req *request.Request, output *GetFieldLevelEncryptionProfileOutput) { 2357 op := &request.Operation{ 2358 Name: opGetFieldLevelEncryptionProfile, 2359 HTTPMethod: "GET", 2360 HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}", 2361 } 2362 2363 if input == nil { 2364 input = &GetFieldLevelEncryptionProfileInput{} 2365 } 2366 2367 output = &GetFieldLevelEncryptionProfileOutput{} 2368 req = c.newRequest(op, input, output) 2369 return 2370} 2371 2372// GetFieldLevelEncryptionProfile API operation for Amazon CloudFront. 2373// 2374// Get the field-level encryption profile information. 2375// 2376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2377// with awserr.Error's Code and Message methods to get detailed information about 2378// the error. 2379// 2380// See the AWS API reference guide for Amazon CloudFront's 2381// API operation GetFieldLevelEncryptionProfile for usage and error information. 2382// 2383// Returned Error Codes: 2384// * ErrCodeAccessDenied "AccessDenied" 2385// Access denied. 2386// 2387// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 2388// The specified profile for field-level encryption doesn't exist. 2389// 2390// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfile 2391func (c *CloudFront) GetFieldLevelEncryptionProfile(input *GetFieldLevelEncryptionProfileInput) (*GetFieldLevelEncryptionProfileOutput, error) { 2392 req, out := c.GetFieldLevelEncryptionProfileRequest(input) 2393 return out, req.Send() 2394} 2395 2396// GetFieldLevelEncryptionProfileWithContext is the same as GetFieldLevelEncryptionProfile with the addition of 2397// the ability to pass a context and additional request options. 2398// 2399// See GetFieldLevelEncryptionProfile for details on how to use this API operation. 2400// 2401// The context must be non-nil and will be used for request cancellation. If 2402// the context is nil a panic will occur. In the future the SDK may create 2403// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2404// for more information on using Contexts. 2405func (c *CloudFront) GetFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *GetFieldLevelEncryptionProfileInput, opts ...request.Option) (*GetFieldLevelEncryptionProfileOutput, error) { 2406 req, out := c.GetFieldLevelEncryptionProfileRequest(input) 2407 req.SetContext(ctx) 2408 req.ApplyOptions(opts...) 2409 return out, req.Send() 2410} 2411 2412const opGetFieldLevelEncryptionProfileConfig = "GetFieldLevelEncryptionProfileConfig2019_03_26" 2413 2414// GetFieldLevelEncryptionProfileConfigRequest generates a "aws/request.Request" representing the 2415// client's request for the GetFieldLevelEncryptionProfileConfig operation. The "output" return 2416// value will be populated with the request's response once the request completes 2417// successfully. 2418// 2419// Use "Send" method on the returned Request to send the API call to the service. 2420// the "output" return value is not valid until after Send returns without error. 2421// 2422// See GetFieldLevelEncryptionProfileConfig for more information on using the GetFieldLevelEncryptionProfileConfig 2423// API call, and error handling. 2424// 2425// This method is useful when you want to inject custom logic or configuration 2426// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2427// 2428// 2429// // Example sending a request using the GetFieldLevelEncryptionProfileConfigRequest method. 2430// req, resp := client.GetFieldLevelEncryptionProfileConfigRequest(params) 2431// 2432// err := req.Send() 2433// if err == nil { // resp is now filled 2434// fmt.Println(resp) 2435// } 2436// 2437// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig 2438func (c *CloudFront) GetFieldLevelEncryptionProfileConfigRequest(input *GetFieldLevelEncryptionProfileConfigInput) (req *request.Request, output *GetFieldLevelEncryptionProfileConfigOutput) { 2439 op := &request.Operation{ 2440 Name: opGetFieldLevelEncryptionProfileConfig, 2441 HTTPMethod: "GET", 2442 HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", 2443 } 2444 2445 if input == nil { 2446 input = &GetFieldLevelEncryptionProfileConfigInput{} 2447 } 2448 2449 output = &GetFieldLevelEncryptionProfileConfigOutput{} 2450 req = c.newRequest(op, input, output) 2451 return 2452} 2453 2454// GetFieldLevelEncryptionProfileConfig API operation for Amazon CloudFront. 2455// 2456// Get the field-level encryption profile configuration information. 2457// 2458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2459// with awserr.Error's Code and Message methods to get detailed information about 2460// the error. 2461// 2462// See the AWS API reference guide for Amazon CloudFront's 2463// API operation GetFieldLevelEncryptionProfileConfig for usage and error information. 2464// 2465// Returned Error Codes: 2466// * ErrCodeAccessDenied "AccessDenied" 2467// Access denied. 2468// 2469// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 2470// The specified profile for field-level encryption doesn't exist. 2471// 2472// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetFieldLevelEncryptionProfileConfig 2473func (c *CloudFront) GetFieldLevelEncryptionProfileConfig(input *GetFieldLevelEncryptionProfileConfigInput) (*GetFieldLevelEncryptionProfileConfigOutput, error) { 2474 req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) 2475 return out, req.Send() 2476} 2477 2478// GetFieldLevelEncryptionProfileConfigWithContext is the same as GetFieldLevelEncryptionProfileConfig with the addition of 2479// the ability to pass a context and additional request options. 2480// 2481// See GetFieldLevelEncryptionProfileConfig for details on how to use this API operation. 2482// 2483// The context must be non-nil and will be used for request cancellation. If 2484// the context is nil a panic will occur. In the future the SDK may create 2485// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2486// for more information on using Contexts. 2487func (c *CloudFront) GetFieldLevelEncryptionProfileConfigWithContext(ctx aws.Context, input *GetFieldLevelEncryptionProfileConfigInput, opts ...request.Option) (*GetFieldLevelEncryptionProfileConfigOutput, error) { 2488 req, out := c.GetFieldLevelEncryptionProfileConfigRequest(input) 2489 req.SetContext(ctx) 2490 req.ApplyOptions(opts...) 2491 return out, req.Send() 2492} 2493 2494const opGetInvalidation = "GetInvalidation2019_03_26" 2495 2496// GetInvalidationRequest generates a "aws/request.Request" representing the 2497// client's request for the GetInvalidation operation. The "output" return 2498// value will be populated with the request's response once the request completes 2499// successfully. 2500// 2501// Use "Send" method on the returned Request to send the API call to the service. 2502// the "output" return value is not valid until after Send returns without error. 2503// 2504// See GetInvalidation for more information on using the GetInvalidation 2505// API call, and error handling. 2506// 2507// This method is useful when you want to inject custom logic or configuration 2508// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2509// 2510// 2511// // Example sending a request using the GetInvalidationRequest method. 2512// req, resp := client.GetInvalidationRequest(params) 2513// 2514// err := req.Send() 2515// if err == nil { // resp is now filled 2516// fmt.Println(resp) 2517// } 2518// 2519// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation 2520func (c *CloudFront) GetInvalidationRequest(input *GetInvalidationInput) (req *request.Request, output *GetInvalidationOutput) { 2521 op := &request.Operation{ 2522 Name: opGetInvalidation, 2523 HTTPMethod: "GET", 2524 HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation/{Id}", 2525 } 2526 2527 if input == nil { 2528 input = &GetInvalidationInput{} 2529 } 2530 2531 output = &GetInvalidationOutput{} 2532 req = c.newRequest(op, input, output) 2533 return 2534} 2535 2536// GetInvalidation API operation for Amazon CloudFront. 2537// 2538// Get the information about an invalidation. 2539// 2540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2541// with awserr.Error's Code and Message methods to get detailed information about 2542// the error. 2543// 2544// See the AWS API reference guide for Amazon CloudFront's 2545// API operation GetInvalidation for usage and error information. 2546// 2547// Returned Error Codes: 2548// * ErrCodeNoSuchInvalidation "NoSuchInvalidation" 2549// The specified invalidation does not exist. 2550// 2551// * ErrCodeNoSuchDistribution "NoSuchDistribution" 2552// The specified distribution does not exist. 2553// 2554// * ErrCodeAccessDenied "AccessDenied" 2555// Access denied. 2556// 2557// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetInvalidation 2558func (c *CloudFront) GetInvalidation(input *GetInvalidationInput) (*GetInvalidationOutput, error) { 2559 req, out := c.GetInvalidationRequest(input) 2560 return out, req.Send() 2561} 2562 2563// GetInvalidationWithContext is the same as GetInvalidation with the addition of 2564// the ability to pass a context and additional request options. 2565// 2566// See GetInvalidation for details on how to use this API operation. 2567// 2568// The context must be non-nil and will be used for request cancellation. If 2569// the context is nil a panic will occur. In the future the SDK may create 2570// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2571// for more information on using Contexts. 2572func (c *CloudFront) GetInvalidationWithContext(ctx aws.Context, input *GetInvalidationInput, opts ...request.Option) (*GetInvalidationOutput, error) { 2573 req, out := c.GetInvalidationRequest(input) 2574 req.SetContext(ctx) 2575 req.ApplyOptions(opts...) 2576 return out, req.Send() 2577} 2578 2579const opGetPublicKey = "GetPublicKey2019_03_26" 2580 2581// GetPublicKeyRequest generates a "aws/request.Request" representing the 2582// client's request for the GetPublicKey operation. The "output" return 2583// value will be populated with the request's response once the request completes 2584// successfully. 2585// 2586// Use "Send" method on the returned Request to send the API call to the service. 2587// the "output" return value is not valid until after Send returns without error. 2588// 2589// See GetPublicKey for more information on using the GetPublicKey 2590// API call, and error handling. 2591// 2592// This method is useful when you want to inject custom logic or configuration 2593// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2594// 2595// 2596// // Example sending a request using the GetPublicKeyRequest method. 2597// req, resp := client.GetPublicKeyRequest(params) 2598// 2599// err := req.Send() 2600// if err == nil { // resp is now filled 2601// fmt.Println(resp) 2602// } 2603// 2604// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey 2605func (c *CloudFront) GetPublicKeyRequest(input *GetPublicKeyInput) (req *request.Request, output *GetPublicKeyOutput) { 2606 op := &request.Operation{ 2607 Name: opGetPublicKey, 2608 HTTPMethod: "GET", 2609 HTTPPath: "/2019-03-26/public-key/{Id}", 2610 } 2611 2612 if input == nil { 2613 input = &GetPublicKeyInput{} 2614 } 2615 2616 output = &GetPublicKeyOutput{} 2617 req = c.newRequest(op, input, output) 2618 return 2619} 2620 2621// GetPublicKey API operation for Amazon CloudFront. 2622// 2623// Get the public key information. 2624// 2625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2626// with awserr.Error's Code and Message methods to get detailed information about 2627// the error. 2628// 2629// See the AWS API reference guide for Amazon CloudFront's 2630// API operation GetPublicKey for usage and error information. 2631// 2632// Returned Error Codes: 2633// * ErrCodeAccessDenied "AccessDenied" 2634// Access denied. 2635// 2636// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 2637// The specified public key doesn't exist. 2638// 2639// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKey 2640func (c *CloudFront) GetPublicKey(input *GetPublicKeyInput) (*GetPublicKeyOutput, error) { 2641 req, out := c.GetPublicKeyRequest(input) 2642 return out, req.Send() 2643} 2644 2645// GetPublicKeyWithContext is the same as GetPublicKey with the addition of 2646// the ability to pass a context and additional request options. 2647// 2648// See GetPublicKey for details on how to use this API operation. 2649// 2650// The context must be non-nil and will be used for request cancellation. If 2651// the context is nil a panic will occur. In the future the SDK may create 2652// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2653// for more information on using Contexts. 2654func (c *CloudFront) GetPublicKeyWithContext(ctx aws.Context, input *GetPublicKeyInput, opts ...request.Option) (*GetPublicKeyOutput, error) { 2655 req, out := c.GetPublicKeyRequest(input) 2656 req.SetContext(ctx) 2657 req.ApplyOptions(opts...) 2658 return out, req.Send() 2659} 2660 2661const opGetPublicKeyConfig = "GetPublicKeyConfig2019_03_26" 2662 2663// GetPublicKeyConfigRequest generates a "aws/request.Request" representing the 2664// client's request for the GetPublicKeyConfig operation. The "output" return 2665// value will be populated with the request's response once the request completes 2666// successfully. 2667// 2668// Use "Send" method on the returned Request to send the API call to the service. 2669// the "output" return value is not valid until after Send returns without error. 2670// 2671// See GetPublicKeyConfig for more information on using the GetPublicKeyConfig 2672// API call, and error handling. 2673// 2674// This method is useful when you want to inject custom logic or configuration 2675// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2676// 2677// 2678// // Example sending a request using the GetPublicKeyConfigRequest method. 2679// req, resp := client.GetPublicKeyConfigRequest(params) 2680// 2681// err := req.Send() 2682// if err == nil { // resp is now filled 2683// fmt.Println(resp) 2684// } 2685// 2686// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig 2687func (c *CloudFront) GetPublicKeyConfigRequest(input *GetPublicKeyConfigInput) (req *request.Request, output *GetPublicKeyConfigOutput) { 2688 op := &request.Operation{ 2689 Name: opGetPublicKeyConfig, 2690 HTTPMethod: "GET", 2691 HTTPPath: "/2019-03-26/public-key/{Id}/config", 2692 } 2693 2694 if input == nil { 2695 input = &GetPublicKeyConfigInput{} 2696 } 2697 2698 output = &GetPublicKeyConfigOutput{} 2699 req = c.newRequest(op, input, output) 2700 return 2701} 2702 2703// GetPublicKeyConfig API operation for Amazon CloudFront. 2704// 2705// Return public key configuration informaation 2706// 2707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2708// with awserr.Error's Code and Message methods to get detailed information about 2709// the error. 2710// 2711// See the AWS API reference guide for Amazon CloudFront's 2712// API operation GetPublicKeyConfig for usage and error information. 2713// 2714// Returned Error Codes: 2715// * ErrCodeAccessDenied "AccessDenied" 2716// Access denied. 2717// 2718// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 2719// The specified public key doesn't exist. 2720// 2721// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetPublicKeyConfig 2722func (c *CloudFront) GetPublicKeyConfig(input *GetPublicKeyConfigInput) (*GetPublicKeyConfigOutput, error) { 2723 req, out := c.GetPublicKeyConfigRequest(input) 2724 return out, req.Send() 2725} 2726 2727// GetPublicKeyConfigWithContext is the same as GetPublicKeyConfig with the addition of 2728// the ability to pass a context and additional request options. 2729// 2730// See GetPublicKeyConfig for details on how to use this API operation. 2731// 2732// The context must be non-nil and will be used for request cancellation. If 2733// the context is nil a panic will occur. In the future the SDK may create 2734// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2735// for more information on using Contexts. 2736func (c *CloudFront) GetPublicKeyConfigWithContext(ctx aws.Context, input *GetPublicKeyConfigInput, opts ...request.Option) (*GetPublicKeyConfigOutput, error) { 2737 req, out := c.GetPublicKeyConfigRequest(input) 2738 req.SetContext(ctx) 2739 req.ApplyOptions(opts...) 2740 return out, req.Send() 2741} 2742 2743const opGetStreamingDistribution = "GetStreamingDistribution2019_03_26" 2744 2745// GetStreamingDistributionRequest generates a "aws/request.Request" representing the 2746// client's request for the GetStreamingDistribution operation. The "output" return 2747// value will be populated with the request's response once the request completes 2748// successfully. 2749// 2750// Use "Send" method on the returned Request to send the API call to the service. 2751// the "output" return value is not valid until after Send returns without error. 2752// 2753// See GetStreamingDistribution for more information on using the GetStreamingDistribution 2754// API call, and error handling. 2755// 2756// This method is useful when you want to inject custom logic or configuration 2757// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2758// 2759// 2760// // Example sending a request using the GetStreamingDistributionRequest method. 2761// req, resp := client.GetStreamingDistributionRequest(params) 2762// 2763// err := req.Send() 2764// if err == nil { // resp is now filled 2765// fmt.Println(resp) 2766// } 2767// 2768// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution 2769func (c *CloudFront) GetStreamingDistributionRequest(input *GetStreamingDistributionInput) (req *request.Request, output *GetStreamingDistributionOutput) { 2770 op := &request.Operation{ 2771 Name: opGetStreamingDistribution, 2772 HTTPMethod: "GET", 2773 HTTPPath: "/2019-03-26/streaming-distribution/{Id}", 2774 } 2775 2776 if input == nil { 2777 input = &GetStreamingDistributionInput{} 2778 } 2779 2780 output = &GetStreamingDistributionOutput{} 2781 req = c.newRequest(op, input, output) 2782 return 2783} 2784 2785// GetStreamingDistribution API operation for Amazon CloudFront. 2786// 2787// Gets information about a specified RTMP distribution, including the distribution 2788// configuration. 2789// 2790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2791// with awserr.Error's Code and Message methods to get detailed information about 2792// the error. 2793// 2794// See the AWS API reference guide for Amazon CloudFront's 2795// API operation GetStreamingDistribution for usage and error information. 2796// 2797// Returned Error Codes: 2798// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 2799// The specified streaming distribution does not exist. 2800// 2801// * ErrCodeAccessDenied "AccessDenied" 2802// Access denied. 2803// 2804// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistribution 2805func (c *CloudFront) GetStreamingDistribution(input *GetStreamingDistributionInput) (*GetStreamingDistributionOutput, error) { 2806 req, out := c.GetStreamingDistributionRequest(input) 2807 return out, req.Send() 2808} 2809 2810// GetStreamingDistributionWithContext is the same as GetStreamingDistribution with the addition of 2811// the ability to pass a context and additional request options. 2812// 2813// See GetStreamingDistribution for details on how to use this API operation. 2814// 2815// The context must be non-nil and will be used for request cancellation. If 2816// the context is nil a panic will occur. In the future the SDK may create 2817// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2818// for more information on using Contexts. 2819func (c *CloudFront) GetStreamingDistributionWithContext(ctx aws.Context, input *GetStreamingDistributionInput, opts ...request.Option) (*GetStreamingDistributionOutput, error) { 2820 req, out := c.GetStreamingDistributionRequest(input) 2821 req.SetContext(ctx) 2822 req.ApplyOptions(opts...) 2823 return out, req.Send() 2824} 2825 2826const opGetStreamingDistributionConfig = "GetStreamingDistributionConfig2019_03_26" 2827 2828// GetStreamingDistributionConfigRequest generates a "aws/request.Request" representing the 2829// client's request for the GetStreamingDistributionConfig operation. The "output" return 2830// value will be populated with the request's response once the request completes 2831// successfully. 2832// 2833// Use "Send" method on the returned Request to send the API call to the service. 2834// the "output" return value is not valid until after Send returns without error. 2835// 2836// See GetStreamingDistributionConfig for more information on using the GetStreamingDistributionConfig 2837// API call, and error handling. 2838// 2839// This method is useful when you want to inject custom logic or configuration 2840// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2841// 2842// 2843// // Example sending a request using the GetStreamingDistributionConfigRequest method. 2844// req, resp := client.GetStreamingDistributionConfigRequest(params) 2845// 2846// err := req.Send() 2847// if err == nil { // resp is now filled 2848// fmt.Println(resp) 2849// } 2850// 2851// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig 2852func (c *CloudFront) GetStreamingDistributionConfigRequest(input *GetStreamingDistributionConfigInput) (req *request.Request, output *GetStreamingDistributionConfigOutput) { 2853 op := &request.Operation{ 2854 Name: opGetStreamingDistributionConfig, 2855 HTTPMethod: "GET", 2856 HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", 2857 } 2858 2859 if input == nil { 2860 input = &GetStreamingDistributionConfigInput{} 2861 } 2862 2863 output = &GetStreamingDistributionConfigOutput{} 2864 req = c.newRequest(op, input, output) 2865 return 2866} 2867 2868// GetStreamingDistributionConfig API operation for Amazon CloudFront. 2869// 2870// Get the configuration information about a streaming distribution. 2871// 2872// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2873// with awserr.Error's Code and Message methods to get detailed information about 2874// the error. 2875// 2876// See the AWS API reference guide for Amazon CloudFront's 2877// API operation GetStreamingDistributionConfig for usage and error information. 2878// 2879// Returned Error Codes: 2880// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 2881// The specified streaming distribution does not exist. 2882// 2883// * ErrCodeAccessDenied "AccessDenied" 2884// Access denied. 2885// 2886// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/GetStreamingDistributionConfig 2887func (c *CloudFront) GetStreamingDistributionConfig(input *GetStreamingDistributionConfigInput) (*GetStreamingDistributionConfigOutput, error) { 2888 req, out := c.GetStreamingDistributionConfigRequest(input) 2889 return out, req.Send() 2890} 2891 2892// GetStreamingDistributionConfigWithContext is the same as GetStreamingDistributionConfig with the addition of 2893// the ability to pass a context and additional request options. 2894// 2895// See GetStreamingDistributionConfig for details on how to use this API operation. 2896// 2897// The context must be non-nil and will be used for request cancellation. If 2898// the context is nil a panic will occur. In the future the SDK may create 2899// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2900// for more information on using Contexts. 2901func (c *CloudFront) GetStreamingDistributionConfigWithContext(ctx aws.Context, input *GetStreamingDistributionConfigInput, opts ...request.Option) (*GetStreamingDistributionConfigOutput, error) { 2902 req, out := c.GetStreamingDistributionConfigRequest(input) 2903 req.SetContext(ctx) 2904 req.ApplyOptions(opts...) 2905 return out, req.Send() 2906} 2907 2908const opListCloudFrontOriginAccessIdentities = "ListCloudFrontOriginAccessIdentities2019_03_26" 2909 2910// ListCloudFrontOriginAccessIdentitiesRequest generates a "aws/request.Request" representing the 2911// client's request for the ListCloudFrontOriginAccessIdentities operation. The "output" return 2912// value will be populated with the request's response once the request completes 2913// successfully. 2914// 2915// Use "Send" method on the returned Request to send the API call to the service. 2916// the "output" return value is not valid until after Send returns without error. 2917// 2918// See ListCloudFrontOriginAccessIdentities for more information on using the ListCloudFrontOriginAccessIdentities 2919// API call, and error handling. 2920// 2921// This method is useful when you want to inject custom logic or configuration 2922// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2923// 2924// 2925// // Example sending a request using the ListCloudFrontOriginAccessIdentitiesRequest method. 2926// req, resp := client.ListCloudFrontOriginAccessIdentitiesRequest(params) 2927// 2928// err := req.Send() 2929// if err == nil { // resp is now filled 2930// fmt.Println(resp) 2931// } 2932// 2933// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities 2934func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesRequest(input *ListCloudFrontOriginAccessIdentitiesInput) (req *request.Request, output *ListCloudFrontOriginAccessIdentitiesOutput) { 2935 op := &request.Operation{ 2936 Name: opListCloudFrontOriginAccessIdentities, 2937 HTTPMethod: "GET", 2938 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront", 2939 Paginator: &request.Paginator{ 2940 InputTokens: []string{"Marker"}, 2941 OutputTokens: []string{"CloudFrontOriginAccessIdentityList.NextMarker"}, 2942 LimitToken: "MaxItems", 2943 TruncationToken: "CloudFrontOriginAccessIdentityList.IsTruncated", 2944 }, 2945 } 2946 2947 if input == nil { 2948 input = &ListCloudFrontOriginAccessIdentitiesInput{} 2949 } 2950 2951 output = &ListCloudFrontOriginAccessIdentitiesOutput{} 2952 req = c.newRequest(op, input, output) 2953 return 2954} 2955 2956// ListCloudFrontOriginAccessIdentities API operation for Amazon CloudFront. 2957// 2958// Lists origin access identities. 2959// 2960// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2961// with awserr.Error's Code and Message methods to get detailed information about 2962// the error. 2963// 2964// See the AWS API reference guide for Amazon CloudFront's 2965// API operation ListCloudFrontOriginAccessIdentities for usage and error information. 2966// 2967// Returned Error Codes: 2968// * ErrCodeInvalidArgument "InvalidArgument" 2969// The argument is invalid. 2970// 2971// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListCloudFrontOriginAccessIdentities 2972func (c *CloudFront) ListCloudFrontOriginAccessIdentities(input *ListCloudFrontOriginAccessIdentitiesInput) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { 2973 req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) 2974 return out, req.Send() 2975} 2976 2977// ListCloudFrontOriginAccessIdentitiesWithContext is the same as ListCloudFrontOriginAccessIdentities with the addition of 2978// the ability to pass a context and additional request options. 2979// 2980// See ListCloudFrontOriginAccessIdentities for details on how to use this API operation. 2981// 2982// The context must be non-nil and will be used for request cancellation. If 2983// the context is nil a panic will occur. In the future the SDK may create 2984// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2985// for more information on using Contexts. 2986func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesWithContext(ctx aws.Context, input *ListCloudFrontOriginAccessIdentitiesInput, opts ...request.Option) (*ListCloudFrontOriginAccessIdentitiesOutput, error) { 2987 req, out := c.ListCloudFrontOriginAccessIdentitiesRequest(input) 2988 req.SetContext(ctx) 2989 req.ApplyOptions(opts...) 2990 return out, req.Send() 2991} 2992 2993// ListCloudFrontOriginAccessIdentitiesPages iterates over the pages of a ListCloudFrontOriginAccessIdentities operation, 2994// calling the "fn" function with the response data for each page. To stop 2995// iterating, return false from the fn function. 2996// 2997// See ListCloudFrontOriginAccessIdentities method for more information on how to use this operation. 2998// 2999// Note: This operation can generate multiple requests to a service. 3000// 3001// // Example iterating over at most 3 pages of a ListCloudFrontOriginAccessIdentities operation. 3002// pageNum := 0 3003// err := client.ListCloudFrontOriginAccessIdentitiesPages(params, 3004// func(page *cloudfront.ListCloudFrontOriginAccessIdentitiesOutput, lastPage bool) bool { 3005// pageNum++ 3006// fmt.Println(page) 3007// return pageNum <= 3 3008// }) 3009// 3010func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPages(input *ListCloudFrontOriginAccessIdentitiesInput, fn func(*ListCloudFrontOriginAccessIdentitiesOutput, bool) bool) error { 3011 return c.ListCloudFrontOriginAccessIdentitiesPagesWithContext(aws.BackgroundContext(), input, fn) 3012} 3013 3014// ListCloudFrontOriginAccessIdentitiesPagesWithContext same as ListCloudFrontOriginAccessIdentitiesPages except 3015// it takes a Context and allows setting request options on the pages. 3016// 3017// The context must be non-nil and will be used for request cancellation. If 3018// the context is nil a panic will occur. In the future the SDK may create 3019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3020// for more information on using Contexts. 3021func (c *CloudFront) ListCloudFrontOriginAccessIdentitiesPagesWithContext(ctx aws.Context, input *ListCloudFrontOriginAccessIdentitiesInput, fn func(*ListCloudFrontOriginAccessIdentitiesOutput, bool) bool, opts ...request.Option) error { 3022 p := request.Pagination{ 3023 NewRequest: func() (*request.Request, error) { 3024 var inCpy *ListCloudFrontOriginAccessIdentitiesInput 3025 if input != nil { 3026 tmp := *input 3027 inCpy = &tmp 3028 } 3029 req, _ := c.ListCloudFrontOriginAccessIdentitiesRequest(inCpy) 3030 req.SetContext(ctx) 3031 req.ApplyOptions(opts...) 3032 return req, nil 3033 }, 3034 } 3035 3036 for p.Next() { 3037 if !fn(p.Page().(*ListCloudFrontOriginAccessIdentitiesOutput), !p.HasNextPage()) { 3038 break 3039 } 3040 } 3041 3042 return p.Err() 3043} 3044 3045const opListDistributions = "ListDistributions2019_03_26" 3046 3047// ListDistributionsRequest generates a "aws/request.Request" representing the 3048// client's request for the ListDistributions operation. The "output" return 3049// value will be populated with the request's response once the request completes 3050// successfully. 3051// 3052// Use "Send" method on the returned Request to send the API call to the service. 3053// the "output" return value is not valid until after Send returns without error. 3054// 3055// See ListDistributions for more information on using the ListDistributions 3056// API call, and error handling. 3057// 3058// This method is useful when you want to inject custom logic or configuration 3059// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3060// 3061// 3062// // Example sending a request using the ListDistributionsRequest method. 3063// req, resp := client.ListDistributionsRequest(params) 3064// 3065// err := req.Send() 3066// if err == nil { // resp is now filled 3067// fmt.Println(resp) 3068// } 3069// 3070// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions 3071func (c *CloudFront) ListDistributionsRequest(input *ListDistributionsInput) (req *request.Request, output *ListDistributionsOutput) { 3072 op := &request.Operation{ 3073 Name: opListDistributions, 3074 HTTPMethod: "GET", 3075 HTTPPath: "/2019-03-26/distribution", 3076 Paginator: &request.Paginator{ 3077 InputTokens: []string{"Marker"}, 3078 OutputTokens: []string{"DistributionList.NextMarker"}, 3079 LimitToken: "MaxItems", 3080 TruncationToken: "DistributionList.IsTruncated", 3081 }, 3082 } 3083 3084 if input == nil { 3085 input = &ListDistributionsInput{} 3086 } 3087 3088 output = &ListDistributionsOutput{} 3089 req = c.newRequest(op, input, output) 3090 return 3091} 3092 3093// ListDistributions API operation for Amazon CloudFront. 3094// 3095// List CloudFront distributions. 3096// 3097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3098// with awserr.Error's Code and Message methods to get detailed information about 3099// the error. 3100// 3101// See the AWS API reference guide for Amazon CloudFront's 3102// API operation ListDistributions for usage and error information. 3103// 3104// Returned Error Codes: 3105// * ErrCodeInvalidArgument "InvalidArgument" 3106// The argument is invalid. 3107// 3108// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributions 3109func (c *CloudFront) ListDistributions(input *ListDistributionsInput) (*ListDistributionsOutput, error) { 3110 req, out := c.ListDistributionsRequest(input) 3111 return out, req.Send() 3112} 3113 3114// ListDistributionsWithContext is the same as ListDistributions with the addition of 3115// the ability to pass a context and additional request options. 3116// 3117// See ListDistributions for details on how to use this API operation. 3118// 3119// The context must be non-nil and will be used for request cancellation. If 3120// the context is nil a panic will occur. In the future the SDK may create 3121// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3122// for more information on using Contexts. 3123func (c *CloudFront) ListDistributionsWithContext(ctx aws.Context, input *ListDistributionsInput, opts ...request.Option) (*ListDistributionsOutput, error) { 3124 req, out := c.ListDistributionsRequest(input) 3125 req.SetContext(ctx) 3126 req.ApplyOptions(opts...) 3127 return out, req.Send() 3128} 3129 3130// ListDistributionsPages iterates over the pages of a ListDistributions operation, 3131// calling the "fn" function with the response data for each page. To stop 3132// iterating, return false from the fn function. 3133// 3134// See ListDistributions method for more information on how to use this operation. 3135// 3136// Note: This operation can generate multiple requests to a service. 3137// 3138// // Example iterating over at most 3 pages of a ListDistributions operation. 3139// pageNum := 0 3140// err := client.ListDistributionsPages(params, 3141// func(page *cloudfront.ListDistributionsOutput, lastPage bool) bool { 3142// pageNum++ 3143// fmt.Println(page) 3144// return pageNum <= 3 3145// }) 3146// 3147func (c *CloudFront) ListDistributionsPages(input *ListDistributionsInput, fn func(*ListDistributionsOutput, bool) bool) error { 3148 return c.ListDistributionsPagesWithContext(aws.BackgroundContext(), input, fn) 3149} 3150 3151// ListDistributionsPagesWithContext same as ListDistributionsPages except 3152// it takes a Context and allows setting request options on the pages. 3153// 3154// The context must be non-nil and will be used for request cancellation. If 3155// the context is nil a panic will occur. In the future the SDK may create 3156// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3157// for more information on using Contexts. 3158func (c *CloudFront) ListDistributionsPagesWithContext(ctx aws.Context, input *ListDistributionsInput, fn func(*ListDistributionsOutput, bool) bool, opts ...request.Option) error { 3159 p := request.Pagination{ 3160 NewRequest: func() (*request.Request, error) { 3161 var inCpy *ListDistributionsInput 3162 if input != nil { 3163 tmp := *input 3164 inCpy = &tmp 3165 } 3166 req, _ := c.ListDistributionsRequest(inCpy) 3167 req.SetContext(ctx) 3168 req.ApplyOptions(opts...) 3169 return req, nil 3170 }, 3171 } 3172 3173 for p.Next() { 3174 if !fn(p.Page().(*ListDistributionsOutput), !p.HasNextPage()) { 3175 break 3176 } 3177 } 3178 3179 return p.Err() 3180} 3181 3182const opListDistributionsByWebACLId = "ListDistributionsByWebACLId2019_03_26" 3183 3184// ListDistributionsByWebACLIdRequest generates a "aws/request.Request" representing the 3185// client's request for the ListDistributionsByWebACLId operation. The "output" return 3186// value will be populated with the request's response once the request completes 3187// successfully. 3188// 3189// Use "Send" method on the returned Request to send the API call to the service. 3190// the "output" return value is not valid until after Send returns without error. 3191// 3192// See ListDistributionsByWebACLId for more information on using the ListDistributionsByWebACLId 3193// API call, and error handling. 3194// 3195// This method is useful when you want to inject custom logic or configuration 3196// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3197// 3198// 3199// // Example sending a request using the ListDistributionsByWebACLIdRequest method. 3200// req, resp := client.ListDistributionsByWebACLIdRequest(params) 3201// 3202// err := req.Send() 3203// if err == nil { // resp is now filled 3204// fmt.Println(resp) 3205// } 3206// 3207// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId 3208func (c *CloudFront) ListDistributionsByWebACLIdRequest(input *ListDistributionsByWebACLIdInput) (req *request.Request, output *ListDistributionsByWebACLIdOutput) { 3209 op := &request.Operation{ 3210 Name: opListDistributionsByWebACLId, 3211 HTTPMethod: "GET", 3212 HTTPPath: "/2019-03-26/distributionsByWebACLId/{WebACLId}", 3213 } 3214 3215 if input == nil { 3216 input = &ListDistributionsByWebACLIdInput{} 3217 } 3218 3219 output = &ListDistributionsByWebACLIdOutput{} 3220 req = c.newRequest(op, input, output) 3221 return 3222} 3223 3224// ListDistributionsByWebACLId API operation for Amazon CloudFront. 3225// 3226// List the distributions that are associated with a specified AWS WAF web ACL. 3227// 3228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3229// with awserr.Error's Code and Message methods to get detailed information about 3230// the error. 3231// 3232// See the AWS API reference guide for Amazon CloudFront's 3233// API operation ListDistributionsByWebACLId for usage and error information. 3234// 3235// Returned Error Codes: 3236// * ErrCodeInvalidArgument "InvalidArgument" 3237// The argument is invalid. 3238// 3239// * ErrCodeInvalidWebACLId "InvalidWebACLId" 3240// A web ACL ID specified in the response body is not valid. To specify a web 3241// ACL created using the latest version of AWS WAF, use the ACL ARN, for example 3242// arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 3243// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 3244// 473e64fd-f30b-4765-81a0-62ad96dd167a. 3245// 3246// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListDistributionsByWebACLId 3247func (c *CloudFront) ListDistributionsByWebACLId(input *ListDistributionsByWebACLIdInput) (*ListDistributionsByWebACLIdOutput, error) { 3248 req, out := c.ListDistributionsByWebACLIdRequest(input) 3249 return out, req.Send() 3250} 3251 3252// ListDistributionsByWebACLIdWithContext is the same as ListDistributionsByWebACLId with the addition of 3253// the ability to pass a context and additional request options. 3254// 3255// See ListDistributionsByWebACLId for details on how to use this API operation. 3256// 3257// The context must be non-nil and will be used for request cancellation. If 3258// the context is nil a panic will occur. In the future the SDK may create 3259// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3260// for more information on using Contexts. 3261func (c *CloudFront) ListDistributionsByWebACLIdWithContext(ctx aws.Context, input *ListDistributionsByWebACLIdInput, opts ...request.Option) (*ListDistributionsByWebACLIdOutput, error) { 3262 req, out := c.ListDistributionsByWebACLIdRequest(input) 3263 req.SetContext(ctx) 3264 req.ApplyOptions(opts...) 3265 return out, req.Send() 3266} 3267 3268const opListFieldLevelEncryptionConfigs = "ListFieldLevelEncryptionConfigs2019_03_26" 3269 3270// ListFieldLevelEncryptionConfigsRequest generates a "aws/request.Request" representing the 3271// client's request for the ListFieldLevelEncryptionConfigs operation. The "output" return 3272// value will be populated with the request's response once the request completes 3273// successfully. 3274// 3275// Use "Send" method on the returned Request to send the API call to the service. 3276// the "output" return value is not valid until after Send returns without error. 3277// 3278// See ListFieldLevelEncryptionConfigs for more information on using the ListFieldLevelEncryptionConfigs 3279// API call, and error handling. 3280// 3281// This method is useful when you want to inject custom logic or configuration 3282// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3283// 3284// 3285// // Example sending a request using the ListFieldLevelEncryptionConfigsRequest method. 3286// req, resp := client.ListFieldLevelEncryptionConfigsRequest(params) 3287// 3288// err := req.Send() 3289// if err == nil { // resp is now filled 3290// fmt.Println(resp) 3291// } 3292// 3293// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs 3294func (c *CloudFront) ListFieldLevelEncryptionConfigsRequest(input *ListFieldLevelEncryptionConfigsInput) (req *request.Request, output *ListFieldLevelEncryptionConfigsOutput) { 3295 op := &request.Operation{ 3296 Name: opListFieldLevelEncryptionConfigs, 3297 HTTPMethod: "GET", 3298 HTTPPath: "/2019-03-26/field-level-encryption", 3299 } 3300 3301 if input == nil { 3302 input = &ListFieldLevelEncryptionConfigsInput{} 3303 } 3304 3305 output = &ListFieldLevelEncryptionConfigsOutput{} 3306 req = c.newRequest(op, input, output) 3307 return 3308} 3309 3310// ListFieldLevelEncryptionConfigs API operation for Amazon CloudFront. 3311// 3312// List all field-level encryption configurations that have been created in 3313// CloudFront for this account. 3314// 3315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3316// with awserr.Error's Code and Message methods to get detailed information about 3317// the error. 3318// 3319// See the AWS API reference guide for Amazon CloudFront's 3320// API operation ListFieldLevelEncryptionConfigs for usage and error information. 3321// 3322// Returned Error Codes: 3323// * ErrCodeInvalidArgument "InvalidArgument" 3324// The argument is invalid. 3325// 3326// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionConfigs 3327func (c *CloudFront) ListFieldLevelEncryptionConfigs(input *ListFieldLevelEncryptionConfigsInput) (*ListFieldLevelEncryptionConfigsOutput, error) { 3328 req, out := c.ListFieldLevelEncryptionConfigsRequest(input) 3329 return out, req.Send() 3330} 3331 3332// ListFieldLevelEncryptionConfigsWithContext is the same as ListFieldLevelEncryptionConfigs with the addition of 3333// the ability to pass a context and additional request options. 3334// 3335// See ListFieldLevelEncryptionConfigs for details on how to use this API operation. 3336// 3337// The context must be non-nil and will be used for request cancellation. If 3338// the context is nil a panic will occur. In the future the SDK may create 3339// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3340// for more information on using Contexts. 3341func (c *CloudFront) ListFieldLevelEncryptionConfigsWithContext(ctx aws.Context, input *ListFieldLevelEncryptionConfigsInput, opts ...request.Option) (*ListFieldLevelEncryptionConfigsOutput, error) { 3342 req, out := c.ListFieldLevelEncryptionConfigsRequest(input) 3343 req.SetContext(ctx) 3344 req.ApplyOptions(opts...) 3345 return out, req.Send() 3346} 3347 3348const opListFieldLevelEncryptionProfiles = "ListFieldLevelEncryptionProfiles2019_03_26" 3349 3350// ListFieldLevelEncryptionProfilesRequest generates a "aws/request.Request" representing the 3351// client's request for the ListFieldLevelEncryptionProfiles operation. The "output" return 3352// value will be populated with the request's response once the request completes 3353// successfully. 3354// 3355// Use "Send" method on the returned Request to send the API call to the service. 3356// the "output" return value is not valid until after Send returns without error. 3357// 3358// See ListFieldLevelEncryptionProfiles for more information on using the ListFieldLevelEncryptionProfiles 3359// API call, and error handling. 3360// 3361// This method is useful when you want to inject custom logic or configuration 3362// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3363// 3364// 3365// // Example sending a request using the ListFieldLevelEncryptionProfilesRequest method. 3366// req, resp := client.ListFieldLevelEncryptionProfilesRequest(params) 3367// 3368// err := req.Send() 3369// if err == nil { // resp is now filled 3370// fmt.Println(resp) 3371// } 3372// 3373// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles 3374func (c *CloudFront) ListFieldLevelEncryptionProfilesRequest(input *ListFieldLevelEncryptionProfilesInput) (req *request.Request, output *ListFieldLevelEncryptionProfilesOutput) { 3375 op := &request.Operation{ 3376 Name: opListFieldLevelEncryptionProfiles, 3377 HTTPMethod: "GET", 3378 HTTPPath: "/2019-03-26/field-level-encryption-profile", 3379 } 3380 3381 if input == nil { 3382 input = &ListFieldLevelEncryptionProfilesInput{} 3383 } 3384 3385 output = &ListFieldLevelEncryptionProfilesOutput{} 3386 req = c.newRequest(op, input, output) 3387 return 3388} 3389 3390// ListFieldLevelEncryptionProfiles API operation for Amazon CloudFront. 3391// 3392// Request a list of field-level encryption profiles that have been created 3393// in CloudFront for this account. 3394// 3395// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3396// with awserr.Error's Code and Message methods to get detailed information about 3397// the error. 3398// 3399// See the AWS API reference guide for Amazon CloudFront's 3400// API operation ListFieldLevelEncryptionProfiles for usage and error information. 3401// 3402// Returned Error Codes: 3403// * ErrCodeInvalidArgument "InvalidArgument" 3404// The argument is invalid. 3405// 3406// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListFieldLevelEncryptionProfiles 3407func (c *CloudFront) ListFieldLevelEncryptionProfiles(input *ListFieldLevelEncryptionProfilesInput) (*ListFieldLevelEncryptionProfilesOutput, error) { 3408 req, out := c.ListFieldLevelEncryptionProfilesRequest(input) 3409 return out, req.Send() 3410} 3411 3412// ListFieldLevelEncryptionProfilesWithContext is the same as ListFieldLevelEncryptionProfiles with the addition of 3413// the ability to pass a context and additional request options. 3414// 3415// See ListFieldLevelEncryptionProfiles for details on how to use this API operation. 3416// 3417// The context must be non-nil and will be used for request cancellation. If 3418// the context is nil a panic will occur. In the future the SDK may create 3419// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3420// for more information on using Contexts. 3421func (c *CloudFront) ListFieldLevelEncryptionProfilesWithContext(ctx aws.Context, input *ListFieldLevelEncryptionProfilesInput, opts ...request.Option) (*ListFieldLevelEncryptionProfilesOutput, error) { 3422 req, out := c.ListFieldLevelEncryptionProfilesRequest(input) 3423 req.SetContext(ctx) 3424 req.ApplyOptions(opts...) 3425 return out, req.Send() 3426} 3427 3428const opListInvalidations = "ListInvalidations2019_03_26" 3429 3430// ListInvalidationsRequest generates a "aws/request.Request" representing the 3431// client's request for the ListInvalidations operation. The "output" return 3432// value will be populated with the request's response once the request completes 3433// successfully. 3434// 3435// Use "Send" method on the returned Request to send the API call to the service. 3436// the "output" return value is not valid until after Send returns without error. 3437// 3438// See ListInvalidations for more information on using the ListInvalidations 3439// API call, and error handling. 3440// 3441// This method is useful when you want to inject custom logic or configuration 3442// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3443// 3444// 3445// // Example sending a request using the ListInvalidationsRequest method. 3446// req, resp := client.ListInvalidationsRequest(params) 3447// 3448// err := req.Send() 3449// if err == nil { // resp is now filled 3450// fmt.Println(resp) 3451// } 3452// 3453// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations 3454func (c *CloudFront) ListInvalidationsRequest(input *ListInvalidationsInput) (req *request.Request, output *ListInvalidationsOutput) { 3455 op := &request.Operation{ 3456 Name: opListInvalidations, 3457 HTTPMethod: "GET", 3458 HTTPPath: "/2019-03-26/distribution/{DistributionId}/invalidation", 3459 Paginator: &request.Paginator{ 3460 InputTokens: []string{"Marker"}, 3461 OutputTokens: []string{"InvalidationList.NextMarker"}, 3462 LimitToken: "MaxItems", 3463 TruncationToken: "InvalidationList.IsTruncated", 3464 }, 3465 } 3466 3467 if input == nil { 3468 input = &ListInvalidationsInput{} 3469 } 3470 3471 output = &ListInvalidationsOutput{} 3472 req = c.newRequest(op, input, output) 3473 return 3474} 3475 3476// ListInvalidations API operation for Amazon CloudFront. 3477// 3478// Lists invalidation batches. 3479// 3480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3481// with awserr.Error's Code and Message methods to get detailed information about 3482// the error. 3483// 3484// See the AWS API reference guide for Amazon CloudFront's 3485// API operation ListInvalidations for usage and error information. 3486// 3487// Returned Error Codes: 3488// * ErrCodeInvalidArgument "InvalidArgument" 3489// The argument is invalid. 3490// 3491// * ErrCodeNoSuchDistribution "NoSuchDistribution" 3492// The specified distribution does not exist. 3493// 3494// * ErrCodeAccessDenied "AccessDenied" 3495// Access denied. 3496// 3497// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListInvalidations 3498func (c *CloudFront) ListInvalidations(input *ListInvalidationsInput) (*ListInvalidationsOutput, error) { 3499 req, out := c.ListInvalidationsRequest(input) 3500 return out, req.Send() 3501} 3502 3503// ListInvalidationsWithContext is the same as ListInvalidations with the addition of 3504// the ability to pass a context and additional request options. 3505// 3506// See ListInvalidations for details on how to use this API operation. 3507// 3508// The context must be non-nil and will be used for request cancellation. If 3509// the context is nil a panic will occur. In the future the SDK may create 3510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3511// for more information on using Contexts. 3512func (c *CloudFront) ListInvalidationsWithContext(ctx aws.Context, input *ListInvalidationsInput, opts ...request.Option) (*ListInvalidationsOutput, error) { 3513 req, out := c.ListInvalidationsRequest(input) 3514 req.SetContext(ctx) 3515 req.ApplyOptions(opts...) 3516 return out, req.Send() 3517} 3518 3519// ListInvalidationsPages iterates over the pages of a ListInvalidations operation, 3520// calling the "fn" function with the response data for each page. To stop 3521// iterating, return false from the fn function. 3522// 3523// See ListInvalidations method for more information on how to use this operation. 3524// 3525// Note: This operation can generate multiple requests to a service. 3526// 3527// // Example iterating over at most 3 pages of a ListInvalidations operation. 3528// pageNum := 0 3529// err := client.ListInvalidationsPages(params, 3530// func(page *cloudfront.ListInvalidationsOutput, lastPage bool) bool { 3531// pageNum++ 3532// fmt.Println(page) 3533// return pageNum <= 3 3534// }) 3535// 3536func (c *CloudFront) ListInvalidationsPages(input *ListInvalidationsInput, fn func(*ListInvalidationsOutput, bool) bool) error { 3537 return c.ListInvalidationsPagesWithContext(aws.BackgroundContext(), input, fn) 3538} 3539 3540// ListInvalidationsPagesWithContext same as ListInvalidationsPages except 3541// it takes a Context and allows setting request options on the pages. 3542// 3543// The context must be non-nil and will be used for request cancellation. If 3544// the context is nil a panic will occur. In the future the SDK may create 3545// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3546// for more information on using Contexts. 3547func (c *CloudFront) ListInvalidationsPagesWithContext(ctx aws.Context, input *ListInvalidationsInput, fn func(*ListInvalidationsOutput, bool) bool, opts ...request.Option) error { 3548 p := request.Pagination{ 3549 NewRequest: func() (*request.Request, error) { 3550 var inCpy *ListInvalidationsInput 3551 if input != nil { 3552 tmp := *input 3553 inCpy = &tmp 3554 } 3555 req, _ := c.ListInvalidationsRequest(inCpy) 3556 req.SetContext(ctx) 3557 req.ApplyOptions(opts...) 3558 return req, nil 3559 }, 3560 } 3561 3562 for p.Next() { 3563 if !fn(p.Page().(*ListInvalidationsOutput), !p.HasNextPage()) { 3564 break 3565 } 3566 } 3567 3568 return p.Err() 3569} 3570 3571const opListPublicKeys = "ListPublicKeys2019_03_26" 3572 3573// ListPublicKeysRequest generates a "aws/request.Request" representing the 3574// client's request for the ListPublicKeys operation. The "output" return 3575// value will be populated with the request's response once the request completes 3576// successfully. 3577// 3578// Use "Send" method on the returned Request to send the API call to the service. 3579// the "output" return value is not valid until after Send returns without error. 3580// 3581// See ListPublicKeys for more information on using the ListPublicKeys 3582// API call, and error handling. 3583// 3584// This method is useful when you want to inject custom logic or configuration 3585// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3586// 3587// 3588// // Example sending a request using the ListPublicKeysRequest method. 3589// req, resp := client.ListPublicKeysRequest(params) 3590// 3591// err := req.Send() 3592// if err == nil { // resp is now filled 3593// fmt.Println(resp) 3594// } 3595// 3596// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys 3597func (c *CloudFront) ListPublicKeysRequest(input *ListPublicKeysInput) (req *request.Request, output *ListPublicKeysOutput) { 3598 op := &request.Operation{ 3599 Name: opListPublicKeys, 3600 HTTPMethod: "GET", 3601 HTTPPath: "/2019-03-26/public-key", 3602 } 3603 3604 if input == nil { 3605 input = &ListPublicKeysInput{} 3606 } 3607 3608 output = &ListPublicKeysOutput{} 3609 req = c.newRequest(op, input, output) 3610 return 3611} 3612 3613// ListPublicKeys API operation for Amazon CloudFront. 3614// 3615// List all public keys that have been added to CloudFront for this account. 3616// 3617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3618// with awserr.Error's Code and Message methods to get detailed information about 3619// the error. 3620// 3621// See the AWS API reference guide for Amazon CloudFront's 3622// API operation ListPublicKeys for usage and error information. 3623// 3624// Returned Error Codes: 3625// * ErrCodeInvalidArgument "InvalidArgument" 3626// The argument is invalid. 3627// 3628// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListPublicKeys 3629func (c *CloudFront) ListPublicKeys(input *ListPublicKeysInput) (*ListPublicKeysOutput, error) { 3630 req, out := c.ListPublicKeysRequest(input) 3631 return out, req.Send() 3632} 3633 3634// ListPublicKeysWithContext is the same as ListPublicKeys with the addition of 3635// the ability to pass a context and additional request options. 3636// 3637// See ListPublicKeys for details on how to use this API operation. 3638// 3639// The context must be non-nil and will be used for request cancellation. If 3640// the context is nil a panic will occur. In the future the SDK may create 3641// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3642// for more information on using Contexts. 3643func (c *CloudFront) ListPublicKeysWithContext(ctx aws.Context, input *ListPublicKeysInput, opts ...request.Option) (*ListPublicKeysOutput, error) { 3644 req, out := c.ListPublicKeysRequest(input) 3645 req.SetContext(ctx) 3646 req.ApplyOptions(opts...) 3647 return out, req.Send() 3648} 3649 3650const opListStreamingDistributions = "ListStreamingDistributions2019_03_26" 3651 3652// ListStreamingDistributionsRequest generates a "aws/request.Request" representing the 3653// client's request for the ListStreamingDistributions operation. The "output" return 3654// value will be populated with the request's response once the request completes 3655// successfully. 3656// 3657// Use "Send" method on the returned Request to send the API call to the service. 3658// the "output" return value is not valid until after Send returns without error. 3659// 3660// See ListStreamingDistributions for more information on using the ListStreamingDistributions 3661// API call, and error handling. 3662// 3663// This method is useful when you want to inject custom logic or configuration 3664// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3665// 3666// 3667// // Example sending a request using the ListStreamingDistributionsRequest method. 3668// req, resp := client.ListStreamingDistributionsRequest(params) 3669// 3670// err := req.Send() 3671// if err == nil { // resp is now filled 3672// fmt.Println(resp) 3673// } 3674// 3675// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions 3676func (c *CloudFront) ListStreamingDistributionsRequest(input *ListStreamingDistributionsInput) (req *request.Request, output *ListStreamingDistributionsOutput) { 3677 op := &request.Operation{ 3678 Name: opListStreamingDistributions, 3679 HTTPMethod: "GET", 3680 HTTPPath: "/2019-03-26/streaming-distribution", 3681 Paginator: &request.Paginator{ 3682 InputTokens: []string{"Marker"}, 3683 OutputTokens: []string{"StreamingDistributionList.NextMarker"}, 3684 LimitToken: "MaxItems", 3685 TruncationToken: "StreamingDistributionList.IsTruncated", 3686 }, 3687 } 3688 3689 if input == nil { 3690 input = &ListStreamingDistributionsInput{} 3691 } 3692 3693 output = &ListStreamingDistributionsOutput{} 3694 req = c.newRequest(op, input, output) 3695 return 3696} 3697 3698// ListStreamingDistributions API operation for Amazon CloudFront. 3699// 3700// List streaming distributions. 3701// 3702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3703// with awserr.Error's Code and Message methods to get detailed information about 3704// the error. 3705// 3706// See the AWS API reference guide for Amazon CloudFront's 3707// API operation ListStreamingDistributions for usage and error information. 3708// 3709// Returned Error Codes: 3710// * ErrCodeInvalidArgument "InvalidArgument" 3711// The argument is invalid. 3712// 3713// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListStreamingDistributions 3714func (c *CloudFront) ListStreamingDistributions(input *ListStreamingDistributionsInput) (*ListStreamingDistributionsOutput, error) { 3715 req, out := c.ListStreamingDistributionsRequest(input) 3716 return out, req.Send() 3717} 3718 3719// ListStreamingDistributionsWithContext is the same as ListStreamingDistributions with the addition of 3720// the ability to pass a context and additional request options. 3721// 3722// See ListStreamingDistributions for details on how to use this API operation. 3723// 3724// The context must be non-nil and will be used for request cancellation. If 3725// the context is nil a panic will occur. In the future the SDK may create 3726// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3727// for more information on using Contexts. 3728func (c *CloudFront) ListStreamingDistributionsWithContext(ctx aws.Context, input *ListStreamingDistributionsInput, opts ...request.Option) (*ListStreamingDistributionsOutput, error) { 3729 req, out := c.ListStreamingDistributionsRequest(input) 3730 req.SetContext(ctx) 3731 req.ApplyOptions(opts...) 3732 return out, req.Send() 3733} 3734 3735// ListStreamingDistributionsPages iterates over the pages of a ListStreamingDistributions operation, 3736// calling the "fn" function with the response data for each page. To stop 3737// iterating, return false from the fn function. 3738// 3739// See ListStreamingDistributions method for more information on how to use this operation. 3740// 3741// Note: This operation can generate multiple requests to a service. 3742// 3743// // Example iterating over at most 3 pages of a ListStreamingDistributions operation. 3744// pageNum := 0 3745// err := client.ListStreamingDistributionsPages(params, 3746// func(page *cloudfront.ListStreamingDistributionsOutput, lastPage bool) bool { 3747// pageNum++ 3748// fmt.Println(page) 3749// return pageNum <= 3 3750// }) 3751// 3752func (c *CloudFront) ListStreamingDistributionsPages(input *ListStreamingDistributionsInput, fn func(*ListStreamingDistributionsOutput, bool) bool) error { 3753 return c.ListStreamingDistributionsPagesWithContext(aws.BackgroundContext(), input, fn) 3754} 3755 3756// ListStreamingDistributionsPagesWithContext same as ListStreamingDistributionsPages except 3757// it takes a Context and allows setting request options on the pages. 3758// 3759// The context must be non-nil and will be used for request cancellation. If 3760// the context is nil a panic will occur. In the future the SDK may create 3761// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3762// for more information on using Contexts. 3763func (c *CloudFront) ListStreamingDistributionsPagesWithContext(ctx aws.Context, input *ListStreamingDistributionsInput, fn func(*ListStreamingDistributionsOutput, bool) bool, opts ...request.Option) error { 3764 p := request.Pagination{ 3765 NewRequest: func() (*request.Request, error) { 3766 var inCpy *ListStreamingDistributionsInput 3767 if input != nil { 3768 tmp := *input 3769 inCpy = &tmp 3770 } 3771 req, _ := c.ListStreamingDistributionsRequest(inCpy) 3772 req.SetContext(ctx) 3773 req.ApplyOptions(opts...) 3774 return req, nil 3775 }, 3776 } 3777 3778 for p.Next() { 3779 if !fn(p.Page().(*ListStreamingDistributionsOutput), !p.HasNextPage()) { 3780 break 3781 } 3782 } 3783 3784 return p.Err() 3785} 3786 3787const opListTagsForResource = "ListTagsForResource2019_03_26" 3788 3789// ListTagsForResourceRequest generates a "aws/request.Request" representing the 3790// client's request for the ListTagsForResource operation. The "output" return 3791// value will be populated with the request's response once the request completes 3792// successfully. 3793// 3794// Use "Send" method on the returned Request to send the API call to the service. 3795// the "output" return value is not valid until after Send returns without error. 3796// 3797// See ListTagsForResource for more information on using the ListTagsForResource 3798// API call, and error handling. 3799// 3800// This method is useful when you want to inject custom logic or configuration 3801// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3802// 3803// 3804// // Example sending a request using the ListTagsForResourceRequest method. 3805// req, resp := client.ListTagsForResourceRequest(params) 3806// 3807// err := req.Send() 3808// if err == nil { // resp is now filled 3809// fmt.Println(resp) 3810// } 3811// 3812// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource 3813func (c *CloudFront) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 3814 op := &request.Operation{ 3815 Name: opListTagsForResource, 3816 HTTPMethod: "GET", 3817 HTTPPath: "/2019-03-26/tagging", 3818 } 3819 3820 if input == nil { 3821 input = &ListTagsForResourceInput{} 3822 } 3823 3824 output = &ListTagsForResourceOutput{} 3825 req = c.newRequest(op, input, output) 3826 return 3827} 3828 3829// ListTagsForResource API operation for Amazon CloudFront. 3830// 3831// List tags for a CloudFront resource. 3832// 3833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3834// with awserr.Error's Code and Message methods to get detailed information about 3835// the error. 3836// 3837// See the AWS API reference guide for Amazon CloudFront's 3838// API operation ListTagsForResource for usage and error information. 3839// 3840// Returned Error Codes: 3841// * ErrCodeAccessDenied "AccessDenied" 3842// Access denied. 3843// 3844// * ErrCodeInvalidArgument "InvalidArgument" 3845// The argument is invalid. 3846// 3847// * ErrCodeInvalidTagging "InvalidTagging" 3848// Tagging specified in the response body is not valid. 3849// 3850// * ErrCodeNoSuchResource "NoSuchResource" 3851// A resource that was specified is not valid. 3852// 3853// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/ListTagsForResource 3854func (c *CloudFront) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 3855 req, out := c.ListTagsForResourceRequest(input) 3856 return out, req.Send() 3857} 3858 3859// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 3860// the ability to pass a context and additional request options. 3861// 3862// See ListTagsForResource for details on how to use this API operation. 3863// 3864// The context must be non-nil and will be used for request cancellation. If 3865// the context is nil a panic will occur. In the future the SDK may create 3866// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3867// for more information on using Contexts. 3868func (c *CloudFront) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 3869 req, out := c.ListTagsForResourceRequest(input) 3870 req.SetContext(ctx) 3871 req.ApplyOptions(opts...) 3872 return out, req.Send() 3873} 3874 3875const opTagResource = "TagResource2019_03_26" 3876 3877// TagResourceRequest generates a "aws/request.Request" representing the 3878// client's request for the TagResource operation. The "output" return 3879// value will be populated with the request's response once the request completes 3880// successfully. 3881// 3882// Use "Send" method on the returned Request to send the API call to the service. 3883// the "output" return value is not valid until after Send returns without error. 3884// 3885// See TagResource for more information on using the TagResource 3886// API call, and error handling. 3887// 3888// This method is useful when you want to inject custom logic or configuration 3889// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3890// 3891// 3892// // Example sending a request using the TagResourceRequest method. 3893// req, resp := client.TagResourceRequest(params) 3894// 3895// err := req.Send() 3896// if err == nil { // resp is now filled 3897// fmt.Println(resp) 3898// } 3899// 3900// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource 3901func (c *CloudFront) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 3902 op := &request.Operation{ 3903 Name: opTagResource, 3904 HTTPMethod: "POST", 3905 HTTPPath: "/2019-03-26/tagging?Operation=Tag", 3906 } 3907 3908 if input == nil { 3909 input = &TagResourceInput{} 3910 } 3911 3912 output = &TagResourceOutput{} 3913 req = c.newRequest(op, input, output) 3914 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3915 return 3916} 3917 3918// TagResource API operation for Amazon CloudFront. 3919// 3920// Add tags to a CloudFront resource. 3921// 3922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3923// with awserr.Error's Code and Message methods to get detailed information about 3924// the error. 3925// 3926// See the AWS API reference guide for Amazon CloudFront's 3927// API operation TagResource for usage and error information. 3928// 3929// Returned Error Codes: 3930// * ErrCodeAccessDenied "AccessDenied" 3931// Access denied. 3932// 3933// * ErrCodeInvalidArgument "InvalidArgument" 3934// The argument is invalid. 3935// 3936// * ErrCodeInvalidTagging "InvalidTagging" 3937// Tagging specified in the response body is not valid. 3938// 3939// * ErrCodeNoSuchResource "NoSuchResource" 3940// A resource that was specified is not valid. 3941// 3942// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/TagResource 3943func (c *CloudFront) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3944 req, out := c.TagResourceRequest(input) 3945 return out, req.Send() 3946} 3947 3948// TagResourceWithContext is the same as TagResource with the addition of 3949// the ability to pass a context and additional request options. 3950// 3951// See TagResource for details on how to use this API operation. 3952// 3953// The context must be non-nil and will be used for request cancellation. If 3954// the context is nil a panic will occur. In the future the SDK may create 3955// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3956// for more information on using Contexts. 3957func (c *CloudFront) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3958 req, out := c.TagResourceRequest(input) 3959 req.SetContext(ctx) 3960 req.ApplyOptions(opts...) 3961 return out, req.Send() 3962} 3963 3964const opUntagResource = "UntagResource2019_03_26" 3965 3966// UntagResourceRequest generates a "aws/request.Request" representing the 3967// client's request for the UntagResource operation. The "output" return 3968// value will be populated with the request's response once the request completes 3969// successfully. 3970// 3971// Use "Send" method on the returned Request to send the API call to the service. 3972// the "output" return value is not valid until after Send returns without error. 3973// 3974// See UntagResource for more information on using the UntagResource 3975// API call, and error handling. 3976// 3977// This method is useful when you want to inject custom logic or configuration 3978// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3979// 3980// 3981// // Example sending a request using the UntagResourceRequest method. 3982// req, resp := client.UntagResourceRequest(params) 3983// 3984// err := req.Send() 3985// if err == nil { // resp is now filled 3986// fmt.Println(resp) 3987// } 3988// 3989// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource 3990func (c *CloudFront) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3991 op := &request.Operation{ 3992 Name: opUntagResource, 3993 HTTPMethod: "POST", 3994 HTTPPath: "/2019-03-26/tagging?Operation=Untag", 3995 } 3996 3997 if input == nil { 3998 input = &UntagResourceInput{} 3999 } 4000 4001 output = &UntagResourceOutput{} 4002 req = c.newRequest(op, input, output) 4003 req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 4004 return 4005} 4006 4007// UntagResource API operation for Amazon CloudFront. 4008// 4009// Remove tags from a CloudFront resource. 4010// 4011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4012// with awserr.Error's Code and Message methods to get detailed information about 4013// the error. 4014// 4015// See the AWS API reference guide for Amazon CloudFront's 4016// API operation UntagResource for usage and error information. 4017// 4018// Returned Error Codes: 4019// * ErrCodeAccessDenied "AccessDenied" 4020// Access denied. 4021// 4022// * ErrCodeInvalidArgument "InvalidArgument" 4023// The argument is invalid. 4024// 4025// * ErrCodeInvalidTagging "InvalidTagging" 4026// Tagging specified in the response body is not valid. 4027// 4028// * ErrCodeNoSuchResource "NoSuchResource" 4029// A resource that was specified is not valid. 4030// 4031// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UntagResource 4032func (c *CloudFront) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 4033 req, out := c.UntagResourceRequest(input) 4034 return out, req.Send() 4035} 4036 4037// UntagResourceWithContext is the same as UntagResource with the addition of 4038// the ability to pass a context and additional request options. 4039// 4040// See UntagResource for details on how to use this API operation. 4041// 4042// The context must be non-nil and will be used for request cancellation. If 4043// the context is nil a panic will occur. In the future the SDK may create 4044// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4045// for more information on using Contexts. 4046func (c *CloudFront) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 4047 req, out := c.UntagResourceRequest(input) 4048 req.SetContext(ctx) 4049 req.ApplyOptions(opts...) 4050 return out, req.Send() 4051} 4052 4053const opUpdateCloudFrontOriginAccessIdentity = "UpdateCloudFrontOriginAccessIdentity2019_03_26" 4054 4055// UpdateCloudFrontOriginAccessIdentityRequest generates a "aws/request.Request" representing the 4056// client's request for the UpdateCloudFrontOriginAccessIdentity operation. The "output" return 4057// value will be populated with the request's response once the request completes 4058// successfully. 4059// 4060// Use "Send" method on the returned Request to send the API call to the service. 4061// the "output" return value is not valid until after Send returns without error. 4062// 4063// See UpdateCloudFrontOriginAccessIdentity for more information on using the UpdateCloudFrontOriginAccessIdentity 4064// API call, and error handling. 4065// 4066// This method is useful when you want to inject custom logic or configuration 4067// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4068// 4069// 4070// // Example sending a request using the UpdateCloudFrontOriginAccessIdentityRequest method. 4071// req, resp := client.UpdateCloudFrontOriginAccessIdentityRequest(params) 4072// 4073// err := req.Send() 4074// if err == nil { // resp is now filled 4075// fmt.Println(resp) 4076// } 4077// 4078// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity 4079func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityRequest(input *UpdateCloudFrontOriginAccessIdentityInput) (req *request.Request, output *UpdateCloudFrontOriginAccessIdentityOutput) { 4080 op := &request.Operation{ 4081 Name: opUpdateCloudFrontOriginAccessIdentity, 4082 HTTPMethod: "PUT", 4083 HTTPPath: "/2019-03-26/origin-access-identity/cloudfront/{Id}/config", 4084 } 4085 4086 if input == nil { 4087 input = &UpdateCloudFrontOriginAccessIdentityInput{} 4088 } 4089 4090 output = &UpdateCloudFrontOriginAccessIdentityOutput{} 4091 req = c.newRequest(op, input, output) 4092 return 4093} 4094 4095// UpdateCloudFrontOriginAccessIdentity API operation for Amazon CloudFront. 4096// 4097// Update an origin access identity. 4098// 4099// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4100// with awserr.Error's Code and Message methods to get detailed information about 4101// the error. 4102// 4103// See the AWS API reference guide for Amazon CloudFront's 4104// API operation UpdateCloudFrontOriginAccessIdentity for usage and error information. 4105// 4106// Returned Error Codes: 4107// * ErrCodeAccessDenied "AccessDenied" 4108// Access denied. 4109// 4110// * ErrCodeIllegalUpdate "IllegalUpdate" 4111// Origin and CallerReference cannot be updated. 4112// 4113// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4114// The If-Match version is missing or not valid for the distribution. 4115// 4116// * ErrCodeMissingBody "MissingBody" 4117// This operation requires a body. Ensure that the body is present and the Content-Type 4118// header is set. 4119// 4120// * ErrCodeNoSuchCloudFrontOriginAccessIdentity "NoSuchCloudFrontOriginAccessIdentity" 4121// The specified origin access identity does not exist. 4122// 4123// * ErrCodePreconditionFailed "PreconditionFailed" 4124// The precondition given in one or more of the request-header fields evaluated 4125// to false. 4126// 4127// * ErrCodeInvalidArgument "InvalidArgument" 4128// The argument is invalid. 4129// 4130// * ErrCodeInconsistentQuantities "InconsistentQuantities" 4131// The value of Quantity and the size of Items don't match. 4132// 4133// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateCloudFrontOriginAccessIdentity 4134func (c *CloudFront) UpdateCloudFrontOriginAccessIdentity(input *UpdateCloudFrontOriginAccessIdentityInput) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { 4135 req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) 4136 return out, req.Send() 4137} 4138 4139// UpdateCloudFrontOriginAccessIdentityWithContext is the same as UpdateCloudFrontOriginAccessIdentity with the addition of 4140// the ability to pass a context and additional request options. 4141// 4142// See UpdateCloudFrontOriginAccessIdentity for details on how to use this API operation. 4143// 4144// The context must be non-nil and will be used for request cancellation. If 4145// the context is nil a panic will occur. In the future the SDK may create 4146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4147// for more information on using Contexts. 4148func (c *CloudFront) UpdateCloudFrontOriginAccessIdentityWithContext(ctx aws.Context, input *UpdateCloudFrontOriginAccessIdentityInput, opts ...request.Option) (*UpdateCloudFrontOriginAccessIdentityOutput, error) { 4149 req, out := c.UpdateCloudFrontOriginAccessIdentityRequest(input) 4150 req.SetContext(ctx) 4151 req.ApplyOptions(opts...) 4152 return out, req.Send() 4153} 4154 4155const opUpdateDistribution = "UpdateDistribution2019_03_26" 4156 4157// UpdateDistributionRequest generates a "aws/request.Request" representing the 4158// client's request for the UpdateDistribution operation. The "output" return 4159// value will be populated with the request's response once the request completes 4160// successfully. 4161// 4162// Use "Send" method on the returned Request to send the API call to the service. 4163// the "output" return value is not valid until after Send returns without error. 4164// 4165// See UpdateDistribution for more information on using the UpdateDistribution 4166// API call, and error handling. 4167// 4168// This method is useful when you want to inject custom logic or configuration 4169// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4170// 4171// 4172// // Example sending a request using the UpdateDistributionRequest method. 4173// req, resp := client.UpdateDistributionRequest(params) 4174// 4175// err := req.Send() 4176// if err == nil { // resp is now filled 4177// fmt.Println(resp) 4178// } 4179// 4180// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution 4181func (c *CloudFront) UpdateDistributionRequest(input *UpdateDistributionInput) (req *request.Request, output *UpdateDistributionOutput) { 4182 op := &request.Operation{ 4183 Name: opUpdateDistribution, 4184 HTTPMethod: "PUT", 4185 HTTPPath: "/2019-03-26/distribution/{Id}/config", 4186 } 4187 4188 if input == nil { 4189 input = &UpdateDistributionInput{} 4190 } 4191 4192 output = &UpdateDistributionOutput{} 4193 req = c.newRequest(op, input, output) 4194 return 4195} 4196 4197// UpdateDistribution API operation for Amazon CloudFront. 4198// 4199// Updates the configuration for a web distribution. 4200// 4201// When you update a distribution, there are more required fields than when 4202// you create a distribution. When you update your distribution by using this 4203// API action, follow the steps here to get the current configuration and then 4204// make your updates, to make sure that you include all of the required fields. 4205// To view a summary, see Required Fields for Create Distribution and Update 4206// Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview-required-fields.html) 4207// in the Amazon CloudFront Developer Guide. 4208// 4209// The update process includes getting the current distribution configuration, 4210// updating the XML document that is returned to make your changes, and then 4211// submitting an UpdateDistribution request to make the updates. 4212// 4213// For information about updating a distribution using the CloudFront console 4214// instead, see Creating a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-creating-console.html) 4215// in the Amazon CloudFront Developer Guide. 4216// 4217// To update a web distribution using the CloudFront API 4218// 4219// Submit a GetDistributionConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistributionConfig.html) 4220// request to get the current configuration and an Etag header for the distribution. 4221// 4222// If you update the distribution again, you must get a new Etag header. 4223// 4224// Update the XML document that was returned in the response to your GetDistributionConfig 4225// request to include your changes. 4226// 4227// When you edit the XML file, be aware of the following: 4228// 4229// * You must strip out the ETag parameter that is returned. 4230// 4231// * Additional fields are required when you update a distribution. There 4232// may be fields included in the XML file for features that you haven't configured 4233// for your distribution. This is expected and required to successfully update 4234// the distribution. 4235// 4236// * You can't change the value of CallerReference. If you try to change 4237// this value, CloudFront returns an IllegalUpdate error. 4238// 4239// * The new configuration replaces the existing configuration; the values 4240// that you specify in an UpdateDistribution request are not merged into 4241// your existing configuration. When you add, delete, or replace values in 4242// an element that allows multiple values (for example, CNAME), you must 4243// specify all of the values that you want to appear in the updated distribution. 4244// In addition, you must update the corresponding Quantity element. 4245// 4246// Submit an UpdateDistribution request to update the configuration for your 4247// distribution: 4248// 4249// * In the request body, include the XML document that you updated in Step 4250// 2. The request body must include an XML document with a DistributionConfig 4251// element. 4252// 4253// * Set the value of the HTTP If-Match header to the value of the ETag header 4254// that CloudFront returned when you submitted the GetDistributionConfig 4255// request in Step 1. 4256// 4257// Review the response to the UpdateDistribution request to confirm that the 4258// configuration was successfully updated. 4259// 4260// Optional: Submit a GetDistribution (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_GetDistribution.html) 4261// request to confirm that your changes have propagated. When propagation is 4262// complete, the value of Status is Deployed. 4263// 4264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4265// with awserr.Error's Code and Message methods to get detailed information about 4266// the error. 4267// 4268// See the AWS API reference guide for Amazon CloudFront's 4269// API operation UpdateDistribution for usage and error information. 4270// 4271// Returned Error Codes: 4272// * ErrCodeAccessDenied "AccessDenied" 4273// Access denied. 4274// 4275// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 4276// The CNAME specified is already defined for CloudFront. 4277// 4278// * ErrCodeIllegalUpdate "IllegalUpdate" 4279// Origin and CallerReference cannot be updated. 4280// 4281// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4282// The If-Match version is missing or not valid for the distribution. 4283// 4284// * ErrCodeMissingBody "MissingBody" 4285// This operation requires a body. Ensure that the body is present and the Content-Type 4286// header is set. 4287// 4288// * ErrCodeNoSuchDistribution "NoSuchDistribution" 4289// The specified distribution does not exist. 4290// 4291// * ErrCodePreconditionFailed "PreconditionFailed" 4292// The precondition given in one or more of the request-header fields evaluated 4293// to false. 4294// 4295// * ErrCodeTooManyDistributionCNAMEs "TooManyDistributionCNAMEs" 4296// Your request contains more CNAMEs than are allowed per distribution. 4297// 4298// * ErrCodeInvalidDefaultRootObject "InvalidDefaultRootObject" 4299// The default root object file name is too big or contains an invalid character. 4300// 4301// * ErrCodeInvalidRelativePath "InvalidRelativePath" 4302// The relative path is too big, is not URL-encoded, or does not begin with 4303// a slash (/). 4304// 4305// * ErrCodeInvalidErrorCode "InvalidErrorCode" 4306// An invalid error code was specified. 4307// 4308// * ErrCodeInvalidResponseCode "InvalidResponseCode" 4309// A response code specified in the response body is not valid. 4310// 4311// * ErrCodeInvalidArgument "InvalidArgument" 4312// The argument is invalid. 4313// 4314// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 4315// The origin access identity is not valid or doesn't exist. 4316// 4317// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 4318// Your request contains more trusted signers than are allowed per distribution. 4319// 4320// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 4321// One or more of your trusted signers don't exist. 4322// 4323// * ErrCodeInvalidViewerCertificate "InvalidViewerCertificate" 4324// A viewer certificate specified in the response body is not valid. 4325// 4326// * ErrCodeInvalidMinimumProtocolVersion "InvalidMinimumProtocolVersion" 4327// The minimum protocol version specified is not valid. 4328// 4329// * ErrCodeInvalidRequiredProtocol "InvalidRequiredProtocol" 4330// This operation requires the HTTPS protocol. Ensure that you specify the HTTPS 4331// protocol in your request, or omit the RequiredProtocols element from your 4332// distribution configuration. 4333// 4334// * ErrCodeNoSuchOrigin "NoSuchOrigin" 4335// No origin exists with the specified Origin Id. 4336// 4337// * ErrCodeTooManyOrigins "TooManyOrigins" 4338// You cannot create more origins for the distribution. 4339// 4340// * ErrCodeTooManyOriginGroupsPerDistribution "TooManyOriginGroupsPerDistribution" 4341// Processing your request would cause you to exceed the maximum number of origin 4342// groups allowed. 4343// 4344// * ErrCodeTooManyCacheBehaviors "TooManyCacheBehaviors" 4345// You cannot create more cache behaviors for the distribution. 4346// 4347// * ErrCodeTooManyCookieNamesInWhiteList "TooManyCookieNamesInWhiteList" 4348// Your request contains more cookie names in the whitelist than are allowed 4349// per cache behavior. 4350// 4351// * ErrCodeInvalidForwardCookies "InvalidForwardCookies" 4352// Your request contains forward cookies option which doesn't match with the 4353// expectation for the whitelisted list of cookie names. Either list of cookie 4354// names has been specified when not allowed or list of cookie names is missing 4355// when expected. 4356// 4357// * ErrCodeTooManyHeadersInForwardedValues "TooManyHeadersInForwardedValues" 4358// Your request contains too many headers in forwarded values. 4359// 4360// * ErrCodeInvalidHeadersForS3Origin "InvalidHeadersForS3Origin" 4361// The headers specified are not valid for an Amazon S3 origin. 4362// 4363// * ErrCodeInconsistentQuantities "InconsistentQuantities" 4364// The value of Quantity and the size of Items don't match. 4365// 4366// * ErrCodeTooManyCertificates "TooManyCertificates" 4367// You cannot create anymore custom SSL/TLS certificates. 4368// 4369// * ErrCodeInvalidLocationCode "InvalidLocationCode" 4370// The location code specified is not valid. 4371// 4372// * ErrCodeInvalidGeoRestrictionParameter "InvalidGeoRestrictionParameter" 4373// The specified geo restriction parameter is not valid. 4374// 4375// * ErrCodeInvalidTTLOrder "InvalidTTLOrder" 4376// TTL order specified in the response body is not valid. 4377// 4378// * ErrCodeInvalidWebACLId "InvalidWebACLId" 4379// A web ACL ID specified in the response body is not valid. To specify a web 4380// ACL created using the latest version of AWS WAF, use the ACL ARN, for example 4381// arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 4382// To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 4383// 473e64fd-f30b-4765-81a0-62ad96dd167a. 4384// 4385// * ErrCodeTooManyOriginCustomHeaders "TooManyOriginCustomHeaders" 4386// Your request contains too many origin custom headers. 4387// 4388// * ErrCodeTooManyQueryStringParameters "TooManyQueryStringParameters" 4389// Your request contains too many query string parameters. 4390// 4391// * ErrCodeInvalidQueryStringParameters "InvalidQueryStringParameters" 4392// Query string parameters specified in the response body are not valid. 4393// 4394// * ErrCodeTooManyDistributionsWithLambdaAssociations "TooManyDistributionsWithLambdaAssociations" 4395// Processing your request would cause the maximum number of distributions with 4396// Lambda function associations per owner to be exceeded. 4397// 4398// * ErrCodeTooManyLambdaFunctionAssociations "TooManyLambdaFunctionAssociations" 4399// Your request contains more Lambda function associations than are allowed 4400// per distribution. 4401// 4402// * ErrCodeInvalidLambdaFunctionAssociation "InvalidLambdaFunctionAssociation" 4403// The specified Lambda function association is invalid. 4404// 4405// * ErrCodeInvalidOriginReadTimeout "InvalidOriginReadTimeout" 4406// The read timeout specified for the origin is not valid. 4407// 4408// * ErrCodeInvalidOriginKeepaliveTimeout "InvalidOriginKeepaliveTimeout" 4409// The keep alive timeout specified for the origin is not valid. 4410// 4411// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 4412// The specified configuration for field-level encryption doesn't exist. 4413// 4414// * ErrCodeIllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior "IllegalFieldLevelEncryptionConfigAssociationWithCacheBehavior" 4415// The specified configuration for field-level encryption can't be associated 4416// with the specified cache behavior. 4417// 4418// * ErrCodeTooManyDistributionsAssociatedToFieldLevelEncryptionConfig "TooManyDistributionsAssociatedToFieldLevelEncryptionConfig" 4419// The maximum number of distributions have been associated with the specified 4420// configuration for field-level encryption. 4421// 4422// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateDistribution 4423func (c *CloudFront) UpdateDistribution(input *UpdateDistributionInput) (*UpdateDistributionOutput, error) { 4424 req, out := c.UpdateDistributionRequest(input) 4425 return out, req.Send() 4426} 4427 4428// UpdateDistributionWithContext is the same as UpdateDistribution with the addition of 4429// the ability to pass a context and additional request options. 4430// 4431// See UpdateDistribution for details on how to use this API operation. 4432// 4433// The context must be non-nil and will be used for request cancellation. If 4434// the context is nil a panic will occur. In the future the SDK may create 4435// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4436// for more information on using Contexts. 4437func (c *CloudFront) UpdateDistributionWithContext(ctx aws.Context, input *UpdateDistributionInput, opts ...request.Option) (*UpdateDistributionOutput, error) { 4438 req, out := c.UpdateDistributionRequest(input) 4439 req.SetContext(ctx) 4440 req.ApplyOptions(opts...) 4441 return out, req.Send() 4442} 4443 4444const opUpdateFieldLevelEncryptionConfig = "UpdateFieldLevelEncryptionConfig2019_03_26" 4445 4446// UpdateFieldLevelEncryptionConfigRequest generates a "aws/request.Request" representing the 4447// client's request for the UpdateFieldLevelEncryptionConfig operation. The "output" return 4448// value will be populated with the request's response once the request completes 4449// successfully. 4450// 4451// Use "Send" method on the returned Request to send the API call to the service. 4452// the "output" return value is not valid until after Send returns without error. 4453// 4454// See UpdateFieldLevelEncryptionConfig for more information on using the UpdateFieldLevelEncryptionConfig 4455// API call, and error handling. 4456// 4457// This method is useful when you want to inject custom logic or configuration 4458// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4459// 4460// 4461// // Example sending a request using the UpdateFieldLevelEncryptionConfigRequest method. 4462// req, resp := client.UpdateFieldLevelEncryptionConfigRequest(params) 4463// 4464// err := req.Send() 4465// if err == nil { // resp is now filled 4466// fmt.Println(resp) 4467// } 4468// 4469// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig 4470func (c *CloudFront) UpdateFieldLevelEncryptionConfigRequest(input *UpdateFieldLevelEncryptionConfigInput) (req *request.Request, output *UpdateFieldLevelEncryptionConfigOutput) { 4471 op := &request.Operation{ 4472 Name: opUpdateFieldLevelEncryptionConfig, 4473 HTTPMethod: "PUT", 4474 HTTPPath: "/2019-03-26/field-level-encryption/{Id}/config", 4475 } 4476 4477 if input == nil { 4478 input = &UpdateFieldLevelEncryptionConfigInput{} 4479 } 4480 4481 output = &UpdateFieldLevelEncryptionConfigOutput{} 4482 req = c.newRequest(op, input, output) 4483 return 4484} 4485 4486// UpdateFieldLevelEncryptionConfig API operation for Amazon CloudFront. 4487// 4488// Update a field-level encryption configuration. 4489// 4490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4491// with awserr.Error's Code and Message methods to get detailed information about 4492// the error. 4493// 4494// See the AWS API reference guide for Amazon CloudFront's 4495// API operation UpdateFieldLevelEncryptionConfig for usage and error information. 4496// 4497// Returned Error Codes: 4498// * ErrCodeAccessDenied "AccessDenied" 4499// Access denied. 4500// 4501// * ErrCodeIllegalUpdate "IllegalUpdate" 4502// Origin and CallerReference cannot be updated. 4503// 4504// * ErrCodeInconsistentQuantities "InconsistentQuantities" 4505// The value of Quantity and the size of Items don't match. 4506// 4507// * ErrCodeInvalidArgument "InvalidArgument" 4508// The argument is invalid. 4509// 4510// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4511// The If-Match version is missing or not valid for the distribution. 4512// 4513// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 4514// The specified profile for field-level encryption doesn't exist. 4515// 4516// * ErrCodeNoSuchFieldLevelEncryptionConfig "NoSuchFieldLevelEncryptionConfig" 4517// The specified configuration for field-level encryption doesn't exist. 4518// 4519// * ErrCodePreconditionFailed "PreconditionFailed" 4520// The precondition given in one or more of the request-header fields evaluated 4521// to false. 4522// 4523// * ErrCodeTooManyFieldLevelEncryptionQueryArgProfiles "TooManyFieldLevelEncryptionQueryArgProfiles" 4524// The maximum number of query arg profiles for field-level encryption have 4525// been created. 4526// 4527// * ErrCodeTooManyFieldLevelEncryptionContentTypeProfiles "TooManyFieldLevelEncryptionContentTypeProfiles" 4528// The maximum number of content type profiles for field-level encryption have 4529// been created. 4530// 4531// * ErrCodeQueryArgProfileEmpty "QueryArgProfileEmpty" 4532// No profile specified for the field-level encryption query argument. 4533// 4534// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionConfig 4535func (c *CloudFront) UpdateFieldLevelEncryptionConfig(input *UpdateFieldLevelEncryptionConfigInput) (*UpdateFieldLevelEncryptionConfigOutput, error) { 4536 req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) 4537 return out, req.Send() 4538} 4539 4540// UpdateFieldLevelEncryptionConfigWithContext is the same as UpdateFieldLevelEncryptionConfig with the addition of 4541// the ability to pass a context and additional request options. 4542// 4543// See UpdateFieldLevelEncryptionConfig for details on how to use this API operation. 4544// 4545// The context must be non-nil and will be used for request cancellation. If 4546// the context is nil a panic will occur. In the future the SDK may create 4547// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4548// for more information on using Contexts. 4549func (c *CloudFront) UpdateFieldLevelEncryptionConfigWithContext(ctx aws.Context, input *UpdateFieldLevelEncryptionConfigInput, opts ...request.Option) (*UpdateFieldLevelEncryptionConfigOutput, error) { 4550 req, out := c.UpdateFieldLevelEncryptionConfigRequest(input) 4551 req.SetContext(ctx) 4552 req.ApplyOptions(opts...) 4553 return out, req.Send() 4554} 4555 4556const opUpdateFieldLevelEncryptionProfile = "UpdateFieldLevelEncryptionProfile2019_03_26" 4557 4558// UpdateFieldLevelEncryptionProfileRequest generates a "aws/request.Request" representing the 4559// client's request for the UpdateFieldLevelEncryptionProfile operation. The "output" return 4560// value will be populated with the request's response once the request completes 4561// successfully. 4562// 4563// Use "Send" method on the returned Request to send the API call to the service. 4564// the "output" return value is not valid until after Send returns without error. 4565// 4566// See UpdateFieldLevelEncryptionProfile for more information on using the UpdateFieldLevelEncryptionProfile 4567// API call, and error handling. 4568// 4569// This method is useful when you want to inject custom logic or configuration 4570// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4571// 4572// 4573// // Example sending a request using the UpdateFieldLevelEncryptionProfileRequest method. 4574// req, resp := client.UpdateFieldLevelEncryptionProfileRequest(params) 4575// 4576// err := req.Send() 4577// if err == nil { // resp is now filled 4578// fmt.Println(resp) 4579// } 4580// 4581// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile 4582func (c *CloudFront) UpdateFieldLevelEncryptionProfileRequest(input *UpdateFieldLevelEncryptionProfileInput) (req *request.Request, output *UpdateFieldLevelEncryptionProfileOutput) { 4583 op := &request.Operation{ 4584 Name: opUpdateFieldLevelEncryptionProfile, 4585 HTTPMethod: "PUT", 4586 HTTPPath: "/2019-03-26/field-level-encryption-profile/{Id}/config", 4587 } 4588 4589 if input == nil { 4590 input = &UpdateFieldLevelEncryptionProfileInput{} 4591 } 4592 4593 output = &UpdateFieldLevelEncryptionProfileOutput{} 4594 req = c.newRequest(op, input, output) 4595 return 4596} 4597 4598// UpdateFieldLevelEncryptionProfile API operation for Amazon CloudFront. 4599// 4600// Update a field-level encryption profile. 4601// 4602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4603// with awserr.Error's Code and Message methods to get detailed information about 4604// the error. 4605// 4606// See the AWS API reference guide for Amazon CloudFront's 4607// API operation UpdateFieldLevelEncryptionProfile for usage and error information. 4608// 4609// Returned Error Codes: 4610// * ErrCodeAccessDenied "AccessDenied" 4611// Access denied. 4612// 4613// * ErrCodeFieldLevelEncryptionProfileAlreadyExists "FieldLevelEncryptionProfileAlreadyExists" 4614// The specified profile for field-level encryption already exists. 4615// 4616// * ErrCodeIllegalUpdate "IllegalUpdate" 4617// Origin and CallerReference cannot be updated. 4618// 4619// * ErrCodeInconsistentQuantities "InconsistentQuantities" 4620// The value of Quantity and the size of Items don't match. 4621// 4622// * ErrCodeInvalidArgument "InvalidArgument" 4623// The argument is invalid. 4624// 4625// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4626// The If-Match version is missing or not valid for the distribution. 4627// 4628// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 4629// The specified public key doesn't exist. 4630// 4631// * ErrCodeNoSuchFieldLevelEncryptionProfile "NoSuchFieldLevelEncryptionProfile" 4632// The specified profile for field-level encryption doesn't exist. 4633// 4634// * ErrCodePreconditionFailed "PreconditionFailed" 4635// The precondition given in one or more of the request-header fields evaluated 4636// to false. 4637// 4638// * ErrCodeFieldLevelEncryptionProfileSizeExceeded "FieldLevelEncryptionProfileSizeExceeded" 4639// The maximum size of a profile for field-level encryption was exceeded. 4640// 4641// * ErrCodeTooManyFieldLevelEncryptionEncryptionEntities "TooManyFieldLevelEncryptionEncryptionEntities" 4642// The maximum number of encryption entities for field-level encryption have 4643// been created. 4644// 4645// * ErrCodeTooManyFieldLevelEncryptionFieldPatterns "TooManyFieldLevelEncryptionFieldPatterns" 4646// The maximum number of field patterns for field-level encryption have been 4647// created. 4648// 4649// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateFieldLevelEncryptionProfile 4650func (c *CloudFront) UpdateFieldLevelEncryptionProfile(input *UpdateFieldLevelEncryptionProfileInput) (*UpdateFieldLevelEncryptionProfileOutput, error) { 4651 req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) 4652 return out, req.Send() 4653} 4654 4655// UpdateFieldLevelEncryptionProfileWithContext is the same as UpdateFieldLevelEncryptionProfile with the addition of 4656// the ability to pass a context and additional request options. 4657// 4658// See UpdateFieldLevelEncryptionProfile for details on how to use this API operation. 4659// 4660// The context must be non-nil and will be used for request cancellation. If 4661// the context is nil a panic will occur. In the future the SDK may create 4662// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4663// for more information on using Contexts. 4664func (c *CloudFront) UpdateFieldLevelEncryptionProfileWithContext(ctx aws.Context, input *UpdateFieldLevelEncryptionProfileInput, opts ...request.Option) (*UpdateFieldLevelEncryptionProfileOutput, error) { 4665 req, out := c.UpdateFieldLevelEncryptionProfileRequest(input) 4666 req.SetContext(ctx) 4667 req.ApplyOptions(opts...) 4668 return out, req.Send() 4669} 4670 4671const opUpdatePublicKey = "UpdatePublicKey2019_03_26" 4672 4673// UpdatePublicKeyRequest generates a "aws/request.Request" representing the 4674// client's request for the UpdatePublicKey operation. The "output" return 4675// value will be populated with the request's response once the request completes 4676// successfully. 4677// 4678// Use "Send" method on the returned Request to send the API call to the service. 4679// the "output" return value is not valid until after Send returns without error. 4680// 4681// See UpdatePublicKey for more information on using the UpdatePublicKey 4682// API call, and error handling. 4683// 4684// This method is useful when you want to inject custom logic or configuration 4685// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4686// 4687// 4688// // Example sending a request using the UpdatePublicKeyRequest method. 4689// req, resp := client.UpdatePublicKeyRequest(params) 4690// 4691// err := req.Send() 4692// if err == nil { // resp is now filled 4693// fmt.Println(resp) 4694// } 4695// 4696// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey 4697func (c *CloudFront) UpdatePublicKeyRequest(input *UpdatePublicKeyInput) (req *request.Request, output *UpdatePublicKeyOutput) { 4698 op := &request.Operation{ 4699 Name: opUpdatePublicKey, 4700 HTTPMethod: "PUT", 4701 HTTPPath: "/2019-03-26/public-key/{Id}/config", 4702 } 4703 4704 if input == nil { 4705 input = &UpdatePublicKeyInput{} 4706 } 4707 4708 output = &UpdatePublicKeyOutput{} 4709 req = c.newRequest(op, input, output) 4710 return 4711} 4712 4713// UpdatePublicKey API operation for Amazon CloudFront. 4714// 4715// Update public key information. Note that the only value you can change is 4716// the comment. 4717// 4718// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4719// with awserr.Error's Code and Message methods to get detailed information about 4720// the error. 4721// 4722// See the AWS API reference guide for Amazon CloudFront's 4723// API operation UpdatePublicKey for usage and error information. 4724// 4725// Returned Error Codes: 4726// * ErrCodeAccessDenied "AccessDenied" 4727// Access denied. 4728// 4729// * ErrCodeCannotChangeImmutablePublicKeyFields "CannotChangeImmutablePublicKeyFields" 4730// You can't change the value of a public key. 4731// 4732// * ErrCodeInvalidArgument "InvalidArgument" 4733// The argument is invalid. 4734// 4735// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4736// The If-Match version is missing or not valid for the distribution. 4737// 4738// * ErrCodeIllegalUpdate "IllegalUpdate" 4739// Origin and CallerReference cannot be updated. 4740// 4741// * ErrCodeNoSuchPublicKey "NoSuchPublicKey" 4742// The specified public key doesn't exist. 4743// 4744// * ErrCodePreconditionFailed "PreconditionFailed" 4745// The precondition given in one or more of the request-header fields evaluated 4746// to false. 4747// 4748// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdatePublicKey 4749func (c *CloudFront) UpdatePublicKey(input *UpdatePublicKeyInput) (*UpdatePublicKeyOutput, error) { 4750 req, out := c.UpdatePublicKeyRequest(input) 4751 return out, req.Send() 4752} 4753 4754// UpdatePublicKeyWithContext is the same as UpdatePublicKey with the addition of 4755// the ability to pass a context and additional request options. 4756// 4757// See UpdatePublicKey for details on how to use this API operation. 4758// 4759// The context must be non-nil and will be used for request cancellation. If 4760// the context is nil a panic will occur. In the future the SDK may create 4761// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4762// for more information on using Contexts. 4763func (c *CloudFront) UpdatePublicKeyWithContext(ctx aws.Context, input *UpdatePublicKeyInput, opts ...request.Option) (*UpdatePublicKeyOutput, error) { 4764 req, out := c.UpdatePublicKeyRequest(input) 4765 req.SetContext(ctx) 4766 req.ApplyOptions(opts...) 4767 return out, req.Send() 4768} 4769 4770const opUpdateStreamingDistribution = "UpdateStreamingDistribution2019_03_26" 4771 4772// UpdateStreamingDistributionRequest generates a "aws/request.Request" representing the 4773// client's request for the UpdateStreamingDistribution operation. The "output" return 4774// value will be populated with the request's response once the request completes 4775// successfully. 4776// 4777// Use "Send" method on the returned Request to send the API call to the service. 4778// the "output" return value is not valid until after Send returns without error. 4779// 4780// See UpdateStreamingDistribution for more information on using the UpdateStreamingDistribution 4781// API call, and error handling. 4782// 4783// This method is useful when you want to inject custom logic or configuration 4784// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4785// 4786// 4787// // Example sending a request using the UpdateStreamingDistributionRequest method. 4788// req, resp := client.UpdateStreamingDistributionRequest(params) 4789// 4790// err := req.Send() 4791// if err == nil { // resp is now filled 4792// fmt.Println(resp) 4793// } 4794// 4795// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution 4796func (c *CloudFront) UpdateStreamingDistributionRequest(input *UpdateStreamingDistributionInput) (req *request.Request, output *UpdateStreamingDistributionOutput) { 4797 op := &request.Operation{ 4798 Name: opUpdateStreamingDistribution, 4799 HTTPMethod: "PUT", 4800 HTTPPath: "/2019-03-26/streaming-distribution/{Id}/config", 4801 } 4802 4803 if input == nil { 4804 input = &UpdateStreamingDistributionInput{} 4805 } 4806 4807 output = &UpdateStreamingDistributionOutput{} 4808 req = c.newRequest(op, input, output) 4809 return 4810} 4811 4812// UpdateStreamingDistribution API operation for Amazon CloudFront. 4813// 4814// Update a streaming distribution. 4815// 4816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4817// with awserr.Error's Code and Message methods to get detailed information about 4818// the error. 4819// 4820// See the AWS API reference guide for Amazon CloudFront's 4821// API operation UpdateStreamingDistribution for usage and error information. 4822// 4823// Returned Error Codes: 4824// * ErrCodeAccessDenied "AccessDenied" 4825// Access denied. 4826// 4827// * ErrCodeCNAMEAlreadyExists "CNAMEAlreadyExists" 4828// The CNAME specified is already defined for CloudFront. 4829// 4830// * ErrCodeIllegalUpdate "IllegalUpdate" 4831// Origin and CallerReference cannot be updated. 4832// 4833// * ErrCodeInvalidIfMatchVersion "InvalidIfMatchVersion" 4834// The If-Match version is missing or not valid for the distribution. 4835// 4836// * ErrCodeMissingBody "MissingBody" 4837// This operation requires a body. Ensure that the body is present and the Content-Type 4838// header is set. 4839// 4840// * ErrCodeNoSuchStreamingDistribution "NoSuchStreamingDistribution" 4841// The specified streaming distribution does not exist. 4842// 4843// * ErrCodePreconditionFailed "PreconditionFailed" 4844// The precondition given in one or more of the request-header fields evaluated 4845// to false. 4846// 4847// * ErrCodeTooManyStreamingDistributionCNAMEs "TooManyStreamingDistributionCNAMEs" 4848// Your request contains more CNAMEs than are allowed per distribution. 4849// 4850// * ErrCodeInvalidArgument "InvalidArgument" 4851// The argument is invalid. 4852// 4853// * ErrCodeInvalidOriginAccessIdentity "InvalidOriginAccessIdentity" 4854// The origin access identity is not valid or doesn't exist. 4855// 4856// * ErrCodeTooManyTrustedSigners "TooManyTrustedSigners" 4857// Your request contains more trusted signers than are allowed per distribution. 4858// 4859// * ErrCodeTrustedSignerDoesNotExist "TrustedSignerDoesNotExist" 4860// One or more of your trusted signers don't exist. 4861// 4862// * ErrCodeInconsistentQuantities "InconsistentQuantities" 4863// The value of Quantity and the size of Items don't match. 4864// 4865// See also, https://docs.aws.amazon.com/goto/WebAPI/cloudfront-2019-03-26/UpdateStreamingDistribution 4866func (c *CloudFront) UpdateStreamingDistribution(input *UpdateStreamingDistributionInput) (*UpdateStreamingDistributionOutput, error) { 4867 req, out := c.UpdateStreamingDistributionRequest(input) 4868 return out, req.Send() 4869} 4870 4871// UpdateStreamingDistributionWithContext is the same as UpdateStreamingDistribution with the addition of 4872// the ability to pass a context and additional request options. 4873// 4874// See UpdateStreamingDistribution for details on how to use this API operation. 4875// 4876// The context must be non-nil and will be used for request cancellation. If 4877// the context is nil a panic will occur. In the future the SDK may create 4878// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4879// for more information on using Contexts. 4880func (c *CloudFront) UpdateStreamingDistributionWithContext(ctx aws.Context, input *UpdateStreamingDistributionInput, opts ...request.Option) (*UpdateStreamingDistributionOutput, error) { 4881 req, out := c.UpdateStreamingDistributionRequest(input) 4882 req.SetContext(ctx) 4883 req.ApplyOptions(opts...) 4884 return out, req.Send() 4885} 4886 4887// A complex type that lists the AWS accounts, if any, that you included in 4888// the TrustedSigners complex type for this distribution. These are the accounts 4889// that you want to allow to create signed URLs for private content. 4890// 4891// The Signer complex type lists the AWS account number of the trusted signer 4892// or self if the signer is the AWS account that created the distribution. The 4893// Signer element also includes the IDs of any active CloudFront key pairs that 4894// are associated with the trusted signer's AWS account. If no KeyPairId element 4895// appears for a Signer, that signer can't create signed URLs. 4896// 4897// For more information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 4898// in the Amazon CloudFront Developer Guide. 4899type ActiveTrustedSigners struct { 4900 _ struct{} `type:"structure"` 4901 4902 // Enabled is true if any of the AWS accounts listed in the TrustedSigners complex 4903 // type for this distribution have active CloudFront key pairs. If not, Enabled 4904 // is false. 4905 // 4906 // Enabled is a required field 4907 Enabled *bool `type:"boolean" required:"true"` 4908 4909 // A complex type that contains one Signer complex type for each trusted signer 4910 // that is specified in the TrustedSigners complex type. 4911 Items []*Signer `locationNameList:"Signer" type:"list"` 4912 4913 // The number of trusted signers specified in the TrustedSigners complex type. 4914 // 4915 // Quantity is a required field 4916 Quantity *int64 `type:"integer" required:"true"` 4917} 4918 4919// String returns the string representation 4920func (s ActiveTrustedSigners) String() string { 4921 return awsutil.Prettify(s) 4922} 4923 4924// GoString returns the string representation 4925func (s ActiveTrustedSigners) GoString() string { 4926 return s.String() 4927} 4928 4929// SetEnabled sets the Enabled field's value. 4930func (s *ActiveTrustedSigners) SetEnabled(v bool) *ActiveTrustedSigners { 4931 s.Enabled = &v 4932 return s 4933} 4934 4935// SetItems sets the Items field's value. 4936func (s *ActiveTrustedSigners) SetItems(v []*Signer) *ActiveTrustedSigners { 4937 s.Items = v 4938 return s 4939} 4940 4941// SetQuantity sets the Quantity field's value. 4942func (s *ActiveTrustedSigners) SetQuantity(v int64) *ActiveTrustedSigners { 4943 s.Quantity = &v 4944 return s 4945} 4946 4947// AWS services in China customers must file for an Internet Content Provider 4948// (ICP) recordal if they want to serve content publicly on an alternate domain 4949// name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal 4950// provides the ICP recordal status for CNAMEs associated with distributions. 4951// The status is returned in the CloudFront response; you can't configure it 4952// yourself. 4953// 4954// For more information about ICP recordals, see Signup, Accounts, and Credentials 4955// (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 4956// in Getting Started with AWS services in China. 4957type AliasICPRecordal struct { 4958 _ struct{} `type:"structure"` 4959 4960 // A domain name associated with a distribution. 4961 CNAME *string `type:"string"` 4962 4963 // The Internet Content Provider (ICP) recordal status for a CNAME. The ICPRecordalStatus 4964 // is set to APPROVED for all CNAMEs (aliases) in regions outside of China. 4965 // 4966 // The status values returned are the following: 4967 // 4968 // * APPROVED indicates that the associated CNAME has a valid ICP recordal 4969 // number. Multiple CNAMEs can be associated with a distribution, and CNAMEs 4970 // can correspond to different ICP recordals. To be marked as APPROVED, that 4971 // is, valid to use with China region, a CNAME must have one ICP recordal 4972 // number associated with it. 4973 // 4974 // * SUSPENDED indicates that the associated CNAME does not have a valid 4975 // ICP recordal number. 4976 // 4977 // * PENDING indicates that CloudFront can't determine the ICP recordal status 4978 // of the CNAME associated with the distribution because there was an error 4979 // in trying to determine the status. You can try again to see if the error 4980 // is resolved in which case CloudFront returns an APPROVED or SUSPENDED 4981 // status. 4982 ICPRecordalStatus *string `type:"string" enum:"ICPRecordalStatus"` 4983} 4984 4985// String returns the string representation 4986func (s AliasICPRecordal) String() string { 4987 return awsutil.Prettify(s) 4988} 4989 4990// GoString returns the string representation 4991func (s AliasICPRecordal) GoString() string { 4992 return s.String() 4993} 4994 4995// SetCNAME sets the CNAME field's value. 4996func (s *AliasICPRecordal) SetCNAME(v string) *AliasICPRecordal { 4997 s.CNAME = &v 4998 return s 4999} 5000 5001// SetICPRecordalStatus sets the ICPRecordalStatus field's value. 5002func (s *AliasICPRecordal) SetICPRecordalStatus(v string) *AliasICPRecordal { 5003 s.ICPRecordalStatus = &v 5004 return s 5005} 5006 5007// A complex type that contains information about CNAMEs (alternate domain names), 5008// if any, for this distribution. 5009type Aliases struct { 5010 _ struct{} `type:"structure"` 5011 5012 // A complex type that contains the CNAME aliases, if any, that you want to 5013 // associate with this distribution. 5014 Items []*string `locationNameList:"CNAME" type:"list"` 5015 5016 // The number of CNAME aliases, if any, that you want to associate with this 5017 // distribution. 5018 // 5019 // Quantity is a required field 5020 Quantity *int64 `type:"integer" required:"true"` 5021} 5022 5023// String returns the string representation 5024func (s Aliases) String() string { 5025 return awsutil.Prettify(s) 5026} 5027 5028// GoString returns the string representation 5029func (s Aliases) GoString() string { 5030 return s.String() 5031} 5032 5033// Validate inspects the fields of the type to determine if they are valid. 5034func (s *Aliases) Validate() error { 5035 invalidParams := request.ErrInvalidParams{Context: "Aliases"} 5036 if s.Quantity == nil { 5037 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5038 } 5039 5040 if invalidParams.Len() > 0 { 5041 return invalidParams 5042 } 5043 return nil 5044} 5045 5046// SetItems sets the Items field's value. 5047func (s *Aliases) SetItems(v []*string) *Aliases { 5048 s.Items = v 5049 return s 5050} 5051 5052// SetQuantity sets the Quantity field's value. 5053func (s *Aliases) SetQuantity(v int64) *Aliases { 5054 s.Quantity = &v 5055 return s 5056} 5057 5058// A complex type that controls which HTTP methods CloudFront processes and 5059// forwards to your Amazon S3 bucket or your custom origin. There are three 5060// choices: 5061// 5062// * CloudFront forwards only GET and HEAD requests. 5063// 5064// * CloudFront forwards only GET, HEAD, and OPTIONS requests. 5065// 5066// * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 5067// requests. 5068// 5069// If you pick the third choice, you may need to restrict access to your Amazon 5070// S3 bucket or to your custom origin so users can't perform operations that 5071// you don't want them to. For example, you might not want users to have permissions 5072// to delete objects from your origin. 5073type AllowedMethods struct { 5074 _ struct{} `type:"structure"` 5075 5076 // A complex type that controls whether CloudFront caches the response to requests 5077 // using the specified HTTP methods. There are two choices: 5078 // 5079 // * CloudFront caches responses to GET and HEAD requests. 5080 // 5081 // * CloudFront caches responses to GET, HEAD, and OPTIONS requests. 5082 // 5083 // If you pick the second choice for your Amazon S3 Origin, you may need to 5084 // forward Access-Control-Request-Method, Access-Control-Request-Headers, and 5085 // Origin headers for the responses to be cached correctly. 5086 CachedMethods *CachedMethods `type:"structure"` 5087 5088 // A complex type that contains the HTTP methods that you want CloudFront to 5089 // process and forward to your origin. 5090 // 5091 // Items is a required field 5092 Items []*string `locationNameList:"Method" type:"list" required:"true"` 5093 5094 // The number of HTTP methods that you want CloudFront to forward to your origin. 5095 // Valid values are 2 (for GET and HEAD requests), 3 (for GET, HEAD, and OPTIONS 5096 // requests) and 7 (for GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE requests). 5097 // 5098 // Quantity is a required field 5099 Quantity *int64 `type:"integer" required:"true"` 5100} 5101 5102// String returns the string representation 5103func (s AllowedMethods) String() string { 5104 return awsutil.Prettify(s) 5105} 5106 5107// GoString returns the string representation 5108func (s AllowedMethods) GoString() string { 5109 return s.String() 5110} 5111 5112// Validate inspects the fields of the type to determine if they are valid. 5113func (s *AllowedMethods) Validate() error { 5114 invalidParams := request.ErrInvalidParams{Context: "AllowedMethods"} 5115 if s.Items == nil { 5116 invalidParams.Add(request.NewErrParamRequired("Items")) 5117 } 5118 if s.Quantity == nil { 5119 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5120 } 5121 if s.CachedMethods != nil { 5122 if err := s.CachedMethods.Validate(); err != nil { 5123 invalidParams.AddNested("CachedMethods", err.(request.ErrInvalidParams)) 5124 } 5125 } 5126 5127 if invalidParams.Len() > 0 { 5128 return invalidParams 5129 } 5130 return nil 5131} 5132 5133// SetCachedMethods sets the CachedMethods field's value. 5134func (s *AllowedMethods) SetCachedMethods(v *CachedMethods) *AllowedMethods { 5135 s.CachedMethods = v 5136 return s 5137} 5138 5139// SetItems sets the Items field's value. 5140func (s *AllowedMethods) SetItems(v []*string) *AllowedMethods { 5141 s.Items = v 5142 return s 5143} 5144 5145// SetQuantity sets the Quantity field's value. 5146func (s *AllowedMethods) SetQuantity(v int64) *AllowedMethods { 5147 s.Quantity = &v 5148 return s 5149} 5150 5151// A complex type that describes how CloudFront processes requests. 5152// 5153// You must create at least as many cache behaviors (including the default cache 5154// behavior) as you have origins if you want CloudFront to distribute objects 5155// from all of the origins. Each cache behavior specifies the one origin from 5156// which you want CloudFront to get objects. If you have two origins and only 5157// the default cache behavior, the default cache behavior will cause CloudFront 5158// to get objects from one of the origins, but the other origin is never used. 5159// 5160// For the current limit on the number of cache behaviors that you can add to 5161// a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) 5162// in the AWS General Reference. 5163// 5164// If you don't want to specify any cache behaviors, include only an empty CacheBehaviors 5165// element. Don't include an empty CacheBehavior element, or CloudFront returns 5166// a MalformedXML error. 5167// 5168// To delete all cache behaviors in an existing distribution, update the distribution 5169// configuration and include only an empty CacheBehaviors element. 5170// 5171// To add, change, or remove one or more cache behaviors, update the distribution 5172// configuration and specify all of the cache behaviors that you want to include 5173// in the updated distribution. 5174// 5175// For more information about cache behaviors, see Cache Behaviors (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) 5176// in the Amazon CloudFront Developer Guide. 5177type CacheBehavior struct { 5178 _ struct{} `type:"structure"` 5179 5180 // A complex type that controls which HTTP methods CloudFront processes and 5181 // forwards to your Amazon S3 bucket or your custom origin. There are three 5182 // choices: 5183 // 5184 // * CloudFront forwards only GET and HEAD requests. 5185 // 5186 // * CloudFront forwards only GET, HEAD, and OPTIONS requests. 5187 // 5188 // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 5189 // requests. 5190 // 5191 // If you pick the third choice, you may need to restrict access to your Amazon 5192 // S3 bucket or to your custom origin so users can't perform operations that 5193 // you don't want them to. For example, you might not want users to have permissions 5194 // to delete objects from your origin. 5195 AllowedMethods *AllowedMethods `type:"structure"` 5196 5197 // Whether you want CloudFront to automatically compress certain files for this 5198 // cache behavior. If so, specify true; if not, specify false. For more information, 5199 // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) 5200 // in the Amazon CloudFront Developer Guide. 5201 Compress *bool `type:"boolean"` 5202 5203 // The default amount of time that you want objects to stay in CloudFront caches 5204 // before CloudFront forwards another request to your origin to determine whether 5205 // the object has been updated. The value that you specify applies only when 5206 // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control 5207 // s-maxage, and Expires to objects. For more information, see Managing How 5208 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 5209 // in the Amazon CloudFront Developer Guide. 5210 DefaultTTL *int64 `type:"long"` 5211 5212 // The value of ID for the field-level encryption configuration that you want 5213 // CloudFront to use for encrypting specific fields of data for a cache behavior 5214 // or for the default cache behavior in your distribution. 5215 FieldLevelEncryptionId *string `type:"string"` 5216 5217 // A complex type that specifies how CloudFront handles query strings, cookies, 5218 // and HTTP headers. 5219 // 5220 // ForwardedValues is a required field 5221 ForwardedValues *ForwardedValues `type:"structure" required:"true"` 5222 5223 // A complex type that contains zero or more Lambda function associations for 5224 // a cache behavior. 5225 LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` 5226 5227 // The maximum amount of time that you want objects to stay in CloudFront caches 5228 // before CloudFront forwards another request to your origin to determine whether 5229 // the object has been updated. The value that you specify applies only when 5230 // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control 5231 // s-maxage, and Expires to objects. For more information, see Managing How 5232 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 5233 // in the Amazon CloudFront Developer Guide. 5234 MaxTTL *int64 `type:"long"` 5235 5236 // The minimum amount of time that you want objects to stay in CloudFront caches 5237 // before CloudFront forwards another request to your origin to determine whether 5238 // the object has been updated. For more information, see Managing How Long 5239 // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 5240 // in the Amazon CloudFront Developer Guide. 5241 // 5242 // You must specify 0 for MinTTL if you configure CloudFront to forward all 5243 // headers to your origin (under Headers, if you specify 1 for Quantity and 5244 // * for Name). 5245 // 5246 // MinTTL is a required field 5247 MinTTL *int64 `type:"long" required:"true"` 5248 5249 // The pattern (for example, images/*.jpg) that specifies which requests to 5250 // apply the behavior to. When CloudFront receives a viewer request, the requested 5251 // path is compared with path patterns in the order in which cache behaviors 5252 // are listed in the distribution. 5253 // 5254 // You can optionally include a slash (/) at the beginning of the path pattern. 5255 // For example, /images/*.jpg. CloudFront behavior is the same with or without 5256 // the leading /. 5257 // 5258 // The path pattern for the default cache behavior is * and cannot be changed. 5259 // If the request for an object does not match the path pattern for any cache 5260 // behaviors, CloudFront applies the behavior in the default cache behavior. 5261 // 5262 // For more information, see Path Pattern (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesPathPattern) 5263 // in the Amazon CloudFront Developer Guide. 5264 // 5265 // PathPattern is a required field 5266 PathPattern *string `type:"string" required:"true"` 5267 5268 // Indicates whether you want to distribute media files in the Microsoft Smooth 5269 // Streaming format using the origin that is associated with this cache behavior. 5270 // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, 5271 // you can still distribute other content using this cache behavior if the content 5272 // matches the value of PathPattern. 5273 SmoothStreaming *bool `type:"boolean"` 5274 5275 // The value of ID for the origin that you want CloudFront to route requests 5276 // to when a request matches the path pattern either for a cache behavior or 5277 // for the default cache behavior in your distribution. 5278 // 5279 // TargetOriginId is a required field 5280 TargetOriginId *string `type:"string" required:"true"` 5281 5282 // A complex type that specifies the AWS accounts, if any, that you want to 5283 // allow to create signed URLs for private content. 5284 // 5285 // If you want to require signed URLs in requests for objects in the target 5286 // origin that match the PathPattern for this cache behavior, specify true for 5287 // Enabled, and specify the applicable values for Quantity and Items. For more 5288 // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 5289 // in the Amazon CloudFront Developer Guide. 5290 // 5291 // If you don't want to require signed URLs in requests for objects that match 5292 // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. 5293 // 5294 // To add, change, or remove one or more trusted signers, change Enabled to 5295 // true (if it's currently false), change Quantity as applicable, and specify 5296 // all of the trusted signers that you want to include in the updated distribution. 5297 // 5298 // TrustedSigners is a required field 5299 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 5300 5301 // The protocol that viewers can use to access the files in the origin specified 5302 // by TargetOriginId when a request matches the path pattern in PathPattern. 5303 // You can specify the following options: 5304 // 5305 // * allow-all: Viewers can use HTTP or HTTPS. 5306 // 5307 // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns 5308 // an HTTP status code of 301 (Moved Permanently) to the viewer along with 5309 // the HTTPS URL. The viewer then resubmits the request using the new URL. 5310 // 5311 // * https-only: If a viewer sends an HTTP request, CloudFront returns an 5312 // HTTP status code of 403 (Forbidden). 5313 // 5314 // For more information about requiring the HTTPS protocol, see Using an HTTPS 5315 // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) 5316 // in the Amazon CloudFront Developer Guide. 5317 // 5318 // The only way to guarantee that viewers retrieve an object that was fetched 5319 // from the origin using HTTPS is never to use any other protocol to fetch the 5320 // object. If you have recently changed from HTTP to HTTPS, we recommend that 5321 // you clear your objects' cache because cached objects are protocol agnostic. 5322 // That means that an edge location will return an object from the cache regardless 5323 // of whether the current request protocol matches the protocol used previously. 5324 // For more information, see Managing How Long Content Stays in an Edge Cache 5325 // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 5326 // in the Amazon CloudFront Developer Guide. 5327 // 5328 // ViewerProtocolPolicy is a required field 5329 ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` 5330} 5331 5332// String returns the string representation 5333func (s CacheBehavior) String() string { 5334 return awsutil.Prettify(s) 5335} 5336 5337// GoString returns the string representation 5338func (s CacheBehavior) GoString() string { 5339 return s.String() 5340} 5341 5342// Validate inspects the fields of the type to determine if they are valid. 5343func (s *CacheBehavior) Validate() error { 5344 invalidParams := request.ErrInvalidParams{Context: "CacheBehavior"} 5345 if s.ForwardedValues == nil { 5346 invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) 5347 } 5348 if s.MinTTL == nil { 5349 invalidParams.Add(request.NewErrParamRequired("MinTTL")) 5350 } 5351 if s.PathPattern == nil { 5352 invalidParams.Add(request.NewErrParamRequired("PathPattern")) 5353 } 5354 if s.TargetOriginId == nil { 5355 invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) 5356 } 5357 if s.TrustedSigners == nil { 5358 invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) 5359 } 5360 if s.ViewerProtocolPolicy == nil { 5361 invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) 5362 } 5363 if s.AllowedMethods != nil { 5364 if err := s.AllowedMethods.Validate(); err != nil { 5365 invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) 5366 } 5367 } 5368 if s.ForwardedValues != nil { 5369 if err := s.ForwardedValues.Validate(); err != nil { 5370 invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) 5371 } 5372 } 5373 if s.LambdaFunctionAssociations != nil { 5374 if err := s.LambdaFunctionAssociations.Validate(); err != nil { 5375 invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) 5376 } 5377 } 5378 if s.TrustedSigners != nil { 5379 if err := s.TrustedSigners.Validate(); err != nil { 5380 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 5381 } 5382 } 5383 5384 if invalidParams.Len() > 0 { 5385 return invalidParams 5386 } 5387 return nil 5388} 5389 5390// SetAllowedMethods sets the AllowedMethods field's value. 5391func (s *CacheBehavior) SetAllowedMethods(v *AllowedMethods) *CacheBehavior { 5392 s.AllowedMethods = v 5393 return s 5394} 5395 5396// SetCompress sets the Compress field's value. 5397func (s *CacheBehavior) SetCompress(v bool) *CacheBehavior { 5398 s.Compress = &v 5399 return s 5400} 5401 5402// SetDefaultTTL sets the DefaultTTL field's value. 5403func (s *CacheBehavior) SetDefaultTTL(v int64) *CacheBehavior { 5404 s.DefaultTTL = &v 5405 return s 5406} 5407 5408// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. 5409func (s *CacheBehavior) SetFieldLevelEncryptionId(v string) *CacheBehavior { 5410 s.FieldLevelEncryptionId = &v 5411 return s 5412} 5413 5414// SetForwardedValues sets the ForwardedValues field's value. 5415func (s *CacheBehavior) SetForwardedValues(v *ForwardedValues) *CacheBehavior { 5416 s.ForwardedValues = v 5417 return s 5418} 5419 5420// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. 5421func (s *CacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *CacheBehavior { 5422 s.LambdaFunctionAssociations = v 5423 return s 5424} 5425 5426// SetMaxTTL sets the MaxTTL field's value. 5427func (s *CacheBehavior) SetMaxTTL(v int64) *CacheBehavior { 5428 s.MaxTTL = &v 5429 return s 5430} 5431 5432// SetMinTTL sets the MinTTL field's value. 5433func (s *CacheBehavior) SetMinTTL(v int64) *CacheBehavior { 5434 s.MinTTL = &v 5435 return s 5436} 5437 5438// SetPathPattern sets the PathPattern field's value. 5439func (s *CacheBehavior) SetPathPattern(v string) *CacheBehavior { 5440 s.PathPattern = &v 5441 return s 5442} 5443 5444// SetSmoothStreaming sets the SmoothStreaming field's value. 5445func (s *CacheBehavior) SetSmoothStreaming(v bool) *CacheBehavior { 5446 s.SmoothStreaming = &v 5447 return s 5448} 5449 5450// SetTargetOriginId sets the TargetOriginId field's value. 5451func (s *CacheBehavior) SetTargetOriginId(v string) *CacheBehavior { 5452 s.TargetOriginId = &v 5453 return s 5454} 5455 5456// SetTrustedSigners sets the TrustedSigners field's value. 5457func (s *CacheBehavior) SetTrustedSigners(v *TrustedSigners) *CacheBehavior { 5458 s.TrustedSigners = v 5459 return s 5460} 5461 5462// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. 5463func (s *CacheBehavior) SetViewerProtocolPolicy(v string) *CacheBehavior { 5464 s.ViewerProtocolPolicy = &v 5465 return s 5466} 5467 5468// A complex type that contains zero or more CacheBehavior elements. 5469type CacheBehaviors struct { 5470 _ struct{} `type:"structure"` 5471 5472 // Optional: A complex type that contains cache behaviors for this distribution. 5473 // If Quantity is 0, you can omit Items. 5474 Items []*CacheBehavior `locationNameList:"CacheBehavior" type:"list"` 5475 5476 // The number of cache behaviors for this distribution. 5477 // 5478 // Quantity is a required field 5479 Quantity *int64 `type:"integer" required:"true"` 5480} 5481 5482// String returns the string representation 5483func (s CacheBehaviors) String() string { 5484 return awsutil.Prettify(s) 5485} 5486 5487// GoString returns the string representation 5488func (s CacheBehaviors) GoString() string { 5489 return s.String() 5490} 5491 5492// Validate inspects the fields of the type to determine if they are valid. 5493func (s *CacheBehaviors) Validate() error { 5494 invalidParams := request.ErrInvalidParams{Context: "CacheBehaviors"} 5495 if s.Quantity == nil { 5496 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5497 } 5498 if s.Items != nil { 5499 for i, v := range s.Items { 5500 if v == nil { 5501 continue 5502 } 5503 if err := v.Validate(); err != nil { 5504 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 5505 } 5506 } 5507 } 5508 5509 if invalidParams.Len() > 0 { 5510 return invalidParams 5511 } 5512 return nil 5513} 5514 5515// SetItems sets the Items field's value. 5516func (s *CacheBehaviors) SetItems(v []*CacheBehavior) *CacheBehaviors { 5517 s.Items = v 5518 return s 5519} 5520 5521// SetQuantity sets the Quantity field's value. 5522func (s *CacheBehaviors) SetQuantity(v int64) *CacheBehaviors { 5523 s.Quantity = &v 5524 return s 5525} 5526 5527// A complex type that controls whether CloudFront caches the response to requests 5528// using the specified HTTP methods. There are two choices: 5529// 5530// * CloudFront caches responses to GET and HEAD requests. 5531// 5532// * CloudFront caches responses to GET, HEAD, and OPTIONS requests. 5533// 5534// If you pick the second choice for your Amazon S3 Origin, you may need to 5535// forward Access-Control-Request-Method, Access-Control-Request-Headers, and 5536// Origin headers for the responses to be cached correctly. 5537type CachedMethods struct { 5538 _ struct{} `type:"structure"` 5539 5540 // A complex type that contains the HTTP methods that you want CloudFront to 5541 // cache responses to. 5542 // 5543 // Items is a required field 5544 Items []*string `locationNameList:"Method" type:"list" required:"true"` 5545 5546 // The number of HTTP methods for which you want CloudFront to cache responses. 5547 // Valid values are 2 (for caching responses to GET and HEAD requests) and 3 5548 // (for caching responses to GET, HEAD, and OPTIONS requests). 5549 // 5550 // Quantity is a required field 5551 Quantity *int64 `type:"integer" required:"true"` 5552} 5553 5554// String returns the string representation 5555func (s CachedMethods) String() string { 5556 return awsutil.Prettify(s) 5557} 5558 5559// GoString returns the string representation 5560func (s CachedMethods) GoString() string { 5561 return s.String() 5562} 5563 5564// Validate inspects the fields of the type to determine if they are valid. 5565func (s *CachedMethods) Validate() error { 5566 invalidParams := request.ErrInvalidParams{Context: "CachedMethods"} 5567 if s.Items == nil { 5568 invalidParams.Add(request.NewErrParamRequired("Items")) 5569 } 5570 if s.Quantity == nil { 5571 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5572 } 5573 5574 if invalidParams.Len() > 0 { 5575 return invalidParams 5576 } 5577 return nil 5578} 5579 5580// SetItems sets the Items field's value. 5581func (s *CachedMethods) SetItems(v []*string) *CachedMethods { 5582 s.Items = v 5583 return s 5584} 5585 5586// SetQuantity sets the Quantity field's value. 5587func (s *CachedMethods) SetQuantity(v int64) *CachedMethods { 5588 s.Quantity = &v 5589 return s 5590} 5591 5592// A field-level encryption content type profile. 5593type ContentTypeProfile struct { 5594 _ struct{} `type:"structure"` 5595 5596 // The content type for a field-level encryption content type-profile mapping. 5597 // 5598 // ContentType is a required field 5599 ContentType *string `type:"string" required:"true"` 5600 5601 // The format for a field-level encryption content type-profile mapping. 5602 // 5603 // Format is a required field 5604 Format *string `type:"string" required:"true" enum:"Format"` 5605 5606 // The profile ID for a field-level encryption content type-profile mapping. 5607 ProfileId *string `type:"string"` 5608} 5609 5610// String returns the string representation 5611func (s ContentTypeProfile) String() string { 5612 return awsutil.Prettify(s) 5613} 5614 5615// GoString returns the string representation 5616func (s ContentTypeProfile) GoString() string { 5617 return s.String() 5618} 5619 5620// Validate inspects the fields of the type to determine if they are valid. 5621func (s *ContentTypeProfile) Validate() error { 5622 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfile"} 5623 if s.ContentType == nil { 5624 invalidParams.Add(request.NewErrParamRequired("ContentType")) 5625 } 5626 if s.Format == nil { 5627 invalidParams.Add(request.NewErrParamRequired("Format")) 5628 } 5629 5630 if invalidParams.Len() > 0 { 5631 return invalidParams 5632 } 5633 return nil 5634} 5635 5636// SetContentType sets the ContentType field's value. 5637func (s *ContentTypeProfile) SetContentType(v string) *ContentTypeProfile { 5638 s.ContentType = &v 5639 return s 5640} 5641 5642// SetFormat sets the Format field's value. 5643func (s *ContentTypeProfile) SetFormat(v string) *ContentTypeProfile { 5644 s.Format = &v 5645 return s 5646} 5647 5648// SetProfileId sets the ProfileId field's value. 5649func (s *ContentTypeProfile) SetProfileId(v string) *ContentTypeProfile { 5650 s.ProfileId = &v 5651 return s 5652} 5653 5654// The configuration for a field-level encryption content type-profile mapping. 5655type ContentTypeProfileConfig struct { 5656 _ struct{} `type:"structure"` 5657 5658 // The configuration for a field-level encryption content type-profile. 5659 ContentTypeProfiles *ContentTypeProfiles `type:"structure"` 5660 5661 // The setting in a field-level encryption content type-profile mapping that 5662 // specifies what to do when an unknown content type is provided for the profile. 5663 // If true, content is forwarded without being encrypted when the content type 5664 // is unknown. If false (the default), an error is returned when the content 5665 // type is unknown. 5666 // 5667 // ForwardWhenContentTypeIsUnknown is a required field 5668 ForwardWhenContentTypeIsUnknown *bool `type:"boolean" required:"true"` 5669} 5670 5671// String returns the string representation 5672func (s ContentTypeProfileConfig) String() string { 5673 return awsutil.Prettify(s) 5674} 5675 5676// GoString returns the string representation 5677func (s ContentTypeProfileConfig) GoString() string { 5678 return s.String() 5679} 5680 5681// Validate inspects the fields of the type to determine if they are valid. 5682func (s *ContentTypeProfileConfig) Validate() error { 5683 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfileConfig"} 5684 if s.ForwardWhenContentTypeIsUnknown == nil { 5685 invalidParams.Add(request.NewErrParamRequired("ForwardWhenContentTypeIsUnknown")) 5686 } 5687 if s.ContentTypeProfiles != nil { 5688 if err := s.ContentTypeProfiles.Validate(); err != nil { 5689 invalidParams.AddNested("ContentTypeProfiles", err.(request.ErrInvalidParams)) 5690 } 5691 } 5692 5693 if invalidParams.Len() > 0 { 5694 return invalidParams 5695 } 5696 return nil 5697} 5698 5699// SetContentTypeProfiles sets the ContentTypeProfiles field's value. 5700func (s *ContentTypeProfileConfig) SetContentTypeProfiles(v *ContentTypeProfiles) *ContentTypeProfileConfig { 5701 s.ContentTypeProfiles = v 5702 return s 5703} 5704 5705// SetForwardWhenContentTypeIsUnknown sets the ForwardWhenContentTypeIsUnknown field's value. 5706func (s *ContentTypeProfileConfig) SetForwardWhenContentTypeIsUnknown(v bool) *ContentTypeProfileConfig { 5707 s.ForwardWhenContentTypeIsUnknown = &v 5708 return s 5709} 5710 5711// Field-level encryption content type-profile. 5712type ContentTypeProfiles struct { 5713 _ struct{} `type:"structure"` 5714 5715 // Items in a field-level encryption content type-profile mapping. 5716 Items []*ContentTypeProfile `locationNameList:"ContentTypeProfile" type:"list"` 5717 5718 // The number of field-level encryption content type-profile mappings. 5719 // 5720 // Quantity is a required field 5721 Quantity *int64 `type:"integer" required:"true"` 5722} 5723 5724// String returns the string representation 5725func (s ContentTypeProfiles) String() string { 5726 return awsutil.Prettify(s) 5727} 5728 5729// GoString returns the string representation 5730func (s ContentTypeProfiles) GoString() string { 5731 return s.String() 5732} 5733 5734// Validate inspects the fields of the type to determine if they are valid. 5735func (s *ContentTypeProfiles) Validate() error { 5736 invalidParams := request.ErrInvalidParams{Context: "ContentTypeProfiles"} 5737 if s.Quantity == nil { 5738 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5739 } 5740 if s.Items != nil { 5741 for i, v := range s.Items { 5742 if v == nil { 5743 continue 5744 } 5745 if err := v.Validate(); err != nil { 5746 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 5747 } 5748 } 5749 } 5750 5751 if invalidParams.Len() > 0 { 5752 return invalidParams 5753 } 5754 return nil 5755} 5756 5757// SetItems sets the Items field's value. 5758func (s *ContentTypeProfiles) SetItems(v []*ContentTypeProfile) *ContentTypeProfiles { 5759 s.Items = v 5760 return s 5761} 5762 5763// SetQuantity sets the Quantity field's value. 5764func (s *ContentTypeProfiles) SetQuantity(v int64) *ContentTypeProfiles { 5765 s.Quantity = &v 5766 return s 5767} 5768 5769// A complex type that specifies whether you want CloudFront to forward cookies 5770// to the origin and, if so, which ones. For more information about forwarding 5771// cookies to the origin, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) 5772// in the Amazon CloudFront Developer Guide. 5773type CookieNames struct { 5774 _ struct{} `type:"structure"` 5775 5776 // A complex type that contains one Name element for each cookie that you want 5777 // CloudFront to forward to the origin for this cache behavior. 5778 Items []*string `locationNameList:"Name" type:"list"` 5779 5780 // The number of different cookies that you want CloudFront to forward to the 5781 // origin for this cache behavior. 5782 // 5783 // Quantity is a required field 5784 Quantity *int64 `type:"integer" required:"true"` 5785} 5786 5787// String returns the string representation 5788func (s CookieNames) String() string { 5789 return awsutil.Prettify(s) 5790} 5791 5792// GoString returns the string representation 5793func (s CookieNames) GoString() string { 5794 return s.String() 5795} 5796 5797// Validate inspects the fields of the type to determine if they are valid. 5798func (s *CookieNames) Validate() error { 5799 invalidParams := request.ErrInvalidParams{Context: "CookieNames"} 5800 if s.Quantity == nil { 5801 invalidParams.Add(request.NewErrParamRequired("Quantity")) 5802 } 5803 5804 if invalidParams.Len() > 0 { 5805 return invalidParams 5806 } 5807 return nil 5808} 5809 5810// SetItems sets the Items field's value. 5811func (s *CookieNames) SetItems(v []*string) *CookieNames { 5812 s.Items = v 5813 return s 5814} 5815 5816// SetQuantity sets the Quantity field's value. 5817func (s *CookieNames) SetQuantity(v int64) *CookieNames { 5818 s.Quantity = &v 5819 return s 5820} 5821 5822// A complex type that specifies whether you want CloudFront to forward cookies 5823// to the origin and, if so, which ones. For more information about forwarding 5824// cookies to the origin, see Caching Content Based on Cookies (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) 5825// in the Amazon CloudFront Developer Guide. 5826type CookiePreference struct { 5827 _ struct{} `type:"structure"` 5828 5829 // Specifies which cookies to forward to the origin for this cache behavior: 5830 // all, none, or the list of cookies specified in the WhitelistedNames complex 5831 // type. 5832 // 5833 // Amazon S3 doesn't process cookies. When the cache behavior is forwarding 5834 // requests to an Amazon S3 origin, specify none for the Forward element. 5835 // 5836 // Forward is a required field 5837 Forward *string `type:"string" required:"true" enum:"ItemSelection"` 5838 5839 // Required if you specify whitelist for the value of Forward:. A complex type 5840 // that specifies how many different cookies you want CloudFront to forward 5841 // to the origin for this cache behavior and, if you want to forward selected 5842 // cookies, the names of those cookies. 5843 // 5844 // If you specify all or none for the value of Forward, omit WhitelistedNames. 5845 // If you change the value of Forward from whitelist to all or none and you 5846 // don't delete the WhitelistedNames element and its child elements, CloudFront 5847 // deletes them automatically. 5848 // 5849 // For the current limit on the number of cookie names that you can whitelist 5850 // for each cache behavior, see CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/xrefaws_service_limits.html#limits_cloudfront) 5851 // in the AWS General Reference. 5852 WhitelistedNames *CookieNames `type:"structure"` 5853} 5854 5855// String returns the string representation 5856func (s CookiePreference) String() string { 5857 return awsutil.Prettify(s) 5858} 5859 5860// GoString returns the string representation 5861func (s CookiePreference) GoString() string { 5862 return s.String() 5863} 5864 5865// Validate inspects the fields of the type to determine if they are valid. 5866func (s *CookiePreference) Validate() error { 5867 invalidParams := request.ErrInvalidParams{Context: "CookiePreference"} 5868 if s.Forward == nil { 5869 invalidParams.Add(request.NewErrParamRequired("Forward")) 5870 } 5871 if s.WhitelistedNames != nil { 5872 if err := s.WhitelistedNames.Validate(); err != nil { 5873 invalidParams.AddNested("WhitelistedNames", err.(request.ErrInvalidParams)) 5874 } 5875 } 5876 5877 if invalidParams.Len() > 0 { 5878 return invalidParams 5879 } 5880 return nil 5881} 5882 5883// SetForward sets the Forward field's value. 5884func (s *CookiePreference) SetForward(v string) *CookiePreference { 5885 s.Forward = &v 5886 return s 5887} 5888 5889// SetWhitelistedNames sets the WhitelistedNames field's value. 5890func (s *CookiePreference) SetWhitelistedNames(v *CookieNames) *CookiePreference { 5891 s.WhitelistedNames = v 5892 return s 5893} 5894 5895// The request to create a new origin access identity (OAI). An origin access 5896// identity is a special CloudFront user that you can associate with Amazon 5897// S3 origins, so that you can secure all or just some of your Amazon S3 content. 5898// For more information, see Restricting Access to Amazon S3 Content by Using 5899// an Origin Access Identity (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 5900// in the Amazon CloudFront Developer Guide. 5901type CreateCloudFrontOriginAccessIdentityInput struct { 5902 _ struct{} `locationName:"CreateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 5903 5904 // The current configuration information for the identity. 5905 // 5906 // CloudFrontOriginAccessIdentityConfig is a required field 5907 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 5908} 5909 5910// String returns the string representation 5911func (s CreateCloudFrontOriginAccessIdentityInput) String() string { 5912 return awsutil.Prettify(s) 5913} 5914 5915// GoString returns the string representation 5916func (s CreateCloudFrontOriginAccessIdentityInput) GoString() string { 5917 return s.String() 5918} 5919 5920// Validate inspects the fields of the type to determine if they are valid. 5921func (s *CreateCloudFrontOriginAccessIdentityInput) Validate() error { 5922 invalidParams := request.ErrInvalidParams{Context: "CreateCloudFrontOriginAccessIdentityInput"} 5923 if s.CloudFrontOriginAccessIdentityConfig == nil { 5924 invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) 5925 } 5926 if s.CloudFrontOriginAccessIdentityConfig != nil { 5927 if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { 5928 invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) 5929 } 5930 } 5931 5932 if invalidParams.Len() > 0 { 5933 return invalidParams 5934 } 5935 return nil 5936} 5937 5938// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 5939func (s *CreateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *CreateCloudFrontOriginAccessIdentityInput { 5940 s.CloudFrontOriginAccessIdentityConfig = v 5941 return s 5942} 5943 5944// The returned result of the corresponding request. 5945type CreateCloudFrontOriginAccessIdentityOutput struct { 5946 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 5947 5948 // The origin access identity's information. 5949 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 5950 5951 // The current version of the origin access identity created. 5952 ETag *string `location:"header" locationName:"ETag" type:"string"` 5953 5954 // The fully qualified URI of the new origin access identity just created. For 5955 // example: https://cloudfront.amazonaws.com/2010-11-01/origin-access-identity/cloudfront/E74FTE3AJFJ256A. 5956 Location *string `location:"header" locationName:"Location" type:"string"` 5957} 5958 5959// String returns the string representation 5960func (s CreateCloudFrontOriginAccessIdentityOutput) String() string { 5961 return awsutil.Prettify(s) 5962} 5963 5964// GoString returns the string representation 5965func (s CreateCloudFrontOriginAccessIdentityOutput) GoString() string { 5966 return s.String() 5967} 5968 5969// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 5970func (s *CreateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *CreateCloudFrontOriginAccessIdentityOutput { 5971 s.CloudFrontOriginAccessIdentity = v 5972 return s 5973} 5974 5975// SetETag sets the ETag field's value. 5976func (s *CreateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *CreateCloudFrontOriginAccessIdentityOutput { 5977 s.ETag = &v 5978 return s 5979} 5980 5981// SetLocation sets the Location field's value. 5982func (s *CreateCloudFrontOriginAccessIdentityOutput) SetLocation(v string) *CreateCloudFrontOriginAccessIdentityOutput { 5983 s.Location = &v 5984 return s 5985} 5986 5987// The request to create a new distribution. 5988type CreateDistributionInput struct { 5989 _ struct{} `locationName:"CreateDistributionRequest" type:"structure" payload:"DistributionConfig"` 5990 5991 // The distribution's configuration information. 5992 // 5993 // DistributionConfig is a required field 5994 DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 5995} 5996 5997// String returns the string representation 5998func (s CreateDistributionInput) String() string { 5999 return awsutil.Prettify(s) 6000} 6001 6002// GoString returns the string representation 6003func (s CreateDistributionInput) GoString() string { 6004 return s.String() 6005} 6006 6007// Validate inspects the fields of the type to determine if they are valid. 6008func (s *CreateDistributionInput) Validate() error { 6009 invalidParams := request.ErrInvalidParams{Context: "CreateDistributionInput"} 6010 if s.DistributionConfig == nil { 6011 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 6012 } 6013 if s.DistributionConfig != nil { 6014 if err := s.DistributionConfig.Validate(); err != nil { 6015 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 6016 } 6017 } 6018 6019 if invalidParams.Len() > 0 { 6020 return invalidParams 6021 } 6022 return nil 6023} 6024 6025// SetDistributionConfig sets the DistributionConfig field's value. 6026func (s *CreateDistributionInput) SetDistributionConfig(v *DistributionConfig) *CreateDistributionInput { 6027 s.DistributionConfig = v 6028 return s 6029} 6030 6031// The returned result of the corresponding request. 6032type CreateDistributionOutput struct { 6033 _ struct{} `type:"structure" payload:"Distribution"` 6034 6035 // The distribution's information. 6036 Distribution *Distribution `type:"structure"` 6037 6038 // The current version of the distribution created. 6039 ETag *string `location:"header" locationName:"ETag" type:"string"` 6040 6041 // The fully qualified URI of the new distribution resource just created. For 6042 // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. 6043 Location *string `location:"header" locationName:"Location" type:"string"` 6044} 6045 6046// String returns the string representation 6047func (s CreateDistributionOutput) String() string { 6048 return awsutil.Prettify(s) 6049} 6050 6051// GoString returns the string representation 6052func (s CreateDistributionOutput) GoString() string { 6053 return s.String() 6054} 6055 6056// SetDistribution sets the Distribution field's value. 6057func (s *CreateDistributionOutput) SetDistribution(v *Distribution) *CreateDistributionOutput { 6058 s.Distribution = v 6059 return s 6060} 6061 6062// SetETag sets the ETag field's value. 6063func (s *CreateDistributionOutput) SetETag(v string) *CreateDistributionOutput { 6064 s.ETag = &v 6065 return s 6066} 6067 6068// SetLocation sets the Location field's value. 6069func (s *CreateDistributionOutput) SetLocation(v string) *CreateDistributionOutput { 6070 s.Location = &v 6071 return s 6072} 6073 6074// The request to create a new distribution with tags. 6075type CreateDistributionWithTagsInput struct { 6076 _ struct{} `locationName:"CreateDistributionWithTagsRequest" type:"structure" payload:"DistributionConfigWithTags"` 6077 6078 // The distribution's configuration information. 6079 // 6080 // DistributionConfigWithTags is a required field 6081 DistributionConfigWithTags *DistributionConfigWithTags `locationName:"DistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6082} 6083 6084// String returns the string representation 6085func (s CreateDistributionWithTagsInput) String() string { 6086 return awsutil.Prettify(s) 6087} 6088 6089// GoString returns the string representation 6090func (s CreateDistributionWithTagsInput) GoString() string { 6091 return s.String() 6092} 6093 6094// Validate inspects the fields of the type to determine if they are valid. 6095func (s *CreateDistributionWithTagsInput) Validate() error { 6096 invalidParams := request.ErrInvalidParams{Context: "CreateDistributionWithTagsInput"} 6097 if s.DistributionConfigWithTags == nil { 6098 invalidParams.Add(request.NewErrParamRequired("DistributionConfigWithTags")) 6099 } 6100 if s.DistributionConfigWithTags != nil { 6101 if err := s.DistributionConfigWithTags.Validate(); err != nil { 6102 invalidParams.AddNested("DistributionConfigWithTags", err.(request.ErrInvalidParams)) 6103 } 6104 } 6105 6106 if invalidParams.Len() > 0 { 6107 return invalidParams 6108 } 6109 return nil 6110} 6111 6112// SetDistributionConfigWithTags sets the DistributionConfigWithTags field's value. 6113func (s *CreateDistributionWithTagsInput) SetDistributionConfigWithTags(v *DistributionConfigWithTags) *CreateDistributionWithTagsInput { 6114 s.DistributionConfigWithTags = v 6115 return s 6116} 6117 6118// The returned result of the corresponding request. 6119type CreateDistributionWithTagsOutput struct { 6120 _ struct{} `type:"structure" payload:"Distribution"` 6121 6122 // The distribution's information. 6123 Distribution *Distribution `type:"structure"` 6124 6125 // The current version of the distribution created. 6126 ETag *string `location:"header" locationName:"ETag" type:"string"` 6127 6128 // The fully qualified URI of the new distribution resource just created. For 6129 // example: https://cloudfront.amazonaws.com/2010-11-01/distribution/EDFDVBD632BHDS5. 6130 Location *string `location:"header" locationName:"Location" type:"string"` 6131} 6132 6133// String returns the string representation 6134func (s CreateDistributionWithTagsOutput) String() string { 6135 return awsutil.Prettify(s) 6136} 6137 6138// GoString returns the string representation 6139func (s CreateDistributionWithTagsOutput) GoString() string { 6140 return s.String() 6141} 6142 6143// SetDistribution sets the Distribution field's value. 6144func (s *CreateDistributionWithTagsOutput) SetDistribution(v *Distribution) *CreateDistributionWithTagsOutput { 6145 s.Distribution = v 6146 return s 6147} 6148 6149// SetETag sets the ETag field's value. 6150func (s *CreateDistributionWithTagsOutput) SetETag(v string) *CreateDistributionWithTagsOutput { 6151 s.ETag = &v 6152 return s 6153} 6154 6155// SetLocation sets the Location field's value. 6156func (s *CreateDistributionWithTagsOutput) SetLocation(v string) *CreateDistributionWithTagsOutput { 6157 s.Location = &v 6158 return s 6159} 6160 6161type CreateFieldLevelEncryptionConfigInput struct { 6162 _ struct{} `locationName:"CreateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` 6163 6164 // The request to create a new field-level encryption configuration. 6165 // 6166 // FieldLevelEncryptionConfig is a required field 6167 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6168} 6169 6170// String returns the string representation 6171func (s CreateFieldLevelEncryptionConfigInput) String() string { 6172 return awsutil.Prettify(s) 6173} 6174 6175// GoString returns the string representation 6176func (s CreateFieldLevelEncryptionConfigInput) GoString() string { 6177 return s.String() 6178} 6179 6180// Validate inspects the fields of the type to determine if they are valid. 6181func (s *CreateFieldLevelEncryptionConfigInput) Validate() error { 6182 invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionConfigInput"} 6183 if s.FieldLevelEncryptionConfig == nil { 6184 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) 6185 } 6186 if s.FieldLevelEncryptionConfig != nil { 6187 if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { 6188 invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) 6189 } 6190 } 6191 6192 if invalidParams.Len() > 0 { 6193 return invalidParams 6194 } 6195 return nil 6196} 6197 6198// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 6199func (s *CreateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *CreateFieldLevelEncryptionConfigInput { 6200 s.FieldLevelEncryptionConfig = v 6201 return s 6202} 6203 6204type CreateFieldLevelEncryptionConfigOutput struct { 6205 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 6206 6207 // The current version of the field level encryption configuration. For example: 6208 // E2QWRUHAPOMQZL. 6209 ETag *string `location:"header" locationName:"ETag" type:"string"` 6210 6211 // Returned when you create a new field-level encryption configuration. 6212 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 6213 6214 // The fully qualified URI of the new configuration resource just created. For 6215 // example: https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-config/EDFDVBD632BHDS5. 6216 Location *string `location:"header" locationName:"Location" type:"string"` 6217} 6218 6219// String returns the string representation 6220func (s CreateFieldLevelEncryptionConfigOutput) String() string { 6221 return awsutil.Prettify(s) 6222} 6223 6224// GoString returns the string representation 6225func (s CreateFieldLevelEncryptionConfigOutput) GoString() string { 6226 return s.String() 6227} 6228 6229// SetETag sets the ETag field's value. 6230func (s *CreateFieldLevelEncryptionConfigOutput) SetETag(v string) *CreateFieldLevelEncryptionConfigOutput { 6231 s.ETag = &v 6232 return s 6233} 6234 6235// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 6236func (s *CreateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *CreateFieldLevelEncryptionConfigOutput { 6237 s.FieldLevelEncryption = v 6238 return s 6239} 6240 6241// SetLocation sets the Location field's value. 6242func (s *CreateFieldLevelEncryptionConfigOutput) SetLocation(v string) *CreateFieldLevelEncryptionConfigOutput { 6243 s.Location = &v 6244 return s 6245} 6246 6247type CreateFieldLevelEncryptionProfileInput struct { 6248 _ struct{} `locationName:"CreateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 6249 6250 // The request to create a field-level encryption profile. 6251 // 6252 // FieldLevelEncryptionProfileConfig is a required field 6253 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6254} 6255 6256// String returns the string representation 6257func (s CreateFieldLevelEncryptionProfileInput) String() string { 6258 return awsutil.Prettify(s) 6259} 6260 6261// GoString returns the string representation 6262func (s CreateFieldLevelEncryptionProfileInput) GoString() string { 6263 return s.String() 6264} 6265 6266// Validate inspects the fields of the type to determine if they are valid. 6267func (s *CreateFieldLevelEncryptionProfileInput) Validate() error { 6268 invalidParams := request.ErrInvalidParams{Context: "CreateFieldLevelEncryptionProfileInput"} 6269 if s.FieldLevelEncryptionProfileConfig == nil { 6270 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) 6271 } 6272 if s.FieldLevelEncryptionProfileConfig != nil { 6273 if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { 6274 invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) 6275 } 6276 } 6277 6278 if invalidParams.Len() > 0 { 6279 return invalidParams 6280 } 6281 return nil 6282} 6283 6284// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 6285func (s *CreateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *CreateFieldLevelEncryptionProfileInput { 6286 s.FieldLevelEncryptionProfileConfig = v 6287 return s 6288} 6289 6290type CreateFieldLevelEncryptionProfileOutput struct { 6291 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 6292 6293 // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. 6294 ETag *string `location:"header" locationName:"ETag" type:"string"` 6295 6296 // Returned when you create a new field-level encryption profile. 6297 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 6298 6299 // The fully qualified URI of the new profile resource just created. For example: 6300 // https://cloudfront.amazonaws.com/2010-11-01/field-level-encryption-profile/EDFDVBD632BHDS5. 6301 Location *string `location:"header" locationName:"Location" type:"string"` 6302} 6303 6304// String returns the string representation 6305func (s CreateFieldLevelEncryptionProfileOutput) String() string { 6306 return awsutil.Prettify(s) 6307} 6308 6309// GoString returns the string representation 6310func (s CreateFieldLevelEncryptionProfileOutput) GoString() string { 6311 return s.String() 6312} 6313 6314// SetETag sets the ETag field's value. 6315func (s *CreateFieldLevelEncryptionProfileOutput) SetETag(v string) *CreateFieldLevelEncryptionProfileOutput { 6316 s.ETag = &v 6317 return s 6318} 6319 6320// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 6321func (s *CreateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *CreateFieldLevelEncryptionProfileOutput { 6322 s.FieldLevelEncryptionProfile = v 6323 return s 6324} 6325 6326// SetLocation sets the Location field's value. 6327func (s *CreateFieldLevelEncryptionProfileOutput) SetLocation(v string) *CreateFieldLevelEncryptionProfileOutput { 6328 s.Location = &v 6329 return s 6330} 6331 6332// The request to create an invalidation. 6333type CreateInvalidationInput struct { 6334 _ struct{} `locationName:"CreateInvalidationRequest" type:"structure" payload:"InvalidationBatch"` 6335 6336 // The distribution's id. 6337 // 6338 // DistributionId is a required field 6339 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 6340 6341 // The batch information for the invalidation. 6342 // 6343 // InvalidationBatch is a required field 6344 InvalidationBatch *InvalidationBatch `locationName:"InvalidationBatch" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6345} 6346 6347// String returns the string representation 6348func (s CreateInvalidationInput) String() string { 6349 return awsutil.Prettify(s) 6350} 6351 6352// GoString returns the string representation 6353func (s CreateInvalidationInput) GoString() string { 6354 return s.String() 6355} 6356 6357// Validate inspects the fields of the type to determine if they are valid. 6358func (s *CreateInvalidationInput) Validate() error { 6359 invalidParams := request.ErrInvalidParams{Context: "CreateInvalidationInput"} 6360 if s.DistributionId == nil { 6361 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 6362 } 6363 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 6364 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 6365 } 6366 if s.InvalidationBatch == nil { 6367 invalidParams.Add(request.NewErrParamRequired("InvalidationBatch")) 6368 } 6369 if s.InvalidationBatch != nil { 6370 if err := s.InvalidationBatch.Validate(); err != nil { 6371 invalidParams.AddNested("InvalidationBatch", err.(request.ErrInvalidParams)) 6372 } 6373 } 6374 6375 if invalidParams.Len() > 0 { 6376 return invalidParams 6377 } 6378 return nil 6379} 6380 6381// SetDistributionId sets the DistributionId field's value. 6382func (s *CreateInvalidationInput) SetDistributionId(v string) *CreateInvalidationInput { 6383 s.DistributionId = &v 6384 return s 6385} 6386 6387// SetInvalidationBatch sets the InvalidationBatch field's value. 6388func (s *CreateInvalidationInput) SetInvalidationBatch(v *InvalidationBatch) *CreateInvalidationInput { 6389 s.InvalidationBatch = v 6390 return s 6391} 6392 6393// The returned result of the corresponding request. 6394type CreateInvalidationOutput struct { 6395 _ struct{} `type:"structure" payload:"Invalidation"` 6396 6397 // The invalidation's information. 6398 Invalidation *Invalidation `type:"structure"` 6399 6400 // The fully qualified URI of the distribution and invalidation batch request, 6401 // including the Invalidation ID. 6402 Location *string `location:"header" locationName:"Location" type:"string"` 6403} 6404 6405// String returns the string representation 6406func (s CreateInvalidationOutput) String() string { 6407 return awsutil.Prettify(s) 6408} 6409 6410// GoString returns the string representation 6411func (s CreateInvalidationOutput) GoString() string { 6412 return s.String() 6413} 6414 6415// SetInvalidation sets the Invalidation field's value. 6416func (s *CreateInvalidationOutput) SetInvalidation(v *Invalidation) *CreateInvalidationOutput { 6417 s.Invalidation = v 6418 return s 6419} 6420 6421// SetLocation sets the Location field's value. 6422func (s *CreateInvalidationOutput) SetLocation(v string) *CreateInvalidationOutput { 6423 s.Location = &v 6424 return s 6425} 6426 6427type CreatePublicKeyInput struct { 6428 _ struct{} `locationName:"CreatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` 6429 6430 // The request to add a public key to CloudFront. 6431 // 6432 // PublicKeyConfig is a required field 6433 PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6434} 6435 6436// String returns the string representation 6437func (s CreatePublicKeyInput) String() string { 6438 return awsutil.Prettify(s) 6439} 6440 6441// GoString returns the string representation 6442func (s CreatePublicKeyInput) GoString() string { 6443 return s.String() 6444} 6445 6446// Validate inspects the fields of the type to determine if they are valid. 6447func (s *CreatePublicKeyInput) Validate() error { 6448 invalidParams := request.ErrInvalidParams{Context: "CreatePublicKeyInput"} 6449 if s.PublicKeyConfig == nil { 6450 invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) 6451 } 6452 if s.PublicKeyConfig != nil { 6453 if err := s.PublicKeyConfig.Validate(); err != nil { 6454 invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) 6455 } 6456 } 6457 6458 if invalidParams.Len() > 0 { 6459 return invalidParams 6460 } 6461 return nil 6462} 6463 6464// SetPublicKeyConfig sets the PublicKeyConfig field's value. 6465func (s *CreatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *CreatePublicKeyInput { 6466 s.PublicKeyConfig = v 6467 return s 6468} 6469 6470type CreatePublicKeyOutput struct { 6471 _ struct{} `type:"structure" payload:"PublicKey"` 6472 6473 // The current version of the public key. For example: E2QWRUHAPOMQZL. 6474 ETag *string `location:"header" locationName:"ETag" type:"string"` 6475 6476 // The fully qualified URI of the new public key resource just created. For 6477 // example: https://cloudfront.amazonaws.com/2010-11-01/cloudfront-public-key/EDFDVBD632BHDS5. 6478 Location *string `location:"header" locationName:"Location" type:"string"` 6479 6480 // Returned when you add a public key. 6481 PublicKey *PublicKey `type:"structure"` 6482} 6483 6484// String returns the string representation 6485func (s CreatePublicKeyOutput) String() string { 6486 return awsutil.Prettify(s) 6487} 6488 6489// GoString returns the string representation 6490func (s CreatePublicKeyOutput) GoString() string { 6491 return s.String() 6492} 6493 6494// SetETag sets the ETag field's value. 6495func (s *CreatePublicKeyOutput) SetETag(v string) *CreatePublicKeyOutput { 6496 s.ETag = &v 6497 return s 6498} 6499 6500// SetLocation sets the Location field's value. 6501func (s *CreatePublicKeyOutput) SetLocation(v string) *CreatePublicKeyOutput { 6502 s.Location = &v 6503 return s 6504} 6505 6506// SetPublicKey sets the PublicKey field's value. 6507func (s *CreatePublicKeyOutput) SetPublicKey(v *PublicKey) *CreatePublicKeyOutput { 6508 s.PublicKey = v 6509 return s 6510} 6511 6512// The request to create a new streaming distribution. 6513type CreateStreamingDistributionInput struct { 6514 _ struct{} `locationName:"CreateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` 6515 6516 // The streaming distribution's configuration information. 6517 // 6518 // StreamingDistributionConfig is a required field 6519 StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6520} 6521 6522// String returns the string representation 6523func (s CreateStreamingDistributionInput) String() string { 6524 return awsutil.Prettify(s) 6525} 6526 6527// GoString returns the string representation 6528func (s CreateStreamingDistributionInput) GoString() string { 6529 return s.String() 6530} 6531 6532// Validate inspects the fields of the type to determine if they are valid. 6533func (s *CreateStreamingDistributionInput) Validate() error { 6534 invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionInput"} 6535 if s.StreamingDistributionConfig == nil { 6536 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 6537 } 6538 if s.StreamingDistributionConfig != nil { 6539 if err := s.StreamingDistributionConfig.Validate(); err != nil { 6540 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 6541 } 6542 } 6543 6544 if invalidParams.Len() > 0 { 6545 return invalidParams 6546 } 6547 return nil 6548} 6549 6550// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 6551func (s *CreateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *CreateStreamingDistributionInput { 6552 s.StreamingDistributionConfig = v 6553 return s 6554} 6555 6556// The returned result of the corresponding request. 6557type CreateStreamingDistributionOutput struct { 6558 _ struct{} `type:"structure" payload:"StreamingDistribution"` 6559 6560 // The current version of the streaming distribution created. 6561 ETag *string `location:"header" locationName:"ETag" type:"string"` 6562 6563 // The fully qualified URI of the new streaming distribution resource just created. 6564 // For example: https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. 6565 Location *string `location:"header" locationName:"Location" type:"string"` 6566 6567 // The streaming distribution's information. 6568 StreamingDistribution *StreamingDistribution `type:"structure"` 6569} 6570 6571// String returns the string representation 6572func (s CreateStreamingDistributionOutput) String() string { 6573 return awsutil.Prettify(s) 6574} 6575 6576// GoString returns the string representation 6577func (s CreateStreamingDistributionOutput) GoString() string { 6578 return s.String() 6579} 6580 6581// SetETag sets the ETag field's value. 6582func (s *CreateStreamingDistributionOutput) SetETag(v string) *CreateStreamingDistributionOutput { 6583 s.ETag = &v 6584 return s 6585} 6586 6587// SetLocation sets the Location field's value. 6588func (s *CreateStreamingDistributionOutput) SetLocation(v string) *CreateStreamingDistributionOutput { 6589 s.Location = &v 6590 return s 6591} 6592 6593// SetStreamingDistribution sets the StreamingDistribution field's value. 6594func (s *CreateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionOutput { 6595 s.StreamingDistribution = v 6596 return s 6597} 6598 6599// The request to create a new streaming distribution with tags. 6600type CreateStreamingDistributionWithTagsInput struct { 6601 _ struct{} `locationName:"CreateStreamingDistributionWithTagsRequest" type:"structure" payload:"StreamingDistributionConfigWithTags"` 6602 6603 // The streaming distribution's configuration information. 6604 // 6605 // StreamingDistributionConfigWithTags is a required field 6606 StreamingDistributionConfigWithTags *StreamingDistributionConfigWithTags `locationName:"StreamingDistributionConfigWithTags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 6607} 6608 6609// String returns the string representation 6610func (s CreateStreamingDistributionWithTagsInput) String() string { 6611 return awsutil.Prettify(s) 6612} 6613 6614// GoString returns the string representation 6615func (s CreateStreamingDistributionWithTagsInput) GoString() string { 6616 return s.String() 6617} 6618 6619// Validate inspects the fields of the type to determine if they are valid. 6620func (s *CreateStreamingDistributionWithTagsInput) Validate() error { 6621 invalidParams := request.ErrInvalidParams{Context: "CreateStreamingDistributionWithTagsInput"} 6622 if s.StreamingDistributionConfigWithTags == nil { 6623 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfigWithTags")) 6624 } 6625 if s.StreamingDistributionConfigWithTags != nil { 6626 if err := s.StreamingDistributionConfigWithTags.Validate(); err != nil { 6627 invalidParams.AddNested("StreamingDistributionConfigWithTags", err.(request.ErrInvalidParams)) 6628 } 6629 } 6630 6631 if invalidParams.Len() > 0 { 6632 return invalidParams 6633 } 6634 return nil 6635} 6636 6637// SetStreamingDistributionConfigWithTags sets the StreamingDistributionConfigWithTags field's value. 6638func (s *CreateStreamingDistributionWithTagsInput) SetStreamingDistributionConfigWithTags(v *StreamingDistributionConfigWithTags) *CreateStreamingDistributionWithTagsInput { 6639 s.StreamingDistributionConfigWithTags = v 6640 return s 6641} 6642 6643// The returned result of the corresponding request. 6644type CreateStreamingDistributionWithTagsOutput struct { 6645 _ struct{} `type:"structure" payload:"StreamingDistribution"` 6646 6647 // The current version of the distribution created. 6648 ETag *string `location:"header" locationName:"ETag" type:"string"` 6649 6650 // The fully qualified URI of the new streaming distribution resource just created. 6651 // For example:https://cloudfront.amazonaws.com/2010-11-01/streaming-distribution/EGTXBD79H29TRA8. 6652 Location *string `location:"header" locationName:"Location" type:"string"` 6653 6654 // The streaming distribution's information. 6655 StreamingDistribution *StreamingDistribution `type:"structure"` 6656} 6657 6658// String returns the string representation 6659func (s CreateStreamingDistributionWithTagsOutput) String() string { 6660 return awsutil.Prettify(s) 6661} 6662 6663// GoString returns the string representation 6664func (s CreateStreamingDistributionWithTagsOutput) GoString() string { 6665 return s.String() 6666} 6667 6668// SetETag sets the ETag field's value. 6669func (s *CreateStreamingDistributionWithTagsOutput) SetETag(v string) *CreateStreamingDistributionWithTagsOutput { 6670 s.ETag = &v 6671 return s 6672} 6673 6674// SetLocation sets the Location field's value. 6675func (s *CreateStreamingDistributionWithTagsOutput) SetLocation(v string) *CreateStreamingDistributionWithTagsOutput { 6676 s.Location = &v 6677 return s 6678} 6679 6680// SetStreamingDistribution sets the StreamingDistribution field's value. 6681func (s *CreateStreamingDistributionWithTagsOutput) SetStreamingDistribution(v *StreamingDistribution) *CreateStreamingDistributionWithTagsOutput { 6682 s.StreamingDistribution = v 6683 return s 6684} 6685 6686// A complex type that controls: 6687// 6688// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 6689// with custom error messages before returning the response to the viewer. 6690// 6691// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 6692// 6693// For more information about custom error pages, see Customizing Error Responses 6694// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 6695// in the Amazon CloudFront Developer Guide. 6696type CustomErrorResponse struct { 6697 _ struct{} `type:"structure"` 6698 6699 // The minimum amount of time, in seconds, that you want CloudFront to cache 6700 // the HTTP status code specified in ErrorCode. When this time period has elapsed, 6701 // CloudFront queries your origin to see whether the problem that caused the 6702 // error has been resolved and the requested object is now available. 6703 // 6704 // For more information, see Customizing Error Responses (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 6705 // in the Amazon CloudFront Developer Guide. 6706 ErrorCachingMinTTL *int64 `type:"long"` 6707 6708 // The HTTP status code for which you want to specify a custom error page and/or 6709 // a caching duration. 6710 // 6711 // ErrorCode is a required field 6712 ErrorCode *int64 `type:"integer" required:"true"` 6713 6714 // The HTTP status code that you want CloudFront to return to the viewer along 6715 // with the custom error page. There are a variety of reasons that you might 6716 // want CloudFront to return a status code different from the status code that 6717 // your origin returned to CloudFront, for example: 6718 // 6719 // * Some Internet devices (some firewalls and corporate proxies, for example) 6720 // intercept HTTP 4xx and 5xx and prevent the response from being returned 6721 // to the viewer. If you substitute 200, the response typically won't be 6722 // intercepted. 6723 // 6724 // * If you don't care about distinguishing among different client errors 6725 // or server errors, you can specify 400 or 500 as the ResponseCode for all 6726 // 4xx or 5xx errors. 6727 // 6728 // * You might want to return a 200 status code (OK) and static website so 6729 // your customers don't know that your website is down. 6730 // 6731 // If you specify a value for ResponseCode, you must also specify a value for 6732 // ResponsePagePath. 6733 ResponseCode *string `type:"string"` 6734 6735 // The path to the custom error page that you want CloudFront to return to a 6736 // viewer when your origin returns the HTTP status code specified by ErrorCode, 6737 // for example, /4xx-errors/403-forbidden.html. If you want to store your objects 6738 // and your custom error pages in different locations, your distribution must 6739 // include a cache behavior for which the following is true: 6740 // 6741 // * The value of PathPattern matches the path to your custom error messages. 6742 // For example, suppose you saved custom error pages for 4xx errors in an 6743 // Amazon S3 bucket in a directory named /4xx-errors. Your distribution must 6744 // include a cache behavior for which the path pattern routes requests for 6745 // your custom error pages to that location, for example, /4xx-errors/*. 6746 // 6747 // * The value of TargetOriginId specifies the value of the ID element for 6748 // the origin that contains your custom error pages. 6749 // 6750 // If you specify a value for ResponsePagePath, you must also specify a value 6751 // for ResponseCode. 6752 // 6753 // We recommend that you store custom error pages in an Amazon S3 bucket. If 6754 // you store custom error pages on an HTTP server and the server starts to return 6755 // 5xx errors, CloudFront can't get the files that you want to return to viewers 6756 // because the origin server is unavailable. 6757 ResponsePagePath *string `type:"string"` 6758} 6759 6760// String returns the string representation 6761func (s CustomErrorResponse) String() string { 6762 return awsutil.Prettify(s) 6763} 6764 6765// GoString returns the string representation 6766func (s CustomErrorResponse) GoString() string { 6767 return s.String() 6768} 6769 6770// Validate inspects the fields of the type to determine if they are valid. 6771func (s *CustomErrorResponse) Validate() error { 6772 invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponse"} 6773 if s.ErrorCode == nil { 6774 invalidParams.Add(request.NewErrParamRequired("ErrorCode")) 6775 } 6776 6777 if invalidParams.Len() > 0 { 6778 return invalidParams 6779 } 6780 return nil 6781} 6782 6783// SetErrorCachingMinTTL sets the ErrorCachingMinTTL field's value. 6784func (s *CustomErrorResponse) SetErrorCachingMinTTL(v int64) *CustomErrorResponse { 6785 s.ErrorCachingMinTTL = &v 6786 return s 6787} 6788 6789// SetErrorCode sets the ErrorCode field's value. 6790func (s *CustomErrorResponse) SetErrorCode(v int64) *CustomErrorResponse { 6791 s.ErrorCode = &v 6792 return s 6793} 6794 6795// SetResponseCode sets the ResponseCode field's value. 6796func (s *CustomErrorResponse) SetResponseCode(v string) *CustomErrorResponse { 6797 s.ResponseCode = &v 6798 return s 6799} 6800 6801// SetResponsePagePath sets the ResponsePagePath field's value. 6802func (s *CustomErrorResponse) SetResponsePagePath(v string) *CustomErrorResponse { 6803 s.ResponsePagePath = &v 6804 return s 6805} 6806 6807// A complex type that controls: 6808// 6809// * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 6810// with custom error messages before returning the response to the viewer. 6811// 6812// * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 6813// 6814// For more information about custom error pages, see Customizing Error Responses 6815// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 6816// in the Amazon CloudFront Developer Guide. 6817type CustomErrorResponses struct { 6818 _ struct{} `type:"structure"` 6819 6820 // A complex type that contains a CustomErrorResponse element for each HTTP 6821 // status code for which you want to specify a custom error page and/or a caching 6822 // duration. 6823 Items []*CustomErrorResponse `locationNameList:"CustomErrorResponse" type:"list"` 6824 6825 // The number of HTTP status codes for which you want to specify a custom error 6826 // page and/or a caching duration. If Quantity is 0, you can omit Items. 6827 // 6828 // Quantity is a required field 6829 Quantity *int64 `type:"integer" required:"true"` 6830} 6831 6832// String returns the string representation 6833func (s CustomErrorResponses) String() string { 6834 return awsutil.Prettify(s) 6835} 6836 6837// GoString returns the string representation 6838func (s CustomErrorResponses) GoString() string { 6839 return s.String() 6840} 6841 6842// Validate inspects the fields of the type to determine if they are valid. 6843func (s *CustomErrorResponses) Validate() error { 6844 invalidParams := request.ErrInvalidParams{Context: "CustomErrorResponses"} 6845 if s.Quantity == nil { 6846 invalidParams.Add(request.NewErrParamRequired("Quantity")) 6847 } 6848 if s.Items != nil { 6849 for i, v := range s.Items { 6850 if v == nil { 6851 continue 6852 } 6853 if err := v.Validate(); err != nil { 6854 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 6855 } 6856 } 6857 } 6858 6859 if invalidParams.Len() > 0 { 6860 return invalidParams 6861 } 6862 return nil 6863} 6864 6865// SetItems sets the Items field's value. 6866func (s *CustomErrorResponses) SetItems(v []*CustomErrorResponse) *CustomErrorResponses { 6867 s.Items = v 6868 return s 6869} 6870 6871// SetQuantity sets the Quantity field's value. 6872func (s *CustomErrorResponses) SetQuantity(v int64) *CustomErrorResponses { 6873 s.Quantity = &v 6874 return s 6875} 6876 6877// A complex type that contains the list of Custom Headers for each origin. 6878type CustomHeaders struct { 6879 _ struct{} `type:"structure"` 6880 6881 // Optional: A list that contains one OriginCustomHeader element for each custom 6882 // header that you want CloudFront to forward to the origin. If Quantity is 6883 // 0, omit Items. 6884 Items []*OriginCustomHeader `locationNameList:"OriginCustomHeader" type:"list"` 6885 6886 // The number of custom headers, if any, for this distribution. 6887 // 6888 // Quantity is a required field 6889 Quantity *int64 `type:"integer" required:"true"` 6890} 6891 6892// String returns the string representation 6893func (s CustomHeaders) String() string { 6894 return awsutil.Prettify(s) 6895} 6896 6897// GoString returns the string representation 6898func (s CustomHeaders) GoString() string { 6899 return s.String() 6900} 6901 6902// Validate inspects the fields of the type to determine if they are valid. 6903func (s *CustomHeaders) Validate() error { 6904 invalidParams := request.ErrInvalidParams{Context: "CustomHeaders"} 6905 if s.Quantity == nil { 6906 invalidParams.Add(request.NewErrParamRequired("Quantity")) 6907 } 6908 if s.Items != nil { 6909 for i, v := range s.Items { 6910 if v == nil { 6911 continue 6912 } 6913 if err := v.Validate(); err != nil { 6914 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 6915 } 6916 } 6917 } 6918 6919 if invalidParams.Len() > 0 { 6920 return invalidParams 6921 } 6922 return nil 6923} 6924 6925// SetItems sets the Items field's value. 6926func (s *CustomHeaders) SetItems(v []*OriginCustomHeader) *CustomHeaders { 6927 s.Items = v 6928 return s 6929} 6930 6931// SetQuantity sets the Quantity field's value. 6932func (s *CustomHeaders) SetQuantity(v int64) *CustomHeaders { 6933 s.Quantity = &v 6934 return s 6935} 6936 6937// A custom origin or an Amazon S3 bucket configured as a website endpoint. 6938type CustomOriginConfig struct { 6939 _ struct{} `type:"structure"` 6940 6941 // The HTTP port the custom origin listens on. 6942 // 6943 // HTTPPort is a required field 6944 HTTPPort *int64 `type:"integer" required:"true"` 6945 6946 // The HTTPS port the custom origin listens on. 6947 // 6948 // HTTPSPort is a required field 6949 HTTPSPort *int64 `type:"integer" required:"true"` 6950 6951 // You can create a custom keep-alive timeout. All timeout units are in seconds. 6952 // The default keep-alive timeout is 5 seconds, but you can configure custom 6953 // timeout lengths using the CloudFront API. The minimum timeout length is 1 6954 // second; the maximum is 60 seconds. 6955 // 6956 // If you need to increase the maximum time limit, contact the AWS Support Center 6957 // (https://console.aws.amazon.com/support/home#/). 6958 OriginKeepaliveTimeout *int64 `type:"integer"` 6959 6960 // The origin protocol policy to apply to your origin. 6961 // 6962 // OriginProtocolPolicy is a required field 6963 OriginProtocolPolicy *string `type:"string" required:"true" enum:"OriginProtocolPolicy"` 6964 6965 // You can create a custom origin read timeout. All timeout units are in seconds. 6966 // The default origin read timeout is 30 seconds, but you can configure custom 6967 // timeout lengths using the CloudFront API. The minimum timeout length is 4 6968 // seconds; the maximum is 60 seconds. 6969 // 6970 // If you need to increase the maximum time limit, contact the AWS Support Center 6971 // (https://console.aws.amazon.com/support/home#/). 6972 OriginReadTimeout *int64 `type:"integer"` 6973 6974 // The SSL/TLS protocols that you want CloudFront to use when communicating 6975 // with your origin over HTTPS. 6976 OriginSslProtocols *OriginSslProtocols `type:"structure"` 6977} 6978 6979// String returns the string representation 6980func (s CustomOriginConfig) String() string { 6981 return awsutil.Prettify(s) 6982} 6983 6984// GoString returns the string representation 6985func (s CustomOriginConfig) GoString() string { 6986 return s.String() 6987} 6988 6989// Validate inspects the fields of the type to determine if they are valid. 6990func (s *CustomOriginConfig) Validate() error { 6991 invalidParams := request.ErrInvalidParams{Context: "CustomOriginConfig"} 6992 if s.HTTPPort == nil { 6993 invalidParams.Add(request.NewErrParamRequired("HTTPPort")) 6994 } 6995 if s.HTTPSPort == nil { 6996 invalidParams.Add(request.NewErrParamRequired("HTTPSPort")) 6997 } 6998 if s.OriginProtocolPolicy == nil { 6999 invalidParams.Add(request.NewErrParamRequired("OriginProtocolPolicy")) 7000 } 7001 if s.OriginSslProtocols != nil { 7002 if err := s.OriginSslProtocols.Validate(); err != nil { 7003 invalidParams.AddNested("OriginSslProtocols", err.(request.ErrInvalidParams)) 7004 } 7005 } 7006 7007 if invalidParams.Len() > 0 { 7008 return invalidParams 7009 } 7010 return nil 7011} 7012 7013// SetHTTPPort sets the HTTPPort field's value. 7014func (s *CustomOriginConfig) SetHTTPPort(v int64) *CustomOriginConfig { 7015 s.HTTPPort = &v 7016 return s 7017} 7018 7019// SetHTTPSPort sets the HTTPSPort field's value. 7020func (s *CustomOriginConfig) SetHTTPSPort(v int64) *CustomOriginConfig { 7021 s.HTTPSPort = &v 7022 return s 7023} 7024 7025// SetOriginKeepaliveTimeout sets the OriginKeepaliveTimeout field's value. 7026func (s *CustomOriginConfig) SetOriginKeepaliveTimeout(v int64) *CustomOriginConfig { 7027 s.OriginKeepaliveTimeout = &v 7028 return s 7029} 7030 7031// SetOriginProtocolPolicy sets the OriginProtocolPolicy field's value. 7032func (s *CustomOriginConfig) SetOriginProtocolPolicy(v string) *CustomOriginConfig { 7033 s.OriginProtocolPolicy = &v 7034 return s 7035} 7036 7037// SetOriginReadTimeout sets the OriginReadTimeout field's value. 7038func (s *CustomOriginConfig) SetOriginReadTimeout(v int64) *CustomOriginConfig { 7039 s.OriginReadTimeout = &v 7040 return s 7041} 7042 7043// SetOriginSslProtocols sets the OriginSslProtocols field's value. 7044func (s *CustomOriginConfig) SetOriginSslProtocols(v *OriginSslProtocols) *CustomOriginConfig { 7045 s.OriginSslProtocols = v 7046 return s 7047} 7048 7049// A complex type that describes the default cache behavior if you don't specify 7050// a CacheBehavior element or if files don't match any of the values of PathPattern 7051// in CacheBehavior elements. You must create exactly one default cache behavior. 7052type DefaultCacheBehavior struct { 7053 _ struct{} `type:"structure"` 7054 7055 // A complex type that controls which HTTP methods CloudFront processes and 7056 // forwards to your Amazon S3 bucket or your custom origin. There are three 7057 // choices: 7058 // 7059 // * CloudFront forwards only GET and HEAD requests. 7060 // 7061 // * CloudFront forwards only GET, HEAD, and OPTIONS requests. 7062 // 7063 // * CloudFront forwards GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE 7064 // requests. 7065 // 7066 // If you pick the third choice, you may need to restrict access to your Amazon 7067 // S3 bucket or to your custom origin so users can't perform operations that 7068 // you don't want them to. For example, you might not want users to have permissions 7069 // to delete objects from your origin. 7070 AllowedMethods *AllowedMethods `type:"structure"` 7071 7072 // Whether you want CloudFront to automatically compress certain files for this 7073 // cache behavior. If so, specify true; if not, specify false. For more information, 7074 // see Serving Compressed Files (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/ServingCompressedFiles.html) 7075 // in the Amazon CloudFront Developer Guide. 7076 Compress *bool `type:"boolean"` 7077 7078 // The default amount of time that you want objects to stay in CloudFront caches 7079 // before CloudFront forwards another request to your origin to determine whether 7080 // the object has been updated. The value that you specify applies only when 7081 // your origin does not add HTTP headers such as Cache-Control max-age, Cache-Control 7082 // s-maxage, and Expires to objects. For more information, see Managing How 7083 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 7084 // in the Amazon CloudFront Developer Guide. 7085 DefaultTTL *int64 `type:"long"` 7086 7087 // The value of ID for the field-level encryption configuration that you want 7088 // CloudFront to use for encrypting specific fields of data for a cache behavior 7089 // or for the default cache behavior in your distribution. 7090 FieldLevelEncryptionId *string `type:"string"` 7091 7092 // A complex type that specifies how CloudFront handles query strings, cookies, 7093 // and HTTP headers. 7094 // 7095 // ForwardedValues is a required field 7096 ForwardedValues *ForwardedValues `type:"structure" required:"true"` 7097 7098 // A complex type that contains zero or more Lambda function associations for 7099 // a cache behavior. 7100 LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` 7101 7102 // The maximum amount of time that you want objects to stay in CloudFront caches 7103 // before CloudFront forwards another request to your origin to determine whether 7104 // the object has been updated. The value that you specify applies only when 7105 // your origin adds HTTP headers such as Cache-Control max-age, Cache-Control 7106 // s-maxage, and Expires to objects. For more information, see Managing How 7107 // Long Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 7108 // in the Amazon CloudFront Developer Guide. 7109 MaxTTL *int64 `type:"long"` 7110 7111 // The minimum amount of time that you want objects to stay in CloudFront caches 7112 // before CloudFront forwards another request to your origin to determine whether 7113 // the object has been updated. For more information, see Managing How Long 7114 // Content Stays in an Edge Cache (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 7115 // in the Amazon CloudFront Developer Guide. 7116 // 7117 // You must specify 0 for MinTTL if you configure CloudFront to forward all 7118 // headers to your origin (under Headers, if you specify 1 for Quantity and 7119 // * for Name). 7120 // 7121 // MinTTL is a required field 7122 MinTTL *int64 `type:"long" required:"true"` 7123 7124 // Indicates whether you want to distribute media files in the Microsoft Smooth 7125 // Streaming format using the origin that is associated with this cache behavior. 7126 // If so, specify true; if not, specify false. If you specify true for SmoothStreaming, 7127 // you can still distribute other content using this cache behavior if the content 7128 // matches the value of PathPattern. 7129 SmoothStreaming *bool `type:"boolean"` 7130 7131 // The value of ID for the origin that you want CloudFront to route requests 7132 // to when a request matches the path pattern either for a cache behavior or 7133 // for the default cache behavior in your distribution. 7134 // 7135 // TargetOriginId is a required field 7136 TargetOriginId *string `type:"string" required:"true"` 7137 7138 // A complex type that specifies the AWS accounts, if any, that you want to 7139 // allow to create signed URLs for private content. 7140 // 7141 // If you want to require signed URLs in requests for objects in the target 7142 // origin that match the PathPattern for this cache behavior, specify true for 7143 // Enabled, and specify the applicable values for Quantity and Items. For more 7144 // information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 7145 // in the Amazon CloudFront Developer Guide. 7146 // 7147 // If you don't want to require signed URLs in requests for objects that match 7148 // PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. 7149 // 7150 // To add, change, or remove one or more trusted signers, change Enabled to 7151 // true (if it's currently false), change Quantity as applicable, and specify 7152 // all of the trusted signers that you want to include in the updated distribution. 7153 // 7154 // TrustedSigners is a required field 7155 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 7156 7157 // The protocol that viewers can use to access the files in the origin specified 7158 // by TargetOriginId when a request matches the path pattern in PathPattern. 7159 // You can specify the following options: 7160 // 7161 // * allow-all: Viewers can use HTTP or HTTPS. 7162 // 7163 // * redirect-to-https: If a viewer submits an HTTP request, CloudFront returns 7164 // an HTTP status code of 301 (Moved Permanently) to the viewer along with 7165 // the HTTPS URL. The viewer then resubmits the request using the new URL. 7166 // 7167 // * https-only: If a viewer sends an HTTP request, CloudFront returns an 7168 // HTTP status code of 403 (Forbidden). 7169 // 7170 // For more information about requiring the HTTPS protocol, see Using an HTTPS 7171 // Connection to Access Your Objects (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html) 7172 // in the Amazon CloudFront Developer Guide. 7173 // 7174 // The only way to guarantee that viewers retrieve an object that was fetched 7175 // from the origin using HTTPS is never to use any other protocol to fetch the 7176 // object. If you have recently changed from HTTP to HTTPS, we recommend that 7177 // you clear your objects' cache because cached objects are protocol agnostic. 7178 // That means that an edge location will return an object from the cache regardless 7179 // of whether the current request protocol matches the protocol used previously. 7180 // For more information, see Managing How Long Content Stays in an Edge Cache 7181 // (Expiration) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Expiration.html) 7182 // in the Amazon CloudFront Developer Guide. 7183 // 7184 // ViewerProtocolPolicy is a required field 7185 ViewerProtocolPolicy *string `type:"string" required:"true" enum:"ViewerProtocolPolicy"` 7186} 7187 7188// String returns the string representation 7189func (s DefaultCacheBehavior) String() string { 7190 return awsutil.Prettify(s) 7191} 7192 7193// GoString returns the string representation 7194func (s DefaultCacheBehavior) GoString() string { 7195 return s.String() 7196} 7197 7198// Validate inspects the fields of the type to determine if they are valid. 7199func (s *DefaultCacheBehavior) Validate() error { 7200 invalidParams := request.ErrInvalidParams{Context: "DefaultCacheBehavior"} 7201 if s.ForwardedValues == nil { 7202 invalidParams.Add(request.NewErrParamRequired("ForwardedValues")) 7203 } 7204 if s.MinTTL == nil { 7205 invalidParams.Add(request.NewErrParamRequired("MinTTL")) 7206 } 7207 if s.TargetOriginId == nil { 7208 invalidParams.Add(request.NewErrParamRequired("TargetOriginId")) 7209 } 7210 if s.TrustedSigners == nil { 7211 invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) 7212 } 7213 if s.ViewerProtocolPolicy == nil { 7214 invalidParams.Add(request.NewErrParamRequired("ViewerProtocolPolicy")) 7215 } 7216 if s.AllowedMethods != nil { 7217 if err := s.AllowedMethods.Validate(); err != nil { 7218 invalidParams.AddNested("AllowedMethods", err.(request.ErrInvalidParams)) 7219 } 7220 } 7221 if s.ForwardedValues != nil { 7222 if err := s.ForwardedValues.Validate(); err != nil { 7223 invalidParams.AddNested("ForwardedValues", err.(request.ErrInvalidParams)) 7224 } 7225 } 7226 if s.LambdaFunctionAssociations != nil { 7227 if err := s.LambdaFunctionAssociations.Validate(); err != nil { 7228 invalidParams.AddNested("LambdaFunctionAssociations", err.(request.ErrInvalidParams)) 7229 } 7230 } 7231 if s.TrustedSigners != nil { 7232 if err := s.TrustedSigners.Validate(); err != nil { 7233 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 7234 } 7235 } 7236 7237 if invalidParams.Len() > 0 { 7238 return invalidParams 7239 } 7240 return nil 7241} 7242 7243// SetAllowedMethods sets the AllowedMethods field's value. 7244func (s *DefaultCacheBehavior) SetAllowedMethods(v *AllowedMethods) *DefaultCacheBehavior { 7245 s.AllowedMethods = v 7246 return s 7247} 7248 7249// SetCompress sets the Compress field's value. 7250func (s *DefaultCacheBehavior) SetCompress(v bool) *DefaultCacheBehavior { 7251 s.Compress = &v 7252 return s 7253} 7254 7255// SetDefaultTTL sets the DefaultTTL field's value. 7256func (s *DefaultCacheBehavior) SetDefaultTTL(v int64) *DefaultCacheBehavior { 7257 s.DefaultTTL = &v 7258 return s 7259} 7260 7261// SetFieldLevelEncryptionId sets the FieldLevelEncryptionId field's value. 7262func (s *DefaultCacheBehavior) SetFieldLevelEncryptionId(v string) *DefaultCacheBehavior { 7263 s.FieldLevelEncryptionId = &v 7264 return s 7265} 7266 7267// SetForwardedValues sets the ForwardedValues field's value. 7268func (s *DefaultCacheBehavior) SetForwardedValues(v *ForwardedValues) *DefaultCacheBehavior { 7269 s.ForwardedValues = v 7270 return s 7271} 7272 7273// SetLambdaFunctionAssociations sets the LambdaFunctionAssociations field's value. 7274func (s *DefaultCacheBehavior) SetLambdaFunctionAssociations(v *LambdaFunctionAssociations) *DefaultCacheBehavior { 7275 s.LambdaFunctionAssociations = v 7276 return s 7277} 7278 7279// SetMaxTTL sets the MaxTTL field's value. 7280func (s *DefaultCacheBehavior) SetMaxTTL(v int64) *DefaultCacheBehavior { 7281 s.MaxTTL = &v 7282 return s 7283} 7284 7285// SetMinTTL sets the MinTTL field's value. 7286func (s *DefaultCacheBehavior) SetMinTTL(v int64) *DefaultCacheBehavior { 7287 s.MinTTL = &v 7288 return s 7289} 7290 7291// SetSmoothStreaming sets the SmoothStreaming field's value. 7292func (s *DefaultCacheBehavior) SetSmoothStreaming(v bool) *DefaultCacheBehavior { 7293 s.SmoothStreaming = &v 7294 return s 7295} 7296 7297// SetTargetOriginId sets the TargetOriginId field's value. 7298func (s *DefaultCacheBehavior) SetTargetOriginId(v string) *DefaultCacheBehavior { 7299 s.TargetOriginId = &v 7300 return s 7301} 7302 7303// SetTrustedSigners sets the TrustedSigners field's value. 7304func (s *DefaultCacheBehavior) SetTrustedSigners(v *TrustedSigners) *DefaultCacheBehavior { 7305 s.TrustedSigners = v 7306 return s 7307} 7308 7309// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value. 7310func (s *DefaultCacheBehavior) SetViewerProtocolPolicy(v string) *DefaultCacheBehavior { 7311 s.ViewerProtocolPolicy = &v 7312 return s 7313} 7314 7315// Deletes a origin access identity. 7316type DeleteCloudFrontOriginAccessIdentityInput struct { 7317 _ struct{} `locationName:"DeleteCloudFrontOriginAccessIdentityRequest" type:"structure"` 7318 7319 // The origin access identity's ID. 7320 // 7321 // Id is a required field 7322 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7323 7324 // The value of the ETag header you received from a previous GET or PUT request. 7325 // For example: E2QWRUHAPOMQZL. 7326 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7327} 7328 7329// String returns the string representation 7330func (s DeleteCloudFrontOriginAccessIdentityInput) String() string { 7331 return awsutil.Prettify(s) 7332} 7333 7334// GoString returns the string representation 7335func (s DeleteCloudFrontOriginAccessIdentityInput) GoString() string { 7336 return s.String() 7337} 7338 7339// Validate inspects the fields of the type to determine if they are valid. 7340func (s *DeleteCloudFrontOriginAccessIdentityInput) Validate() error { 7341 invalidParams := request.ErrInvalidParams{Context: "DeleteCloudFrontOriginAccessIdentityInput"} 7342 if s.Id == nil { 7343 invalidParams.Add(request.NewErrParamRequired("Id")) 7344 } 7345 if s.Id != nil && len(*s.Id) < 1 { 7346 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7347 } 7348 7349 if invalidParams.Len() > 0 { 7350 return invalidParams 7351 } 7352 return nil 7353} 7354 7355// SetId sets the Id field's value. 7356func (s *DeleteCloudFrontOriginAccessIdentityInput) SetId(v string) *DeleteCloudFrontOriginAccessIdentityInput { 7357 s.Id = &v 7358 return s 7359} 7360 7361// SetIfMatch sets the IfMatch field's value. 7362func (s *DeleteCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *DeleteCloudFrontOriginAccessIdentityInput { 7363 s.IfMatch = &v 7364 return s 7365} 7366 7367type DeleteCloudFrontOriginAccessIdentityOutput struct { 7368 _ struct{} `type:"structure"` 7369} 7370 7371// String returns the string representation 7372func (s DeleteCloudFrontOriginAccessIdentityOutput) String() string { 7373 return awsutil.Prettify(s) 7374} 7375 7376// GoString returns the string representation 7377func (s DeleteCloudFrontOriginAccessIdentityOutput) GoString() string { 7378 return s.String() 7379} 7380 7381// This action deletes a web distribution. To delete a web distribution using 7382// the CloudFront API, perform the following steps. 7383// 7384// To delete a web distribution using the CloudFront API: 7385// 7386// Disable the web distribution 7387// 7388// Submit a GET Distribution Config request to get the current configuration 7389// and the Etag header for the distribution. 7390// 7391// Update the XML document that was returned in the response to your GET Distribution 7392// Config request to change the value of Enabled to false. 7393// 7394// Submit a PUT Distribution Config request to update the configuration for 7395// your distribution. In the request body, include the XML document that you 7396// updated in Step 3. Set the value of the HTTP If-Match header to the value 7397// of the ETag header that CloudFront returned when you submitted the GET Distribution 7398// Config request in Step 2. 7399// 7400// Review the response to the PUT Distribution Config request to confirm that 7401// the distribution was successfully disabled. 7402// 7403// Submit a GET Distribution request to confirm that your changes have propagated. 7404// When propagation is complete, the value of Status is Deployed. 7405// 7406// Submit a DELETE Distribution request. Set the value of the HTTP If-Match 7407// header to the value of the ETag header that CloudFront returned when you 7408// submitted the GET Distribution Config request in Step 6. 7409// 7410// Review the response to your DELETE Distribution request to confirm that the 7411// distribution was successfully deleted. 7412// 7413// For information about deleting a distribution using the CloudFront console, 7414// see Deleting a Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/HowToDeleteDistribution.html) 7415// in the Amazon CloudFront Developer Guide. 7416type DeleteDistributionInput struct { 7417 _ struct{} `locationName:"DeleteDistributionRequest" type:"structure"` 7418 7419 // The distribution ID. 7420 // 7421 // Id is a required field 7422 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7423 7424 // The value of the ETag header that you received when you disabled the distribution. 7425 // For example: E2QWRUHAPOMQZL. 7426 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7427} 7428 7429// String returns the string representation 7430func (s DeleteDistributionInput) String() string { 7431 return awsutil.Prettify(s) 7432} 7433 7434// GoString returns the string representation 7435func (s DeleteDistributionInput) GoString() string { 7436 return s.String() 7437} 7438 7439// Validate inspects the fields of the type to determine if they are valid. 7440func (s *DeleteDistributionInput) Validate() error { 7441 invalidParams := request.ErrInvalidParams{Context: "DeleteDistributionInput"} 7442 if s.Id == nil { 7443 invalidParams.Add(request.NewErrParamRequired("Id")) 7444 } 7445 if s.Id != nil && len(*s.Id) < 1 { 7446 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7447 } 7448 7449 if invalidParams.Len() > 0 { 7450 return invalidParams 7451 } 7452 return nil 7453} 7454 7455// SetId sets the Id field's value. 7456func (s *DeleteDistributionInput) SetId(v string) *DeleteDistributionInput { 7457 s.Id = &v 7458 return s 7459} 7460 7461// SetIfMatch sets the IfMatch field's value. 7462func (s *DeleteDistributionInput) SetIfMatch(v string) *DeleteDistributionInput { 7463 s.IfMatch = &v 7464 return s 7465} 7466 7467type DeleteDistributionOutput struct { 7468 _ struct{} `type:"structure"` 7469} 7470 7471// String returns the string representation 7472func (s DeleteDistributionOutput) String() string { 7473 return awsutil.Prettify(s) 7474} 7475 7476// GoString returns the string representation 7477func (s DeleteDistributionOutput) GoString() string { 7478 return s.String() 7479} 7480 7481type DeleteFieldLevelEncryptionConfigInput struct { 7482 _ struct{} `locationName:"DeleteFieldLevelEncryptionConfigRequest" type:"structure"` 7483 7484 // The ID of the configuration you want to delete from CloudFront. 7485 // 7486 // Id is a required field 7487 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7488 7489 // The value of the ETag header that you received when retrieving the configuration 7490 // identity to delete. For example: E2QWRUHAPOMQZL. 7491 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7492} 7493 7494// String returns the string representation 7495func (s DeleteFieldLevelEncryptionConfigInput) String() string { 7496 return awsutil.Prettify(s) 7497} 7498 7499// GoString returns the string representation 7500func (s DeleteFieldLevelEncryptionConfigInput) GoString() string { 7501 return s.String() 7502} 7503 7504// Validate inspects the fields of the type to determine if they are valid. 7505func (s *DeleteFieldLevelEncryptionConfigInput) Validate() error { 7506 invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionConfigInput"} 7507 if s.Id == nil { 7508 invalidParams.Add(request.NewErrParamRequired("Id")) 7509 } 7510 if s.Id != nil && len(*s.Id) < 1 { 7511 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7512 } 7513 7514 if invalidParams.Len() > 0 { 7515 return invalidParams 7516 } 7517 return nil 7518} 7519 7520// SetId sets the Id field's value. 7521func (s *DeleteFieldLevelEncryptionConfigInput) SetId(v string) *DeleteFieldLevelEncryptionConfigInput { 7522 s.Id = &v 7523 return s 7524} 7525 7526// SetIfMatch sets the IfMatch field's value. 7527func (s *DeleteFieldLevelEncryptionConfigInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionConfigInput { 7528 s.IfMatch = &v 7529 return s 7530} 7531 7532type DeleteFieldLevelEncryptionConfigOutput struct { 7533 _ struct{} `type:"structure"` 7534} 7535 7536// String returns the string representation 7537func (s DeleteFieldLevelEncryptionConfigOutput) String() string { 7538 return awsutil.Prettify(s) 7539} 7540 7541// GoString returns the string representation 7542func (s DeleteFieldLevelEncryptionConfigOutput) GoString() string { 7543 return s.String() 7544} 7545 7546type DeleteFieldLevelEncryptionProfileInput struct { 7547 _ struct{} `locationName:"DeleteFieldLevelEncryptionProfileRequest" type:"structure"` 7548 7549 // Request the ID of the profile you want to delete from CloudFront. 7550 // 7551 // Id is a required field 7552 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7553 7554 // The value of the ETag header that you received when retrieving the profile 7555 // to delete. For example: E2QWRUHAPOMQZL. 7556 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7557} 7558 7559// String returns the string representation 7560func (s DeleteFieldLevelEncryptionProfileInput) String() string { 7561 return awsutil.Prettify(s) 7562} 7563 7564// GoString returns the string representation 7565func (s DeleteFieldLevelEncryptionProfileInput) GoString() string { 7566 return s.String() 7567} 7568 7569// Validate inspects the fields of the type to determine if they are valid. 7570func (s *DeleteFieldLevelEncryptionProfileInput) Validate() error { 7571 invalidParams := request.ErrInvalidParams{Context: "DeleteFieldLevelEncryptionProfileInput"} 7572 if s.Id == nil { 7573 invalidParams.Add(request.NewErrParamRequired("Id")) 7574 } 7575 if s.Id != nil && len(*s.Id) < 1 { 7576 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7577 } 7578 7579 if invalidParams.Len() > 0 { 7580 return invalidParams 7581 } 7582 return nil 7583} 7584 7585// SetId sets the Id field's value. 7586func (s *DeleteFieldLevelEncryptionProfileInput) SetId(v string) *DeleteFieldLevelEncryptionProfileInput { 7587 s.Id = &v 7588 return s 7589} 7590 7591// SetIfMatch sets the IfMatch field's value. 7592func (s *DeleteFieldLevelEncryptionProfileInput) SetIfMatch(v string) *DeleteFieldLevelEncryptionProfileInput { 7593 s.IfMatch = &v 7594 return s 7595} 7596 7597type DeleteFieldLevelEncryptionProfileOutput struct { 7598 _ struct{} `type:"structure"` 7599} 7600 7601// String returns the string representation 7602func (s DeleteFieldLevelEncryptionProfileOutput) String() string { 7603 return awsutil.Prettify(s) 7604} 7605 7606// GoString returns the string representation 7607func (s DeleteFieldLevelEncryptionProfileOutput) GoString() string { 7608 return s.String() 7609} 7610 7611type DeletePublicKeyInput struct { 7612 _ struct{} `locationName:"DeletePublicKeyRequest" type:"structure"` 7613 7614 // The ID of the public key you want to remove from CloudFront. 7615 // 7616 // Id is a required field 7617 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7618 7619 // The value of the ETag header that you received when retrieving the public 7620 // key identity to delete. For example: E2QWRUHAPOMQZL. 7621 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7622} 7623 7624// String returns the string representation 7625func (s DeletePublicKeyInput) String() string { 7626 return awsutil.Prettify(s) 7627} 7628 7629// GoString returns the string representation 7630func (s DeletePublicKeyInput) GoString() string { 7631 return s.String() 7632} 7633 7634// Validate inspects the fields of the type to determine if they are valid. 7635func (s *DeletePublicKeyInput) Validate() error { 7636 invalidParams := request.ErrInvalidParams{Context: "DeletePublicKeyInput"} 7637 if s.Id == nil { 7638 invalidParams.Add(request.NewErrParamRequired("Id")) 7639 } 7640 if s.Id != nil && len(*s.Id) < 1 { 7641 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7642 } 7643 7644 if invalidParams.Len() > 0 { 7645 return invalidParams 7646 } 7647 return nil 7648} 7649 7650// SetId sets the Id field's value. 7651func (s *DeletePublicKeyInput) SetId(v string) *DeletePublicKeyInput { 7652 s.Id = &v 7653 return s 7654} 7655 7656// SetIfMatch sets the IfMatch field's value. 7657func (s *DeletePublicKeyInput) SetIfMatch(v string) *DeletePublicKeyInput { 7658 s.IfMatch = &v 7659 return s 7660} 7661 7662type DeletePublicKeyOutput struct { 7663 _ struct{} `type:"structure"` 7664} 7665 7666// String returns the string representation 7667func (s DeletePublicKeyOutput) String() string { 7668 return awsutil.Prettify(s) 7669} 7670 7671// GoString returns the string representation 7672func (s DeletePublicKeyOutput) GoString() string { 7673 return s.String() 7674} 7675 7676// The request to delete a streaming distribution. 7677type DeleteStreamingDistributionInput struct { 7678 _ struct{} `locationName:"DeleteStreamingDistributionRequest" type:"structure"` 7679 7680 // The distribution ID. 7681 // 7682 // Id is a required field 7683 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 7684 7685 // The value of the ETag header that you received when you disabled the streaming 7686 // distribution. For example: E2QWRUHAPOMQZL. 7687 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 7688} 7689 7690// String returns the string representation 7691func (s DeleteStreamingDistributionInput) String() string { 7692 return awsutil.Prettify(s) 7693} 7694 7695// GoString returns the string representation 7696func (s DeleteStreamingDistributionInput) GoString() string { 7697 return s.String() 7698} 7699 7700// Validate inspects the fields of the type to determine if they are valid. 7701func (s *DeleteStreamingDistributionInput) Validate() error { 7702 invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingDistributionInput"} 7703 if s.Id == nil { 7704 invalidParams.Add(request.NewErrParamRequired("Id")) 7705 } 7706 if s.Id != nil && len(*s.Id) < 1 { 7707 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 7708 } 7709 7710 if invalidParams.Len() > 0 { 7711 return invalidParams 7712 } 7713 return nil 7714} 7715 7716// SetId sets the Id field's value. 7717func (s *DeleteStreamingDistributionInput) SetId(v string) *DeleteStreamingDistributionInput { 7718 s.Id = &v 7719 return s 7720} 7721 7722// SetIfMatch sets the IfMatch field's value. 7723func (s *DeleteStreamingDistributionInput) SetIfMatch(v string) *DeleteStreamingDistributionInput { 7724 s.IfMatch = &v 7725 return s 7726} 7727 7728type DeleteStreamingDistributionOutput struct { 7729 _ struct{} `type:"structure"` 7730} 7731 7732// String returns the string representation 7733func (s DeleteStreamingDistributionOutput) String() string { 7734 return awsutil.Prettify(s) 7735} 7736 7737// GoString returns the string representation 7738func (s DeleteStreamingDistributionOutput) GoString() string { 7739 return s.String() 7740} 7741 7742// A distribution tells CloudFront where you want content to be delivered from, 7743// and the details about how to track and manage content delivery. 7744type Distribution struct { 7745 _ struct{} `type:"structure"` 7746 7747 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 7748 // where 123456789012 is your AWS account ID. 7749 // 7750 // ARN is a required field 7751 ARN *string `type:"string" required:"true"` 7752 7753 // CloudFront automatically adds this element to the response only if you've 7754 // set up the distribution to serve private content with signed URLs. The element 7755 // lists the key pair IDs that CloudFront is aware of for each trusted signer. 7756 // The Signer child element lists the AWS account number of the trusted signer 7757 // (or an empty Self element if the signer is you). The Signer element also 7758 // includes the IDs of any active key pairs associated with the trusted signer's 7759 // AWS account. If no KeyPairId element appears for a Signer, that signer can't 7760 // create working signed URLs. 7761 // 7762 // ActiveTrustedSigners is a required field 7763 ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` 7764 7765 // AWS services in China customers must file for an Internet Content Provider 7766 // (ICP) recordal if they want to serve content publicly on an alternate domain 7767 // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal 7768 // provides the ICP recordal status for CNAMEs associated with distributions. 7769 // 7770 // For more information about ICP recordals, see Signup, Accounts, and Credentials 7771 // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 7772 // in Getting Started with AWS services in China. 7773 AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` 7774 7775 // The current configuration information for the distribution. Send a GET request 7776 // to the /CloudFront API version/distribution ID/config resource. 7777 // 7778 // DistributionConfig is a required field 7779 DistributionConfig *DistributionConfig `type:"structure" required:"true"` 7780 7781 // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. 7782 // 7783 // DomainName is a required field 7784 DomainName *string `type:"string" required:"true"` 7785 7786 // The identifier for the distribution. For example: EDFDVBD632BHDS5. 7787 // 7788 // Id is a required field 7789 Id *string `type:"string" required:"true"` 7790 7791 // The number of invalidation batches currently in progress. 7792 // 7793 // InProgressInvalidationBatches is a required field 7794 InProgressInvalidationBatches *int64 `type:"integer" required:"true"` 7795 7796 // The date and time the distribution was last modified. 7797 // 7798 // LastModifiedTime is a required field 7799 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 7800 7801 // This response element indicates the current status of the distribution. When 7802 // the status is Deployed, the distribution's information is fully propagated 7803 // to all CloudFront edge locations. 7804 // 7805 // Status is a required field 7806 Status *string `type:"string" required:"true"` 7807} 7808 7809// String returns the string representation 7810func (s Distribution) String() string { 7811 return awsutil.Prettify(s) 7812} 7813 7814// GoString returns the string representation 7815func (s Distribution) GoString() string { 7816 return s.String() 7817} 7818 7819// SetARN sets the ARN field's value. 7820func (s *Distribution) SetARN(v string) *Distribution { 7821 s.ARN = &v 7822 return s 7823} 7824 7825// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. 7826func (s *Distribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *Distribution { 7827 s.ActiveTrustedSigners = v 7828 return s 7829} 7830 7831// SetAliasICPRecordals sets the AliasICPRecordals field's value. 7832func (s *Distribution) SetAliasICPRecordals(v []*AliasICPRecordal) *Distribution { 7833 s.AliasICPRecordals = v 7834 return s 7835} 7836 7837// SetDistributionConfig sets the DistributionConfig field's value. 7838func (s *Distribution) SetDistributionConfig(v *DistributionConfig) *Distribution { 7839 s.DistributionConfig = v 7840 return s 7841} 7842 7843// SetDomainName sets the DomainName field's value. 7844func (s *Distribution) SetDomainName(v string) *Distribution { 7845 s.DomainName = &v 7846 return s 7847} 7848 7849// SetId sets the Id field's value. 7850func (s *Distribution) SetId(v string) *Distribution { 7851 s.Id = &v 7852 return s 7853} 7854 7855// SetInProgressInvalidationBatches sets the InProgressInvalidationBatches field's value. 7856func (s *Distribution) SetInProgressInvalidationBatches(v int64) *Distribution { 7857 s.InProgressInvalidationBatches = &v 7858 return s 7859} 7860 7861// SetLastModifiedTime sets the LastModifiedTime field's value. 7862func (s *Distribution) SetLastModifiedTime(v time.Time) *Distribution { 7863 s.LastModifiedTime = &v 7864 return s 7865} 7866 7867// SetStatus sets the Status field's value. 7868func (s *Distribution) SetStatus(v string) *Distribution { 7869 s.Status = &v 7870 return s 7871} 7872 7873// A distribution configuration. 7874type DistributionConfig struct { 7875 _ struct{} `type:"structure"` 7876 7877 // A complex type that contains information about CNAMEs (alternate domain names), 7878 // if any, for this distribution. 7879 Aliases *Aliases `type:"structure"` 7880 7881 // A complex type that contains zero or more CacheBehavior elements. 7882 CacheBehaviors *CacheBehaviors `type:"structure"` 7883 7884 // A unique value (for example, a date-time stamp) that ensures that the request 7885 // can't be replayed. 7886 // 7887 // If the value of CallerReference is new (regardless of the content of the 7888 // DistributionConfig object), CloudFront creates a new distribution. 7889 // 7890 // If CallerReference is a value that you already sent in a previous request 7891 // to create a distribution, CloudFront returns a DistributionAlreadyExists 7892 // error. 7893 // 7894 // CallerReference is a required field 7895 CallerReference *string `type:"string" required:"true"` 7896 7897 // Any comments you want to include about the distribution. 7898 // 7899 // If you don't want to specify a comment, include an empty Comment element. 7900 // 7901 // To delete an existing comment, update the distribution configuration and 7902 // include an empty Comment element. 7903 // 7904 // To add or change a comment, update the distribution configuration and specify 7905 // the new comment. 7906 // 7907 // Comment is a required field 7908 Comment *string `type:"string" required:"true" sensitive:"true"` 7909 7910 // A complex type that controls the following: 7911 // 7912 // * Whether CloudFront replaces HTTP status codes in the 4xx and 5xx range 7913 // with custom error messages before returning the response to the viewer. 7914 // 7915 // * How long CloudFront caches HTTP status codes in the 4xx and 5xx range. 7916 // 7917 // For more information about custom error pages, see Customizing Error Responses 7918 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/custom-error-pages.html) 7919 // in the Amazon CloudFront Developer Guide. 7920 CustomErrorResponses *CustomErrorResponses `type:"structure"` 7921 7922 // A complex type that describes the default cache behavior if you don't specify 7923 // a CacheBehavior element or if files don't match any of the values of PathPattern 7924 // in CacheBehavior elements. You must create exactly one default cache behavior. 7925 // 7926 // DefaultCacheBehavior is a required field 7927 DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` 7928 7929 // The object that you want CloudFront to request from your origin (for example, 7930 // index.html) when a viewer requests the root URL for your distribution (http://www.example.com) 7931 // instead of an object in your distribution (http://www.example.com/product-description.html). 7932 // Specifying a default root object avoids exposing the contents of your distribution. 7933 // 7934 // Specify only the object name, for example, index.html. Don't add a / before 7935 // the object name. 7936 // 7937 // If you don't want to specify a default root object when you create a distribution, 7938 // include an empty DefaultRootObject element. 7939 // 7940 // To delete the default root object from an existing distribution, update the 7941 // distribution configuration and include an empty DefaultRootObject element. 7942 // 7943 // To replace the default root object, update the distribution configuration 7944 // and specify the new object. 7945 // 7946 // For more information about the default root object, see Creating a Default 7947 // Root Object (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/DefaultRootObject.html) 7948 // in the Amazon CloudFront Developer Guide. 7949 DefaultRootObject *string `type:"string"` 7950 7951 // From this field, you can enable or disable the selected distribution. 7952 // 7953 // Enabled is a required field 7954 Enabled *bool `type:"boolean" required:"true"` 7955 7956 // (Optional) Specify the maximum HTTP version that you want viewers to use 7957 // to communicate with CloudFront. The default value for new web distributions 7958 // is http2. Viewers that don't support HTTP/2 automatically use an earlier 7959 // HTTP version. 7960 // 7961 // For viewers and CloudFront to use HTTP/2, viewers must support TLS 1.2 or 7962 // later, and must support Server Name Identification (SNI). 7963 // 7964 // In general, configuring CloudFront to communicate with viewers using HTTP/2 7965 // reduces latency. You can improve performance by optimizing for HTTP/2. For 7966 // more information, do an Internet search for "http/2 optimization." 7967 HttpVersion *string `type:"string" enum:"HttpVersion"` 7968 7969 // If you want CloudFront to respond to IPv6 DNS requests with an IPv6 address 7970 // for your distribution, specify true. If you specify false, CloudFront responds 7971 // to IPv6 DNS requests with the DNS response code NOERROR and with no IP addresses. 7972 // This allows viewers to submit a second request, for an IPv4 address for your 7973 // distribution. 7974 // 7975 // In general, you should enable IPv6 if you have users on IPv6 networks who 7976 // want to access your content. However, if you're using signed URLs or signed 7977 // cookies to restrict access to your content, and if you're using a custom 7978 // policy that includes the IpAddress parameter to restrict the IP addresses 7979 // that can access your content, don't enable IPv6. If you want to restrict 7980 // access to some content by IP address and not restrict access to other content 7981 // (or restrict access but not by IP address), you can create two distributions. 7982 // 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) 7983 // in the Amazon CloudFront Developer Guide. 7984 // 7985 // If you're using an Amazon Route 53 alias resource record set to route traffic 7986 // to your CloudFront distribution, you need to create a second alias resource 7987 // record set when both of the following are true: 7988 // 7989 // * You enable IPv6 for the distribution 7990 // 7991 // * You're using alternate domain names in the URLs for your objects 7992 // 7993 // For more information, see Routing Traffic to an Amazon CloudFront Web Distribution 7994 // by Using Your Domain Name (https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-cloudfront-distribution.html) 7995 // in the Amazon Route 53 Developer Guide. 7996 // 7997 // If you created a CNAME resource record set, either with Amazon Route 53 or 7998 // with another DNS service, you don't need to make any changes. A CNAME record 7999 // will route traffic to your distribution regardless of the IP address format 8000 // of the viewer request. 8001 IsIPV6Enabled *bool `type:"boolean"` 8002 8003 // A complex type that controls whether access logs are written for the distribution. 8004 // 8005 // For more information about logging, see Access Logs (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html) 8006 // in the Amazon CloudFront Developer Guide. 8007 Logging *LoggingConfig `type:"structure"` 8008 8009 // A complex type that contains information about origin groups for this distribution. 8010 OriginGroups *OriginGroups `type:"structure"` 8011 8012 // A complex type that contains information about origins for this distribution. 8013 // 8014 // Origins is a required field 8015 Origins *Origins `type:"structure" required:"true"` 8016 8017 // The price class that corresponds with the maximum price that you want to 8018 // pay for CloudFront service. If you specify PriceClass_All, CloudFront responds 8019 // to requests for your objects from all CloudFront edge locations. 8020 // 8021 // If you specify a price class other than PriceClass_All, CloudFront serves 8022 // your objects from the CloudFront edge location that has the lowest latency 8023 // among the edge locations in your price class. Viewers who are in or near 8024 // regions that are excluded from your specified price class may encounter slower 8025 // performance. 8026 // 8027 // For more information about price classes, see Choosing the Price Class for 8028 // a CloudFront Distribution (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PriceClass.html) 8029 // in the Amazon CloudFront Developer Guide. For information about CloudFront 8030 // pricing, including how price classes (such as Price Class 100) map to CloudFront 8031 // regions, see Amazon CloudFront Pricing (http://aws.amazon.com/cloudfront/pricing/). 8032 // For price class information, scroll down to see the table at the bottom of 8033 // the page. 8034 PriceClass *string `type:"string" enum:"PriceClass"` 8035 8036 // A complex type that identifies ways in which you want to restrict distribution 8037 // of your content. 8038 Restrictions *Restrictions `type:"structure"` 8039 8040 // A complex type that specifies whether you want viewers to use HTTP or HTTPS 8041 // to request your objects, whether you're using an alternate domain name with 8042 // HTTPS, and if so, if you're using AWS Certificate Manager (ACM) or a third-party 8043 // certificate authority. 8044 ViewerCertificate *ViewerCertificate `type:"structure"` 8045 8046 // A unique identifier that specifies the AWS WAF web ACL, if any, to associate 8047 // with this distribution. To specify a web ACL created using the latest version 8048 // of AWS WAF, use the ACL ARN, for example arn:aws:wafv2:us-east-1:123456789012:global/webacl/ExampleWebACL/473e64fd-f30b-4765-81a0-62ad96dd167a. 8049 // To specify a web ACL created using AWS WAF Classic, use the ACL ID, for example 8050 // 473e64fd-f30b-4765-81a0-62ad96dd167a. 8051 // 8052 // AWS WAF is a web application firewall that lets you monitor the HTTP and 8053 // HTTPS requests that are forwarded to CloudFront, and lets you control access 8054 // to your content. Based on conditions that you specify, such as the IP addresses 8055 // that requests originate from or the values of query strings, CloudFront responds 8056 // to requests either with the requested content or with an HTTP 403 status 8057 // code (Forbidden). You can also configure CloudFront to return a custom error 8058 // page when a request is blocked. For more information about AWS WAF, see the 8059 // AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/what-is-aws-waf.html). 8060 WebACLId *string `type:"string"` 8061} 8062 8063// String returns the string representation 8064func (s DistributionConfig) String() string { 8065 return awsutil.Prettify(s) 8066} 8067 8068// GoString returns the string representation 8069func (s DistributionConfig) GoString() string { 8070 return s.String() 8071} 8072 8073// Validate inspects the fields of the type to determine if they are valid. 8074func (s *DistributionConfig) Validate() error { 8075 invalidParams := request.ErrInvalidParams{Context: "DistributionConfig"} 8076 if s.CallerReference == nil { 8077 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 8078 } 8079 if s.Comment == nil { 8080 invalidParams.Add(request.NewErrParamRequired("Comment")) 8081 } 8082 if s.DefaultCacheBehavior == nil { 8083 invalidParams.Add(request.NewErrParamRequired("DefaultCacheBehavior")) 8084 } 8085 if s.Enabled == nil { 8086 invalidParams.Add(request.NewErrParamRequired("Enabled")) 8087 } 8088 if s.Origins == nil { 8089 invalidParams.Add(request.NewErrParamRequired("Origins")) 8090 } 8091 if s.Aliases != nil { 8092 if err := s.Aliases.Validate(); err != nil { 8093 invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) 8094 } 8095 } 8096 if s.CacheBehaviors != nil { 8097 if err := s.CacheBehaviors.Validate(); err != nil { 8098 invalidParams.AddNested("CacheBehaviors", err.(request.ErrInvalidParams)) 8099 } 8100 } 8101 if s.CustomErrorResponses != nil { 8102 if err := s.CustomErrorResponses.Validate(); err != nil { 8103 invalidParams.AddNested("CustomErrorResponses", err.(request.ErrInvalidParams)) 8104 } 8105 } 8106 if s.DefaultCacheBehavior != nil { 8107 if err := s.DefaultCacheBehavior.Validate(); err != nil { 8108 invalidParams.AddNested("DefaultCacheBehavior", err.(request.ErrInvalidParams)) 8109 } 8110 } 8111 if s.Logging != nil { 8112 if err := s.Logging.Validate(); err != nil { 8113 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 8114 } 8115 } 8116 if s.OriginGroups != nil { 8117 if err := s.OriginGroups.Validate(); err != nil { 8118 invalidParams.AddNested("OriginGroups", err.(request.ErrInvalidParams)) 8119 } 8120 } 8121 if s.Origins != nil { 8122 if err := s.Origins.Validate(); err != nil { 8123 invalidParams.AddNested("Origins", err.(request.ErrInvalidParams)) 8124 } 8125 } 8126 if s.Restrictions != nil { 8127 if err := s.Restrictions.Validate(); err != nil { 8128 invalidParams.AddNested("Restrictions", err.(request.ErrInvalidParams)) 8129 } 8130 } 8131 8132 if invalidParams.Len() > 0 { 8133 return invalidParams 8134 } 8135 return nil 8136} 8137 8138// SetAliases sets the Aliases field's value. 8139func (s *DistributionConfig) SetAliases(v *Aliases) *DistributionConfig { 8140 s.Aliases = v 8141 return s 8142} 8143 8144// SetCacheBehaviors sets the CacheBehaviors field's value. 8145func (s *DistributionConfig) SetCacheBehaviors(v *CacheBehaviors) *DistributionConfig { 8146 s.CacheBehaviors = v 8147 return s 8148} 8149 8150// SetCallerReference sets the CallerReference field's value. 8151func (s *DistributionConfig) SetCallerReference(v string) *DistributionConfig { 8152 s.CallerReference = &v 8153 return s 8154} 8155 8156// SetComment sets the Comment field's value. 8157func (s *DistributionConfig) SetComment(v string) *DistributionConfig { 8158 s.Comment = &v 8159 return s 8160} 8161 8162// SetCustomErrorResponses sets the CustomErrorResponses field's value. 8163func (s *DistributionConfig) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionConfig { 8164 s.CustomErrorResponses = v 8165 return s 8166} 8167 8168// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. 8169func (s *DistributionConfig) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionConfig { 8170 s.DefaultCacheBehavior = v 8171 return s 8172} 8173 8174// SetDefaultRootObject sets the DefaultRootObject field's value. 8175func (s *DistributionConfig) SetDefaultRootObject(v string) *DistributionConfig { 8176 s.DefaultRootObject = &v 8177 return s 8178} 8179 8180// SetEnabled sets the Enabled field's value. 8181func (s *DistributionConfig) SetEnabled(v bool) *DistributionConfig { 8182 s.Enabled = &v 8183 return s 8184} 8185 8186// SetHttpVersion sets the HttpVersion field's value. 8187func (s *DistributionConfig) SetHttpVersion(v string) *DistributionConfig { 8188 s.HttpVersion = &v 8189 return s 8190} 8191 8192// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. 8193func (s *DistributionConfig) SetIsIPV6Enabled(v bool) *DistributionConfig { 8194 s.IsIPV6Enabled = &v 8195 return s 8196} 8197 8198// SetLogging sets the Logging field's value. 8199func (s *DistributionConfig) SetLogging(v *LoggingConfig) *DistributionConfig { 8200 s.Logging = v 8201 return s 8202} 8203 8204// SetOriginGroups sets the OriginGroups field's value. 8205func (s *DistributionConfig) SetOriginGroups(v *OriginGroups) *DistributionConfig { 8206 s.OriginGroups = v 8207 return s 8208} 8209 8210// SetOrigins sets the Origins field's value. 8211func (s *DistributionConfig) SetOrigins(v *Origins) *DistributionConfig { 8212 s.Origins = v 8213 return s 8214} 8215 8216// SetPriceClass sets the PriceClass field's value. 8217func (s *DistributionConfig) SetPriceClass(v string) *DistributionConfig { 8218 s.PriceClass = &v 8219 return s 8220} 8221 8222// SetRestrictions sets the Restrictions field's value. 8223func (s *DistributionConfig) SetRestrictions(v *Restrictions) *DistributionConfig { 8224 s.Restrictions = v 8225 return s 8226} 8227 8228// SetViewerCertificate sets the ViewerCertificate field's value. 8229func (s *DistributionConfig) SetViewerCertificate(v *ViewerCertificate) *DistributionConfig { 8230 s.ViewerCertificate = v 8231 return s 8232} 8233 8234// SetWebACLId sets the WebACLId field's value. 8235func (s *DistributionConfig) SetWebACLId(v string) *DistributionConfig { 8236 s.WebACLId = &v 8237 return s 8238} 8239 8240// A distribution Configuration and a list of tags to be associated with the 8241// distribution. 8242type DistributionConfigWithTags struct { 8243 _ struct{} `type:"structure"` 8244 8245 // A distribution configuration. 8246 // 8247 // DistributionConfig is a required field 8248 DistributionConfig *DistributionConfig `type:"structure" required:"true"` 8249 8250 // A complex type that contains zero or more Tag elements. 8251 // 8252 // Tags is a required field 8253 Tags *Tags `type:"structure" required:"true"` 8254} 8255 8256// String returns the string representation 8257func (s DistributionConfigWithTags) String() string { 8258 return awsutil.Prettify(s) 8259} 8260 8261// GoString returns the string representation 8262func (s DistributionConfigWithTags) GoString() string { 8263 return s.String() 8264} 8265 8266// Validate inspects the fields of the type to determine if they are valid. 8267func (s *DistributionConfigWithTags) Validate() error { 8268 invalidParams := request.ErrInvalidParams{Context: "DistributionConfigWithTags"} 8269 if s.DistributionConfig == nil { 8270 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 8271 } 8272 if s.Tags == nil { 8273 invalidParams.Add(request.NewErrParamRequired("Tags")) 8274 } 8275 if s.DistributionConfig != nil { 8276 if err := s.DistributionConfig.Validate(); err != nil { 8277 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 8278 } 8279 } 8280 if s.Tags != nil { 8281 if err := s.Tags.Validate(); err != nil { 8282 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 8283 } 8284 } 8285 8286 if invalidParams.Len() > 0 { 8287 return invalidParams 8288 } 8289 return nil 8290} 8291 8292// SetDistributionConfig sets the DistributionConfig field's value. 8293func (s *DistributionConfigWithTags) SetDistributionConfig(v *DistributionConfig) *DistributionConfigWithTags { 8294 s.DistributionConfig = v 8295 return s 8296} 8297 8298// SetTags sets the Tags field's value. 8299func (s *DistributionConfigWithTags) SetTags(v *Tags) *DistributionConfigWithTags { 8300 s.Tags = v 8301 return s 8302} 8303 8304// A distribution list. 8305type DistributionList struct { 8306 _ struct{} `type:"structure"` 8307 8308 // A flag that indicates whether more distributions remain to be listed. If 8309 // your results were truncated, you can make a follow-up pagination request 8310 // using the Marker request parameter to retrieve more distributions in the 8311 // list. 8312 // 8313 // IsTruncated is a required field 8314 IsTruncated *bool `type:"boolean" required:"true"` 8315 8316 // A complex type that contains one DistributionSummary element for each distribution 8317 // that was created by the current AWS account. 8318 Items []*DistributionSummary `locationNameList:"DistributionSummary" type:"list"` 8319 8320 // The value you provided for the Marker request parameter. 8321 // 8322 // Marker is a required field 8323 Marker *string `type:"string" required:"true"` 8324 8325 // The value you provided for the MaxItems request parameter. 8326 // 8327 // MaxItems is a required field 8328 MaxItems *int64 `type:"integer" required:"true"` 8329 8330 // If IsTruncated is true, this element is present and contains the value you 8331 // can use for the Marker request parameter to continue listing your distributions 8332 // where they left off. 8333 NextMarker *string `type:"string"` 8334 8335 // The number of distributions that were created by the current AWS account. 8336 // 8337 // Quantity is a required field 8338 Quantity *int64 `type:"integer" required:"true"` 8339} 8340 8341// String returns the string representation 8342func (s DistributionList) String() string { 8343 return awsutil.Prettify(s) 8344} 8345 8346// GoString returns the string representation 8347func (s DistributionList) GoString() string { 8348 return s.String() 8349} 8350 8351// SetIsTruncated sets the IsTruncated field's value. 8352func (s *DistributionList) SetIsTruncated(v bool) *DistributionList { 8353 s.IsTruncated = &v 8354 return s 8355} 8356 8357// SetItems sets the Items field's value. 8358func (s *DistributionList) SetItems(v []*DistributionSummary) *DistributionList { 8359 s.Items = v 8360 return s 8361} 8362 8363// SetMarker sets the Marker field's value. 8364func (s *DistributionList) SetMarker(v string) *DistributionList { 8365 s.Marker = &v 8366 return s 8367} 8368 8369// SetMaxItems sets the MaxItems field's value. 8370func (s *DistributionList) SetMaxItems(v int64) *DistributionList { 8371 s.MaxItems = &v 8372 return s 8373} 8374 8375// SetNextMarker sets the NextMarker field's value. 8376func (s *DistributionList) SetNextMarker(v string) *DistributionList { 8377 s.NextMarker = &v 8378 return s 8379} 8380 8381// SetQuantity sets the Quantity field's value. 8382func (s *DistributionList) SetQuantity(v int64) *DistributionList { 8383 s.Quantity = &v 8384 return s 8385} 8386 8387// A summary of the information about a CloudFront distribution. 8388type DistributionSummary struct { 8389 _ struct{} `type:"structure"` 8390 8391 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 8392 // where 123456789012 is your AWS account ID. 8393 // 8394 // ARN is a required field 8395 ARN *string `type:"string" required:"true"` 8396 8397 // AWS services in China customers must file for an Internet Content Provider 8398 // (ICP) recordal if they want to serve content publicly on an alternate domain 8399 // name, also known as a CNAME, that they've added to CloudFront. AliasICPRecordal 8400 // provides the ICP recordal status for CNAMEs associated with distributions. 8401 // 8402 // For more information about ICP recordals, see Signup, Accounts, and Credentials 8403 // (https://docs.amazonaws.cn/en_us/aws/latest/userguide/accounts-and-credentials.html) 8404 // in Getting Started with AWS services in China. 8405 AliasICPRecordals []*AliasICPRecordal `locationNameList:"AliasICPRecordal" type:"list"` 8406 8407 // A complex type that contains information about CNAMEs (alternate domain names), 8408 // if any, for this distribution. 8409 // 8410 // Aliases is a required field 8411 Aliases *Aliases `type:"structure" required:"true"` 8412 8413 // A complex type that contains zero or more CacheBehavior elements. 8414 // 8415 // CacheBehaviors is a required field 8416 CacheBehaviors *CacheBehaviors `type:"structure" required:"true"` 8417 8418 // The comment originally specified when this distribution was created. 8419 // 8420 // Comment is a required field 8421 Comment *string `type:"string" required:"true"` 8422 8423 // A complex type that contains zero or more CustomErrorResponses elements. 8424 // 8425 // CustomErrorResponses is a required field 8426 CustomErrorResponses *CustomErrorResponses `type:"structure" required:"true"` 8427 8428 // A complex type that describes the default cache behavior if you don't specify 8429 // a CacheBehavior element or if files don't match any of the values of PathPattern 8430 // in CacheBehavior elements. You must create exactly one default cache behavior. 8431 // 8432 // DefaultCacheBehavior is a required field 8433 DefaultCacheBehavior *DefaultCacheBehavior `type:"structure" required:"true"` 8434 8435 // The domain name that corresponds to the distribution, for example, d111111abcdef8.cloudfront.net. 8436 // 8437 // DomainName is a required field 8438 DomainName *string `type:"string" required:"true"` 8439 8440 // Whether the distribution is enabled to accept user requests for content. 8441 // 8442 // Enabled is a required field 8443 Enabled *bool `type:"boolean" required:"true"` 8444 8445 // Specify the maximum HTTP version that you want viewers to use to communicate 8446 // with CloudFront. The default value for new web distributions is http2. Viewers 8447 // that don't support HTTP/2 will automatically use an earlier version. 8448 // 8449 // HttpVersion is a required field 8450 HttpVersion *string `type:"string" required:"true" enum:"HttpVersion"` 8451 8452 // The identifier for the distribution. For example: EDFDVBD632BHDS5. 8453 // 8454 // Id is a required field 8455 Id *string `type:"string" required:"true"` 8456 8457 // Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for 8458 // your distribution. 8459 // 8460 // IsIPV6Enabled is a required field 8461 IsIPV6Enabled *bool `type:"boolean" required:"true"` 8462 8463 // The date and time the distribution was last modified. 8464 // 8465 // LastModifiedTime is a required field 8466 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 8467 8468 // A complex type that contains information about origin groups for this distribution. 8469 OriginGroups *OriginGroups `type:"structure"` 8470 8471 // A complex type that contains information about origins for this distribution. 8472 // 8473 // Origins is a required field 8474 Origins *Origins `type:"structure" required:"true"` 8475 8476 // A complex type that contains information about price class for this streaming 8477 // distribution. 8478 // 8479 // PriceClass is a required field 8480 PriceClass *string `type:"string" required:"true" enum:"PriceClass"` 8481 8482 // A complex type that identifies ways in which you want to restrict distribution 8483 // of your content. 8484 // 8485 // Restrictions is a required field 8486 Restrictions *Restrictions `type:"structure" required:"true"` 8487 8488 // The current status of the distribution. When the status is Deployed, the 8489 // distribution's information is propagated to all CloudFront edge locations. 8490 // 8491 // Status is a required field 8492 Status *string `type:"string" required:"true"` 8493 8494 // A complex type that specifies whether you want viewers to use HTTP or HTTPS 8495 // to request your objects, whether you're using an alternate domain name with 8496 // HTTPS, and if so, if you're using AWS Certificate Manager (ACM) or a third-party 8497 // certificate authority. 8498 // 8499 // ViewerCertificate is a required field 8500 ViewerCertificate *ViewerCertificate `type:"structure" required:"true"` 8501 8502 // The Web ACL Id (if any) associated with the distribution. 8503 // 8504 // WebACLId is a required field 8505 WebACLId *string `type:"string" required:"true"` 8506} 8507 8508// String returns the string representation 8509func (s DistributionSummary) String() string { 8510 return awsutil.Prettify(s) 8511} 8512 8513// GoString returns the string representation 8514func (s DistributionSummary) GoString() string { 8515 return s.String() 8516} 8517 8518// SetARN sets the ARN field's value. 8519func (s *DistributionSummary) SetARN(v string) *DistributionSummary { 8520 s.ARN = &v 8521 return s 8522} 8523 8524// SetAliasICPRecordals sets the AliasICPRecordals field's value. 8525func (s *DistributionSummary) SetAliasICPRecordals(v []*AliasICPRecordal) *DistributionSummary { 8526 s.AliasICPRecordals = v 8527 return s 8528} 8529 8530// SetAliases sets the Aliases field's value. 8531func (s *DistributionSummary) SetAliases(v *Aliases) *DistributionSummary { 8532 s.Aliases = v 8533 return s 8534} 8535 8536// SetCacheBehaviors sets the CacheBehaviors field's value. 8537func (s *DistributionSummary) SetCacheBehaviors(v *CacheBehaviors) *DistributionSummary { 8538 s.CacheBehaviors = v 8539 return s 8540} 8541 8542// SetComment sets the Comment field's value. 8543func (s *DistributionSummary) SetComment(v string) *DistributionSummary { 8544 s.Comment = &v 8545 return s 8546} 8547 8548// SetCustomErrorResponses sets the CustomErrorResponses field's value. 8549func (s *DistributionSummary) SetCustomErrorResponses(v *CustomErrorResponses) *DistributionSummary { 8550 s.CustomErrorResponses = v 8551 return s 8552} 8553 8554// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value. 8555func (s *DistributionSummary) SetDefaultCacheBehavior(v *DefaultCacheBehavior) *DistributionSummary { 8556 s.DefaultCacheBehavior = v 8557 return s 8558} 8559 8560// SetDomainName sets the DomainName field's value. 8561func (s *DistributionSummary) SetDomainName(v string) *DistributionSummary { 8562 s.DomainName = &v 8563 return s 8564} 8565 8566// SetEnabled sets the Enabled field's value. 8567func (s *DistributionSummary) SetEnabled(v bool) *DistributionSummary { 8568 s.Enabled = &v 8569 return s 8570} 8571 8572// SetHttpVersion sets the HttpVersion field's value. 8573func (s *DistributionSummary) SetHttpVersion(v string) *DistributionSummary { 8574 s.HttpVersion = &v 8575 return s 8576} 8577 8578// SetId sets the Id field's value. 8579func (s *DistributionSummary) SetId(v string) *DistributionSummary { 8580 s.Id = &v 8581 return s 8582} 8583 8584// SetIsIPV6Enabled sets the IsIPV6Enabled field's value. 8585func (s *DistributionSummary) SetIsIPV6Enabled(v bool) *DistributionSummary { 8586 s.IsIPV6Enabled = &v 8587 return s 8588} 8589 8590// SetLastModifiedTime sets the LastModifiedTime field's value. 8591func (s *DistributionSummary) SetLastModifiedTime(v time.Time) *DistributionSummary { 8592 s.LastModifiedTime = &v 8593 return s 8594} 8595 8596// SetOriginGroups sets the OriginGroups field's value. 8597func (s *DistributionSummary) SetOriginGroups(v *OriginGroups) *DistributionSummary { 8598 s.OriginGroups = v 8599 return s 8600} 8601 8602// SetOrigins sets the Origins field's value. 8603func (s *DistributionSummary) SetOrigins(v *Origins) *DistributionSummary { 8604 s.Origins = v 8605 return s 8606} 8607 8608// SetPriceClass sets the PriceClass field's value. 8609func (s *DistributionSummary) SetPriceClass(v string) *DistributionSummary { 8610 s.PriceClass = &v 8611 return s 8612} 8613 8614// SetRestrictions sets the Restrictions field's value. 8615func (s *DistributionSummary) SetRestrictions(v *Restrictions) *DistributionSummary { 8616 s.Restrictions = v 8617 return s 8618} 8619 8620// SetStatus sets the Status field's value. 8621func (s *DistributionSummary) SetStatus(v string) *DistributionSummary { 8622 s.Status = &v 8623 return s 8624} 8625 8626// SetViewerCertificate sets the ViewerCertificate field's value. 8627func (s *DistributionSummary) SetViewerCertificate(v *ViewerCertificate) *DistributionSummary { 8628 s.ViewerCertificate = v 8629 return s 8630} 8631 8632// SetWebACLId sets the WebACLId field's value. 8633func (s *DistributionSummary) SetWebACLId(v string) *DistributionSummary { 8634 s.WebACLId = &v 8635 return s 8636} 8637 8638// Complex data type for field-level encryption profiles that includes all of 8639// the encryption entities. 8640type EncryptionEntities struct { 8641 _ struct{} `type:"structure"` 8642 8643 // An array of field patterns in a field-level encryption content type-profile 8644 // mapping. 8645 Items []*EncryptionEntity `locationNameList:"EncryptionEntity" type:"list"` 8646 8647 // Number of field pattern items in a field-level encryption content type-profile 8648 // mapping. 8649 // 8650 // Quantity is a required field 8651 Quantity *int64 `type:"integer" required:"true"` 8652} 8653 8654// String returns the string representation 8655func (s EncryptionEntities) String() string { 8656 return awsutil.Prettify(s) 8657} 8658 8659// GoString returns the string representation 8660func (s EncryptionEntities) GoString() string { 8661 return s.String() 8662} 8663 8664// Validate inspects the fields of the type to determine if they are valid. 8665func (s *EncryptionEntities) Validate() error { 8666 invalidParams := request.ErrInvalidParams{Context: "EncryptionEntities"} 8667 if s.Quantity == nil { 8668 invalidParams.Add(request.NewErrParamRequired("Quantity")) 8669 } 8670 if s.Items != nil { 8671 for i, v := range s.Items { 8672 if v == nil { 8673 continue 8674 } 8675 if err := v.Validate(); err != nil { 8676 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 8677 } 8678 } 8679 } 8680 8681 if invalidParams.Len() > 0 { 8682 return invalidParams 8683 } 8684 return nil 8685} 8686 8687// SetItems sets the Items field's value. 8688func (s *EncryptionEntities) SetItems(v []*EncryptionEntity) *EncryptionEntities { 8689 s.Items = v 8690 return s 8691} 8692 8693// SetQuantity sets the Quantity field's value. 8694func (s *EncryptionEntities) SetQuantity(v int64) *EncryptionEntities { 8695 s.Quantity = &v 8696 return s 8697} 8698 8699// Complex data type for field-level encryption profiles that includes the encryption 8700// key and field pattern specifications. 8701type EncryptionEntity struct { 8702 _ struct{} `type:"structure"` 8703 8704 // Field patterns in a field-level encryption content type profile specify the 8705 // fields that you want to be encrypted. You can provide the full field name, 8706 // or any beginning characters followed by a wildcard (*). You can't overlap 8707 // field patterns. For example, you can't have both ABC* and AB*. Note that 8708 // field patterns are case-sensitive. 8709 // 8710 // FieldPatterns is a required field 8711 FieldPatterns *FieldPatterns `type:"structure" required:"true"` 8712 8713 // The provider associated with the public key being used for encryption. This 8714 // value must also be provided with the private key for applications to be able 8715 // to decrypt data. 8716 // 8717 // ProviderId is a required field 8718 ProviderId *string `type:"string" required:"true"` 8719 8720 // The public key associated with a set of field-level encryption patterns, 8721 // to be used when encrypting the fields that match the patterns. 8722 // 8723 // PublicKeyId is a required field 8724 PublicKeyId *string `type:"string" required:"true"` 8725} 8726 8727// String returns the string representation 8728func (s EncryptionEntity) String() string { 8729 return awsutil.Prettify(s) 8730} 8731 8732// GoString returns the string representation 8733func (s EncryptionEntity) GoString() string { 8734 return s.String() 8735} 8736 8737// Validate inspects the fields of the type to determine if they are valid. 8738func (s *EncryptionEntity) Validate() error { 8739 invalidParams := request.ErrInvalidParams{Context: "EncryptionEntity"} 8740 if s.FieldPatterns == nil { 8741 invalidParams.Add(request.NewErrParamRequired("FieldPatterns")) 8742 } 8743 if s.ProviderId == nil { 8744 invalidParams.Add(request.NewErrParamRequired("ProviderId")) 8745 } 8746 if s.PublicKeyId == nil { 8747 invalidParams.Add(request.NewErrParamRequired("PublicKeyId")) 8748 } 8749 if s.FieldPatterns != nil { 8750 if err := s.FieldPatterns.Validate(); err != nil { 8751 invalidParams.AddNested("FieldPatterns", err.(request.ErrInvalidParams)) 8752 } 8753 } 8754 8755 if invalidParams.Len() > 0 { 8756 return invalidParams 8757 } 8758 return nil 8759} 8760 8761// SetFieldPatterns sets the FieldPatterns field's value. 8762func (s *EncryptionEntity) SetFieldPatterns(v *FieldPatterns) *EncryptionEntity { 8763 s.FieldPatterns = v 8764 return s 8765} 8766 8767// SetProviderId sets the ProviderId field's value. 8768func (s *EncryptionEntity) SetProviderId(v string) *EncryptionEntity { 8769 s.ProviderId = &v 8770 return s 8771} 8772 8773// SetPublicKeyId sets the PublicKeyId field's value. 8774func (s *EncryptionEntity) SetPublicKeyId(v string) *EncryptionEntity { 8775 s.PublicKeyId = &v 8776 return s 8777} 8778 8779// A complex data type that includes the profile configurations and other options 8780// specified for field-level encryption. 8781type FieldLevelEncryption struct { 8782 _ struct{} `type:"structure"` 8783 8784 // A complex data type that includes the profile configurations specified for 8785 // field-level encryption. 8786 // 8787 // FieldLevelEncryptionConfig is a required field 8788 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure" required:"true"` 8789 8790 // The configuration ID for a field-level encryption configuration which includes 8791 // a set of profiles that specify certain selected data fields to be encrypted 8792 // by specific public keys. 8793 // 8794 // Id is a required field 8795 Id *string `type:"string" required:"true"` 8796 8797 // The last time the field-level encryption configuration was changed. 8798 // 8799 // LastModifiedTime is a required field 8800 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 8801} 8802 8803// String returns the string representation 8804func (s FieldLevelEncryption) String() string { 8805 return awsutil.Prettify(s) 8806} 8807 8808// GoString returns the string representation 8809func (s FieldLevelEncryption) GoString() string { 8810 return s.String() 8811} 8812 8813// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 8814func (s *FieldLevelEncryption) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *FieldLevelEncryption { 8815 s.FieldLevelEncryptionConfig = v 8816 return s 8817} 8818 8819// SetId sets the Id field's value. 8820func (s *FieldLevelEncryption) SetId(v string) *FieldLevelEncryption { 8821 s.Id = &v 8822 return s 8823} 8824 8825// SetLastModifiedTime sets the LastModifiedTime field's value. 8826func (s *FieldLevelEncryption) SetLastModifiedTime(v time.Time) *FieldLevelEncryption { 8827 s.LastModifiedTime = &v 8828 return s 8829} 8830 8831// A complex data type that includes the profile configurations specified for 8832// field-level encryption. 8833type FieldLevelEncryptionConfig struct { 8834 _ struct{} `type:"structure"` 8835 8836 // A unique number that ensures the request can't be replayed. 8837 // 8838 // CallerReference is a required field 8839 CallerReference *string `type:"string" required:"true"` 8840 8841 // An optional comment about the configuration. 8842 Comment *string `type:"string"` 8843 8844 // A complex data type that specifies when to forward content if a content type 8845 // isn't recognized and profiles to use as by default in a request if a query 8846 // argument doesn't specify a profile to use. 8847 ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` 8848 8849 // A complex data type that specifies when to forward content if a profile isn't 8850 // found and the profile that can be provided as a query argument in a request. 8851 QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` 8852} 8853 8854// String returns the string representation 8855func (s FieldLevelEncryptionConfig) String() string { 8856 return awsutil.Prettify(s) 8857} 8858 8859// GoString returns the string representation 8860func (s FieldLevelEncryptionConfig) GoString() string { 8861 return s.String() 8862} 8863 8864// Validate inspects the fields of the type to determine if they are valid. 8865func (s *FieldLevelEncryptionConfig) Validate() error { 8866 invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionConfig"} 8867 if s.CallerReference == nil { 8868 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 8869 } 8870 if s.ContentTypeProfileConfig != nil { 8871 if err := s.ContentTypeProfileConfig.Validate(); err != nil { 8872 invalidParams.AddNested("ContentTypeProfileConfig", err.(request.ErrInvalidParams)) 8873 } 8874 } 8875 if s.QueryArgProfileConfig != nil { 8876 if err := s.QueryArgProfileConfig.Validate(); err != nil { 8877 invalidParams.AddNested("QueryArgProfileConfig", err.(request.ErrInvalidParams)) 8878 } 8879 } 8880 8881 if invalidParams.Len() > 0 { 8882 return invalidParams 8883 } 8884 return nil 8885} 8886 8887// SetCallerReference sets the CallerReference field's value. 8888func (s *FieldLevelEncryptionConfig) SetCallerReference(v string) *FieldLevelEncryptionConfig { 8889 s.CallerReference = &v 8890 return s 8891} 8892 8893// SetComment sets the Comment field's value. 8894func (s *FieldLevelEncryptionConfig) SetComment(v string) *FieldLevelEncryptionConfig { 8895 s.Comment = &v 8896 return s 8897} 8898 8899// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. 8900func (s *FieldLevelEncryptionConfig) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionConfig { 8901 s.ContentTypeProfileConfig = v 8902 return s 8903} 8904 8905// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. 8906func (s *FieldLevelEncryptionConfig) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionConfig { 8907 s.QueryArgProfileConfig = v 8908 return s 8909} 8910 8911// List of field-level encrpytion configurations. 8912type FieldLevelEncryptionList struct { 8913 _ struct{} `type:"structure"` 8914 8915 // An array of field-level encryption items. 8916 Items []*FieldLevelEncryptionSummary `locationNameList:"FieldLevelEncryptionSummary" type:"list"` 8917 8918 // The maximum number of elements you want in the response body. 8919 // 8920 // MaxItems is a required field 8921 MaxItems *int64 `type:"integer" required:"true"` 8922 8923 // If there are more elements to be listed, this element is present and contains 8924 // the value that you can use for the Marker request parameter to continue listing 8925 // your configurations where you left off. 8926 NextMarker *string `type:"string"` 8927 8928 // The number of field-level encryption items. 8929 // 8930 // Quantity is a required field 8931 Quantity *int64 `type:"integer" required:"true"` 8932} 8933 8934// String returns the string representation 8935func (s FieldLevelEncryptionList) String() string { 8936 return awsutil.Prettify(s) 8937} 8938 8939// GoString returns the string representation 8940func (s FieldLevelEncryptionList) GoString() string { 8941 return s.String() 8942} 8943 8944// SetItems sets the Items field's value. 8945func (s *FieldLevelEncryptionList) SetItems(v []*FieldLevelEncryptionSummary) *FieldLevelEncryptionList { 8946 s.Items = v 8947 return s 8948} 8949 8950// SetMaxItems sets the MaxItems field's value. 8951func (s *FieldLevelEncryptionList) SetMaxItems(v int64) *FieldLevelEncryptionList { 8952 s.MaxItems = &v 8953 return s 8954} 8955 8956// SetNextMarker sets the NextMarker field's value. 8957func (s *FieldLevelEncryptionList) SetNextMarker(v string) *FieldLevelEncryptionList { 8958 s.NextMarker = &v 8959 return s 8960} 8961 8962// SetQuantity sets the Quantity field's value. 8963func (s *FieldLevelEncryptionList) SetQuantity(v int64) *FieldLevelEncryptionList { 8964 s.Quantity = &v 8965 return s 8966} 8967 8968// A complex data type for field-level encryption profiles. 8969type FieldLevelEncryptionProfile struct { 8970 _ struct{} `type:"structure"` 8971 8972 // A complex data type that includes the profile name and the encryption entities 8973 // for the field-level encryption profile. 8974 // 8975 // FieldLevelEncryptionProfileConfig is a required field 8976 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure" required:"true"` 8977 8978 // The ID for a field-level encryption profile configuration which includes 8979 // a set of profiles that specify certain selected data fields to be encrypted 8980 // by specific public keys. 8981 // 8982 // Id is a required field 8983 Id *string `type:"string" required:"true"` 8984 8985 // The last time the field-level encryption profile was updated. 8986 // 8987 // LastModifiedTime is a required field 8988 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 8989} 8990 8991// String returns the string representation 8992func (s FieldLevelEncryptionProfile) String() string { 8993 return awsutil.Prettify(s) 8994} 8995 8996// GoString returns the string representation 8997func (s FieldLevelEncryptionProfile) GoString() string { 8998 return s.String() 8999} 9000 9001// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 9002func (s *FieldLevelEncryptionProfile) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *FieldLevelEncryptionProfile { 9003 s.FieldLevelEncryptionProfileConfig = v 9004 return s 9005} 9006 9007// SetId sets the Id field's value. 9008func (s *FieldLevelEncryptionProfile) SetId(v string) *FieldLevelEncryptionProfile { 9009 s.Id = &v 9010 return s 9011} 9012 9013// SetLastModifiedTime sets the LastModifiedTime field's value. 9014func (s *FieldLevelEncryptionProfile) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfile { 9015 s.LastModifiedTime = &v 9016 return s 9017} 9018 9019// A complex data type of profiles for the field-level encryption. 9020type FieldLevelEncryptionProfileConfig struct { 9021 _ struct{} `type:"structure"` 9022 9023 // A unique number that ensures that the request can't be replayed. 9024 // 9025 // CallerReference is a required field 9026 CallerReference *string `type:"string" required:"true"` 9027 9028 // An optional comment for the field-level encryption profile. 9029 Comment *string `type:"string"` 9030 9031 // A complex data type of encryption entities for the field-level encryption 9032 // profile that include the public key ID, provider, and field patterns for 9033 // specifying which fields to encrypt with this key. 9034 // 9035 // EncryptionEntities is a required field 9036 EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` 9037 9038 // Profile name for the field-level encryption profile. 9039 // 9040 // Name is a required field 9041 Name *string `type:"string" required:"true"` 9042} 9043 9044// String returns the string representation 9045func (s FieldLevelEncryptionProfileConfig) String() string { 9046 return awsutil.Prettify(s) 9047} 9048 9049// GoString returns the string representation 9050func (s FieldLevelEncryptionProfileConfig) GoString() string { 9051 return s.String() 9052} 9053 9054// Validate inspects the fields of the type to determine if they are valid. 9055func (s *FieldLevelEncryptionProfileConfig) Validate() error { 9056 invalidParams := request.ErrInvalidParams{Context: "FieldLevelEncryptionProfileConfig"} 9057 if s.CallerReference == nil { 9058 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 9059 } 9060 if s.EncryptionEntities == nil { 9061 invalidParams.Add(request.NewErrParamRequired("EncryptionEntities")) 9062 } 9063 if s.Name == nil { 9064 invalidParams.Add(request.NewErrParamRequired("Name")) 9065 } 9066 if s.EncryptionEntities != nil { 9067 if err := s.EncryptionEntities.Validate(); err != nil { 9068 invalidParams.AddNested("EncryptionEntities", err.(request.ErrInvalidParams)) 9069 } 9070 } 9071 9072 if invalidParams.Len() > 0 { 9073 return invalidParams 9074 } 9075 return nil 9076} 9077 9078// SetCallerReference sets the CallerReference field's value. 9079func (s *FieldLevelEncryptionProfileConfig) SetCallerReference(v string) *FieldLevelEncryptionProfileConfig { 9080 s.CallerReference = &v 9081 return s 9082} 9083 9084// SetComment sets the Comment field's value. 9085func (s *FieldLevelEncryptionProfileConfig) SetComment(v string) *FieldLevelEncryptionProfileConfig { 9086 s.Comment = &v 9087 return s 9088} 9089 9090// SetEncryptionEntities sets the EncryptionEntities field's value. 9091func (s *FieldLevelEncryptionProfileConfig) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileConfig { 9092 s.EncryptionEntities = v 9093 return s 9094} 9095 9096// SetName sets the Name field's value. 9097func (s *FieldLevelEncryptionProfileConfig) SetName(v string) *FieldLevelEncryptionProfileConfig { 9098 s.Name = &v 9099 return s 9100} 9101 9102// List of field-level encryption profiles. 9103type FieldLevelEncryptionProfileList struct { 9104 _ struct{} `type:"structure"` 9105 9106 // The field-level encryption profile items. 9107 Items []*FieldLevelEncryptionProfileSummary `locationNameList:"FieldLevelEncryptionProfileSummary" type:"list"` 9108 9109 // The maximum number of field-level encryption profiles you want in the response 9110 // body. 9111 // 9112 // MaxItems is a required field 9113 MaxItems *int64 `type:"integer" required:"true"` 9114 9115 // If there are more elements to be listed, this element is present and contains 9116 // the value that you can use for the Marker request parameter to continue listing 9117 // your profiles where you left off. 9118 NextMarker *string `type:"string"` 9119 9120 // The number of field-level encryption profiles. 9121 // 9122 // Quantity is a required field 9123 Quantity *int64 `type:"integer" required:"true"` 9124} 9125 9126// String returns the string representation 9127func (s FieldLevelEncryptionProfileList) String() string { 9128 return awsutil.Prettify(s) 9129} 9130 9131// GoString returns the string representation 9132func (s FieldLevelEncryptionProfileList) GoString() string { 9133 return s.String() 9134} 9135 9136// SetItems sets the Items field's value. 9137func (s *FieldLevelEncryptionProfileList) SetItems(v []*FieldLevelEncryptionProfileSummary) *FieldLevelEncryptionProfileList { 9138 s.Items = v 9139 return s 9140} 9141 9142// SetMaxItems sets the MaxItems field's value. 9143func (s *FieldLevelEncryptionProfileList) SetMaxItems(v int64) *FieldLevelEncryptionProfileList { 9144 s.MaxItems = &v 9145 return s 9146} 9147 9148// SetNextMarker sets the NextMarker field's value. 9149func (s *FieldLevelEncryptionProfileList) SetNextMarker(v string) *FieldLevelEncryptionProfileList { 9150 s.NextMarker = &v 9151 return s 9152} 9153 9154// SetQuantity sets the Quantity field's value. 9155func (s *FieldLevelEncryptionProfileList) SetQuantity(v int64) *FieldLevelEncryptionProfileList { 9156 s.Quantity = &v 9157 return s 9158} 9159 9160// The field-level encryption profile summary. 9161type FieldLevelEncryptionProfileSummary struct { 9162 _ struct{} `type:"structure"` 9163 9164 // An optional comment for the field-level encryption profile summary. 9165 Comment *string `type:"string"` 9166 9167 // A complex data type of encryption entities for the field-level encryption 9168 // profile that include the public key ID, provider, and field patterns for 9169 // specifying which fields to encrypt with this key. 9170 // 9171 // EncryptionEntities is a required field 9172 EncryptionEntities *EncryptionEntities `type:"structure" required:"true"` 9173 9174 // ID for the field-level encryption profile summary. 9175 // 9176 // Id is a required field 9177 Id *string `type:"string" required:"true"` 9178 9179 // The time when the the field-level encryption profile summary was last updated. 9180 // 9181 // LastModifiedTime is a required field 9182 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 9183 9184 // Name for the field-level encryption profile summary. 9185 // 9186 // Name is a required field 9187 Name *string `type:"string" required:"true"` 9188} 9189 9190// String returns the string representation 9191func (s FieldLevelEncryptionProfileSummary) String() string { 9192 return awsutil.Prettify(s) 9193} 9194 9195// GoString returns the string representation 9196func (s FieldLevelEncryptionProfileSummary) GoString() string { 9197 return s.String() 9198} 9199 9200// SetComment sets the Comment field's value. 9201func (s *FieldLevelEncryptionProfileSummary) SetComment(v string) *FieldLevelEncryptionProfileSummary { 9202 s.Comment = &v 9203 return s 9204} 9205 9206// SetEncryptionEntities sets the EncryptionEntities field's value. 9207func (s *FieldLevelEncryptionProfileSummary) SetEncryptionEntities(v *EncryptionEntities) *FieldLevelEncryptionProfileSummary { 9208 s.EncryptionEntities = v 9209 return s 9210} 9211 9212// SetId sets the Id field's value. 9213func (s *FieldLevelEncryptionProfileSummary) SetId(v string) *FieldLevelEncryptionProfileSummary { 9214 s.Id = &v 9215 return s 9216} 9217 9218// SetLastModifiedTime sets the LastModifiedTime field's value. 9219func (s *FieldLevelEncryptionProfileSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionProfileSummary { 9220 s.LastModifiedTime = &v 9221 return s 9222} 9223 9224// SetName sets the Name field's value. 9225func (s *FieldLevelEncryptionProfileSummary) SetName(v string) *FieldLevelEncryptionProfileSummary { 9226 s.Name = &v 9227 return s 9228} 9229 9230// A summary of a field-level encryption item. 9231type FieldLevelEncryptionSummary struct { 9232 _ struct{} `type:"structure"` 9233 9234 // An optional comment about the field-level encryption item. 9235 Comment *string `type:"string"` 9236 9237 // A summary of a content type-profile mapping. 9238 ContentTypeProfileConfig *ContentTypeProfileConfig `type:"structure"` 9239 9240 // The unique ID of a field-level encryption item. 9241 // 9242 // Id is a required field 9243 Id *string `type:"string" required:"true"` 9244 9245 // The last time that the summary of field-level encryption items was modified. 9246 // 9247 // LastModifiedTime is a required field 9248 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 9249 9250 // A summary of a query argument-profile mapping. 9251 QueryArgProfileConfig *QueryArgProfileConfig `type:"structure"` 9252} 9253 9254// String returns the string representation 9255func (s FieldLevelEncryptionSummary) String() string { 9256 return awsutil.Prettify(s) 9257} 9258 9259// GoString returns the string representation 9260func (s FieldLevelEncryptionSummary) GoString() string { 9261 return s.String() 9262} 9263 9264// SetComment sets the Comment field's value. 9265func (s *FieldLevelEncryptionSummary) SetComment(v string) *FieldLevelEncryptionSummary { 9266 s.Comment = &v 9267 return s 9268} 9269 9270// SetContentTypeProfileConfig sets the ContentTypeProfileConfig field's value. 9271func (s *FieldLevelEncryptionSummary) SetContentTypeProfileConfig(v *ContentTypeProfileConfig) *FieldLevelEncryptionSummary { 9272 s.ContentTypeProfileConfig = v 9273 return s 9274} 9275 9276// SetId sets the Id field's value. 9277func (s *FieldLevelEncryptionSummary) SetId(v string) *FieldLevelEncryptionSummary { 9278 s.Id = &v 9279 return s 9280} 9281 9282// SetLastModifiedTime sets the LastModifiedTime field's value. 9283func (s *FieldLevelEncryptionSummary) SetLastModifiedTime(v time.Time) *FieldLevelEncryptionSummary { 9284 s.LastModifiedTime = &v 9285 return s 9286} 9287 9288// SetQueryArgProfileConfig sets the QueryArgProfileConfig field's value. 9289func (s *FieldLevelEncryptionSummary) SetQueryArgProfileConfig(v *QueryArgProfileConfig) *FieldLevelEncryptionSummary { 9290 s.QueryArgProfileConfig = v 9291 return s 9292} 9293 9294// A complex data type that includes the field patterns to match for field-level 9295// encryption. 9296type FieldPatterns struct { 9297 _ struct{} `type:"structure"` 9298 9299 // An array of the field-level encryption field patterns. 9300 Items []*string `locationNameList:"FieldPattern" type:"list"` 9301 9302 // The number of field-level encryption field patterns. 9303 // 9304 // Quantity is a required field 9305 Quantity *int64 `type:"integer" required:"true"` 9306} 9307 9308// String returns the string representation 9309func (s FieldPatterns) String() string { 9310 return awsutil.Prettify(s) 9311} 9312 9313// GoString returns the string representation 9314func (s FieldPatterns) GoString() string { 9315 return s.String() 9316} 9317 9318// Validate inspects the fields of the type to determine if they are valid. 9319func (s *FieldPatterns) Validate() error { 9320 invalidParams := request.ErrInvalidParams{Context: "FieldPatterns"} 9321 if s.Quantity == nil { 9322 invalidParams.Add(request.NewErrParamRequired("Quantity")) 9323 } 9324 9325 if invalidParams.Len() > 0 { 9326 return invalidParams 9327 } 9328 return nil 9329} 9330 9331// SetItems sets the Items field's value. 9332func (s *FieldPatterns) SetItems(v []*string) *FieldPatterns { 9333 s.Items = v 9334 return s 9335} 9336 9337// SetQuantity sets the Quantity field's value. 9338func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { 9339 s.Quantity = &v 9340 return s 9341} 9342 9343// A complex type that specifies how CloudFront handles query strings, cookies, 9344// and HTTP headers. 9345type ForwardedValues struct { 9346 _ struct{} `type:"structure"` 9347 9348 // A complex type that specifies whether you want CloudFront to forward cookies 9349 // to the origin and, if so, which ones. For more information about forwarding 9350 // cookies to the origin, see How CloudFront Forwards, Caches, and Logs Cookies 9351 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Cookies.html) 9352 // in the Amazon CloudFront Developer Guide. 9353 // 9354 // Cookies is a required field 9355 Cookies *CookiePreference `type:"structure" required:"true"` 9356 9357 // A complex type that specifies the Headers, if any, that you want CloudFront 9358 // to forward to the origin for this cache behavior (whitelisted headers). For 9359 // the headers that you specify, CloudFront also caches separate versions of 9360 // a specified object that is based on the header values in viewer requests. 9361 // 9362 // For more information, see Caching Content Based on Request Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) 9363 // in the Amazon CloudFront Developer Guide. 9364 Headers *Headers `type:"structure"` 9365 9366 // Indicates whether you want CloudFront to forward query strings to the origin 9367 // that is associated with this cache behavior and cache based on the query 9368 // string parameters. CloudFront behavior depends on the value of QueryString 9369 // and on the values that you specify for QueryStringCacheKeys, if any: 9370 // 9371 // If you specify true for QueryString and you don't specify any values for 9372 // QueryStringCacheKeys, CloudFront forwards all query string parameters to 9373 // the origin and caches based on all query string parameters. Depending on 9374 // how many query string parameters and values you have, this can adversely 9375 // affect performance because CloudFront must forward more requests to the origin. 9376 // 9377 // If you specify true for QueryString and you specify one or more values for 9378 // QueryStringCacheKeys, CloudFront forwards all query string parameters to 9379 // the origin, but it only caches based on the query string parameters that 9380 // you specify. 9381 // 9382 // If you specify false for QueryString, CloudFront doesn't forward any query 9383 // string parameters to the origin, and doesn't cache based on query string 9384 // parameters. 9385 // 9386 // For more information, see Configuring CloudFront to Cache Based on Query 9387 // String Parameters (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html) 9388 // in the Amazon CloudFront Developer Guide. 9389 // 9390 // QueryString is a required field 9391 QueryString *bool `type:"boolean" required:"true"` 9392 9393 // A complex type that contains information about the query string parameters 9394 // that you want CloudFront to use for caching for this cache behavior. 9395 QueryStringCacheKeys *QueryStringCacheKeys `type:"structure"` 9396} 9397 9398// String returns the string representation 9399func (s ForwardedValues) String() string { 9400 return awsutil.Prettify(s) 9401} 9402 9403// GoString returns the string representation 9404func (s ForwardedValues) GoString() string { 9405 return s.String() 9406} 9407 9408// Validate inspects the fields of the type to determine if they are valid. 9409func (s *ForwardedValues) Validate() error { 9410 invalidParams := request.ErrInvalidParams{Context: "ForwardedValues"} 9411 if s.Cookies == nil { 9412 invalidParams.Add(request.NewErrParamRequired("Cookies")) 9413 } 9414 if s.QueryString == nil { 9415 invalidParams.Add(request.NewErrParamRequired("QueryString")) 9416 } 9417 if s.Cookies != nil { 9418 if err := s.Cookies.Validate(); err != nil { 9419 invalidParams.AddNested("Cookies", err.(request.ErrInvalidParams)) 9420 } 9421 } 9422 if s.Headers != nil { 9423 if err := s.Headers.Validate(); err != nil { 9424 invalidParams.AddNested("Headers", err.(request.ErrInvalidParams)) 9425 } 9426 } 9427 if s.QueryStringCacheKeys != nil { 9428 if err := s.QueryStringCacheKeys.Validate(); err != nil { 9429 invalidParams.AddNested("QueryStringCacheKeys", err.(request.ErrInvalidParams)) 9430 } 9431 } 9432 9433 if invalidParams.Len() > 0 { 9434 return invalidParams 9435 } 9436 return nil 9437} 9438 9439// SetCookies sets the Cookies field's value. 9440func (s *ForwardedValues) SetCookies(v *CookiePreference) *ForwardedValues { 9441 s.Cookies = v 9442 return s 9443} 9444 9445// SetHeaders sets the Headers field's value. 9446func (s *ForwardedValues) SetHeaders(v *Headers) *ForwardedValues { 9447 s.Headers = v 9448 return s 9449} 9450 9451// SetQueryString sets the QueryString field's value. 9452func (s *ForwardedValues) SetQueryString(v bool) *ForwardedValues { 9453 s.QueryString = &v 9454 return s 9455} 9456 9457// SetQueryStringCacheKeys sets the QueryStringCacheKeys field's value. 9458func (s *ForwardedValues) SetQueryStringCacheKeys(v *QueryStringCacheKeys) *ForwardedValues { 9459 s.QueryStringCacheKeys = v 9460 return s 9461} 9462 9463// A complex type that controls the countries in which your content is distributed. 9464// CloudFront determines the location of your users using MaxMind GeoIP databases. 9465type GeoRestriction struct { 9466 _ struct{} `type:"structure"` 9467 9468 // A complex type that contains a Location element for each country in which 9469 // you want CloudFront either to distribute your content (whitelist) or not 9470 // distribute your content (blacklist). 9471 // 9472 // The Location element is a two-letter, uppercase country code for a country 9473 // that you want to include in your blacklist or whitelist. Include one Location 9474 // element for each country. 9475 // 9476 // CloudFront and MaxMind both use ISO 3166 country codes. For the current list 9477 // of countries and the corresponding codes, see ISO 3166-1-alpha-2 code on 9478 // the International Organization for Standardization website. You can also 9479 // refer to the country list on the CloudFront console, which includes both 9480 // country names and codes. 9481 Items []*string `locationNameList:"Location" type:"list"` 9482 9483 // When geo restriction is enabled, this is the number of countries in your 9484 // whitelist or blacklist. Otherwise, when it is not enabled, Quantity is 0, 9485 // and you can omit Items. 9486 // 9487 // Quantity is a required field 9488 Quantity *int64 `type:"integer" required:"true"` 9489 9490 // The method that you want to use to restrict distribution of your content 9491 // by country: 9492 // 9493 // * none: No geo restriction is enabled, meaning access to content is not 9494 // restricted by client geo location. 9495 // 9496 // * blacklist: The Location elements specify the countries in which you 9497 // don't want CloudFront to distribute your content. 9498 // 9499 // * whitelist: The Location elements specify the countries in which you 9500 // want CloudFront to distribute your content. 9501 // 9502 // RestrictionType is a required field 9503 RestrictionType *string `type:"string" required:"true" enum:"GeoRestrictionType"` 9504} 9505 9506// String returns the string representation 9507func (s GeoRestriction) String() string { 9508 return awsutil.Prettify(s) 9509} 9510 9511// GoString returns the string representation 9512func (s GeoRestriction) GoString() string { 9513 return s.String() 9514} 9515 9516// Validate inspects the fields of the type to determine if they are valid. 9517func (s *GeoRestriction) Validate() error { 9518 invalidParams := request.ErrInvalidParams{Context: "GeoRestriction"} 9519 if s.Quantity == nil { 9520 invalidParams.Add(request.NewErrParamRequired("Quantity")) 9521 } 9522 if s.RestrictionType == nil { 9523 invalidParams.Add(request.NewErrParamRequired("RestrictionType")) 9524 } 9525 9526 if invalidParams.Len() > 0 { 9527 return invalidParams 9528 } 9529 return nil 9530} 9531 9532// SetItems sets the Items field's value. 9533func (s *GeoRestriction) SetItems(v []*string) *GeoRestriction { 9534 s.Items = v 9535 return s 9536} 9537 9538// SetQuantity sets the Quantity field's value. 9539func (s *GeoRestriction) SetQuantity(v int64) *GeoRestriction { 9540 s.Quantity = &v 9541 return s 9542} 9543 9544// SetRestrictionType sets the RestrictionType field's value. 9545func (s *GeoRestriction) SetRestrictionType(v string) *GeoRestriction { 9546 s.RestrictionType = &v 9547 return s 9548} 9549 9550// The origin access identity's configuration information. For more information, 9551// see CloudFrontOriginAccessIdentityConfig (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CloudFrontOriginAccessIdentityConfig.html). 9552type GetCloudFrontOriginAccessIdentityConfigInput struct { 9553 _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityConfigRequest" type:"structure"` 9554 9555 // The identity's ID. 9556 // 9557 // Id is a required field 9558 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9559} 9560 9561// String returns the string representation 9562func (s GetCloudFrontOriginAccessIdentityConfigInput) String() string { 9563 return awsutil.Prettify(s) 9564} 9565 9566// GoString returns the string representation 9567func (s GetCloudFrontOriginAccessIdentityConfigInput) GoString() string { 9568 return s.String() 9569} 9570 9571// Validate inspects the fields of the type to determine if they are valid. 9572func (s *GetCloudFrontOriginAccessIdentityConfigInput) Validate() error { 9573 invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityConfigInput"} 9574 if s.Id == nil { 9575 invalidParams.Add(request.NewErrParamRequired("Id")) 9576 } 9577 if s.Id != nil && len(*s.Id) < 1 { 9578 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9579 } 9580 9581 if invalidParams.Len() > 0 { 9582 return invalidParams 9583 } 9584 return nil 9585} 9586 9587// SetId sets the Id field's value. 9588func (s *GetCloudFrontOriginAccessIdentityConfigInput) SetId(v string) *GetCloudFrontOriginAccessIdentityConfigInput { 9589 s.Id = &v 9590 return s 9591} 9592 9593// The returned result of the corresponding request. 9594type GetCloudFrontOriginAccessIdentityConfigOutput struct { 9595 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 9596 9597 // The origin access identity's configuration information. 9598 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` 9599 9600 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 9601 ETag *string `location:"header" locationName:"ETag" type:"string"` 9602} 9603 9604// String returns the string representation 9605func (s GetCloudFrontOriginAccessIdentityConfigOutput) String() string { 9606 return awsutil.Prettify(s) 9607} 9608 9609// GoString returns the string representation 9610func (s GetCloudFrontOriginAccessIdentityConfigOutput) GoString() string { 9611 return s.String() 9612} 9613 9614// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 9615func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *GetCloudFrontOriginAccessIdentityConfigOutput { 9616 s.CloudFrontOriginAccessIdentityConfig = v 9617 return s 9618} 9619 9620// SetETag sets the ETag field's value. 9621func (s *GetCloudFrontOriginAccessIdentityConfigOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityConfigOutput { 9622 s.ETag = &v 9623 return s 9624} 9625 9626// The request to get an origin access identity's information. 9627type GetCloudFrontOriginAccessIdentityInput struct { 9628 _ struct{} `locationName:"GetCloudFrontOriginAccessIdentityRequest" type:"structure"` 9629 9630 // The identity's ID. 9631 // 9632 // Id is a required field 9633 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9634} 9635 9636// String returns the string representation 9637func (s GetCloudFrontOriginAccessIdentityInput) String() string { 9638 return awsutil.Prettify(s) 9639} 9640 9641// GoString returns the string representation 9642func (s GetCloudFrontOriginAccessIdentityInput) GoString() string { 9643 return s.String() 9644} 9645 9646// Validate inspects the fields of the type to determine if they are valid. 9647func (s *GetCloudFrontOriginAccessIdentityInput) Validate() error { 9648 invalidParams := request.ErrInvalidParams{Context: "GetCloudFrontOriginAccessIdentityInput"} 9649 if s.Id == nil { 9650 invalidParams.Add(request.NewErrParamRequired("Id")) 9651 } 9652 if s.Id != nil && len(*s.Id) < 1 { 9653 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9654 } 9655 9656 if invalidParams.Len() > 0 { 9657 return invalidParams 9658 } 9659 return nil 9660} 9661 9662// SetId sets the Id field's value. 9663func (s *GetCloudFrontOriginAccessIdentityInput) SetId(v string) *GetCloudFrontOriginAccessIdentityInput { 9664 s.Id = &v 9665 return s 9666} 9667 9668// The returned result of the corresponding request. 9669type GetCloudFrontOriginAccessIdentityOutput struct { 9670 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 9671 9672 // The origin access identity's information. 9673 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 9674 9675 // The current version of the origin access identity's information. For example: 9676 // E2QWRUHAPOMQZL. 9677 ETag *string `location:"header" locationName:"ETag" type:"string"` 9678} 9679 9680// String returns the string representation 9681func (s GetCloudFrontOriginAccessIdentityOutput) String() string { 9682 return awsutil.Prettify(s) 9683} 9684 9685// GoString returns the string representation 9686func (s GetCloudFrontOriginAccessIdentityOutput) GoString() string { 9687 return s.String() 9688} 9689 9690// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 9691func (s *GetCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *GetCloudFrontOriginAccessIdentityOutput { 9692 s.CloudFrontOriginAccessIdentity = v 9693 return s 9694} 9695 9696// SetETag sets the ETag field's value. 9697func (s *GetCloudFrontOriginAccessIdentityOutput) SetETag(v string) *GetCloudFrontOriginAccessIdentityOutput { 9698 s.ETag = &v 9699 return s 9700} 9701 9702// The request to get a distribution configuration. 9703type GetDistributionConfigInput struct { 9704 _ struct{} `locationName:"GetDistributionConfigRequest" type:"structure"` 9705 9706 // The distribution's ID. If the ID is empty, an empty distribution configuration 9707 // is returned. 9708 // 9709 // Id is a required field 9710 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9711} 9712 9713// String returns the string representation 9714func (s GetDistributionConfigInput) String() string { 9715 return awsutil.Prettify(s) 9716} 9717 9718// GoString returns the string representation 9719func (s GetDistributionConfigInput) GoString() string { 9720 return s.String() 9721} 9722 9723// Validate inspects the fields of the type to determine if they are valid. 9724func (s *GetDistributionConfigInput) Validate() error { 9725 invalidParams := request.ErrInvalidParams{Context: "GetDistributionConfigInput"} 9726 if s.Id == nil { 9727 invalidParams.Add(request.NewErrParamRequired("Id")) 9728 } 9729 if s.Id != nil && len(*s.Id) < 1 { 9730 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9731 } 9732 9733 if invalidParams.Len() > 0 { 9734 return invalidParams 9735 } 9736 return nil 9737} 9738 9739// SetId sets the Id field's value. 9740func (s *GetDistributionConfigInput) SetId(v string) *GetDistributionConfigInput { 9741 s.Id = &v 9742 return s 9743} 9744 9745// The returned result of the corresponding request. 9746type GetDistributionConfigOutput struct { 9747 _ struct{} `type:"structure" payload:"DistributionConfig"` 9748 9749 // The distribution's configuration information. 9750 DistributionConfig *DistributionConfig `type:"structure"` 9751 9752 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 9753 ETag *string `location:"header" locationName:"ETag" type:"string"` 9754} 9755 9756// String returns the string representation 9757func (s GetDistributionConfigOutput) String() string { 9758 return awsutil.Prettify(s) 9759} 9760 9761// GoString returns the string representation 9762func (s GetDistributionConfigOutput) GoString() string { 9763 return s.String() 9764} 9765 9766// SetDistributionConfig sets the DistributionConfig field's value. 9767func (s *GetDistributionConfigOutput) SetDistributionConfig(v *DistributionConfig) *GetDistributionConfigOutput { 9768 s.DistributionConfig = v 9769 return s 9770} 9771 9772// SetETag sets the ETag field's value. 9773func (s *GetDistributionConfigOutput) SetETag(v string) *GetDistributionConfigOutput { 9774 s.ETag = &v 9775 return s 9776} 9777 9778// The request to get a distribution's information. 9779type GetDistributionInput struct { 9780 _ struct{} `locationName:"GetDistributionRequest" type:"structure"` 9781 9782 // The distribution's ID. If the ID is empty, an empty distribution configuration 9783 // is returned. 9784 // 9785 // Id is a required field 9786 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9787} 9788 9789// String returns the string representation 9790func (s GetDistributionInput) String() string { 9791 return awsutil.Prettify(s) 9792} 9793 9794// GoString returns the string representation 9795func (s GetDistributionInput) GoString() string { 9796 return s.String() 9797} 9798 9799// Validate inspects the fields of the type to determine if they are valid. 9800func (s *GetDistributionInput) Validate() error { 9801 invalidParams := request.ErrInvalidParams{Context: "GetDistributionInput"} 9802 if s.Id == nil { 9803 invalidParams.Add(request.NewErrParamRequired("Id")) 9804 } 9805 if s.Id != nil && len(*s.Id) < 1 { 9806 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9807 } 9808 9809 if invalidParams.Len() > 0 { 9810 return invalidParams 9811 } 9812 return nil 9813} 9814 9815// SetId sets the Id field's value. 9816func (s *GetDistributionInput) SetId(v string) *GetDistributionInput { 9817 s.Id = &v 9818 return s 9819} 9820 9821// The returned result of the corresponding request. 9822type GetDistributionOutput struct { 9823 _ struct{} `type:"structure" payload:"Distribution"` 9824 9825 // The distribution's information. 9826 Distribution *Distribution `type:"structure"` 9827 9828 // The current version of the distribution's information. For example: E2QWRUHAPOMQZL. 9829 ETag *string `location:"header" locationName:"ETag" type:"string"` 9830} 9831 9832// String returns the string representation 9833func (s GetDistributionOutput) String() string { 9834 return awsutil.Prettify(s) 9835} 9836 9837// GoString returns the string representation 9838func (s GetDistributionOutput) GoString() string { 9839 return s.String() 9840} 9841 9842// SetDistribution sets the Distribution field's value. 9843func (s *GetDistributionOutput) SetDistribution(v *Distribution) *GetDistributionOutput { 9844 s.Distribution = v 9845 return s 9846} 9847 9848// SetETag sets the ETag field's value. 9849func (s *GetDistributionOutput) SetETag(v string) *GetDistributionOutput { 9850 s.ETag = &v 9851 return s 9852} 9853 9854type GetFieldLevelEncryptionConfigInput struct { 9855 _ struct{} `locationName:"GetFieldLevelEncryptionConfigRequest" type:"structure"` 9856 9857 // Request the ID for the field-level encryption configuration information. 9858 // 9859 // Id is a required field 9860 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9861} 9862 9863// String returns the string representation 9864func (s GetFieldLevelEncryptionConfigInput) String() string { 9865 return awsutil.Prettify(s) 9866} 9867 9868// GoString returns the string representation 9869func (s GetFieldLevelEncryptionConfigInput) GoString() string { 9870 return s.String() 9871} 9872 9873// Validate inspects the fields of the type to determine if they are valid. 9874func (s *GetFieldLevelEncryptionConfigInput) Validate() error { 9875 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionConfigInput"} 9876 if s.Id == nil { 9877 invalidParams.Add(request.NewErrParamRequired("Id")) 9878 } 9879 if s.Id != nil && len(*s.Id) < 1 { 9880 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9881 } 9882 9883 if invalidParams.Len() > 0 { 9884 return invalidParams 9885 } 9886 return nil 9887} 9888 9889// SetId sets the Id field's value. 9890func (s *GetFieldLevelEncryptionConfigInput) SetId(v string) *GetFieldLevelEncryptionConfigInput { 9891 s.Id = &v 9892 return s 9893} 9894 9895type GetFieldLevelEncryptionConfigOutput struct { 9896 _ struct{} `type:"structure" payload:"FieldLevelEncryptionConfig"` 9897 9898 // The current version of the field level encryption configuration. For example: 9899 // E2QWRUHAPOMQZL. 9900 ETag *string `location:"header" locationName:"ETag" type:"string"` 9901 9902 // Return the field-level encryption configuration information. 9903 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `type:"structure"` 9904} 9905 9906// String returns the string representation 9907func (s GetFieldLevelEncryptionConfigOutput) String() string { 9908 return awsutil.Prettify(s) 9909} 9910 9911// GoString returns the string representation 9912func (s GetFieldLevelEncryptionConfigOutput) GoString() string { 9913 return s.String() 9914} 9915 9916// SetETag sets the ETag field's value. 9917func (s *GetFieldLevelEncryptionConfigOutput) SetETag(v string) *GetFieldLevelEncryptionConfigOutput { 9918 s.ETag = &v 9919 return s 9920} 9921 9922// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 9923func (s *GetFieldLevelEncryptionConfigOutput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *GetFieldLevelEncryptionConfigOutput { 9924 s.FieldLevelEncryptionConfig = v 9925 return s 9926} 9927 9928type GetFieldLevelEncryptionInput struct { 9929 _ struct{} `locationName:"GetFieldLevelEncryptionRequest" type:"structure"` 9930 9931 // Request the ID for the field-level encryption configuration information. 9932 // 9933 // Id is a required field 9934 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 9935} 9936 9937// String returns the string representation 9938func (s GetFieldLevelEncryptionInput) String() string { 9939 return awsutil.Prettify(s) 9940} 9941 9942// GoString returns the string representation 9943func (s GetFieldLevelEncryptionInput) GoString() string { 9944 return s.String() 9945} 9946 9947// Validate inspects the fields of the type to determine if they are valid. 9948func (s *GetFieldLevelEncryptionInput) Validate() error { 9949 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionInput"} 9950 if s.Id == nil { 9951 invalidParams.Add(request.NewErrParamRequired("Id")) 9952 } 9953 if s.Id != nil && len(*s.Id) < 1 { 9954 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 9955 } 9956 9957 if invalidParams.Len() > 0 { 9958 return invalidParams 9959 } 9960 return nil 9961} 9962 9963// SetId sets the Id field's value. 9964func (s *GetFieldLevelEncryptionInput) SetId(v string) *GetFieldLevelEncryptionInput { 9965 s.Id = &v 9966 return s 9967} 9968 9969type GetFieldLevelEncryptionOutput struct { 9970 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 9971 9972 // The current version of the field level encryption configuration. For example: 9973 // E2QWRUHAPOMQZL. 9974 ETag *string `location:"header" locationName:"ETag" type:"string"` 9975 9976 // Return the field-level encryption configuration information. 9977 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 9978} 9979 9980// String returns the string representation 9981func (s GetFieldLevelEncryptionOutput) String() string { 9982 return awsutil.Prettify(s) 9983} 9984 9985// GoString returns the string representation 9986func (s GetFieldLevelEncryptionOutput) GoString() string { 9987 return s.String() 9988} 9989 9990// SetETag sets the ETag field's value. 9991func (s *GetFieldLevelEncryptionOutput) SetETag(v string) *GetFieldLevelEncryptionOutput { 9992 s.ETag = &v 9993 return s 9994} 9995 9996// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 9997func (s *GetFieldLevelEncryptionOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *GetFieldLevelEncryptionOutput { 9998 s.FieldLevelEncryption = v 9999 return s 10000} 10001 10002type GetFieldLevelEncryptionProfileConfigInput struct { 10003 _ struct{} `locationName:"GetFieldLevelEncryptionProfileConfigRequest" type:"structure"` 10004 10005 // Get the ID for the field-level encryption profile configuration information. 10006 // 10007 // Id is a required field 10008 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10009} 10010 10011// String returns the string representation 10012func (s GetFieldLevelEncryptionProfileConfigInput) String() string { 10013 return awsutil.Prettify(s) 10014} 10015 10016// GoString returns the string representation 10017func (s GetFieldLevelEncryptionProfileConfigInput) GoString() string { 10018 return s.String() 10019} 10020 10021// Validate inspects the fields of the type to determine if they are valid. 10022func (s *GetFieldLevelEncryptionProfileConfigInput) Validate() error { 10023 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileConfigInput"} 10024 if s.Id == nil { 10025 invalidParams.Add(request.NewErrParamRequired("Id")) 10026 } 10027 if s.Id != nil && len(*s.Id) < 1 { 10028 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10029 } 10030 10031 if invalidParams.Len() > 0 { 10032 return invalidParams 10033 } 10034 return nil 10035} 10036 10037// SetId sets the Id field's value. 10038func (s *GetFieldLevelEncryptionProfileConfigInput) SetId(v string) *GetFieldLevelEncryptionProfileConfigInput { 10039 s.Id = &v 10040 return s 10041} 10042 10043type GetFieldLevelEncryptionProfileConfigOutput struct { 10044 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 10045 10046 // The current version of the field-level encryption profile configuration result. 10047 // For example: E2QWRUHAPOMQZL. 10048 ETag *string `location:"header" locationName:"ETag" type:"string"` 10049 10050 // Return the field-level encryption profile configuration information. 10051 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `type:"structure"` 10052} 10053 10054// String returns the string representation 10055func (s GetFieldLevelEncryptionProfileConfigOutput) String() string { 10056 return awsutil.Prettify(s) 10057} 10058 10059// GoString returns the string representation 10060func (s GetFieldLevelEncryptionProfileConfigOutput) GoString() string { 10061 return s.String() 10062} 10063 10064// SetETag sets the ETag field's value. 10065func (s *GetFieldLevelEncryptionProfileConfigOutput) SetETag(v string) *GetFieldLevelEncryptionProfileConfigOutput { 10066 s.ETag = &v 10067 return s 10068} 10069 10070// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 10071func (s *GetFieldLevelEncryptionProfileConfigOutput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *GetFieldLevelEncryptionProfileConfigOutput { 10072 s.FieldLevelEncryptionProfileConfig = v 10073 return s 10074} 10075 10076type GetFieldLevelEncryptionProfileInput struct { 10077 _ struct{} `locationName:"GetFieldLevelEncryptionProfileRequest" type:"structure"` 10078 10079 // Get the ID for the field-level encryption profile information. 10080 // 10081 // Id is a required field 10082 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10083} 10084 10085// String returns the string representation 10086func (s GetFieldLevelEncryptionProfileInput) String() string { 10087 return awsutil.Prettify(s) 10088} 10089 10090// GoString returns the string representation 10091func (s GetFieldLevelEncryptionProfileInput) GoString() string { 10092 return s.String() 10093} 10094 10095// Validate inspects the fields of the type to determine if they are valid. 10096func (s *GetFieldLevelEncryptionProfileInput) Validate() error { 10097 invalidParams := request.ErrInvalidParams{Context: "GetFieldLevelEncryptionProfileInput"} 10098 if s.Id == nil { 10099 invalidParams.Add(request.NewErrParamRequired("Id")) 10100 } 10101 if s.Id != nil && len(*s.Id) < 1 { 10102 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10103 } 10104 10105 if invalidParams.Len() > 0 { 10106 return invalidParams 10107 } 10108 return nil 10109} 10110 10111// SetId sets the Id field's value. 10112func (s *GetFieldLevelEncryptionProfileInput) SetId(v string) *GetFieldLevelEncryptionProfileInput { 10113 s.Id = &v 10114 return s 10115} 10116 10117type GetFieldLevelEncryptionProfileOutput struct { 10118 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 10119 10120 // The current version of the field level encryption profile. For example: E2QWRUHAPOMQZL. 10121 ETag *string `location:"header" locationName:"ETag" type:"string"` 10122 10123 // Return the field-level encryption profile information. 10124 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 10125} 10126 10127// String returns the string representation 10128func (s GetFieldLevelEncryptionProfileOutput) String() string { 10129 return awsutil.Prettify(s) 10130} 10131 10132// GoString returns the string representation 10133func (s GetFieldLevelEncryptionProfileOutput) GoString() string { 10134 return s.String() 10135} 10136 10137// SetETag sets the ETag field's value. 10138func (s *GetFieldLevelEncryptionProfileOutput) SetETag(v string) *GetFieldLevelEncryptionProfileOutput { 10139 s.ETag = &v 10140 return s 10141} 10142 10143// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 10144func (s *GetFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *GetFieldLevelEncryptionProfileOutput { 10145 s.FieldLevelEncryptionProfile = v 10146 return s 10147} 10148 10149// The request to get an invalidation's information. 10150type GetInvalidationInput struct { 10151 _ struct{} `locationName:"GetInvalidationRequest" type:"structure"` 10152 10153 // The distribution's ID. 10154 // 10155 // DistributionId is a required field 10156 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 10157 10158 // The identifier for the invalidation request, for example, IDFDVBD632BHDS5. 10159 // 10160 // Id is a required field 10161 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10162} 10163 10164// String returns the string representation 10165func (s GetInvalidationInput) String() string { 10166 return awsutil.Prettify(s) 10167} 10168 10169// GoString returns the string representation 10170func (s GetInvalidationInput) GoString() string { 10171 return s.String() 10172} 10173 10174// Validate inspects the fields of the type to determine if they are valid. 10175func (s *GetInvalidationInput) Validate() error { 10176 invalidParams := request.ErrInvalidParams{Context: "GetInvalidationInput"} 10177 if s.DistributionId == nil { 10178 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 10179 } 10180 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 10181 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 10182 } 10183 if s.Id == nil { 10184 invalidParams.Add(request.NewErrParamRequired("Id")) 10185 } 10186 if s.Id != nil && len(*s.Id) < 1 { 10187 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10188 } 10189 10190 if invalidParams.Len() > 0 { 10191 return invalidParams 10192 } 10193 return nil 10194} 10195 10196// SetDistributionId sets the DistributionId field's value. 10197func (s *GetInvalidationInput) SetDistributionId(v string) *GetInvalidationInput { 10198 s.DistributionId = &v 10199 return s 10200} 10201 10202// SetId sets the Id field's value. 10203func (s *GetInvalidationInput) SetId(v string) *GetInvalidationInput { 10204 s.Id = &v 10205 return s 10206} 10207 10208// The returned result of the corresponding request. 10209type GetInvalidationOutput struct { 10210 _ struct{} `type:"structure" payload:"Invalidation"` 10211 10212 // The invalidation's information. For more information, see Invalidation Complex 10213 // Type (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/InvalidationDatatype.html). 10214 Invalidation *Invalidation `type:"structure"` 10215} 10216 10217// String returns the string representation 10218func (s GetInvalidationOutput) String() string { 10219 return awsutil.Prettify(s) 10220} 10221 10222// GoString returns the string representation 10223func (s GetInvalidationOutput) GoString() string { 10224 return s.String() 10225} 10226 10227// SetInvalidation sets the Invalidation field's value. 10228func (s *GetInvalidationOutput) SetInvalidation(v *Invalidation) *GetInvalidationOutput { 10229 s.Invalidation = v 10230 return s 10231} 10232 10233type GetPublicKeyConfigInput struct { 10234 _ struct{} `locationName:"GetPublicKeyConfigRequest" type:"structure"` 10235 10236 // Request the ID for the public key configuration. 10237 // 10238 // Id is a required field 10239 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10240} 10241 10242// String returns the string representation 10243func (s GetPublicKeyConfigInput) String() string { 10244 return awsutil.Prettify(s) 10245} 10246 10247// GoString returns the string representation 10248func (s GetPublicKeyConfigInput) GoString() string { 10249 return s.String() 10250} 10251 10252// Validate inspects the fields of the type to determine if they are valid. 10253func (s *GetPublicKeyConfigInput) Validate() error { 10254 invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyConfigInput"} 10255 if s.Id == nil { 10256 invalidParams.Add(request.NewErrParamRequired("Id")) 10257 } 10258 if s.Id != nil && len(*s.Id) < 1 { 10259 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10260 } 10261 10262 if invalidParams.Len() > 0 { 10263 return invalidParams 10264 } 10265 return nil 10266} 10267 10268// SetId sets the Id field's value. 10269func (s *GetPublicKeyConfigInput) SetId(v string) *GetPublicKeyConfigInput { 10270 s.Id = &v 10271 return s 10272} 10273 10274type GetPublicKeyConfigOutput struct { 10275 _ struct{} `type:"structure" payload:"PublicKeyConfig"` 10276 10277 // The current version of the public key configuration. For example: E2QWRUHAPOMQZL. 10278 ETag *string `location:"header" locationName:"ETag" type:"string"` 10279 10280 // Return the result for the public key configuration. 10281 PublicKeyConfig *PublicKeyConfig `type:"structure"` 10282} 10283 10284// String returns the string representation 10285func (s GetPublicKeyConfigOutput) String() string { 10286 return awsutil.Prettify(s) 10287} 10288 10289// GoString returns the string representation 10290func (s GetPublicKeyConfigOutput) GoString() string { 10291 return s.String() 10292} 10293 10294// SetETag sets the ETag field's value. 10295func (s *GetPublicKeyConfigOutput) SetETag(v string) *GetPublicKeyConfigOutput { 10296 s.ETag = &v 10297 return s 10298} 10299 10300// SetPublicKeyConfig sets the PublicKeyConfig field's value. 10301func (s *GetPublicKeyConfigOutput) SetPublicKeyConfig(v *PublicKeyConfig) *GetPublicKeyConfigOutput { 10302 s.PublicKeyConfig = v 10303 return s 10304} 10305 10306type GetPublicKeyInput struct { 10307 _ struct{} `locationName:"GetPublicKeyRequest" type:"structure"` 10308 10309 // Request the ID for the public key. 10310 // 10311 // Id is a required field 10312 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10313} 10314 10315// String returns the string representation 10316func (s GetPublicKeyInput) String() string { 10317 return awsutil.Prettify(s) 10318} 10319 10320// GoString returns the string representation 10321func (s GetPublicKeyInput) GoString() string { 10322 return s.String() 10323} 10324 10325// Validate inspects the fields of the type to determine if they are valid. 10326func (s *GetPublicKeyInput) Validate() error { 10327 invalidParams := request.ErrInvalidParams{Context: "GetPublicKeyInput"} 10328 if s.Id == nil { 10329 invalidParams.Add(request.NewErrParamRequired("Id")) 10330 } 10331 if s.Id != nil && len(*s.Id) < 1 { 10332 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10333 } 10334 10335 if invalidParams.Len() > 0 { 10336 return invalidParams 10337 } 10338 return nil 10339} 10340 10341// SetId sets the Id field's value. 10342func (s *GetPublicKeyInput) SetId(v string) *GetPublicKeyInput { 10343 s.Id = &v 10344 return s 10345} 10346 10347type GetPublicKeyOutput struct { 10348 _ struct{} `type:"structure" payload:"PublicKey"` 10349 10350 // The current version of the public key. For example: E2QWRUHAPOMQZL. 10351 ETag *string `location:"header" locationName:"ETag" type:"string"` 10352 10353 // Return the public key. 10354 PublicKey *PublicKey `type:"structure"` 10355} 10356 10357// String returns the string representation 10358func (s GetPublicKeyOutput) String() string { 10359 return awsutil.Prettify(s) 10360} 10361 10362// GoString returns the string representation 10363func (s GetPublicKeyOutput) GoString() string { 10364 return s.String() 10365} 10366 10367// SetETag sets the ETag field's value. 10368func (s *GetPublicKeyOutput) SetETag(v string) *GetPublicKeyOutput { 10369 s.ETag = &v 10370 return s 10371} 10372 10373// SetPublicKey sets the PublicKey field's value. 10374func (s *GetPublicKeyOutput) SetPublicKey(v *PublicKey) *GetPublicKeyOutput { 10375 s.PublicKey = v 10376 return s 10377} 10378 10379// To request to get a streaming distribution configuration. 10380type GetStreamingDistributionConfigInput struct { 10381 _ struct{} `locationName:"GetStreamingDistributionConfigRequest" type:"structure"` 10382 10383 // The streaming distribution's ID. 10384 // 10385 // Id is a required field 10386 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10387} 10388 10389// String returns the string representation 10390func (s GetStreamingDistributionConfigInput) String() string { 10391 return awsutil.Prettify(s) 10392} 10393 10394// GoString returns the string representation 10395func (s GetStreamingDistributionConfigInput) GoString() string { 10396 return s.String() 10397} 10398 10399// Validate inspects the fields of the type to determine if they are valid. 10400func (s *GetStreamingDistributionConfigInput) Validate() error { 10401 invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionConfigInput"} 10402 if s.Id == nil { 10403 invalidParams.Add(request.NewErrParamRequired("Id")) 10404 } 10405 if s.Id != nil && len(*s.Id) < 1 { 10406 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10407 } 10408 10409 if invalidParams.Len() > 0 { 10410 return invalidParams 10411 } 10412 return nil 10413} 10414 10415// SetId sets the Id field's value. 10416func (s *GetStreamingDistributionConfigInput) SetId(v string) *GetStreamingDistributionConfigInput { 10417 s.Id = &v 10418 return s 10419} 10420 10421// The returned result of the corresponding request. 10422type GetStreamingDistributionConfigOutput struct { 10423 _ struct{} `type:"structure" payload:"StreamingDistributionConfig"` 10424 10425 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 10426 ETag *string `location:"header" locationName:"ETag" type:"string"` 10427 10428 // The streaming distribution's configuration information. 10429 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure"` 10430} 10431 10432// String returns the string representation 10433func (s GetStreamingDistributionConfigOutput) String() string { 10434 return awsutil.Prettify(s) 10435} 10436 10437// GoString returns the string representation 10438func (s GetStreamingDistributionConfigOutput) GoString() string { 10439 return s.String() 10440} 10441 10442// SetETag sets the ETag field's value. 10443func (s *GetStreamingDistributionConfigOutput) SetETag(v string) *GetStreamingDistributionConfigOutput { 10444 s.ETag = &v 10445 return s 10446} 10447 10448// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 10449func (s *GetStreamingDistributionConfigOutput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *GetStreamingDistributionConfigOutput { 10450 s.StreamingDistributionConfig = v 10451 return s 10452} 10453 10454// The request to get a streaming distribution's information. 10455type GetStreamingDistributionInput struct { 10456 _ struct{} `locationName:"GetStreamingDistributionRequest" type:"structure"` 10457 10458 // The streaming distribution's ID. 10459 // 10460 // Id is a required field 10461 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 10462} 10463 10464// String returns the string representation 10465func (s GetStreamingDistributionInput) String() string { 10466 return awsutil.Prettify(s) 10467} 10468 10469// GoString returns the string representation 10470func (s GetStreamingDistributionInput) GoString() string { 10471 return s.String() 10472} 10473 10474// Validate inspects the fields of the type to determine if they are valid. 10475func (s *GetStreamingDistributionInput) Validate() error { 10476 invalidParams := request.ErrInvalidParams{Context: "GetStreamingDistributionInput"} 10477 if s.Id == nil { 10478 invalidParams.Add(request.NewErrParamRequired("Id")) 10479 } 10480 if s.Id != nil && len(*s.Id) < 1 { 10481 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 10482 } 10483 10484 if invalidParams.Len() > 0 { 10485 return invalidParams 10486 } 10487 return nil 10488} 10489 10490// SetId sets the Id field's value. 10491func (s *GetStreamingDistributionInput) SetId(v string) *GetStreamingDistributionInput { 10492 s.Id = &v 10493 return s 10494} 10495 10496// The returned result of the corresponding request. 10497type GetStreamingDistributionOutput struct { 10498 _ struct{} `type:"structure" payload:"StreamingDistribution"` 10499 10500 // The current version of the streaming distribution's information. For example: 10501 // E2QWRUHAPOMQZL. 10502 ETag *string `location:"header" locationName:"ETag" type:"string"` 10503 10504 // The streaming distribution's information. 10505 StreamingDistribution *StreamingDistribution `type:"structure"` 10506} 10507 10508// String returns the string representation 10509func (s GetStreamingDistributionOutput) String() string { 10510 return awsutil.Prettify(s) 10511} 10512 10513// GoString returns the string representation 10514func (s GetStreamingDistributionOutput) GoString() string { 10515 return s.String() 10516} 10517 10518// SetETag sets the ETag field's value. 10519func (s *GetStreamingDistributionOutput) SetETag(v string) *GetStreamingDistributionOutput { 10520 s.ETag = &v 10521 return s 10522} 10523 10524// SetStreamingDistribution sets the StreamingDistribution field's value. 10525func (s *GetStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *GetStreamingDistributionOutput { 10526 s.StreamingDistribution = v 10527 return s 10528} 10529 10530// A complex type that specifies the request headers, if any, that you want 10531// CloudFront to base caching on for this cache behavior. 10532// 10533// For the headers that you specify, CloudFront caches separate versions of 10534// a specified object based on the header values in viewer requests. For example, 10535// suppose viewer requests for logo.jpg contain a custom product header that 10536// has a value of either acme or apex, and you configure CloudFront to cache 10537// your content based on values in the product header. CloudFront forwards the 10538// product header to the origin and caches the response from the origin once 10539// for each header value. For more information about caching based on header 10540// values, see How CloudFront Forwards and Caches Headers (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html) 10541// in the Amazon CloudFront Developer Guide. 10542type Headers struct { 10543 _ struct{} `type:"structure"` 10544 10545 // A list that contains one Name element for each header that you want CloudFront 10546 // to use for caching in this cache behavior. If Quantity is 0, omit Items. 10547 Items []*string `locationNameList:"Name" type:"list"` 10548 10549 // The number of different headers that you want CloudFront to base caching 10550 // on for this cache behavior. You can configure each cache behavior in a web 10551 // distribution to do one of the following: 10552 // 10553 // * Forward all headers to your origin: Specify 1 for Quantity and * for 10554 // Name. CloudFront doesn't cache the objects that are associated with this 10555 // cache behavior. Instead, CloudFront sends every request to the origin. 10556 // 10557 // * Forward a whitelist of headers you specify: Specify the number of headers 10558 // that you want CloudFront to base caching on. Then specify the header names 10559 // in Name elements. CloudFront caches your objects based on the values in 10560 // the specified headers. 10561 // 10562 // * Forward only the default headers: Specify 0 for Quantity and omit Items. 10563 // In this configuration, CloudFront doesn't cache based on the values in 10564 // the request headers. 10565 // 10566 // Regardless of which option you choose, CloudFront forwards headers to your 10567 // origin based on whether the origin is an S3 bucket or a custom origin. See 10568 // the following documentation: 10569 // 10570 // * S3 bucket: See HTTP Request Headers That CloudFront Removes or Updates 10571 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorS3Origin.html#request-s3-removed-headers) 10572 // 10573 // * Custom origin: See HTTP Request Headers and CloudFront Behavior (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-headers-behavior) 10574 // 10575 // Quantity is a required field 10576 Quantity *int64 `type:"integer" required:"true"` 10577} 10578 10579// String returns the string representation 10580func (s Headers) String() string { 10581 return awsutil.Prettify(s) 10582} 10583 10584// GoString returns the string representation 10585func (s Headers) GoString() string { 10586 return s.String() 10587} 10588 10589// Validate inspects the fields of the type to determine if they are valid. 10590func (s *Headers) Validate() error { 10591 invalidParams := request.ErrInvalidParams{Context: "Headers"} 10592 if s.Quantity == nil { 10593 invalidParams.Add(request.NewErrParamRequired("Quantity")) 10594 } 10595 10596 if invalidParams.Len() > 0 { 10597 return invalidParams 10598 } 10599 return nil 10600} 10601 10602// SetItems sets the Items field's value. 10603func (s *Headers) SetItems(v []*string) *Headers { 10604 s.Items = v 10605 return s 10606} 10607 10608// SetQuantity sets the Quantity field's value. 10609func (s *Headers) SetQuantity(v int64) *Headers { 10610 s.Quantity = &v 10611 return s 10612} 10613 10614// An invalidation. 10615type Invalidation struct { 10616 _ struct{} `type:"structure"` 10617 10618 // The date and time the invalidation request was first made. 10619 // 10620 // CreateTime is a required field 10621 CreateTime *time.Time `type:"timestamp" required:"true"` 10622 10623 // The identifier for the invalidation request. For example: IDFDVBD632BHDS5. 10624 // 10625 // Id is a required field 10626 Id *string `type:"string" required:"true"` 10627 10628 // The current invalidation information for the batch request. 10629 // 10630 // InvalidationBatch is a required field 10631 InvalidationBatch *InvalidationBatch `type:"structure" required:"true"` 10632 10633 // The status of the invalidation request. When the invalidation batch is finished, 10634 // the status is Completed. 10635 // 10636 // Status is a required field 10637 Status *string `type:"string" required:"true"` 10638} 10639 10640// String returns the string representation 10641func (s Invalidation) String() string { 10642 return awsutil.Prettify(s) 10643} 10644 10645// GoString returns the string representation 10646func (s Invalidation) GoString() string { 10647 return s.String() 10648} 10649 10650// SetCreateTime sets the CreateTime field's value. 10651func (s *Invalidation) SetCreateTime(v time.Time) *Invalidation { 10652 s.CreateTime = &v 10653 return s 10654} 10655 10656// SetId sets the Id field's value. 10657func (s *Invalidation) SetId(v string) *Invalidation { 10658 s.Id = &v 10659 return s 10660} 10661 10662// SetInvalidationBatch sets the InvalidationBatch field's value. 10663func (s *Invalidation) SetInvalidationBatch(v *InvalidationBatch) *Invalidation { 10664 s.InvalidationBatch = v 10665 return s 10666} 10667 10668// SetStatus sets the Status field's value. 10669func (s *Invalidation) SetStatus(v string) *Invalidation { 10670 s.Status = &v 10671 return s 10672} 10673 10674// An invalidation batch. 10675type InvalidationBatch struct { 10676 _ struct{} `type:"structure"` 10677 10678 // A value that you specify to uniquely identify an invalidation request. CloudFront 10679 // uses the value to prevent you from accidentally resubmitting an identical 10680 // request. Whenever you create a new invalidation request, you must specify 10681 // a new value for CallerReference and change other values in the request as 10682 // applicable. One way to ensure that the value of CallerReference is unique 10683 // is to use a timestamp, for example, 20120301090000. 10684 // 10685 // If you make a second invalidation request with the same value for CallerReference, 10686 // and if the rest of the request is the same, CloudFront doesn't create a new 10687 // invalidation request. Instead, CloudFront returns information about the invalidation 10688 // request that you previously created with the same CallerReference. 10689 // 10690 // If CallerReference is a value you already sent in a previous invalidation 10691 // batch request but the content of any Path is different from the original 10692 // request, CloudFront returns an InvalidationBatchAlreadyExists error. 10693 // 10694 // CallerReference is a required field 10695 CallerReference *string `type:"string" required:"true"` 10696 10697 // A complex type that contains information about the objects that you want 10698 // to invalidate. For more information, see Specifying the Objects to Invalidate 10699 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) 10700 // in the Amazon CloudFront Developer Guide. 10701 // 10702 // Paths is a required field 10703 Paths *Paths `type:"structure" required:"true"` 10704} 10705 10706// String returns the string representation 10707func (s InvalidationBatch) String() string { 10708 return awsutil.Prettify(s) 10709} 10710 10711// GoString returns the string representation 10712func (s InvalidationBatch) GoString() string { 10713 return s.String() 10714} 10715 10716// Validate inspects the fields of the type to determine if they are valid. 10717func (s *InvalidationBatch) Validate() error { 10718 invalidParams := request.ErrInvalidParams{Context: "InvalidationBatch"} 10719 if s.CallerReference == nil { 10720 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 10721 } 10722 if s.Paths == nil { 10723 invalidParams.Add(request.NewErrParamRequired("Paths")) 10724 } 10725 if s.Paths != nil { 10726 if err := s.Paths.Validate(); err != nil { 10727 invalidParams.AddNested("Paths", err.(request.ErrInvalidParams)) 10728 } 10729 } 10730 10731 if invalidParams.Len() > 0 { 10732 return invalidParams 10733 } 10734 return nil 10735} 10736 10737// SetCallerReference sets the CallerReference field's value. 10738func (s *InvalidationBatch) SetCallerReference(v string) *InvalidationBatch { 10739 s.CallerReference = &v 10740 return s 10741} 10742 10743// SetPaths sets the Paths field's value. 10744func (s *InvalidationBatch) SetPaths(v *Paths) *InvalidationBatch { 10745 s.Paths = v 10746 return s 10747} 10748 10749// The InvalidationList complex type describes the list of invalidation objects. 10750// For more information about invalidation, see Invalidating Objects (Web Distributions 10751// Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html) 10752// in the Amazon CloudFront Developer Guide. 10753type InvalidationList struct { 10754 _ struct{} `type:"structure"` 10755 10756 // A flag that indicates whether more invalidation batch requests remain to 10757 // be listed. If your results were truncated, you can make a follow-up pagination 10758 // request using the Marker request parameter to retrieve more invalidation 10759 // batches in the list. 10760 // 10761 // IsTruncated is a required field 10762 IsTruncated *bool `type:"boolean" required:"true"` 10763 10764 // A complex type that contains one InvalidationSummary element for each invalidation 10765 // batch created by the current AWS account. 10766 Items []*InvalidationSummary `locationNameList:"InvalidationSummary" type:"list"` 10767 10768 // The value that you provided for the Marker request parameter. 10769 // 10770 // Marker is a required field 10771 Marker *string `type:"string" required:"true"` 10772 10773 // The value that you provided for the MaxItems request parameter. 10774 // 10775 // MaxItems is a required field 10776 MaxItems *int64 `type:"integer" required:"true"` 10777 10778 // If IsTruncated is true, this element is present and contains the value that 10779 // you can use for the Marker request parameter to continue listing your invalidation 10780 // batches where they left off. 10781 NextMarker *string `type:"string"` 10782 10783 // The number of invalidation batches that were created by the current AWS account. 10784 // 10785 // Quantity is a required field 10786 Quantity *int64 `type:"integer" required:"true"` 10787} 10788 10789// String returns the string representation 10790func (s InvalidationList) String() string { 10791 return awsutil.Prettify(s) 10792} 10793 10794// GoString returns the string representation 10795func (s InvalidationList) GoString() string { 10796 return s.String() 10797} 10798 10799// SetIsTruncated sets the IsTruncated field's value. 10800func (s *InvalidationList) SetIsTruncated(v bool) *InvalidationList { 10801 s.IsTruncated = &v 10802 return s 10803} 10804 10805// SetItems sets the Items field's value. 10806func (s *InvalidationList) SetItems(v []*InvalidationSummary) *InvalidationList { 10807 s.Items = v 10808 return s 10809} 10810 10811// SetMarker sets the Marker field's value. 10812func (s *InvalidationList) SetMarker(v string) *InvalidationList { 10813 s.Marker = &v 10814 return s 10815} 10816 10817// SetMaxItems sets the MaxItems field's value. 10818func (s *InvalidationList) SetMaxItems(v int64) *InvalidationList { 10819 s.MaxItems = &v 10820 return s 10821} 10822 10823// SetNextMarker sets the NextMarker field's value. 10824func (s *InvalidationList) SetNextMarker(v string) *InvalidationList { 10825 s.NextMarker = &v 10826 return s 10827} 10828 10829// SetQuantity sets the Quantity field's value. 10830func (s *InvalidationList) SetQuantity(v int64) *InvalidationList { 10831 s.Quantity = &v 10832 return s 10833} 10834 10835// A summary of an invalidation request. 10836type InvalidationSummary struct { 10837 _ struct{} `type:"structure"` 10838 10839 // The time that an invalidation request was created. 10840 // 10841 // CreateTime is a required field 10842 CreateTime *time.Time `type:"timestamp" required:"true"` 10843 10844 // The unique ID for an invalidation request. 10845 // 10846 // Id is a required field 10847 Id *string `type:"string" required:"true"` 10848 10849 // The status of an invalidation request. 10850 // 10851 // Status is a required field 10852 Status *string `type:"string" required:"true"` 10853} 10854 10855// String returns the string representation 10856func (s InvalidationSummary) String() string { 10857 return awsutil.Prettify(s) 10858} 10859 10860// GoString returns the string representation 10861func (s InvalidationSummary) GoString() string { 10862 return s.String() 10863} 10864 10865// SetCreateTime sets the CreateTime field's value. 10866func (s *InvalidationSummary) SetCreateTime(v time.Time) *InvalidationSummary { 10867 s.CreateTime = &v 10868 return s 10869} 10870 10871// SetId sets the Id field's value. 10872func (s *InvalidationSummary) SetId(v string) *InvalidationSummary { 10873 s.Id = &v 10874 return s 10875} 10876 10877// SetStatus sets the Status field's value. 10878func (s *InvalidationSummary) SetStatus(v string) *InvalidationSummary { 10879 s.Status = &v 10880 return s 10881} 10882 10883// A complex type that lists the active CloudFront key pairs, if any, that are 10884// associated with AwsAccountNumber. 10885// 10886// For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). 10887type KeyPairIds struct { 10888 _ struct{} `type:"structure"` 10889 10890 // A complex type that lists the active CloudFront key pairs, if any, that are 10891 // associated with AwsAccountNumber. 10892 // 10893 // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). 10894 Items []*string `locationNameList:"KeyPairId" type:"list"` 10895 10896 // The number of active CloudFront key pairs for AwsAccountNumber. 10897 // 10898 // For more information, see ActiveTrustedSigners (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ActiveTrustedSigners.html). 10899 // 10900 // Quantity is a required field 10901 Quantity *int64 `type:"integer" required:"true"` 10902} 10903 10904// String returns the string representation 10905func (s KeyPairIds) String() string { 10906 return awsutil.Prettify(s) 10907} 10908 10909// GoString returns the string representation 10910func (s KeyPairIds) GoString() string { 10911 return s.String() 10912} 10913 10914// SetItems sets the Items field's value. 10915func (s *KeyPairIds) SetItems(v []*string) *KeyPairIds { 10916 s.Items = v 10917 return s 10918} 10919 10920// SetQuantity sets the Quantity field's value. 10921func (s *KeyPairIds) SetQuantity(v int64) *KeyPairIds { 10922 s.Quantity = &v 10923 return s 10924} 10925 10926// A complex type that contains a Lambda function association. 10927type LambdaFunctionAssociation struct { 10928 _ struct{} `type:"structure"` 10929 10930 // Specifies the event type that triggers a Lambda function invocation. You 10931 // can specify the following values: 10932 // 10933 // * viewer-request: The function executes when CloudFront receives a request 10934 // from a viewer and before it checks to see whether the requested object 10935 // is in the edge cache. 10936 // 10937 // * origin-request: The function executes only when CloudFront forwards 10938 // a request to your origin. When the requested object is in the edge cache, 10939 // the function doesn't execute. 10940 // 10941 // * origin-response: The function executes after CloudFront receives a response 10942 // from the origin and before it caches the object in the response. When 10943 // the requested object is in the edge cache, the function doesn't execute. 10944 // 10945 // * viewer-response: The function executes before CloudFront returns the 10946 // requested object to the viewer. The function executes regardless of whether 10947 // the object was already in the edge cache. If the origin returns an HTTP 10948 // status code other than HTTP 200 (OK), the function doesn't execute. 10949 // 10950 // EventType is a required field 10951 EventType *string `type:"string" required:"true" enum:"EventType"` 10952 10953 // A flag that allows a Lambda function to have read access to the body content. 10954 // For more information, see Accessing the Request Body by Choosing the Include 10955 // Body Option (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-include-body-access.html) 10956 // in the Amazon CloudFront Developer Guide. 10957 IncludeBody *bool `type:"boolean"` 10958 10959 // The ARN of the Lambda function. You must specify the ARN of a function version; 10960 // you can't specify a Lambda alias or $LATEST. 10961 // 10962 // LambdaFunctionARN is a required field 10963 LambdaFunctionARN *string `type:"string" required:"true"` 10964} 10965 10966// String returns the string representation 10967func (s LambdaFunctionAssociation) String() string { 10968 return awsutil.Prettify(s) 10969} 10970 10971// GoString returns the string representation 10972func (s LambdaFunctionAssociation) GoString() string { 10973 return s.String() 10974} 10975 10976// Validate inspects the fields of the type to determine if they are valid. 10977func (s *LambdaFunctionAssociation) Validate() error { 10978 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociation"} 10979 if s.EventType == nil { 10980 invalidParams.Add(request.NewErrParamRequired("EventType")) 10981 } 10982 if s.LambdaFunctionARN == nil { 10983 invalidParams.Add(request.NewErrParamRequired("LambdaFunctionARN")) 10984 } 10985 10986 if invalidParams.Len() > 0 { 10987 return invalidParams 10988 } 10989 return nil 10990} 10991 10992// SetEventType sets the EventType field's value. 10993func (s *LambdaFunctionAssociation) SetEventType(v string) *LambdaFunctionAssociation { 10994 s.EventType = &v 10995 return s 10996} 10997 10998// SetIncludeBody sets the IncludeBody field's value. 10999func (s *LambdaFunctionAssociation) SetIncludeBody(v bool) *LambdaFunctionAssociation { 11000 s.IncludeBody = &v 11001 return s 11002} 11003 11004// SetLambdaFunctionARN sets the LambdaFunctionARN field's value. 11005func (s *LambdaFunctionAssociation) SetLambdaFunctionARN(v string) *LambdaFunctionAssociation { 11006 s.LambdaFunctionARN = &v 11007 return s 11008} 11009 11010// A complex type that specifies a list of Lambda functions associations for 11011// a cache behavior. 11012// 11013// If you want to invoke one or more Lambda functions triggered by requests 11014// that match the PathPattern of the cache behavior, specify the applicable 11015// values for Quantity and Items. Note that there can be up to 4 LambdaFunctionAssociation 11016// items in this list (one for each possible value of EventType) and each EventType 11017// can be associated with the Lambda function only once. 11018// 11019// If you don't want to invoke any Lambda functions for the requests that match 11020// PathPattern, specify 0 for Quantity and omit Items. 11021type LambdaFunctionAssociations struct { 11022 _ struct{} `type:"structure"` 11023 11024 // Optional: A complex type that contains LambdaFunctionAssociation items for 11025 // this cache behavior. If Quantity is 0, you can omit Items. 11026 Items []*LambdaFunctionAssociation `locationNameList:"LambdaFunctionAssociation" type:"list"` 11027 11028 // The number of Lambda function associations for this cache behavior. 11029 // 11030 // Quantity is a required field 11031 Quantity *int64 `type:"integer" required:"true"` 11032} 11033 11034// String returns the string representation 11035func (s LambdaFunctionAssociations) String() string { 11036 return awsutil.Prettify(s) 11037} 11038 11039// GoString returns the string representation 11040func (s LambdaFunctionAssociations) GoString() string { 11041 return s.String() 11042} 11043 11044// Validate inspects the fields of the type to determine if they are valid. 11045func (s *LambdaFunctionAssociations) Validate() error { 11046 invalidParams := request.ErrInvalidParams{Context: "LambdaFunctionAssociations"} 11047 if s.Quantity == nil { 11048 invalidParams.Add(request.NewErrParamRequired("Quantity")) 11049 } 11050 if s.Items != nil { 11051 for i, v := range s.Items { 11052 if v == nil { 11053 continue 11054 } 11055 if err := v.Validate(); err != nil { 11056 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 11057 } 11058 } 11059 } 11060 11061 if invalidParams.Len() > 0 { 11062 return invalidParams 11063 } 11064 return nil 11065} 11066 11067// SetItems sets the Items field's value. 11068func (s *LambdaFunctionAssociations) SetItems(v []*LambdaFunctionAssociation) *LambdaFunctionAssociations { 11069 s.Items = v 11070 return s 11071} 11072 11073// SetQuantity sets the Quantity field's value. 11074func (s *LambdaFunctionAssociations) SetQuantity(v int64) *LambdaFunctionAssociations { 11075 s.Quantity = &v 11076 return s 11077} 11078 11079// The request to list origin access identities. 11080type ListCloudFrontOriginAccessIdentitiesInput struct { 11081 _ struct{} `locationName:"ListCloudFrontOriginAccessIdentitiesRequest" type:"structure"` 11082 11083 // Use this when paginating results to indicate where to begin in your list 11084 // of origin access identities. The results include identities in the list that 11085 // occur after the marker. To get the next page of results, set the Marker to 11086 // the value of the NextMarker from the current page's response (which is also 11087 // the ID of the last identity on that page). 11088 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11089 11090 // The maximum number of origin access identities you want in the response body. 11091 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11092} 11093 11094// String returns the string representation 11095func (s ListCloudFrontOriginAccessIdentitiesInput) String() string { 11096 return awsutil.Prettify(s) 11097} 11098 11099// GoString returns the string representation 11100func (s ListCloudFrontOriginAccessIdentitiesInput) GoString() string { 11101 return s.String() 11102} 11103 11104// SetMarker sets the Marker field's value. 11105func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMarker(v string) *ListCloudFrontOriginAccessIdentitiesInput { 11106 s.Marker = &v 11107 return s 11108} 11109 11110// SetMaxItems sets the MaxItems field's value. 11111func (s *ListCloudFrontOriginAccessIdentitiesInput) SetMaxItems(v int64) *ListCloudFrontOriginAccessIdentitiesInput { 11112 s.MaxItems = &v 11113 return s 11114} 11115 11116// The returned result of the corresponding request. 11117type ListCloudFrontOriginAccessIdentitiesOutput struct { 11118 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentityList"` 11119 11120 // The CloudFrontOriginAccessIdentityList type. 11121 CloudFrontOriginAccessIdentityList *OriginAccessIdentityList `type:"structure"` 11122} 11123 11124// String returns the string representation 11125func (s ListCloudFrontOriginAccessIdentitiesOutput) String() string { 11126 return awsutil.Prettify(s) 11127} 11128 11129// GoString returns the string representation 11130func (s ListCloudFrontOriginAccessIdentitiesOutput) GoString() string { 11131 return s.String() 11132} 11133 11134// SetCloudFrontOriginAccessIdentityList sets the CloudFrontOriginAccessIdentityList field's value. 11135func (s *ListCloudFrontOriginAccessIdentitiesOutput) SetCloudFrontOriginAccessIdentityList(v *OriginAccessIdentityList) *ListCloudFrontOriginAccessIdentitiesOutput { 11136 s.CloudFrontOriginAccessIdentityList = v 11137 return s 11138} 11139 11140// The request to list distributions that are associated with a specified AWS 11141// WAF web ACL. 11142type ListDistributionsByWebACLIdInput struct { 11143 _ struct{} `locationName:"ListDistributionsByWebACLIdRequest" type:"structure"` 11144 11145 // Use Marker and MaxItems to control pagination of results. If you have more 11146 // than MaxItems distributions that satisfy the request, the response includes 11147 // a NextMarker element. To get the next page of results, submit another request. 11148 // For the value of Marker, specify the value of NextMarker from the last response. 11149 // (For the first request, omit Marker.) 11150 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11151 11152 // The maximum number of distributions that you want CloudFront to return in 11153 // the response body. The maximum and default values are both 100. 11154 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11155 11156 // The ID of the AWS WAF web ACL that you want to list the associated distributions. 11157 // If you specify "null" for the ID, the request returns a list of the distributions 11158 // that aren't associated with a web ACL. 11159 // 11160 // WebACLId is a required field 11161 WebACLId *string `location:"uri" locationName:"WebACLId" type:"string" required:"true"` 11162} 11163 11164// String returns the string representation 11165func (s ListDistributionsByWebACLIdInput) String() string { 11166 return awsutil.Prettify(s) 11167} 11168 11169// GoString returns the string representation 11170func (s ListDistributionsByWebACLIdInput) GoString() string { 11171 return s.String() 11172} 11173 11174// Validate inspects the fields of the type to determine if they are valid. 11175func (s *ListDistributionsByWebACLIdInput) Validate() error { 11176 invalidParams := request.ErrInvalidParams{Context: "ListDistributionsByWebACLIdInput"} 11177 if s.WebACLId == nil { 11178 invalidParams.Add(request.NewErrParamRequired("WebACLId")) 11179 } 11180 if s.WebACLId != nil && len(*s.WebACLId) < 1 { 11181 invalidParams.Add(request.NewErrParamMinLen("WebACLId", 1)) 11182 } 11183 11184 if invalidParams.Len() > 0 { 11185 return invalidParams 11186 } 11187 return nil 11188} 11189 11190// SetMarker sets the Marker field's value. 11191func (s *ListDistributionsByWebACLIdInput) SetMarker(v string) *ListDistributionsByWebACLIdInput { 11192 s.Marker = &v 11193 return s 11194} 11195 11196// SetMaxItems sets the MaxItems field's value. 11197func (s *ListDistributionsByWebACLIdInput) SetMaxItems(v int64) *ListDistributionsByWebACLIdInput { 11198 s.MaxItems = &v 11199 return s 11200} 11201 11202// SetWebACLId sets the WebACLId field's value. 11203func (s *ListDistributionsByWebACLIdInput) SetWebACLId(v string) *ListDistributionsByWebACLIdInput { 11204 s.WebACLId = &v 11205 return s 11206} 11207 11208// The response to a request to list the distributions that are associated with 11209// a specified AWS WAF web ACL. 11210type ListDistributionsByWebACLIdOutput struct { 11211 _ struct{} `type:"structure" payload:"DistributionList"` 11212 11213 // The DistributionList type. 11214 DistributionList *DistributionList `type:"structure"` 11215} 11216 11217// String returns the string representation 11218func (s ListDistributionsByWebACLIdOutput) String() string { 11219 return awsutil.Prettify(s) 11220} 11221 11222// GoString returns the string representation 11223func (s ListDistributionsByWebACLIdOutput) GoString() string { 11224 return s.String() 11225} 11226 11227// SetDistributionList sets the DistributionList field's value. 11228func (s *ListDistributionsByWebACLIdOutput) SetDistributionList(v *DistributionList) *ListDistributionsByWebACLIdOutput { 11229 s.DistributionList = v 11230 return s 11231} 11232 11233// The request to list your distributions. 11234type ListDistributionsInput struct { 11235 _ struct{} `locationName:"ListDistributionsRequest" type:"structure"` 11236 11237 // Use this when paginating results to indicate where to begin in your list 11238 // of distributions. The results include distributions in the list that occur 11239 // after the marker. To get the next page of results, set the Marker to the 11240 // value of the NextMarker from the current page's response (which is also the 11241 // ID of the last distribution on that page). 11242 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11243 11244 // The maximum number of distributions you want in the response body. 11245 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11246} 11247 11248// String returns the string representation 11249func (s ListDistributionsInput) String() string { 11250 return awsutil.Prettify(s) 11251} 11252 11253// GoString returns the string representation 11254func (s ListDistributionsInput) GoString() string { 11255 return s.String() 11256} 11257 11258// SetMarker sets the Marker field's value. 11259func (s *ListDistributionsInput) SetMarker(v string) *ListDistributionsInput { 11260 s.Marker = &v 11261 return s 11262} 11263 11264// SetMaxItems sets the MaxItems field's value. 11265func (s *ListDistributionsInput) SetMaxItems(v int64) *ListDistributionsInput { 11266 s.MaxItems = &v 11267 return s 11268} 11269 11270// The returned result of the corresponding request. 11271type ListDistributionsOutput struct { 11272 _ struct{} `type:"structure" payload:"DistributionList"` 11273 11274 // The DistributionList type. 11275 DistributionList *DistributionList `type:"structure"` 11276} 11277 11278// String returns the string representation 11279func (s ListDistributionsOutput) String() string { 11280 return awsutil.Prettify(s) 11281} 11282 11283// GoString returns the string representation 11284func (s ListDistributionsOutput) GoString() string { 11285 return s.String() 11286} 11287 11288// SetDistributionList sets the DistributionList field's value. 11289func (s *ListDistributionsOutput) SetDistributionList(v *DistributionList) *ListDistributionsOutput { 11290 s.DistributionList = v 11291 return s 11292} 11293 11294type ListFieldLevelEncryptionConfigsInput struct { 11295 _ struct{} `locationName:"ListFieldLevelEncryptionConfigsRequest" type:"structure"` 11296 11297 // Use this when paginating results to indicate where to begin in your list 11298 // of configurations. The results include configurations in the list that occur 11299 // after the marker. To get the next page of results, set the Marker to the 11300 // value of the NextMarker from the current page's response (which is also the 11301 // ID of the last configuration on that page). 11302 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11303 11304 // The maximum number of field-level encryption configurations you want in the 11305 // response body. 11306 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11307} 11308 11309// String returns the string representation 11310func (s ListFieldLevelEncryptionConfigsInput) String() string { 11311 return awsutil.Prettify(s) 11312} 11313 11314// GoString returns the string representation 11315func (s ListFieldLevelEncryptionConfigsInput) GoString() string { 11316 return s.String() 11317} 11318 11319// SetMarker sets the Marker field's value. 11320func (s *ListFieldLevelEncryptionConfigsInput) SetMarker(v string) *ListFieldLevelEncryptionConfigsInput { 11321 s.Marker = &v 11322 return s 11323} 11324 11325// SetMaxItems sets the MaxItems field's value. 11326func (s *ListFieldLevelEncryptionConfigsInput) SetMaxItems(v int64) *ListFieldLevelEncryptionConfigsInput { 11327 s.MaxItems = &v 11328 return s 11329} 11330 11331type ListFieldLevelEncryptionConfigsOutput struct { 11332 _ struct{} `type:"structure" payload:"FieldLevelEncryptionList"` 11333 11334 // Returns a list of all field-level encryption configurations that have been 11335 // created in CloudFront for this account. 11336 FieldLevelEncryptionList *FieldLevelEncryptionList `type:"structure"` 11337} 11338 11339// String returns the string representation 11340func (s ListFieldLevelEncryptionConfigsOutput) String() string { 11341 return awsutil.Prettify(s) 11342} 11343 11344// GoString returns the string representation 11345func (s ListFieldLevelEncryptionConfigsOutput) GoString() string { 11346 return s.String() 11347} 11348 11349// SetFieldLevelEncryptionList sets the FieldLevelEncryptionList field's value. 11350func (s *ListFieldLevelEncryptionConfigsOutput) SetFieldLevelEncryptionList(v *FieldLevelEncryptionList) *ListFieldLevelEncryptionConfigsOutput { 11351 s.FieldLevelEncryptionList = v 11352 return s 11353} 11354 11355type ListFieldLevelEncryptionProfilesInput struct { 11356 _ struct{} `locationName:"ListFieldLevelEncryptionProfilesRequest" type:"structure"` 11357 11358 // Use this when paginating results to indicate where to begin in your list 11359 // of profiles. The results include profiles in the list that occur after the 11360 // marker. To get the next page of results, set the Marker to the value of the 11361 // NextMarker from the current page's response (which is also the ID of the 11362 // last profile on that page). 11363 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11364 11365 // The maximum number of field-level encryption profiles you want in the response 11366 // body. 11367 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11368} 11369 11370// String returns the string representation 11371func (s ListFieldLevelEncryptionProfilesInput) String() string { 11372 return awsutil.Prettify(s) 11373} 11374 11375// GoString returns the string representation 11376func (s ListFieldLevelEncryptionProfilesInput) GoString() string { 11377 return s.String() 11378} 11379 11380// SetMarker sets the Marker field's value. 11381func (s *ListFieldLevelEncryptionProfilesInput) SetMarker(v string) *ListFieldLevelEncryptionProfilesInput { 11382 s.Marker = &v 11383 return s 11384} 11385 11386// SetMaxItems sets the MaxItems field's value. 11387func (s *ListFieldLevelEncryptionProfilesInput) SetMaxItems(v int64) *ListFieldLevelEncryptionProfilesInput { 11388 s.MaxItems = &v 11389 return s 11390} 11391 11392type ListFieldLevelEncryptionProfilesOutput struct { 11393 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfileList"` 11394 11395 // Returns a list of the field-level encryption profiles that have been created 11396 // in CloudFront for this account. 11397 FieldLevelEncryptionProfileList *FieldLevelEncryptionProfileList `type:"structure"` 11398} 11399 11400// String returns the string representation 11401func (s ListFieldLevelEncryptionProfilesOutput) String() string { 11402 return awsutil.Prettify(s) 11403} 11404 11405// GoString returns the string representation 11406func (s ListFieldLevelEncryptionProfilesOutput) GoString() string { 11407 return s.String() 11408} 11409 11410// SetFieldLevelEncryptionProfileList sets the FieldLevelEncryptionProfileList field's value. 11411func (s *ListFieldLevelEncryptionProfilesOutput) SetFieldLevelEncryptionProfileList(v *FieldLevelEncryptionProfileList) *ListFieldLevelEncryptionProfilesOutput { 11412 s.FieldLevelEncryptionProfileList = v 11413 return s 11414} 11415 11416// The request to list invalidations. 11417type ListInvalidationsInput struct { 11418 _ struct{} `locationName:"ListInvalidationsRequest" type:"structure"` 11419 11420 // The distribution's ID. 11421 // 11422 // DistributionId is a required field 11423 DistributionId *string `location:"uri" locationName:"DistributionId" type:"string" required:"true"` 11424 11425 // Use this parameter when paginating results to indicate where to begin in 11426 // your list of invalidation batches. Because the results are returned in decreasing 11427 // order from most recent to oldest, the most recent results are on the first 11428 // page, the second page will contain earlier results, and so on. To get the 11429 // next page of results, set Marker to the value of the NextMarker from the 11430 // current page's response. This value is the same as the ID of the last invalidation 11431 // batch on that page. 11432 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11433 11434 // The maximum number of invalidation batches that you want in the response 11435 // body. 11436 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11437} 11438 11439// String returns the string representation 11440func (s ListInvalidationsInput) String() string { 11441 return awsutil.Prettify(s) 11442} 11443 11444// GoString returns the string representation 11445func (s ListInvalidationsInput) GoString() string { 11446 return s.String() 11447} 11448 11449// Validate inspects the fields of the type to determine if they are valid. 11450func (s *ListInvalidationsInput) Validate() error { 11451 invalidParams := request.ErrInvalidParams{Context: "ListInvalidationsInput"} 11452 if s.DistributionId == nil { 11453 invalidParams.Add(request.NewErrParamRequired("DistributionId")) 11454 } 11455 if s.DistributionId != nil && len(*s.DistributionId) < 1 { 11456 invalidParams.Add(request.NewErrParamMinLen("DistributionId", 1)) 11457 } 11458 11459 if invalidParams.Len() > 0 { 11460 return invalidParams 11461 } 11462 return nil 11463} 11464 11465// SetDistributionId sets the DistributionId field's value. 11466func (s *ListInvalidationsInput) SetDistributionId(v string) *ListInvalidationsInput { 11467 s.DistributionId = &v 11468 return s 11469} 11470 11471// SetMarker sets the Marker field's value. 11472func (s *ListInvalidationsInput) SetMarker(v string) *ListInvalidationsInput { 11473 s.Marker = &v 11474 return s 11475} 11476 11477// SetMaxItems sets the MaxItems field's value. 11478func (s *ListInvalidationsInput) SetMaxItems(v int64) *ListInvalidationsInput { 11479 s.MaxItems = &v 11480 return s 11481} 11482 11483// The returned result of the corresponding request. 11484type ListInvalidationsOutput struct { 11485 _ struct{} `type:"structure" payload:"InvalidationList"` 11486 11487 // Information about invalidation batches. 11488 InvalidationList *InvalidationList `type:"structure"` 11489} 11490 11491// String returns the string representation 11492func (s ListInvalidationsOutput) String() string { 11493 return awsutil.Prettify(s) 11494} 11495 11496// GoString returns the string representation 11497func (s ListInvalidationsOutput) GoString() string { 11498 return s.String() 11499} 11500 11501// SetInvalidationList sets the InvalidationList field's value. 11502func (s *ListInvalidationsOutput) SetInvalidationList(v *InvalidationList) *ListInvalidationsOutput { 11503 s.InvalidationList = v 11504 return s 11505} 11506 11507type ListPublicKeysInput struct { 11508 _ struct{} `locationName:"ListPublicKeysRequest" type:"structure"` 11509 11510 // Use this when paginating results to indicate where to begin in your list 11511 // of public keys. The results include public keys in the list that occur after 11512 // the marker. To get the next page of results, set the Marker to the value 11513 // of the NextMarker from the current page's response (which is also the ID 11514 // of the last public key on that page). 11515 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11516 11517 // The maximum number of public keys you want in the response body. 11518 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11519} 11520 11521// String returns the string representation 11522func (s ListPublicKeysInput) String() string { 11523 return awsutil.Prettify(s) 11524} 11525 11526// GoString returns the string representation 11527func (s ListPublicKeysInput) GoString() string { 11528 return s.String() 11529} 11530 11531// SetMarker sets the Marker field's value. 11532func (s *ListPublicKeysInput) SetMarker(v string) *ListPublicKeysInput { 11533 s.Marker = &v 11534 return s 11535} 11536 11537// SetMaxItems sets the MaxItems field's value. 11538func (s *ListPublicKeysInput) SetMaxItems(v int64) *ListPublicKeysInput { 11539 s.MaxItems = &v 11540 return s 11541} 11542 11543type ListPublicKeysOutput struct { 11544 _ struct{} `type:"structure" payload:"PublicKeyList"` 11545 11546 // Returns a list of all public keys that have been added to CloudFront for 11547 // this account. 11548 PublicKeyList *PublicKeyList `type:"structure"` 11549} 11550 11551// String returns the string representation 11552func (s ListPublicKeysOutput) String() string { 11553 return awsutil.Prettify(s) 11554} 11555 11556// GoString returns the string representation 11557func (s ListPublicKeysOutput) GoString() string { 11558 return s.String() 11559} 11560 11561// SetPublicKeyList sets the PublicKeyList field's value. 11562func (s *ListPublicKeysOutput) SetPublicKeyList(v *PublicKeyList) *ListPublicKeysOutput { 11563 s.PublicKeyList = v 11564 return s 11565} 11566 11567// The request to list your streaming distributions. 11568type ListStreamingDistributionsInput struct { 11569 _ struct{} `locationName:"ListStreamingDistributionsRequest" type:"structure"` 11570 11571 // The value that you provided for the Marker request parameter. 11572 Marker *string `location:"querystring" locationName:"Marker" type:"string"` 11573 11574 // The value that you provided for the MaxItems request parameter. 11575 MaxItems *int64 `location:"querystring" locationName:"MaxItems" type:"integer"` 11576} 11577 11578// String returns the string representation 11579func (s ListStreamingDistributionsInput) String() string { 11580 return awsutil.Prettify(s) 11581} 11582 11583// GoString returns the string representation 11584func (s ListStreamingDistributionsInput) GoString() string { 11585 return s.String() 11586} 11587 11588// SetMarker sets the Marker field's value. 11589func (s *ListStreamingDistributionsInput) SetMarker(v string) *ListStreamingDistributionsInput { 11590 s.Marker = &v 11591 return s 11592} 11593 11594// SetMaxItems sets the MaxItems field's value. 11595func (s *ListStreamingDistributionsInput) SetMaxItems(v int64) *ListStreamingDistributionsInput { 11596 s.MaxItems = &v 11597 return s 11598} 11599 11600// The returned result of the corresponding request. 11601type ListStreamingDistributionsOutput struct { 11602 _ struct{} `type:"structure" payload:"StreamingDistributionList"` 11603 11604 // The StreamingDistributionList type. 11605 StreamingDistributionList *StreamingDistributionList `type:"structure"` 11606} 11607 11608// String returns the string representation 11609func (s ListStreamingDistributionsOutput) String() string { 11610 return awsutil.Prettify(s) 11611} 11612 11613// GoString returns the string representation 11614func (s ListStreamingDistributionsOutput) GoString() string { 11615 return s.String() 11616} 11617 11618// SetStreamingDistributionList sets the StreamingDistributionList field's value. 11619func (s *ListStreamingDistributionsOutput) SetStreamingDistributionList(v *StreamingDistributionList) *ListStreamingDistributionsOutput { 11620 s.StreamingDistributionList = v 11621 return s 11622} 11623 11624// The request to list tags for a CloudFront resource. 11625type ListTagsForResourceInput struct { 11626 _ struct{} `locationName:"ListTagsForResourceRequest" type:"structure"` 11627 11628 // An ARN of a CloudFront resource. 11629 // 11630 // Resource is a required field 11631 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 11632} 11633 11634// String returns the string representation 11635func (s ListTagsForResourceInput) String() string { 11636 return awsutil.Prettify(s) 11637} 11638 11639// GoString returns the string representation 11640func (s ListTagsForResourceInput) GoString() string { 11641 return s.String() 11642} 11643 11644// Validate inspects the fields of the type to determine if they are valid. 11645func (s *ListTagsForResourceInput) Validate() error { 11646 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 11647 if s.Resource == nil { 11648 invalidParams.Add(request.NewErrParamRequired("Resource")) 11649 } 11650 11651 if invalidParams.Len() > 0 { 11652 return invalidParams 11653 } 11654 return nil 11655} 11656 11657// SetResource sets the Resource field's value. 11658func (s *ListTagsForResourceInput) SetResource(v string) *ListTagsForResourceInput { 11659 s.Resource = &v 11660 return s 11661} 11662 11663// The returned result of the corresponding request. 11664type ListTagsForResourceOutput struct { 11665 _ struct{} `type:"structure" payload:"Tags"` 11666 11667 // A complex type that contains zero or more Tag elements. 11668 // 11669 // Tags is a required field 11670 Tags *Tags `type:"structure" required:"true"` 11671} 11672 11673// String returns the string representation 11674func (s ListTagsForResourceOutput) String() string { 11675 return awsutil.Prettify(s) 11676} 11677 11678// GoString returns the string representation 11679func (s ListTagsForResourceOutput) GoString() string { 11680 return s.String() 11681} 11682 11683// SetTags sets the Tags field's value. 11684func (s *ListTagsForResourceOutput) SetTags(v *Tags) *ListTagsForResourceOutput { 11685 s.Tags = v 11686 return s 11687} 11688 11689// A complex type that controls whether access logs are written for the distribution. 11690type LoggingConfig struct { 11691 _ struct{} `type:"structure"` 11692 11693 // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. 11694 // 11695 // Bucket is a required field 11696 Bucket *string `type:"string" required:"true"` 11697 11698 // Specifies whether you want CloudFront to save access logs to an Amazon S3 11699 // bucket. If you don't want to enable logging when you create a distribution 11700 // or if you want to disable logging for an existing distribution, specify false 11701 // for Enabled, and specify empty Bucket and Prefix elements. If you specify 11702 // false for Enabled but you specify values for Bucket, prefix, and IncludeCookies, 11703 // the values are automatically deleted. 11704 // 11705 // Enabled is a required field 11706 Enabled *bool `type:"boolean" required:"true"` 11707 11708 // Specifies whether you want CloudFront to include cookies in access logs, 11709 // specify true for IncludeCookies. If you choose to include cookies in logs, 11710 // CloudFront logs all cookies regardless of how you configure the cache behaviors 11711 // for this distribution. If you don't want to include cookies when you create 11712 // a distribution or if you want to disable include cookies for an existing 11713 // distribution, specify false for IncludeCookies. 11714 // 11715 // IncludeCookies is a required field 11716 IncludeCookies *bool `type:"boolean" required:"true"` 11717 11718 // An optional string that you want CloudFront to prefix to the access log filenames 11719 // for this distribution, for example, myprefix/. If you want to enable logging, 11720 // but you don't want to specify a prefix, you still must include an empty Prefix 11721 // element in the Logging element. 11722 // 11723 // Prefix is a required field 11724 Prefix *string `type:"string" required:"true"` 11725} 11726 11727// String returns the string representation 11728func (s LoggingConfig) String() string { 11729 return awsutil.Prettify(s) 11730} 11731 11732// GoString returns the string representation 11733func (s LoggingConfig) GoString() string { 11734 return s.String() 11735} 11736 11737// Validate inspects the fields of the type to determine if they are valid. 11738func (s *LoggingConfig) Validate() error { 11739 invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"} 11740 if s.Bucket == nil { 11741 invalidParams.Add(request.NewErrParamRequired("Bucket")) 11742 } 11743 if s.Enabled == nil { 11744 invalidParams.Add(request.NewErrParamRequired("Enabled")) 11745 } 11746 if s.IncludeCookies == nil { 11747 invalidParams.Add(request.NewErrParamRequired("IncludeCookies")) 11748 } 11749 if s.Prefix == nil { 11750 invalidParams.Add(request.NewErrParamRequired("Prefix")) 11751 } 11752 11753 if invalidParams.Len() > 0 { 11754 return invalidParams 11755 } 11756 return nil 11757} 11758 11759// SetBucket sets the Bucket field's value. 11760func (s *LoggingConfig) SetBucket(v string) *LoggingConfig { 11761 s.Bucket = &v 11762 return s 11763} 11764 11765// SetEnabled sets the Enabled field's value. 11766func (s *LoggingConfig) SetEnabled(v bool) *LoggingConfig { 11767 s.Enabled = &v 11768 return s 11769} 11770 11771// SetIncludeCookies sets the IncludeCookies field's value. 11772func (s *LoggingConfig) SetIncludeCookies(v bool) *LoggingConfig { 11773 s.IncludeCookies = &v 11774 return s 11775} 11776 11777// SetPrefix sets the Prefix field's value. 11778func (s *LoggingConfig) SetPrefix(v string) *LoggingConfig { 11779 s.Prefix = &v 11780 return s 11781} 11782 11783// A complex type that describes the Amazon S3 bucket, HTTP server (for example, 11784// a web server), Amazon MediaStore, or other server from which CloudFront gets 11785// your files. This can also be an origin group, if you've created an origin 11786// group. You must specify at least one origin or origin group. 11787// 11788// For the current limit on the number of origins or origin groups that you 11789// can specify for a distribution, see Amazon CloudFront Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_cloudfront) 11790// in the AWS General Reference. 11791type Origin struct { 11792 _ struct{} `type:"structure"` 11793 11794 // A complex type that contains names and values for the custom headers that 11795 // you want. 11796 CustomHeaders *CustomHeaders `type:"structure"` 11797 11798 // A complex type that contains information about a custom origin. If the origin 11799 // is an Amazon S3 bucket, use the S3OriginConfig element instead. 11800 CustomOriginConfig *CustomOriginConfig `type:"structure"` 11801 11802 // Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want 11803 // CloudFront to get objects for this origin, for example, myawsbucket.s3.amazonaws.com. 11804 // If you set up your bucket to be configured as a website endpoint, enter the 11805 // Amazon S3 static website hosting endpoint for the bucket. 11806 // 11807 // For more information about specifying this value for different types of origins, 11808 // see Origin Domain Name (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesDomainName) 11809 // in the Amazon CloudFront Developer Guide. 11810 // 11811 // Constraints for Amazon S3 origins: 11812 // 11813 // * If you configured Amazon S3 Transfer Acceleration for your bucket, don't 11814 // specify the s3-accelerate endpoint for DomainName. 11815 // 11816 // * The bucket name must be between 3 and 63 characters long (inclusive). 11817 // 11818 // * The bucket name must contain only lowercase characters, numbers, periods, 11819 // underscores, and dashes. 11820 // 11821 // * The bucket name must not contain adjacent periods. 11822 // 11823 // Custom Origins: The DNS domain name for the HTTP server from which you want 11824 // CloudFront to get objects for this origin, for example, www.example.com. 11825 // 11826 // Constraints for custom origins: 11827 // 11828 // * DomainName must be a valid DNS name that contains only a-z, A-Z, 0-9, 11829 // dot (.), hyphen (-), or underscore (_) characters. 11830 // 11831 // * The name cannot exceed 128 characters. 11832 // 11833 // DomainName is a required field 11834 DomainName *string `type:"string" required:"true"` 11835 11836 // A unique identifier for the origin or origin group. The value of Id must 11837 // be unique within the distribution. 11838 // 11839 // When you specify the value of TargetOriginId for the default cache behavior 11840 // or for another cache behavior, you indicate the origin to which you want 11841 // the cache behavior to route requests by specifying the value of the Id element 11842 // for that origin. When a request matches the path pattern for that cache behavior, 11843 // CloudFront routes the request to the specified origin. For more information, 11844 // see Cache Behavior Settings (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesCacheBehavior) 11845 // in the Amazon CloudFront Developer Guide. 11846 // 11847 // Id is a required field 11848 Id *string `type:"string" required:"true"` 11849 11850 // An optional element that causes CloudFront to request your content from a 11851 // directory in your Amazon S3 bucket or your custom origin. When you include 11852 // the OriginPath element, specify the directory name, beginning with a /. CloudFront 11853 // appends the directory name to the value of DomainName, for example, example.com/production. 11854 // Do not include a / at the end of the directory name. 11855 // 11856 // For example, suppose you've specified the following values for your distribution: 11857 // 11858 // * DomainName: An Amazon S3 bucket named myawsbucket. 11859 // 11860 // * OriginPath: /production 11861 // 11862 // * CNAME: example.com 11863 // 11864 // When a user enters example.com/index.html in a browser, CloudFront sends 11865 // a request to Amazon S3 for myawsbucket/production/index.html. 11866 // 11867 // When a user enters example.com/acme/index.html in a browser, CloudFront sends 11868 // a request to Amazon S3 for myawsbucket/production/acme/index.html. 11869 OriginPath *string `type:"string"` 11870 11871 // A complex type that contains information about the Amazon S3 origin. If the 11872 // origin is a custom origin, use the CustomOriginConfig element instead. 11873 S3OriginConfig *S3OriginConfig `type:"structure"` 11874} 11875 11876// String returns the string representation 11877func (s Origin) String() string { 11878 return awsutil.Prettify(s) 11879} 11880 11881// GoString returns the string representation 11882func (s Origin) GoString() string { 11883 return s.String() 11884} 11885 11886// Validate inspects the fields of the type to determine if they are valid. 11887func (s *Origin) Validate() error { 11888 invalidParams := request.ErrInvalidParams{Context: "Origin"} 11889 if s.DomainName == nil { 11890 invalidParams.Add(request.NewErrParamRequired("DomainName")) 11891 } 11892 if s.Id == nil { 11893 invalidParams.Add(request.NewErrParamRequired("Id")) 11894 } 11895 if s.CustomHeaders != nil { 11896 if err := s.CustomHeaders.Validate(); err != nil { 11897 invalidParams.AddNested("CustomHeaders", err.(request.ErrInvalidParams)) 11898 } 11899 } 11900 if s.CustomOriginConfig != nil { 11901 if err := s.CustomOriginConfig.Validate(); err != nil { 11902 invalidParams.AddNested("CustomOriginConfig", err.(request.ErrInvalidParams)) 11903 } 11904 } 11905 if s.S3OriginConfig != nil { 11906 if err := s.S3OriginConfig.Validate(); err != nil { 11907 invalidParams.AddNested("S3OriginConfig", err.(request.ErrInvalidParams)) 11908 } 11909 } 11910 11911 if invalidParams.Len() > 0 { 11912 return invalidParams 11913 } 11914 return nil 11915} 11916 11917// SetCustomHeaders sets the CustomHeaders field's value. 11918func (s *Origin) SetCustomHeaders(v *CustomHeaders) *Origin { 11919 s.CustomHeaders = v 11920 return s 11921} 11922 11923// SetCustomOriginConfig sets the CustomOriginConfig field's value. 11924func (s *Origin) SetCustomOriginConfig(v *CustomOriginConfig) *Origin { 11925 s.CustomOriginConfig = v 11926 return s 11927} 11928 11929// SetDomainName sets the DomainName field's value. 11930func (s *Origin) SetDomainName(v string) *Origin { 11931 s.DomainName = &v 11932 return s 11933} 11934 11935// SetId sets the Id field's value. 11936func (s *Origin) SetId(v string) *Origin { 11937 s.Id = &v 11938 return s 11939} 11940 11941// SetOriginPath sets the OriginPath field's value. 11942func (s *Origin) SetOriginPath(v string) *Origin { 11943 s.OriginPath = &v 11944 return s 11945} 11946 11947// SetS3OriginConfig sets the S3OriginConfig field's value. 11948func (s *Origin) SetS3OriginConfig(v *S3OriginConfig) *Origin { 11949 s.S3OriginConfig = v 11950 return s 11951} 11952 11953// CloudFront origin access identity. 11954type OriginAccessIdentity struct { 11955 _ struct{} `type:"structure"` 11956 11957 // The current configuration information for the identity. 11958 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `type:"structure"` 11959 11960 // The ID for the origin access identity, for example, E74FTE3AJFJ256A. 11961 // 11962 // Id is a required field 11963 Id *string `type:"string" required:"true"` 11964 11965 // The Amazon S3 canonical user ID for the origin access identity, used when 11966 // giving the origin access identity read permission to an object in Amazon 11967 // S3. 11968 // 11969 // S3CanonicalUserId is a required field 11970 S3CanonicalUserId *string `type:"string" required:"true"` 11971} 11972 11973// String returns the string representation 11974func (s OriginAccessIdentity) String() string { 11975 return awsutil.Prettify(s) 11976} 11977 11978// GoString returns the string representation 11979func (s OriginAccessIdentity) GoString() string { 11980 return s.String() 11981} 11982 11983// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 11984func (s *OriginAccessIdentity) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *OriginAccessIdentity { 11985 s.CloudFrontOriginAccessIdentityConfig = v 11986 return s 11987} 11988 11989// SetId sets the Id field's value. 11990func (s *OriginAccessIdentity) SetId(v string) *OriginAccessIdentity { 11991 s.Id = &v 11992 return s 11993} 11994 11995// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. 11996func (s *OriginAccessIdentity) SetS3CanonicalUserId(v string) *OriginAccessIdentity { 11997 s.S3CanonicalUserId = &v 11998 return s 11999} 12000 12001// Origin access identity configuration. Send a GET request to the /CloudFront 12002// API version/CloudFront/identity ID/config resource. 12003type OriginAccessIdentityConfig struct { 12004 _ struct{} `type:"structure"` 12005 12006 // A unique value (for example, a date-time stamp) that ensures that the request 12007 // can't be replayed. 12008 // 12009 // If the value of CallerReference is new (regardless of the content of the 12010 // CloudFrontOriginAccessIdentityConfig object), a new origin access identity 12011 // is created. 12012 // 12013 // If the CallerReference is a value already sent in a previous identity request, 12014 // and the content of the CloudFrontOriginAccessIdentityConfig is identical 12015 // to the original request (ignoring white space), the response includes the 12016 // same information returned to the original request. 12017 // 12018 // If the CallerReference is a value you already sent in a previous request 12019 // to create an identity, but the content of the CloudFrontOriginAccessIdentityConfig 12020 // is different from the original request, CloudFront returns a CloudFrontOriginAccessIdentityAlreadyExists 12021 // error. 12022 // 12023 // CallerReference is a required field 12024 CallerReference *string `type:"string" required:"true"` 12025 12026 // Any comments you want to include about the origin access identity. 12027 // 12028 // Comment is a required field 12029 Comment *string `type:"string" required:"true"` 12030} 12031 12032// String returns the string representation 12033func (s OriginAccessIdentityConfig) String() string { 12034 return awsutil.Prettify(s) 12035} 12036 12037// GoString returns the string representation 12038func (s OriginAccessIdentityConfig) GoString() string { 12039 return s.String() 12040} 12041 12042// Validate inspects the fields of the type to determine if they are valid. 12043func (s *OriginAccessIdentityConfig) Validate() error { 12044 invalidParams := request.ErrInvalidParams{Context: "OriginAccessIdentityConfig"} 12045 if s.CallerReference == nil { 12046 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 12047 } 12048 if s.Comment == nil { 12049 invalidParams.Add(request.NewErrParamRequired("Comment")) 12050 } 12051 12052 if invalidParams.Len() > 0 { 12053 return invalidParams 12054 } 12055 return nil 12056} 12057 12058// SetCallerReference sets the CallerReference field's value. 12059func (s *OriginAccessIdentityConfig) SetCallerReference(v string) *OriginAccessIdentityConfig { 12060 s.CallerReference = &v 12061 return s 12062} 12063 12064// SetComment sets the Comment field's value. 12065func (s *OriginAccessIdentityConfig) SetComment(v string) *OriginAccessIdentityConfig { 12066 s.Comment = &v 12067 return s 12068} 12069 12070// Lists the origin access identities for CloudFront.Send a GET request to the 12071// /CloudFront API version/origin-access-identity/cloudfront resource. The response 12072// includes a CloudFrontOriginAccessIdentityList element with zero or more CloudFrontOriginAccessIdentitySummary 12073// child elements. By default, your entire list of origin access identities 12074// is returned in one single page. If the list is long, you can paginate it 12075// using the MaxItems and Marker parameters. 12076type OriginAccessIdentityList struct { 12077 _ struct{} `type:"structure"` 12078 12079 // A flag that indicates whether more origin access identities remain to be 12080 // listed. If your results were truncated, you can make a follow-up pagination 12081 // request using the Marker request parameter to retrieve more items in the 12082 // list. 12083 // 12084 // IsTruncated is a required field 12085 IsTruncated *bool `type:"boolean" required:"true"` 12086 12087 // A complex type that contains one CloudFrontOriginAccessIdentitySummary element 12088 // for each origin access identity that was created by the current AWS account. 12089 Items []*OriginAccessIdentitySummary `locationNameList:"CloudFrontOriginAccessIdentitySummary" type:"list"` 12090 12091 // Use this when paginating results to indicate where to begin in your list 12092 // of origin access identities. The results include identities in the list that 12093 // occur after the marker. To get the next page of results, set the Marker to 12094 // the value of the NextMarker from the current page's response (which is also 12095 // the ID of the last identity on that page). 12096 // 12097 // Marker is a required field 12098 Marker *string `type:"string" required:"true"` 12099 12100 // The maximum number of origin access identities you want in the response body. 12101 // 12102 // MaxItems is a required field 12103 MaxItems *int64 `type:"integer" required:"true"` 12104 12105 // If IsTruncated is true, this element is present and contains the value you 12106 // can use for the Marker request parameter to continue listing your origin 12107 // access identities where they left off. 12108 NextMarker *string `type:"string"` 12109 12110 // The number of CloudFront origin access identities that were created by the 12111 // current AWS account. 12112 // 12113 // Quantity is a required field 12114 Quantity *int64 `type:"integer" required:"true"` 12115} 12116 12117// String returns the string representation 12118func (s OriginAccessIdentityList) String() string { 12119 return awsutil.Prettify(s) 12120} 12121 12122// GoString returns the string representation 12123func (s OriginAccessIdentityList) GoString() string { 12124 return s.String() 12125} 12126 12127// SetIsTruncated sets the IsTruncated field's value. 12128func (s *OriginAccessIdentityList) SetIsTruncated(v bool) *OriginAccessIdentityList { 12129 s.IsTruncated = &v 12130 return s 12131} 12132 12133// SetItems sets the Items field's value. 12134func (s *OriginAccessIdentityList) SetItems(v []*OriginAccessIdentitySummary) *OriginAccessIdentityList { 12135 s.Items = v 12136 return s 12137} 12138 12139// SetMarker sets the Marker field's value. 12140func (s *OriginAccessIdentityList) SetMarker(v string) *OriginAccessIdentityList { 12141 s.Marker = &v 12142 return s 12143} 12144 12145// SetMaxItems sets the MaxItems field's value. 12146func (s *OriginAccessIdentityList) SetMaxItems(v int64) *OriginAccessIdentityList { 12147 s.MaxItems = &v 12148 return s 12149} 12150 12151// SetNextMarker sets the NextMarker field's value. 12152func (s *OriginAccessIdentityList) SetNextMarker(v string) *OriginAccessIdentityList { 12153 s.NextMarker = &v 12154 return s 12155} 12156 12157// SetQuantity sets the Quantity field's value. 12158func (s *OriginAccessIdentityList) SetQuantity(v int64) *OriginAccessIdentityList { 12159 s.Quantity = &v 12160 return s 12161} 12162 12163// Summary of the information about a CloudFront origin access identity. 12164type OriginAccessIdentitySummary struct { 12165 _ struct{} `type:"structure"` 12166 12167 // The comment for this origin access identity, as originally specified when 12168 // created. 12169 // 12170 // Comment is a required field 12171 Comment *string `type:"string" required:"true"` 12172 12173 // The ID for the origin access identity. For example: E74FTE3AJFJ256A. 12174 // 12175 // Id is a required field 12176 Id *string `type:"string" required:"true"` 12177 12178 // The Amazon S3 canonical user ID for the origin access identity, which you 12179 // use when giving the origin access identity read permission to an object in 12180 // Amazon S3. 12181 // 12182 // S3CanonicalUserId is a required field 12183 S3CanonicalUserId *string `type:"string" required:"true"` 12184} 12185 12186// String returns the string representation 12187func (s OriginAccessIdentitySummary) String() string { 12188 return awsutil.Prettify(s) 12189} 12190 12191// GoString returns the string representation 12192func (s OriginAccessIdentitySummary) GoString() string { 12193 return s.String() 12194} 12195 12196// SetComment sets the Comment field's value. 12197func (s *OriginAccessIdentitySummary) SetComment(v string) *OriginAccessIdentitySummary { 12198 s.Comment = &v 12199 return s 12200} 12201 12202// SetId sets the Id field's value. 12203func (s *OriginAccessIdentitySummary) SetId(v string) *OriginAccessIdentitySummary { 12204 s.Id = &v 12205 return s 12206} 12207 12208// SetS3CanonicalUserId sets the S3CanonicalUserId field's value. 12209func (s *OriginAccessIdentitySummary) SetS3CanonicalUserId(v string) *OriginAccessIdentitySummary { 12210 s.S3CanonicalUserId = &v 12211 return s 12212} 12213 12214// A complex type that contains HeaderName and HeaderValue elements, if any, 12215// for this distribution. 12216type OriginCustomHeader struct { 12217 _ struct{} `type:"structure"` 12218 12219 // The name of a header that you want CloudFront to forward to your origin. 12220 // For more information, see Forwarding Custom Headers to Your Origin (Web Distributions 12221 // Only) (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/forward-custom-headers.html) 12222 // in the Amazon CloudFront Developer Guide. 12223 // 12224 // HeaderName is a required field 12225 HeaderName *string `type:"string" required:"true"` 12226 12227 // The value for the header that you specified in the HeaderName field. 12228 // 12229 // HeaderValue is a required field 12230 HeaderValue *string `type:"string" required:"true"` 12231} 12232 12233// String returns the string representation 12234func (s OriginCustomHeader) String() string { 12235 return awsutil.Prettify(s) 12236} 12237 12238// GoString returns the string representation 12239func (s OriginCustomHeader) GoString() string { 12240 return s.String() 12241} 12242 12243// Validate inspects the fields of the type to determine if they are valid. 12244func (s *OriginCustomHeader) Validate() error { 12245 invalidParams := request.ErrInvalidParams{Context: "OriginCustomHeader"} 12246 if s.HeaderName == nil { 12247 invalidParams.Add(request.NewErrParamRequired("HeaderName")) 12248 } 12249 if s.HeaderValue == nil { 12250 invalidParams.Add(request.NewErrParamRequired("HeaderValue")) 12251 } 12252 12253 if invalidParams.Len() > 0 { 12254 return invalidParams 12255 } 12256 return nil 12257} 12258 12259// SetHeaderName sets the HeaderName field's value. 12260func (s *OriginCustomHeader) SetHeaderName(v string) *OriginCustomHeader { 12261 s.HeaderName = &v 12262 return s 12263} 12264 12265// SetHeaderValue sets the HeaderValue field's value. 12266func (s *OriginCustomHeader) SetHeaderValue(v string) *OriginCustomHeader { 12267 s.HeaderValue = &v 12268 return s 12269} 12270 12271// An origin group includes two origins (a primary origin and a second origin 12272// to failover to) and a failover criteria that you specify. You create an origin 12273// group to support origin failover in CloudFront. When you create or update 12274// a distribution, you can specifiy the origin group instead of a single origin, 12275// and CloudFront will failover from the primary origin to the second origin 12276// under the failover conditions that you've chosen. 12277type OriginGroup struct { 12278 _ struct{} `type:"structure"` 12279 12280 // A complex type that contains information about the failover criteria for 12281 // an origin group. 12282 // 12283 // FailoverCriteria is a required field 12284 FailoverCriteria *OriginGroupFailoverCriteria `type:"structure" required:"true"` 12285 12286 // The origin group's ID. 12287 // 12288 // Id is a required field 12289 Id *string `type:"string" required:"true"` 12290 12291 // A complex type that contains information about the origins in an origin group. 12292 // 12293 // Members is a required field 12294 Members *OriginGroupMembers `type:"structure" required:"true"` 12295} 12296 12297// String returns the string representation 12298func (s OriginGroup) String() string { 12299 return awsutil.Prettify(s) 12300} 12301 12302// GoString returns the string representation 12303func (s OriginGroup) GoString() string { 12304 return s.String() 12305} 12306 12307// Validate inspects the fields of the type to determine if they are valid. 12308func (s *OriginGroup) Validate() error { 12309 invalidParams := request.ErrInvalidParams{Context: "OriginGroup"} 12310 if s.FailoverCriteria == nil { 12311 invalidParams.Add(request.NewErrParamRequired("FailoverCriteria")) 12312 } 12313 if s.Id == nil { 12314 invalidParams.Add(request.NewErrParamRequired("Id")) 12315 } 12316 if s.Members == nil { 12317 invalidParams.Add(request.NewErrParamRequired("Members")) 12318 } 12319 if s.FailoverCriteria != nil { 12320 if err := s.FailoverCriteria.Validate(); err != nil { 12321 invalidParams.AddNested("FailoverCriteria", err.(request.ErrInvalidParams)) 12322 } 12323 } 12324 if s.Members != nil { 12325 if err := s.Members.Validate(); err != nil { 12326 invalidParams.AddNested("Members", err.(request.ErrInvalidParams)) 12327 } 12328 } 12329 12330 if invalidParams.Len() > 0 { 12331 return invalidParams 12332 } 12333 return nil 12334} 12335 12336// SetFailoverCriteria sets the FailoverCriteria field's value. 12337func (s *OriginGroup) SetFailoverCriteria(v *OriginGroupFailoverCriteria) *OriginGroup { 12338 s.FailoverCriteria = v 12339 return s 12340} 12341 12342// SetId sets the Id field's value. 12343func (s *OriginGroup) SetId(v string) *OriginGroup { 12344 s.Id = &v 12345 return s 12346} 12347 12348// SetMembers sets the Members field's value. 12349func (s *OriginGroup) SetMembers(v *OriginGroupMembers) *OriginGroup { 12350 s.Members = v 12351 return s 12352} 12353 12354// A complex data type that includes information about the failover criteria 12355// for an origin group, including the status codes for which CloudFront will 12356// failover from the primary origin to the second origin. 12357type OriginGroupFailoverCriteria struct { 12358 _ struct{} `type:"structure"` 12359 12360 // The status codes that, when returned from the primary origin, will trigger 12361 // CloudFront to failover to the second origin. 12362 // 12363 // StatusCodes is a required field 12364 StatusCodes *StatusCodes `type:"structure" required:"true"` 12365} 12366 12367// String returns the string representation 12368func (s OriginGroupFailoverCriteria) String() string { 12369 return awsutil.Prettify(s) 12370} 12371 12372// GoString returns the string representation 12373func (s OriginGroupFailoverCriteria) GoString() string { 12374 return s.String() 12375} 12376 12377// Validate inspects the fields of the type to determine if they are valid. 12378func (s *OriginGroupFailoverCriteria) Validate() error { 12379 invalidParams := request.ErrInvalidParams{Context: "OriginGroupFailoverCriteria"} 12380 if s.StatusCodes == nil { 12381 invalidParams.Add(request.NewErrParamRequired("StatusCodes")) 12382 } 12383 if s.StatusCodes != nil { 12384 if err := s.StatusCodes.Validate(); err != nil { 12385 invalidParams.AddNested("StatusCodes", err.(request.ErrInvalidParams)) 12386 } 12387 } 12388 12389 if invalidParams.Len() > 0 { 12390 return invalidParams 12391 } 12392 return nil 12393} 12394 12395// SetStatusCodes sets the StatusCodes field's value. 12396func (s *OriginGroupFailoverCriteria) SetStatusCodes(v *StatusCodes) *OriginGroupFailoverCriteria { 12397 s.StatusCodes = v 12398 return s 12399} 12400 12401// An origin in an origin group. 12402type OriginGroupMember struct { 12403 _ struct{} `type:"structure"` 12404 12405 // The ID for an origin in an origin group. 12406 // 12407 // OriginId is a required field 12408 OriginId *string `type:"string" required:"true"` 12409} 12410 12411// String returns the string representation 12412func (s OriginGroupMember) String() string { 12413 return awsutil.Prettify(s) 12414} 12415 12416// GoString returns the string representation 12417func (s OriginGroupMember) GoString() string { 12418 return s.String() 12419} 12420 12421// Validate inspects the fields of the type to determine if they are valid. 12422func (s *OriginGroupMember) Validate() error { 12423 invalidParams := request.ErrInvalidParams{Context: "OriginGroupMember"} 12424 if s.OriginId == nil { 12425 invalidParams.Add(request.NewErrParamRequired("OriginId")) 12426 } 12427 12428 if invalidParams.Len() > 0 { 12429 return invalidParams 12430 } 12431 return nil 12432} 12433 12434// SetOriginId sets the OriginId field's value. 12435func (s *OriginGroupMember) SetOriginId(v string) *OriginGroupMember { 12436 s.OriginId = &v 12437 return s 12438} 12439 12440// A complex data type for the origins included in an origin group. 12441type OriginGroupMembers struct { 12442 _ struct{} `type:"structure"` 12443 12444 // Items (origins) in an origin group. 12445 // 12446 // Items is a required field 12447 Items []*OriginGroupMember `locationNameList:"OriginGroupMember" min:"2" type:"list" required:"true"` 12448 12449 // The number of origins in an origin group. 12450 // 12451 // Quantity is a required field 12452 Quantity *int64 `type:"integer" required:"true"` 12453} 12454 12455// String returns the string representation 12456func (s OriginGroupMembers) String() string { 12457 return awsutil.Prettify(s) 12458} 12459 12460// GoString returns the string representation 12461func (s OriginGroupMembers) GoString() string { 12462 return s.String() 12463} 12464 12465// Validate inspects the fields of the type to determine if they are valid. 12466func (s *OriginGroupMembers) Validate() error { 12467 invalidParams := request.ErrInvalidParams{Context: "OriginGroupMembers"} 12468 if s.Items == nil { 12469 invalidParams.Add(request.NewErrParamRequired("Items")) 12470 } 12471 if s.Items != nil && len(s.Items) < 2 { 12472 invalidParams.Add(request.NewErrParamMinLen("Items", 2)) 12473 } 12474 if s.Quantity == nil { 12475 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12476 } 12477 if s.Items != nil { 12478 for i, v := range s.Items { 12479 if v == nil { 12480 continue 12481 } 12482 if err := v.Validate(); err != nil { 12483 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 12484 } 12485 } 12486 } 12487 12488 if invalidParams.Len() > 0 { 12489 return invalidParams 12490 } 12491 return nil 12492} 12493 12494// SetItems sets the Items field's value. 12495func (s *OriginGroupMembers) SetItems(v []*OriginGroupMember) *OriginGroupMembers { 12496 s.Items = v 12497 return s 12498} 12499 12500// SetQuantity sets the Quantity field's value. 12501func (s *OriginGroupMembers) SetQuantity(v int64) *OriginGroupMembers { 12502 s.Quantity = &v 12503 return s 12504} 12505 12506// A complex data type for the origin groups specified for a distribution. 12507type OriginGroups struct { 12508 _ struct{} `type:"structure"` 12509 12510 // The items (origin groups) in a distribution. 12511 Items []*OriginGroup `locationNameList:"OriginGroup" type:"list"` 12512 12513 // The number of origin groups. 12514 // 12515 // Quantity is a required field 12516 Quantity *int64 `type:"integer" required:"true"` 12517} 12518 12519// String returns the string representation 12520func (s OriginGroups) String() string { 12521 return awsutil.Prettify(s) 12522} 12523 12524// GoString returns the string representation 12525func (s OriginGroups) GoString() string { 12526 return s.String() 12527} 12528 12529// Validate inspects the fields of the type to determine if they are valid. 12530func (s *OriginGroups) Validate() error { 12531 invalidParams := request.ErrInvalidParams{Context: "OriginGroups"} 12532 if s.Quantity == nil { 12533 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12534 } 12535 if s.Items != nil { 12536 for i, v := range s.Items { 12537 if v == nil { 12538 continue 12539 } 12540 if err := v.Validate(); err != nil { 12541 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 12542 } 12543 } 12544 } 12545 12546 if invalidParams.Len() > 0 { 12547 return invalidParams 12548 } 12549 return nil 12550} 12551 12552// SetItems sets the Items field's value. 12553func (s *OriginGroups) SetItems(v []*OriginGroup) *OriginGroups { 12554 s.Items = v 12555 return s 12556} 12557 12558// SetQuantity sets the Quantity field's value. 12559func (s *OriginGroups) SetQuantity(v int64) *OriginGroups { 12560 s.Quantity = &v 12561 return s 12562} 12563 12564// A complex type that contains information about the SSL/TLS protocols that 12565// CloudFront can use when establishing an HTTPS connection with your origin. 12566type OriginSslProtocols struct { 12567 _ struct{} `type:"structure"` 12568 12569 // A list that contains allowed SSL/TLS protocols for this distribution. 12570 // 12571 // Items is a required field 12572 Items []*string `locationNameList:"SslProtocol" type:"list" required:"true"` 12573 12574 // The number of SSL/TLS protocols that you want to allow CloudFront to use 12575 // when establishing an HTTPS connection with this origin. 12576 // 12577 // Quantity is a required field 12578 Quantity *int64 `type:"integer" required:"true"` 12579} 12580 12581// String returns the string representation 12582func (s OriginSslProtocols) String() string { 12583 return awsutil.Prettify(s) 12584} 12585 12586// GoString returns the string representation 12587func (s OriginSslProtocols) GoString() string { 12588 return s.String() 12589} 12590 12591// Validate inspects the fields of the type to determine if they are valid. 12592func (s *OriginSslProtocols) Validate() error { 12593 invalidParams := request.ErrInvalidParams{Context: "OriginSslProtocols"} 12594 if s.Items == nil { 12595 invalidParams.Add(request.NewErrParamRequired("Items")) 12596 } 12597 if s.Quantity == nil { 12598 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12599 } 12600 12601 if invalidParams.Len() > 0 { 12602 return invalidParams 12603 } 12604 return nil 12605} 12606 12607// SetItems sets the Items field's value. 12608func (s *OriginSslProtocols) SetItems(v []*string) *OriginSslProtocols { 12609 s.Items = v 12610 return s 12611} 12612 12613// SetQuantity sets the Quantity field's value. 12614func (s *OriginSslProtocols) SetQuantity(v int64) *OriginSslProtocols { 12615 s.Quantity = &v 12616 return s 12617} 12618 12619// A complex type that contains information about origins and origin groups 12620// for this distribution. 12621type Origins struct { 12622 _ struct{} `type:"structure"` 12623 12624 // A complex type that contains origins or origin groups for this distribution. 12625 // 12626 // Items is a required field 12627 Items []*Origin `locationNameList:"Origin" min:"1" type:"list" required:"true"` 12628 12629 // The number of origins or origin groups for this distribution. 12630 // 12631 // Quantity is a required field 12632 Quantity *int64 `type:"integer" required:"true"` 12633} 12634 12635// String returns the string representation 12636func (s Origins) String() string { 12637 return awsutil.Prettify(s) 12638} 12639 12640// GoString returns the string representation 12641func (s Origins) GoString() string { 12642 return s.String() 12643} 12644 12645// Validate inspects the fields of the type to determine if they are valid. 12646func (s *Origins) Validate() error { 12647 invalidParams := request.ErrInvalidParams{Context: "Origins"} 12648 if s.Items == nil { 12649 invalidParams.Add(request.NewErrParamRequired("Items")) 12650 } 12651 if s.Items != nil && len(s.Items) < 1 { 12652 invalidParams.Add(request.NewErrParamMinLen("Items", 1)) 12653 } 12654 if s.Quantity == nil { 12655 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12656 } 12657 if s.Items != nil { 12658 for i, v := range s.Items { 12659 if v == nil { 12660 continue 12661 } 12662 if err := v.Validate(); err != nil { 12663 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 12664 } 12665 } 12666 } 12667 12668 if invalidParams.Len() > 0 { 12669 return invalidParams 12670 } 12671 return nil 12672} 12673 12674// SetItems sets the Items field's value. 12675func (s *Origins) SetItems(v []*Origin) *Origins { 12676 s.Items = v 12677 return s 12678} 12679 12680// SetQuantity sets the Quantity field's value. 12681func (s *Origins) SetQuantity(v int64) *Origins { 12682 s.Quantity = &v 12683 return s 12684} 12685 12686// A complex type that contains information about the objects that you want 12687// to invalidate. For more information, see Specifying the Objects to Invalidate 12688// (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html#invalidation-specifying-objects) 12689// in the Amazon CloudFront Developer Guide. 12690type Paths struct { 12691 _ struct{} `type:"structure"` 12692 12693 // A complex type that contains a list of the paths that you want to invalidate. 12694 Items []*string `locationNameList:"Path" type:"list"` 12695 12696 // The number of invalidation paths specified for the objects that you want 12697 // to invalidate. 12698 // 12699 // Quantity is a required field 12700 Quantity *int64 `type:"integer" required:"true"` 12701} 12702 12703// String returns the string representation 12704func (s Paths) String() string { 12705 return awsutil.Prettify(s) 12706} 12707 12708// GoString returns the string representation 12709func (s Paths) GoString() string { 12710 return s.String() 12711} 12712 12713// Validate inspects the fields of the type to determine if they are valid. 12714func (s *Paths) Validate() error { 12715 invalidParams := request.ErrInvalidParams{Context: "Paths"} 12716 if s.Quantity == nil { 12717 invalidParams.Add(request.NewErrParamRequired("Quantity")) 12718 } 12719 12720 if invalidParams.Len() > 0 { 12721 return invalidParams 12722 } 12723 return nil 12724} 12725 12726// SetItems sets the Items field's value. 12727func (s *Paths) SetItems(v []*string) *Paths { 12728 s.Items = v 12729 return s 12730} 12731 12732// SetQuantity sets the Quantity field's value. 12733func (s *Paths) SetQuantity(v int64) *Paths { 12734 s.Quantity = &v 12735 return s 12736} 12737 12738// A complex data type of public keys you add to CloudFront to use with features 12739// like field-level encryption. 12740type PublicKey struct { 12741 _ struct{} `type:"structure"` 12742 12743 // A time you added a public key to CloudFront. 12744 // 12745 // CreatedTime is a required field 12746 CreatedTime *time.Time `type:"timestamp" required:"true"` 12747 12748 // A unique ID assigned to a public key you've added to CloudFront. 12749 // 12750 // Id is a required field 12751 Id *string `type:"string" required:"true"` 12752 12753 // A complex data type for a public key you add to CloudFront to use with features 12754 // like field-level encryption. 12755 // 12756 // PublicKeyConfig is a required field 12757 PublicKeyConfig *PublicKeyConfig `type:"structure" required:"true"` 12758} 12759 12760// String returns the string representation 12761func (s PublicKey) String() string { 12762 return awsutil.Prettify(s) 12763} 12764 12765// GoString returns the string representation 12766func (s PublicKey) GoString() string { 12767 return s.String() 12768} 12769 12770// SetCreatedTime sets the CreatedTime field's value. 12771func (s *PublicKey) SetCreatedTime(v time.Time) *PublicKey { 12772 s.CreatedTime = &v 12773 return s 12774} 12775 12776// SetId sets the Id field's value. 12777func (s *PublicKey) SetId(v string) *PublicKey { 12778 s.Id = &v 12779 return s 12780} 12781 12782// SetPublicKeyConfig sets the PublicKeyConfig field's value. 12783func (s *PublicKey) SetPublicKeyConfig(v *PublicKeyConfig) *PublicKey { 12784 s.PublicKeyConfig = v 12785 return s 12786} 12787 12788// Information about a public key you add to CloudFront to use with features 12789// like field-level encryption. 12790type PublicKeyConfig struct { 12791 _ struct{} `type:"structure"` 12792 12793 // A unique number that ensures that the request can't be replayed. 12794 // 12795 // CallerReference is a required field 12796 CallerReference *string `type:"string" required:"true"` 12797 12798 // An optional comment about a public key. 12799 Comment *string `type:"string"` 12800 12801 // The encoded public key that you want to add to CloudFront to use with features 12802 // like field-level encryption. 12803 // 12804 // EncodedKey is a required field 12805 EncodedKey *string `type:"string" required:"true"` 12806 12807 // The name for a public key you add to CloudFront to use with features like 12808 // field-level encryption. 12809 // 12810 // Name is a required field 12811 Name *string `type:"string" required:"true"` 12812} 12813 12814// String returns the string representation 12815func (s PublicKeyConfig) String() string { 12816 return awsutil.Prettify(s) 12817} 12818 12819// GoString returns the string representation 12820func (s PublicKeyConfig) GoString() string { 12821 return s.String() 12822} 12823 12824// Validate inspects the fields of the type to determine if they are valid. 12825func (s *PublicKeyConfig) Validate() error { 12826 invalidParams := request.ErrInvalidParams{Context: "PublicKeyConfig"} 12827 if s.CallerReference == nil { 12828 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 12829 } 12830 if s.EncodedKey == nil { 12831 invalidParams.Add(request.NewErrParamRequired("EncodedKey")) 12832 } 12833 if s.Name == nil { 12834 invalidParams.Add(request.NewErrParamRequired("Name")) 12835 } 12836 12837 if invalidParams.Len() > 0 { 12838 return invalidParams 12839 } 12840 return nil 12841} 12842 12843// SetCallerReference sets the CallerReference field's value. 12844func (s *PublicKeyConfig) SetCallerReference(v string) *PublicKeyConfig { 12845 s.CallerReference = &v 12846 return s 12847} 12848 12849// SetComment sets the Comment field's value. 12850func (s *PublicKeyConfig) SetComment(v string) *PublicKeyConfig { 12851 s.Comment = &v 12852 return s 12853} 12854 12855// SetEncodedKey sets the EncodedKey field's value. 12856func (s *PublicKeyConfig) SetEncodedKey(v string) *PublicKeyConfig { 12857 s.EncodedKey = &v 12858 return s 12859} 12860 12861// SetName sets the Name field's value. 12862func (s *PublicKeyConfig) SetName(v string) *PublicKeyConfig { 12863 s.Name = &v 12864 return s 12865} 12866 12867// A list of public keys you've added to CloudFront to use with features like 12868// field-level encryption. 12869type PublicKeyList struct { 12870 _ struct{} `type:"structure"` 12871 12872 // An array of information about a public key you add to CloudFront to use with 12873 // features like field-level encryption. 12874 Items []*PublicKeySummary `locationNameList:"PublicKeySummary" type:"list"` 12875 12876 // The maximum number of public keys you want in the response body. 12877 // 12878 // MaxItems is a required field 12879 MaxItems *int64 `type:"integer" required:"true"` 12880 12881 // If there are more elements to be listed, this element is present and contains 12882 // the value that you can use for the Marker request parameter to continue listing 12883 // your public keys where you left off. 12884 NextMarker *string `type:"string"` 12885 12886 // The number of public keys you added to CloudFront to use with features like 12887 // field-level encryption. 12888 // 12889 // Quantity is a required field 12890 Quantity *int64 `type:"integer" required:"true"` 12891} 12892 12893// String returns the string representation 12894func (s PublicKeyList) String() string { 12895 return awsutil.Prettify(s) 12896} 12897 12898// GoString returns the string representation 12899func (s PublicKeyList) GoString() string { 12900 return s.String() 12901} 12902 12903// SetItems sets the Items field's value. 12904func (s *PublicKeyList) SetItems(v []*PublicKeySummary) *PublicKeyList { 12905 s.Items = v 12906 return s 12907} 12908 12909// SetMaxItems sets the MaxItems field's value. 12910func (s *PublicKeyList) SetMaxItems(v int64) *PublicKeyList { 12911 s.MaxItems = &v 12912 return s 12913} 12914 12915// SetNextMarker sets the NextMarker field's value. 12916func (s *PublicKeyList) SetNextMarker(v string) *PublicKeyList { 12917 s.NextMarker = &v 12918 return s 12919} 12920 12921// SetQuantity sets the Quantity field's value. 12922func (s *PublicKeyList) SetQuantity(v int64) *PublicKeyList { 12923 s.Quantity = &v 12924 return s 12925} 12926 12927// A complex data type for public key information. 12928type PublicKeySummary struct { 12929 _ struct{} `type:"structure"` 12930 12931 // Comment for public key information summary. 12932 Comment *string `type:"string"` 12933 12934 // Creation time for public key information summary. 12935 // 12936 // CreatedTime is a required field 12937 CreatedTime *time.Time `type:"timestamp" required:"true"` 12938 12939 // Encoded key for public key information summary. 12940 // 12941 // EncodedKey is a required field 12942 EncodedKey *string `type:"string" required:"true"` 12943 12944 // ID for public key information summary. 12945 // 12946 // Id is a required field 12947 Id *string `type:"string" required:"true"` 12948 12949 // Name for public key information summary. 12950 // 12951 // Name is a required field 12952 Name *string `type:"string" required:"true"` 12953} 12954 12955// String returns the string representation 12956func (s PublicKeySummary) String() string { 12957 return awsutil.Prettify(s) 12958} 12959 12960// GoString returns the string representation 12961func (s PublicKeySummary) GoString() string { 12962 return s.String() 12963} 12964 12965// SetComment sets the Comment field's value. 12966func (s *PublicKeySummary) SetComment(v string) *PublicKeySummary { 12967 s.Comment = &v 12968 return s 12969} 12970 12971// SetCreatedTime sets the CreatedTime field's value. 12972func (s *PublicKeySummary) SetCreatedTime(v time.Time) *PublicKeySummary { 12973 s.CreatedTime = &v 12974 return s 12975} 12976 12977// SetEncodedKey sets the EncodedKey field's value. 12978func (s *PublicKeySummary) SetEncodedKey(v string) *PublicKeySummary { 12979 s.EncodedKey = &v 12980 return s 12981} 12982 12983// SetId sets the Id field's value. 12984func (s *PublicKeySummary) SetId(v string) *PublicKeySummary { 12985 s.Id = &v 12986 return s 12987} 12988 12989// SetName sets the Name field's value. 12990func (s *PublicKeySummary) SetName(v string) *PublicKeySummary { 12991 s.Name = &v 12992 return s 12993} 12994 12995// Query argument-profile mapping for field-level encryption. 12996type QueryArgProfile struct { 12997 _ struct{} `type:"structure"` 12998 12999 // ID of profile to use for field-level encryption query argument-profile mapping 13000 // 13001 // ProfileId is a required field 13002 ProfileId *string `type:"string" required:"true"` 13003 13004 // Query argument for field-level encryption query argument-profile mapping. 13005 // 13006 // QueryArg is a required field 13007 QueryArg *string `type:"string" required:"true"` 13008} 13009 13010// String returns the string representation 13011func (s QueryArgProfile) String() string { 13012 return awsutil.Prettify(s) 13013} 13014 13015// GoString returns the string representation 13016func (s QueryArgProfile) GoString() string { 13017 return s.String() 13018} 13019 13020// Validate inspects the fields of the type to determine if they are valid. 13021func (s *QueryArgProfile) Validate() error { 13022 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfile"} 13023 if s.ProfileId == nil { 13024 invalidParams.Add(request.NewErrParamRequired("ProfileId")) 13025 } 13026 if s.QueryArg == nil { 13027 invalidParams.Add(request.NewErrParamRequired("QueryArg")) 13028 } 13029 13030 if invalidParams.Len() > 0 { 13031 return invalidParams 13032 } 13033 return nil 13034} 13035 13036// SetProfileId sets the ProfileId field's value. 13037func (s *QueryArgProfile) SetProfileId(v string) *QueryArgProfile { 13038 s.ProfileId = &v 13039 return s 13040} 13041 13042// SetQueryArg sets the QueryArg field's value. 13043func (s *QueryArgProfile) SetQueryArg(v string) *QueryArgProfile { 13044 s.QueryArg = &v 13045 return s 13046} 13047 13048// Configuration for query argument-profile mapping for field-level encryption. 13049type QueryArgProfileConfig struct { 13050 _ struct{} `type:"structure"` 13051 13052 // Flag to set if you want a request to be forwarded to the origin even if the 13053 // profile specified by the field-level encryption query argument, fle-profile, 13054 // is unknown. 13055 // 13056 // ForwardWhenQueryArgProfileIsUnknown is a required field 13057 ForwardWhenQueryArgProfileIsUnknown *bool `type:"boolean" required:"true"` 13058 13059 // Profiles specified for query argument-profile mapping for field-level encryption. 13060 QueryArgProfiles *QueryArgProfiles `type:"structure"` 13061} 13062 13063// String returns the string representation 13064func (s QueryArgProfileConfig) String() string { 13065 return awsutil.Prettify(s) 13066} 13067 13068// GoString returns the string representation 13069func (s QueryArgProfileConfig) GoString() string { 13070 return s.String() 13071} 13072 13073// Validate inspects the fields of the type to determine if they are valid. 13074func (s *QueryArgProfileConfig) Validate() error { 13075 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfileConfig"} 13076 if s.ForwardWhenQueryArgProfileIsUnknown == nil { 13077 invalidParams.Add(request.NewErrParamRequired("ForwardWhenQueryArgProfileIsUnknown")) 13078 } 13079 if s.QueryArgProfiles != nil { 13080 if err := s.QueryArgProfiles.Validate(); err != nil { 13081 invalidParams.AddNested("QueryArgProfiles", err.(request.ErrInvalidParams)) 13082 } 13083 } 13084 13085 if invalidParams.Len() > 0 { 13086 return invalidParams 13087 } 13088 return nil 13089} 13090 13091// SetForwardWhenQueryArgProfileIsUnknown sets the ForwardWhenQueryArgProfileIsUnknown field's value. 13092func (s *QueryArgProfileConfig) SetForwardWhenQueryArgProfileIsUnknown(v bool) *QueryArgProfileConfig { 13093 s.ForwardWhenQueryArgProfileIsUnknown = &v 13094 return s 13095} 13096 13097// SetQueryArgProfiles sets the QueryArgProfiles field's value. 13098func (s *QueryArgProfileConfig) SetQueryArgProfiles(v *QueryArgProfiles) *QueryArgProfileConfig { 13099 s.QueryArgProfiles = v 13100 return s 13101} 13102 13103// Query argument-profile mapping for field-level encryption. 13104type QueryArgProfiles struct { 13105 _ struct{} `type:"structure"` 13106 13107 // Number of items for query argument-profile mapping for field-level encryption. 13108 Items []*QueryArgProfile `locationNameList:"QueryArgProfile" type:"list"` 13109 13110 // Number of profiles for query argument-profile mapping for field-level encryption. 13111 // 13112 // Quantity is a required field 13113 Quantity *int64 `type:"integer" required:"true"` 13114} 13115 13116// String returns the string representation 13117func (s QueryArgProfiles) String() string { 13118 return awsutil.Prettify(s) 13119} 13120 13121// GoString returns the string representation 13122func (s QueryArgProfiles) GoString() string { 13123 return s.String() 13124} 13125 13126// Validate inspects the fields of the type to determine if they are valid. 13127func (s *QueryArgProfiles) Validate() error { 13128 invalidParams := request.ErrInvalidParams{Context: "QueryArgProfiles"} 13129 if s.Quantity == nil { 13130 invalidParams.Add(request.NewErrParamRequired("Quantity")) 13131 } 13132 if s.Items != nil { 13133 for i, v := range s.Items { 13134 if v == nil { 13135 continue 13136 } 13137 if err := v.Validate(); err != nil { 13138 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 13139 } 13140 } 13141 } 13142 13143 if invalidParams.Len() > 0 { 13144 return invalidParams 13145 } 13146 return nil 13147} 13148 13149// SetItems sets the Items field's value. 13150func (s *QueryArgProfiles) SetItems(v []*QueryArgProfile) *QueryArgProfiles { 13151 s.Items = v 13152 return s 13153} 13154 13155// SetQuantity sets the Quantity field's value. 13156func (s *QueryArgProfiles) SetQuantity(v int64) *QueryArgProfiles { 13157 s.Quantity = &v 13158 return s 13159} 13160 13161// A complex type that contains information about the query string parameters 13162// that you want CloudFront to use for caching for a cache behavior. 13163type QueryStringCacheKeys struct { 13164 _ struct{} `type:"structure"` 13165 13166 // A list that contains the query string parameters that you want CloudFront 13167 // to use as a basis for caching for a cache behavior. If Quantity is 0, you 13168 // can omit Items. 13169 Items []*string `locationNameList:"Name" type:"list"` 13170 13171 // The number of whitelisted query string parameters for a cache behavior. 13172 // 13173 // Quantity is a required field 13174 Quantity *int64 `type:"integer" required:"true"` 13175} 13176 13177// String returns the string representation 13178func (s QueryStringCacheKeys) String() string { 13179 return awsutil.Prettify(s) 13180} 13181 13182// GoString returns the string representation 13183func (s QueryStringCacheKeys) GoString() string { 13184 return s.String() 13185} 13186 13187// Validate inspects the fields of the type to determine if they are valid. 13188func (s *QueryStringCacheKeys) Validate() error { 13189 invalidParams := request.ErrInvalidParams{Context: "QueryStringCacheKeys"} 13190 if s.Quantity == nil { 13191 invalidParams.Add(request.NewErrParamRequired("Quantity")) 13192 } 13193 13194 if invalidParams.Len() > 0 { 13195 return invalidParams 13196 } 13197 return nil 13198} 13199 13200// SetItems sets the Items field's value. 13201func (s *QueryStringCacheKeys) SetItems(v []*string) *QueryStringCacheKeys { 13202 s.Items = v 13203 return s 13204} 13205 13206// SetQuantity sets the Quantity field's value. 13207func (s *QueryStringCacheKeys) SetQuantity(v int64) *QueryStringCacheKeys { 13208 s.Quantity = &v 13209 return s 13210} 13211 13212// A complex type that identifies ways in which you want to restrict distribution 13213// of your content. 13214type Restrictions struct { 13215 _ struct{} `type:"structure"` 13216 13217 // A complex type that controls the countries in which your content is distributed. 13218 // CloudFront determines the location of your users using MaxMind GeoIP databases. 13219 // 13220 // GeoRestriction is a required field 13221 GeoRestriction *GeoRestriction `type:"structure" required:"true"` 13222} 13223 13224// String returns the string representation 13225func (s Restrictions) String() string { 13226 return awsutil.Prettify(s) 13227} 13228 13229// GoString returns the string representation 13230func (s Restrictions) GoString() string { 13231 return s.String() 13232} 13233 13234// Validate inspects the fields of the type to determine if they are valid. 13235func (s *Restrictions) Validate() error { 13236 invalidParams := request.ErrInvalidParams{Context: "Restrictions"} 13237 if s.GeoRestriction == nil { 13238 invalidParams.Add(request.NewErrParamRequired("GeoRestriction")) 13239 } 13240 if s.GeoRestriction != nil { 13241 if err := s.GeoRestriction.Validate(); err != nil { 13242 invalidParams.AddNested("GeoRestriction", err.(request.ErrInvalidParams)) 13243 } 13244 } 13245 13246 if invalidParams.Len() > 0 { 13247 return invalidParams 13248 } 13249 return nil 13250} 13251 13252// SetGeoRestriction sets the GeoRestriction field's value. 13253func (s *Restrictions) SetGeoRestriction(v *GeoRestriction) *Restrictions { 13254 s.GeoRestriction = v 13255 return s 13256} 13257 13258// A complex type that contains information about the Amazon S3 bucket from 13259// which you want CloudFront to get your media files for distribution. 13260type S3Origin struct { 13261 _ struct{} `type:"structure"` 13262 13263 // The DNS name of the Amazon S3 origin. 13264 // 13265 // DomainName is a required field 13266 DomainName *string `type:"string" required:"true"` 13267 13268 // The CloudFront origin access identity to associate with the distribution. 13269 // Use an origin access identity to configure the distribution so that end users 13270 // can only access objects in an Amazon S3 bucket through CloudFront. 13271 // 13272 // If you want end users to be able to access objects using either the CloudFront 13273 // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. 13274 // 13275 // To delete the origin access identity from an existing distribution, update 13276 // the distribution configuration and include an empty OriginAccessIdentity 13277 // element. 13278 // 13279 // To replace the origin access identity, update the distribution configuration 13280 // and specify the new origin access identity. 13281 // 13282 // For more information, see Using an Origin Access Identity to Restrict Access 13283 // to Your Amazon S3 Content (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html) 13284 // in the Amazon CloudFront Developer Guide. 13285 // 13286 // OriginAccessIdentity is a required field 13287 OriginAccessIdentity *string `type:"string" required:"true"` 13288} 13289 13290// String returns the string representation 13291func (s S3Origin) String() string { 13292 return awsutil.Prettify(s) 13293} 13294 13295// GoString returns the string representation 13296func (s S3Origin) GoString() string { 13297 return s.String() 13298} 13299 13300// Validate inspects the fields of the type to determine if they are valid. 13301func (s *S3Origin) Validate() error { 13302 invalidParams := request.ErrInvalidParams{Context: "S3Origin"} 13303 if s.DomainName == nil { 13304 invalidParams.Add(request.NewErrParamRequired("DomainName")) 13305 } 13306 if s.OriginAccessIdentity == nil { 13307 invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity")) 13308 } 13309 13310 if invalidParams.Len() > 0 { 13311 return invalidParams 13312 } 13313 return nil 13314} 13315 13316// SetDomainName sets the DomainName field's value. 13317func (s *S3Origin) SetDomainName(v string) *S3Origin { 13318 s.DomainName = &v 13319 return s 13320} 13321 13322// SetOriginAccessIdentity sets the OriginAccessIdentity field's value. 13323func (s *S3Origin) SetOriginAccessIdentity(v string) *S3Origin { 13324 s.OriginAccessIdentity = &v 13325 return s 13326} 13327 13328// A complex type that contains information about the Amazon S3 origin. If the 13329// origin is a custom origin, use the CustomOriginConfig element instead. 13330type S3OriginConfig struct { 13331 _ struct{} `type:"structure"` 13332 13333 // The CloudFront origin access identity to associate with the origin. Use an 13334 // origin access identity to configure the origin so that viewers can only access 13335 // objects in an Amazon S3 bucket through CloudFront. The format of the value 13336 // is: 13337 // 13338 // origin-access-identity/cloudfront/ID-of-origin-access-identity 13339 // 13340 // where ID-of-origin-access-identity is the value that CloudFront returned 13341 // in the ID element when you created the origin access identity. 13342 // 13343 // If you want viewers to be able to access objects using either the CloudFront 13344 // URL or the Amazon S3 URL, specify an empty OriginAccessIdentity element. 13345 // 13346 // To delete the origin access identity from an existing distribution, update 13347 // the distribution configuration and include an empty OriginAccessIdentity 13348 // element. 13349 // 13350 // To replace the origin access identity, update the distribution configuration 13351 // and specify the new origin access identity. 13352 // 13353 // For more information about the origin access identity, see Serving Private 13354 // Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 13355 // in the Amazon CloudFront Developer Guide. 13356 // 13357 // OriginAccessIdentity is a required field 13358 OriginAccessIdentity *string `type:"string" required:"true"` 13359} 13360 13361// String returns the string representation 13362func (s S3OriginConfig) String() string { 13363 return awsutil.Prettify(s) 13364} 13365 13366// GoString returns the string representation 13367func (s S3OriginConfig) GoString() string { 13368 return s.String() 13369} 13370 13371// Validate inspects the fields of the type to determine if they are valid. 13372func (s *S3OriginConfig) Validate() error { 13373 invalidParams := request.ErrInvalidParams{Context: "S3OriginConfig"} 13374 if s.OriginAccessIdentity == nil { 13375 invalidParams.Add(request.NewErrParamRequired("OriginAccessIdentity")) 13376 } 13377 13378 if invalidParams.Len() > 0 { 13379 return invalidParams 13380 } 13381 return nil 13382} 13383 13384// SetOriginAccessIdentity sets the OriginAccessIdentity field's value. 13385func (s *S3OriginConfig) SetOriginAccessIdentity(v string) *S3OriginConfig { 13386 s.OriginAccessIdentity = &v 13387 return s 13388} 13389 13390// A complex type that lists the AWS accounts that were included in the TrustedSigners 13391// complex type, as well as their active CloudFront key pair IDs, if any. 13392type Signer struct { 13393 _ struct{} `type:"structure"` 13394 13395 // An AWS account that is included in the TrustedSigners complex type for this 13396 // distribution. Valid values include: 13397 // 13398 // * self, which is the AWS account used to create the distribution. 13399 // 13400 // * An AWS account number. 13401 AwsAccountNumber *string `type:"string"` 13402 13403 // A complex type that lists the active CloudFront key pairs, if any, that are 13404 // associated with AwsAccountNumber. 13405 KeyPairIds *KeyPairIds `type:"structure"` 13406} 13407 13408// String returns the string representation 13409func (s Signer) String() string { 13410 return awsutil.Prettify(s) 13411} 13412 13413// GoString returns the string representation 13414func (s Signer) GoString() string { 13415 return s.String() 13416} 13417 13418// SetAwsAccountNumber sets the AwsAccountNumber field's value. 13419func (s *Signer) SetAwsAccountNumber(v string) *Signer { 13420 s.AwsAccountNumber = &v 13421 return s 13422} 13423 13424// SetKeyPairIds sets the KeyPairIds field's value. 13425func (s *Signer) SetKeyPairIds(v *KeyPairIds) *Signer { 13426 s.KeyPairIds = v 13427 return s 13428} 13429 13430// A complex data type for the status codes that you specify that, when returned 13431// by a primary origin, trigger CloudFront to failover to a second origin. 13432type StatusCodes struct { 13433 _ struct{} `type:"structure"` 13434 13435 // The items (status codes) for an origin group. 13436 // 13437 // Items is a required field 13438 Items []*int64 `locationNameList:"StatusCode" min:"1" type:"list" required:"true"` 13439 13440 // The number of status codes. 13441 // 13442 // Quantity is a required field 13443 Quantity *int64 `type:"integer" required:"true"` 13444} 13445 13446// String returns the string representation 13447func (s StatusCodes) String() string { 13448 return awsutil.Prettify(s) 13449} 13450 13451// GoString returns the string representation 13452func (s StatusCodes) GoString() string { 13453 return s.String() 13454} 13455 13456// Validate inspects the fields of the type to determine if they are valid. 13457func (s *StatusCodes) Validate() error { 13458 invalidParams := request.ErrInvalidParams{Context: "StatusCodes"} 13459 if s.Items == nil { 13460 invalidParams.Add(request.NewErrParamRequired("Items")) 13461 } 13462 if s.Items != nil && len(s.Items) < 1 { 13463 invalidParams.Add(request.NewErrParamMinLen("Items", 1)) 13464 } 13465 if s.Quantity == nil { 13466 invalidParams.Add(request.NewErrParamRequired("Quantity")) 13467 } 13468 13469 if invalidParams.Len() > 0 { 13470 return invalidParams 13471 } 13472 return nil 13473} 13474 13475// SetItems sets the Items field's value. 13476func (s *StatusCodes) SetItems(v []*int64) *StatusCodes { 13477 s.Items = v 13478 return s 13479} 13480 13481// SetQuantity sets the Quantity field's value. 13482func (s *StatusCodes) SetQuantity(v int64) *StatusCodes { 13483 s.Quantity = &v 13484 return s 13485} 13486 13487// A streaming distribution tells CloudFront where you want RTMP content to 13488// be delivered from, and the details about how to track and manage content 13489// delivery. 13490type StreamingDistribution struct { 13491 _ struct{} `type:"structure"` 13492 13493 // The ARN (Amazon Resource Name) for the distribution. For example: arn:aws:cloudfront::123456789012:distribution/EDFDVBD632BHDS5, 13494 // where 123456789012 is your AWS account ID. 13495 // 13496 // ARN is a required field 13497 ARN *string `type:"string" required:"true"` 13498 13499 // A complex type that lists the AWS accounts, if any, that you included in 13500 // the TrustedSigners complex type for this distribution. These are the accounts 13501 // that you want to allow to create signed URLs for private content. 13502 // 13503 // The Signer complex type lists the AWS account number of the trusted signer 13504 // or self if the signer is the AWS account that created the distribution. The 13505 // Signer element also includes the IDs of any active CloudFront key pairs that 13506 // are associated with the trusted signer's AWS account. If no KeyPairId element 13507 // appears for a Signer, that signer can't create signed URLs. 13508 // 13509 // For more information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 13510 // in the Amazon CloudFront Developer Guide. 13511 // 13512 // ActiveTrustedSigners is a required field 13513 ActiveTrustedSigners *ActiveTrustedSigners `type:"structure" required:"true"` 13514 13515 // The domain name that corresponds to the streaming distribution, for example, 13516 // s5c39gqb8ow64r.cloudfront.net. 13517 // 13518 // DomainName is a required field 13519 DomainName *string `type:"string" required:"true"` 13520 13521 // The identifier for the RTMP distribution. For example: EGTXBD79EXAMPLE. 13522 // 13523 // Id is a required field 13524 Id *string `type:"string" required:"true"` 13525 13526 // The date and time that the distribution was last modified. 13527 LastModifiedTime *time.Time `type:"timestamp"` 13528 13529 // The current status of the RTMP distribution. When the status is Deployed, 13530 // the distribution's information is propagated to all CloudFront edge locations. 13531 // 13532 // Status is a required field 13533 Status *string `type:"string" required:"true"` 13534 13535 // The current configuration information for the RTMP distribution. 13536 // 13537 // StreamingDistributionConfig is a required field 13538 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` 13539} 13540 13541// String returns the string representation 13542func (s StreamingDistribution) String() string { 13543 return awsutil.Prettify(s) 13544} 13545 13546// GoString returns the string representation 13547func (s StreamingDistribution) GoString() string { 13548 return s.String() 13549} 13550 13551// SetARN sets the ARN field's value. 13552func (s *StreamingDistribution) SetARN(v string) *StreamingDistribution { 13553 s.ARN = &v 13554 return s 13555} 13556 13557// SetActiveTrustedSigners sets the ActiveTrustedSigners field's value. 13558func (s *StreamingDistribution) SetActiveTrustedSigners(v *ActiveTrustedSigners) *StreamingDistribution { 13559 s.ActiveTrustedSigners = v 13560 return s 13561} 13562 13563// SetDomainName sets the DomainName field's value. 13564func (s *StreamingDistribution) SetDomainName(v string) *StreamingDistribution { 13565 s.DomainName = &v 13566 return s 13567} 13568 13569// SetId sets the Id field's value. 13570func (s *StreamingDistribution) SetId(v string) *StreamingDistribution { 13571 s.Id = &v 13572 return s 13573} 13574 13575// SetLastModifiedTime sets the LastModifiedTime field's value. 13576func (s *StreamingDistribution) SetLastModifiedTime(v time.Time) *StreamingDistribution { 13577 s.LastModifiedTime = &v 13578 return s 13579} 13580 13581// SetStatus sets the Status field's value. 13582func (s *StreamingDistribution) SetStatus(v string) *StreamingDistribution { 13583 s.Status = &v 13584 return s 13585} 13586 13587// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 13588func (s *StreamingDistribution) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *StreamingDistribution { 13589 s.StreamingDistributionConfig = v 13590 return s 13591} 13592 13593// The RTMP distribution's configuration information. 13594type StreamingDistributionConfig struct { 13595 _ struct{} `type:"structure"` 13596 13597 // A complex type that contains information about CNAMEs (alternate domain names), 13598 // if any, for this streaming distribution. 13599 Aliases *Aliases `type:"structure"` 13600 13601 // A unique value (for example, a date-time stamp) that ensures that the request 13602 // can't be replayed. 13603 // 13604 // If the value of CallerReference is new (regardless of the content of the 13605 // StreamingDistributionConfig object), CloudFront creates a new distribution. 13606 // 13607 // If CallerReference is a value that you already sent in a previous request 13608 // to create a distribution, CloudFront returns a DistributionAlreadyExists 13609 // error. 13610 // 13611 // CallerReference is a required field 13612 CallerReference *string `type:"string" required:"true"` 13613 13614 // Any comments you want to include about the streaming distribution. 13615 // 13616 // Comment is a required field 13617 Comment *string `type:"string" required:"true"` 13618 13619 // Whether the streaming distribution is enabled to accept user requests for 13620 // content. 13621 // 13622 // Enabled is a required field 13623 Enabled *bool `type:"boolean" required:"true"` 13624 13625 // A complex type that controls whether access logs are written for the streaming 13626 // distribution. 13627 Logging *StreamingLoggingConfig `type:"structure"` 13628 13629 // A complex type that contains information about price class for this streaming 13630 // distribution. 13631 PriceClass *string `type:"string" enum:"PriceClass"` 13632 13633 // A complex type that contains information about the Amazon S3 bucket from 13634 // which you want CloudFront to get your media files for distribution. 13635 // 13636 // S3Origin is a required field 13637 S3Origin *S3Origin `type:"structure" required:"true"` 13638 13639 // A complex type that specifies any AWS accounts that you want to permit to 13640 // create signed URLs for private content. If you want the distribution to use 13641 // signed URLs, include this element; if you want the distribution to use public 13642 // URLs, remove this element. For more information, see Serving Private Content 13643 // through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 13644 // in the Amazon CloudFront Developer Guide. 13645 // 13646 // TrustedSigners is a required field 13647 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 13648} 13649 13650// String returns the string representation 13651func (s StreamingDistributionConfig) String() string { 13652 return awsutil.Prettify(s) 13653} 13654 13655// GoString returns the string representation 13656func (s StreamingDistributionConfig) GoString() string { 13657 return s.String() 13658} 13659 13660// Validate inspects the fields of the type to determine if they are valid. 13661func (s *StreamingDistributionConfig) Validate() error { 13662 invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfig"} 13663 if s.CallerReference == nil { 13664 invalidParams.Add(request.NewErrParamRequired("CallerReference")) 13665 } 13666 if s.Comment == nil { 13667 invalidParams.Add(request.NewErrParamRequired("Comment")) 13668 } 13669 if s.Enabled == nil { 13670 invalidParams.Add(request.NewErrParamRequired("Enabled")) 13671 } 13672 if s.S3Origin == nil { 13673 invalidParams.Add(request.NewErrParamRequired("S3Origin")) 13674 } 13675 if s.TrustedSigners == nil { 13676 invalidParams.Add(request.NewErrParamRequired("TrustedSigners")) 13677 } 13678 if s.Aliases != nil { 13679 if err := s.Aliases.Validate(); err != nil { 13680 invalidParams.AddNested("Aliases", err.(request.ErrInvalidParams)) 13681 } 13682 } 13683 if s.Logging != nil { 13684 if err := s.Logging.Validate(); err != nil { 13685 invalidParams.AddNested("Logging", err.(request.ErrInvalidParams)) 13686 } 13687 } 13688 if s.S3Origin != nil { 13689 if err := s.S3Origin.Validate(); err != nil { 13690 invalidParams.AddNested("S3Origin", err.(request.ErrInvalidParams)) 13691 } 13692 } 13693 if s.TrustedSigners != nil { 13694 if err := s.TrustedSigners.Validate(); err != nil { 13695 invalidParams.AddNested("TrustedSigners", err.(request.ErrInvalidParams)) 13696 } 13697 } 13698 13699 if invalidParams.Len() > 0 { 13700 return invalidParams 13701 } 13702 return nil 13703} 13704 13705// SetAliases sets the Aliases field's value. 13706func (s *StreamingDistributionConfig) SetAliases(v *Aliases) *StreamingDistributionConfig { 13707 s.Aliases = v 13708 return s 13709} 13710 13711// SetCallerReference sets the CallerReference field's value. 13712func (s *StreamingDistributionConfig) SetCallerReference(v string) *StreamingDistributionConfig { 13713 s.CallerReference = &v 13714 return s 13715} 13716 13717// SetComment sets the Comment field's value. 13718func (s *StreamingDistributionConfig) SetComment(v string) *StreamingDistributionConfig { 13719 s.Comment = &v 13720 return s 13721} 13722 13723// SetEnabled sets the Enabled field's value. 13724func (s *StreamingDistributionConfig) SetEnabled(v bool) *StreamingDistributionConfig { 13725 s.Enabled = &v 13726 return s 13727} 13728 13729// SetLogging sets the Logging field's value. 13730func (s *StreamingDistributionConfig) SetLogging(v *StreamingLoggingConfig) *StreamingDistributionConfig { 13731 s.Logging = v 13732 return s 13733} 13734 13735// SetPriceClass sets the PriceClass field's value. 13736func (s *StreamingDistributionConfig) SetPriceClass(v string) *StreamingDistributionConfig { 13737 s.PriceClass = &v 13738 return s 13739} 13740 13741// SetS3Origin sets the S3Origin field's value. 13742func (s *StreamingDistributionConfig) SetS3Origin(v *S3Origin) *StreamingDistributionConfig { 13743 s.S3Origin = v 13744 return s 13745} 13746 13747// SetTrustedSigners sets the TrustedSigners field's value. 13748func (s *StreamingDistributionConfig) SetTrustedSigners(v *TrustedSigners) *StreamingDistributionConfig { 13749 s.TrustedSigners = v 13750 return s 13751} 13752 13753// A streaming distribution Configuration and a list of tags to be associated 13754// with the streaming distribution. 13755type StreamingDistributionConfigWithTags struct { 13756 _ struct{} `type:"structure"` 13757 13758 // A streaming distribution Configuration. 13759 // 13760 // StreamingDistributionConfig is a required field 13761 StreamingDistributionConfig *StreamingDistributionConfig `type:"structure" required:"true"` 13762 13763 // A complex type that contains zero or more Tag elements. 13764 // 13765 // Tags is a required field 13766 Tags *Tags `type:"structure" required:"true"` 13767} 13768 13769// String returns the string representation 13770func (s StreamingDistributionConfigWithTags) String() string { 13771 return awsutil.Prettify(s) 13772} 13773 13774// GoString returns the string representation 13775func (s StreamingDistributionConfigWithTags) GoString() string { 13776 return s.String() 13777} 13778 13779// Validate inspects the fields of the type to determine if they are valid. 13780func (s *StreamingDistributionConfigWithTags) Validate() error { 13781 invalidParams := request.ErrInvalidParams{Context: "StreamingDistributionConfigWithTags"} 13782 if s.StreamingDistributionConfig == nil { 13783 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 13784 } 13785 if s.Tags == nil { 13786 invalidParams.Add(request.NewErrParamRequired("Tags")) 13787 } 13788 if s.StreamingDistributionConfig != nil { 13789 if err := s.StreamingDistributionConfig.Validate(); err != nil { 13790 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 13791 } 13792 } 13793 if s.Tags != nil { 13794 if err := s.Tags.Validate(); err != nil { 13795 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 13796 } 13797 } 13798 13799 if invalidParams.Len() > 0 { 13800 return invalidParams 13801 } 13802 return nil 13803} 13804 13805// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 13806func (s *StreamingDistributionConfigWithTags) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *StreamingDistributionConfigWithTags { 13807 s.StreamingDistributionConfig = v 13808 return s 13809} 13810 13811// SetTags sets the Tags field's value. 13812func (s *StreamingDistributionConfigWithTags) SetTags(v *Tags) *StreamingDistributionConfigWithTags { 13813 s.Tags = v 13814 return s 13815} 13816 13817// A streaming distribution list. 13818type StreamingDistributionList struct { 13819 _ struct{} `type:"structure"` 13820 13821 // A flag that indicates whether more streaming distributions remain to be listed. 13822 // If your results were truncated, you can make a follow-up pagination request 13823 // using the Marker request parameter to retrieve more distributions in the 13824 // list. 13825 // 13826 // IsTruncated is a required field 13827 IsTruncated *bool `type:"boolean" required:"true"` 13828 13829 // A complex type that contains one StreamingDistributionSummary element for 13830 // each distribution that was created by the current AWS account. 13831 Items []*StreamingDistributionSummary `locationNameList:"StreamingDistributionSummary" type:"list"` 13832 13833 // The value you provided for the Marker request parameter. 13834 // 13835 // Marker is a required field 13836 Marker *string `type:"string" required:"true"` 13837 13838 // The value you provided for the MaxItems request parameter. 13839 // 13840 // MaxItems is a required field 13841 MaxItems *int64 `type:"integer" required:"true"` 13842 13843 // If IsTruncated is true, this element is present and contains the value you 13844 // can use for the Marker request parameter to continue listing your RTMP distributions 13845 // where they left off. 13846 NextMarker *string `type:"string"` 13847 13848 // The number of streaming distributions that were created by the current AWS 13849 // account. 13850 // 13851 // Quantity is a required field 13852 Quantity *int64 `type:"integer" required:"true"` 13853} 13854 13855// String returns the string representation 13856func (s StreamingDistributionList) String() string { 13857 return awsutil.Prettify(s) 13858} 13859 13860// GoString returns the string representation 13861func (s StreamingDistributionList) GoString() string { 13862 return s.String() 13863} 13864 13865// SetIsTruncated sets the IsTruncated field's value. 13866func (s *StreamingDistributionList) SetIsTruncated(v bool) *StreamingDistributionList { 13867 s.IsTruncated = &v 13868 return s 13869} 13870 13871// SetItems sets the Items field's value. 13872func (s *StreamingDistributionList) SetItems(v []*StreamingDistributionSummary) *StreamingDistributionList { 13873 s.Items = v 13874 return s 13875} 13876 13877// SetMarker sets the Marker field's value. 13878func (s *StreamingDistributionList) SetMarker(v string) *StreamingDistributionList { 13879 s.Marker = &v 13880 return s 13881} 13882 13883// SetMaxItems sets the MaxItems field's value. 13884func (s *StreamingDistributionList) SetMaxItems(v int64) *StreamingDistributionList { 13885 s.MaxItems = &v 13886 return s 13887} 13888 13889// SetNextMarker sets the NextMarker field's value. 13890func (s *StreamingDistributionList) SetNextMarker(v string) *StreamingDistributionList { 13891 s.NextMarker = &v 13892 return s 13893} 13894 13895// SetQuantity sets the Quantity field's value. 13896func (s *StreamingDistributionList) SetQuantity(v int64) *StreamingDistributionList { 13897 s.Quantity = &v 13898 return s 13899} 13900 13901// A summary of the information for a CloudFront streaming distribution. 13902type StreamingDistributionSummary struct { 13903 _ struct{} `type:"structure"` 13904 13905 // The ARN (Amazon Resource Name) for the streaming distribution. For example: 13906 // arn:aws:cloudfront::123456789012:streaming-distribution/EDFDVBD632BHDS5, 13907 // where 123456789012 is your AWS account ID. 13908 // 13909 // ARN is a required field 13910 ARN *string `type:"string" required:"true"` 13911 13912 // A complex type that contains information about CNAMEs (alternate domain names), 13913 // if any, for this streaming distribution. 13914 // 13915 // Aliases is a required field 13916 Aliases *Aliases `type:"structure" required:"true"` 13917 13918 // The comment originally specified when this distribution was created. 13919 // 13920 // Comment is a required field 13921 Comment *string `type:"string" required:"true"` 13922 13923 // The domain name corresponding to the distribution, for example, d111111abcdef8.cloudfront.net. 13924 // 13925 // DomainName is a required field 13926 DomainName *string `type:"string" required:"true"` 13927 13928 // Whether the distribution is enabled to accept end user requests for content. 13929 // 13930 // Enabled is a required field 13931 Enabled *bool `type:"boolean" required:"true"` 13932 13933 // The identifier for the distribution, for example, EDFDVBD632BHDS5. 13934 // 13935 // Id is a required field 13936 Id *string `type:"string" required:"true"` 13937 13938 // The date and time the distribution was last modified. 13939 // 13940 // LastModifiedTime is a required field 13941 LastModifiedTime *time.Time `type:"timestamp" required:"true"` 13942 13943 // A complex type that contains information about price class for this streaming 13944 // distribution. 13945 // 13946 // PriceClass is a required field 13947 PriceClass *string `type:"string" required:"true" enum:"PriceClass"` 13948 13949 // A complex type that contains information about the Amazon S3 bucket from 13950 // which you want CloudFront to get your media files for distribution. 13951 // 13952 // S3Origin is a required field 13953 S3Origin *S3Origin `type:"structure" required:"true"` 13954 13955 // Indicates the current status of the distribution. When the status is Deployed, 13956 // the distribution's information is fully propagated throughout the Amazon 13957 // CloudFront system. 13958 // 13959 // Status is a required field 13960 Status *string `type:"string" required:"true"` 13961 13962 // A complex type that specifies the AWS accounts, if any, that you want to 13963 // allow to create signed URLs for private content. If you want to require signed 13964 // URLs in requests for objects in the target origin that match the PathPattern 13965 // for this cache behavior, specify true for Enabled, and specify the applicable 13966 // values for Quantity and Items.If you don't want to require signed URLs in 13967 // requests for objects that match PathPattern, specify false for Enabled and 13968 // 0 for Quantity. Omit Items. To add, change, or remove one or more trusted 13969 // signers, change Enabled to true (if it's currently false), change Quantity 13970 // as applicable, and specify all of the trusted signers that you want to include 13971 // in the updated distribution. 13972 // 13973 // For more information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 13974 // in the Amazon CloudFront Developer Guide. 13975 // 13976 // TrustedSigners is a required field 13977 TrustedSigners *TrustedSigners `type:"structure" required:"true"` 13978} 13979 13980// String returns the string representation 13981func (s StreamingDistributionSummary) String() string { 13982 return awsutil.Prettify(s) 13983} 13984 13985// GoString returns the string representation 13986func (s StreamingDistributionSummary) GoString() string { 13987 return s.String() 13988} 13989 13990// SetARN sets the ARN field's value. 13991func (s *StreamingDistributionSummary) SetARN(v string) *StreamingDistributionSummary { 13992 s.ARN = &v 13993 return s 13994} 13995 13996// SetAliases sets the Aliases field's value. 13997func (s *StreamingDistributionSummary) SetAliases(v *Aliases) *StreamingDistributionSummary { 13998 s.Aliases = v 13999 return s 14000} 14001 14002// SetComment sets the Comment field's value. 14003func (s *StreamingDistributionSummary) SetComment(v string) *StreamingDistributionSummary { 14004 s.Comment = &v 14005 return s 14006} 14007 14008// SetDomainName sets the DomainName field's value. 14009func (s *StreamingDistributionSummary) SetDomainName(v string) *StreamingDistributionSummary { 14010 s.DomainName = &v 14011 return s 14012} 14013 14014// SetEnabled sets the Enabled field's value. 14015func (s *StreamingDistributionSummary) SetEnabled(v bool) *StreamingDistributionSummary { 14016 s.Enabled = &v 14017 return s 14018} 14019 14020// SetId sets the Id field's value. 14021func (s *StreamingDistributionSummary) SetId(v string) *StreamingDistributionSummary { 14022 s.Id = &v 14023 return s 14024} 14025 14026// SetLastModifiedTime sets the LastModifiedTime field's value. 14027func (s *StreamingDistributionSummary) SetLastModifiedTime(v time.Time) *StreamingDistributionSummary { 14028 s.LastModifiedTime = &v 14029 return s 14030} 14031 14032// SetPriceClass sets the PriceClass field's value. 14033func (s *StreamingDistributionSummary) SetPriceClass(v string) *StreamingDistributionSummary { 14034 s.PriceClass = &v 14035 return s 14036} 14037 14038// SetS3Origin sets the S3Origin field's value. 14039func (s *StreamingDistributionSummary) SetS3Origin(v *S3Origin) *StreamingDistributionSummary { 14040 s.S3Origin = v 14041 return s 14042} 14043 14044// SetStatus sets the Status field's value. 14045func (s *StreamingDistributionSummary) SetStatus(v string) *StreamingDistributionSummary { 14046 s.Status = &v 14047 return s 14048} 14049 14050// SetTrustedSigners sets the TrustedSigners field's value. 14051func (s *StreamingDistributionSummary) SetTrustedSigners(v *TrustedSigners) *StreamingDistributionSummary { 14052 s.TrustedSigners = v 14053 return s 14054} 14055 14056// A complex type that controls whether access logs are written for this streaming 14057// distribution. 14058type StreamingLoggingConfig struct { 14059 _ struct{} `type:"structure"` 14060 14061 // The Amazon S3 bucket to store the access logs in, for example, myawslogbucket.s3.amazonaws.com. 14062 // 14063 // Bucket is a required field 14064 Bucket *string `type:"string" required:"true"` 14065 14066 // Specifies whether you want CloudFront to save access logs to an Amazon S3 14067 // bucket. If you don't want to enable logging when you create a streaming distribution 14068 // or if you want to disable logging for an existing streaming distribution, 14069 // specify false for Enabled, and specify empty Bucket and Prefix elements. 14070 // If you specify false for Enabled but you specify values for Bucket and Prefix, 14071 // the values are automatically deleted. 14072 // 14073 // Enabled is a required field 14074 Enabled *bool `type:"boolean" required:"true"` 14075 14076 // An optional string that you want CloudFront to prefix to the access log filenames 14077 // for this streaming distribution, for example, myprefix/. If you want to enable 14078 // logging, but you don't want to specify a prefix, you still must include an 14079 // empty Prefix element in the Logging element. 14080 // 14081 // Prefix is a required field 14082 Prefix *string `type:"string" required:"true"` 14083} 14084 14085// String returns the string representation 14086func (s StreamingLoggingConfig) String() string { 14087 return awsutil.Prettify(s) 14088} 14089 14090// GoString returns the string representation 14091func (s StreamingLoggingConfig) GoString() string { 14092 return s.String() 14093} 14094 14095// Validate inspects the fields of the type to determine if they are valid. 14096func (s *StreamingLoggingConfig) Validate() error { 14097 invalidParams := request.ErrInvalidParams{Context: "StreamingLoggingConfig"} 14098 if s.Bucket == nil { 14099 invalidParams.Add(request.NewErrParamRequired("Bucket")) 14100 } 14101 if s.Enabled == nil { 14102 invalidParams.Add(request.NewErrParamRequired("Enabled")) 14103 } 14104 if s.Prefix == nil { 14105 invalidParams.Add(request.NewErrParamRequired("Prefix")) 14106 } 14107 14108 if invalidParams.Len() > 0 { 14109 return invalidParams 14110 } 14111 return nil 14112} 14113 14114// SetBucket sets the Bucket field's value. 14115func (s *StreamingLoggingConfig) SetBucket(v string) *StreamingLoggingConfig { 14116 s.Bucket = &v 14117 return s 14118} 14119 14120// SetEnabled sets the Enabled field's value. 14121func (s *StreamingLoggingConfig) SetEnabled(v bool) *StreamingLoggingConfig { 14122 s.Enabled = &v 14123 return s 14124} 14125 14126// SetPrefix sets the Prefix field's value. 14127func (s *StreamingLoggingConfig) SetPrefix(v string) *StreamingLoggingConfig { 14128 s.Prefix = &v 14129 return s 14130} 14131 14132// A complex type that contains Tag key and Tag value. 14133type Tag struct { 14134 _ struct{} `type:"structure"` 14135 14136 // A string that contains Tag key. 14137 // 14138 // The string length should be between 1 and 128 characters. Valid characters 14139 // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @. 14140 // 14141 // Key is a required field 14142 Key *string `min:"1" type:"string" required:"true"` 14143 14144 // A string that contains an optional Tag value. 14145 // 14146 // The string length should be between 0 and 256 characters. Valid characters 14147 // include a-z, A-Z, 0-9, space, and the special characters _ - . : / = + @. 14148 Value *string `type:"string"` 14149} 14150 14151// String returns the string representation 14152func (s Tag) String() string { 14153 return awsutil.Prettify(s) 14154} 14155 14156// GoString returns the string representation 14157func (s Tag) GoString() string { 14158 return s.String() 14159} 14160 14161// Validate inspects the fields of the type to determine if they are valid. 14162func (s *Tag) Validate() error { 14163 invalidParams := request.ErrInvalidParams{Context: "Tag"} 14164 if s.Key == nil { 14165 invalidParams.Add(request.NewErrParamRequired("Key")) 14166 } 14167 if s.Key != nil && len(*s.Key) < 1 { 14168 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 14169 } 14170 14171 if invalidParams.Len() > 0 { 14172 return invalidParams 14173 } 14174 return nil 14175} 14176 14177// SetKey sets the Key field's value. 14178func (s *Tag) SetKey(v string) *Tag { 14179 s.Key = &v 14180 return s 14181} 14182 14183// SetValue sets the Value field's value. 14184func (s *Tag) SetValue(v string) *Tag { 14185 s.Value = &v 14186 return s 14187} 14188 14189// A complex type that contains zero or more Tag elements. 14190type TagKeys struct { 14191 _ struct{} `type:"structure"` 14192 14193 // A complex type that contains Tag key elements. 14194 Items []*string `locationNameList:"Key" type:"list"` 14195} 14196 14197// String returns the string representation 14198func (s TagKeys) String() string { 14199 return awsutil.Prettify(s) 14200} 14201 14202// GoString returns the string representation 14203func (s TagKeys) GoString() string { 14204 return s.String() 14205} 14206 14207// SetItems sets the Items field's value. 14208func (s *TagKeys) SetItems(v []*string) *TagKeys { 14209 s.Items = v 14210 return s 14211} 14212 14213// The request to add tags to a CloudFront resource. 14214type TagResourceInput struct { 14215 _ struct{} `locationName:"TagResourceRequest" type:"structure" payload:"Tags"` 14216 14217 // An ARN of a CloudFront resource. 14218 // 14219 // Resource is a required field 14220 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 14221 14222 // A complex type that contains zero or more Tag elements. 14223 // 14224 // Tags is a required field 14225 Tags *Tags `locationName:"Tags" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14226} 14227 14228// String returns the string representation 14229func (s TagResourceInput) String() string { 14230 return awsutil.Prettify(s) 14231} 14232 14233// GoString returns the string representation 14234func (s TagResourceInput) GoString() string { 14235 return s.String() 14236} 14237 14238// Validate inspects the fields of the type to determine if they are valid. 14239func (s *TagResourceInput) Validate() error { 14240 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 14241 if s.Resource == nil { 14242 invalidParams.Add(request.NewErrParamRequired("Resource")) 14243 } 14244 if s.Tags == nil { 14245 invalidParams.Add(request.NewErrParamRequired("Tags")) 14246 } 14247 if s.Tags != nil { 14248 if err := s.Tags.Validate(); err != nil { 14249 invalidParams.AddNested("Tags", err.(request.ErrInvalidParams)) 14250 } 14251 } 14252 14253 if invalidParams.Len() > 0 { 14254 return invalidParams 14255 } 14256 return nil 14257} 14258 14259// SetResource sets the Resource field's value. 14260func (s *TagResourceInput) SetResource(v string) *TagResourceInput { 14261 s.Resource = &v 14262 return s 14263} 14264 14265// SetTags sets the Tags field's value. 14266func (s *TagResourceInput) SetTags(v *Tags) *TagResourceInput { 14267 s.Tags = v 14268 return s 14269} 14270 14271type TagResourceOutput struct { 14272 _ struct{} `type:"structure"` 14273} 14274 14275// String returns the string representation 14276func (s TagResourceOutput) String() string { 14277 return awsutil.Prettify(s) 14278} 14279 14280// GoString returns the string representation 14281func (s TagResourceOutput) GoString() string { 14282 return s.String() 14283} 14284 14285// A complex type that contains zero or more Tag elements. 14286type Tags struct { 14287 _ struct{} `type:"structure"` 14288 14289 // A complex type that contains Tag elements. 14290 Items []*Tag `locationNameList:"Tag" type:"list"` 14291} 14292 14293// String returns the string representation 14294func (s Tags) String() string { 14295 return awsutil.Prettify(s) 14296} 14297 14298// GoString returns the string representation 14299func (s Tags) GoString() string { 14300 return s.String() 14301} 14302 14303// Validate inspects the fields of the type to determine if they are valid. 14304func (s *Tags) Validate() error { 14305 invalidParams := request.ErrInvalidParams{Context: "Tags"} 14306 if s.Items != nil { 14307 for i, v := range s.Items { 14308 if v == nil { 14309 continue 14310 } 14311 if err := v.Validate(); err != nil { 14312 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Items", i), err.(request.ErrInvalidParams)) 14313 } 14314 } 14315 } 14316 14317 if invalidParams.Len() > 0 { 14318 return invalidParams 14319 } 14320 return nil 14321} 14322 14323// SetItems sets the Items field's value. 14324func (s *Tags) SetItems(v []*Tag) *Tags { 14325 s.Items = v 14326 return s 14327} 14328 14329// A complex type that specifies the AWS accounts, if any, that you want to 14330// allow to create signed URLs for private content. 14331// 14332// If you want to require signed URLs in requests for objects in the target 14333// origin that match the PathPattern for this cache behavior, specify true for 14334// Enabled, and specify the applicable values for Quantity and Items. For more 14335// information, see Serving Private Content through CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html) 14336// in the Amazon CloudFront Developer Guide. 14337// 14338// If you don't want to require signed URLs in requests for objects that match 14339// PathPattern, specify false for Enabled and 0 for Quantity. Omit Items. 14340// 14341// To add, change, or remove one or more trusted signers, change Enabled to 14342// true (if it's currently false), change Quantity as applicable, and specify 14343// all of the trusted signers that you want to include in the updated distribution. 14344// 14345// For more information about updating the distribution configuration, see DistributionConfig 14346// (https://docs.aws.amazon.com/cloudfront/latest/APIReference/DistributionConfig.html) 14347// in the Amazon CloudFront API Reference. 14348type TrustedSigners struct { 14349 _ struct{} `type:"structure"` 14350 14351 // Specifies whether you want to require viewers to use signed URLs to access 14352 // the files specified by PathPattern and TargetOriginId. 14353 // 14354 // Enabled is a required field 14355 Enabled *bool `type:"boolean" required:"true"` 14356 14357 // Optional: A complex type that contains trusted signers for this cache behavior. 14358 // If Quantity is 0, you can omit Items. 14359 Items []*string `locationNameList:"AwsAccountNumber" type:"list"` 14360 14361 // The number of trusted signers for this cache behavior. 14362 // 14363 // Quantity is a required field 14364 Quantity *int64 `type:"integer" required:"true"` 14365} 14366 14367// String returns the string representation 14368func (s TrustedSigners) String() string { 14369 return awsutil.Prettify(s) 14370} 14371 14372// GoString returns the string representation 14373func (s TrustedSigners) GoString() string { 14374 return s.String() 14375} 14376 14377// Validate inspects the fields of the type to determine if they are valid. 14378func (s *TrustedSigners) Validate() error { 14379 invalidParams := request.ErrInvalidParams{Context: "TrustedSigners"} 14380 if s.Enabled == nil { 14381 invalidParams.Add(request.NewErrParamRequired("Enabled")) 14382 } 14383 if s.Quantity == nil { 14384 invalidParams.Add(request.NewErrParamRequired("Quantity")) 14385 } 14386 14387 if invalidParams.Len() > 0 { 14388 return invalidParams 14389 } 14390 return nil 14391} 14392 14393// SetEnabled sets the Enabled field's value. 14394func (s *TrustedSigners) SetEnabled(v bool) *TrustedSigners { 14395 s.Enabled = &v 14396 return s 14397} 14398 14399// SetItems sets the Items field's value. 14400func (s *TrustedSigners) SetItems(v []*string) *TrustedSigners { 14401 s.Items = v 14402 return s 14403} 14404 14405// SetQuantity sets the Quantity field's value. 14406func (s *TrustedSigners) SetQuantity(v int64) *TrustedSigners { 14407 s.Quantity = &v 14408 return s 14409} 14410 14411// The request to remove tags from a CloudFront resource. 14412type UntagResourceInput struct { 14413 _ struct{} `locationName:"UntagResourceRequest" type:"structure" payload:"TagKeys"` 14414 14415 // An ARN of a CloudFront resource. 14416 // 14417 // Resource is a required field 14418 Resource *string `location:"querystring" locationName:"Resource" type:"string" required:"true"` 14419 14420 // A complex type that contains zero or more Tag key elements. 14421 // 14422 // TagKeys is a required field 14423 TagKeys *TagKeys `locationName:"TagKeys" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14424} 14425 14426// String returns the string representation 14427func (s UntagResourceInput) String() string { 14428 return awsutil.Prettify(s) 14429} 14430 14431// GoString returns the string representation 14432func (s UntagResourceInput) GoString() string { 14433 return s.String() 14434} 14435 14436// Validate inspects the fields of the type to determine if they are valid. 14437func (s *UntagResourceInput) Validate() error { 14438 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 14439 if s.Resource == nil { 14440 invalidParams.Add(request.NewErrParamRequired("Resource")) 14441 } 14442 if s.TagKeys == nil { 14443 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 14444 } 14445 14446 if invalidParams.Len() > 0 { 14447 return invalidParams 14448 } 14449 return nil 14450} 14451 14452// SetResource sets the Resource field's value. 14453func (s *UntagResourceInput) SetResource(v string) *UntagResourceInput { 14454 s.Resource = &v 14455 return s 14456} 14457 14458// SetTagKeys sets the TagKeys field's value. 14459func (s *UntagResourceInput) SetTagKeys(v *TagKeys) *UntagResourceInput { 14460 s.TagKeys = v 14461 return s 14462} 14463 14464type UntagResourceOutput struct { 14465 _ struct{} `type:"structure"` 14466} 14467 14468// String returns the string representation 14469func (s UntagResourceOutput) String() string { 14470 return awsutil.Prettify(s) 14471} 14472 14473// GoString returns the string representation 14474func (s UntagResourceOutput) GoString() string { 14475 return s.String() 14476} 14477 14478// The request to update an origin access identity. 14479type UpdateCloudFrontOriginAccessIdentityInput struct { 14480 _ struct{} `locationName:"UpdateCloudFrontOriginAccessIdentityRequest" type:"structure" payload:"CloudFrontOriginAccessIdentityConfig"` 14481 14482 // The identity's configuration information. 14483 // 14484 // CloudFrontOriginAccessIdentityConfig is a required field 14485 CloudFrontOriginAccessIdentityConfig *OriginAccessIdentityConfig `locationName:"CloudFrontOriginAccessIdentityConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14486 14487 // The identity's id. 14488 // 14489 // Id is a required field 14490 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 14491 14492 // The value of the ETag header that you received when retrieving the identity's 14493 // configuration. For example: E2QWRUHAPOMQZL. 14494 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14495} 14496 14497// String returns the string representation 14498func (s UpdateCloudFrontOriginAccessIdentityInput) String() string { 14499 return awsutil.Prettify(s) 14500} 14501 14502// GoString returns the string representation 14503func (s UpdateCloudFrontOriginAccessIdentityInput) GoString() string { 14504 return s.String() 14505} 14506 14507// Validate inspects the fields of the type to determine if they are valid. 14508func (s *UpdateCloudFrontOriginAccessIdentityInput) Validate() error { 14509 invalidParams := request.ErrInvalidParams{Context: "UpdateCloudFrontOriginAccessIdentityInput"} 14510 if s.CloudFrontOriginAccessIdentityConfig == nil { 14511 invalidParams.Add(request.NewErrParamRequired("CloudFrontOriginAccessIdentityConfig")) 14512 } 14513 if s.Id == nil { 14514 invalidParams.Add(request.NewErrParamRequired("Id")) 14515 } 14516 if s.Id != nil && len(*s.Id) < 1 { 14517 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14518 } 14519 if s.CloudFrontOriginAccessIdentityConfig != nil { 14520 if err := s.CloudFrontOriginAccessIdentityConfig.Validate(); err != nil { 14521 invalidParams.AddNested("CloudFrontOriginAccessIdentityConfig", err.(request.ErrInvalidParams)) 14522 } 14523 } 14524 14525 if invalidParams.Len() > 0 { 14526 return invalidParams 14527 } 14528 return nil 14529} 14530 14531// SetCloudFrontOriginAccessIdentityConfig sets the CloudFrontOriginAccessIdentityConfig field's value. 14532func (s *UpdateCloudFrontOriginAccessIdentityInput) SetCloudFrontOriginAccessIdentityConfig(v *OriginAccessIdentityConfig) *UpdateCloudFrontOriginAccessIdentityInput { 14533 s.CloudFrontOriginAccessIdentityConfig = v 14534 return s 14535} 14536 14537// SetId sets the Id field's value. 14538func (s *UpdateCloudFrontOriginAccessIdentityInput) SetId(v string) *UpdateCloudFrontOriginAccessIdentityInput { 14539 s.Id = &v 14540 return s 14541} 14542 14543// SetIfMatch sets the IfMatch field's value. 14544func (s *UpdateCloudFrontOriginAccessIdentityInput) SetIfMatch(v string) *UpdateCloudFrontOriginAccessIdentityInput { 14545 s.IfMatch = &v 14546 return s 14547} 14548 14549// The returned result of the corresponding request. 14550type UpdateCloudFrontOriginAccessIdentityOutput struct { 14551 _ struct{} `type:"structure" payload:"CloudFrontOriginAccessIdentity"` 14552 14553 // The origin access identity's information. 14554 CloudFrontOriginAccessIdentity *OriginAccessIdentity `type:"structure"` 14555 14556 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 14557 ETag *string `location:"header" locationName:"ETag" type:"string"` 14558} 14559 14560// String returns the string representation 14561func (s UpdateCloudFrontOriginAccessIdentityOutput) String() string { 14562 return awsutil.Prettify(s) 14563} 14564 14565// GoString returns the string representation 14566func (s UpdateCloudFrontOriginAccessIdentityOutput) GoString() string { 14567 return s.String() 14568} 14569 14570// SetCloudFrontOriginAccessIdentity sets the CloudFrontOriginAccessIdentity field's value. 14571func (s *UpdateCloudFrontOriginAccessIdentityOutput) SetCloudFrontOriginAccessIdentity(v *OriginAccessIdentity) *UpdateCloudFrontOriginAccessIdentityOutput { 14572 s.CloudFrontOriginAccessIdentity = v 14573 return s 14574} 14575 14576// SetETag sets the ETag field's value. 14577func (s *UpdateCloudFrontOriginAccessIdentityOutput) SetETag(v string) *UpdateCloudFrontOriginAccessIdentityOutput { 14578 s.ETag = &v 14579 return s 14580} 14581 14582// The request to update a distribution. 14583type UpdateDistributionInput struct { 14584 _ struct{} `locationName:"UpdateDistributionRequest" type:"structure" payload:"DistributionConfig"` 14585 14586 // The distribution's configuration information. 14587 // 14588 // DistributionConfig is a required field 14589 DistributionConfig *DistributionConfig `locationName:"DistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14590 14591 // The distribution's id. 14592 // 14593 // Id is a required field 14594 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 14595 14596 // The value of the ETag header that you received when retrieving the distribution's 14597 // configuration. For example: E2QWRUHAPOMQZL. 14598 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14599} 14600 14601// String returns the string representation 14602func (s UpdateDistributionInput) String() string { 14603 return awsutil.Prettify(s) 14604} 14605 14606// GoString returns the string representation 14607func (s UpdateDistributionInput) GoString() string { 14608 return s.String() 14609} 14610 14611// Validate inspects the fields of the type to determine if they are valid. 14612func (s *UpdateDistributionInput) Validate() error { 14613 invalidParams := request.ErrInvalidParams{Context: "UpdateDistributionInput"} 14614 if s.DistributionConfig == nil { 14615 invalidParams.Add(request.NewErrParamRequired("DistributionConfig")) 14616 } 14617 if s.Id == nil { 14618 invalidParams.Add(request.NewErrParamRequired("Id")) 14619 } 14620 if s.Id != nil && len(*s.Id) < 1 { 14621 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14622 } 14623 if s.DistributionConfig != nil { 14624 if err := s.DistributionConfig.Validate(); err != nil { 14625 invalidParams.AddNested("DistributionConfig", err.(request.ErrInvalidParams)) 14626 } 14627 } 14628 14629 if invalidParams.Len() > 0 { 14630 return invalidParams 14631 } 14632 return nil 14633} 14634 14635// SetDistributionConfig sets the DistributionConfig field's value. 14636func (s *UpdateDistributionInput) SetDistributionConfig(v *DistributionConfig) *UpdateDistributionInput { 14637 s.DistributionConfig = v 14638 return s 14639} 14640 14641// SetId sets the Id field's value. 14642func (s *UpdateDistributionInput) SetId(v string) *UpdateDistributionInput { 14643 s.Id = &v 14644 return s 14645} 14646 14647// SetIfMatch sets the IfMatch field's value. 14648func (s *UpdateDistributionInput) SetIfMatch(v string) *UpdateDistributionInput { 14649 s.IfMatch = &v 14650 return s 14651} 14652 14653// The returned result of the corresponding request. 14654type UpdateDistributionOutput struct { 14655 _ struct{} `type:"structure" payload:"Distribution"` 14656 14657 // The distribution's information. 14658 Distribution *Distribution `type:"structure"` 14659 14660 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 14661 ETag *string `location:"header" locationName:"ETag" type:"string"` 14662} 14663 14664// String returns the string representation 14665func (s UpdateDistributionOutput) String() string { 14666 return awsutil.Prettify(s) 14667} 14668 14669// GoString returns the string representation 14670func (s UpdateDistributionOutput) GoString() string { 14671 return s.String() 14672} 14673 14674// SetDistribution sets the Distribution field's value. 14675func (s *UpdateDistributionOutput) SetDistribution(v *Distribution) *UpdateDistributionOutput { 14676 s.Distribution = v 14677 return s 14678} 14679 14680// SetETag sets the ETag field's value. 14681func (s *UpdateDistributionOutput) SetETag(v string) *UpdateDistributionOutput { 14682 s.ETag = &v 14683 return s 14684} 14685 14686type UpdateFieldLevelEncryptionConfigInput struct { 14687 _ struct{} `locationName:"UpdateFieldLevelEncryptionConfigRequest" type:"structure" payload:"FieldLevelEncryptionConfig"` 14688 14689 // Request to update a field-level encryption configuration. 14690 // 14691 // FieldLevelEncryptionConfig is a required field 14692 FieldLevelEncryptionConfig *FieldLevelEncryptionConfig `locationName:"FieldLevelEncryptionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14693 14694 // The ID of the configuration you want to update. 14695 // 14696 // Id is a required field 14697 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 14698 14699 // The value of the ETag header that you received when retrieving the configuration 14700 // identity to update. For example: E2QWRUHAPOMQZL. 14701 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14702} 14703 14704// String returns the string representation 14705func (s UpdateFieldLevelEncryptionConfigInput) String() string { 14706 return awsutil.Prettify(s) 14707} 14708 14709// GoString returns the string representation 14710func (s UpdateFieldLevelEncryptionConfigInput) GoString() string { 14711 return s.String() 14712} 14713 14714// Validate inspects the fields of the type to determine if they are valid. 14715func (s *UpdateFieldLevelEncryptionConfigInput) Validate() error { 14716 invalidParams := request.ErrInvalidParams{Context: "UpdateFieldLevelEncryptionConfigInput"} 14717 if s.FieldLevelEncryptionConfig == nil { 14718 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionConfig")) 14719 } 14720 if s.Id == nil { 14721 invalidParams.Add(request.NewErrParamRequired("Id")) 14722 } 14723 if s.Id != nil && len(*s.Id) < 1 { 14724 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14725 } 14726 if s.FieldLevelEncryptionConfig != nil { 14727 if err := s.FieldLevelEncryptionConfig.Validate(); err != nil { 14728 invalidParams.AddNested("FieldLevelEncryptionConfig", err.(request.ErrInvalidParams)) 14729 } 14730 } 14731 14732 if invalidParams.Len() > 0 { 14733 return invalidParams 14734 } 14735 return nil 14736} 14737 14738// SetFieldLevelEncryptionConfig sets the FieldLevelEncryptionConfig field's value. 14739func (s *UpdateFieldLevelEncryptionConfigInput) SetFieldLevelEncryptionConfig(v *FieldLevelEncryptionConfig) *UpdateFieldLevelEncryptionConfigInput { 14740 s.FieldLevelEncryptionConfig = v 14741 return s 14742} 14743 14744// SetId sets the Id field's value. 14745func (s *UpdateFieldLevelEncryptionConfigInput) SetId(v string) *UpdateFieldLevelEncryptionConfigInput { 14746 s.Id = &v 14747 return s 14748} 14749 14750// SetIfMatch sets the IfMatch field's value. 14751func (s *UpdateFieldLevelEncryptionConfigInput) SetIfMatch(v string) *UpdateFieldLevelEncryptionConfigInput { 14752 s.IfMatch = &v 14753 return s 14754} 14755 14756type UpdateFieldLevelEncryptionConfigOutput struct { 14757 _ struct{} `type:"structure" payload:"FieldLevelEncryption"` 14758 14759 // The value of the ETag header that you received when updating the configuration. 14760 // For example: E2QWRUHAPOMQZL. 14761 ETag *string `location:"header" locationName:"ETag" type:"string"` 14762 14763 // Return the results of updating the configuration. 14764 FieldLevelEncryption *FieldLevelEncryption `type:"structure"` 14765} 14766 14767// String returns the string representation 14768func (s UpdateFieldLevelEncryptionConfigOutput) String() string { 14769 return awsutil.Prettify(s) 14770} 14771 14772// GoString returns the string representation 14773func (s UpdateFieldLevelEncryptionConfigOutput) GoString() string { 14774 return s.String() 14775} 14776 14777// SetETag sets the ETag field's value. 14778func (s *UpdateFieldLevelEncryptionConfigOutput) SetETag(v string) *UpdateFieldLevelEncryptionConfigOutput { 14779 s.ETag = &v 14780 return s 14781} 14782 14783// SetFieldLevelEncryption sets the FieldLevelEncryption field's value. 14784func (s *UpdateFieldLevelEncryptionConfigOutput) SetFieldLevelEncryption(v *FieldLevelEncryption) *UpdateFieldLevelEncryptionConfigOutput { 14785 s.FieldLevelEncryption = v 14786 return s 14787} 14788 14789type UpdateFieldLevelEncryptionProfileInput struct { 14790 _ struct{} `locationName:"UpdateFieldLevelEncryptionProfileRequest" type:"structure" payload:"FieldLevelEncryptionProfileConfig"` 14791 14792 // Request to update a field-level encryption profile. 14793 // 14794 // FieldLevelEncryptionProfileConfig is a required field 14795 FieldLevelEncryptionProfileConfig *FieldLevelEncryptionProfileConfig `locationName:"FieldLevelEncryptionProfileConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14796 14797 // The ID of the field-level encryption profile request. 14798 // 14799 // Id is a required field 14800 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 14801 14802 // The value of the ETag header that you received when retrieving the profile 14803 // identity to update. For example: E2QWRUHAPOMQZL. 14804 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14805} 14806 14807// String returns the string representation 14808func (s UpdateFieldLevelEncryptionProfileInput) String() string { 14809 return awsutil.Prettify(s) 14810} 14811 14812// GoString returns the string representation 14813func (s UpdateFieldLevelEncryptionProfileInput) GoString() string { 14814 return s.String() 14815} 14816 14817// Validate inspects the fields of the type to determine if they are valid. 14818func (s *UpdateFieldLevelEncryptionProfileInput) Validate() error { 14819 invalidParams := request.ErrInvalidParams{Context: "UpdateFieldLevelEncryptionProfileInput"} 14820 if s.FieldLevelEncryptionProfileConfig == nil { 14821 invalidParams.Add(request.NewErrParamRequired("FieldLevelEncryptionProfileConfig")) 14822 } 14823 if s.Id == nil { 14824 invalidParams.Add(request.NewErrParamRequired("Id")) 14825 } 14826 if s.Id != nil && len(*s.Id) < 1 { 14827 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14828 } 14829 if s.FieldLevelEncryptionProfileConfig != nil { 14830 if err := s.FieldLevelEncryptionProfileConfig.Validate(); err != nil { 14831 invalidParams.AddNested("FieldLevelEncryptionProfileConfig", err.(request.ErrInvalidParams)) 14832 } 14833 } 14834 14835 if invalidParams.Len() > 0 { 14836 return invalidParams 14837 } 14838 return nil 14839} 14840 14841// SetFieldLevelEncryptionProfileConfig sets the FieldLevelEncryptionProfileConfig field's value. 14842func (s *UpdateFieldLevelEncryptionProfileInput) SetFieldLevelEncryptionProfileConfig(v *FieldLevelEncryptionProfileConfig) *UpdateFieldLevelEncryptionProfileInput { 14843 s.FieldLevelEncryptionProfileConfig = v 14844 return s 14845} 14846 14847// SetId sets the Id field's value. 14848func (s *UpdateFieldLevelEncryptionProfileInput) SetId(v string) *UpdateFieldLevelEncryptionProfileInput { 14849 s.Id = &v 14850 return s 14851} 14852 14853// SetIfMatch sets the IfMatch field's value. 14854func (s *UpdateFieldLevelEncryptionProfileInput) SetIfMatch(v string) *UpdateFieldLevelEncryptionProfileInput { 14855 s.IfMatch = &v 14856 return s 14857} 14858 14859type UpdateFieldLevelEncryptionProfileOutput struct { 14860 _ struct{} `type:"structure" payload:"FieldLevelEncryptionProfile"` 14861 14862 // The result of the field-level encryption profile request. 14863 ETag *string `location:"header" locationName:"ETag" type:"string"` 14864 14865 // Return the results of updating the profile. 14866 FieldLevelEncryptionProfile *FieldLevelEncryptionProfile `type:"structure"` 14867} 14868 14869// String returns the string representation 14870func (s UpdateFieldLevelEncryptionProfileOutput) String() string { 14871 return awsutil.Prettify(s) 14872} 14873 14874// GoString returns the string representation 14875func (s UpdateFieldLevelEncryptionProfileOutput) GoString() string { 14876 return s.String() 14877} 14878 14879// SetETag sets the ETag field's value. 14880func (s *UpdateFieldLevelEncryptionProfileOutput) SetETag(v string) *UpdateFieldLevelEncryptionProfileOutput { 14881 s.ETag = &v 14882 return s 14883} 14884 14885// SetFieldLevelEncryptionProfile sets the FieldLevelEncryptionProfile field's value. 14886func (s *UpdateFieldLevelEncryptionProfileOutput) SetFieldLevelEncryptionProfile(v *FieldLevelEncryptionProfile) *UpdateFieldLevelEncryptionProfileOutput { 14887 s.FieldLevelEncryptionProfile = v 14888 return s 14889} 14890 14891type UpdatePublicKeyInput struct { 14892 _ struct{} `locationName:"UpdatePublicKeyRequest" type:"structure" payload:"PublicKeyConfig"` 14893 14894 // ID of the public key to be updated. 14895 // 14896 // Id is a required field 14897 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 14898 14899 // The value of the ETag header that you received when retrieving the public 14900 // key to update. For example: E2QWRUHAPOMQZL. 14901 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 14902 14903 // Request to update public key information. 14904 // 14905 // PublicKeyConfig is a required field 14906 PublicKeyConfig *PublicKeyConfig `locationName:"PublicKeyConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 14907} 14908 14909// String returns the string representation 14910func (s UpdatePublicKeyInput) String() string { 14911 return awsutil.Prettify(s) 14912} 14913 14914// GoString returns the string representation 14915func (s UpdatePublicKeyInput) GoString() string { 14916 return s.String() 14917} 14918 14919// Validate inspects the fields of the type to determine if they are valid. 14920func (s *UpdatePublicKeyInput) Validate() error { 14921 invalidParams := request.ErrInvalidParams{Context: "UpdatePublicKeyInput"} 14922 if s.Id == nil { 14923 invalidParams.Add(request.NewErrParamRequired("Id")) 14924 } 14925 if s.Id != nil && len(*s.Id) < 1 { 14926 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 14927 } 14928 if s.PublicKeyConfig == nil { 14929 invalidParams.Add(request.NewErrParamRequired("PublicKeyConfig")) 14930 } 14931 if s.PublicKeyConfig != nil { 14932 if err := s.PublicKeyConfig.Validate(); err != nil { 14933 invalidParams.AddNested("PublicKeyConfig", err.(request.ErrInvalidParams)) 14934 } 14935 } 14936 14937 if invalidParams.Len() > 0 { 14938 return invalidParams 14939 } 14940 return nil 14941} 14942 14943// SetId sets the Id field's value. 14944func (s *UpdatePublicKeyInput) SetId(v string) *UpdatePublicKeyInput { 14945 s.Id = &v 14946 return s 14947} 14948 14949// SetIfMatch sets the IfMatch field's value. 14950func (s *UpdatePublicKeyInput) SetIfMatch(v string) *UpdatePublicKeyInput { 14951 s.IfMatch = &v 14952 return s 14953} 14954 14955// SetPublicKeyConfig sets the PublicKeyConfig field's value. 14956func (s *UpdatePublicKeyInput) SetPublicKeyConfig(v *PublicKeyConfig) *UpdatePublicKeyInput { 14957 s.PublicKeyConfig = v 14958 return s 14959} 14960 14961type UpdatePublicKeyOutput struct { 14962 _ struct{} `type:"structure" payload:"PublicKey"` 14963 14964 // The current version of the update public key result. For example: E2QWRUHAPOMQZL. 14965 ETag *string `location:"header" locationName:"ETag" type:"string"` 14966 14967 // Return the results of updating the public key. 14968 PublicKey *PublicKey `type:"structure"` 14969} 14970 14971// String returns the string representation 14972func (s UpdatePublicKeyOutput) String() string { 14973 return awsutil.Prettify(s) 14974} 14975 14976// GoString returns the string representation 14977func (s UpdatePublicKeyOutput) GoString() string { 14978 return s.String() 14979} 14980 14981// SetETag sets the ETag field's value. 14982func (s *UpdatePublicKeyOutput) SetETag(v string) *UpdatePublicKeyOutput { 14983 s.ETag = &v 14984 return s 14985} 14986 14987// SetPublicKey sets the PublicKey field's value. 14988func (s *UpdatePublicKeyOutput) SetPublicKey(v *PublicKey) *UpdatePublicKeyOutput { 14989 s.PublicKey = v 14990 return s 14991} 14992 14993// The request to update a streaming distribution. 14994type UpdateStreamingDistributionInput struct { 14995 _ struct{} `locationName:"UpdateStreamingDistributionRequest" type:"structure" payload:"StreamingDistributionConfig"` 14996 14997 // The streaming distribution's id. 14998 // 14999 // Id is a required field 15000 Id *string `location:"uri" locationName:"Id" type:"string" required:"true"` 15001 15002 // The value of the ETag header that you received when retrieving the streaming 15003 // distribution's configuration. For example: E2QWRUHAPOMQZL. 15004 IfMatch *string `location:"header" locationName:"If-Match" type:"string"` 15005 15006 // The streaming distribution's configuration information. 15007 // 15008 // StreamingDistributionConfig is a required field 15009 StreamingDistributionConfig *StreamingDistributionConfig `locationName:"StreamingDistributionConfig" type:"structure" required:"true" xmlURI:"http://cloudfront.amazonaws.com/doc/2019-03-26/"` 15010} 15011 15012// String returns the string representation 15013func (s UpdateStreamingDistributionInput) String() string { 15014 return awsutil.Prettify(s) 15015} 15016 15017// GoString returns the string representation 15018func (s UpdateStreamingDistributionInput) GoString() string { 15019 return s.String() 15020} 15021 15022// Validate inspects the fields of the type to determine if they are valid. 15023func (s *UpdateStreamingDistributionInput) Validate() error { 15024 invalidParams := request.ErrInvalidParams{Context: "UpdateStreamingDistributionInput"} 15025 if s.Id == nil { 15026 invalidParams.Add(request.NewErrParamRequired("Id")) 15027 } 15028 if s.Id != nil && len(*s.Id) < 1 { 15029 invalidParams.Add(request.NewErrParamMinLen("Id", 1)) 15030 } 15031 if s.StreamingDistributionConfig == nil { 15032 invalidParams.Add(request.NewErrParamRequired("StreamingDistributionConfig")) 15033 } 15034 if s.StreamingDistributionConfig != nil { 15035 if err := s.StreamingDistributionConfig.Validate(); err != nil { 15036 invalidParams.AddNested("StreamingDistributionConfig", err.(request.ErrInvalidParams)) 15037 } 15038 } 15039 15040 if invalidParams.Len() > 0 { 15041 return invalidParams 15042 } 15043 return nil 15044} 15045 15046// SetId sets the Id field's value. 15047func (s *UpdateStreamingDistributionInput) SetId(v string) *UpdateStreamingDistributionInput { 15048 s.Id = &v 15049 return s 15050} 15051 15052// SetIfMatch sets the IfMatch field's value. 15053func (s *UpdateStreamingDistributionInput) SetIfMatch(v string) *UpdateStreamingDistributionInput { 15054 s.IfMatch = &v 15055 return s 15056} 15057 15058// SetStreamingDistributionConfig sets the StreamingDistributionConfig field's value. 15059func (s *UpdateStreamingDistributionInput) SetStreamingDistributionConfig(v *StreamingDistributionConfig) *UpdateStreamingDistributionInput { 15060 s.StreamingDistributionConfig = v 15061 return s 15062} 15063 15064// The returned result of the corresponding request. 15065type UpdateStreamingDistributionOutput struct { 15066 _ struct{} `type:"structure" payload:"StreamingDistribution"` 15067 15068 // The current version of the configuration. For example: E2QWRUHAPOMQZL. 15069 ETag *string `location:"header" locationName:"ETag" type:"string"` 15070 15071 // The streaming distribution's information. 15072 StreamingDistribution *StreamingDistribution `type:"structure"` 15073} 15074 15075// String returns the string representation 15076func (s UpdateStreamingDistributionOutput) String() string { 15077 return awsutil.Prettify(s) 15078} 15079 15080// GoString returns the string representation 15081func (s UpdateStreamingDistributionOutput) GoString() string { 15082 return s.String() 15083} 15084 15085// SetETag sets the ETag field's value. 15086func (s *UpdateStreamingDistributionOutput) SetETag(v string) *UpdateStreamingDistributionOutput { 15087 s.ETag = &v 15088 return s 15089} 15090 15091// SetStreamingDistribution sets the StreamingDistribution field's value. 15092func (s *UpdateStreamingDistributionOutput) SetStreamingDistribution(v *StreamingDistribution) *UpdateStreamingDistributionOutput { 15093 s.StreamingDistribution = v 15094 return s 15095} 15096 15097// A complex type that specifies the following: 15098// 15099// * Whether you want viewers to use HTTP or HTTPS to request your objects. 15100// 15101// * If you want viewers to use HTTPS, whether you're using an alternate 15102// domain name, such as example.com, or the CloudFront domain name for your 15103// distribution, such as d111111abcdef8.cloudfront.net. 15104// 15105// * If you're using an alternate domain name, whether AWS Certificate Manager 15106// (ACM) provided the certificate, or you purchased a certificate from a 15107// third-party certificate authority and imported it into ACM or uploaded 15108// it to the IAM certificate store. 15109// 15110// Specify only one of the following values: 15111// 15112// * ACMCertificateArn (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-ACMCertificateArn) 15113// 15114// * IAMCertificateId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-IAMCertificateId) 15115// 15116// * CloudFrontDefaultCertificate (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-CloudFrontDefaultCertificate) 15117// 15118// For more information, see Using Alternate Domain Names and HTTPS (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS) 15119// in the Amazon CloudFront Developer Guide. 15120type ViewerCertificate struct { 15121 _ struct{} `type:"structure"` 15122 15123 // If you want viewers to use HTTPS to request your objects and you're using 15124 // an alternate domain name, you must choose the type of certificate that you 15125 // want to use. If ACM provided your certificate, specify the Amazon Resource 15126 // Name (ARN) for the ACM certificate that you want to use for this distribution. 15127 // CloudFront only supports ACM certificates in the US East (N. Virginia) Region 15128 // (us-east-1). 15129 // 15130 // If you specify an ACM certificate ARN, you must also specify an SSL support 15131 // method (sni-only or vip). 15132 ACMCertificateArn *string `type:"string"` 15133 15134 // This field is no longer used. Use one of the following fields instead: 15135 // 15136 // * ACMCertificateArn (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-ACMCertificateArn) 15137 // 15138 // * IAMCertificateId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-IAMCertificateId) 15139 // 15140 // * CloudFrontDefaultCertificate (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-CloudFrontDefaultCertificate) 15141 // 15142 // Deprecated: Certificate has been deprecated 15143 Certificate *string `deprecated:"true" type:"string"` 15144 15145 // This field is no longer used. Use one of the following fields instead: 15146 // 15147 // * ACMCertificateArn (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-ACMCertificateArn) 15148 // 15149 // * IAMCertificateId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-IAMCertificateId) 15150 // 15151 // * CloudFrontDefaultCertificate (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-CloudFrontDefaultCertificate) 15152 // 15153 // Deprecated: CertificateSource has been deprecated 15154 CertificateSource *string `deprecated:"true" type:"string" enum:"CertificateSource"` 15155 15156 // If you're using the CloudFront domain name for your distribution, such as 15157 // d111111abcdef8.cloudfront.net, specify this value as true. 15158 CloudFrontDefaultCertificate *bool `type:"boolean"` 15159 15160 // If you want viewers to use HTTPS to request your objects and you're using 15161 // an alternate domain name, you must choose the type of certificate that you 15162 // want to use. If you purchased your certificate from a third-party certificate 15163 // authority and uploaded it to the IAM certificate store, specify the certificate 15164 // ID that you want to use for this distribution. 15165 // 15166 // If you specify a certificate ID, you must also specify an SSL support method 15167 // (sni-only or vip). 15168 IAMCertificateId *string `type:"string"` 15169 15170 // Specify the security policy that you want CloudFront to use for HTTPS connections. 15171 // A security policy determines two settings: 15172 // 15173 // * The minimum SSL/TLS protocol that CloudFront uses to communicate with 15174 // viewers. 15175 // 15176 // * The cipher that CloudFront uses to encrypt the content that it returns 15177 // to viewers. 15178 // 15179 // On the CloudFront console, this setting is called Security Policy. 15180 // 15181 // We recommend that you specify TLSv1.1_2016 unless your viewers are using 15182 // browsers or devices that do not support TLSv1.1 or later. 15183 // 15184 // When both of the following are true, you must specify TLSv1 or later for 15185 // the security policy: 15186 // 15187 // * You're using a custom certificate; that is, you specified a value for 15188 // ACMCertificateArn or for IAMCertificateId. 15189 // 15190 // * You're using SNI; that is, you specified sni-only for SSLSupportMethod. 15191 // 15192 // If you specify true for CloudFrontDefaultCertificate, CloudFront automatically 15193 // sets the security policy to TLSv1 regardless of the value that you specify 15194 // here. 15195 // 15196 // For information about the relationship between the security policy that you 15197 // choose and the protocols and ciphers that CloudFront uses to communicate 15198 // with viewers, see Supported SSL/TLS Protocols and Ciphers for Communication 15199 // Between Viewers and CloudFront (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html#secure-connections-supported-ciphers) 15200 // in the Amazon CloudFront Developer Guide. 15201 MinimumProtocolVersion *string `type:"string" enum:"MinimumProtocolVersion"` 15202 15203 // If you specify a value for ACMCertificateArn (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-ACMCertificateArn) 15204 // or for IAMCertificateId (https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ViewerCertificate.html#cloudfront-Type-ViewerCertificate-IAMCertificateId), 15205 // you must also specify how you want CloudFront to serve HTTPS requests: using 15206 // a method that works for browsers and clients released after 2010, or one 15207 // that works for all clients. 15208 // 15209 // * sni-only: CloudFront can respond to HTTPS requests from viewers that 15210 // support Server Name Indication (SNI). All modern browsers support SNI, 15211 // but there are a few that don't. For a current list of the browsers that 15212 // support SNI, see the Wikipedia entry Server Name Indication (http://en.wikipedia.org/wiki/Server_Name_Indication). 15213 // To learn about options to explore if you have viewers with browsers that 15214 // don't include SNI support, see Choosing How CloudFront Serves HTTPS Requests 15215 // (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html) 15216 // in the Amazon CloudFront Developer Guide. 15217 // 15218 // * vip: CloudFront uses dedicated IP addresses for your content and can 15219 // respond to HTTPS requests from any viewer. However, there are additional 15220 // monthly charges. For details, including specific pricing information, 15221 // see Custom SSL options for Amazon CloudFront (http://aws.amazon.com/cloudfront/custom-ssl-domains/) 15222 // on the AWS marketing site. 15223 // 15224 // Don't specify a value here if you specified CloudFrontDefaultCertificate 15225 // as true. 15226 // 15227 // For more information, see Choosing How CloudFront Serves HTTPS Requests (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html) 15228 // in the Amazon CloudFront Developer Guide. 15229 SSLSupportMethod *string `type:"string" enum:"SSLSupportMethod"` 15230} 15231 15232// String returns the string representation 15233func (s ViewerCertificate) String() string { 15234 return awsutil.Prettify(s) 15235} 15236 15237// GoString returns the string representation 15238func (s ViewerCertificate) GoString() string { 15239 return s.String() 15240} 15241 15242// SetACMCertificateArn sets the ACMCertificateArn field's value. 15243func (s *ViewerCertificate) SetACMCertificateArn(v string) *ViewerCertificate { 15244 s.ACMCertificateArn = &v 15245 return s 15246} 15247 15248// SetCertificate sets the Certificate field's value. 15249func (s *ViewerCertificate) SetCertificate(v string) *ViewerCertificate { 15250 s.Certificate = &v 15251 return s 15252} 15253 15254// SetCertificateSource sets the CertificateSource field's value. 15255func (s *ViewerCertificate) SetCertificateSource(v string) *ViewerCertificate { 15256 s.CertificateSource = &v 15257 return s 15258} 15259 15260// SetCloudFrontDefaultCertificate sets the CloudFrontDefaultCertificate field's value. 15261func (s *ViewerCertificate) SetCloudFrontDefaultCertificate(v bool) *ViewerCertificate { 15262 s.CloudFrontDefaultCertificate = &v 15263 return s 15264} 15265 15266// SetIAMCertificateId sets the IAMCertificateId field's value. 15267func (s *ViewerCertificate) SetIAMCertificateId(v string) *ViewerCertificate { 15268 s.IAMCertificateId = &v 15269 return s 15270} 15271 15272// SetMinimumProtocolVersion sets the MinimumProtocolVersion field's value. 15273func (s *ViewerCertificate) SetMinimumProtocolVersion(v string) *ViewerCertificate { 15274 s.MinimumProtocolVersion = &v 15275 return s 15276} 15277 15278// SetSSLSupportMethod sets the SSLSupportMethod field's value. 15279func (s *ViewerCertificate) SetSSLSupportMethod(v string) *ViewerCertificate { 15280 s.SSLSupportMethod = &v 15281 return s 15282} 15283 15284const ( 15285 // CertificateSourceCloudfront is a CertificateSource enum value 15286 CertificateSourceCloudfront = "cloudfront" 15287 15288 // CertificateSourceIam is a CertificateSource enum value 15289 CertificateSourceIam = "iam" 15290 15291 // CertificateSourceAcm is a CertificateSource enum value 15292 CertificateSourceAcm = "acm" 15293) 15294 15295const ( 15296 // EventTypeViewerRequest is a EventType enum value 15297 EventTypeViewerRequest = "viewer-request" 15298 15299 // EventTypeViewerResponse is a EventType enum value 15300 EventTypeViewerResponse = "viewer-response" 15301 15302 // EventTypeOriginRequest is a EventType enum value 15303 EventTypeOriginRequest = "origin-request" 15304 15305 // EventTypeOriginResponse is a EventType enum value 15306 EventTypeOriginResponse = "origin-response" 15307) 15308 15309const ( 15310 // FormatUrlencoded is a Format enum value 15311 FormatUrlencoded = "URLEncoded" 15312) 15313 15314const ( 15315 // GeoRestrictionTypeBlacklist is a GeoRestrictionType enum value 15316 GeoRestrictionTypeBlacklist = "blacklist" 15317 15318 // GeoRestrictionTypeWhitelist is a GeoRestrictionType enum value 15319 GeoRestrictionTypeWhitelist = "whitelist" 15320 15321 // GeoRestrictionTypeNone is a GeoRestrictionType enum value 15322 GeoRestrictionTypeNone = "none" 15323) 15324 15325const ( 15326 // HttpVersionHttp11 is a HttpVersion enum value 15327 HttpVersionHttp11 = "http1.1" 15328 15329 // HttpVersionHttp2 is a HttpVersion enum value 15330 HttpVersionHttp2 = "http2" 15331) 15332 15333const ( 15334 // ICPRecordalStatusApproved is a ICPRecordalStatus enum value 15335 ICPRecordalStatusApproved = "APPROVED" 15336 15337 // ICPRecordalStatusSuspended is a ICPRecordalStatus enum value 15338 ICPRecordalStatusSuspended = "SUSPENDED" 15339 15340 // ICPRecordalStatusPending is a ICPRecordalStatus enum value 15341 ICPRecordalStatusPending = "PENDING" 15342) 15343 15344const ( 15345 // ItemSelectionNone is a ItemSelection enum value 15346 ItemSelectionNone = "none" 15347 15348 // ItemSelectionWhitelist is a ItemSelection enum value 15349 ItemSelectionWhitelist = "whitelist" 15350 15351 // ItemSelectionAll is a ItemSelection enum value 15352 ItemSelectionAll = "all" 15353) 15354 15355const ( 15356 // MethodGet is a Method enum value 15357 MethodGet = "GET" 15358 15359 // MethodHead is a Method enum value 15360 MethodHead = "HEAD" 15361 15362 // MethodPost is a Method enum value 15363 MethodPost = "POST" 15364 15365 // MethodPut is a Method enum value 15366 MethodPut = "PUT" 15367 15368 // MethodPatch is a Method enum value 15369 MethodPatch = "PATCH" 15370 15371 // MethodOptions is a Method enum value 15372 MethodOptions = "OPTIONS" 15373 15374 // MethodDelete is a Method enum value 15375 MethodDelete = "DELETE" 15376) 15377 15378const ( 15379 // MinimumProtocolVersionSslv3 is a MinimumProtocolVersion enum value 15380 MinimumProtocolVersionSslv3 = "SSLv3" 15381 15382 // MinimumProtocolVersionTlsv1 is a MinimumProtocolVersion enum value 15383 MinimumProtocolVersionTlsv1 = "TLSv1" 15384 15385 // MinimumProtocolVersionTlsv12016 is a MinimumProtocolVersion enum value 15386 MinimumProtocolVersionTlsv12016 = "TLSv1_2016" 15387 15388 // MinimumProtocolVersionTlsv112016 is a MinimumProtocolVersion enum value 15389 MinimumProtocolVersionTlsv112016 = "TLSv1.1_2016" 15390 15391 // MinimumProtocolVersionTlsv122018 is a MinimumProtocolVersion enum value 15392 MinimumProtocolVersionTlsv122018 = "TLSv1.2_2018" 15393) 15394 15395const ( 15396 // OriginProtocolPolicyHttpOnly is a OriginProtocolPolicy enum value 15397 OriginProtocolPolicyHttpOnly = "http-only" 15398 15399 // OriginProtocolPolicyMatchViewer is a OriginProtocolPolicy enum value 15400 OriginProtocolPolicyMatchViewer = "match-viewer" 15401 15402 // OriginProtocolPolicyHttpsOnly is a OriginProtocolPolicy enum value 15403 OriginProtocolPolicyHttpsOnly = "https-only" 15404) 15405 15406const ( 15407 // PriceClassPriceClass100 is a PriceClass enum value 15408 PriceClassPriceClass100 = "PriceClass_100" 15409 15410 // PriceClassPriceClass200 is a PriceClass enum value 15411 PriceClassPriceClass200 = "PriceClass_200" 15412 15413 // PriceClassPriceClassAll is a PriceClass enum value 15414 PriceClassPriceClassAll = "PriceClass_All" 15415) 15416 15417const ( 15418 // SSLSupportMethodSniOnly is a SSLSupportMethod enum value 15419 SSLSupportMethodSniOnly = "sni-only" 15420 15421 // SSLSupportMethodVip is a SSLSupportMethod enum value 15422 SSLSupportMethodVip = "vip" 15423) 15424 15425const ( 15426 // SslProtocolSslv3 is a SslProtocol enum value 15427 SslProtocolSslv3 = "SSLv3" 15428 15429 // SslProtocolTlsv1 is a SslProtocol enum value 15430 SslProtocolTlsv1 = "TLSv1" 15431 15432 // SslProtocolTlsv11 is a SslProtocol enum value 15433 SslProtocolTlsv11 = "TLSv1.1" 15434 15435 // SslProtocolTlsv12 is a SslProtocol enum value 15436 SslProtocolTlsv12 = "TLSv1.2" 15437) 15438 15439const ( 15440 // ViewerProtocolPolicyAllowAll is a ViewerProtocolPolicy enum value 15441 ViewerProtocolPolicyAllowAll = "allow-all" 15442 15443 // ViewerProtocolPolicyHttpsOnly is a ViewerProtocolPolicy enum value 15444 ViewerProtocolPolicyHttpsOnly = "https-only" 15445 15446 // ViewerProtocolPolicyRedirectToHttps is a ViewerProtocolPolicy enum value 15447 ViewerProtocolPolicyRedirectToHttps = "redirect-to-https" 15448) 15449