aws-sdk-lightsail 1.40.0 → 1.41.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.
@@ -392,7 +392,9 @@ module Aws::Lightsail
392
392
  InstanceState = Shapes::StructureShape.new(name: 'InstanceState')
393
393
  InvalidInputException = Shapes::StructureShape.new(name: 'InvalidInputException')
394
394
  IpAddress = Shapes::StringShape.new(name: 'IpAddress')
395
- IpV6Address = Shapes::StringShape.new(name: 'IpV6Address')
395
+ IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
396
+ Ipv6Address = Shapes::StringShape.new(name: 'Ipv6Address')
397
+ Ipv6AddressList = Shapes::ListShape.new(name: 'Ipv6AddressList')
396
398
  IsVpcPeeredRequest = Shapes::StructureShape.new(name: 'IsVpcPeeredRequest')
397
399
  IsVpcPeeredResult = Shapes::StructureShape.new(name: 'IsVpcPeeredResult')
398
400
  IsoDate = Shapes::TimestampShape.new(name: 'IsoDate')
@@ -512,6 +514,8 @@ module Aws::Lightsail
512
514
  SensitiveString = Shapes::StringShape.new(name: 'SensitiveString')
513
515
  SerialNumber = Shapes::StringShape.new(name: 'SerialNumber')
514
516
  ServiceException = Shapes::StructureShape.new(name: 'ServiceException')
517
+ SetIpAddressTypeRequest = Shapes::StructureShape.new(name: 'SetIpAddressTypeRequest')
518
+ SetIpAddressTypeResult = Shapes::StructureShape.new(name: 'SetIpAddressTypeResult')
515
519
  StartInstanceRequest = Shapes::StructureShape.new(name: 'StartInstanceRequest')
516
520
  StartInstanceResult = Shapes::StructureShape.new(name: 'StartInstanceResult')
517
521
  StartRelationalDatabaseRequest = Shapes::StructureShape.new(name: 'StartRelationalDatabaseRequest')
@@ -1005,6 +1009,7 @@ module Aws::Lightsail
1005
1009
  CreateDistributionRequest.add_member(:cache_behavior_settings, Shapes::ShapeRef.new(shape: CacheSettings, location_name: "cacheBehaviorSettings"))
1006
1010
  CreateDistributionRequest.add_member(:cache_behaviors, Shapes::ShapeRef.new(shape: CacheBehaviorList, location_name: "cacheBehaviors"))
1007
1011
  CreateDistributionRequest.add_member(:bundle_id, Shapes::ShapeRef.new(shape: string, required: true, location_name: "bundleId"))
1012
+ CreateDistributionRequest.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
1008
1013
  CreateDistributionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1009
1014
  CreateDistributionRequest.struct_class = Types::CreateDistributionRequest
1010
1015
 
@@ -1043,6 +1048,7 @@ module Aws::Lightsail
1043
1048
  CreateInstancesFromSnapshotRequest.add_member(:key_pair_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "keyPairName"))
1044
1049
  CreateInstancesFromSnapshotRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1045
1050
  CreateInstancesFromSnapshotRequest.add_member(:add_ons, Shapes::ShapeRef.new(shape: AddOnRequestList, location_name: "addOns"))
1051
+ CreateInstancesFromSnapshotRequest.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
1046
1052
  CreateInstancesFromSnapshotRequest.add_member(:source_instance_name, Shapes::ShapeRef.new(shape: string, location_name: "sourceInstanceName"))
1047
1053
  CreateInstancesFromSnapshotRequest.add_member(:restore_date, Shapes::ShapeRef.new(shape: string, location_name: "restoreDate"))
1048
1054
  CreateInstancesFromSnapshotRequest.add_member(:use_latest_restorable_auto_snapshot, Shapes::ShapeRef.new(shape: boolean, location_name: "useLatestRestorableAutoSnapshot"))
@@ -1060,6 +1066,7 @@ module Aws::Lightsail
1060
1066
  CreateInstancesRequest.add_member(:key_pair_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "keyPairName"))
1061
1067
  CreateInstancesRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1062
1068
  CreateInstancesRequest.add_member(:add_ons, Shapes::ShapeRef.new(shape: AddOnRequestList, location_name: "addOns"))
1069
+ CreateInstancesRequest.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
1063
1070
  CreateInstancesRequest.struct_class = Types::CreateInstancesRequest
1064
1071
 
1065
1072
  CreateInstancesResult.add_member(:operations, Shapes::ShapeRef.new(shape: OperationList, location_name: "operations"))
@@ -1082,6 +1089,7 @@ module Aws::Lightsail
1082
1089
  CreateLoadBalancerRequest.add_member(:certificate_domain_name, Shapes::ShapeRef.new(shape: DomainName, location_name: "certificateDomainName"))
1083
1090
  CreateLoadBalancerRequest.add_member(:certificate_alternative_names, Shapes::ShapeRef.new(shape: DomainNameList, location_name: "certificateAlternativeNames"))
1084
1091
  CreateLoadBalancerRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
1092
+ CreateLoadBalancerRequest.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
1085
1093
  CreateLoadBalancerRequest.struct_class = Types::CreateLoadBalancerRequest
1086
1094
 
1087
1095
  CreateLoadBalancerResult.add_member(:operations, Shapes::ShapeRef.new(shape: OperationList, location_name: "operations"))
@@ -1916,7 +1924,8 @@ module Aws::Lightsail
1916
1924
  Instance.add_member(:is_static_ip, Shapes::ShapeRef.new(shape: boolean, location_name: "isStaticIp"))
1917
1925
  Instance.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "privateIpAddress"))
1918
1926
  Instance.add_member(:public_ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "publicIpAddress"))
1919
- Instance.add_member(:ipv6_address, Shapes::ShapeRef.new(shape: IpV6Address, location_name: "ipv6Address"))
1927
+ Instance.add_member(:ipv6_addresses, Shapes::ShapeRef.new(shape: Ipv6AddressList, location_name: "ipv6Addresses"))
1928
+ Instance.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
1920
1929
  Instance.add_member(:hardware, Shapes::ShapeRef.new(shape: InstanceHardware, location_name: "hardware"))
1921
1930
  Instance.add_member(:networking, Shapes::ShapeRef.new(shape: InstanceNetworking, location_name: "networking"))
1922
1931
  Instance.add_member(:state, Shapes::ShapeRef.new(shape: InstanceState, location_name: "state"))
@@ -1973,6 +1982,7 @@ module Aws::Lightsail
1973
1982
  InstancePortInfo.add_member(:common_name, Shapes::ShapeRef.new(shape: string, location_name: "commonName"))
1974
1983
  InstancePortInfo.add_member(:access_direction, Shapes::ShapeRef.new(shape: AccessDirection, location_name: "accessDirection"))
1975
1984
  InstancePortInfo.add_member(:cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrs"))
1985
+ InstancePortInfo.add_member(:ipv6_cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "ipv6Cidrs"))
1976
1986
  InstancePortInfo.add_member(:cidr_list_aliases, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrListAliases"))
1977
1987
  InstancePortInfo.struct_class = Types::InstancePortInfo
1978
1988
 
@@ -1983,6 +1993,7 @@ module Aws::Lightsail
1983
1993
  InstancePortState.add_member(:protocol, Shapes::ShapeRef.new(shape: NetworkProtocol, location_name: "protocol"))
1984
1994
  InstancePortState.add_member(:state, Shapes::ShapeRef.new(shape: PortState, location_name: "state"))
1985
1995
  InstancePortState.add_member(:cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrs"))
1996
+ InstancePortState.add_member(:ipv6_cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "ipv6Cidrs"))
1986
1997
  InstancePortState.add_member(:cidr_list_aliases, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrListAliases"))
1987
1998
  InstancePortState.struct_class = Types::InstancePortState
1988
1999
 
@@ -2023,6 +2034,8 @@ module Aws::Lightsail
2023
2034
  InvalidInputException.add_member(:tip, Shapes::ShapeRef.new(shape: string, location_name: "tip"))
2024
2035
  InvalidInputException.struct_class = Types::InvalidInputException
2025
2036
 
2037
+ Ipv6AddressList.member = Shapes::ShapeRef.new(shape: Ipv6Address)
2038
+
2026
2039
  IsVpcPeeredRequest.struct_class = Types::IsVpcPeeredRequest
2027
2040
 
2028
2041
  IsVpcPeeredResult.add_member(:is_peered, Shapes::ShapeRef.new(shape: boolean, location_name: "isPeered"))
@@ -2058,6 +2071,7 @@ module Aws::Lightsail
2058
2071
  LightsailDistribution.add_member(:cache_behavior_settings, Shapes::ShapeRef.new(shape: CacheSettings, location_name: "cacheBehaviorSettings"))
2059
2072
  LightsailDistribution.add_member(:cache_behaviors, Shapes::ShapeRef.new(shape: CacheBehaviorList, location_name: "cacheBehaviors"))
2060
2073
  LightsailDistribution.add_member(:able_to_update_bundle, Shapes::ShapeRef.new(shape: boolean, location_name: "ableToUpdateBundle"))
2074
+ LightsailDistribution.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
2061
2075
  LightsailDistribution.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "tags"))
2062
2076
  LightsailDistribution.struct_class = Types::LightsailDistribution
2063
2077
 
@@ -2077,6 +2091,7 @@ module Aws::Lightsail
2077
2091
  LoadBalancer.add_member(:instance_health_summary, Shapes::ShapeRef.new(shape: InstanceHealthSummaryList, location_name: "instanceHealthSummary"))
2078
2092
  LoadBalancer.add_member(:tls_certificate_summaries, Shapes::ShapeRef.new(shape: LoadBalancerTlsCertificateSummaryList, location_name: "tlsCertificateSummaries"))
2079
2093
  LoadBalancer.add_member(:configuration_options, Shapes::ShapeRef.new(shape: LoadBalancerConfigurationOptions, location_name: "configurationOptions"))
2094
+ LoadBalancer.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, location_name: "ipAddressType"))
2080
2095
  LoadBalancer.struct_class = Types::LoadBalancer
2081
2096
 
2082
2097
  LoadBalancerConfigurationOptions.key = Shapes::ShapeRef.new(shape: LoadBalancerAttributeName)
@@ -2233,6 +2248,7 @@ module Aws::Lightsail
2233
2248
  PortInfo.add_member(:to_port, Shapes::ShapeRef.new(shape: Port, location_name: "toPort"))
2234
2249
  PortInfo.add_member(:protocol, Shapes::ShapeRef.new(shape: NetworkProtocol, location_name: "protocol"))
2235
2250
  PortInfo.add_member(:cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrs"))
2251
+ PortInfo.add_member(:ipv6_cidrs, Shapes::ShapeRef.new(shape: StringList, location_name: "ipv6Cidrs"))
2236
2252
  PortInfo.add_member(:cidr_list_aliases, Shapes::ShapeRef.new(shape: StringList, location_name: "cidrListAliases"))
2237
2253
  PortInfo.struct_class = Types::PortInfo
2238
2254
 
@@ -2444,6 +2460,14 @@ module Aws::Lightsail
2444
2460
  ServiceException.add_member(:tip, Shapes::ShapeRef.new(shape: string, location_name: "tip"))
2445
2461
  ServiceException.struct_class = Types::ServiceException
2446
2462
 
2463
+ SetIpAddressTypeRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
2464
+ SetIpAddressTypeRequest.add_member(:resource_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "resourceName"))
2465
+ SetIpAddressTypeRequest.add_member(:ip_address_type, Shapes::ShapeRef.new(shape: IpAddressType, required: true, location_name: "ipAddressType"))
2466
+ SetIpAddressTypeRequest.struct_class = Types::SetIpAddressTypeRequest
2467
+
2468
+ SetIpAddressTypeResult.add_member(:operations, Shapes::ShapeRef.new(shape: OperationList, location_name: "operations"))
2469
+ SetIpAddressTypeResult.struct_class = Types::SetIpAddressTypeResult
2470
+
2447
2471
  StartInstanceRequest.add_member(:instance_name, Shapes::ShapeRef.new(shape: ResourceName, required: true, location_name: "instanceName"))
2448
2472
  StartInstanceRequest.struct_class = Types::StartInstanceRequest
2449
2473
 
@@ -4448,6 +4472,21 @@ module Aws::Lightsail
4448
4472
  o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
4449
4473
  end)
4450
4474
 
4475
+ api.add_operation(:set_ip_address_type, Seahorse::Model::Operation.new.tap do |o|
4476
+ o.name = "SetIpAddressType"
4477
+ o.http_method = "POST"
4478
+ o.http_request_uri = "/"
4479
+ o.input = Shapes::ShapeRef.new(shape: SetIpAddressTypeRequest)
4480
+ o.output = Shapes::ShapeRef.new(shape: SetIpAddressTypeResult)
4481
+ o.errors << Shapes::ShapeRef.new(shape: ServiceException)
4482
+ o.errors << Shapes::ShapeRef.new(shape: InvalidInputException)
4483
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
4484
+ o.errors << Shapes::ShapeRef.new(shape: OperationFailureException)
4485
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
4486
+ o.errors << Shapes::ShapeRef.new(shape: AccountSetupInProgressException)
4487
+ o.errors << Shapes::ShapeRef.new(shape: UnauthenticatedException)
4488
+ end)
4489
+
4451
4490
  api.add_operation(:start_instance, Seahorse::Model::Operation.new.tap do |o|
4452
4491
  o.name = "StartInstance"
4453
4492
  o.http_method = "POST"
@@ -1361,6 +1361,7 @@ module Aws::Lightsail
1361
1361
  # to_port: 1,
1362
1362
  # protocol: "tcp", # accepts tcp, all, udp, icmp
1363
1363
  # cidrs: ["string"],
1364
+ # ipv6_cidrs: ["string"],
1364
1365
  # cidr_list_aliases: ["string"],
1365
1366
  # },
1366
1367
  # instance_name: "ResourceName", # required
@@ -3047,6 +3048,7 @@ module Aws::Lightsail
3047
3048
  # },
3048
3049
  # ],
3049
3050
  # bundle_id: "string", # required
3051
+ # ip_address_type: "dualstack", # accepts dualstack, ipv4
3050
3052
  # tags: [
3051
3053
  # {
3052
3054
  # key: "TagKey",
@@ -3092,6 +3094,15 @@ module Aws::Lightsail
3092
3094
  # distribution bundle IDs that you can specify.
3093
3095
  # @return [String]
3094
3096
  #
3097
+ # @!attribute [rw] ip_address_type
3098
+ # The IP address type for the distribution.
3099
+ #
3100
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
3101
+ # IPv4 and IPv6.
3102
+ #
3103
+ # The default value is `dualstack`.
3104
+ # @return [String]
3105
+ #
3095
3106
  # @!attribute [rw] tags
3096
3107
  # The tag keys and optional values to add to the distribution during
3097
3108
  # create.
@@ -3108,6 +3119,7 @@ module Aws::Lightsail
3108
3119
  :cache_behavior_settings,
3109
3120
  :cache_behaviors,
3110
3121
  :bundle_id,
3122
+ :ip_address_type,
3111
3123
  :tags)
3112
3124
  SENSITIVE = []
3113
3125
  include Aws::Structure
@@ -3322,6 +3334,7 @@ module Aws::Lightsail
3322
3334
  # },
3323
3335
  # },
3324
3336
  # ],
3337
+ # ip_address_type: "dualstack", # accepts dualstack, ipv4
3325
3338
  # source_instance_name: "string",
3326
3339
  # restore_date: "string",
3327
3340
  # use_latest_restorable_auto_snapshot: false,
@@ -3399,6 +3412,15 @@ module Aws::Lightsail
3399
3412
  # instance.
3400
3413
  # @return [Array<Types::AddOnRequest>]
3401
3414
  #
3415
+ # @!attribute [rw] ip_address_type
3416
+ # The IP address type for the instance.
3417
+ #
3418
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
3419
+ # IPv4 and IPv6.
3420
+ #
3421
+ # The default value is `dualstack`.
3422
+ # @return [String]
3423
+ #
3402
3424
  # @!attribute [rw] source_instance_name
3403
3425
  # The name of the source instance from which the source automatic
3404
3426
  # snapshot was created.
@@ -3472,6 +3494,7 @@ module Aws::Lightsail
3472
3494
  :key_pair_name,
3473
3495
  :tags,
3474
3496
  :add_ons,
3497
+ :ip_address_type,
3475
3498
  :source_instance_name,
3476
3499
  :restore_date,
3477
3500
  :use_latest_restorable_auto_snapshot)
@@ -3518,6 +3541,7 @@ module Aws::Lightsail
3518
3541
  # },
3519
3542
  # },
3520
3543
  # ],
3544
+ # ip_address_type: "dualstack", # accepts dualstack, ipv4
3521
3545
  # }
3522
3546
  #
3523
3547
  # @!attribute [rw] instance_names
@@ -3600,6 +3624,15 @@ module Aws::Lightsail
3600
3624
  # instance.
3601
3625
  # @return [Array<Types::AddOnRequest>]
3602
3626
  #
3627
+ # @!attribute [rw] ip_address_type
3628
+ # The IP address type for the instance.
3629
+ #
3630
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
3631
+ # IPv4 and IPv6.
3632
+ #
3633
+ # The default value is `dualstack`.
3634
+ # @return [String]
3635
+ #
3603
3636
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateInstancesRequest AWS API Documentation
3604
3637
  #
3605
3638
  class CreateInstancesRequest < Struct.new(
@@ -3611,7 +3644,8 @@ module Aws::Lightsail
3611
3644
  :user_data,
3612
3645
  :key_pair_name,
3613
3646
  :tags,
3614
- :add_ons)
3647
+ :add_ons,
3648
+ :ip_address_type)
3615
3649
  SENSITIVE = []
3616
3650
  include Aws::Structure
3617
3651
  end
@@ -3709,6 +3743,7 @@ module Aws::Lightsail
3709
3743
  # value: "TagValue",
3710
3744
  # },
3711
3745
  # ],
3746
+ # ip_address_type: "dualstack", # accepts dualstack, ipv4
3712
3747
  # }
3713
3748
  #
3714
3749
  # @!attribute [rw] load_balancer_name
@@ -3757,6 +3792,15 @@ module Aws::Lightsail
3757
3792
  # Use the `TagResource` action to tag a resource after it's created.
3758
3793
  # @return [Array<Types::Tag>]
3759
3794
  #
3795
+ # @!attribute [rw] ip_address_type
3796
+ # The IP address type for the load balancer.
3797
+ #
3798
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
3799
+ # IPv4 and IPv6.
3800
+ #
3801
+ # The default value is `dualstack`.
3802
+ # @return [String]
3803
+ #
3760
3804
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/CreateLoadBalancerRequest AWS API Documentation
3761
3805
  #
3762
3806
  class CreateLoadBalancerRequest < Struct.new(
@@ -3766,7 +3810,8 @@ module Aws::Lightsail
3766
3810
  :certificate_name,
3767
3811
  :certificate_domain_name,
3768
3812
  :certificate_alternative_names,
3769
- :tags)
3813
+ :tags,
3814
+ :ip_address_type)
3770
3815
  SENSITIVE = []
3771
3816
  include Aws::Structure
3772
3817
  end
@@ -9457,8 +9502,15 @@ module Aws::Lightsail
9457
9502
  # The public IP address of the instance.
9458
9503
  # @return [String]
9459
9504
  #
9460
- # @!attribute [rw] ipv6_address
9461
- # The IPv6 address of the instance.
9505
+ # @!attribute [rw] ipv6_addresses
9506
+ # The IPv6 addresses of the instance.
9507
+ # @return [Array<String>]
9508
+ #
9509
+ # @!attribute [rw] ip_address_type
9510
+ # The IP address type of the instance.
9511
+ #
9512
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
9513
+ # IPv4 and IPv6.
9462
9514
  # @return [String]
9463
9515
  #
9464
9516
  # @!attribute [rw] hardware
@@ -9500,7 +9552,8 @@ module Aws::Lightsail
9500
9552
  :is_static_ip,
9501
9553
  :private_ip_address,
9502
9554
  :public_ip_address,
9503
- :ipv6_address,
9555
+ :ipv6_addresses,
9556
+ :ip_address_type,
9504
9557
  :hardware,
9505
9558
  :networking,
9506
9559
  :state,
@@ -9628,14 +9681,26 @@ module Aws::Lightsail
9628
9681
  # The following configuration options are available:
9629
9682
  #
9630
9683
  # * `DEFAULT` - Use the default firewall settings from the Lightsail
9631
- # instance blueprint.
9684
+ # instance blueprint. If this is specified, then IPv4 and IPv6 will
9685
+ # be configured for the new instance that is created in Amazon EC2.
9632
9686
  #
9633
9687
  # * `INSTANCE` - Use the configured firewall settings from the source
9634
- # Lightsail instance.
9635
- #
9636
- # * `NONE` - Use the default Amazon EC2 security group.
9637
- #
9638
- # * `CLOSED` - All ports closed.
9688
+ # Lightsail instance. If this is specified, the new instance that is
9689
+ # created in Amazon EC2 will be configured to match the
9690
+ # configuration of the source Lightsail instance. For example, if
9691
+ # the source instance is configured for dual-stack (IPv4 and IPv6),
9692
+ # then IPv4 and IPv6 will be configured for the new instance that is
9693
+ # created in Amazon EC2. If the source instance is configured for
9694
+ # IPv4 only, then only IPv4 will be configured for the new instance
9695
+ # that is created in Amazon EC2.
9696
+ #
9697
+ # * `NONE` - Use the default Amazon EC2 security group. If this is
9698
+ # specified, then only IPv4 will be configured for the new instance
9699
+ # that is created in Amazon EC2.
9700
+ #
9701
+ # * `CLOSED` - All ports closed. If this is specified, then only IPv4
9702
+ # will be configured for the new instance that is created in Amazon
9703
+ # EC2.
9639
9704
  #
9640
9705
  # <note markdown="1"> If you configured `lightsail-connect` as a `cidrListAliases` on your
9641
9706
  # instance, or if you chose to allow the Lightsail browser-based SSH
@@ -9810,14 +9875,20 @@ module Aws::Lightsail
9810
9875
  #
9811
9876
  # * TCP and UDP - `0` to `65535`
9812
9877
  #
9813
- # * ICMP - The ICMP type. For example, specify `8` as the `fromPort`
9814
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
9815
- # Ping. For more information, see [Control Messages][1] on
9816
- # *Wikipedia*.
9878
+ # * ICMP - The ICMP type for IPv4 addresses. For example, specify `8`
9879
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
9880
+ # code), to enable ICMP Ping. For more information, see [Control
9881
+ # Messages][1] on *Wikipedia*.
9882
+ #
9883
+ # * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify
9884
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
9885
+ # code). For more information, see [Internet Control Message
9886
+ # Protocol for IPv6][2].
9817
9887
  #
9818
9888
  #
9819
9889
  #
9820
9890
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
9891
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
9821
9892
  # @return [Integer]
9822
9893
  #
9823
9894
  # @!attribute [rw] to_port
@@ -9827,14 +9898,20 @@ module Aws::Lightsail
9827
9898
  #
9828
9899
  # * TCP and UDP - `0` to `65535`
9829
9900
  #
9830
- # * ICMP - The ICMP code. For example, specify `8` as the `fromPort`
9831
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
9832
- # Ping. For more information, see [Control Messages][1] on
9833
- # *Wikipedia*.
9901
+ # * ICMP - The ICMP code for IPv4 addresses. For example, specify `8`
9902
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
9903
+ # code), to enable ICMP Ping. For more information, see [Control
9904
+ # Messages][1] on *Wikipedia*.
9905
+ #
9906
+ # * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify
9907
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
9908
+ # code). For more information, see [Internet Control Message
9909
+ # Protocol for IPv6][2].
9834
9910
  #
9835
9911
  #
9836
9912
  #
9837
9913
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
9914
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
9838
9915
  # @return [Integer]
9839
9916
  #
9840
9917
  # @!attribute [rw] protocol
@@ -9896,9 +9973,33 @@ module Aws::Lightsail
9896
9973
  # @return [String]
9897
9974
  #
9898
9975
  # @!attribute [rw] cidrs
9899
- # The IP address, or range of IP addresses in CIDR notation, that are
9900
- # allowed to connect to an instance through the ports, and the
9901
- # protocol. Lightsail supports IPv4 addresses.
9976
+ # The IPv4 address, or range of IPv4 addresses (in CIDR notation) that
9977
+ # are allowed to connect to an instance through the ports, and the
9978
+ # protocol.
9979
+ #
9980
+ # <note markdown="1"> The `ipv6Cidrs` parameter lists the IPv6 addresses that are allowed
9981
+ # to connect to an instance.
9982
+ #
9983
+ # </note>
9984
+ #
9985
+ # For more information about CIDR block notation, see [Classless
9986
+ # Inter-Domain Routing][1] on *Wikipedia*.
9987
+ #
9988
+ #
9989
+ #
9990
+ # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
9991
+ # @return [Array<String>]
9992
+ #
9993
+ # @!attribute [rw] ipv6_cidrs
9994
+ # The IPv6 address, or range of IPv6 addresses (in CIDR notation) that
9995
+ # are allowed to connect to an instance through the ports, and the
9996
+ # protocol. Only devices with an IPv6 address can connect to an
9997
+ # instance through IPv6; otherwise, IPv4 should be used.
9998
+ #
9999
+ # <note markdown="1"> The `cidrs` parameter lists the IPv4 addresses that are allowed to
10000
+ # connect to an instance.
10001
+ #
10002
+ # </note>
9902
10003
  #
9903
10004
  # For more information about CIDR block notation, see [Classless
9904
10005
  # Inter-Domain Routing][1] on *Wikipedia*.
@@ -9928,6 +10029,7 @@ module Aws::Lightsail
9928
10029
  :common_name,
9929
10030
  :access_direction,
9930
10031
  :cidrs,
10032
+ :ipv6_cidrs,
9931
10033
  :cidr_list_aliases)
9932
10034
  SENSITIVE = []
9933
10035
  include Aws::Structure
@@ -9943,14 +10045,20 @@ module Aws::Lightsail
9943
10045
  #
9944
10046
  # * TCP and UDP - `0` to `65535`
9945
10047
  #
9946
- # * ICMP - The ICMP type. For example, specify `8` as the `fromPort`
9947
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
9948
- # Ping. For more information, see [Control Messages][1] on
9949
- # *Wikipedia*.
10048
+ # * ICMP - The ICMP type for IPv4 addresses. For example, specify `8`
10049
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
10050
+ # code), to enable ICMP Ping. For more information, see [Control
10051
+ # Messages][1] on *Wikipedia*.
10052
+ #
10053
+ # * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify
10054
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
10055
+ # code). For more information, see [Internet Control Message
10056
+ # Protocol for IPv6][2].
9950
10057
  #
9951
10058
  #
9952
10059
  #
9953
10060
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
10061
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
9954
10062
  # @return [Integer]
9955
10063
  #
9956
10064
  # @!attribute [rw] to_port
@@ -9960,14 +10068,20 @@ module Aws::Lightsail
9960
10068
  #
9961
10069
  # * TCP and UDP - `0` to `65535`
9962
10070
  #
9963
- # * ICMP - The ICMP code. For example, specify `8` as the `fromPort`
9964
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
9965
- # Ping. For more information, see [Control Messages][1] on
9966
- # *Wikipedia*.
10071
+ # * ICMP - The ICMP code for IPv4 addresses. For example, specify `8`
10072
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
10073
+ # code), to enable ICMP Ping. For more information, see [Control
10074
+ # Messages][1] on *Wikipedia*.
10075
+ #
10076
+ # * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify
10077
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
10078
+ # code). For more information, see [Internet Control Message
10079
+ # Protocol for IPv6][2].
9967
10080
  #
9968
10081
  #
9969
10082
  #
9970
10083
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
10084
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
9971
10085
  # @return [Integer]
9972
10086
  #
9973
10087
  # @!attribute [rw] protocol
@@ -10015,9 +10129,33 @@ module Aws::Lightsail
10015
10129
  # @return [String]
10016
10130
  #
10017
10131
  # @!attribute [rw] cidrs
10018
- # The IP address, or range of IP addresses in CIDR notation, that are
10019
- # allowed to connect to an instance through the ports, and the
10020
- # protocol. Lightsail supports IPv4 addresses.
10132
+ # The IPv4 address, or range of IPv4 addresses (in CIDR notation) that
10133
+ # are allowed to connect to an instance through the ports, and the
10134
+ # protocol.
10135
+ #
10136
+ # <note markdown="1"> The `ipv6Cidrs` parameter lists the IPv6 addresses that are allowed
10137
+ # to connect to an instance.
10138
+ #
10139
+ # </note>
10140
+ #
10141
+ # For more information about CIDR block notation, see [Classless
10142
+ # Inter-Domain Routing][1] on *Wikipedia*.
10143
+ #
10144
+ #
10145
+ #
10146
+ # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
10147
+ # @return [Array<String>]
10148
+ #
10149
+ # @!attribute [rw] ipv6_cidrs
10150
+ # The IPv6 address, or range of IPv6 addresses (in CIDR notation) that
10151
+ # are allowed to connect to an instance through the ports, and the
10152
+ # protocol. Only devices with an IPv6 address can connect to an
10153
+ # instance through IPv6; otherwise, IPv4 should be used.
10154
+ #
10155
+ # <note markdown="1"> The `cidrs` parameter lists the IPv4 addresses that are allowed to
10156
+ # connect to an instance.
10157
+ #
10158
+ # </note>
10021
10159
  #
10022
10160
  # For more information about CIDR block notation, see [Classless
10023
10161
  # Inter-Domain Routing][1] on *Wikipedia*.
@@ -10044,6 +10182,7 @@ module Aws::Lightsail
10044
10182
  :protocol,
10045
10183
  :state,
10046
10184
  :cidrs,
10185
+ :ipv6_cidrs,
10047
10186
  :cidr_list_aliases)
10048
10187
  SENSITIVE = []
10049
10188
  include Aws::Structure
@@ -10206,9 +10345,9 @@ module Aws::Lightsail
10206
10345
  # Lightsail throws this exception when user input does not conform to
10207
10346
  # the validation rules of an input field.
10208
10347
  #
10209
- # <note markdown="1"> Domain-related APIs are only available in the N. Virginia (us-east-1)
10210
- # Region. Please set your AWS Region configuration to us-east-1 to
10211
- # create, view, or edit these resources.
10348
+ # <note markdown="1"> Domain and distribution APIs are only available in the N. Virginia
10349
+ # (`us-east-1`) AWS Region. Please set your AWS Region configuration to
10350
+ # `us-east-1` to create, view, or edit these resources.
10212
10351
  #
10213
10352
  # </note>
10214
10353
  #
@@ -10411,6 +10550,13 @@ module Aws::Lightsail
10411
10550
  # distribution's bundle.
10412
10551
  # @return [Boolean]
10413
10552
  #
10553
+ # @!attribute [rw] ip_address_type
10554
+ # The IP address type of the distribution.
10555
+ #
10556
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
10557
+ # IPv4 and IPv6.
10558
+ # @return [String]
10559
+ #
10414
10560
  # @!attribute [rw] tags
10415
10561
  # The tag keys and optional values for the resource. For more
10416
10562
  # information about tags in Lightsail, see the [Lightsail Dev
@@ -10442,6 +10588,7 @@ module Aws::Lightsail
10442
10588
  :cache_behavior_settings,
10443
10589
  :cache_behaviors,
10444
10590
  :able_to_update_bundle,
10591
+ :ip_address_type,
10445
10592
  :tags)
10446
10593
  SENSITIVE = []
10447
10594
  include Aws::Structure
@@ -10536,6 +10683,13 @@ module Aws::Lightsail
10536
10683
  # balancer. Valid values are listed below.
10537
10684
  # @return [Hash<String,String>]
10538
10685
  #
10686
+ # @!attribute [rw] ip_address_type
10687
+ # The IP address type of the load balancer.
10688
+ #
10689
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
10690
+ # IPv4 and IPv6.
10691
+ # @return [String]
10692
+ #
10539
10693
  # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/LoadBalancer AWS API Documentation
10540
10694
  #
10541
10695
  class LoadBalancer < Struct.new(
@@ -10554,7 +10708,8 @@ module Aws::Lightsail
10554
10708
  :instance_port,
10555
10709
  :instance_health_summary,
10556
10710
  :tls_certificate_summaries,
10557
- :configuration_options)
10711
+ :configuration_options,
10712
+ :ip_address_type)
10558
10713
  SENSITIVE = []
10559
10714
  include Aws::Structure
10560
10715
  end
@@ -11092,6 +11247,7 @@ module Aws::Lightsail
11092
11247
  # to_port: 1,
11093
11248
  # protocol: "tcp", # accepts tcp, all, udp, icmp
11094
11249
  # cidrs: ["string"],
11250
+ # ipv6_cidrs: ["string"],
11095
11251
  # cidr_list_aliases: ["string"],
11096
11252
  # },
11097
11253
  # instance_name: "ResourceName", # required
@@ -11380,6 +11536,7 @@ module Aws::Lightsail
11380
11536
  # to_port: 1,
11381
11537
  # protocol: "tcp", # accepts tcp, all, udp, icmp
11382
11538
  # cidrs: ["string"],
11539
+ # ipv6_cidrs: ["string"],
11383
11540
  # cidr_list_aliases: ["string"],
11384
11541
  # }
11385
11542
  #
@@ -11390,14 +11547,20 @@ module Aws::Lightsail
11390
11547
  #
11391
11548
  # * TCP and UDP - `0` to `65535`
11392
11549
  #
11393
- # * ICMP - The ICMP type. For example, specify `8` as the `fromPort`
11394
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
11395
- # Ping. For more information, see [Control Messages][1] on
11396
- # *Wikipedia*.
11550
+ # * ICMP - The ICMP type for IPv4 addresses. For example, specify `8`
11551
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
11552
+ # code), to enable ICMP Ping. For more information, see [Control
11553
+ # Messages][1] on *Wikipedia*.
11554
+ #
11555
+ # * ICMPv6 - The ICMP type for IPv6 addresses. For example, specify
11556
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
11557
+ # code). For more information, see [Internet Control Message
11558
+ # Protocol for IPv6][2].
11397
11559
  #
11398
11560
  #
11399
11561
  #
11400
11562
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
11563
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
11401
11564
  # @return [Integer]
11402
11565
  #
11403
11566
  # @!attribute [rw] to_port
@@ -11407,14 +11570,20 @@ module Aws::Lightsail
11407
11570
  #
11408
11571
  # * TCP and UDP - `0` to `65535`
11409
11572
  #
11410
- # * ICMP - The ICMP code. For example, specify `8` as the `fromPort`
11411
- # (ICMP type), and `-1` as the `toPort` (ICMP code), to enable ICMP
11412
- # Ping. For more information, see [Control Messages][1] on
11413
- # *Wikipedia*.
11573
+ # * ICMP - The ICMP code for IPv4 addresses. For example, specify `8`
11574
+ # as the `fromPort` (ICMP type), and `-1` as the `toPort` (ICMP
11575
+ # code), to enable ICMP Ping. For more information, see [Control
11576
+ # Messages][1] on *Wikipedia*.
11577
+ #
11578
+ # * ICMPv6 - The ICMP code for IPv6 addresses. For example, specify
11579
+ # `128` as the `fromPort` (ICMPv6 type), and `0` as `toPort` (ICMPv6
11580
+ # code). For more information, see [Internet Control Message
11581
+ # Protocol for IPv6][2].
11414
11582
  #
11415
11583
  #
11416
11584
  #
11417
11585
  # [1]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol#Control_messages
11586
+ # [2]: https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol_for_IPv6
11418
11587
  # @return [Integer]
11419
11588
  #
11420
11589
  # @!attribute [rw] protocol
@@ -11454,9 +11623,14 @@ module Aws::Lightsail
11454
11623
  # @return [String]
11455
11624
  #
11456
11625
  # @!attribute [rw] cidrs
11457
- # The IP address, or range of IP addresses in CIDR notation, that are
11458
- # allowed to connect to an instance through the ports, and the
11459
- # protocol. Lightsail supports IPv4 addresses.
11626
+ # The IPv4 address, or range of IPv4 addresses (in CIDR notation) that
11627
+ # are allowed to connect to an instance through the ports, and the
11628
+ # protocol.
11629
+ #
11630
+ # <note markdown="1"> The `ipv6Cidrs` parameter lists the IPv6 addresses that are allowed
11631
+ # to connect to an instance.
11632
+ #
11633
+ # </note>
11460
11634
  #
11461
11635
  # Examples:
11462
11636
  #
@@ -11474,6 +11648,25 @@ module Aws::Lightsail
11474
11648
  # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
11475
11649
  # @return [Array<String>]
11476
11650
  #
11651
+ # @!attribute [rw] ipv6_cidrs
11652
+ # The IPv6 address, or range of IPv6 addresses (in CIDR notation) that
11653
+ # are allowed to connect to an instance through the ports, and the
11654
+ # protocol. Only devices with an IPv6 address can connect to an
11655
+ # instance through IPv6; otherwise, IPv4 should be used.
11656
+ #
11657
+ # <note markdown="1"> The `cidrs` parameter lists the IPv4 addresses that are allowed to
11658
+ # connect to an instance.
11659
+ #
11660
+ # </note>
11661
+ #
11662
+ # For more information about CIDR block notation, see [Classless
11663
+ # Inter-Domain Routing][1] on *Wikipedia*.
11664
+ #
11665
+ #
11666
+ #
11667
+ # [1]: https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation
11668
+ # @return [Array<String>]
11669
+ #
11477
11670
  # @!attribute [rw] cidr_list_aliases
11478
11671
  # An alias that defines access for a preconfigured range of IP
11479
11672
  # addresses.
@@ -11490,6 +11683,7 @@ module Aws::Lightsail
11490
11683
  :to_port,
11491
11684
  :protocol,
11492
11685
  :cidrs,
11686
+ :ipv6_cidrs,
11493
11687
  :cidr_list_aliases)
11494
11688
  SENSITIVE = []
11495
11689
  include Aws::Structure
@@ -11706,6 +11900,7 @@ module Aws::Lightsail
11706
11900
  # to_port: 1,
11707
11901
  # protocol: "tcp", # accepts tcp, all, udp, icmp
11708
11902
  # cidrs: ["string"],
11903
+ # ipv6_cidrs: ["string"],
11709
11904
  # cidr_list_aliases: ["string"],
11710
11905
  # },
11711
11906
  # ],
@@ -12700,6 +12895,63 @@ module Aws::Lightsail
12700
12895
  include Aws::Structure
12701
12896
  end
12702
12897
 
12898
+ # @note When making an API call, you may pass SetIpAddressTypeRequest
12899
+ # data as a hash:
12900
+ #
12901
+ # {
12902
+ # resource_type: "ContainerService", # required, accepts ContainerService, Instance, StaticIp, KeyPair, InstanceSnapshot, Domain, PeeredVpc, LoadBalancer, LoadBalancerTlsCertificate, Disk, DiskSnapshot, RelationalDatabase, RelationalDatabaseSnapshot, ExportSnapshotRecord, CloudFormationStackRecord, Alarm, ContactMethod, Distribution, Certificate
12903
+ # resource_name: "ResourceName", # required
12904
+ # ip_address_type: "dualstack", # required, accepts dualstack, ipv4
12905
+ # }
12906
+ #
12907
+ # @!attribute [rw] resource_type
12908
+ # The resource type.
12909
+ #
12910
+ # The possible values are `Distribution`, `Instance`, and
12911
+ # `LoadBalancer`.
12912
+ #
12913
+ # <note markdown="1"> Distribution-related APIs are available only in the N. Virginia
12914
+ # (`us-east-1`) AWS Region. Set your AWS Region configuration to
12915
+ # `us-east-1` to create, view, or edit distributions.
12916
+ #
12917
+ # </note>
12918
+ # @return [String]
12919
+ #
12920
+ # @!attribute [rw] resource_name
12921
+ # The name of the resource for which to set the IP address type.
12922
+ # @return [String]
12923
+ #
12924
+ # @!attribute [rw] ip_address_type
12925
+ # The IP address type to set for the specified resource.
12926
+ #
12927
+ # The possible values are `ipv4` for IPv4 only, and `dualstack` for
12928
+ # IPv4 and IPv6.
12929
+ # @return [String]
12930
+ #
12931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressTypeRequest AWS API Documentation
12932
+ #
12933
+ class SetIpAddressTypeRequest < Struct.new(
12934
+ :resource_type,
12935
+ :resource_name,
12936
+ :ip_address_type)
12937
+ SENSITIVE = []
12938
+ include Aws::Structure
12939
+ end
12940
+
12941
+ # @!attribute [rw] operations
12942
+ # An array of objects that describe the result of the action, such as
12943
+ # the status of the request, the timestamp of the request, and the
12944
+ # resources affected by the request.
12945
+ # @return [Array<Types::Operation>]
12946
+ #
12947
+ # @see http://docs.aws.amazon.com/goto/WebAPI/lightsail-2016-11-28/SetIpAddressTypeResult AWS API Documentation
12948
+ #
12949
+ class SetIpAddressTypeResult < Struct.new(
12950
+ :operations)
12951
+ SENSITIVE = []
12952
+ include Aws::Structure
12953
+ end
12954
+
12703
12955
  # @note When making an API call, you may pass StartInstanceRequest
12704
12956
  # data as a hash:
12705
12957
  #