aws-sdk-ec2 1.15.0 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -398,6 +398,8 @@ module Aws::EC2
398
398
  DiskImageFormat = Shapes::StringShape.new(name: 'DiskImageFormat')
399
399
  DiskImageList = Shapes::ListShape.new(name: 'DiskImageList')
400
400
  DiskImageVolumeDescription = Shapes::StructureShape.new(name: 'DiskImageVolumeDescription')
401
+ DnsEntry = Shapes::StructureShape.new(name: 'DnsEntry')
402
+ DnsEntrySet = Shapes::ListShape.new(name: 'DnsEntrySet')
401
403
  DomainType = Shapes::StringShape.new(name: 'DomainType')
402
404
  Double = Shapes::FloatShape.new(name: 'Double')
403
405
  EbsBlockDevice = Shapes::StructureShape.new(name: 'EbsBlockDevice')
@@ -463,6 +465,7 @@ module Aws::EC2
463
465
  GroupIdStringList = Shapes::ListShape.new(name: 'GroupIdStringList')
464
466
  GroupIdentifier = Shapes::StructureShape.new(name: 'GroupIdentifier')
465
467
  GroupIdentifierList = Shapes::ListShape.new(name: 'GroupIdentifierList')
468
+ GroupIdentifierSet = Shapes::ListShape.new(name: 'GroupIdentifierSet')
466
469
  GroupIds = Shapes::ListShape.new(name: 'GroupIds')
467
470
  GroupNameStringList = Shapes::ListShape.new(name: 'GroupNameStringList')
468
471
  HistoryRecord = Shapes::StructureShape.new(name: 'HistoryRecord')
@@ -828,10 +831,16 @@ module Aws::EC2
828
831
  ScheduledInstancesSecurityGroupIdSet = Shapes::ListShape.new(name: 'ScheduledInstancesSecurityGroupIdSet')
829
832
  SecurityGroup = Shapes::StructureShape.new(name: 'SecurityGroup')
830
833
  SecurityGroupIdStringList = Shapes::ListShape.new(name: 'SecurityGroupIdStringList')
834
+ SecurityGroupIdentifier = Shapes::StructureShape.new(name: 'SecurityGroupIdentifier')
831
835
  SecurityGroupList = Shapes::ListShape.new(name: 'SecurityGroupList')
832
836
  SecurityGroupReference = Shapes::StructureShape.new(name: 'SecurityGroupReference')
833
837
  SecurityGroupReferences = Shapes::ListShape.new(name: 'SecurityGroupReferences')
834
838
  SecurityGroupStringList = Shapes::ListShape.new(name: 'SecurityGroupStringList')
839
+ ServiceDetail = Shapes::StructureShape.new(name: 'ServiceDetail')
840
+ ServiceDetailSet = Shapes::ListShape.new(name: 'ServiceDetailSet')
841
+ ServiceType = Shapes::StringShape.new(name: 'ServiceType')
842
+ ServiceTypeDetail = Shapes::StructureShape.new(name: 'ServiceTypeDetail')
843
+ ServiceTypeDetailSet = Shapes::ListShape.new(name: 'ServiceTypeDetailSet')
835
844
  ShutdownBehavior = Shapes::StringShape.new(name: 'ShutdownBehavior')
836
845
  SlotDateTimeRangeRequest = Shapes::StructureShape.new(name: 'SlotDateTimeRangeRequest')
837
846
  SlotStartTimeRangeRequest = Shapes::StructureShape.new(name: 'SlotStartTimeRangeRequest')
@@ -966,6 +975,7 @@ module Aws::EC2
966
975
  VpcClassicLinkList = Shapes::ListShape.new(name: 'VpcClassicLinkList')
967
976
  VpcEndpoint = Shapes::StructureShape.new(name: 'VpcEndpoint')
968
977
  VpcEndpointSet = Shapes::ListShape.new(name: 'VpcEndpointSet')
978
+ VpcEndpointType = Shapes::StringShape.new(name: 'VpcEndpointType')
969
979
  VpcIdStringList = Shapes::ListShape.new(name: 'VpcIdStringList')
970
980
  VpcIpv6CidrBlockAssociation = Shapes::StructureShape.new(name: 'VpcIpv6CidrBlockAssociation')
971
981
  VpcIpv6CidrBlockAssociationSet = Shapes::ListShape.new(name: 'VpcIpv6CidrBlockAssociationSet')
@@ -1641,16 +1651,20 @@ module Aws::EC2
1641
1651
  CreateVolumeRequest.add_member(:tag_specifications, Shapes::ShapeRef.new(shape: TagSpecificationList, location_name: "TagSpecification"))
1642
1652
  CreateVolumeRequest.struct_class = Types::CreateVolumeRequest
1643
1653
 
1644
- CreateVpcEndpointRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
1645
1654
  CreateVpcEndpointRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1655
+ CreateVpcEndpointRequest.add_member(:vpc_endpoint_type, Shapes::ShapeRef.new(shape: VpcEndpointType, location_name: "VpcEndpointType"))
1656
+ CreateVpcEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VpcId"))
1657
+ CreateVpcEndpointRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ServiceName"))
1646
1658
  CreateVpcEndpointRequest.add_member(:policy_document, Shapes::ShapeRef.new(shape: String, location_name: "PolicyDocument"))
1647
1659
  CreateVpcEndpointRequest.add_member(:route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RouteTableId"))
1648
- CreateVpcEndpointRequest.add_member(:service_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ServiceName"))
1649
- CreateVpcEndpointRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VpcId"))
1660
+ CreateVpcEndpointRequest.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "SubnetId"))
1661
+ CreateVpcEndpointRequest.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "SecurityGroupId"))
1662
+ CreateVpcEndpointRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "ClientToken"))
1663
+ CreateVpcEndpointRequest.add_member(:private_dns_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "PrivateDnsEnabled"))
1650
1664
  CreateVpcEndpointRequest.struct_class = Types::CreateVpcEndpointRequest
1651
1665
 
1652
- CreateVpcEndpointResult.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
1653
1666
  CreateVpcEndpointResult.add_member(:vpc_endpoint, Shapes::ShapeRef.new(shape: VpcEndpoint, location_name: "vpcEndpoint"))
1667
+ CreateVpcEndpointResult.add_member(:client_token, Shapes::ShapeRef.new(shape: String, location_name: "clientToken"))
1654
1668
  CreateVpcEndpointResult.struct_class = Types::CreateVpcEndpointResult
1655
1669
 
1656
1670
  CreateVpcPeeringConnectionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
@@ -2479,23 +2493,26 @@ module Aws::EC2
2479
2493
  DescribeVpcClassicLinkResult.struct_class = Types::DescribeVpcClassicLinkResult
2480
2494
 
2481
2495
  DescribeVpcEndpointServicesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2496
+ DescribeVpcEndpointServicesRequest.add_member(:service_names, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "ServiceName"))
2497
+ DescribeVpcEndpointServicesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2482
2498
  DescribeVpcEndpointServicesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
2483
2499
  DescribeVpcEndpointServicesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2484
2500
  DescribeVpcEndpointServicesRequest.struct_class = Types::DescribeVpcEndpointServicesRequest
2485
2501
 
2486
- DescribeVpcEndpointServicesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2487
2502
  DescribeVpcEndpointServicesResult.add_member(:service_names, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "serviceNameSet"))
2503
+ DescribeVpcEndpointServicesResult.add_member(:service_details, Shapes::ShapeRef.new(shape: ServiceDetailSet, location_name: "serviceDetailSet"))
2504
+ DescribeVpcEndpointServicesResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2488
2505
  DescribeVpcEndpointServicesResult.struct_class = Types::DescribeVpcEndpointServicesResult
2489
2506
 
2490
2507
  DescribeVpcEndpointsRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
2508
+ DescribeVpcEndpointsRequest.add_member(:vpc_endpoint_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "VpcEndpointId"))
2491
2509
  DescribeVpcEndpointsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2492
2510
  DescribeVpcEndpointsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
2493
2511
  DescribeVpcEndpointsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2494
- DescribeVpcEndpointsRequest.add_member(:vpc_endpoint_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "VpcEndpointId"))
2495
2512
  DescribeVpcEndpointsRequest.struct_class = Types::DescribeVpcEndpointsRequest
2496
2513
 
2497
- DescribeVpcEndpointsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2498
2514
  DescribeVpcEndpointsResult.add_member(:vpc_endpoints, Shapes::ShapeRef.new(shape: VpcEndpointSet, location_name: "vpcEndpointSet"))
2515
+ DescribeVpcEndpointsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2499
2516
  DescribeVpcEndpointsResult.struct_class = Types::DescribeVpcEndpointsResult
2500
2517
 
2501
2518
  DescribeVpcPeeringConnectionsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
@@ -2646,6 +2663,12 @@ module Aws::EC2
2646
2663
  DiskImageVolumeDescription.add_member(:size, Shapes::ShapeRef.new(shape: Long, location_name: "size"))
2647
2664
  DiskImageVolumeDescription.struct_class = Types::DiskImageVolumeDescription
2648
2665
 
2666
+ DnsEntry.add_member(:dns_name, Shapes::ShapeRef.new(shape: String, location_name: "dnsName"))
2667
+ DnsEntry.add_member(:hosted_zone_id, Shapes::ShapeRef.new(shape: String, location_name: "hostedZoneId"))
2668
+ DnsEntry.struct_class = Types::DnsEntry
2669
+
2670
+ DnsEntrySet.member = Shapes::ShapeRef.new(shape: DnsEntry, location_name: "item")
2671
+
2649
2672
  EbsBlockDevice.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "encrypted"))
2650
2673
  EbsBlockDevice.add_member(:delete_on_termination, Shapes::ShapeRef.new(shape: Boolean, location_name: "deleteOnTermination"))
2651
2674
  EbsBlockDevice.add_member(:iops, Shapes::ShapeRef.new(shape: Integer, location_name: "iops"))
@@ -2863,6 +2886,8 @@ module Aws::EC2
2863
2886
 
2864
2887
  GroupIdentifierList.member = Shapes::ShapeRef.new(shape: GroupIdentifier, location_name: "item")
2865
2888
 
2889
+ GroupIdentifierSet.member = Shapes::ShapeRef.new(shape: SecurityGroupIdentifier, location_name: "item")
2890
+
2866
2891
  GroupIds.member = Shapes::ShapeRef.new(shape: String, location_name: "item")
2867
2892
 
2868
2893
  GroupNameStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "GroupName")
@@ -3568,12 +3593,17 @@ module Aws::EC2
3568
3593
  ModifyVpcAttributeRequest.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "vpcId"))
3569
3594
  ModifyVpcAttributeRequest.struct_class = Types::ModifyVpcAttributeRequest
3570
3595
 
3571
- ModifyVpcEndpointRequest.add_member(:add_route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddRouteTableId"))
3572
3596
  ModifyVpcEndpointRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
3597
+ ModifyVpcEndpointRequest.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VpcEndpointId"))
3598
+ ModifyVpcEndpointRequest.add_member(:reset_policy, Shapes::ShapeRef.new(shape: Boolean, location_name: "ResetPolicy"))
3573
3599
  ModifyVpcEndpointRequest.add_member(:policy_document, Shapes::ShapeRef.new(shape: String, location_name: "PolicyDocument"))
3600
+ ModifyVpcEndpointRequest.add_member(:add_route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddRouteTableId"))
3574
3601
  ModifyVpcEndpointRequest.add_member(:remove_route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RemoveRouteTableId"))
3575
- ModifyVpcEndpointRequest.add_member(:reset_policy, Shapes::ShapeRef.new(shape: Boolean, location_name: "ResetPolicy"))
3576
- ModifyVpcEndpointRequest.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "VpcEndpointId"))
3602
+ ModifyVpcEndpointRequest.add_member(:add_subnet_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddSubnetId"))
3603
+ ModifyVpcEndpointRequest.add_member(:remove_subnet_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RemoveSubnetId"))
3604
+ ModifyVpcEndpointRequest.add_member(:add_security_group_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "AddSecurityGroupId"))
3605
+ ModifyVpcEndpointRequest.add_member(:remove_security_group_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "RemoveSecurityGroupId"))
3606
+ ModifyVpcEndpointRequest.add_member(:private_dns_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "PrivateDnsEnabled"))
3577
3607
  ModifyVpcEndpointRequest.struct_class = Types::ModifyVpcEndpointRequest
3578
3608
 
3579
3609
  ModifyVpcEndpointResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
@@ -4481,6 +4511,10 @@ module Aws::EC2
4481
4511
 
4482
4512
  SecurityGroupIdStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "SecurityGroupId")
4483
4513
 
4514
+ SecurityGroupIdentifier.add_member(:group_id, Shapes::ShapeRef.new(shape: String, location_name: "groupId"))
4515
+ SecurityGroupIdentifier.add_member(:group_name, Shapes::ShapeRef.new(shape: String, location_name: "groupName"))
4516
+ SecurityGroupIdentifier.struct_class = Types::SecurityGroupIdentifier
4517
+
4484
4518
  SecurityGroupList.member = Shapes::ShapeRef.new(shape: SecurityGroup, location_name: "item")
4485
4519
 
4486
4520
  SecurityGroupReference.add_member(:group_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "groupId"))
@@ -4492,6 +4526,23 @@ module Aws::EC2
4492
4526
 
4493
4527
  SecurityGroupStringList.member = Shapes::ShapeRef.new(shape: String, location_name: "SecurityGroup")
4494
4528
 
4529
+ ServiceDetail.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
4530
+ ServiceDetail.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceTypeDetailSet, location_name: "serviceType"))
4531
+ ServiceDetail.add_member(:availability_zones, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "availabilityZoneSet"))
4532
+ ServiceDetail.add_member(:owner, Shapes::ShapeRef.new(shape: String, location_name: "owner"))
4533
+ ServiceDetail.add_member(:base_endpoint_dns_names, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "baseEndpointDnsNameSet"))
4534
+ ServiceDetail.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "privateDnsName"))
4535
+ ServiceDetail.add_member(:vpc_endpoint_policy_supported, Shapes::ShapeRef.new(shape: Boolean, location_name: "vpcEndpointPolicySupported"))
4536
+ ServiceDetail.add_member(:acceptance_required, Shapes::ShapeRef.new(shape: Boolean, location_name: "acceptanceRequired"))
4537
+ ServiceDetail.struct_class = Types::ServiceDetail
4538
+
4539
+ ServiceDetailSet.member = Shapes::ShapeRef.new(shape: ServiceDetail, location_name: "item")
4540
+
4541
+ ServiceTypeDetail.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, location_name: "serviceType"))
4542
+ ServiceTypeDetail.struct_class = Types::ServiceTypeDetail
4543
+
4544
+ ServiceTypeDetailSet.member = Shapes::ShapeRef.new(shape: ServiceTypeDetail, location_name: "item")
4545
+
4495
4546
  SlotDateTimeRangeRequest.add_member(:earliest_time, Shapes::ShapeRef.new(shape: DateTime, required: true, location_name: "EarliestTime"))
4496
4547
  SlotDateTimeRangeRequest.add_member(:latest_time, Shapes::ShapeRef.new(shape: DateTime, required: true, location_name: "LatestTime"))
4497
4548
  SlotDateTimeRangeRequest.struct_class = Types::SlotDateTimeRangeRequest
@@ -4988,13 +5039,19 @@ module Aws::EC2
4988
5039
 
4989
5040
  VpcClassicLinkList.member = Shapes::ShapeRef.new(shape: VpcClassicLink, location_name: "item")
4990
5041
 
4991
- VpcEndpoint.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "creationTimestamp"))
4992
- VpcEndpoint.add_member(:policy_document, Shapes::ShapeRef.new(shape: String, location_name: "policyDocument"))
4993
- VpcEndpoint.add_member(:route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "routeTableIdSet"))
4994
- VpcEndpoint.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
4995
- VpcEndpoint.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "state"))
4996
5042
  VpcEndpoint.add_member(:vpc_endpoint_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcEndpointId"))
5043
+ VpcEndpoint.add_member(:vpc_endpoint_type, Shapes::ShapeRef.new(shape: VpcEndpointType, location_name: "vpcEndpointType"))
4997
5044
  VpcEndpoint.add_member(:vpc_id, Shapes::ShapeRef.new(shape: String, location_name: "vpcId"))
5045
+ VpcEndpoint.add_member(:service_name, Shapes::ShapeRef.new(shape: String, location_name: "serviceName"))
5046
+ VpcEndpoint.add_member(:state, Shapes::ShapeRef.new(shape: State, location_name: "state"))
5047
+ VpcEndpoint.add_member(:policy_document, Shapes::ShapeRef.new(shape: String, location_name: "policyDocument"))
5048
+ VpcEndpoint.add_member(:route_table_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "routeTableIdSet"))
5049
+ VpcEndpoint.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "subnetIdSet"))
5050
+ VpcEndpoint.add_member(:groups, Shapes::ShapeRef.new(shape: GroupIdentifierSet, location_name: "groupSet"))
5051
+ VpcEndpoint.add_member(:private_dns_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "privateDnsEnabled"))
5052
+ VpcEndpoint.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: ValueStringList, location_name: "networkInterfaceIdSet"))
5053
+ VpcEndpoint.add_member(:dns_entries, Shapes::ShapeRef.new(shape: DnsEntrySet, location_name: "dnsEntrySet"))
5054
+ VpcEndpoint.add_member(:creation_timestamp, Shapes::ShapeRef.new(shape: DateTime, location_name: "creationTimestamp"))
4998
5055
  VpcEndpoint.struct_class = Types::VpcEndpoint
4999
5056
 
5000
5057
  VpcEndpointSet.member = Shapes::ShapeRef.new(shape: VpcEndpoint, location_name: "item")
@@ -151,14 +151,11 @@ module Aws::EC2
151
151
  # })
152
152
  # @param [Hash] options ({})
153
153
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
154
- # The block device mapping.
155
- #
156
- # Supplying both a snapshot ID and an encryption value as arguments for
157
- # block-device mapping results in an error. This is because only blank
158
- # volumes can be encrypted on start, and these are not created from a
159
- # snapshot. If a snapshot is the basis for the volume, it contains data
160
- # by definition and its encryption status cannot be changed using this
161
- # action.
154
+ # One or more block device mapping entries. You can't specify both a
155
+ # snapshot ID and an encryption value. This is because only blank
156
+ # volumes can be encrypted on creation. If a snapshot is the basis for a
157
+ # volume, it is not blank and its encryption status is used for the
158
+ # volume encryption status.
162
159
  # @option options [required, String] :image_id
163
160
  # The ID of the AMI, which you can get by calling DescribeImages.
164
161
  # @option options [String] :instance_type
@@ -1230,6 +1227,9 @@ module Aws::EC2
1230
1227
  #
1231
1228
  # * `state-reason-message` - The message for the state change.
1232
1229
  #
1230
+ # * `sriov-net-support` - A value of `simple` indicates that enhanced
1231
+ # networking with the Intel 82599 VF interface is enabled.
1232
+ #
1233
1233
  # * `tag`\:*key*=*value* - The key/value combination of a tag assigned
1234
1234
  # to the resource. Specify the key of the tag in the filter name and
1235
1235
  # the value of the tag in the filter value. For example, for the tag
@@ -2219,36 +2219,63 @@ module Aws::EC2
2219
2219
  #
2220
2220
  # * `description` - The description of the security group.
2221
2221
  #
2222
+ # * `egress.ip-permission.cidr` - An IPv4 CIDR block for an outbound
2223
+ # security group rule.
2224
+ #
2225
+ # * `egress.ip-permission.from-port` - For an outbound rule, the start
2226
+ # of port range for the TCP and UDP protocols, or an ICMP type number.
2227
+ #
2228
+ # * `egress.ip-permission.group-id` - The ID of a security group that
2229
+ # has been referenced in an outbound security group rule.
2230
+ #
2231
+ # * `egress.ip-permission.group-name` - The name of a security group
2232
+ # that has been referenced in an outbound security group rule.
2233
+ #
2234
+ # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
2235
+ # outbound security group rule.
2236
+ #
2222
2237
  # * `egress.ip-permission.prefix-list-id` - The ID (prefix) of the AWS
2223
- # service to which the security group allows access.
2238
+ # service to which a security group rule allows outbound access.
2239
+ #
2240
+ # * `egress.ip-permission.protocol` - The IP protocol for an outbound
2241
+ # security group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
2242
+ #
2243
+ # * `egress.ip-permission.to-port` - For an outbound rule, the end of
2244
+ # port range for the TCP and UDP protocols, or an ICMP code.
2245
+ #
2246
+ # * `egress.ip-permission.user-id` - The ID of an AWS account that has
2247
+ # been referenced in an outbound security group rule.
2224
2248
  #
2225
2249
  # * `group-id` - The ID of the security group.
2226
2250
  #
2227
2251
  # * `group-name` - The name of the security group.
2228
2252
  #
2229
- # * `ip-permission.cidr` - An IPv4 CIDR range that has been granted
2230
- # permission in a security group rule.
2253
+ # * `ip-permission.cidr` - An IPv4 CIDR block for an inbound security
2254
+ # group rule.
2231
2255
  #
2232
- # * `ip-permission.from-port` - The start of port range for the TCP and
2233
- # UDP protocols, or an ICMP type number.
2256
+ # * `ip-permission.from-port` - For an inbound rule, the start of port
2257
+ # range for the TCP and UDP protocols, or an ICMP type number.
2234
2258
  #
2235
2259
  # * `ip-permission.group-id` - The ID of a security group that has been
2236
- # granted permission.
2260
+ # referenced in an inbound security group rule.
2237
2261
  #
2238
2262
  # * `ip-permission.group-name` - The name of a security group that has
2239
- # been granted permission.
2263
+ # been referenced in an inbound security group rule.
2264
+ #
2265
+ # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
2266
+ # security group rule.
2240
2267
  #
2241
- # * `ip-permission.ipv6-cidr` - An IPv6 CIDR range that has been granted
2242
- # permission in a security group rule.
2268
+ # * `ip-permission.prefix-list-id` - The ID (prefix) of the AWS service
2269
+ # from which a security group rule allows inbound access.
2243
2270
  #
2244
- # * `ip-permission.protocol` - The IP protocol for the permission (`tcp`
2245
- # \| `udp` \| `icmp` or a protocol number).
2271
+ # * `ip-permission.protocol` - The IP protocol for an inbound security
2272
+ # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
2246
2273
  #
2247
- # * `ip-permission.to-port` - The end of port range for the TCP and UDP
2248
- # protocols, or an ICMP code.
2274
+ # * `ip-permission.to-port` - For an inbound rule, the end of port range
2275
+ # for the TCP and UDP protocols, or an ICMP code.
2249
2276
  #
2250
2277
  # * `ip-permission.user-id` - The ID of an AWS account that has been
2251
- # granted permission.
2278
+ # referenced in an inbound security group rule.
2252
2279
  #
2253
2280
  # * `owner-id` - The AWS account ID of the owner of the security group.
2254
2281
  #
@@ -329,14 +329,11 @@ module Aws::EC2
329
329
  # })
330
330
  # @param [Hash] options ({})
331
331
  # @option options [Array<Types::BlockDeviceMapping>] :block_device_mappings
332
- # The block device mapping.
333
- #
334
- # Supplying both a snapshot ID and an encryption value as arguments for
335
- # block-device mapping results in an error. This is because only blank
336
- # volumes can be encrypted on start, and these are not created from a
337
- # snapshot. If a snapshot is the basis for the volume, it contains data
338
- # by definition and its encryption status cannot be changed using this
339
- # action.
332
+ # One or more block device mapping entries. You can't specify both a
333
+ # snapshot ID and an encryption value. This is because only blank
334
+ # volumes can be encrypted on creation. If a snapshot is the basis for a
335
+ # volume, it is not blank and its encryption status is used for the
336
+ # volume encryption status.
340
337
  # @option options [required, String] :image_id
341
338
  # The ID of the AMI, which you can get by calling DescribeImages.
342
339
  # @option options [String] :instance_type
@@ -4061,24 +4061,18 @@ module Aws::EC2
4061
4061
  # data as a hash:
4062
4062
  #
4063
4063
  # {
4064
- # client_token: "String",
4065
4064
  # dry_run: false,
4065
+ # vpc_endpoint_type: "Interface", # accepts Interface, Gateway
4066
+ # vpc_id: "String", # required
4067
+ # service_name: "String", # required
4066
4068
  # policy_document: "String",
4067
4069
  # route_table_ids: ["String"],
4068
- # service_name: "String", # required
4069
- # vpc_id: "String", # required
4070
+ # subnet_ids: ["String"],
4071
+ # security_group_ids: ["String"],
4072
+ # client_token: "String",
4073
+ # private_dns_enabled: false,
4070
4074
  # }
4071
4075
  #
4072
- # @!attribute [rw] client_token
4073
- # Unique, case-sensitive identifier you provide to ensure the
4074
- # idempotency of the request. For more information, see [How to Ensure
4075
- # Idempotency][1].
4076
- #
4077
- #
4078
- #
4079
- # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4080
- # @return [String]
4081
- #
4082
4076
  # @!attribute [rw] dry_run
4083
4077
  # Checks whether you have the required permissions for the action,
4084
4078
  # without actually making the request, and provides an error response.
@@ -4086,16 +4080,14 @@ module Aws::EC2
4086
4080
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4087
4081
  # @return [Boolean]
4088
4082
  #
4089
- # @!attribute [rw] policy_document
4090
- # A policy to attach to the endpoint that controls access to the
4091
- # service. The policy must be in valid JSON format. If this parameter
4092
- # is not specified, we attach a default policy that allows full access
4093
- # to the service.
4083
+ # @!attribute [rw] vpc_endpoint_type
4084
+ # The type of endpoint. If not specified, the default is a gateway
4085
+ # endpoint.
4094
4086
  # @return [String]
4095
4087
  #
4096
- # @!attribute [rw] route_table_ids
4097
- # One or more route table IDs.
4098
- # @return [Array<String>]
4088
+ # @!attribute [rw] vpc_id
4089
+ # The ID of the VPC in which the endpoint will be used.
4090
+ # @return [String]
4099
4091
  #
4100
4092
  # @!attribute [rw] service_name
4101
4093
  # The AWS service name, in the form `com.amazonaws.region.service `.
@@ -4103,38 +4095,86 @@ module Aws::EC2
4103
4095
  # DescribeVpcEndpointServices request.
4104
4096
  # @return [String]
4105
4097
  #
4106
- # @!attribute [rw] vpc_id
4107
- # The ID of the VPC in which the endpoint will be used.
4098
+ # @!attribute [rw] policy_document
4099
+ # (Gateway endpoint) A policy to attach to the endpoint that controls
4100
+ # access to the service. The policy must be in valid JSON format. If
4101
+ # this parameter is not specified, we attach a default policy that
4102
+ # allows full access to the service.
4108
4103
  # @return [String]
4109
4104
  #
4105
+ # @!attribute [rw] route_table_ids
4106
+ # (Gateway endpoint) One or more route table IDs.
4107
+ # @return [Array<String>]
4108
+ #
4109
+ # @!attribute [rw] subnet_ids
4110
+ # (Interface endpoint) The ID of one or more subnets in which to
4111
+ # create a network interface for the endpoint.
4112
+ # @return [Array<String>]
4113
+ #
4114
+ # @!attribute [rw] security_group_ids
4115
+ # (Interface endpoint) The ID of one or more security groups to
4116
+ # associate with the network interface.
4117
+ # @return [Array<String>]
4118
+ #
4119
+ # @!attribute [rw] client_token
4120
+ # Unique, case-sensitive identifier you provide to ensure the
4121
+ # idempotency of the request. For more information, see [How to Ensure
4122
+ # Idempotency][1].
4123
+ #
4124
+ #
4125
+ #
4126
+ # [1]: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
4127
+ # @return [String]
4128
+ #
4129
+ # @!attribute [rw] private_dns_enabled
4130
+ # (Interface endpoint) Indicate whether to associate a private hosted
4131
+ # zone with the specified VPC. The private hosted zone contains a
4132
+ # record set for the default public DNS name for the service for the
4133
+ # region (for example, `kinesis.us-east-1.amazonaws.com`) which
4134
+ # resolves to the private IP addresses of the endpoint network
4135
+ # interfaces in the VPC. This enables you to make requests to the
4136
+ # default public DNS name for the service instead of the public DNS
4137
+ # names that are automatically generated by the VPC endpoint service.
4138
+ #
4139
+ # To use a private hosted zone, you must set the following VPC
4140
+ # attributes to `true`\: `enableDnsHostnames` and `enableDnsSupport`.
4141
+ # Use ModifyVpcAttribute to set the VPC attributes.
4142
+ #
4143
+ # Default: `true`
4144
+ # @return [Boolean]
4145
+ #
4110
4146
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointRequest AWS API Documentation
4111
4147
  #
4112
4148
  class CreateVpcEndpointRequest < Struct.new(
4113
- :client_token,
4114
4149
  :dry_run,
4150
+ :vpc_endpoint_type,
4151
+ :vpc_id,
4152
+ :service_name,
4115
4153
  :policy_document,
4116
4154
  :route_table_ids,
4117
- :service_name,
4118
- :vpc_id)
4155
+ :subnet_ids,
4156
+ :security_group_ids,
4157
+ :client_token,
4158
+ :private_dns_enabled)
4119
4159
  include Aws::Structure
4120
4160
  end
4121
4161
 
4122
4162
  # Contains the output of CreateVpcEndpoint.
4123
4163
  #
4164
+ # @!attribute [rw] vpc_endpoint
4165
+ # Information about the endpoint.
4166
+ # @return [Types::VpcEndpoint]
4167
+ #
4124
4168
  # @!attribute [rw] client_token
4125
4169
  # Unique, case-sensitive identifier you provide to ensure the
4126
4170
  # idempotency of the request.
4127
4171
  # @return [String]
4128
4172
  #
4129
- # @!attribute [rw] vpc_endpoint
4130
- # Information about the endpoint.
4131
- # @return [Types::VpcEndpoint]
4132
- #
4133
4173
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateVpcEndpointResult AWS API Documentation
4134
4174
  #
4135
4175
  class CreateVpcEndpointResult < Struct.new(
4136
- :client_token,
4137
- :vpc_endpoint)
4176
+ :vpc_endpoint,
4177
+ :client_token)
4138
4178
  include Aws::Structure
4139
4179
  end
4140
4180
 
@@ -6908,6 +6948,9 @@ module Aws::EC2
6908
6948
  #
6909
6949
  # * `state-reason-message` - The message for the state change.
6910
6950
  #
6951
+ # * `sriov-net-support` - A value of `simple` indicates that enhanced
6952
+ # networking with the Intel 82599 VF interface is enabled.
6953
+ #
6911
6954
  # * `tag`\:*key*=*value* - The key/value combination of a tag assigned
6912
6955
  # to the resource. Specify the key of the tag in the filter name and
6913
6956
  # the value of the tag in the filter value. For example, for the tag
@@ -9472,36 +9515,65 @@ module Aws::EC2
9472
9515
  #
9473
9516
  # * `description` - The description of the security group.
9474
9517
  #
9518
+ # * `egress.ip-permission.cidr` - An IPv4 CIDR block for an outbound
9519
+ # security group rule.
9520
+ #
9521
+ # * `egress.ip-permission.from-port` - For an outbound rule, the start
9522
+ # of port range for the TCP and UDP protocols, or an ICMP type
9523
+ # number.
9524
+ #
9525
+ # * `egress.ip-permission.group-id` - The ID of a security group that
9526
+ # has been referenced in an outbound security group rule.
9527
+ #
9528
+ # * `egress.ip-permission.group-name` - The name of a security group
9529
+ # that has been referenced in an outbound security group rule.
9530
+ #
9531
+ # * `egress.ip-permission.ipv6-cidr` - An IPv6 CIDR block for an
9532
+ # outbound security group rule.
9533
+ #
9475
9534
  # * `egress.ip-permission.prefix-list-id` - The ID (prefix) of the AWS
9476
- # service to which the security group allows access.
9535
+ # service to which a security group rule allows outbound access.
9536
+ #
9537
+ # * `egress.ip-permission.protocol` - The IP protocol for an outbound
9538
+ # security group rule (`tcp` \| `udp` \| `icmp` or a protocol
9539
+ # number).
9540
+ #
9541
+ # * `egress.ip-permission.to-port` - For an outbound rule, the end of
9542
+ # port range for the TCP and UDP protocols, or an ICMP code.
9543
+ #
9544
+ # * `egress.ip-permission.user-id` - The ID of an AWS account that has
9545
+ # been referenced in an outbound security group rule.
9477
9546
  #
9478
9547
  # * `group-id` - The ID of the security group.
9479
9548
  #
9480
9549
  # * `group-name` - The name of the security group.
9481
9550
  #
9482
- # * `ip-permission.cidr` - An IPv4 CIDR range that has been granted
9483
- # permission in a security group rule.
9551
+ # * `ip-permission.cidr` - An IPv4 CIDR block for an inbound security
9552
+ # group rule.
9484
9553
  #
9485
- # * `ip-permission.from-port` - The start of port range for the TCP
9486
- # and UDP protocols, or an ICMP type number.
9554
+ # * `ip-permission.from-port` - For an inbound rule, the start of port
9555
+ # range for the TCP and UDP protocols, or an ICMP type number.
9487
9556
  #
9488
9557
  # * `ip-permission.group-id` - The ID of a security group that has
9489
- # been granted permission.
9558
+ # been referenced in an inbound security group rule.
9490
9559
  #
9491
9560
  # * `ip-permission.group-name` - The name of a security group that has
9492
- # been granted permission.
9561
+ # been referenced in an inbound security group rule.
9493
9562
  #
9494
- # * `ip-permission.ipv6-cidr` - An IPv6 CIDR range that has been
9495
- # granted permission in a security group rule.
9563
+ # * `ip-permission.ipv6-cidr` - An IPv6 CIDR block for an inbound
9564
+ # security group rule.
9496
9565
  #
9497
- # * `ip-permission.protocol` - The IP protocol for the permission
9498
- # (`tcp` \| `udp` \| `icmp` or a protocol number).
9566
+ # * `ip-permission.prefix-list-id` - The ID (prefix) of the AWS
9567
+ # service from which a security group rule allows inbound access.
9499
9568
  #
9500
- # * `ip-permission.to-port` - The end of port range for the TCP and
9501
- # UDP protocols, or an ICMP code.
9569
+ # * `ip-permission.protocol` - The IP protocol for an inbound security
9570
+ # group rule (`tcp` \| `udp` \| `icmp` or a protocol number).
9571
+ #
9572
+ # * `ip-permission.to-port` - For an inbound rule, the end of port
9573
+ # range for the TCP and UDP protocols, or an ICMP code.
9502
9574
  #
9503
9575
  # * `ip-permission.user-id` - The ID of an AWS account that has been
9504
- # granted permission.
9576
+ # referenced in an inbound security group rule.
9505
9577
  #
9506
9578
  # * `owner-id` - The AWS account ID of the owner of the security
9507
9579
  # group.
@@ -11174,6 +11246,13 @@ module Aws::EC2
11174
11246
  #
11175
11247
  # {
11176
11248
  # dry_run: false,
11249
+ # service_names: ["String"],
11250
+ # filters: [
11251
+ # {
11252
+ # name: "String",
11253
+ # values: ["String"],
11254
+ # },
11255
+ # ],
11177
11256
  # max_results: 1,
11178
11257
  # next_token: "String",
11179
11258
  # }
@@ -11185,6 +11264,18 @@ module Aws::EC2
11185
11264
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11186
11265
  # @return [Boolean]
11187
11266
  #
11267
+ # @!attribute [rw] service_names
11268
+ # One or more service names.
11269
+ # @return [Array<String>]
11270
+ #
11271
+ # @!attribute [rw] filters
11272
+ # One or more filters.
11273
+ #
11274
+ # * `service-name`\: The name of the service.
11275
+ #
11276
+ # ^
11277
+ # @return [Array<Types::Filter>]
11278
+ #
11188
11279
  # @!attribute [rw] max_results
11189
11280
  # The maximum number of items to return for this request. The request
11190
11281
  # returns a token that you can specify in a subsequent call to get the
@@ -11203,6 +11294,8 @@ module Aws::EC2
11203
11294
  #
11204
11295
  class DescribeVpcEndpointServicesRequest < Struct.new(
11205
11296
  :dry_run,
11297
+ :service_names,
11298
+ :filters,
11206
11299
  :max_results,
11207
11300
  :next_token)
11208
11301
  include Aws::Structure
@@ -11210,20 +11303,25 @@ module Aws::EC2
11210
11303
 
11211
11304
  # Contains the output of DescribeVpcEndpointServices.
11212
11305
  #
11306
+ # @!attribute [rw] service_names
11307
+ # A list of supported AWS services.
11308
+ # @return [Array<String>]
11309
+ #
11310
+ # @!attribute [rw] service_details
11311
+ # Information about the service.
11312
+ # @return [Array<Types::ServiceDetail>]
11313
+ #
11213
11314
  # @!attribute [rw] next_token
11214
11315
  # The token to use when requesting the next set of items. If there are
11215
11316
  # no additional items to return, the string is empty.
11216
11317
  # @return [String]
11217
11318
  #
11218
- # @!attribute [rw] service_names
11219
- # A list of supported AWS services.
11220
- # @return [Array<String>]
11221
- #
11222
11319
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointServicesResult AWS API Documentation
11223
11320
  #
11224
11321
  class DescribeVpcEndpointServicesResult < Struct.new(
11225
- :next_token,
11226
- :service_names)
11322
+ :service_names,
11323
+ :service_details,
11324
+ :next_token)
11227
11325
  include Aws::Structure
11228
11326
  end
11229
11327
 
@@ -11234,6 +11332,7 @@ module Aws::EC2
11234
11332
  #
11235
11333
  # {
11236
11334
  # dry_run: false,
11335
+ # vpc_endpoint_ids: ["String"],
11237
11336
  # filters: [
11238
11337
  # {
11239
11338
  # name: "String",
@@ -11242,7 +11341,6 @@ module Aws::EC2
11242
11341
  # ],
11243
11342
  # max_results: 1,
11244
11343
  # next_token: "String",
11245
- # vpc_endpoint_ids: ["String"],
11246
11344
  # }
11247
11345
  #
11248
11346
  # @!attribute [rw] dry_run
@@ -11252,6 +11350,10 @@ module Aws::EC2
11252
11350
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
11253
11351
  # @return [Boolean]
11254
11352
  #
11353
+ # @!attribute [rw] vpc_endpoint_ids
11354
+ # One or more endpoint IDs.
11355
+ # @return [Array<String>]
11356
+ #
11255
11357
  # @!attribute [rw] filters
11256
11358
  # One or more filters.
11257
11359
  #
@@ -11279,37 +11381,33 @@ module Aws::EC2
11279
11381
  # token from a prior call.)
11280
11382
  # @return [String]
11281
11383
  #
11282
- # @!attribute [rw] vpc_endpoint_ids
11283
- # One or more endpoint IDs.
11284
- # @return [Array<String>]
11285
- #
11286
11384
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsRequest AWS API Documentation
11287
11385
  #
11288
11386
  class DescribeVpcEndpointsRequest < Struct.new(
11289
11387
  :dry_run,
11388
+ :vpc_endpoint_ids,
11290
11389
  :filters,
11291
11390
  :max_results,
11292
- :next_token,
11293
- :vpc_endpoint_ids)
11391
+ :next_token)
11294
11392
  include Aws::Structure
11295
11393
  end
11296
11394
 
11297
11395
  # Contains the output of DescribeVpcEndpoints.
11298
11396
  #
11397
+ # @!attribute [rw] vpc_endpoints
11398
+ # Information about the endpoints.
11399
+ # @return [Array<Types::VpcEndpoint>]
11400
+ #
11299
11401
  # @!attribute [rw] next_token
11300
11402
  # The token to use when requesting the next set of items. If there are
11301
11403
  # no additional items to return, the string is empty.
11302
11404
  # @return [String]
11303
11405
  #
11304
- # @!attribute [rw] vpc_endpoints
11305
- # Information about the endpoints.
11306
- # @return [Array<Types::VpcEndpoint>]
11307
- #
11308
11406
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeVpcEndpointsResult AWS API Documentation
11309
11407
  #
11310
11408
  class DescribeVpcEndpointsResult < Struct.new(
11311
- :next_token,
11312
- :vpc_endpoints)
11409
+ :vpc_endpoints,
11410
+ :next_token)
11313
11411
  include Aws::Structure
11314
11412
  end
11315
11413
 
@@ -12372,6 +12470,24 @@ module Aws::EC2
12372
12470
  include Aws::Structure
12373
12471
  end
12374
12472
 
12473
+ # Describes a DNS entry.
12474
+ #
12475
+ # @!attribute [rw] dns_name
12476
+ # The DNS name.
12477
+ # @return [String]
12478
+ #
12479
+ # @!attribute [rw] hosted_zone_id
12480
+ # The ID of the private hosted zone.
12481
+ # @return [String]
12482
+ #
12483
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DnsEntry AWS API Documentation
12484
+ #
12485
+ class DnsEntry < Struct.new(
12486
+ :dns_name,
12487
+ :hosted_zone_id)
12488
+ include Aws::Structure
12489
+ end
12490
+
12375
12491
  # Describes a block device for an EBS volume.
12376
12492
  #
12377
12493
  # @note When making an API call, you may pass EbsBlockDevice
@@ -12387,9 +12503,11 @@ module Aws::EC2
12387
12503
  # }
12388
12504
  #
12389
12505
  # @!attribute [rw] encrypted
12390
- # Indicates whether the EBS volume is encrypted. Encrypted Amazon EBS
12391
- # volumes may only be attached to instances that support Amazon EBS
12392
- # encryption.
12506
+ # Indicates whether the EBS volume is encrypted. Encrypted volumes can
12507
+ # only be attached to instances that support Amazon EBS encryption. If
12508
+ # you are creating a volume from a snapshot, you can't specify an
12509
+ # encryption value. This is because only blank volumes can be
12510
+ # encrypted on creation.
12393
12511
  # @return [Boolean]
12394
12512
  #
12395
12513
  # @!attribute [rw] delete_on_termination
@@ -17424,18 +17542,19 @@ module Aws::EC2
17424
17542
  # data as a hash:
17425
17543
  #
17426
17544
  # {
17427
- # add_route_table_ids: ["String"],
17428
17545
  # dry_run: false,
17546
+ # vpc_endpoint_id: "String", # required
17547
+ # reset_policy: false,
17429
17548
  # policy_document: "String",
17549
+ # add_route_table_ids: ["String"],
17430
17550
  # remove_route_table_ids: ["String"],
17431
- # reset_policy: false,
17432
- # vpc_endpoint_id: "String", # required
17551
+ # add_subnet_ids: ["String"],
17552
+ # remove_subnet_ids: ["String"],
17553
+ # add_security_group_ids: ["String"],
17554
+ # remove_security_group_ids: ["String"],
17555
+ # private_dns_enabled: false,
17433
17556
  # }
17434
17557
  #
17435
- # @!attribute [rw] add_route_table_ids
17436
- # One or more route tables IDs to associate with the endpoint.
17437
- # @return [Array<String>]
17438
- #
17439
17558
  # @!attribute [rw] dry_run
17440
17559
  # Checks whether you have the required permissions for the action,
17441
17560
  # without actually making the request, and provides an error response.
@@ -17443,38 +17562,73 @@ module Aws::EC2
17443
17562
  # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
17444
17563
  # @return [Boolean]
17445
17564
  #
17565
+ # @!attribute [rw] vpc_endpoint_id
17566
+ # The ID of the endpoint.
17567
+ # @return [String]
17568
+ #
17569
+ # @!attribute [rw] reset_policy
17570
+ # (Gateway endpoint) Specify `true` to reset the policy document to
17571
+ # the default policy. The default policy allows full access to the
17572
+ # service.
17573
+ # @return [Boolean]
17574
+ #
17446
17575
  # @!attribute [rw] policy_document
17447
- # A policy document to attach to the endpoint. The policy must be in
17448
- # valid JSON format.
17576
+ # (Gateway endpoint) A policy document to attach to the endpoint. The
17577
+ # policy must be in valid JSON format.
17449
17578
  # @return [String]
17450
17579
  #
17580
+ # @!attribute [rw] add_route_table_ids
17581
+ # (Gateway endpoint) One or more route tables IDs to associate with
17582
+ # the endpoint.
17583
+ # @return [Array<String>]
17584
+ #
17451
17585
  # @!attribute [rw] remove_route_table_ids
17452
- # One or more route table IDs to disassociate from the endpoint.
17586
+ # (Gateway endpoint) One or more route table IDs to disassociate from
17587
+ # the endpoint.
17453
17588
  # @return [Array<String>]
17454
17589
  #
17455
- # @!attribute [rw] reset_policy
17456
- # Specify `true` to reset the policy document to the default policy.
17457
- # The default policy allows access to the service.
17458
- # @return [Boolean]
17590
+ # @!attribute [rw] add_subnet_ids
17591
+ # (Interface endpoint) One or more subnet IDs in which to serve the
17592
+ # endpoint.
17593
+ # @return [Array<String>]
17459
17594
  #
17460
- # @!attribute [rw] vpc_endpoint_id
17461
- # The ID of the endpoint.
17462
- # @return [String]
17595
+ # @!attribute [rw] remove_subnet_ids
17596
+ # (Interface endpoint) One or more subnets IDs in which to remove the
17597
+ # endpoint.
17598
+ # @return [Array<String>]
17599
+ #
17600
+ # @!attribute [rw] add_security_group_ids
17601
+ # (Interface endpoint) One or more security group IDs to associate
17602
+ # with the network interface.
17603
+ # @return [Array<String>]
17604
+ #
17605
+ # @!attribute [rw] remove_security_group_ids
17606
+ # (Interface endpoint) One or more security group IDs to disassociate
17607
+ # from the network interface.
17608
+ # @return [Array<String>]
17609
+ #
17610
+ # @!attribute [rw] private_dns_enabled
17611
+ # (Interface endpoint) Indicate whether a private hosted zone is
17612
+ # associated with the VPC.
17613
+ # @return [Boolean]
17463
17614
  #
17464
17615
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ModifyVpcEndpointRequest AWS API Documentation
17465
17616
  #
17466
17617
  class ModifyVpcEndpointRequest < Struct.new(
17467
- :add_route_table_ids,
17468
17618
  :dry_run,
17619
+ :vpc_endpoint_id,
17620
+ :reset_policy,
17469
17621
  :policy_document,
17622
+ :add_route_table_ids,
17470
17623
  :remove_route_table_ids,
17471
- :reset_policy,
17472
- :vpc_endpoint_id)
17624
+ :add_subnet_ids,
17625
+ :remove_subnet_ids,
17626
+ :add_security_group_ids,
17627
+ :remove_security_group_ids,
17628
+ :private_dns_enabled)
17473
17629
  include Aws::Structure
17474
17630
  end
17475
17631
 
17476
- # Contains the output of ModifyVpcEndpoint.
17477
- #
17478
17632
  # @!attribute [rw] return
17479
17633
  # Returns `true` if the request succeeds; otherwise, it returns an
17480
17634
  # error.
@@ -20257,7 +20411,11 @@ module Aws::EC2
20257
20411
  # @return [String]
20258
20412
  #
20259
20413
  # @!attribute [rw] block_device_mappings
20260
- # One or more block device mapping entries.
20414
+ # One or more block device mapping entries. You can't specify both a
20415
+ # snapshot ID and an encryption value. This is because only blank
20416
+ # volumes can be encrypted on creation. If a snapshot is the basis for
20417
+ # a volume, it is not blank and its encryption status is used for the
20418
+ # volume encryption status.
20261
20419
  # @return [Array<Types::BlockDeviceMapping>]
20262
20420
  #
20263
20421
  # @!attribute [rw] ebs_optimized
@@ -21607,14 +21765,11 @@ module Aws::EC2
21607
21765
  # }
21608
21766
  #
21609
21767
  # @!attribute [rw] block_device_mappings
21610
- # The block device mapping.
21611
- #
21612
- # Supplying both a snapshot ID and an encryption value as arguments
21613
- # for block-device mapping results in an error. This is because only
21614
- # blank volumes can be encrypted on start, and these are not created
21615
- # from a snapshot. If a snapshot is the basis for the volume, it
21616
- # contains data by definition and its encryption status cannot be
21617
- # changed using this action.
21768
+ # One or more block device mapping entries. You can't specify both a
21769
+ # snapshot ID and an encryption value. This is because only blank
21770
+ # volumes can be encrypted on creation. If a snapshot is the basis for
21771
+ # a volume, it is not blank and its encryption status is used for the
21772
+ # volume encryption status.
21618
21773
  # @return [Array<Types::BlockDeviceMapping>]
21619
21774
  #
21620
21775
  # @!attribute [rw] image_id
@@ -22864,6 +23019,24 @@ module Aws::EC2
22864
23019
  include Aws::Structure
22865
23020
  end
22866
23021
 
23022
+ # Describes a security group.
23023
+ #
23024
+ # @!attribute [rw] group_id
23025
+ # The ID of the security group.
23026
+ # @return [String]
23027
+ #
23028
+ # @!attribute [rw] group_name
23029
+ # The name of the security group.
23030
+ # @return [String]
23031
+ #
23032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/SecurityGroupIdentifier AWS API Documentation
23033
+ #
23034
+ class SecurityGroupIdentifier < Struct.new(
23035
+ :group_id,
23036
+ :group_name)
23037
+ include Aws::Structure
23038
+ end
23039
+
22867
23040
  # Describes a VPC with a security group that references your security
22868
23041
  # group.
22869
23042
  #
@@ -22888,6 +23061,68 @@ module Aws::EC2
22888
23061
  include Aws::Structure
22889
23062
  end
22890
23063
 
23064
+ # Describes a service.
23065
+ #
23066
+ # @!attribute [rw] service_name
23067
+ # The Amazon Resource Name (ARN) of the service.
23068
+ # @return [String]
23069
+ #
23070
+ # @!attribute [rw] service_type
23071
+ # The type of service.
23072
+ # @return [Array<Types::ServiceTypeDetail>]
23073
+ #
23074
+ # @!attribute [rw] availability_zones
23075
+ # The Availability Zones in which the service is available.
23076
+ # @return [Array<String>]
23077
+ #
23078
+ # @!attribute [rw] owner
23079
+ # The AWS account ID of the service owner.
23080
+ # @return [String]
23081
+ #
23082
+ # @!attribute [rw] base_endpoint_dns_names
23083
+ # The DNS names for the service.
23084
+ # @return [Array<String>]
23085
+ #
23086
+ # @!attribute [rw] private_dns_name
23087
+ # The private DNS name for the service.
23088
+ # @return [String]
23089
+ #
23090
+ # @!attribute [rw] vpc_endpoint_policy_supported
23091
+ # Indicates whether the service supports endpoint policies.
23092
+ # @return [Boolean]
23093
+ #
23094
+ # @!attribute [rw] acceptance_required
23095
+ # Indicates whether VPC endpoint connection requests to the service
23096
+ # must be accepted by the service owner.
23097
+ # @return [Boolean]
23098
+ #
23099
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ServiceDetail AWS API Documentation
23100
+ #
23101
+ class ServiceDetail < Struct.new(
23102
+ :service_name,
23103
+ :service_type,
23104
+ :availability_zones,
23105
+ :owner,
23106
+ :base_endpoint_dns_names,
23107
+ :private_dns_name,
23108
+ :vpc_endpoint_policy_supported,
23109
+ :acceptance_required)
23110
+ include Aws::Structure
23111
+ end
23112
+
23113
+ # Describes the type of service for a VPC endpoint.
23114
+ #
23115
+ # @!attribute [rw] service_type
23116
+ # The type of service.
23117
+ # @return [String]
23118
+ #
23119
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/ServiceTypeDetail AWS API Documentation
23120
+ #
23121
+ class ServiceTypeDetail < Struct.new(
23122
+ :service_type)
23123
+ include Aws::Structure
23124
+ end
23125
+
22891
23126
  # Describes the time period for a Scheduled Instance to start its first
22892
23127
  # schedule. The time period must span less than one day.
22893
23128
  #
@@ -23333,7 +23568,11 @@ module Aws::EC2
23333
23568
  # @return [String]
23334
23569
  #
23335
23570
  # @!attribute [rw] block_device_mappings
23336
- # One or more block device mapping entries.
23571
+ # One or more block device mapping entries. You can't specify both a
23572
+ # snapshot ID and an encryption value. This is because only blank
23573
+ # volumes can be encrypted on creation. If a snapshot is the basis for
23574
+ # a volume, it is not blank and its encryption status is used for the
23575
+ # volume encryption status.
23337
23576
  # @return [Array<Types::BlockDeviceMapping>]
23338
23577
  #
23339
23578
  # @!attribute [rw] ebs_optimized
@@ -25596,17 +25835,17 @@ module Aws::EC2
25596
25835
 
25597
25836
  # Describes a VPC endpoint.
25598
25837
  #
25599
- # @!attribute [rw] creation_timestamp
25600
- # The date and time the VPC endpoint was created.
25601
- # @return [Time]
25838
+ # @!attribute [rw] vpc_endpoint_id
25839
+ # The ID of the VPC endpoint.
25840
+ # @return [String]
25602
25841
  #
25603
- # @!attribute [rw] policy_document
25604
- # The policy document associated with the endpoint.
25842
+ # @!attribute [rw] vpc_endpoint_type
25843
+ # The type of endpoint.
25605
25844
  # @return [String]
25606
25845
  #
25607
- # @!attribute [rw] route_table_ids
25608
- # One or more route tables associated with the endpoint.
25609
- # @return [Array<String>]
25846
+ # @!attribute [rw] vpc_id
25847
+ # The ID of the VPC to which the endpoint is associated.
25848
+ # @return [String]
25610
25849
  #
25611
25850
  # @!attribute [rw] service_name
25612
25851
  # The name of the AWS service to which the endpoint is associated.
@@ -25616,24 +25855,59 @@ module Aws::EC2
25616
25855
  # The state of the VPC endpoint.
25617
25856
  # @return [String]
25618
25857
  #
25619
- # @!attribute [rw] vpc_endpoint_id
25620
- # The ID of the VPC endpoint.
25858
+ # @!attribute [rw] policy_document
25859
+ # The policy document associated with the endpoint, if applicable.
25621
25860
  # @return [String]
25622
25861
  #
25623
- # @!attribute [rw] vpc_id
25624
- # The ID of the VPC to which the endpoint is associated.
25625
- # @return [String]
25862
+ # @!attribute [rw] route_table_ids
25863
+ # (Gateway endpoint) One or more route tables associated with the
25864
+ # endpoint.
25865
+ # @return [Array<String>]
25866
+ #
25867
+ # @!attribute [rw] subnet_ids
25868
+ # (Interface endpoint) One or more subnets in which the endpoint is
25869
+ # located.
25870
+ # @return [Array<String>]
25871
+ #
25872
+ # @!attribute [rw] groups
25873
+ # (Interface endpoint) Information about the security groups
25874
+ # associated with the network interface.
25875
+ # @return [Array<Types::SecurityGroupIdentifier>]
25876
+ #
25877
+ # @!attribute [rw] private_dns_enabled
25878
+ # (Interface endpoint) Indicates whether the VPC is associated with a
25879
+ # private hosted zone.
25880
+ # @return [Boolean]
25881
+ #
25882
+ # @!attribute [rw] network_interface_ids
25883
+ # (Interface endpoint) One or more network interfaces for the
25884
+ # endpoint.
25885
+ # @return [Array<String>]
25886
+ #
25887
+ # @!attribute [rw] dns_entries
25888
+ # (Interface endpoint) The DNS entries for the endpoint.
25889
+ # @return [Array<Types::DnsEntry>]
25890
+ #
25891
+ # @!attribute [rw] creation_timestamp
25892
+ # The date and time the VPC endpoint was created.
25893
+ # @return [Time]
25626
25894
  #
25627
25895
  # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/VpcEndpoint AWS API Documentation
25628
25896
  #
25629
25897
  class VpcEndpoint < Struct.new(
25630
- :creation_timestamp,
25631
- :policy_document,
25632
- :route_table_ids,
25898
+ :vpc_endpoint_id,
25899
+ :vpc_endpoint_type,
25900
+ :vpc_id,
25633
25901
  :service_name,
25634
25902
  :state,
25635
- :vpc_endpoint_id,
25636
- :vpc_id)
25903
+ :policy_document,
25904
+ :route_table_ids,
25905
+ :subnet_ids,
25906
+ :groups,
25907
+ :private_dns_enabled,
25908
+ :network_interface_ids,
25909
+ :dns_entries,
25910
+ :creation_timestamp)
25637
25911
  include Aws::Structure
25638
25912
  end
25639
25913