aws-sdk-lightsail 1.40.0 → 1.41.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #