aws-sdk-cloudfront 1.66.0 → 1.67.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1962,6 +1962,7 @@ module Aws::CloudFront
1962
1962
  # enabled: false, # required
1963
1963
  # origin_shield_region: "OriginShieldRegion",
1964
1964
  # },
1965
+ # origin_access_control_id: "string",
1965
1966
  # },
1966
1967
  # ],
1967
1968
  # },
@@ -2260,6 +2261,7 @@ module Aws::CloudFront
2260
2261
  # enabled: false, # required
2261
2262
  # origin_shield_region: "OriginShieldRegion",
2262
2263
  # },
2264
+ # origin_access_control_id: "string",
2263
2265
  # },
2264
2266
  # ],
2265
2267
  # },
@@ -2856,6 +2858,54 @@ module Aws::CloudFront
2856
2858
  include Aws::Structure
2857
2859
  end
2858
2860
 
2861
+ # @note When making an API call, you may pass CreateOriginAccessControlRequest
2862
+ # data as a hash:
2863
+ #
2864
+ # {
2865
+ # origin_access_control_config: { # required
2866
+ # name: "string", # required
2867
+ # description: "string", # required
2868
+ # signing_protocol: "sigv4", # required, accepts sigv4
2869
+ # signing_behavior: "never", # required, accepts never, always, no-override
2870
+ # origin_access_control_origin_type: "s3", # required, accepts s3
2871
+ # },
2872
+ # }
2873
+ #
2874
+ # @!attribute [rw] origin_access_control_config
2875
+ # Contains the origin access control.
2876
+ # @return [Types::OriginAccessControlConfig]
2877
+ #
2878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginAccessControlRequest AWS API Documentation
2879
+ #
2880
+ class CreateOriginAccessControlRequest < Struct.new(
2881
+ :origin_access_control_config)
2882
+ SENSITIVE = []
2883
+ include Aws::Structure
2884
+ end
2885
+
2886
+ # @!attribute [rw] origin_access_control
2887
+ # Contains an origin access control.
2888
+ # @return [Types::OriginAccessControl]
2889
+ #
2890
+ # @!attribute [rw] location
2891
+ # The URL of the origin access control.
2892
+ # @return [String]
2893
+ #
2894
+ # @!attribute [rw] etag
2895
+ # The version identifier for the current version of the origin access
2896
+ # control.
2897
+ # @return [String]
2898
+ #
2899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/CreateOriginAccessControlResult AWS API Documentation
2900
+ #
2901
+ class CreateOriginAccessControlResult < Struct.new(
2902
+ :origin_access_control,
2903
+ :location,
2904
+ :etag)
2905
+ SENSITIVE = []
2906
+ include Aws::Structure
2907
+ end
2908
+
2859
2909
  # @note When making an API call, you may pass CreateOriginRequestPolicyRequest
2860
2910
  # data as a hash:
2861
2911
  #
@@ -3092,6 +3142,10 @@ module Aws::CloudFront
3092
3142
  # access_control_max_age_sec: 1, # required
3093
3143
  # },
3094
3144
  # },
3145
+ # server_timing_headers_config: {
3146
+ # enabled: false, # required
3147
+ # sampling_rate: 1.0,
3148
+ # },
3095
3149
  # custom_headers_config: {
3096
3150
  # quantity: 1, # required
3097
3151
  # items: [
@@ -3102,10 +3156,6 @@ module Aws::CloudFront
3102
3156
  # },
3103
3157
  # ],
3104
3158
  # },
3105
- # server_timing_headers_config: {
3106
- # enabled: false, # required
3107
- # sampling_rate: 1.0,
3108
- # },
3109
3159
  # },
3110
3160
  # }
3111
3161
  #
@@ -4222,6 +4272,33 @@ module Aws::CloudFront
4222
4272
  #
4223
4273
  class DeleteMonitoringSubscriptionResult < Aws::EmptyStructure; end
4224
4274
 
4275
+ # @note When making an API call, you may pass DeleteOriginAccessControlRequest
4276
+ # data as a hash:
4277
+ #
4278
+ # {
4279
+ # id: "string", # required
4280
+ # if_match: "string",
4281
+ # }
4282
+ #
4283
+ # @!attribute [rw] id
4284
+ # The unique identifier of the origin access control that you are
4285
+ # deleting.
4286
+ # @return [String]
4287
+ #
4288
+ # @!attribute [rw] if_match
4289
+ # The current version (`ETag` value) of the origin access control that
4290
+ # you are deleting.
4291
+ # @return [String]
4292
+ #
4293
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/DeleteOriginAccessControlRequest AWS API Documentation
4294
+ #
4295
+ class DeleteOriginAccessControlRequest < Struct.new(
4296
+ :id,
4297
+ :if_match)
4298
+ SENSITIVE = []
4299
+ include Aws::Structure
4300
+ end
4301
+
4225
4302
  # @note When making an API call, you may pass DeleteOriginRequestPolicyRequest
4226
4303
  # data as a hash:
4227
4304
  #
@@ -4560,6 +4637,7 @@ module Aws::CloudFront
4560
4637
  # enabled: false, # required
4561
4638
  # origin_shield_region: "OriginShieldRegion",
4562
4639
  # },
4640
+ # origin_access_control_id: "string",
4563
4641
  # },
4564
4642
  # ],
4565
4643
  # },
@@ -5076,6 +5154,7 @@ module Aws::CloudFront
5076
5154
  # enabled: false, # required
5077
5155
  # origin_shield_region: "OriginShieldRegion",
5078
5156
  # },
5157
+ # origin_access_control_id: "string",
5079
5158
  # },
5080
5159
  # ],
5081
5160
  # },
@@ -7164,6 +7243,80 @@ module Aws::CloudFront
7164
7243
  include Aws::Structure
7165
7244
  end
7166
7245
 
7246
+ # @note When making an API call, you may pass GetOriginAccessControlConfigRequest
7247
+ # data as a hash:
7248
+ #
7249
+ # {
7250
+ # id: "string", # required
7251
+ # }
7252
+ #
7253
+ # @!attribute [rw] id
7254
+ # The unique identifier of the origin access control.
7255
+ # @return [String]
7256
+ #
7257
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControlConfigRequest AWS API Documentation
7258
+ #
7259
+ class GetOriginAccessControlConfigRequest < Struct.new(
7260
+ :id)
7261
+ SENSITIVE = []
7262
+ include Aws::Structure
7263
+ end
7264
+
7265
+ # @!attribute [rw] origin_access_control_config
7266
+ # Contains an origin access control.
7267
+ # @return [Types::OriginAccessControlConfig]
7268
+ #
7269
+ # @!attribute [rw] etag
7270
+ # The version identifier for the current version of the origin access
7271
+ # control.
7272
+ # @return [String]
7273
+ #
7274
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControlConfigResult AWS API Documentation
7275
+ #
7276
+ class GetOriginAccessControlConfigResult < Struct.new(
7277
+ :origin_access_control_config,
7278
+ :etag)
7279
+ SENSITIVE = []
7280
+ include Aws::Structure
7281
+ end
7282
+
7283
+ # @note When making an API call, you may pass GetOriginAccessControlRequest
7284
+ # data as a hash:
7285
+ #
7286
+ # {
7287
+ # id: "string", # required
7288
+ # }
7289
+ #
7290
+ # @!attribute [rw] id
7291
+ # The unique identifier of the origin access control.
7292
+ # @return [String]
7293
+ #
7294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControlRequest AWS API Documentation
7295
+ #
7296
+ class GetOriginAccessControlRequest < Struct.new(
7297
+ :id)
7298
+ SENSITIVE = []
7299
+ include Aws::Structure
7300
+ end
7301
+
7302
+ # @!attribute [rw] origin_access_control
7303
+ # Contains an origin access control.
7304
+ # @return [Types::OriginAccessControl]
7305
+ #
7306
+ # @!attribute [rw] etag
7307
+ # The version identifier for the current version of the origin access
7308
+ # control.
7309
+ # @return [String]
7310
+ #
7311
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/GetOriginAccessControlResult AWS API Documentation
7312
+ #
7313
+ class GetOriginAccessControlResult < Struct.new(
7314
+ :origin_access_control,
7315
+ :etag)
7316
+ SENSITIVE = []
7317
+ include Aws::Structure
7318
+ end
7319
+
7167
7320
  # @note When making an API call, you may pass GetOriginRequestPolicyConfigRequest
7168
7321
  # data as a hash:
7169
7322
  #
@@ -7579,6 +7732,20 @@ module Aws::CloudFront
7579
7732
  include Aws::Structure
7580
7733
  end
7581
7734
 
7735
+ # An origin cannot contain both an origin access control (OAC) and an
7736
+ # origin access identity (OAI).
7737
+ #
7738
+ # @!attribute [rw] message
7739
+ # @return [String]
7740
+ #
7741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/IllegalOriginAccessConfiguration AWS API Documentation
7742
+ #
7743
+ class IllegalOriginAccessConfiguration < Struct.new(
7744
+ :message)
7745
+ SENSITIVE = []
7746
+ include Aws::Structure
7747
+ end
7748
+
7582
7749
  # The update contains modifications that are not allowed.
7583
7750
  #
7584
7751
  # @!attribute [rw] message
@@ -7632,6 +7799,20 @@ module Aws::CloudFront
7632
7799
  include Aws::Structure
7633
7800
  end
7634
7801
 
7802
+ # An origin access control is associated with an origin whose domain
7803
+ # name is not supported.
7804
+ #
7805
+ # @!attribute [rw] message
7806
+ # @return [String]
7807
+ #
7808
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/InvalidDomainNameForOriginAccessControl AWS API Documentation
7809
+ #
7810
+ class InvalidDomainNameForOriginAccessControl < Struct.new(
7811
+ :message)
7812
+ SENSITIVE = []
7813
+ include Aws::Structure
7814
+ end
7815
+
7635
7816
  # An invalid error code was specified.
7636
7817
  #
7637
7818
  # @!attribute [rw] message
@@ -7766,6 +7947,19 @@ module Aws::CloudFront
7766
7947
  include Aws::Structure
7767
7948
  end
7768
7949
 
7950
+ # The origin access control is not valid.
7951
+ #
7952
+ # @!attribute [rw] message
7953
+ # @return [String]
7954
+ #
7955
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/InvalidOriginAccessControl AWS API Documentation
7956
+ #
7957
+ class InvalidOriginAccessControl < Struct.new(
7958
+ :message)
7959
+ SENSITIVE = []
7960
+ include Aws::Structure
7961
+ end
7962
+
7769
7963
  # The origin access identity is not valid or doesn't exist.
7770
7964
  #
7771
7965
  # @!attribute [rw] message
@@ -9156,6 +9350,48 @@ module Aws::CloudFront
9156
9350
  include Aws::Structure
9157
9351
  end
9158
9352
 
9353
+ # @note When making an API call, you may pass ListOriginAccessControlsRequest
9354
+ # data as a hash:
9355
+ #
9356
+ # {
9357
+ # marker: "string",
9358
+ # max_items: 1,
9359
+ # }
9360
+ #
9361
+ # @!attribute [rw] marker
9362
+ # Use this field when paginating results to indicate where to begin in
9363
+ # your list of origin access controls. The response includes the items
9364
+ # in the list that occur after the marker. To get the next page of the
9365
+ # list, set this field's value to the value of `NextMarker` from the
9366
+ # current page's response.
9367
+ # @return [String]
9368
+ #
9369
+ # @!attribute [rw] max_items
9370
+ # The maximum number of origin access controls that you want in the
9371
+ # response.
9372
+ # @return [Integer]
9373
+ #
9374
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginAccessControlsRequest AWS API Documentation
9375
+ #
9376
+ class ListOriginAccessControlsRequest < Struct.new(
9377
+ :marker,
9378
+ :max_items)
9379
+ SENSITIVE = []
9380
+ include Aws::Structure
9381
+ end
9382
+
9383
+ # @!attribute [rw] origin_access_control_list
9384
+ # A list of origin access controls.
9385
+ # @return [Types::OriginAccessControlList]
9386
+ #
9387
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ListOriginAccessControlsResult AWS API Documentation
9388
+ #
9389
+ class ListOriginAccessControlsResult < Struct.new(
9390
+ :origin_access_control_list)
9391
+ SENSITIVE = []
9392
+ include Aws::Structure
9393
+ end
9394
+
9159
9395
  # @note When making an API call, you may pass ListOriginRequestPoliciesRequest
9160
9396
  # data as a hash:
9161
9397
  #
@@ -9523,6 +9759,20 @@ module Aws::CloudFront
9523
9759
  include Aws::Structure
9524
9760
  end
9525
9761
 
9762
+ # A monitoring subscription already exists for the specified
9763
+ # distribution.
9764
+ #
9765
+ # @!attribute [rw] message
9766
+ # @return [String]
9767
+ #
9768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/MonitoringSubscriptionAlreadyExists AWS API Documentation
9769
+ #
9770
+ class MonitoringSubscriptionAlreadyExists < Struct.new(
9771
+ :message)
9772
+ SENSITIVE = []
9773
+ include Aws::Structure
9774
+ end
9775
+
9526
9776
  # The cache policy does not exist.
9527
9777
  #
9528
9778
  # @!attribute [rw] message
@@ -9614,6 +9864,20 @@ module Aws::CloudFront
9614
9864
  include Aws::Structure
9615
9865
  end
9616
9866
 
9867
+ # A monitoring subscription does not exist for the specified
9868
+ # distribution.
9869
+ #
9870
+ # @!attribute [rw] message
9871
+ # @return [String]
9872
+ #
9873
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchMonitoringSubscription AWS API Documentation
9874
+ #
9875
+ class NoSuchMonitoringSubscription < Struct.new(
9876
+ :message)
9877
+ SENSITIVE = []
9878
+ include Aws::Structure
9879
+ end
9880
+
9617
9881
  # No origin exists with the specified `Origin Id`.
9618
9882
  #
9619
9883
  # @!attribute [rw] message
@@ -9627,6 +9891,19 @@ module Aws::CloudFront
9627
9891
  include Aws::Structure
9628
9892
  end
9629
9893
 
9894
+ # The origin access control does not exist.
9895
+ #
9896
+ # @!attribute [rw] message
9897
+ # @return [String]
9898
+ #
9899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/NoSuchOriginAccessControl AWS API Documentation
9900
+ #
9901
+ class NoSuchOriginAccessControl < Struct.new(
9902
+ :message)
9903
+ SENSITIVE = []
9904
+ include Aws::Structure
9905
+ end
9906
+
9630
9907
  # The origin request policy does not exist.
9631
9908
  #
9632
9909
  # @!attribute [rw] message
@@ -9772,6 +10049,7 @@ module Aws::CloudFront
9772
10049
  # enabled: false, # required
9773
10050
  # origin_shield_region: "OriginShieldRegion",
9774
10051
  # },
10052
+ # origin_access_control_id: "string",
9775
10053
  # }
9776
10054
  #
9777
10055
  # @!attribute [rw] id
@@ -9878,6 +10156,17 @@ module Aws::CloudFront
9878
10156
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
9879
10157
  # @return [Types::OriginShield]
9880
10158
  #
10159
+ # @!attribute [rw] origin_access_control_id
10160
+ # The unique identifier of an origin access control for this origin.
10161
+ #
10162
+ # For more information, see [Restricting access to an Amazon S3
10163
+ # origin][1] in the *Amazon CloudFront Developer Guide*.
10164
+ #
10165
+ #
10166
+ #
10167
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html
10168
+ # @return [String]
10169
+ #
9881
10170
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/Origin AWS API Documentation
9882
10171
  #
9883
10172
  class Origin < Struct.new(
@@ -9889,7 +10178,226 @@ module Aws::CloudFront
9889
10178
  :custom_origin_config,
9890
10179
  :connection_attempts,
9891
10180
  :connection_timeout,
9892
- :origin_shield)
10181
+ :origin_shield,
10182
+ :origin_access_control_id)
10183
+ SENSITIVE = []
10184
+ include Aws::Structure
10185
+ end
10186
+
10187
+ # A CloudFront origin access control.
10188
+ #
10189
+ # @!attribute [rw] id
10190
+ # The unique identifier of the origin access control.
10191
+ # @return [String]
10192
+ #
10193
+ # @!attribute [rw] origin_access_control_config
10194
+ # The origin access control.
10195
+ # @return [Types::OriginAccessControlConfig]
10196
+ #
10197
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControl AWS API Documentation
10198
+ #
10199
+ class OriginAccessControl < Struct.new(
10200
+ :id,
10201
+ :origin_access_control_config)
10202
+ SENSITIVE = []
10203
+ include Aws::Structure
10204
+ end
10205
+
10206
+ # An origin access control with the specified parameters already exists.
10207
+ #
10208
+ # @!attribute [rw] message
10209
+ # @return [String]
10210
+ #
10211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControlAlreadyExists AWS API Documentation
10212
+ #
10213
+ class OriginAccessControlAlreadyExists < Struct.new(
10214
+ :message)
10215
+ SENSITIVE = []
10216
+ include Aws::Structure
10217
+ end
10218
+
10219
+ # A CloudFront origin access control.
10220
+ #
10221
+ # @note When making an API call, you may pass OriginAccessControlConfig
10222
+ # data as a hash:
10223
+ #
10224
+ # {
10225
+ # name: "string", # required
10226
+ # description: "string", # required
10227
+ # signing_protocol: "sigv4", # required, accepts sigv4
10228
+ # signing_behavior: "never", # required, accepts never, always, no-override
10229
+ # origin_access_control_origin_type: "s3", # required, accepts s3
10230
+ # }
10231
+ #
10232
+ # @!attribute [rw] name
10233
+ # A name to identify the origin access control.
10234
+ # @return [String]
10235
+ #
10236
+ # @!attribute [rw] description
10237
+ # A description of the origin access control.
10238
+ # @return [String]
10239
+ #
10240
+ # @!attribute [rw] signing_protocol
10241
+ # The signing protocol of the origin access control, which determines
10242
+ # how CloudFront signs (authenticates) requests. The only valid value
10243
+ # is `sigv4`.
10244
+ # @return [String]
10245
+ #
10246
+ # @!attribute [rw] signing_behavior
10247
+ # Specifies which requests CloudFront signs (adds authentication
10248
+ # information to). Specify `always` for the most common use case. For
10249
+ # more information, see [origin access control advanced settings][1]
10250
+ # in the *Amazon CloudFront Developer Guide*.
10251
+ #
10252
+ # This field can have one of the following values:
10253
+ #
10254
+ # * `always` – CloudFront signs all origin requests, overwriting the
10255
+ # `Authorization` header from the viewer request if one exists.
10256
+ #
10257
+ # * `never` – CloudFront doesn't sign any origin requests. This value
10258
+ # turns off origin access control for all origins in all
10259
+ # distributions that use this origin access control.
10260
+ #
10261
+ # * `no-override` – If the viewer request doesn't contain the
10262
+ # `Authorization` header, then CloudFront signs the origin request.
10263
+ # If the viewer request contains the `Authorization` header, then
10264
+ # CloudFront doesn't sign the origin request and instead passes
10265
+ # along the `Authorization` header from the viewer request.
10266
+ # **WARNING: To pass along the `Authorization` header from the
10267
+ # viewer request, you *must* add the `Authorization` header to an
10268
+ # [origin request policy][2] for all cache behaviors that use
10269
+ # origins associated with this origin access control.**
10270
+ #
10271
+ #
10272
+ #
10273
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html#oac-advanced-settings
10274
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html
10275
+ # @return [String]
10276
+ #
10277
+ # @!attribute [rw] origin_access_control_origin_type
10278
+ # The type of origin that this origin access control is for. The only
10279
+ # valid value is `s3`.
10280
+ # @return [String]
10281
+ #
10282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControlConfig AWS API Documentation
10283
+ #
10284
+ class OriginAccessControlConfig < Struct.new(
10285
+ :name,
10286
+ :description,
10287
+ :signing_protocol,
10288
+ :signing_behavior,
10289
+ :origin_access_control_origin_type)
10290
+ SENSITIVE = []
10291
+ include Aws::Structure
10292
+ end
10293
+
10294
+ # Cannot delete the origin access control because it's in use by one or
10295
+ # more distributions.
10296
+ #
10297
+ # @!attribute [rw] message
10298
+ # @return [String]
10299
+ #
10300
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControlInUse AWS API Documentation
10301
+ #
10302
+ class OriginAccessControlInUse < Struct.new(
10303
+ :message)
10304
+ SENSITIVE = []
10305
+ include Aws::Structure
10306
+ end
10307
+
10308
+ # A list of CloudFront origin access controls.
10309
+ #
10310
+ # @!attribute [rw] marker
10311
+ # The value of the `Marker` field that was provided in the request.
10312
+ # @return [String]
10313
+ #
10314
+ # @!attribute [rw] next_marker
10315
+ # If there are more items in the list than are in this response, this
10316
+ # element is present. It contains the value to use in the `Marker`
10317
+ # field of another request to continue listing origin access controls.
10318
+ # @return [String]
10319
+ #
10320
+ # @!attribute [rw] max_items
10321
+ # The maximum number of origin access controls requested.
10322
+ # @return [Integer]
10323
+ #
10324
+ # @!attribute [rw] is_truncated
10325
+ # If there are more items in the list than are in this response, this
10326
+ # value is `true`.
10327
+ # @return [Boolean]
10328
+ #
10329
+ # @!attribute [rw] quantity
10330
+ # The number of origin access controls returned in the response.
10331
+ # @return [Integer]
10332
+ #
10333
+ # @!attribute [rw] items
10334
+ # Contains the origin access controls in the list.
10335
+ # @return [Array<Types::OriginAccessControlSummary>]
10336
+ #
10337
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControlList AWS API Documentation
10338
+ #
10339
+ class OriginAccessControlList < Struct.new(
10340
+ :marker,
10341
+ :next_marker,
10342
+ :max_items,
10343
+ :is_truncated,
10344
+ :quantity,
10345
+ :items)
10346
+ SENSITIVE = []
10347
+ include Aws::Structure
10348
+ end
10349
+
10350
+ # A CloudFront origin access control.
10351
+ #
10352
+ # @!attribute [rw] id
10353
+ # The unique identifier of the origin access control.
10354
+ # @return [String]
10355
+ #
10356
+ # @!attribute [rw] description
10357
+ # A description of the origin access control.
10358
+ # @return [String]
10359
+ #
10360
+ # @!attribute [rw] name
10361
+ # A unique name that identifies the origin access control.
10362
+ # @return [String]
10363
+ #
10364
+ # @!attribute [rw] signing_protocol
10365
+ # The signing protocol of the origin access control. The signing
10366
+ # protocol determines how CloudFront signs (authenticates) requests.
10367
+ # The only valid value is `sigv4`.
10368
+ # @return [String]
10369
+ #
10370
+ # @!attribute [rw] signing_behavior
10371
+ # A value that specifies which requests CloudFront signs (adds
10372
+ # authentication information to). This field can have one of the
10373
+ # following values:
10374
+ #
10375
+ # * `never` – CloudFront doesn't sign any origin requests.
10376
+ #
10377
+ # * `always` – CloudFront signs all origin requests, overwriting the
10378
+ # `Authorization` header from the viewer request if necessary.
10379
+ #
10380
+ # * `no-override` – If the viewer request doesn't contain the
10381
+ # `Authorization` header, CloudFront signs the origin request. If
10382
+ # the viewer request contains the `Authorization` header, CloudFront
10383
+ # doesn't sign the origin request, but instead passes along the
10384
+ # `Authorization` header that it received in the viewer request.
10385
+ # @return [String]
10386
+ #
10387
+ # @!attribute [rw] origin_access_control_origin_type
10388
+ # The type of origin that this origin access control is for. The only
10389
+ # valid value is `s3`.
10390
+ # @return [String]
10391
+ #
10392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/OriginAccessControlSummary AWS API Documentation
10393
+ #
10394
+ class OriginAccessControlSummary < Struct.new(
10395
+ :id,
10396
+ :description,
10397
+ :name,
10398
+ :signing_protocol,
10399
+ :signing_behavior,
10400
+ :origin_access_control_origin_type)
9893
10401
  SENSITIVE = []
9894
10402
  include Aws::Structure
9895
10403
  end
@@ -10588,6 +11096,7 @@ module Aws::CloudFront
10588
11096
  # enabled: false, # required
10589
11097
  # origin_shield_region: "OriginShieldRegion",
10590
11098
  # },
11099
+ # origin_access_control_id: "string",
10591
11100
  # },
10592
11101
  # ],
10593
11102
  # }
@@ -11676,6 +12185,10 @@ module Aws::CloudFront
11676
12185
  # access_control_max_age_sec: 1, # required
11677
12186
  # },
11678
12187
  # },
12188
+ # server_timing_headers_config: {
12189
+ # enabled: false, # required
12190
+ # sampling_rate: 1.0,
12191
+ # },
11679
12192
  # custom_headers_config: {
11680
12193
  # quantity: 1, # required
11681
12194
  # items: [
@@ -11686,10 +12199,6 @@ module Aws::CloudFront
11686
12199
  # },
11687
12200
  # ],
11688
12201
  # },
11689
- # server_timing_headers_config: {
11690
- # enabled: false, # required
11691
- # sampling_rate: 1.0,
11692
- # },
11693
12202
  # }
11694
12203
  #
11695
12204
  # @!attribute [rw] comment
@@ -11714,15 +12223,15 @@ module Aws::CloudFront
11714
12223
  # A configuration for a set of security-related HTTP response headers.
11715
12224
  # @return [Types::ResponseHeadersPolicySecurityHeadersConfig]
11716
12225
  #
11717
- # @!attribute [rw] custom_headers_config
11718
- # A configuration for a set of custom HTTP response headers.
11719
- # @return [Types::ResponseHeadersPolicyCustomHeadersConfig]
11720
- #
11721
12226
  # @!attribute [rw] server_timing_headers_config
11722
12227
  # A configuration for enabling the `Server-Timing` header in HTTP
11723
12228
  # responses sent from CloudFront.
11724
12229
  # @return [Types::ResponseHeadersPolicyServerTimingHeadersConfig]
11725
12230
  #
12231
+ # @!attribute [rw] custom_headers_config
12232
+ # A configuration for a set of custom HTTP response headers.
12233
+ # @return [Types::ResponseHeadersPolicyCustomHeadersConfig]
12234
+ #
11726
12235
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ResponseHeadersPolicyConfig AWS API Documentation
11727
12236
  #
11728
12237
  class ResponseHeadersPolicyConfig < Struct.new(
@@ -11730,8 +12239,8 @@ module Aws::CloudFront
11730
12239
  :name,
11731
12240
  :cors_config,
11732
12241
  :security_headers_config,
11733
- :custom_headers_config,
11734
- :server_timing_headers_config)
12242
+ :server_timing_headers_config,
12243
+ :custom_headers_config)
11735
12244
  SENSITIVE = []
11736
12245
  include Aws::Structure
11737
12246
  end
@@ -13590,6 +14099,27 @@ module Aws::CloudFront
13590
14099
  include Aws::Structure
13591
14100
  end
13592
14101
 
14102
+ # The maximum number of distributions have been associated with the
14103
+ # specified origin access control.
14104
+ #
14105
+ # For more information, see [Quotas][1] (formerly known as limits) in
14106
+ # the *Amazon CloudFront Developer Guide*.
14107
+ #
14108
+ #
14109
+ #
14110
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
14111
+ #
14112
+ # @!attribute [rw] message
14113
+ # @return [String]
14114
+ #
14115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyDistributionsAssociatedToOriginAccessControl AWS API Documentation
14116
+ #
14117
+ class TooManyDistributionsAssociatedToOriginAccessControl < Struct.new(
14118
+ :message)
14119
+ SENSITIVE = []
14120
+ include Aws::Structure
14121
+ end
14122
+
13593
14123
  # The maximum number of distributions have been associated with the
13594
14124
  # specified origin request policy. For more information, see [Quotas][1]
13595
14125
  # (formerly known as limits) in the *Amazon CloudFront Developer Guide*.
@@ -13919,6 +14449,27 @@ module Aws::CloudFront
13919
14449
  include Aws::Structure
13920
14450
  end
13921
14451
 
14452
+ # The number of origin access controls in your Amazon Web Services
14453
+ # account exceeds the maximum allowed.
14454
+ #
14455
+ # For more information, see [Quotas][1] (formerly known as limits) in
14456
+ # the *Amazon CloudFront Developer Guide*.
14457
+ #
14458
+ #
14459
+ #
14460
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
14461
+ #
14462
+ # @!attribute [rw] message
14463
+ # @return [String]
14464
+ #
14465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooManyOriginAccessControls AWS API Documentation
14466
+ #
14467
+ class TooManyOriginAccessControls < Struct.new(
14468
+ :message)
14469
+ SENSITIVE = []
14470
+ include Aws::Structure
14471
+ end
14472
+
13922
14473
  # Your request contains too many origin custom headers.
13923
14474
  #
13924
14475
  # @!attribute [rw] message
@@ -14474,6 +15025,7 @@ module Aws::CloudFront
14474
15025
  # enabled: false, # required
14475
15026
  # origin_shield_region: "OriginShieldRegion",
14476
15027
  # },
15028
+ # origin_access_control_id: "string",
14477
15029
  # },
14478
15030
  # ],
14479
15031
  # },
@@ -14993,6 +15545,63 @@ module Aws::CloudFront
14993
15545
  include Aws::Structure
14994
15546
  end
14995
15547
 
15548
+ # @note When making an API call, you may pass UpdateOriginAccessControlRequest
15549
+ # data as a hash:
15550
+ #
15551
+ # {
15552
+ # origin_access_control_config: { # required
15553
+ # name: "string", # required
15554
+ # description: "string", # required
15555
+ # signing_protocol: "sigv4", # required, accepts sigv4
15556
+ # signing_behavior: "never", # required, accepts never, always, no-override
15557
+ # origin_access_control_origin_type: "s3", # required, accepts s3
15558
+ # },
15559
+ # id: "string", # required
15560
+ # if_match: "string",
15561
+ # }
15562
+ #
15563
+ # @!attribute [rw] origin_access_control_config
15564
+ # An origin access control.
15565
+ # @return [Types::OriginAccessControlConfig]
15566
+ #
15567
+ # @!attribute [rw] id
15568
+ # The unique identifier of the origin access control that you are
15569
+ # updating.
15570
+ # @return [String]
15571
+ #
15572
+ # @!attribute [rw] if_match
15573
+ # The current version (`ETag` value) of the origin access control that
15574
+ # you are updating.
15575
+ # @return [String]
15576
+ #
15577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginAccessControlRequest AWS API Documentation
15578
+ #
15579
+ class UpdateOriginAccessControlRequest < Struct.new(
15580
+ :origin_access_control_config,
15581
+ :id,
15582
+ :if_match)
15583
+ SENSITIVE = []
15584
+ include Aws::Structure
15585
+ end
15586
+
15587
+ # @!attribute [rw] origin_access_control
15588
+ # The origin access control after it has been updated.
15589
+ # @return [Types::OriginAccessControl]
15590
+ #
15591
+ # @!attribute [rw] etag
15592
+ # The new version of the origin access control after it has been
15593
+ # updated.
15594
+ # @return [String]
15595
+ #
15596
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/UpdateOriginAccessControlResult AWS API Documentation
15597
+ #
15598
+ class UpdateOriginAccessControlResult < Struct.new(
15599
+ :origin_access_control,
15600
+ :etag)
15601
+ SENSITIVE = []
15602
+ include Aws::Structure
15603
+ end
15604
+
14996
15605
  # @note When making an API call, you may pass UpdateOriginRequestPolicyRequest
14997
15606
  # data as a hash:
14998
15607
  #
@@ -15255,6 +15864,10 @@ module Aws::CloudFront
15255
15864
  # access_control_max_age_sec: 1, # required
15256
15865
  # },
15257
15866
  # },
15867
+ # server_timing_headers_config: {
15868
+ # enabled: false, # required
15869
+ # sampling_rate: 1.0,
15870
+ # },
15258
15871
  # custom_headers_config: {
15259
15872
  # quantity: 1, # required
15260
15873
  # items: [
@@ -15265,10 +15878,6 @@ module Aws::CloudFront
15265
15878
  # },
15266
15879
  # ],
15267
15880
  # },
15268
- # server_timing_headers_config: {
15269
- # enabled: false, # required
15270
- # sampling_rate: 1.0,
15271
- # },
15272
15881
  # },
15273
15882
  # id: "string", # required
15274
15883
  # if_match: "string",