aws-sdk-lightsail 1.35.0 → 1.36.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -348,6 +348,63 @@ module Aws::Lightsail
348
348
  include Aws::Structure
349
349
  end
350
350
 
351
+ # @note When making an API call, you may pass AttachCertificateToDistributionRequest
352
+ # data as a hash:
353
+ #
354
+ # {
355
+ # distribution_name: "ResourceName", # required
356
+ # certificate_name: "ResourceName", # required
357
+ # }
358
+ #
359
+ # @!attribute [rw] distribution_name
360
+ # The name of the distribution that the certificate will be attached
361
+ # to.
362
+ #
363
+ # Use the `GetDistributions` action to get a list of distribution
364
+ # names that you can specify.
365
+ # @return [String]
366
+ #
367
+ # @!attribute [rw] certificate_name
368
+ # The name of the certificate to attach to a distribution.
369
+ #
370
+ # Only certificates with a status of `ISSUED` can be attached to a
371
+ # distribution.
372
+ #
373
+ # Use the `GetCertificates` action to get a list of certificate names
374
+ # that you can specify.
375
+ #
376
+ # <note markdown="1"> This is the name of the certificate resource type and is used only
377
+ # to reference the certificate in other API actions. It can be
378
+ # different than the domain name of the certificate. For example, your
379
+ # certificate name might be `WordPress-Blog-Certificate` and the
380
+ # domain name of the certificate might be `example.com`.
381
+ #
382
+ # </note>
383
+ # @return [String]
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistributionRequest AWS API Documentation
386
+ #
387
+ class AttachCertificateToDistributionRequest < Struct.new(
388
+ :distribution_name,
389
+ :certificate_name)
390
+ SENSITIVE = []
391
+ include Aws::Structure
392
+ end
393
+
394
+ # @!attribute [rw] operation
395
+ # An object that describes the result of the action, such as the
396
+ # status of the request, the timestamp of the request, and the
397
+ # resources affected by the request.
398
+ # @return [Types::Operation]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/AttachCertificateToDistributionResult AWS API Documentation
401
+ #
402
+ class AttachCertificateToDistributionResult < Struct.new(
403
+ :operation)
404
+ SENSITIVE = []
405
+ include Aws::Structure
406
+ end
407
+
351
408
  # @note When making an API call, you may pass AttachDiskRequest
352
409
  # data as a hash:
353
410
  #
@@ -809,6 +866,492 @@ module Aws::Lightsail
809
866
  include Aws::Structure
810
867
  end
811
868
 
869
+ # Describes the default cache behavior of an Amazon Lightsail content
870
+ # delivery network (CDN) distribution.
871
+ #
872
+ # @note When making an API call, you may pass CacheBehavior
873
+ # data as a hash:
874
+ #
875
+ # {
876
+ # behavior: "dont-cache", # accepts dont-cache, cache
877
+ # }
878
+ #
879
+ # @!attribute [rw] behavior
880
+ # The cache behavior of the distribution.
881
+ #
882
+ # The following cache behaviors can be specified:
883
+ #
884
+ # * <b> <code>cache</code> </b> - This option is best for static
885
+ # sites. When specified, your distribution caches and serves your
886
+ # entire website as static content. This behavior is ideal for
887
+ # websites with static content that doesn't change depending on who
888
+ # views it, or for websites that don't use cookies, headers, or
889
+ # query strings to personalize content.
890
+ #
891
+ # * <b> <code>dont-cache</code> </b> - This option is best for sites
892
+ # that serve a mix of static and dynamic content. When specified,
893
+ # your distribution caches and serve only the content that is
894
+ # specified in the distribution's `CacheBehaviorPerPath` parameter.
895
+ # This behavior is ideal for websites or web applications that use
896
+ # cookies, headers, and query strings to personalize content for
897
+ # individual users.
898
+ # @return [String]
899
+ #
900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CacheBehavior AWS API Documentation
901
+ #
902
+ class CacheBehavior < Struct.new(
903
+ :behavior)
904
+ SENSITIVE = []
905
+ include Aws::Structure
906
+ end
907
+
908
+ # Describes the per-path cache behavior of an Amazon Lightsail content
909
+ # delivery network (CDN) distribution.
910
+ #
911
+ # A per-path cache behavior is used to override, or add an exception to,
912
+ # the default cache behavior of a distribution. For example, if the
913
+ # `cacheBehavior` is set to `cache`, then a per-path cache behavior can
914
+ # be used to specify a directory, file, or file type that your
915
+ # distribution will cache. Alternately, if the distribution's
916
+ # `cacheBehavior` is `dont-cache`, then a per-path cache behavior can be
917
+ # used to specify a directory, file, or file type that your distribution
918
+ # will not cache.
919
+ #
920
+ # if the cacheBehavior's behavior is set to 'cache', then
921
+ #
922
+ # @note When making an API call, you may pass CacheBehaviorPerPath
923
+ # data as a hash:
924
+ #
925
+ # {
926
+ # path: "string",
927
+ # behavior: "dont-cache", # accepts dont-cache, cache
928
+ # }
929
+ #
930
+ # @!attribute [rw] path
931
+ # The path to a directory or file to cached, or not cache. Use an
932
+ # asterisk symbol to specify wildcard directories
933
+ # (`path/to/assets/*`), and file types (`*.html, *jpg, *js`).
934
+ # Directories and file paths are case-sensitive.
935
+ #
936
+ # Examples:
937
+ #
938
+ # * Specify the following to cache all files in the document root of
939
+ # an Apache web server running on a Lightsail instance.
940
+ #
941
+ # `var/www/html/`
942
+ #
943
+ # * Specify the following file to cache only the index page in the
944
+ # document root of an Apache web server.
945
+ #
946
+ # `var/www/html/index.html`
947
+ #
948
+ # * Specify the following to cache only the .html files in the
949
+ # document root of an Apache web server.
950
+ #
951
+ # `var/www/html/*.html`
952
+ #
953
+ # * Specify the following to cache only the .jpg, .png, and .gif files
954
+ # in the images sub-directory of the document root of an Apache web
955
+ # server.
956
+ #
957
+ # `var/www/html/images/*.jpg`
958
+ #
959
+ # `var/www/html/images/*.png`
960
+ #
961
+ # `var/www/html/images/*.gif`
962
+ #
963
+ # Specify the following to cache all files in the images
964
+ # sub-directory of the document root of an Apache web server.
965
+ #
966
+ # `var/www/html/images/`
967
+ # @return [String]
968
+ #
969
+ # @!attribute [rw] behavior
970
+ # The cache behavior for the specified path.
971
+ #
972
+ # You can specify one of the following per-path cache behaviors:
973
+ #
974
+ # * <b> <code>cache</code> </b> - This behavior caches the specified
975
+ # path.
976
+ #
977
+ # * <b> <code>dont-cache</code> </b> - This behavior doesn't cache
978
+ # the specified path.
979
+ # @return [String]
980
+ #
981
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CacheBehaviorPerPath AWS API Documentation
982
+ #
983
+ class CacheBehaviorPerPath < Struct.new(
984
+ :path,
985
+ :behavior)
986
+ SENSITIVE = []
987
+ include Aws::Structure
988
+ end
989
+
990
+ # Describes the cache settings of an Amazon Lightsail content delivery
991
+ # network (CDN) distribution.
992
+ #
993
+ # These settings apply only to your distribution's `cacheBehaviors`
994
+ # (including the `defaultCacheBehavior`) that have a `behavior` of
995
+ # `cache`.
996
+ #
997
+ # @note When making an API call, you may pass CacheSettings
998
+ # data as a hash:
999
+ #
1000
+ # {
1001
+ # default_ttl: 1,
1002
+ # minimum_ttl: 1,
1003
+ # maximum_ttl: 1,
1004
+ # allowed_http_methods: "NonEmptyString",
1005
+ # cached_http_methods: "NonEmptyString",
1006
+ # forwarded_cookies: {
1007
+ # option: "none", # accepts none, allow-list, all
1008
+ # cookies_allow_list: ["string"],
1009
+ # },
1010
+ # forwarded_headers: {
1011
+ # option: "none", # accepts none, allow-list, all
1012
+ # headers_allow_list: ["Accept"], # accepts Accept, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Language, Authorization, CloudFront-Forwarded-Proto, CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer, CloudFront-Is-Tablet-Viewer, CloudFront-Viewer-Country, Host, Origin, Referer
1013
+ # },
1014
+ # forwarded_query_strings: {
1015
+ # option: false,
1016
+ # query_strings_allow_list: ["string"],
1017
+ # },
1018
+ # }
1019
+ #
1020
+ # @!attribute [rw] default_ttl
1021
+ # The default amount of time that objects stay in the distribution's
1022
+ # cache before the distribution forwards another request to the origin
1023
+ # to determine whether the content has been updated.
1024
+ #
1025
+ # <note markdown="1"> The value specified applies only when the origin does not add HTTP
1026
+ # headers such as `Cache-Control max-age`, `Cache-Control s-maxage`,
1027
+ # and `Expires` to objects.
1028
+ #
1029
+ # </note>
1030
+ # @return [Integer]
1031
+ #
1032
+ # @!attribute [rw] minimum_ttl
1033
+ # The minimum amount of time that objects stay in the distribution's
1034
+ # cache before the distribution forwards another request to the origin
1035
+ # to determine whether the object has been updated.
1036
+ #
1037
+ # A value of `0` must be specified for `minimumTTL` if the
1038
+ # distribution is configured to forward all headers to the origin.
1039
+ # @return [Integer]
1040
+ #
1041
+ # @!attribute [rw] maximum_ttl
1042
+ # The maximum amount of time that objects stay in the distribution's
1043
+ # cache before the distribution forwards another request to the origin
1044
+ # to determine whether the object has been updated.
1045
+ #
1046
+ # The value specified applies only when the origin adds HTTP headers
1047
+ # such as `Cache-Control max-age`, `Cache-Control s-maxage`, and
1048
+ # `Expires` to objects.
1049
+ # @return [Integer]
1050
+ #
1051
+ # @!attribute [rw] allowed_http_methods
1052
+ # The HTTP methods that are processed and forwarded to the
1053
+ # distribution's origin.
1054
+ #
1055
+ # You can specify the following options:
1056
+ #
1057
+ # * `GET,HEAD` - The distribution forwards the `GET` and `HEAD`
1058
+ # methods.
1059
+ #
1060
+ # * `GET,HEAD,OPTIONS` - The distribution forwards the `GET`, `HEAD`,
1061
+ # and `OPTIONS` methods.
1062
+ #
1063
+ # * `GET,HEAD,OPTIONS,PUT,PATCH,POST,DELETE` - The distribution
1064
+ # forwards the `GET`, `HEAD`, `OPTIONS`, `PUT`, `PATCH`, `POST`, and
1065
+ # `DELETE` methods.
1066
+ #
1067
+ # If you specify the third option, you might need to restrict access
1068
+ # to your distribution's origin so users can't perform operations
1069
+ # that you don't want them to. For example, you might not want users
1070
+ # to have permission to delete objects from your origin.
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] cached_http_methods
1074
+ # The HTTP method responses that are cached by your distribution.
1075
+ #
1076
+ # You can specify the following options:
1077
+ #
1078
+ # * `GET,HEAD` - The distribution caches responses to the `GET` and
1079
+ # `HEAD` methods.
1080
+ #
1081
+ # * `GET,HEAD,OPTIONS` - The distribution caches responses to the
1082
+ # `GET`, `HEAD`, and `OPTIONS` methods.
1083
+ # @return [String]
1084
+ #
1085
+ # @!attribute [rw] forwarded_cookies
1086
+ # An object that describes the cookies that are forwarded to the
1087
+ # origin. Your content is cached based on the cookies that are
1088
+ # forwarded.
1089
+ # @return [Types::CookieObject]
1090
+ #
1091
+ # @!attribute [rw] forwarded_headers
1092
+ # An object that describes the headers that are forwarded to the
1093
+ # origin. Your content is cached based on the headers that are
1094
+ # forwarded.
1095
+ # @return [Types::HeaderObject]
1096
+ #
1097
+ # @!attribute [rw] forwarded_query_strings
1098
+ # An object that describes the query strings that are forwarded to the
1099
+ # origin. Your content is cached based on the query strings that are
1100
+ # forwarded.
1101
+ # @return [Types::QueryStringObject]
1102
+ #
1103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CacheSettings AWS API Documentation
1104
+ #
1105
+ class CacheSettings < Struct.new(
1106
+ :default_ttl,
1107
+ :minimum_ttl,
1108
+ :maximum_ttl,
1109
+ :allowed_http_methods,
1110
+ :cached_http_methods,
1111
+ :forwarded_cookies,
1112
+ :forwarded_headers,
1113
+ :forwarded_query_strings)
1114
+ SENSITIVE = []
1115
+ include Aws::Structure
1116
+ end
1117
+
1118
+ # Describes the full details of an Amazon Lightsail SSL/TLS certificate.
1119
+ #
1120
+ # <note markdown="1"> To get a summary of a certificate, use the `GetCertificates` action
1121
+ # and ommit `includeCertificateDetails` from your request. The response
1122
+ # will include only the certificate Amazon Resource Name (ARN),
1123
+ # certificate name, domain name, and tags.
1124
+ #
1125
+ # </note>
1126
+ #
1127
+ # @!attribute [rw] arn
1128
+ # The Amazon Resource Name (ARN) of the certificate.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] name
1132
+ # The name of the certificate (e.g., `my-certificate`).
1133
+ # @return [String]
1134
+ #
1135
+ # @!attribute [rw] domain_name
1136
+ # The domain name of the certificate.
1137
+ # @return [String]
1138
+ #
1139
+ # @!attribute [rw] status
1140
+ # The validation status of the certificate.
1141
+ # @return [String]
1142
+ #
1143
+ # @!attribute [rw] serial_number
1144
+ # The serial number of the certificate.
1145
+ # @return [String]
1146
+ #
1147
+ # @!attribute [rw] subject_alternative_names
1148
+ # An array of strings that specify the alternate domains (e.g.,
1149
+ # `example2.com`) and subdomains (e.g., `blog.example.com`) of the
1150
+ # certificate.
1151
+ # @return [Array<String>]
1152
+ #
1153
+ # @!attribute [rw] domain_validation_records
1154
+ # An array of objects that describe the domain validation records of
1155
+ # the certificate.
1156
+ # @return [Array<Types::DomainValidationRecord>]
1157
+ #
1158
+ # @!attribute [rw] request_failure_reason
1159
+ # The validation failure reason, if any, of the certificate.
1160
+ #
1161
+ # The following failure reasons are possible:
1162
+ #
1163
+ # * <b> <code>NO_AVAILABLE_CONTACTS</code> </b> - This failure applies
1164
+ # to email validation, which is not available for Lightsail
1165
+ # certificates.
1166
+ #
1167
+ # * <b> <code>ADDITIONAL_VERIFICATION_REQUIRED</code> </b> - Lightsail
1168
+ # requires additional information to process this certificate
1169
+ # request. This can happen as a fraud-protection measure, such as
1170
+ # when the domain ranks within the Alexa top 1000 websites. To
1171
+ # provide the required information, use the [AWS Support Center][1]
1172
+ # to contact AWS Support.
1173
+ #
1174
+ # <note markdown="1"> You cannot request a certificate for Amazon-owned domain names
1175
+ # such as those ending in amazonaws.com, cloudfront.net, or
1176
+ # elasticbeanstalk.com.
1177
+ #
1178
+ # </note>
1179
+ #
1180
+ # * <b> <code>DOMAIN_NOT_ALLOWED</code> </b> - One or more of the
1181
+ # domain names in the certificate request was reported as an unsafe
1182
+ # domain by [VirusTotal][2]. To correct the problem, search for your
1183
+ # domain name on the [VirusTotal][2] website. If your domain is
1184
+ # reported as suspicious, see [Google Help for Hacked Websites][3]
1185
+ # to learn what you can do.
1186
+ #
1187
+ # If you believe that the result is a false positive, notify the
1188
+ # organization that is reporting the domain. VirusTotal is an
1189
+ # aggregate of several antivirus and URL scanners and cannot remove
1190
+ # your domain from a block list itself. After you correct the
1191
+ # problem and the VirusTotal registry has been updated, request a
1192
+ # new certificate.
1193
+ #
1194
+ # If you see this error and your domain is not included in the
1195
+ # VirusTotal list, visit the [AWS Support Center][1] and create a
1196
+ # case.
1197
+ #
1198
+ # * <b> <code>INVALID_PUBLIC_DOMAIN</code> </b> - One or more of the
1199
+ # domain names in the certificate request is not valid. Typically,
1200
+ # this is because a domain name in the request is not a valid
1201
+ # top-level domain. Try to request a certificate again, correcting
1202
+ # any spelling errors or typos that were in the failed request, and
1203
+ # ensure that all domain names in the request are for valid
1204
+ # top-level domains. For example, you cannot request a certificate
1205
+ # for `example.invalidpublicdomain` because `invalidpublicdomain` is
1206
+ # not a valid top-level domain.
1207
+ #
1208
+ # * <b> <code>OTHER</code> </b> - Typically, this failure occurs when
1209
+ # there is a typographical error in one or more of the domain names
1210
+ # in the certificate request. Try to request a certificate again,
1211
+ # correcting any spelling errors or typos that were in the failed
1212
+ # request.
1213
+ #
1214
+ #
1215
+ #
1216
+ # [1]: https://console.aws.amazon.com/support/home
1217
+ # [2]: https://www.virustotal.com/gui/home/url
1218
+ # [3]: https://www.google.com/webmasters/hacked/?hl=en
1219
+ # @return [String]
1220
+ #
1221
+ # @!attribute [rw] in_use_resource_count
1222
+ # The number of Lightsail resources that the certificate is attached
1223
+ # to.
1224
+ # @return [Integer]
1225
+ #
1226
+ # @!attribute [rw] key_algorithm
1227
+ # The algorithm used to generate the key pair (the public and private
1228
+ # key) of the certificate.
1229
+ # @return [String]
1230
+ #
1231
+ # @!attribute [rw] created_at
1232
+ # The timestamp when the certificate was created.
1233
+ # @return [Time]
1234
+ #
1235
+ # @!attribute [rw] issued_at
1236
+ # The timestamp when the certificate was issued.
1237
+ # @return [Time]
1238
+ #
1239
+ # @!attribute [rw] issuer_ca
1240
+ # The certificate authority that issued the certificate.
1241
+ # @return [String]
1242
+ #
1243
+ # @!attribute [rw] not_before
1244
+ # The timestamp when the certificate is first valid.
1245
+ # @return [Time]
1246
+ #
1247
+ # @!attribute [rw] not_after
1248
+ # The timestamp when the certificate expires.
1249
+ # @return [Time]
1250
+ #
1251
+ # @!attribute [rw] eligible_to_renew
1252
+ # The renewal eligibility of the certificate.
1253
+ # @return [String]
1254
+ #
1255
+ # @!attribute [rw] renewal_summary
1256
+ # An object that describes the status of the certificate renewal
1257
+ # managed by Lightsail.
1258
+ # @return [Types::RenewalSummary]
1259
+ #
1260
+ # @!attribute [rw] revoked_at
1261
+ # The timestamp when the certificate was revoked. This value is
1262
+ # present only when the certificate status is `REVOKED`.
1263
+ # @return [Time]
1264
+ #
1265
+ # @!attribute [rw] revocation_reason
1266
+ # The reason the certificate was revoked. This value is present only
1267
+ # when the certificate status is `REVOKED`.
1268
+ # @return [String]
1269
+ #
1270
+ # @!attribute [rw] tags
1271
+ # The tag keys and optional values for the resource. For more
1272
+ # information about tags in Lightsail, see the [Lightsail Dev
1273
+ # Guide][1].
1274
+ #
1275
+ #
1276
+ #
1277
+ # [1]: https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags
1278
+ # @return [Array<Types::Tag>]
1279
+ #
1280
+ # @!attribute [rw] support_code
1281
+ # The support code. Include this code in your email to support when
1282
+ # you have questions about your Lightsail certificate. This code
1283
+ # enables our support team to look up your Lightsail information more
1284
+ # easily.
1285
+ # @return [String]
1286
+ #
1287
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/Certificate AWS API Documentation
1288
+ #
1289
+ class Certificate < Struct.new(
1290
+ :arn,
1291
+ :name,
1292
+ :domain_name,
1293
+ :status,
1294
+ :serial_number,
1295
+ :subject_alternative_names,
1296
+ :domain_validation_records,
1297
+ :request_failure_reason,
1298
+ :in_use_resource_count,
1299
+ :key_algorithm,
1300
+ :created_at,
1301
+ :issued_at,
1302
+ :issuer_ca,
1303
+ :not_before,
1304
+ :not_after,
1305
+ :eligible_to_renew,
1306
+ :renewal_summary,
1307
+ :revoked_at,
1308
+ :revocation_reason,
1309
+ :tags,
1310
+ :support_code)
1311
+ SENSITIVE = []
1312
+ include Aws::Structure
1313
+ end
1314
+
1315
+ # Describes an Amazon Lightsail SSL/TLS certificate.
1316
+ #
1317
+ # @!attribute [rw] certificate_arn
1318
+ # The Amazon Resource Name (ARN) of the certificate.
1319
+ # @return [String]
1320
+ #
1321
+ # @!attribute [rw] certificate_name
1322
+ # The name of the certificate.
1323
+ # @return [String]
1324
+ #
1325
+ # @!attribute [rw] domain_name
1326
+ # The domain name of the certificate.
1327
+ # @return [String]
1328
+ #
1329
+ # @!attribute [rw] certificate_detail
1330
+ # An object that describes a certificate in detail.
1331
+ # @return [Types::Certificate]
1332
+ #
1333
+ # @!attribute [rw] tags
1334
+ # The tag keys and optional values for the resource. For more
1335
+ # information about tags in Lightsail, see the [Lightsail Dev
1336
+ # Guide][1].
1337
+ #
1338
+ #
1339
+ #
1340
+ # [1]: https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags
1341
+ # @return [Array<Types::Tag>]
1342
+ #
1343
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CertificateSummary AWS API Documentation
1344
+ #
1345
+ class CertificateSummary < Struct.new(
1346
+ :certificate_arn,
1347
+ :certificate_name,
1348
+ :domain_name,
1349
+ :certificate_detail,
1350
+ :tags)
1351
+ SENSITIVE = []
1352
+ include Aws::Structure
1353
+ end
1354
+
812
1355
  # @note When making an API call, you may pass CloseInstancePublicPortsRequest
813
1356
  # data as a hash:
814
1357
  #
@@ -1014,20 +1557,54 @@ module Aws::Lightsail
1014
1557
  include Aws::Structure
1015
1558
  end
1016
1559
 
1017
- # @note When making an API call, you may pass CopySnapshotRequest
1560
+ # Describes whether an Amazon Lightsail content delivery network (CDN)
1561
+ # distribution forwards cookies to the origin and, if so, which ones.
1562
+ #
1563
+ # For the cookies that you specify, your distribution caches separate
1564
+ # versions of the specified content based on the cookie values in viewer
1565
+ # requests.
1566
+ #
1567
+ # @note When making an API call, you may pass CookieObject
1018
1568
  # data as a hash:
1019
1569
  #
1020
1570
  # {
1021
- # source_snapshot_name: "ResourceName",
1022
- # source_resource_name: "string",
1023
- # restore_date: "string",
1024
- # use_latest_restorable_auto_snapshot: false,
1025
- # target_snapshot_name: "ResourceName", # required
1026
- # source_region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
1571
+ # option: "none", # accepts none, allow-list, all
1572
+ # cookies_allow_list: ["string"],
1027
1573
  # }
1028
1574
  #
1029
- # @!attribute [rw] source_snapshot_name
1030
- # The name of the source manual snapshot to copy.
1575
+ # @!attribute [rw] option
1576
+ # Specifies which cookies to forward to the distribution's origin for
1577
+ # a cache behavior: `all`, `none`, or `allow-list` to forward only the
1578
+ # cookies specified in the `cookiesAllowList` parameter.
1579
+ # @return [String]
1580
+ #
1581
+ # @!attribute [rw] cookies_allow_list
1582
+ # The specific cookies to forward to your distribution's origin.
1583
+ # @return [Array<String>]
1584
+ #
1585
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CookieObject AWS API Documentation
1586
+ #
1587
+ class CookieObject < Struct.new(
1588
+ :option,
1589
+ :cookies_allow_list)
1590
+ SENSITIVE = []
1591
+ include Aws::Structure
1592
+ end
1593
+
1594
+ # @note When making an API call, you may pass CopySnapshotRequest
1595
+ # data as a hash:
1596
+ #
1597
+ # {
1598
+ # source_snapshot_name: "ResourceName",
1599
+ # source_resource_name: "string",
1600
+ # restore_date: "string",
1601
+ # use_latest_restorable_auto_snapshot: false,
1602
+ # target_snapshot_name: "ResourceName", # required
1603
+ # source_region: "us-east-1", # required, accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
1604
+ # }
1605
+ #
1606
+ # @!attribute [rw] source_snapshot_name
1607
+ # The name of the source manual snapshot to copy.
1031
1608
  #
1032
1609
  # Constraint:
1033
1610
  #
@@ -1132,6 +1709,77 @@ module Aws::Lightsail
1132
1709
  include Aws::Structure
1133
1710
  end
1134
1711
 
1712
+ # @note When making an API call, you may pass CreateCertificateRequest
1713
+ # data as a hash:
1714
+ #
1715
+ # {
1716
+ # certificate_name: "CertificateName", # required
1717
+ # domain_name: "DomainName", # required
1718
+ # subject_alternative_names: ["DomainName"],
1719
+ # tags: [
1720
+ # {
1721
+ # key: "TagKey",
1722
+ # value: "TagValue",
1723
+ # },
1724
+ # ],
1725
+ # }
1726
+ #
1727
+ # @!attribute [rw] certificate_name
1728
+ # The name for the certificate.
1729
+ # @return [String]
1730
+ #
1731
+ # @!attribute [rw] domain_name
1732
+ # The domain name (e.g., `example.com`) for the certificate.
1733
+ # @return [String]
1734
+ #
1735
+ # @!attribute [rw] subject_alternative_names
1736
+ # An array of strings that specify the alternate domains (e.g.,
1737
+ # `example2.com`) and subdomains (e.g., `blog.example.com`) for the
1738
+ # certificate.
1739
+ #
1740
+ # You can specify a maximum of nine alternate domains (in addition to
1741
+ # the primary domain name).
1742
+ #
1743
+ # Wildcard domain entries (e.g., `*.example.com`) are not supported.
1744
+ # @return [Array<String>]
1745
+ #
1746
+ # @!attribute [rw] tags
1747
+ # The tag keys and optional values to add to the certificate during
1748
+ # create.
1749
+ #
1750
+ # Use the `TagResource` action to tag a resource after it's created.
1751
+ # @return [Array<Types::Tag>]
1752
+ #
1753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificateRequest AWS API Documentation
1754
+ #
1755
+ class CreateCertificateRequest < Struct.new(
1756
+ :certificate_name,
1757
+ :domain_name,
1758
+ :subject_alternative_names,
1759
+ :tags)
1760
+ SENSITIVE = []
1761
+ include Aws::Structure
1762
+ end
1763
+
1764
+ # @!attribute [rw] certificate
1765
+ # An object that describes the certificate created.
1766
+ # @return [Types::CertificateSummary]
1767
+ #
1768
+ # @!attribute [rw] operations
1769
+ # An array of objects that describe the result of the action, such as
1770
+ # the status of the request, the timestamp of the request, and the
1771
+ # resources affected by the request.
1772
+ # @return [Array<Types::Operation>]
1773
+ #
1774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateCertificateResult AWS API Documentation
1775
+ #
1776
+ class CreateCertificateResult < Struct.new(
1777
+ :certificate,
1778
+ :operations)
1779
+ SENSITIVE = []
1780
+ include Aws::Structure
1781
+ end
1782
+
1135
1783
  # @note When making an API call, you may pass CreateCloudFormationStackRequest
1136
1784
  # data as a hash:
1137
1785
  #
@@ -1317,8 +1965,7 @@ module Aws::Lightsail
1317
1965
  # The tag keys and optional values to add to the resource during
1318
1966
  # create.
1319
1967
  #
1320
- # To tag a resource after it has been created, see the `tag resource`
1321
- # operation.
1968
+ # Use the `TagResource` action to tag a resource after it's created.
1322
1969
  # @return [Array<Types::Tag>]
1323
1970
  #
1324
1971
  # @!attribute [rw] add_ons
@@ -1461,8 +2108,7 @@ module Aws::Lightsail
1461
2108
  # The tag keys and optional values to add to the resource during
1462
2109
  # create.
1463
2110
  #
1464
- # To tag a resource after it has been created, see the `tag resource`
1465
- # operation.
2111
+ # Use the `TagResource` action to tag a resource after it's created.
1466
2112
  # @return [Array<Types::Tag>]
1467
2113
  #
1468
2114
  # @!attribute [rw] add_ons
@@ -1542,8 +2188,7 @@ module Aws::Lightsail
1542
2188
  # The tag keys and optional values to add to the resource during
1543
2189
  # create.
1544
2190
  #
1545
- # To tag a resource after it has been created, see the `tag resource`
1546
- # operation.
2191
+ # Use the `TagResource` action to tag a resource after it's created.
1547
2192
  # @return [Array<Types::Tag>]
1548
2193
  #
1549
2194
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDiskSnapshotRequest AWS API Documentation
@@ -1571,6 +2216,130 @@ module Aws::Lightsail
1571
2216
  include Aws::Structure
1572
2217
  end
1573
2218
 
2219
+ # @note When making an API call, you may pass CreateDistributionRequest
2220
+ # data as a hash:
2221
+ #
2222
+ # {
2223
+ # distribution_name: "ResourceName", # required
2224
+ # origin: { # required
2225
+ # name: "ResourceName",
2226
+ # region_name: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
2227
+ # protocol_policy: "http-only", # accepts http-only, https-only
2228
+ # },
2229
+ # default_cache_behavior: { # required
2230
+ # behavior: "dont-cache", # accepts dont-cache, cache
2231
+ # },
2232
+ # cache_behavior_settings: {
2233
+ # default_ttl: 1,
2234
+ # minimum_ttl: 1,
2235
+ # maximum_ttl: 1,
2236
+ # allowed_http_methods: "NonEmptyString",
2237
+ # cached_http_methods: "NonEmptyString",
2238
+ # forwarded_cookies: {
2239
+ # option: "none", # accepts none, allow-list, all
2240
+ # cookies_allow_list: ["string"],
2241
+ # },
2242
+ # forwarded_headers: {
2243
+ # option: "none", # accepts none, allow-list, all
2244
+ # headers_allow_list: ["Accept"], # accepts Accept, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Language, Authorization, CloudFront-Forwarded-Proto, CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer, CloudFront-Is-Tablet-Viewer, CloudFront-Viewer-Country, Host, Origin, Referer
2245
+ # },
2246
+ # forwarded_query_strings: {
2247
+ # option: false,
2248
+ # query_strings_allow_list: ["string"],
2249
+ # },
2250
+ # },
2251
+ # cache_behaviors: [
2252
+ # {
2253
+ # path: "string",
2254
+ # behavior: "dont-cache", # accepts dont-cache, cache
2255
+ # },
2256
+ # ],
2257
+ # bundle_id: "string", # required
2258
+ # tags: [
2259
+ # {
2260
+ # key: "TagKey",
2261
+ # value: "TagValue",
2262
+ # },
2263
+ # ],
2264
+ # }
2265
+ #
2266
+ # @!attribute [rw] distribution_name
2267
+ # The name for the distribution.
2268
+ # @return [String]
2269
+ #
2270
+ # @!attribute [rw] origin
2271
+ # An object that describes the origin resource for the distribution,
2272
+ # such as a Lightsail instance or load balancer.
2273
+ #
2274
+ # The distribution pulls, caches, and serves content from the origin.
2275
+ # @return [Types::InputOrigin]
2276
+ #
2277
+ # @!attribute [rw] default_cache_behavior
2278
+ # An object that describes the default cache behavior for the
2279
+ # distribution.
2280
+ # @return [Types::CacheBehavior]
2281
+ #
2282
+ # @!attribute [rw] cache_behavior_settings
2283
+ # An object that describes the cache behavior settings for the
2284
+ # distribution.
2285
+ # @return [Types::CacheSettings]
2286
+ #
2287
+ # @!attribute [rw] cache_behaviors
2288
+ # An array of objects that describe the per-path cache behavior for
2289
+ # the distribution.
2290
+ # @return [Array<Types::CacheBehaviorPerPath>]
2291
+ #
2292
+ # @!attribute [rw] bundle_id
2293
+ # The bundle ID to use for the distribution.
2294
+ #
2295
+ # A distribution bundle describes the specifications of your
2296
+ # distribution, such as the monthly cost and monthly network transfer
2297
+ # quota.
2298
+ #
2299
+ # Use the `GetDistributionBundles` action to get a list of
2300
+ # distribution bundle IDs that you can specify.
2301
+ # @return [String]
2302
+ #
2303
+ # @!attribute [rw] tags
2304
+ # The tag keys and optional values to add to the distribution during
2305
+ # create.
2306
+ #
2307
+ # Use the `TagResource` action to tag a resource after it's created.
2308
+ # @return [Array<Types::Tag>]
2309
+ #
2310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistributionRequest AWS API Documentation
2311
+ #
2312
+ class CreateDistributionRequest < Struct.new(
2313
+ :distribution_name,
2314
+ :origin,
2315
+ :default_cache_behavior,
2316
+ :cache_behavior_settings,
2317
+ :cache_behaviors,
2318
+ :bundle_id,
2319
+ :tags)
2320
+ SENSITIVE = []
2321
+ include Aws::Structure
2322
+ end
2323
+
2324
+ # @!attribute [rw] distribution
2325
+ # An object that describes the distribution created.
2326
+ # @return [Types::LightsailDistribution]
2327
+ #
2328
+ # @!attribute [rw] operation
2329
+ # An array of objects that describe the result of the action, such as
2330
+ # the status of the request, the timestamp of the request, and the
2331
+ # resources affected by the request.
2332
+ # @return [Types::Operation]
2333
+ #
2334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDistributionResult AWS API Documentation
2335
+ #
2336
+ class CreateDistributionResult < Struct.new(
2337
+ :distribution,
2338
+ :operation)
2339
+ SENSITIVE = []
2340
+ include Aws::Structure
2341
+ end
2342
+
1574
2343
  # @note When making an API call, you may pass CreateDomainEntryRequest
1575
2344
  # data as a hash:
1576
2345
  #
@@ -1650,8 +2419,7 @@ module Aws::Lightsail
1650
2419
  # The tag keys and optional values to add to the resource during
1651
2420
  # create.
1652
2421
  #
1653
- # To tag a resource after it has been created, see the `tag resource`
1654
- # operation.
2422
+ # Use the `TagResource` action to tag a resource after it's created.
1655
2423
  # @return [Array<Types::Tag>]
1656
2424
  #
1657
2425
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateDomainRequest AWS API Documentation
@@ -1703,8 +2471,7 @@ module Aws::Lightsail
1703
2471
  # The tag keys and optional values to add to the resource during
1704
2472
  # create.
1705
2473
  #
1706
- # To tag a resource after it has been created, see the `tag resource`
1707
- # operation.
2474
+ # Use the `TagResource` action to tag a resource after it's created.
1708
2475
  # @return [Array<Types::Tag>]
1709
2476
  #
1710
2477
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstanceSnapshotRequest AWS API Documentation
@@ -1832,8 +2599,7 @@ module Aws::Lightsail
1832
2599
  # The tag keys and optional values to add to the resource during
1833
2600
  # create.
1834
2601
  #
1835
- # To tag a resource after it has been created, see the `tag resource`
1836
- # operation.
2602
+ # Use the `TagResource` action to tag a resource after it's created.
1837
2603
  # @return [Array<Types::Tag>]
1838
2604
  #
1839
2605
  # @!attribute [rw] add_ons
@@ -2034,8 +2800,7 @@ module Aws::Lightsail
2034
2800
  # The tag keys and optional values to add to the resource during
2035
2801
  # create.
2036
2802
  #
2037
- # To tag a resource after it has been created, see the `tag resource`
2038
- # operation.
2803
+ # Use the `TagResource` action to tag a resource after it's created.
2039
2804
  # @return [Array<Types::Tag>]
2040
2805
  #
2041
2806
  # @!attribute [rw] add_ons
@@ -2094,8 +2859,7 @@ module Aws::Lightsail
2094
2859
  # The tag keys and optional values to add to the resource during
2095
2860
  # create.
2096
2861
  #
2097
- # To tag a resource after it has been created, see the `tag resource`
2098
- # operation.
2862
+ # Use the `TagResource` action to tag a resource after it's created.
2099
2863
  # @return [Array<Types::Tag>]
2100
2864
  #
2101
2865
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateKeyPairRequest AWS API Documentation
@@ -2198,8 +2962,7 @@ module Aws::Lightsail
2198
2962
  # The tag keys and optional values to add to the resource during
2199
2963
  # create.
2200
2964
  #
2201
- # To tag a resource after it has been created, see the `tag resource`
2202
- # operation.
2965
+ # Use the `TagResource` action to tag a resource after it's created.
2203
2966
  # @return [Array<Types::Tag>]
2204
2967
  #
2205
2968
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerRequest AWS API Documentation
@@ -2281,8 +3044,7 @@ module Aws::Lightsail
2281
3044
  # The tag keys and optional values to add to the resource during
2282
3045
  # create.
2283
3046
  #
2284
- # To tag a resource after it has been created, see the `tag resource`
2285
- # operation.
3047
+ # Use the `TagResource` action to tag a resource after it's created.
2286
3048
  # @return [Array<Types::Tag>]
2287
3049
  #
2288
3050
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerTlsCertificateRequest AWS API Documentation
@@ -2410,8 +3172,7 @@ module Aws::Lightsail
2410
3172
  # The tag keys and optional values to add to the resource during
2411
3173
  # create.
2412
3174
  #
2413
- # To tag a resource after it has been created, see the `tag resource`
2414
- # operation.
3175
+ # Use the `TagResource` action to tag a resource after it's created.
2415
3176
  # @return [Array<Types::Tag>]
2416
3177
  #
2417
3178
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseFromSnapshotRequest AWS API Documentation
@@ -2603,8 +3364,7 @@ module Aws::Lightsail
2603
3364
  # The tag keys and optional values to add to the resource during
2604
3365
  # create.
2605
3366
  #
2606
- # To tag a resource after it has been created, see the `tag resource`
2607
- # operation.
3367
+ # Use the `TagResource` action to tag a resource after it's created.
2608
3368
  # @return [Array<Types::Tag>]
2609
3369
  #
2610
3370
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseRequest AWS API Documentation
@@ -2671,8 +3431,7 @@ module Aws::Lightsail
2671
3431
  # The tag keys and optional values to add to the resource during
2672
3432
  # create.
2673
3433
  #
2674
- # To tag a resource after it has been created, see the `tag resource`
2675
- # operation.
3434
+ # Use the `TagResource` action to tag a resource after it's created.
2676
3435
  # @return [Array<Types::Tag>]
2677
3436
  #
2678
3437
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateRelationalDatabaseSnapshotRequest AWS API Documentation
@@ -2774,6 +3533,42 @@ module Aws::Lightsail
2774
3533
  include Aws::Structure
2775
3534
  end
2776
3535
 
3536
+ # @note When making an API call, you may pass DeleteCertificateRequest
3537
+ # data as a hash:
3538
+ #
3539
+ # {
3540
+ # certificate_name: "CertificateName", # required
3541
+ # }
3542
+ #
3543
+ # @!attribute [rw] certificate_name
3544
+ # The name of the certificate to delete.
3545
+ #
3546
+ # Use the `GetCertificates` action to get a list of certificate names
3547
+ # that you can specify.
3548
+ # @return [String]
3549
+ #
3550
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificateRequest AWS API Documentation
3551
+ #
3552
+ class DeleteCertificateRequest < Struct.new(
3553
+ :certificate_name)
3554
+ SENSITIVE = []
3555
+ include Aws::Structure
3556
+ end
3557
+
3558
+ # @!attribute [rw] operations
3559
+ # An array of objects that describe the result of the action, such as
3560
+ # the status of the request, the timestamp of the request, and the
3561
+ # resources affected by the request.
3562
+ # @return [Array<Types::Operation>]
3563
+ #
3564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteCertificateResult AWS API Documentation
3565
+ #
3566
+ class DeleteCertificateResult < Struct.new(
3567
+ :operations)
3568
+ SENSITIVE = []
3569
+ include Aws::Structure
3570
+ end
3571
+
2777
3572
  # @note When making an API call, you may pass DeleteContactMethodRequest
2778
3573
  # data as a hash:
2779
3574
  #
@@ -2888,6 +3683,42 @@ module Aws::Lightsail
2888
3683
  include Aws::Structure
2889
3684
  end
2890
3685
 
3686
+ # @note When making an API call, you may pass DeleteDistributionRequest
3687
+ # data as a hash:
3688
+ #
3689
+ # {
3690
+ # distribution_name: "ResourceName",
3691
+ # }
3692
+ #
3693
+ # @!attribute [rw] distribution_name
3694
+ # The name of the distribution to delete.
3695
+ #
3696
+ # Use the `GetDistributions` action to get a list of distribution
3697
+ # names that you can specify.
3698
+ # @return [String]
3699
+ #
3700
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistributionRequest AWS API Documentation
3701
+ #
3702
+ class DeleteDistributionRequest < Struct.new(
3703
+ :distribution_name)
3704
+ SENSITIVE = []
3705
+ include Aws::Structure
3706
+ end
3707
+
3708
+ # @!attribute [rw] operation
3709
+ # An object that describes the result of the action, such as the
3710
+ # status of the request, the timestamp of the request, and the
3711
+ # resources affected by the request.
3712
+ # @return [Types::Operation]
3713
+ #
3714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DeleteDistributionResult AWS API Documentation
3715
+ #
3716
+ class DeleteDistributionResult < Struct.new(
3717
+ :operation)
3718
+ SENSITIVE = []
3719
+ include Aws::Structure
3720
+ end
3721
+
2891
3722
  # @note When making an API call, you may pass DeleteDomainEntryRequest
2892
3723
  # data as a hash:
2893
3724
  #
@@ -3310,6 +4141,42 @@ module Aws::Lightsail
3310
4141
  include Aws::Structure
3311
4142
  end
3312
4143
 
4144
+ # @note When making an API call, you may pass DetachCertificateFromDistributionRequest
4145
+ # data as a hash:
4146
+ #
4147
+ # {
4148
+ # distribution_name: "ResourceName", # required
4149
+ # }
4150
+ #
4151
+ # @!attribute [rw] distribution_name
4152
+ # The name of the distribution from which to detach the certificate.
4153
+ #
4154
+ # Use the `GetDistributions` action to get a list of distribution
4155
+ # names that you can specify.
4156
+ # @return [String]
4157
+ #
4158
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistributionRequest AWS API Documentation
4159
+ #
4160
+ class DetachCertificateFromDistributionRequest < Struct.new(
4161
+ :distribution_name)
4162
+ SENSITIVE = []
4163
+ include Aws::Structure
4164
+ end
4165
+
4166
+ # @!attribute [rw] operation
4167
+ # An object that describes the result of the action, such as the
4168
+ # status of the request, the timestamp of the request, and the
4169
+ # resources affected by the request.
4170
+ # @return [Types::Operation]
4171
+ #
4172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DetachCertificateFromDistributionResult AWS API Documentation
4173
+ #
4174
+ class DetachCertificateFromDistributionResult < Struct.new(
4175
+ :operation)
4176
+ SENSITIVE = []
4177
+ include Aws::Structure
4178
+ end
4179
+
3313
4180
  # @note When making an API call, you may pass DetachDiskRequest
3314
4181
  # data as a hash:
3315
4182
  #
@@ -3743,6 +4610,41 @@ module Aws::Lightsail
3743
4610
  include Aws::Structure
3744
4611
  end
3745
4612
 
4613
+ # Describes the specifications of a distribution bundle.
4614
+ #
4615
+ # @!attribute [rw] bundle_id
4616
+ # The ID of the bundle.
4617
+ # @return [String]
4618
+ #
4619
+ # @!attribute [rw] name
4620
+ # The name of the distribution bundle.
4621
+ # @return [String]
4622
+ #
4623
+ # @!attribute [rw] price
4624
+ # The monthly price, in US dollars, of the bundle.
4625
+ # @return [Float]
4626
+ #
4627
+ # @!attribute [rw] transfer_per_month_in_gb
4628
+ # The monthly network transfer quota of the bundle.
4629
+ # @return [Integer]
4630
+ #
4631
+ # @!attribute [rw] is_active
4632
+ # Indicates whether the bundle is active, and can be specified for a
4633
+ # new distribution.
4634
+ # @return [Boolean]
4635
+ #
4636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DistributionBundle AWS API Documentation
4637
+ #
4638
+ class DistributionBundle < Struct.new(
4639
+ :bundle_id,
4640
+ :name,
4641
+ :price,
4642
+ :transfer_per_month_in_gb,
4643
+ :is_active)
4644
+ SENSITIVE = []
4645
+ include Aws::Structure
4646
+ end
4647
+
3746
4648
  # Describes a domain where you are storing recordsets in Lightsail.
3747
4649
  #
3748
4650
  # @!attribute [rw] name
@@ -3888,6 +4790,28 @@ module Aws::Lightsail
3888
4790
  include Aws::Structure
3889
4791
  end
3890
4792
 
4793
+ # Describes the domain validation records of an Amazon Lightsail SSL/TLS
4794
+ # certificate.
4795
+ #
4796
+ # @!attribute [rw] domain_name
4797
+ # The domain name of the certificate validation record. For example,
4798
+ # `example.com` or `www.example.com`.
4799
+ # @return [String]
4800
+ #
4801
+ # @!attribute [rw] resource_record
4802
+ # An object that describes the DNS records to add to your domain's
4803
+ # DNS to validate it for the certificate.
4804
+ # @return [Types::ResourceRecord]
4805
+ #
4806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DomainValidationRecord AWS API Documentation
4807
+ #
4808
+ class DomainValidationRecord < Struct.new(
4809
+ :domain_name,
4810
+ :resource_record)
4811
+ SENSITIVE = []
4812
+ include Aws::Structure
4813
+ end
4814
+
3891
4815
  # @api private
3892
4816
  #
3893
4817
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/DownloadDefaultKeyPairRequest AWS API Documentation
@@ -4360,6 +5284,63 @@ module Aws::Lightsail
4360
5284
  include Aws::Structure
4361
5285
  end
4362
5286
 
5287
+ # @note When making an API call, you may pass GetCertificatesRequest
5288
+ # data as a hash:
5289
+ #
5290
+ # {
5291
+ # certificate_statuses: ["PENDING_VALIDATION"], # accepts PENDING_VALIDATION, ISSUED, INACTIVE, EXPIRED, VALIDATION_TIMED_OUT, REVOKED, FAILED
5292
+ # include_certificate_details: false,
5293
+ # certificate_name: "CertificateName",
5294
+ # }
5295
+ #
5296
+ # @!attribute [rw] certificate_statuses
5297
+ # The status of the certificates for which to return information.
5298
+ #
5299
+ # For example, specify `ISSUED` to return only certificates with an
5300
+ # `ISSUED` status.
5301
+ #
5302
+ # When omitted, the response includes all of your certificates in the
5303
+ # AWS region where the request is made, regardless of their current
5304
+ # status.
5305
+ # @return [Array<String>]
5306
+ #
5307
+ # @!attribute [rw] include_certificate_details
5308
+ # Indicates whether to include detailed information about the
5309
+ # certificates in the response.
5310
+ #
5311
+ # When omitted, the response includes only the certificate names,
5312
+ # Amazon Resource Names (ARNs), domain names, and tags.
5313
+ # @return [Boolean]
5314
+ #
5315
+ # @!attribute [rw] certificate_name
5316
+ # The name for the certificate for which to return information.
5317
+ #
5318
+ # When omitted, the response includes all of your certificates in the
5319
+ # AWS region where the request is made.
5320
+ # @return [String]
5321
+ #
5322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificatesRequest AWS API Documentation
5323
+ #
5324
+ class GetCertificatesRequest < Struct.new(
5325
+ :certificate_statuses,
5326
+ :include_certificate_details,
5327
+ :certificate_name)
5328
+ SENSITIVE = []
5329
+ include Aws::Structure
5330
+ end
5331
+
5332
+ # @!attribute [rw] certificates
5333
+ # An object that describes certificates.
5334
+ # @return [Array<Types::CertificateSummary>]
5335
+ #
5336
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetCertificatesResult AWS API Documentation
5337
+ #
5338
+ class GetCertificatesResult < Struct.new(
5339
+ :certificates)
5340
+ SENSITIVE = []
5341
+ include Aws::Structure
5342
+ end
5343
+
4363
5344
  # @note When making an API call, you may pass GetCloudFormationStackRecordsRequest
4364
5345
  # data as a hash:
4365
5346
  #
@@ -4477,125 +5458,437 @@ module Aws::Lightsail
4477
5458
  # @note When making an API call, you may pass GetDiskSnapshotRequest
4478
5459
  # data as a hash:
4479
5460
  #
4480
- # {
4481
- # disk_snapshot_name: "ResourceName", # required
4482
- # }
5461
+ # {
5462
+ # disk_snapshot_name: "ResourceName", # required
5463
+ # }
5464
+ #
5465
+ # @!attribute [rw] disk_snapshot_name
5466
+ # The name of the disk snapshot (e.g., `my-disk-snapshot`).
5467
+ # @return [String]
5468
+ #
5469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotRequest AWS API Documentation
5470
+ #
5471
+ class GetDiskSnapshotRequest < Struct.new(
5472
+ :disk_snapshot_name)
5473
+ SENSITIVE = []
5474
+ include Aws::Structure
5475
+ end
5476
+
5477
+ # @!attribute [rw] disk_snapshot
5478
+ # An object containing information about the disk snapshot.
5479
+ # @return [Types::DiskSnapshot]
5480
+ #
5481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotResult AWS API Documentation
5482
+ #
5483
+ class GetDiskSnapshotResult < Struct.new(
5484
+ :disk_snapshot)
5485
+ SENSITIVE = []
5486
+ include Aws::Structure
5487
+ end
5488
+
5489
+ # @note When making an API call, you may pass GetDiskSnapshotsRequest
5490
+ # data as a hash:
5491
+ #
5492
+ # {
5493
+ # page_token: "string",
5494
+ # }
5495
+ #
5496
+ # @!attribute [rw] page_token
5497
+ # The token to advance to the next page of results from your request.
5498
+ #
5499
+ # To get a page token, perform an initial `GetDiskSnapshots` request.
5500
+ # If your results are paginated, the response will return a next page
5501
+ # token that you can specify as the page token in a subsequent
5502
+ # request.
5503
+ # @return [String]
5504
+ #
5505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotsRequest AWS API Documentation
5506
+ #
5507
+ class GetDiskSnapshotsRequest < Struct.new(
5508
+ :page_token)
5509
+ SENSITIVE = []
5510
+ include Aws::Structure
5511
+ end
5512
+
5513
+ # @!attribute [rw] disk_snapshots
5514
+ # An array of objects containing information about all block storage
5515
+ # disk snapshots.
5516
+ # @return [Array<Types::DiskSnapshot>]
5517
+ #
5518
+ # @!attribute [rw] next_page_token
5519
+ # The token to advance to the next page of resutls from your request.
5520
+ #
5521
+ # A next page token is not returned if there are no more results to
5522
+ # display.
5523
+ #
5524
+ # To get the next page of results, perform another `GetDiskSnapshots`
5525
+ # request and specify the next page token using the `pageToken`
5526
+ # parameter.
5527
+ # @return [String]
5528
+ #
5529
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotsResult AWS API Documentation
5530
+ #
5531
+ class GetDiskSnapshotsResult < Struct.new(
5532
+ :disk_snapshots,
5533
+ :next_page_token)
5534
+ SENSITIVE = []
5535
+ include Aws::Structure
5536
+ end
5537
+
5538
+ # @note When making an API call, you may pass GetDisksRequest
5539
+ # data as a hash:
5540
+ #
5541
+ # {
5542
+ # page_token: "string",
5543
+ # }
5544
+ #
5545
+ # @!attribute [rw] page_token
5546
+ # The token to advance to the next page of results from your request.
5547
+ #
5548
+ # To get a page token, perform an initial `GetDisks` request. If your
5549
+ # results are paginated, the response will return a next page token
5550
+ # that you can specify as the page token in a subsequent request.
5551
+ # @return [String]
5552
+ #
5553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisksRequest AWS API Documentation
5554
+ #
5555
+ class GetDisksRequest < Struct.new(
5556
+ :page_token)
5557
+ SENSITIVE = []
5558
+ include Aws::Structure
5559
+ end
5560
+
5561
+ # @!attribute [rw] disks
5562
+ # An array of objects containing information about all block storage
5563
+ # disks.
5564
+ # @return [Array<Types::Disk>]
5565
+ #
5566
+ # @!attribute [rw] next_page_token
5567
+ # The token to advance to the next page of resutls from your request.
5568
+ #
5569
+ # A next page token is not returned if there are no more results to
5570
+ # display.
5571
+ #
5572
+ # To get the next page of results, perform another `GetDisks` request
5573
+ # and specify the next page token using the `pageToken` parameter.
5574
+ # @return [String]
5575
+ #
5576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisksResult AWS API Documentation
5577
+ #
5578
+ class GetDisksResult < Struct.new(
5579
+ :disks,
5580
+ :next_page_token)
5581
+ SENSITIVE = []
5582
+ include Aws::Structure
5583
+ end
5584
+
5585
+ # @api private
5586
+ #
5587
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundlesRequest AWS API Documentation
5588
+ #
5589
+ class GetDistributionBundlesRequest < Aws::EmptyStructure; end
5590
+
5591
+ # @!attribute [rw] bundles
5592
+ # An object that describes a distribution bundle.
5593
+ # @return [Array<Types::DistributionBundle>]
5594
+ #
5595
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionBundlesResult AWS API Documentation
5596
+ #
5597
+ class GetDistributionBundlesResult < Struct.new(
5598
+ :bundles)
5599
+ SENSITIVE = []
5600
+ include Aws::Structure
5601
+ end
5602
+
5603
+ # @note When making an API call, you may pass GetDistributionLatestCacheResetRequest
5604
+ # data as a hash:
5605
+ #
5606
+ # {
5607
+ # distribution_name: "ResourceName",
5608
+ # }
5609
+ #
5610
+ # @!attribute [rw] distribution_name
5611
+ # The name of the distribution for which to return the timestamp of
5612
+ # the last cache reset.
5613
+ #
5614
+ # Use the `GetDistributions` action to get a list of distribution
5615
+ # names that you can specify.
5616
+ #
5617
+ # When omitted, the response includes the latest cache reset timestamp
5618
+ # of all your distributions.
5619
+ # @return [String]
5620
+ #
5621
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheResetRequest AWS API Documentation
5622
+ #
5623
+ class GetDistributionLatestCacheResetRequest < Struct.new(
5624
+ :distribution_name)
5625
+ SENSITIVE = []
5626
+ include Aws::Structure
5627
+ end
5628
+
5629
+ # @!attribute [rw] status
5630
+ # The status of the last cache reset.
5631
+ # @return [String]
5632
+ #
5633
+ # @!attribute [rw] create_time
5634
+ # The timestamp of the last cache reset (e.g., `1479734909.17`) in
5635
+ # Unix time format.
5636
+ # @return [Time]
5637
+ #
5638
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionLatestCacheResetResult AWS API Documentation
5639
+ #
5640
+ class GetDistributionLatestCacheResetResult < Struct.new(
5641
+ :status,
5642
+ :create_time)
5643
+ SENSITIVE = []
5644
+ include Aws::Structure
5645
+ end
5646
+
5647
+ # @note When making an API call, you may pass GetDistributionMetricDataRequest
5648
+ # data as a hash:
5649
+ #
5650
+ # {
5651
+ # distribution_name: "ResourceName", # required
5652
+ # metric_name: "Requests", # required, accepts Requests, BytesDownloaded, BytesUploaded, TotalErrorRate, Http4xxErrorRate, Http5xxErrorRate
5653
+ # start_time: Time.now, # required
5654
+ # end_time: Time.now, # required
5655
+ # period: 1, # required
5656
+ # unit: "Seconds", # required, accepts Seconds, Microseconds, Milliseconds, Bytes, Kilobytes, Megabytes, Gigabytes, Terabytes, Bits, Kilobits, Megabits, Gigabits, Terabits, Percent, Count, Bytes/Second, Kilobytes/Second, Megabytes/Second, Gigabytes/Second, Terabytes/Second, Bits/Second, Kilobits/Second, Megabits/Second, Gigabits/Second, Terabits/Second, Count/Second, None
5657
+ # statistics: ["Minimum"], # required, accepts Minimum, Maximum, Sum, Average, SampleCount
5658
+ # }
5659
+ #
5660
+ # @!attribute [rw] distribution_name
5661
+ # The name of the distribution for which to get metric data.
5662
+ #
5663
+ # Use the `GetDistributions` action to get a list of distribution
5664
+ # names that you can specify.
5665
+ # @return [String]
5666
+ #
5667
+ # @!attribute [rw] metric_name
5668
+ # The metric for which you want to return information.
5669
+ #
5670
+ # Valid distribution metric names are listed below, along with the
5671
+ # most useful `statistics` to include in your request, and the
5672
+ # published `unit` value.
5673
+ #
5674
+ # * <b> <code>Requests</code> </b> - The total number of viewer
5675
+ # requests received by your Lightsail distribution, for all HTTP
5676
+ # methods, and for both HTTP and HTTPS requests.
5677
+ #
5678
+ # `Statistics`\: The most useful statistic is `Sum`.
5679
+ #
5680
+ # `Unit`\: The published unit is `None`.
5681
+ #
5682
+ # * <b> <code>BytesDownloaded</code> </b> - The number of bytes
5683
+ # downloaded by viewers for GET, HEAD, and OPTIONS requests.
5684
+ #
5685
+ # `Statistics`\: The most useful statistic is `Sum`.
5686
+ #
5687
+ # `Unit`\: The published unit is `None`.
5688
+ #
5689
+ # * <b> <code>BytesUploaded </code> </b> - The number of bytes
5690
+ # uploaded to your origin by your Lightsail distribution, using POST
5691
+ # and PUT requests.
5692
+ #
5693
+ # `Statistics`\: The most useful statistic is `Sum`.
5694
+ #
5695
+ # `Unit`\: The published unit is `None`.
5696
+ #
5697
+ # * <b> <code>TotalErrorRate</code> </b> - The percentage of all
5698
+ # viewer requests for which the response's HTTP status code was 4xx
5699
+ # or 5xx.
5700
+ #
5701
+ # `Statistics`\: The most useful statistic is `Average`.
5702
+ #
5703
+ # `Unit`\: The published unit is `Percent`.
5704
+ #
5705
+ # * <b> <code>4xxErrorRate</code> </b> - The percentage of all viewer
5706
+ # requests for which the response's HTTP status cod was 4xx. In
5707
+ # these cases, the client or client viewer may have made an error.
5708
+ # For example, a status code of 404 (Not Found) means that the
5709
+ # client requested an object that could not be found.
5710
+ #
5711
+ # `Statistics`\: The most useful statistic is `Average`.
5712
+ #
5713
+ # `Unit`\: The published unit is `Percent`.
5714
+ #
5715
+ # * <b> <code>5xxErrorRate</code> </b> - The percentage of all viewer
5716
+ # requests for which the response's HTTP status code was 5xx. In
5717
+ # these cases, the origin server did not satisfy the requests. For
5718
+ # example, a status code of 503 (Service Unavailable) means that the
5719
+ # origin server is currently unavailable.
5720
+ #
5721
+ # `Statistics`\: The most useful statistic is `Average`.
5722
+ #
5723
+ # `Unit`\: The published unit is `Percent`.
5724
+ # @return [String]
5725
+ #
5726
+ # @!attribute [rw] start_time
5727
+ # The start of the time interval for which to get metric data.
5728
+ #
5729
+ # Constraints:
5730
+ #
5731
+ # * Specified in Coordinated Universal Time (UTC).
5732
+ #
5733
+ # * Specified in the Unix time format.
5734
+ #
5735
+ # For example, if you wish to use a start time of October 1, 2018,
5736
+ # at 8 PM UTC, specify `1538424000` as the start time.
5737
+ #
5738
+ # You can convert a human-friendly time to Unix time format using a
5739
+ # converter like [Epoch converter][1].
5740
+ #
5741
+ #
5742
+ #
5743
+ # [1]: https://www.epochconverter.com/
5744
+ # @return [Time]
5745
+ #
5746
+ # @!attribute [rw] end_time
5747
+ # The end of the time interval for which to get metric data.
5748
+ #
5749
+ # Constraints:
5750
+ #
5751
+ # * Specified in Coordinated Universal Time (UTC).
5752
+ #
5753
+ # * Specified in the Unix time format.
5754
+ #
5755
+ # For example, if you wish to use an end time of October 1, 2018, at
5756
+ # 9 PM UTC, specify `1538427600` as the end time.
5757
+ #
5758
+ # You can convert a human-friendly time to Unix time format using a
5759
+ # converter like [Epoch converter][1].
5760
+ #
5761
+ #
5762
+ #
5763
+ # [1]: https://www.epochconverter.com/
5764
+ # @return [Time]
5765
+ #
5766
+ # @!attribute [rw] period
5767
+ # The granularity, in seconds, for the metric data points that will be
5768
+ # returned.
5769
+ # @return [Integer]
5770
+ #
5771
+ # @!attribute [rw] unit
5772
+ # The unit for the metric data request.
4483
5773
  #
4484
- # @!attribute [rw] disk_snapshot_name
4485
- # The name of the disk snapshot (e.g., `my-disk-snapshot`).
5774
+ # Valid units depend on the metric data being requested. For the valid
5775
+ # units with each available metric, see the `metricName` parameter.
4486
5776
  # @return [String]
4487
5777
  #
4488
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotRequest AWS API Documentation
5778
+ # @!attribute [rw] statistics
5779
+ # The statistic for the metric.
4489
5780
  #
4490
- class GetDiskSnapshotRequest < Struct.new(
4491
- :disk_snapshot_name)
4492
- SENSITIVE = []
4493
- include Aws::Structure
4494
- end
4495
-
4496
- # @!attribute [rw] disk_snapshot
4497
- # An object containing information about the disk snapshot.
4498
- # @return [Types::DiskSnapshot]
5781
+ # The following statistics are available:
4499
5782
  #
4500
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotResult AWS API Documentation
5783
+ # * `Minimum` - The lowest value observed during the specified period.
5784
+ # Use this value to determine low volumes of activity for your
5785
+ # application.
4501
5786
  #
4502
- class GetDiskSnapshotResult < Struct.new(
4503
- :disk_snapshot)
4504
- SENSITIVE = []
4505
- include Aws::Structure
4506
- end
4507
-
4508
- # @note When making an API call, you may pass GetDiskSnapshotsRequest
4509
- # data as a hash:
5787
+ # * `Maximum` - The highest value observed during the specified
5788
+ # period. Use this value to determine high volumes of activity for
5789
+ # your application.
4510
5790
  #
4511
- # {
4512
- # page_token: "string",
4513
- # }
5791
+ # * `Sum` - All values submitted for the matching metric added
5792
+ # together. You can use this statistic to determine the total volume
5793
+ # of a metric.
4514
5794
  #
4515
- # @!attribute [rw] page_token
4516
- # The token to advance to the next page of results from your request.
5795
+ # * `Average` - The value of Sum / SampleCount during the specified
5796
+ # period. By comparing this statistic with the Minimum and Maximum
5797
+ # values, you can determine the full scope of a metric and how close
5798
+ # the average use is to the Minimum and Maximum values. This
5799
+ # comparison helps you to know when to increase or decrease your
5800
+ # resources.
4517
5801
  #
4518
- # To get a page token, perform an initial `GetDiskSnapshots` request.
4519
- # If your results are paginated, the response will return a next page
4520
- # token that you can specify as the page token in a subsequent
4521
- # request.
4522
- # @return [String]
5802
+ # * `SampleCount` - The count, or number, of data points used for the
5803
+ # statistical calculation.
5804
+ # @return [Array<String>]
4523
5805
  #
4524
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotsRequest AWS API Documentation
5806
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricDataRequest AWS API Documentation
4525
5807
  #
4526
- class GetDiskSnapshotsRequest < Struct.new(
4527
- :page_token)
5808
+ class GetDistributionMetricDataRequest < Struct.new(
5809
+ :distribution_name,
5810
+ :metric_name,
5811
+ :start_time,
5812
+ :end_time,
5813
+ :period,
5814
+ :unit,
5815
+ :statistics)
4528
5816
  SENSITIVE = []
4529
5817
  include Aws::Structure
4530
5818
  end
4531
5819
 
4532
- # @!attribute [rw] disk_snapshots
4533
- # An array of objects containing information about all block storage
4534
- # disk snapshots.
4535
- # @return [Array<Types::DiskSnapshot>]
4536
- #
4537
- # @!attribute [rw] next_page_token
4538
- # The token to advance to the next page of resutls from your request.
4539
- #
4540
- # A next page token is not returned if there are no more results to
4541
- # display.
4542
- #
4543
- # To get the next page of results, perform another `GetDiskSnapshots`
4544
- # request and specify the next page token using the `pageToken`
4545
- # parameter.
5820
+ # @!attribute [rw] metric_name
5821
+ # The name of the metric returned.
4546
5822
  # @return [String]
4547
5823
  #
4548
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDiskSnapshotsResult AWS API Documentation
5824
+ # @!attribute [rw] metric_data
5825
+ # An array of objects that describe the metric data returned.
5826
+ # @return [Array<Types::MetricDatapoint>]
4549
5827
  #
4550
- class GetDiskSnapshotsResult < Struct.new(
4551
- :disk_snapshots,
4552
- :next_page_token)
5828
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionMetricDataResult AWS API Documentation
5829
+ #
5830
+ class GetDistributionMetricDataResult < Struct.new(
5831
+ :metric_name,
5832
+ :metric_data)
4553
5833
  SENSITIVE = []
4554
5834
  include Aws::Structure
4555
5835
  end
4556
5836
 
4557
- # @note When making an API call, you may pass GetDisksRequest
5837
+ # @note When making an API call, you may pass GetDistributionsRequest
4558
5838
  # data as a hash:
4559
5839
  #
4560
5840
  # {
5841
+ # distribution_name: "ResourceName",
4561
5842
  # page_token: "string",
4562
5843
  # }
4563
5844
  #
5845
+ # @!attribute [rw] distribution_name
5846
+ # The name of the distribution for which to return information.
5847
+ #
5848
+ # Use the `GetDistributions` action to get a list of distribution
5849
+ # names that you can specify.
5850
+ #
5851
+ # When omitted, the response includes all of your distributions in the
5852
+ # AWS Region where the request is made.
5853
+ # @return [String]
5854
+ #
4564
5855
  # @!attribute [rw] page_token
4565
5856
  # The token to advance to the next page of results from your request.
4566
5857
  #
4567
- # To get a page token, perform an initial `GetDisks` request. If your
4568
- # results are paginated, the response will return a next page token
4569
- # that you can specify as the page token in a subsequent request.
5858
+ # To get a page token, perform an initial `GetDistributions` request.
5859
+ # If your results are paginated, the response will return a next page
5860
+ # token that you can specify as the page token in a subsequent
5861
+ # request.
4570
5862
  # @return [String]
4571
5863
  #
4572
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisksRequest AWS API Documentation
5864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionsRequest AWS API Documentation
4573
5865
  #
4574
- class GetDisksRequest < Struct.new(
5866
+ class GetDistributionsRequest < Struct.new(
5867
+ :distribution_name,
4575
5868
  :page_token)
4576
5869
  SENSITIVE = []
4577
5870
  include Aws::Structure
4578
5871
  end
4579
5872
 
4580
- # @!attribute [rw] disks
4581
- # An array of objects containing information about all block storage
4582
- # disks.
4583
- # @return [Array<Types::Disk>]
5873
+ # @!attribute [rw] distributions
5874
+ # An array of objects that describe your distributions.
5875
+ # @return [Array<Types::LightsailDistribution>]
4584
5876
  #
4585
5877
  # @!attribute [rw] next_page_token
4586
- # The token to advance to the next page of resutls from your request.
5878
+ # The token to advance to the next page of results from your request.
4587
5879
  #
4588
5880
  # A next page token is not returned if there are no more results to
4589
5881
  # display.
4590
5882
  #
4591
- # To get the next page of results, perform another `GetDisks` request
4592
- # and specify the next page token using the `pageToken` parameter.
5883
+ # To get the next page of results, perform another `GetDistributions`
5884
+ # request and specify the next page token using the `pageToken`
5885
+ # parameter.
4593
5886
  # @return [String]
4594
5887
  #
4595
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDisksResult AWS API Documentation
5888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/GetDistributionsResult AWS API Documentation
4596
5889
  #
4597
- class GetDisksResult < Struct.new(
4598
- :disks,
5890
+ class GetDistributionsResult < Struct.new(
5891
+ :distributions,
4599
5892
  :next_page_token)
4600
5893
  SENSITIVE = []
4601
5894
  include Aws::Structure
@@ -6625,6 +7918,53 @@ module Aws::Lightsail
6625
7918
  include Aws::Structure
6626
7919
  end
6627
7920
 
7921
+ # Describes the request headers that a Lightsail distribution bases
7922
+ # caching on.
7923
+ #
7924
+ # For the headers that you specify, your distribution caches separate
7925
+ # versions of the specified content based on the header values in viewer
7926
+ # requests. For example, suppose viewer requests for `logo.jpg` contain
7927
+ # a custom `product` header that has a value of either `acme` or `apex`,
7928
+ # and you configure your distribution to cache your content based on
7929
+ # values in the `product` header. Your distribution forwards the
7930
+ # `product` header to the origin and caches the response from the origin
7931
+ # once for each header value.
7932
+ #
7933
+ # @note When making an API call, you may pass HeaderObject
7934
+ # data as a hash:
7935
+ #
7936
+ # {
7937
+ # option: "none", # accepts none, allow-list, all
7938
+ # headers_allow_list: ["Accept"], # accepts Accept, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Language, Authorization, CloudFront-Forwarded-Proto, CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer, CloudFront-Is-Tablet-Viewer, CloudFront-Viewer-Country, Host, Origin, Referer
7939
+ # }
7940
+ #
7941
+ # @!attribute [rw] option
7942
+ # The headers that you want your distribution to forward to your
7943
+ # origin and base caching on.
7944
+ #
7945
+ # You can configure your distribution to do one of the following:
7946
+ #
7947
+ # * <b> <code>all</code> </b> - Forward all headers to your origin.
7948
+ #
7949
+ # * <b> <code>none</code> </b> - Forward only the default headers.
7950
+ #
7951
+ # * <b> <code>allow-list</code> </b> - Forward only the headers you
7952
+ # specify using the `headersAllowList` parameter.
7953
+ # @return [String]
7954
+ #
7955
+ # @!attribute [rw] headers_allow_list
7956
+ # The specific headers to forward to your distribution's origin.
7957
+ # @return [Array<String>]
7958
+ #
7959
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/HeaderObject AWS API Documentation
7960
+ #
7961
+ class HeaderObject < Struct.new(
7962
+ :option,
7963
+ :headers_allow_list)
7964
+ SENSITIVE = []
7965
+ include Aws::Structure
7966
+ end
7967
+
6628
7968
  # Describes the public SSH host keys or the RDP certificate.
6629
7969
  #
6630
7970
  # @!attribute [rw] algorithm
@@ -6736,6 +8076,45 @@ module Aws::Lightsail
6736
8076
  include Aws::Structure
6737
8077
  end
6738
8078
 
8079
+ # Describes the origin resource of an Amazon Lightsail content delivery
8080
+ # network (CDN) distribution.
8081
+ #
8082
+ # An origin can be a Lightsail instance or load balancer. A distribution
8083
+ # pulls content from an origin, caches it, and serves it to viewers via
8084
+ # a worldwide network of edge servers.
8085
+ #
8086
+ # @note When making an API call, you may pass InputOrigin
8087
+ # data as a hash:
8088
+ #
8089
+ # {
8090
+ # name: "ResourceName",
8091
+ # region_name: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
8092
+ # protocol_policy: "http-only", # accepts http-only, https-only
8093
+ # }
8094
+ #
8095
+ # @!attribute [rw] name
8096
+ # The name of the origin resource.
8097
+ # @return [String]
8098
+ #
8099
+ # @!attribute [rw] region_name
8100
+ # The AWS Region name of the origin resource.
8101
+ # @return [String]
8102
+ #
8103
+ # @!attribute [rw] protocol_policy
8104
+ # The protocol that your Amazon Lightsail distribution uses when
8105
+ # establishing a connection with your origin to pull content.
8106
+ # @return [String]
8107
+ #
8108
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/InputOrigin AWS API Documentation
8109
+ #
8110
+ class InputOrigin < Struct.new(
8111
+ :name,
8112
+ :region_name,
8113
+ :protocol_policy)
8114
+ SENSITIVE = []
8115
+ include Aws::Structure
8116
+ end
8117
+
6739
8118
  # Describes an instance (a virtual private server).
6740
8119
  #
6741
8120
  # @!attribute [rw] name
@@ -6756,7 +8135,8 @@ module Aws::Lightsail
6756
8135
  # @return [String]
6757
8136
  #
6758
8137
  # @!attribute [rw] created_at
6759
- # The timestamp when the instance was created (e.g., `1479734909.17`).
8138
+ # The timestamp when the instance was created (e.g., `1479734909.17`)
8139
+ # in Unix time format.
6760
8140
  # @return [Time]
6761
8141
  #
6762
8142
  # @!attribute [rw] location
@@ -7597,44 +8977,170 @@ module Aws::Lightsail
7597
8977
  #
7598
8978
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/IsVpcPeeredResult AWS API Documentation
7599
8979
  #
7600
- class IsVpcPeeredResult < Struct.new(
7601
- :is_peered)
7602
- SENSITIVE = []
7603
- include Aws::Structure
7604
- end
7605
-
7606
- # Describes the SSH key pair.
8980
+ class IsVpcPeeredResult < Struct.new(
8981
+ :is_peered)
8982
+ SENSITIVE = []
8983
+ include Aws::Structure
8984
+ end
8985
+
8986
+ # Describes the SSH key pair.
8987
+ #
8988
+ # @!attribute [rw] name
8989
+ # The friendly name of the SSH key pair.
8990
+ # @return [String]
8991
+ #
8992
+ # @!attribute [rw] arn
8993
+ # The Amazon Resource Name (ARN) of the key pair (e.g.,
8994
+ # `arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE`).
8995
+ # @return [String]
8996
+ #
8997
+ # @!attribute [rw] support_code
8998
+ # The support code. Include this code in your email to support when
8999
+ # you have questions about an instance or another resource in
9000
+ # Lightsail. This code enables our support team to look up your
9001
+ # Lightsail information more easily.
9002
+ # @return [String]
9003
+ #
9004
+ # @!attribute [rw] created_at
9005
+ # The timestamp when the key pair was created (e.g.,
9006
+ # `1479816991.349`).
9007
+ # @return [Time]
9008
+ #
9009
+ # @!attribute [rw] location
9010
+ # The region name and Availability Zone where the key pair was
9011
+ # created.
9012
+ # @return [Types::ResourceLocation]
9013
+ #
9014
+ # @!attribute [rw] resource_type
9015
+ # The resource type (usually `KeyPair`).
9016
+ # @return [String]
9017
+ #
9018
+ # @!attribute [rw] tags
9019
+ # The tag keys and optional values for the resource. For more
9020
+ # information about tags in Lightsail, see the [Lightsail Dev
9021
+ # Guide][1].
9022
+ #
9023
+ #
9024
+ #
9025
+ # [1]: https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags
9026
+ # @return [Array<Types::Tag>]
9027
+ #
9028
+ # @!attribute [rw] fingerprint
9029
+ # The RSA fingerprint of the key pair.
9030
+ # @return [String]
9031
+ #
9032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/KeyPair AWS API Documentation
9033
+ #
9034
+ class KeyPair < Struct.new(
9035
+ :name,
9036
+ :arn,
9037
+ :support_code,
9038
+ :created_at,
9039
+ :location,
9040
+ :resource_type,
9041
+ :tags,
9042
+ :fingerprint)
9043
+ SENSITIVE = []
9044
+ include Aws::Structure
9045
+ end
9046
+
9047
+ # Describes an Amazon Lightsail content delivery network (CDN)
9048
+ # distribution.
9049
+ #
9050
+ # @!attribute [rw] name
9051
+ # The name of the distribution.
9052
+ # @return [String]
9053
+ #
9054
+ # @!attribute [rw] arn
9055
+ # The Amazon Resource Name (ARN) of the distribution.
9056
+ # @return [String]
9057
+ #
9058
+ # @!attribute [rw] support_code
9059
+ # The support code. Include this code in your email to support when
9060
+ # you have questions about your Lightsail distribution. This code
9061
+ # enables our support team to look up your Lightsail information more
9062
+ # easily.
9063
+ # @return [String]
9064
+ #
9065
+ # @!attribute [rw] created_at
9066
+ # The timestamp when the distribution was created.
9067
+ # @return [Time]
9068
+ #
9069
+ # @!attribute [rw] location
9070
+ # An object that describes the location of the distribution, such as
9071
+ # the AWS Region and Availability Zone.
9072
+ #
9073
+ # <note markdown="1"> Lightsail distributions are global resources that can reference an
9074
+ # origin in any AWS Region, and distribute its content globally.
9075
+ # However, all distributions are located in the `us-east-1` Region.
9076
+ #
9077
+ # </note>
9078
+ # @return [Types::ResourceLocation]
9079
+ #
9080
+ # @!attribute [rw] resource_type
9081
+ # The Lightsail resource type (e.g., `Distribution`).
9082
+ # @return [String]
9083
+ #
9084
+ # @!attribute [rw] alternative_domain_names
9085
+ # The alternate domain names of the distribution.
9086
+ # @return [Array<String>]
9087
+ #
9088
+ # @!attribute [rw] status
9089
+ # The status of the distribution.
9090
+ # @return [String]
9091
+ #
9092
+ # @!attribute [rw] is_enabled
9093
+ # Indicates whether the distribution is enabled.
9094
+ # @return [Boolean]
7607
9095
  #
7608
- # @!attribute [rw] name
7609
- # The friendly name of the SSH key pair.
9096
+ # @!attribute [rw] domain_name
9097
+ # The domain name of the distribution.
7610
9098
  # @return [String]
7611
9099
  #
7612
- # @!attribute [rw] arn
7613
- # The Amazon Resource Name (ARN) of the key pair (e.g.,
7614
- # `arn:aws:lightsail:us-east-2:123456789101:KeyPair/05859e3d-331d-48ba-9034-12345EXAMPLE`).
9100
+ # @!attribute [rw] bundle_id
9101
+ # The ID of the bundle currently applied to the distribution.
7615
9102
  # @return [String]
7616
9103
  #
7617
- # @!attribute [rw] support_code
7618
- # The support code. Include this code in your email to support when
7619
- # you have questions about an instance or another resource in
7620
- # Lightsail. This code enables our support team to look up your
7621
- # Lightsail information more easily.
9104
+ # @!attribute [rw] certificate_name
9105
+ # The name of the SSL/TLS certificate attached to the distribution, if
9106
+ # any.
7622
9107
  # @return [String]
7623
9108
  #
7624
- # @!attribute [rw] created_at
7625
- # The timestamp when the key pair was created (e.g.,
7626
- # `1479816991.349`).
7627
- # @return [Time]
9109
+ # @!attribute [rw] origin
9110
+ # An object that describes the origin resource of the distribution,
9111
+ # such as a Lightsail instance or load balancer.
7628
9112
  #
7629
- # @!attribute [rw] location
7630
- # The region name and Availability Zone where the key pair was
7631
- # created.
7632
- # @return [Types::ResourceLocation]
9113
+ # The distribution pulls, caches, and serves content from the origin.
9114
+ # @return [Types::Origin]
7633
9115
  #
7634
- # @!attribute [rw] resource_type
7635
- # The resource type (usually `KeyPair`).
9116
+ # @!attribute [rw] origin_public_dns
9117
+ # The public DNS of the origin.
7636
9118
  # @return [String]
7637
9119
  #
9120
+ # @!attribute [rw] default_cache_behavior
9121
+ # An object that describes the default cache behavior of the
9122
+ # distribution.
9123
+ # @return [Types::CacheBehavior]
9124
+ #
9125
+ # @!attribute [rw] cache_behavior_settings
9126
+ # An object that describes the cache behavior settings of the
9127
+ # distribution.
9128
+ # @return [Types::CacheSettings]
9129
+ #
9130
+ # @!attribute [rw] cache_behaviors
9131
+ # An array of objects that describe the per-path cache behavior of the
9132
+ # distribution.
9133
+ # @return [Array<Types::CacheBehaviorPerPath>]
9134
+ #
9135
+ # @!attribute [rw] able_to_update_bundle
9136
+ # Indicates whether the bundle that is currently applied to your
9137
+ # distribution, specified using the `distributionName` parameter, can
9138
+ # be changed to another bundle.
9139
+ #
9140
+ # Use the `UpdateDistributionBundle` action to change your
9141
+ # distribution's bundle.
9142
+ # @return [Boolean]
9143
+ #
7638
9144
  # @!attribute [rw] tags
7639
9145
  # The tag keys and optional values for the resource. For more
7640
9146
  # information about tags in Lightsail, see the [Lightsail Dev
@@ -7645,21 +9151,28 @@ module Aws::Lightsail
7645
9151
  # [1]: https://lightsail.aws.amazon.com/ls/docs/en/articles/amazon-lightsail-tags
7646
9152
  # @return [Array<Types::Tag>]
7647
9153
  #
7648
- # @!attribute [rw] fingerprint
7649
- # The RSA fingerprint of the key pair.
7650
- # @return [String]
7651
- #
7652
- # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/KeyPair AWS API Documentation
9154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/LightsailDistribution AWS API Documentation
7653
9155
  #
7654
- class KeyPair < Struct.new(
9156
+ class LightsailDistribution < Struct.new(
7655
9157
  :name,
7656
9158
  :arn,
7657
9159
  :support_code,
7658
9160
  :created_at,
7659
9161
  :location,
7660
9162
  :resource_type,
7661
- :tags,
7662
- :fingerprint)
9163
+ :alternative_domain_names,
9164
+ :status,
9165
+ :is_enabled,
9166
+ :domain_name,
9167
+ :bundle_id,
9168
+ :certificate_name,
9169
+ :origin,
9170
+ :origin_public_dns,
9171
+ :default_cache_behavior,
9172
+ :cache_behavior_settings,
9173
+ :cache_behaviors,
9174
+ :able_to_update_bundle,
9175
+ :tags)
7663
9176
  SENSITIVE = []
7664
9177
  include Aws::Structure
7665
9178
  end
@@ -7867,7 +9380,66 @@ module Aws::Lightsail
7867
9380
  # @return [Array<Types::LoadBalancerTlsCertificateDomainValidationRecord>]
7868
9381
  #
7869
9382
  # @!attribute [rw] failure_reason
7870
- # The reason for the SSL/TLS certificate validation failure.
9383
+ # The validation failure reason, if any, of the certificate.
9384
+ #
9385
+ # The following failure reasons are possible:
9386
+ #
9387
+ # * <b> <code>NO_AVAILABLE_CONTACTS</code> </b> - This failure applies
9388
+ # to email validation, which is not available for Lightsail
9389
+ # certificates.
9390
+ #
9391
+ # * <b> <code>ADDITIONAL_VERIFICATION_REQUIRED</code> </b> - Lightsail
9392
+ # requires additional information to process this certificate
9393
+ # request. This can happen as a fraud-protection measure, such as
9394
+ # when the domain ranks within the Alexa top 1000 websites. To
9395
+ # provide the required information, use the [AWS Support Center][1]
9396
+ # to contact AWS Support.
9397
+ #
9398
+ # <note markdown="1"> You cannot request a certificate for Amazon-owned domain names
9399
+ # such as those ending in amazonaws.com, cloudfront.net, or
9400
+ # elasticbeanstalk.com.
9401
+ #
9402
+ # </note>
9403
+ #
9404
+ # * <b> <code>DOMAIN_NOT_ALLOWED</code> </b> - One or more of the
9405
+ # domain names in the certificate request was reported as an unsafe
9406
+ # domain by [VirusTotal][2]. To correct the problem, search for your
9407
+ # domain name on the [VirusTotal][2] website. If your domain is
9408
+ # reported as suspicious, see [Google Help for Hacked Websites][3]
9409
+ # to learn what you can do.
9410
+ #
9411
+ # If you believe that the result is a false positive, notify the
9412
+ # organization that is reporting the domain. VirusTotal is an
9413
+ # aggregate of several antivirus and URL scanners and cannot remove
9414
+ # your domain from a block list itself. After you correct the
9415
+ # problem and the VirusTotal registry has been updated, request a
9416
+ # new certificate.
9417
+ #
9418
+ # If you see this error and your domain is not included in the
9419
+ # VirusTotal list, visit the [AWS Support Center][1] and create a
9420
+ # case.
9421
+ #
9422
+ # * <b> <code>INVALID_PUBLIC_DOMAIN</code> </b> - One or more of the
9423
+ # domain names in the certificate request is not valid. Typically,
9424
+ # this is because a domain name in the request is not a valid
9425
+ # top-level domain. Try to request a certificate again, correcting
9426
+ # any spelling errors or typos that were in the failed request, and
9427
+ # ensure that all domain names in the request are for valid
9428
+ # top-level domains. For example, you cannot request a certificate
9429
+ # for `example.invalidpublicdomain` because `invalidpublicdomain` is
9430
+ # not a valid top-level domain.
9431
+ #
9432
+ # * <b> <code>OTHER</code> </b> - Typically, this failure occurs when
9433
+ # there is a typographical error in one or more of the domain names
9434
+ # in the certificate request. Try to request a certificate again,
9435
+ # correcting any spelling errors or typos that were in the failed
9436
+ # request.
9437
+ #
9438
+ #
9439
+ #
9440
+ # [1]: https://console.aws.amazon.com/support/home
9441
+ # [2]: https://www.virustotal.com/gui/home/url
9442
+ # [3]: https://www.google.com/webmasters/hacked/?hl=en
7871
9443
  # @return [String]
7872
9444
  #
7873
9445
  # @!attribute [rw] issued_at
@@ -7879,8 +9451,8 @@ module Aws::Lightsail
7879
9451
  # @return [String]
7880
9452
  #
7881
9453
  # @!attribute [rw] key_algorithm
7882
- # The algorithm that was used to generate the key pair (the public and
7883
- # private key).
9454
+ # The algorithm used to generate the key pair (the public and private
9455
+ # key).
7884
9456
  # @return [String]
7885
9457
  #
7886
9458
  # @!attribute [rw] not_after
@@ -7892,16 +9464,18 @@ module Aws::Lightsail
7892
9464
  # @return [Time]
7893
9465
  #
7894
9466
  # @!attribute [rw] renewal_summary
7895
- # An object containing information about the status of Lightsail's
7896
- # managed renewal for the certificate.
9467
+ # An object that describes the status of the certificate renewal
9468
+ # managed by Lightsail.
7897
9469
  # @return [Types::LoadBalancerTlsCertificateRenewalSummary]
7898
9470
  #
7899
9471
  # @!attribute [rw] revocation_reason
7900
- # The reason the certificate was revoked. Valid values are below.
9472
+ # The reason the certificate was revoked. This value is present only
9473
+ # when the certificate status is `REVOKED`.
7901
9474
  # @return [String]
7902
9475
  #
7903
9476
  # @!attribute [rw] revoked_at
7904
- # The timestamp when the SSL/TLS certificate was revoked.
9477
+ # The timestamp when the certificate was revoked. This value is
9478
+ # present only when the certificate status is `REVOKED`.
7905
9479
  # @return [Time]
7906
9480
  #
7907
9481
  # @!attribute [rw] serial
@@ -7918,12 +9492,9 @@ module Aws::Lightsail
7918
9492
  # @return [String]
7919
9493
  #
7920
9494
  # @!attribute [rw] subject_alternative_names
7921
- # One or more domains or subdomains included in the certificate. This
7922
- # list contains the domain names that are bound to the public key that
7923
- # is contained in the certificate. The subject alternative names
7924
- # include the canonical domain name (CNAME) of the certificate and
7925
- # additional domain names that can be used to connect to the website,
7926
- # such as `example.com`, `www.example.com`, or `m.example.com`.
9495
+ # An array of strings that specify the alternate domains (e.g.,
9496
+ # `example2.com`) and subdomains (e.g., `blog.example.com`) for the
9497
+ # certificate.
7927
9498
  # @return [Array<String>]
7928
9499
  #
7929
9500
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/LoadBalancerTlsCertificate AWS API Documentation
@@ -8019,9 +9590,54 @@ module Aws::Lightsail
8019
9590
  # Contains information about the status of Lightsail's managed renewal
8020
9591
  # for the certificate.
8021
9592
  #
9593
+ # The renewal status of the certificate.
9594
+ #
9595
+ # The following renewal status are possible:
9596
+ #
9597
+ # * <b> <code>PendingAutoRenewal</code> </b> - Lightsail is attempting
9598
+ # to automatically validate the domain names in the certificate. No
9599
+ # further action is required.
9600
+ #
9601
+ # * <b> <code>PendingValidation</code> </b> - Lightsail couldn't
9602
+ # automatically validate one or more domain names in the certificate.
9603
+ # You must take action to validate these domain names or the
9604
+ # certificate won't be renewed. If you used DNS validation, check to
9605
+ # make sure your certificate's domain validation records exist in
9606
+ # your domain's DNS, and that your certificate remains in use.
9607
+ #
9608
+ # * <b> <code>Success</code> </b> - All domain names in the certificate
9609
+ # are validated, and Lightsail renewed the certificate. No further
9610
+ # action is required.
9611
+ #
9612
+ # * <b> <code>Failed</code> </b> - One or more domain names were not
9613
+ # validated before the certificate expired, and Lightsail did not
9614
+ # renew the certificate. You can request a new certificate using the
9615
+ # `CreateCertificate` action.
9616
+ #
8022
9617
  # @!attribute [rw] renewal_status
8023
- # The status of Lightsail's managed renewal of the certificate. Valid
8024
- # values are listed below.
9618
+ # The renewal status of the certificate.
9619
+ #
9620
+ # The following renewal status are possible:
9621
+ #
9622
+ # * <b> <code>PendingAutoRenewal</code> </b> - Lightsail is attempting
9623
+ # to automatically validate the domain names of the certificate. No
9624
+ # further action is required.
9625
+ #
9626
+ # * <b> <code>PendingValidation</code> </b> - Lightsail couldn't
9627
+ # automatically validate one or more domain names of the
9628
+ # certificate. You must take action to validate these domain names
9629
+ # or the certificate won't be renewed. Check to make sure your
9630
+ # certificate's domain validation records exist in your domain's
9631
+ # DNS, and that your certificate remains in use.
9632
+ #
9633
+ # * <b> <code>Success</code> </b> - All domain names in the
9634
+ # certificate are validated, and Lightsail renewed the certificate.
9635
+ # No further action is required.
9636
+ #
9637
+ # * <b> <code>Failed</code> </b> - One or more domain names were not
9638
+ # validated before the certificate expired, and Lightsail did not
9639
+ # renew the certificate. You can request a new certificate using the
9640
+ # `CreateCertificate` action.
8025
9641
  # @return [String]
8026
9642
  #
8027
9643
  # @!attribute [rw] domain_validation_options
@@ -8337,6 +9953,41 @@ module Aws::Lightsail
8337
9953
  include Aws::Structure
8338
9954
  end
8339
9955
 
9956
+ # Describes the origin resource of an Amazon Lightsail content delivery
9957
+ # network (CDN) distribution.
9958
+ #
9959
+ # An origin can be a Lightsail instance or load balancer. A distribution
9960
+ # pulls content from an origin, caches it, and serves it to viewers via
9961
+ # a worldwide network of edge servers.
9962
+ #
9963
+ # @!attribute [rw] name
9964
+ # The name of the origin resource.
9965
+ # @return [String]
9966
+ #
9967
+ # @!attribute [rw] resource_type
9968
+ # The resource type of the origin resource (e.g., *Instance*).
9969
+ # @return [String]
9970
+ #
9971
+ # @!attribute [rw] region_name
9972
+ # The AWS Region name of the origin resource.
9973
+ # @return [String]
9974
+ #
9975
+ # @!attribute [rw] protocol_policy
9976
+ # The protocol that your Amazon Lightsail distribution uses when
9977
+ # establishing a connection with your origin to pull content.
9978
+ # @return [String]
9979
+ #
9980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/Origin AWS API Documentation
9981
+ #
9982
+ class Origin < Struct.new(
9983
+ :name,
9984
+ :resource_type,
9985
+ :region_name,
9986
+ :protocol_policy)
9987
+ SENSITIVE = []
9988
+ include Aws::Structure
9989
+ end
9990
+
8340
9991
  # The password data for the Windows Server-based instance, including the
8341
9992
  # ciphertext and the key pair name.
8342
9993
  #
@@ -8823,6 +10474,47 @@ module Aws::Lightsail
8823
10474
  include Aws::Structure
8824
10475
  end
8825
10476
 
10477
+ # Describes the query string parameters that an Amazon Lightsail content
10478
+ # delivery network (CDN) distribution to bases caching on.
10479
+ #
10480
+ # For the query strings that you specify, your distribution caches
10481
+ # separate versions of the specified content based on the query string
10482
+ # values in viewer requests.
10483
+ #
10484
+ # @note When making an API call, you may pass QueryStringObject
10485
+ # data as a hash:
10486
+ #
10487
+ # {
10488
+ # option: false,
10489
+ # query_strings_allow_list: ["string"],
10490
+ # }
10491
+ #
10492
+ # @!attribute [rw] option
10493
+ # Indicates whether the distribution forwards and caches based on
10494
+ # query strings.
10495
+ # @return [Boolean]
10496
+ #
10497
+ # @!attribute [rw] query_strings_allow_list
10498
+ # The specific query strings that the distribution forwards to the
10499
+ # origin.
10500
+ #
10501
+ # Your distribution will cache content based on the specified query
10502
+ # strings.
10503
+ #
10504
+ # If the `option` parameter is true, then your distribution forwards
10505
+ # all query strings, regardless of what you specify using the
10506
+ # `queryStringsAllowList` parameter.
10507
+ # @return [Array<String>]
10508
+ #
10509
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/QueryStringObject AWS API Documentation
10510
+ #
10511
+ class QueryStringObject < Struct.new(
10512
+ :option,
10513
+ :query_strings_allow_list)
10514
+ SENSITIVE = []
10515
+ include Aws::Structure
10516
+ end
10517
+
8826
10518
  # @note When making an API call, you may pass RebootInstanceRequest
8827
10519
  # data as a hash:
8828
10520
  #
@@ -9466,6 +11158,106 @@ module Aws::Lightsail
9466
11158
  include Aws::Structure
9467
11159
  end
9468
11160
 
11161
+ # Describes the status of a SSL/TLS certificate renewal managed by
11162
+ # Amazon Lightsail.
11163
+ #
11164
+ # @!attribute [rw] domain_validation_records
11165
+ # An array of objects that describe the domain validation records of
11166
+ # the certificate.
11167
+ # @return [Array<Types::DomainValidationRecord>]
11168
+ #
11169
+ # @!attribute [rw] renewal_status
11170
+ # The renewal status of the certificate.
11171
+ #
11172
+ # The following renewal status are possible:
11173
+ #
11174
+ # * <b> <code>PendingAutoRenewal</code> </b> - Lightsail is attempting
11175
+ # to automatically validate the domain names of the certificate. No
11176
+ # further action is required.
11177
+ #
11178
+ # * <b> <code>PendingValidation</code> </b> - Lightsail couldn't
11179
+ # automatically validate one or more domain names of the
11180
+ # certificate. You must take action to validate these domain names
11181
+ # or the certificate won't be renewed. Check to make sure your
11182
+ # certificate's domain validation records exist in your domain's
11183
+ # DNS, and that your certificate remains in use.
11184
+ #
11185
+ # * <b> <code>Success</code> </b> - All domain names in the
11186
+ # certificate are validated, and Lightsail renewed the certificate.
11187
+ # No further action is required.
11188
+ #
11189
+ # * <b> <code>Failed</code> </b> - One or more domain names were not
11190
+ # validated before the certificate expired, and Lightsail did not
11191
+ # renew the certificate. You can request a new certificate using the
11192
+ # `CreateCertificate` action.
11193
+ # @return [String]
11194
+ #
11195
+ # @!attribute [rw] renewal_status_reason
11196
+ # The reason for the renewal status of the certificate.
11197
+ # @return [String]
11198
+ #
11199
+ # @!attribute [rw] updated_at
11200
+ # The timestamp when the certificate was last updated.
11201
+ # @return [Time]
11202
+ #
11203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/RenewalSummary AWS API Documentation
11204
+ #
11205
+ class RenewalSummary < Struct.new(
11206
+ :domain_validation_records,
11207
+ :renewal_status,
11208
+ :renewal_status_reason,
11209
+ :updated_at)
11210
+ SENSITIVE = []
11211
+ include Aws::Structure
11212
+ end
11213
+
11214
+ # @note When making an API call, you may pass ResetDistributionCacheRequest
11215
+ # data as a hash:
11216
+ #
11217
+ # {
11218
+ # distribution_name: "ResourceName",
11219
+ # }
11220
+ #
11221
+ # @!attribute [rw] distribution_name
11222
+ # The name of the distribution for which to reset cache.
11223
+ #
11224
+ # Use the `GetDistributions` action to get a list of distribution
11225
+ # names that you can specify.
11226
+ # @return [String]
11227
+ #
11228
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCacheRequest AWS API Documentation
11229
+ #
11230
+ class ResetDistributionCacheRequest < Struct.new(
11231
+ :distribution_name)
11232
+ SENSITIVE = []
11233
+ include Aws::Structure
11234
+ end
11235
+
11236
+ # @!attribute [rw] status
11237
+ # The status of the reset cache request.
11238
+ # @return [String]
11239
+ #
11240
+ # @!attribute [rw] create_time
11241
+ # The timestamp of the reset cache request (e.g., `1479734909.17`) in
11242
+ # Unix time format.
11243
+ # @return [Time]
11244
+ #
11245
+ # @!attribute [rw] operation
11246
+ # An array of objects that describe the result of the action, such as
11247
+ # the status of the request, the timestamp of the request, and the
11248
+ # resources affected by the request.
11249
+ # @return [Types::Operation]
11250
+ #
11251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResetDistributionCacheResult AWS API Documentation
11252
+ #
11253
+ class ResetDistributionCacheResult < Struct.new(
11254
+ :status,
11255
+ :create_time,
11256
+ :operation)
11257
+ SENSITIVE = []
11258
+ include Aws::Structure
11259
+ end
11260
+
9469
11261
  # Describes the resource location.
9470
11262
  #
9471
11263
  # @!attribute [rw] availability_zone
@@ -9486,6 +11278,31 @@ module Aws::Lightsail
9486
11278
  include Aws::Structure
9487
11279
  end
9488
11280
 
11281
+ # Describes the domain name system (DNS) records to add to your
11282
+ # domain's DNS to validate it for an Amazon Lightsail certificate.
11283
+ #
11284
+ # @!attribute [rw] name
11285
+ # The name of the record.
11286
+ # @return [String]
11287
+ #
11288
+ # @!attribute [rw] type
11289
+ # The DNS record type.
11290
+ # @return [String]
11291
+ #
11292
+ # @!attribute [rw] value
11293
+ # The value for the DNS record.
11294
+ # @return [String]
11295
+ #
11296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/ResourceRecord AWS API Documentation
11297
+ #
11298
+ class ResourceRecord < Struct.new(
11299
+ :name,
11300
+ :type,
11301
+ :value)
11302
+ SENSITIVE = []
11303
+ include Aws::Structure
11304
+ end
11305
+
9489
11306
  # @note When making an API call, you may pass SendContactMethodVerificationRequest
9490
11307
  # data as a hash:
9491
11308
  #
@@ -9987,6 +11804,156 @@ module Aws::Lightsail
9987
11804
  include Aws::Structure
9988
11805
  end
9989
11806
 
11807
+ # @note When making an API call, you may pass UpdateDistributionBundleRequest
11808
+ # data as a hash:
11809
+ #
11810
+ # {
11811
+ # distribution_name: "ResourceName",
11812
+ # bundle_id: "string",
11813
+ # }
11814
+ #
11815
+ # @!attribute [rw] distribution_name
11816
+ # The name of the distribution for which to update the bundle.
11817
+ #
11818
+ # Use the `GetDistributions` action to get a list of distribution
11819
+ # names that you can specify.
11820
+ # @return [String]
11821
+ #
11822
+ # @!attribute [rw] bundle_id
11823
+ # The bundle ID of the new bundle to apply to your distribution.
11824
+ #
11825
+ # Use the `GetDistributionBundles` action to get a list of
11826
+ # distribution bundle IDs that you can specify.
11827
+ # @return [String]
11828
+ #
11829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundleRequest AWS API Documentation
11830
+ #
11831
+ class UpdateDistributionBundleRequest < Struct.new(
11832
+ :distribution_name,
11833
+ :bundle_id)
11834
+ SENSITIVE = []
11835
+ include Aws::Structure
11836
+ end
11837
+
11838
+ # @!attribute [rw] operation
11839
+ # Describes the API operation.
11840
+ # @return [Types::Operation]
11841
+ #
11842
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionBundleResult AWS API Documentation
11843
+ #
11844
+ class UpdateDistributionBundleResult < Struct.new(
11845
+ :operation)
11846
+ SENSITIVE = []
11847
+ include Aws::Structure
11848
+ end
11849
+
11850
+ # @note When making an API call, you may pass UpdateDistributionRequest
11851
+ # data as a hash:
11852
+ #
11853
+ # {
11854
+ # distribution_name: "ResourceName", # required
11855
+ # origin: {
11856
+ # name: "ResourceName",
11857
+ # region_name: "us-east-1", # accepts us-east-1, us-east-2, us-west-1, us-west-2, eu-west-1, eu-west-2, eu-west-3, eu-central-1, ca-central-1, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2
11858
+ # protocol_policy: "http-only", # accepts http-only, https-only
11859
+ # },
11860
+ # default_cache_behavior: {
11861
+ # behavior: "dont-cache", # accepts dont-cache, cache
11862
+ # },
11863
+ # cache_behavior_settings: {
11864
+ # default_ttl: 1,
11865
+ # minimum_ttl: 1,
11866
+ # maximum_ttl: 1,
11867
+ # allowed_http_methods: "NonEmptyString",
11868
+ # cached_http_methods: "NonEmptyString",
11869
+ # forwarded_cookies: {
11870
+ # option: "none", # accepts none, allow-list, all
11871
+ # cookies_allow_list: ["string"],
11872
+ # },
11873
+ # forwarded_headers: {
11874
+ # option: "none", # accepts none, allow-list, all
11875
+ # headers_allow_list: ["Accept"], # accepts Accept, Accept-Charset, Accept-Datetime, Accept-Encoding, Accept-Language, Authorization, CloudFront-Forwarded-Proto, CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer, CloudFront-Is-SmartTV-Viewer, CloudFront-Is-Tablet-Viewer, CloudFront-Viewer-Country, Host, Origin, Referer
11876
+ # },
11877
+ # forwarded_query_strings: {
11878
+ # option: false,
11879
+ # query_strings_allow_list: ["string"],
11880
+ # },
11881
+ # },
11882
+ # cache_behaviors: [
11883
+ # {
11884
+ # path: "string",
11885
+ # behavior: "dont-cache", # accepts dont-cache, cache
11886
+ # },
11887
+ # ],
11888
+ # is_enabled: false,
11889
+ # }
11890
+ #
11891
+ # @!attribute [rw] distribution_name
11892
+ # The name of the distribution to update.
11893
+ #
11894
+ # Use the `GetDistributions` action to get a list of distribution
11895
+ # names that you can specify.
11896
+ # @return [String]
11897
+ #
11898
+ # @!attribute [rw] origin
11899
+ # An object that describes the origin resource for the distribution,
11900
+ # such as a Lightsail instance or load balancer.
11901
+ #
11902
+ # The distribution pulls, caches, and serves content from the origin.
11903
+ # @return [Types::InputOrigin]
11904
+ #
11905
+ # @!attribute [rw] default_cache_behavior
11906
+ # An object that describes the default cache behavior for the
11907
+ # distribution.
11908
+ # @return [Types::CacheBehavior]
11909
+ #
11910
+ # @!attribute [rw] cache_behavior_settings
11911
+ # An object that describes the cache behavior settings for the
11912
+ # distribution.
11913
+ #
11914
+ # <note markdown="1"> The `cacheBehaviorSettings` specified in your
11915
+ # `UpdateDistributionRequest` will replace your distribution's
11916
+ # existing settings.
11917
+ #
11918
+ # </note>
11919
+ # @return [Types::CacheSettings]
11920
+ #
11921
+ # @!attribute [rw] cache_behaviors
11922
+ # An array of objects that describe the per-path cache behavior for
11923
+ # the distribution.
11924
+ # @return [Array<Types::CacheBehaviorPerPath>]
11925
+ #
11926
+ # @!attribute [rw] is_enabled
11927
+ # Indicates whether to enable the distribution.
11928
+ # @return [Boolean]
11929
+ #
11930
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionRequest AWS API Documentation
11931
+ #
11932
+ class UpdateDistributionRequest < Struct.new(
11933
+ :distribution_name,
11934
+ :origin,
11935
+ :default_cache_behavior,
11936
+ :cache_behavior_settings,
11937
+ :cache_behaviors,
11938
+ :is_enabled)
11939
+ SENSITIVE = []
11940
+ include Aws::Structure
11941
+ end
11942
+
11943
+ # @!attribute [rw] operation
11944
+ # An array of objects that describe the result of the action, such as
11945
+ # the status of the request, the timestamp of the request, and the
11946
+ # resources affected by the request.
11947
+ # @return [Types::Operation]
11948
+ #
11949
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/UpdateDistributionResult AWS API Documentation
11950
+ #
11951
+ class UpdateDistributionResult < Struct.new(
11952
+ :operation)
11953
+ SENSITIVE = []
11954
+ include Aws::Structure
11955
+ end
11956
+
9990
11957
  # @note When making an API call, you may pass UpdateDomainEntryRequest
9991
11958
  # data as a hash:
9992
11959
  #