aws-sdk-cloudfront 1.66.0 → 1.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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",