aws-sdk-cloudfront 1.64.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
  # },
@@ -2168,7 +2169,7 @@ module Aws::CloudFront
2168
2169
  # },
2169
2170
  # },
2170
2171
  # web_acl_id: "string",
2171
- # http_version: "http1.1", # accepts http1.1, http2
2172
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
2172
2173
  # is_ipv6_enabled: false,
2173
2174
  # },
2174
2175
  # }
@@ -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
  # },
@@ -2466,7 +2468,7 @@ module Aws::CloudFront
2466
2468
  # },
2467
2469
  # },
2468
2470
  # web_acl_id: "string",
2469
- # http_version: "http1.1", # accepts http1.1, http2
2471
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
2470
2472
  # is_ipv6_enabled: false,
2471
2473
  # },
2472
2474
  # tags: { # required
@@ -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
  # },
@@ -4766,7 +4844,7 @@ module Aws::CloudFront
4766
4844
  # },
4767
4845
  # },
4768
4846
  # web_acl_id: "string",
4769
- # http_version: "http1.1", # accepts http1.1, http2
4847
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
4770
4848
  # is_ipv6_enabled: false,
4771
4849
  # }
4772
4850
  #
@@ -4936,18 +5014,26 @@ module Aws::CloudFront
4936
5014
  # @return [String]
4937
5015
  #
4938
5016
  # @!attribute [rw] http_version
4939
- # (Optional) Specify the maximum HTTP version that you want viewers to
4940
- # use to communicate with CloudFront. The default value for new web
4941
- # distributions is http2. Viewers that don't support HTTP/2
5017
+ # (Optional) Specify the maximum HTTP version(s) that you want viewers
5018
+ # to use to communicate with CloudFront. The default value for new web
5019
+ # distributions is `http2`. Viewers that don't support HTTP/2
4942
5020
  # automatically use an earlier HTTP version.
4943
5021
  #
4944
- # For viewers and CloudFront to use HTTP/2, viewers must support TLS
4945
- # 1.2 or later, and must support Server Name Identification (SNI).
5022
+ # For viewers and CloudFront to use HTTP/2, viewers must support
5023
+ # TLSv1.2 or later, and must support Server Name Indication (SNI).
5024
+ #
5025
+ # For viewers and CloudFront to use HTTP/3, viewers must support
5026
+ # TLSv1.3 and Server Name Indication (SNI). CloudFront supports HTTP/3
5027
+ # connection migration to allow the viewer to switch networks without
5028
+ # losing connection. For more information about connection migration,
5029
+ # see [Connection Migration][1] at RFC 9000. For more information
5030
+ # about supported TLSv1.3 ciphers, see [Supported protocols and
5031
+ # ciphers between viewers and CloudFront][2].
5032
+ #
5033
+ #
4946
5034
  #
4947
- # In general, configuring CloudFront to communicate with viewers using
4948
- # HTTP/2 reduces latency. You can improve performance by optimizing
4949
- # for HTTP/2. For more information, do an Internet search for "http/2
4950
- # optimization."
5035
+ # [1]: https://www.rfc-editor.org/rfc/rfc9000.html#name-connection-migration
5036
+ # [2]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/secure-connections-supported-viewer-protocols-ciphers.html
4951
5037
  # @return [String]
4952
5038
  #
4953
5039
  # @!attribute [rw] is_ipv6_enabled
@@ -5068,6 +5154,7 @@ module Aws::CloudFront
5068
5154
  # enabled: false, # required
5069
5155
  # origin_shield_region: "OriginShieldRegion",
5070
5156
  # },
5157
+ # origin_access_control_id: "string",
5071
5158
  # },
5072
5159
  # ],
5073
5160
  # },
@@ -5274,7 +5361,7 @@ module Aws::CloudFront
5274
5361
  # },
5275
5362
  # },
5276
5363
  # web_acl_id: "string",
5277
- # http_version: "http1.1", # accepts http1.1, http2
5364
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
5278
5365
  # is_ipv6_enabled: false,
5279
5366
  # },
5280
5367
  # tags: { # required
@@ -7156,6 +7243,80 @@ module Aws::CloudFront
7156
7243
  include Aws::Structure
7157
7244
  end
7158
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
+
7159
7320
  # @note When making an API call, you may pass GetOriginRequestPolicyConfigRequest
7160
7321
  # data as a hash:
7161
7322
  #
@@ -7571,6 +7732,20 @@ module Aws::CloudFront
7571
7732
  include Aws::Structure
7572
7733
  end
7573
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
+
7574
7749
  # The update contains modifications that are not allowed.
7575
7750
  #
7576
7751
  # @!attribute [rw] message
@@ -7624,6 +7799,20 @@ module Aws::CloudFront
7624
7799
  include Aws::Structure
7625
7800
  end
7626
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
+
7627
7816
  # An invalid error code was specified.
7628
7817
  #
7629
7818
  # @!attribute [rw] message
@@ -7758,6 +7947,19 @@ module Aws::CloudFront
7758
7947
  include Aws::Structure
7759
7948
  end
7760
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
+
7761
7963
  # The origin access identity is not valid or doesn't exist.
7762
7964
  #
7763
7965
  # @!attribute [rw] message
@@ -9148,6 +9350,48 @@ module Aws::CloudFront
9148
9350
  include Aws::Structure
9149
9351
  end
9150
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
+
9151
9395
  # @note When making an API call, you may pass ListOriginRequestPoliciesRequest
9152
9396
  # data as a hash:
9153
9397
  #
@@ -9515,6 +9759,20 @@ module Aws::CloudFront
9515
9759
  include Aws::Structure
9516
9760
  end
9517
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
+
9518
9776
  # The cache policy does not exist.
9519
9777
  #
9520
9778
  # @!attribute [rw] message
@@ -9606,6 +9864,20 @@ module Aws::CloudFront
9606
9864
  include Aws::Structure
9607
9865
  end
9608
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
+
9609
9881
  # No origin exists with the specified `Origin Id`.
9610
9882
  #
9611
9883
  # @!attribute [rw] message
@@ -9619,6 +9891,19 @@ module Aws::CloudFront
9619
9891
  include Aws::Structure
9620
9892
  end
9621
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
+
9622
9907
  # The origin request policy does not exist.
9623
9908
  #
9624
9909
  # @!attribute [rw] message
@@ -9764,6 +10049,7 @@ module Aws::CloudFront
9764
10049
  # enabled: false, # required
9765
10050
  # origin_shield_region: "OriginShieldRegion",
9766
10051
  # },
10052
+ # origin_access_control_id: "string",
9767
10053
  # }
9768
10054
  #
9769
10055
  # @!attribute [rw] id
@@ -9870,6 +10156,17 @@ module Aws::CloudFront
9870
10156
  # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html
9871
10157
  # @return [Types::OriginShield]
9872
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
+ #
9873
10170
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/Origin AWS API Documentation
9874
10171
  #
9875
10172
  class Origin < Struct.new(
@@ -9881,7 +10178,226 @@ module Aws::CloudFront
9881
10178
  :custom_origin_config,
9882
10179
  :connection_attempts,
9883
10180
  :connection_timeout,
9884
- :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)
9885
10401
  SENSITIVE = []
9886
10402
  include Aws::Structure
9887
10403
  end
@@ -10580,6 +11096,7 @@ module Aws::CloudFront
10580
11096
  # enabled: false, # required
10581
11097
  # origin_shield_region: "OriginShieldRegion",
10582
11098
  # },
11099
+ # origin_access_control_id: "string",
10583
11100
  # },
10584
11101
  # ],
10585
11102
  # }
@@ -11668,6 +12185,10 @@ module Aws::CloudFront
11668
12185
  # access_control_max_age_sec: 1, # required
11669
12186
  # },
11670
12187
  # },
12188
+ # server_timing_headers_config: {
12189
+ # enabled: false, # required
12190
+ # sampling_rate: 1.0,
12191
+ # },
11671
12192
  # custom_headers_config: {
11672
12193
  # quantity: 1, # required
11673
12194
  # items: [
@@ -11678,10 +12199,6 @@ module Aws::CloudFront
11678
12199
  # },
11679
12200
  # ],
11680
12201
  # },
11681
- # server_timing_headers_config: {
11682
- # enabled: false, # required
11683
- # sampling_rate: 1.0,
11684
- # },
11685
12202
  # }
11686
12203
  #
11687
12204
  # @!attribute [rw] comment
@@ -11706,15 +12223,15 @@ module Aws::CloudFront
11706
12223
  # A configuration for a set of security-related HTTP response headers.
11707
12224
  # @return [Types::ResponseHeadersPolicySecurityHeadersConfig]
11708
12225
  #
11709
- # @!attribute [rw] custom_headers_config
11710
- # A configuration for a set of custom HTTP response headers.
11711
- # @return [Types::ResponseHeadersPolicyCustomHeadersConfig]
11712
- #
11713
12226
  # @!attribute [rw] server_timing_headers_config
11714
12227
  # A configuration for enabling the `Server-Timing` header in HTTP
11715
12228
  # responses sent from CloudFront.
11716
12229
  # @return [Types::ResponseHeadersPolicyServerTimingHeadersConfig]
11717
12230
  #
12231
+ # @!attribute [rw] custom_headers_config
12232
+ # A configuration for a set of custom HTTP response headers.
12233
+ # @return [Types::ResponseHeadersPolicyCustomHeadersConfig]
12234
+ #
11718
12235
  # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/ResponseHeadersPolicyConfig AWS API Documentation
11719
12236
  #
11720
12237
  class ResponseHeadersPolicyConfig < Struct.new(
@@ -11722,8 +12239,8 @@ module Aws::CloudFront
11722
12239
  :name,
11723
12240
  :cors_config,
11724
12241
  :security_headers_config,
11725
- :custom_headers_config,
11726
- :server_timing_headers_config)
12242
+ :server_timing_headers_config,
12243
+ :custom_headers_config)
11727
12244
  SENSITIVE = []
11728
12245
  include Aws::Structure
11729
12246
  end
@@ -13350,6 +13867,27 @@ module Aws::CloudFront
13350
13867
  include Aws::Structure
13351
13868
  end
13352
13869
 
13870
+ # The length of the `Content-Security-Policy` header value in the
13871
+ # response headers policy exceeds the maximum.
13872
+ #
13873
+ # For more information, see [Quotas][1] (formerly known as limits) in
13874
+ # the *Amazon CloudFront Developer Guide*.
13875
+ #
13876
+ #
13877
+ #
13878
+ # [1]: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cloudfront-limits.html
13879
+ #
13880
+ # @!attribute [rw] message
13881
+ # @return [String]
13882
+ #
13883
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cloudfront-2020-05-31/TooLongCSPInResponseHeadersPolicy AWS API Documentation
13884
+ #
13885
+ class TooLongCSPInResponseHeadersPolicy < Struct.new(
13886
+ :message)
13887
+ SENSITIVE = []
13888
+ include Aws::Structure
13889
+ end
13890
+
13353
13891
  # You cannot create more cache behaviors for the distribution.
13354
13892
  #
13355
13893
  # @!attribute [rw] message
@@ -13561,6 +14099,27 @@ module Aws::CloudFront
13561
14099
  include Aws::Structure
13562
14100
  end
13563
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
+
13564
14123
  # The maximum number of distributions have been associated with the
13565
14124
  # specified origin request policy. For more information, see [Quotas][1]
13566
14125
  # (formerly known as limits) in the *Amazon CloudFront Developer Guide*.
@@ -13890,6 +14449,27 @@ module Aws::CloudFront
13890
14449
  include Aws::Structure
13891
14450
  end
13892
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
+
13893
14473
  # Your request contains too many origin custom headers.
13894
14474
  #
13895
14475
  # @!attribute [rw] message
@@ -14445,6 +15025,7 @@ module Aws::CloudFront
14445
15025
  # enabled: false, # required
14446
15026
  # origin_shield_region: "OriginShieldRegion",
14447
15027
  # },
15028
+ # origin_access_control_id: "string",
14448
15029
  # },
14449
15030
  # ],
14450
15031
  # },
@@ -14651,7 +15232,7 @@ module Aws::CloudFront
14651
15232
  # },
14652
15233
  # },
14653
15234
  # web_acl_id: "string",
14654
- # http_version: "http1.1", # accepts http1.1, http2
15235
+ # http_version: "http1.1", # accepts http1.1, http2, http3, http2and3
14655
15236
  # is_ipv6_enabled: false,
14656
15237
  # },
14657
15238
  # id: "string", # required
@@ -14964,6 +15545,63 @@ module Aws::CloudFront
14964
15545
  include Aws::Structure
14965
15546
  end
14966
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
+
14967
15605
  # @note When making an API call, you may pass UpdateOriginRequestPolicyRequest
14968
15606
  # data as a hash:
14969
15607
  #
@@ -15226,6 +15864,10 @@ module Aws::CloudFront
15226
15864
  # access_control_max_age_sec: 1, # required
15227
15865
  # },
15228
15866
  # },
15867
+ # server_timing_headers_config: {
15868
+ # enabled: false, # required
15869
+ # sampling_rate: 1.0,
15870
+ # },
15229
15871
  # custom_headers_config: {
15230
15872
  # quantity: 1, # required
15231
15873
  # items: [
@@ -15236,10 +15878,6 @@ module Aws::CloudFront
15236
15878
  # },
15237
15879
  # ],
15238
15880
  # },
15239
- # server_timing_headers_config: {
15240
- # enabled: false, # required
15241
- # sampling_rate: 1.0,
15242
- # },
15243
15881
  # },
15244
15882
  # id: "string", # required
15245
15883
  # if_match: "string",