aws-sdk-cloudfront 1.64.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
  # },
@@ -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",