aws-sdk-lightsail 1.35.0 → 1.36.0

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