aws-sdk-ec2 1.0.0.rc10 → 1.0.0.rc11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: eda38132f68d52d481afd6e2dbd8585ccf4021ca
4
- data.tar.gz: c1f4cda73f3a0b79d10e1181a83565ee69925aa3
3
+ metadata.gz: 4f8569b7d940ee9ec93d61a382e9ebebc41d00bf
4
+ data.tar.gz: d719dcb37aab30ab7af4c8488b6469d24e081095
5
5
  SHA512:
6
- metadata.gz: 3e98ca77656369d669b85f7312d83b1daabdf19035686a7fd9d6de6d5b7bc9b1dc5f2ce3f8a36ad44100c46711a41c223d84d010427cc62d7d2a6c9e9b8c7de9
7
- data.tar.gz: 7de60d4b2a9cb1af78d459f08f2f6822fa45b14a7abf4fd6aa3f13793f98533b9d4f658cfa38dd1296326f0698e950e5646b4d5f53db62b7d3f7010021a5ff3f
6
+ metadata.gz: 51c49beec41facdb121ecb1182e92bd56003b444a5339b82324f34d990e2feab1566f8b3577ecb2bb3b409c8067788c4e7d7cd0df3fbbc03b85c90a62601f575
7
+ data.tar.gz: 095c4d8fb66f47c569cae8ce0c17811d692feb6367ed31a333788c3075d013561011cadcc0b16d2a027b44faa8f366e5b504187a357ff6521bba645278bf503b
@@ -65,6 +65,6 @@ require_relative 'aws-sdk-ec2/customizations'
65
65
  # @service
66
66
  module Aws::EC2
67
67
 
68
- GEM_VERSION = '1.0.0.rc10'
68
+ GEM_VERSION = '1.0.0.rc11'
69
69
 
70
70
  end
@@ -3552,6 +3552,63 @@ module Aws::EC2
3552
3552
  req.send_request(options)
3553
3553
  end
3554
3554
 
3555
+ # Grants an AWS authorized partner account permission to attach the
3556
+ # specified network interface to an instance in their account.
3557
+ #
3558
+ # You can grant permission to a single AWS account only, and only one
3559
+ # account at a time.
3560
+ #
3561
+ # @option params [required, String] :network_interface_id
3562
+ # The ID of the network interface.
3563
+ #
3564
+ # @option params [String] :aws_account_id
3565
+ # The AWS account ID.
3566
+ #
3567
+ # @option params [String] :aws_service
3568
+ # The AWS service. Currently not supported.
3569
+ #
3570
+ # @option params [required, String] :permission
3571
+ # The type of permission to grant.
3572
+ #
3573
+ # @option params [Boolean] :dry_run
3574
+ # Checks whether you have the required permissions for the action,
3575
+ # without actually making the request, and provides an error response.
3576
+ # If you have the required permissions, the error response is
3577
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3578
+ #
3579
+ # @return [Types::CreateNetworkInterfacePermissionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3580
+ #
3581
+ # * {Types::CreateNetworkInterfacePermissionResult#interface_permission #interface_permission} => Types::NetworkInterfacePermission
3582
+ #
3583
+ # @example Request syntax with placeholder values
3584
+ #
3585
+ # resp = client.create_network_interface_permission({
3586
+ # network_interface_id: "String", # required
3587
+ # aws_account_id: "String",
3588
+ # aws_service: "String",
3589
+ # permission: "INSTANCE-ATTACH", # required, accepts INSTANCE-ATTACH, EIP-ASSOCIATE
3590
+ # dry_run: false,
3591
+ # })
3592
+ #
3593
+ # @example Response structure
3594
+ #
3595
+ # resp.interface_permission.network_interface_permission_id #=> String
3596
+ # resp.interface_permission.network_interface_id #=> String
3597
+ # resp.interface_permission.aws_account_id #=> String
3598
+ # resp.interface_permission.aws_service #=> String
3599
+ # resp.interface_permission.permission #=> String, one of "INSTANCE-ATTACH", "EIP-ASSOCIATE"
3600
+ # resp.interface_permission.permission_state.state #=> String, one of "pending", "granted", "revoking", "revoked"
3601
+ # resp.interface_permission.permission_state.status_message #=> String
3602
+ #
3603
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermission AWS API Documentation
3604
+ #
3605
+ # @overload create_network_interface_permission(params = {})
3606
+ # @param [Hash] params ({})
3607
+ def create_network_interface_permission(params = {}, options = {})
3608
+ req = build_request(:create_network_interface_permission, params)
3609
+ req.send_request(options)
3610
+ end
3611
+
3555
3612
  # Creates a placement group that you launch cluster instances into. You
3556
3613
  # must give the group a name that's unique within the scope of your
3557
3614
  # account.
@@ -5480,6 +5537,49 @@ module Aws::EC2
5480
5537
  req.send_request(options)
5481
5538
  end
5482
5539
 
5540
+ # Deletes a permission for a network interface. By default, you cannot
5541
+ # delete the permission if the account for which you're removing the
5542
+ # permission has attached the network interface to an instance. However,
5543
+ # you can force delete the permission, regardless of any attachment.
5544
+ #
5545
+ # @option params [required, String] :network_interface_permission_id
5546
+ # The ID of the network interface permission.
5547
+ #
5548
+ # @option params [Boolean] :force
5549
+ # Specify `true` to remove the permission even if the network interface
5550
+ # is attached to an instance.
5551
+ #
5552
+ # @option params [Boolean] :dry_run
5553
+ # Checks whether you have the required permissions for the action,
5554
+ # without actually making the request, and provides an error response.
5555
+ # If you have the required permissions, the error response is
5556
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
5557
+ #
5558
+ # @return [Types::DeleteNetworkInterfacePermissionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5559
+ #
5560
+ # * {Types::DeleteNetworkInterfacePermissionResult#return #return} => Boolean
5561
+ #
5562
+ # @example Request syntax with placeholder values
5563
+ #
5564
+ # resp = client.delete_network_interface_permission({
5565
+ # network_interface_permission_id: "String", # required
5566
+ # force: false,
5567
+ # dry_run: false,
5568
+ # })
5569
+ #
5570
+ # @example Response structure
5571
+ #
5572
+ # resp.return #=> Boolean
5573
+ #
5574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermission AWS API Documentation
5575
+ #
5576
+ # @overload delete_network_interface_permission(params = {})
5577
+ # @param [Hash] params ({})
5578
+ def delete_network_interface_permission(params = {}, options = {})
5579
+ req = build_request(:delete_network_interface_permission, params)
5580
+ req.send_request(options)
5581
+ end
5582
+
5483
5583
  # Deletes the specified placement group. You must terminate all
5484
5584
  # instances in the placement group before you can delete the placement
5485
5585
  # group. For more information about placement groups and cluster
@@ -8374,7 +8474,8 @@ module Aws::EC2
8374
8474
  end
8375
8475
 
8376
8476
  # Describes the status of one or more instances. By default, only
8377
- # running instances are described, unless specified otherwise.
8477
+ # running instances are described, unless you specifically indicate to
8478
+ # return the status of all instances.
8378
8479
  #
8379
8480
  # Instance status includes the following components:
8380
8481
  #
@@ -9676,6 +9777,76 @@ module Aws::EC2
9676
9777
  req.send_request(options)
9677
9778
  end
9678
9779
 
9780
+ # Describes the permissions for your network interfaces.
9781
+ #
9782
+ # @option params [Array<String>] :network_interface_permission_ids
9783
+ # One or more network interface permission IDs.
9784
+ #
9785
+ # @option params [Array<Types::Filter>] :filters
9786
+ # One or more filters.
9787
+ #
9788
+ # * `network-interface-permission.network-interface-permission-id` - The
9789
+ # ID of the permission.
9790
+ #
9791
+ # * `network-interface-permission.network-interface-id` - The ID of the
9792
+ # network interface.
9793
+ #
9794
+ # * `network-interface-permission.aws-account-id` - The AWS account ID.
9795
+ #
9796
+ # * `network-interface-permission.aws-service` - The AWS service.
9797
+ #
9798
+ # * `network-interface-permission.permission` - The type of permission
9799
+ # (`INSTANCE-ATTACH` \| `EIP-ASSOCIATE`).
9800
+ #
9801
+ # @option params [String] :next_token
9802
+ # The token to request the next page of results.
9803
+ #
9804
+ # @option params [Integer] :max_results
9805
+ # The maximum number of results to return in a single call. To retrieve
9806
+ # the remaining results, make another call with the returned `NextToken`
9807
+ # value. If this parameter is not specified, up to 50 results are
9808
+ # returned by default.
9809
+ #
9810
+ # @return [Types::DescribeNetworkInterfacePermissionsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
9811
+ #
9812
+ # * {Types::DescribeNetworkInterfacePermissionsResult#network_interface_permissions #network_interface_permissions} => Array&lt;Types::NetworkInterfacePermission&gt;
9813
+ # * {Types::DescribeNetworkInterfacePermissionsResult#next_token #next_token} => String
9814
+ #
9815
+ # @example Request syntax with placeholder values
9816
+ #
9817
+ # resp = client.describe_network_interface_permissions({
9818
+ # network_interface_permission_ids: ["String"],
9819
+ # filters: [
9820
+ # {
9821
+ # name: "String",
9822
+ # values: ["String"],
9823
+ # },
9824
+ # ],
9825
+ # next_token: "String",
9826
+ # max_results: 1,
9827
+ # })
9828
+ #
9829
+ # @example Response structure
9830
+ #
9831
+ # resp.network_interface_permissions #=> Array
9832
+ # resp.network_interface_permissions[0].network_interface_permission_id #=> String
9833
+ # resp.network_interface_permissions[0].network_interface_id #=> String
9834
+ # resp.network_interface_permissions[0].aws_account_id #=> String
9835
+ # resp.network_interface_permissions[0].aws_service #=> String
9836
+ # resp.network_interface_permissions[0].permission #=> String, one of "INSTANCE-ATTACH", "EIP-ASSOCIATE"
9837
+ # resp.network_interface_permissions[0].permission_state.state #=> String, one of "pending", "granted", "revoking", "revoked"
9838
+ # resp.network_interface_permissions[0].permission_state.status_message #=> String
9839
+ # resp.next_token #=> String
9840
+ #
9841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissions AWS API Documentation
9842
+ #
9843
+ # @overload describe_network_interface_permissions(params = {})
9844
+ # @param [Hash] params ({})
9845
+ def describe_network_interface_permissions(params = {}, options = {})
9846
+ req = build_request(:describe_network_interface_permissions, params)
9847
+ req.send_request(options)
9848
+ end
9849
+
9679
9850
  # Describes one or more of your network interfaces.
9680
9851
  #
9681
9852
  # @option params [Array<Types::Filter>] :filters
@@ -11563,7 +11734,7 @@ module Aws::EC2
11563
11734
  # * `owner-alias` - Value from an Amazon-maintained list (`amazon` \|
11564
11735
  # `aws-marketplace` \| `microsoft`) of snapshot owners. Not to be
11565
11736
  # confused with the user-configured AWS account alias, which is set
11566
- # from the IAM consolew.
11737
+ # from the IAM console.
11567
11738
  #
11568
11739
  # * `owner-id` - The ID of the AWS account that owns the snapshot.
11569
11740
  #
@@ -16191,7 +16362,7 @@ module Aws::EC2
16191
16362
  # @option params [Types::AttributeBooleanValue] :disable_api_termination
16192
16363
  # If the value is `true`, you can't terminate the instance using the
16193
16364
  # Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use
16194
- # this paramater for Spot Instances.
16365
+ # this parameter for Spot Instances.
16195
16366
  #
16196
16367
  # @option params [Boolean] :dry_run
16197
16368
  # Checks whether you have the required permissions for the action,
@@ -20477,7 +20648,7 @@ module Aws::EC2
20477
20648
  params: params,
20478
20649
  config: config)
20479
20650
  context[:gem_name] = 'aws-sdk-ec2'
20480
- context[:gem_version] = '1.0.0.rc10'
20651
+ context[:gem_version] = '1.0.0.rc11'
20481
20652
  Seahorse::Client::Request.new(handlers, context)
20482
20653
  end
20483
20654
 
@@ -144,6 +144,8 @@ module Aws::EC2
144
144
  CreateNetworkAclEntryRequest = Shapes::StructureShape.new(name: 'CreateNetworkAclEntryRequest')
145
145
  CreateNetworkAclRequest = Shapes::StructureShape.new(name: 'CreateNetworkAclRequest')
146
146
  CreateNetworkAclResult = Shapes::StructureShape.new(name: 'CreateNetworkAclResult')
147
+ CreateNetworkInterfacePermissionRequest = Shapes::StructureShape.new(name: 'CreateNetworkInterfacePermissionRequest')
148
+ CreateNetworkInterfacePermissionResult = Shapes::StructureShape.new(name: 'CreateNetworkInterfacePermissionResult')
147
149
  CreateNetworkInterfaceRequest = Shapes::StructureShape.new(name: 'CreateNetworkInterfaceRequest')
148
150
  CreateNetworkInterfaceResult = Shapes::StructureShape.new(name: 'CreateNetworkInterfaceResult')
149
151
  CreatePlacementGroupRequest = Shapes::StructureShape.new(name: 'CreatePlacementGroupRequest')
@@ -194,6 +196,8 @@ module Aws::EC2
194
196
  DeleteNatGatewayResult = Shapes::StructureShape.new(name: 'DeleteNatGatewayResult')
195
197
  DeleteNetworkAclEntryRequest = Shapes::StructureShape.new(name: 'DeleteNetworkAclEntryRequest')
196
198
  DeleteNetworkAclRequest = Shapes::StructureShape.new(name: 'DeleteNetworkAclRequest')
199
+ DeleteNetworkInterfacePermissionRequest = Shapes::StructureShape.new(name: 'DeleteNetworkInterfacePermissionRequest')
200
+ DeleteNetworkInterfacePermissionResult = Shapes::StructureShape.new(name: 'DeleteNetworkInterfacePermissionResult')
197
201
  DeleteNetworkInterfaceRequest = Shapes::StructureShape.new(name: 'DeleteNetworkInterfaceRequest')
198
202
  DeletePlacementGroupRequest = Shapes::StructureShape.new(name: 'DeletePlacementGroupRequest')
199
203
  DeleteRouteRequest = Shapes::StructureShape.new(name: 'DeleteRouteRequest')
@@ -274,6 +278,8 @@ module Aws::EC2
274
278
  DescribeNetworkAclsResult = Shapes::StructureShape.new(name: 'DescribeNetworkAclsResult')
275
279
  DescribeNetworkInterfaceAttributeRequest = Shapes::StructureShape.new(name: 'DescribeNetworkInterfaceAttributeRequest')
276
280
  DescribeNetworkInterfaceAttributeResult = Shapes::StructureShape.new(name: 'DescribeNetworkInterfaceAttributeResult')
281
+ DescribeNetworkInterfacePermissionsRequest = Shapes::StructureShape.new(name: 'DescribeNetworkInterfacePermissionsRequest')
282
+ DescribeNetworkInterfacePermissionsResult = Shapes::StructureShape.new(name: 'DescribeNetworkInterfacePermissionsResult')
277
283
  DescribeNetworkInterfacesRequest = Shapes::StructureShape.new(name: 'DescribeNetworkInterfacesRequest')
278
284
  DescribeNetworkInterfacesResult = Shapes::StructureShape.new(name: 'DescribeNetworkInterfacesResult')
279
285
  DescribePlacementGroupsRequest = Shapes::StructureShape.new(name: 'DescribePlacementGroupsRequest')
@@ -528,6 +534,7 @@ module Aws::EC2
528
534
  InstanceType = Shapes::StringShape.new(name: 'InstanceType')
529
535
  InstanceTypeList = Shapes::ListShape.new(name: 'InstanceTypeList')
530
536
  Integer = Shapes::IntegerShape.new(name: 'Integer')
537
+ InterfacePermissionType = Shapes::StringShape.new(name: 'InterfacePermissionType')
531
538
  InternetGateway = Shapes::StructureShape.new(name: 'InternetGateway')
532
539
  InternetGatewayAttachment = Shapes::StructureShape.new(name: 'InternetGatewayAttachment')
533
540
  InternetGatewayAttachmentList = Shapes::ListShape.new(name: 'InternetGatewayAttachmentList')
@@ -608,6 +615,11 @@ module Aws::EC2
608
615
  NetworkInterfaceIpv6Address = Shapes::StructureShape.new(name: 'NetworkInterfaceIpv6Address')
609
616
  NetworkInterfaceIpv6AddressesList = Shapes::ListShape.new(name: 'NetworkInterfaceIpv6AddressesList')
610
617
  NetworkInterfaceList = Shapes::ListShape.new(name: 'NetworkInterfaceList')
618
+ NetworkInterfacePermission = Shapes::StructureShape.new(name: 'NetworkInterfacePermission')
619
+ NetworkInterfacePermissionIdList = Shapes::ListShape.new(name: 'NetworkInterfacePermissionIdList')
620
+ NetworkInterfacePermissionList = Shapes::ListShape.new(name: 'NetworkInterfacePermissionList')
621
+ NetworkInterfacePermissionState = Shapes::StructureShape.new(name: 'NetworkInterfacePermissionState')
622
+ NetworkInterfacePermissionStateCode = Shapes::StringShape.new(name: 'NetworkInterfacePermissionStateCode')
611
623
  NetworkInterfacePrivateIpAddress = Shapes::StructureShape.new(name: 'NetworkInterfacePrivateIpAddress')
612
624
  NetworkInterfacePrivateIpAddressList = Shapes::ListShape.new(name: 'NetworkInterfacePrivateIpAddressList')
613
625
  NetworkInterfaceStatus = Shapes::StringShape.new(name: 'NetworkInterfaceStatus')
@@ -1438,6 +1450,16 @@ module Aws::EC2
1438
1450
  CreateNetworkAclResult.add_member(:network_acl, Shapes::ShapeRef.new(shape: NetworkAcl, location_name: "networkAcl"))
1439
1451
  CreateNetworkAclResult.struct_class = Types::CreateNetworkAclResult
1440
1452
 
1453
+ CreateNetworkInterfacePermissionRequest.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "NetworkInterfaceId"))
1454
+ CreateNetworkInterfacePermissionRequest.add_member(:aws_account_id, Shapes::ShapeRef.new(shape: String, location_name: "AwsAccountId"))
1455
+ CreateNetworkInterfacePermissionRequest.add_member(:aws_service, Shapes::ShapeRef.new(shape: String, location_name: "AwsService"))
1456
+ CreateNetworkInterfacePermissionRequest.add_member(:permission, Shapes::ShapeRef.new(shape: InterfacePermissionType, required: true, location_name: "Permission"))
1457
+ CreateNetworkInterfacePermissionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1458
+ CreateNetworkInterfacePermissionRequest.struct_class = Types::CreateNetworkInterfacePermissionRequest
1459
+
1460
+ CreateNetworkInterfacePermissionResult.add_member(:interface_permission, Shapes::ShapeRef.new(shape: NetworkInterfacePermission, location_name: "interfacePermission"))
1461
+ CreateNetworkInterfacePermissionResult.struct_class = Types::CreateNetworkInterfacePermissionResult
1462
+
1441
1463
  CreateNetworkInterfaceRequest.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
1442
1464
  CreateNetworkInterfaceRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1443
1465
  CreateNetworkInterfaceRequest.add_member(:groups, Shapes::ShapeRef.new(shape: SecurityGroupIdStringList, location_name: "SecurityGroupId"))
@@ -1655,6 +1677,14 @@ module Aws::EC2
1655
1677
  DeleteNetworkAclRequest.add_member(:network_acl_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "networkAclId"))
1656
1678
  DeleteNetworkAclRequest.struct_class = Types::DeleteNetworkAclRequest
1657
1679
 
1680
+ DeleteNetworkInterfacePermissionRequest.add_member(:network_interface_permission_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "NetworkInterfacePermissionId"))
1681
+ DeleteNetworkInterfacePermissionRequest.add_member(:force, Shapes::ShapeRef.new(shape: Boolean, location_name: "Force"))
1682
+ DeleteNetworkInterfacePermissionRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "DryRun"))
1683
+ DeleteNetworkInterfacePermissionRequest.struct_class = Types::DeleteNetworkInterfacePermissionRequest
1684
+
1685
+ DeleteNetworkInterfacePermissionResult.add_member(:return, Shapes::ShapeRef.new(shape: Boolean, location_name: "return"))
1686
+ DeleteNetworkInterfacePermissionResult.struct_class = Types::DeleteNetworkInterfacePermissionResult
1687
+
1658
1688
  DeleteNetworkInterfaceRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
1659
1689
  DeleteNetworkInterfaceRequest.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "networkInterfaceId"))
1660
1690
  DeleteNetworkInterfaceRequest.struct_class = Types::DeleteNetworkInterfaceRequest
@@ -2015,6 +2045,16 @@ module Aws::EC2
2015
2045
  DescribeNetworkInterfaceAttributeResult.add_member(:source_dest_check, Shapes::ShapeRef.new(shape: AttributeBooleanValue, location_name: "sourceDestCheck"))
2016
2046
  DescribeNetworkInterfaceAttributeResult.struct_class = Types::DescribeNetworkInterfaceAttributeResult
2017
2047
 
2048
+ DescribeNetworkInterfacePermissionsRequest.add_member(:network_interface_permission_ids, Shapes::ShapeRef.new(shape: NetworkInterfacePermissionIdList, location_name: "NetworkInterfacePermissionId"))
2049
+ DescribeNetworkInterfacePermissionsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "Filter"))
2050
+ DescribeNetworkInterfacePermissionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2051
+ DescribeNetworkInterfacePermissionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: Integer, location_name: "MaxResults"))
2052
+ DescribeNetworkInterfacePermissionsRequest.struct_class = Types::DescribeNetworkInterfacePermissionsRequest
2053
+
2054
+ DescribeNetworkInterfacePermissionsResult.add_member(:network_interface_permissions, Shapes::ShapeRef.new(shape: NetworkInterfacePermissionList, location_name: "networkInterfacePermissions"))
2055
+ DescribeNetworkInterfacePermissionsResult.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
2056
+ DescribeNetworkInterfacePermissionsResult.struct_class = Types::DescribeNetworkInterfacePermissionsResult
2057
+
2018
2058
  DescribeNetworkInterfacesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: FilterList, location_name: "filter"))
2019
2059
  DescribeNetworkInterfacesRequest.add_member(:dry_run, Shapes::ShapeRef.new(shape: Boolean, location_name: "dryRun"))
2020
2060
  DescribeNetworkInterfacesRequest.add_member(:network_interface_ids, Shapes::ShapeRef.new(shape: NetworkInterfaceIdList, location_name: "NetworkInterfaceId"))
@@ -3500,6 +3540,22 @@ module Aws::EC2
3500
3540
 
3501
3541
  NetworkInterfaceList.member = Shapes::ShapeRef.new(shape: NetworkInterface, location_name: "item")
3502
3542
 
3543
+ NetworkInterfacePermission.add_member(:network_interface_permission_id, Shapes::ShapeRef.new(shape: String, location_name: "networkInterfacePermissionId"))
3544
+ NetworkInterfacePermission.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: String, location_name: "networkInterfaceId"))
3545
+ NetworkInterfacePermission.add_member(:aws_account_id, Shapes::ShapeRef.new(shape: String, location_name: "awsAccountId"))
3546
+ NetworkInterfacePermission.add_member(:aws_service, Shapes::ShapeRef.new(shape: String, location_name: "awsService"))
3547
+ NetworkInterfacePermission.add_member(:permission, Shapes::ShapeRef.new(shape: InterfacePermissionType, location_name: "permission"))
3548
+ NetworkInterfacePermission.add_member(:permission_state, Shapes::ShapeRef.new(shape: NetworkInterfacePermissionState, location_name: "permissionState"))
3549
+ NetworkInterfacePermission.struct_class = Types::NetworkInterfacePermission
3550
+
3551
+ NetworkInterfacePermissionIdList.member = Shapes::ShapeRef.new(shape: String)
3552
+
3553
+ NetworkInterfacePermissionList.member = Shapes::ShapeRef.new(shape: NetworkInterfacePermission, location_name: "item")
3554
+
3555
+ NetworkInterfacePermissionState.add_member(:state, Shapes::ShapeRef.new(shape: NetworkInterfacePermissionStateCode, location_name: "state"))
3556
+ NetworkInterfacePermissionState.add_member(:status_message, Shapes::ShapeRef.new(shape: String, location_name: "statusMessage"))
3557
+ NetworkInterfacePermissionState.struct_class = Types::NetworkInterfacePermissionState
3558
+
3503
3559
  NetworkInterfacePrivateIpAddress.add_member(:association, Shapes::ShapeRef.new(shape: NetworkInterfaceAssociation, location_name: "association"))
3504
3560
  NetworkInterfacePrivateIpAddress.add_member(:primary, Shapes::ShapeRef.new(shape: Boolean, location_name: "primary"))
3505
3561
  NetworkInterfacePrivateIpAddress.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: String, location_name: "privateDnsName"))
@@ -5148,6 +5204,14 @@ module Aws::EC2
5148
5204
  o.output = Shapes::ShapeRef.new(shape: CreateNetworkInterfaceResult)
5149
5205
  end)
5150
5206
 
5207
+ api.add_operation(:create_network_interface_permission, Seahorse::Model::Operation.new.tap do |o|
5208
+ o.name = "CreateNetworkInterfacePermission"
5209
+ o.http_method = "POST"
5210
+ o.http_request_uri = "/"
5211
+ o.input = Shapes::ShapeRef.new(shape: CreateNetworkInterfacePermissionRequest)
5212
+ o.output = Shapes::ShapeRef.new(shape: CreateNetworkInterfacePermissionResult)
5213
+ end)
5214
+
5151
5215
  api.add_operation(:create_placement_group, Seahorse::Model::Operation.new.tap do |o|
5152
5216
  o.name = "CreatePlacementGroup"
5153
5217
  o.http_method = "POST"
@@ -5356,6 +5420,14 @@ module Aws::EC2
5356
5420
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
5357
5421
  end)
5358
5422
 
5423
+ api.add_operation(:delete_network_interface_permission, Seahorse::Model::Operation.new.tap do |o|
5424
+ o.name = "DeleteNetworkInterfacePermission"
5425
+ o.http_method = "POST"
5426
+ o.http_request_uri = "/"
5427
+ o.input = Shapes::ShapeRef.new(shape: DeleteNetworkInterfacePermissionRequest)
5428
+ o.output = Shapes::ShapeRef.new(shape: DeleteNetworkInterfacePermissionResult)
5429
+ end)
5430
+
5359
5431
  api.add_operation(:delete_placement_group, Seahorse::Model::Operation.new.tap do |o|
5360
5432
  o.name = "DeletePlacementGroup"
5361
5433
  o.http_method = "POST"
@@ -5750,6 +5822,14 @@ module Aws::EC2
5750
5822
  o.output = Shapes::ShapeRef.new(shape: DescribeNetworkInterfaceAttributeResult)
5751
5823
  end)
5752
5824
 
5825
+ api.add_operation(:describe_network_interface_permissions, Seahorse::Model::Operation.new.tap do |o|
5826
+ o.name = "DescribeNetworkInterfacePermissions"
5827
+ o.http_method = "POST"
5828
+ o.http_request_uri = "/"
5829
+ o.input = Shapes::ShapeRef.new(shape: DescribeNetworkInterfacePermissionsRequest)
5830
+ o.output = Shapes::ShapeRef.new(shape: DescribeNetworkInterfacePermissionsResult)
5831
+ end)
5832
+
5753
5833
  api.add_operation(:describe_network_interfaces, Seahorse::Model::Operation.new.tap do |o|
5754
5834
  o.name = "DescribeNetworkInterfaces"
5755
5835
  o.http_method = "POST"
@@ -703,7 +703,7 @@ module Aws::EC2
703
703
  # @option options [Types::AttributeBooleanValue] :disable_api_termination
704
704
  # If the value is `true`, you can't terminate the instance using the
705
705
  # Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use
706
- # this paramater for Spot Instances.
706
+ # this parameter for Spot Instances.
707
707
  # @option options [Boolean] :dry_run
708
708
  # Checks whether you have the required permissions for the action,
709
709
  # without actually making the request, and provides an error response.
@@ -2315,7 +2315,7 @@ module Aws::EC2
2315
2315
  # * `owner-alias` - Value from an Amazon-maintained list (`amazon` \|
2316
2316
  # `aws-marketplace` \| `microsoft`) of snapshot owners. Not to be
2317
2317
  # confused with the user-configured AWS account alias, which is set
2318
- # from the IAM consolew.
2318
+ # from the IAM console.
2319
2319
  #
2320
2320
  # * `owner-id` - The ID of the AWS account that owns the snapshot.
2321
2321
  #
@@ -3051,6 +3051,62 @@ module Aws::EC2
3051
3051
  include Aws::Structure
3052
3052
  end
3053
3053
 
3054
+ # @note When making an API call, you may pass CreateNetworkInterfacePermissionRequest
3055
+ # data as a hash:
3056
+ #
3057
+ # {
3058
+ # network_interface_id: "String", # required
3059
+ # aws_account_id: "String",
3060
+ # aws_service: "String",
3061
+ # permission: "INSTANCE-ATTACH", # required, accepts INSTANCE-ATTACH, EIP-ASSOCIATE
3062
+ # dry_run: false,
3063
+ # }
3064
+ #
3065
+ # @!attribute [rw] network_interface_id
3066
+ # The ID of the network interface.
3067
+ # @return [String]
3068
+ #
3069
+ # @!attribute [rw] aws_account_id
3070
+ # The AWS account ID.
3071
+ # @return [String]
3072
+ #
3073
+ # @!attribute [rw] aws_service
3074
+ # The AWS service. Currently not supported.
3075
+ # @return [String]
3076
+ #
3077
+ # @!attribute [rw] permission
3078
+ # The type of permission to grant.
3079
+ # @return [String]
3080
+ #
3081
+ # @!attribute [rw] dry_run
3082
+ # Checks whether you have the required permissions for the action,
3083
+ # without actually making the request, and provides an error response.
3084
+ # If you have the required permissions, the error response is
3085
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
3086
+ # @return [Boolean]
3087
+ #
3088
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionRequest AWS API Documentation
3089
+ #
3090
+ class CreateNetworkInterfacePermissionRequest < Struct.new(
3091
+ :network_interface_id,
3092
+ :aws_account_id,
3093
+ :aws_service,
3094
+ :permission,
3095
+ :dry_run)
3096
+ include Aws::Structure
3097
+ end
3098
+
3099
+ # @!attribute [rw] interface_permission
3100
+ # Information about the permission for the network interface.
3101
+ # @return [Types::NetworkInterfacePermission]
3102
+ #
3103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/CreateNetworkInterfacePermissionResult AWS API Documentation
3104
+ #
3105
+ class CreateNetworkInterfacePermissionResult < Struct.new(
3106
+ :interface_permission)
3107
+ include Aws::Structure
3108
+ end
3109
+
3054
3110
  # Contains the parameters for CreateNetworkInterface.
3055
3111
  #
3056
3112
  # @note When making an API call, you may pass CreateNetworkInterfaceRequest
@@ -4536,6 +4592,51 @@ module Aws::EC2
4536
4592
  include Aws::Structure
4537
4593
  end
4538
4594
 
4595
+ # @note When making an API call, you may pass DeleteNetworkInterfacePermissionRequest
4596
+ # data as a hash:
4597
+ #
4598
+ # {
4599
+ # network_interface_permission_id: "String", # required
4600
+ # force: false,
4601
+ # dry_run: false,
4602
+ # }
4603
+ #
4604
+ # @!attribute [rw] network_interface_permission_id
4605
+ # The ID of the network interface permission.
4606
+ # @return [String]
4607
+ #
4608
+ # @!attribute [rw] force
4609
+ # Specify `true` to remove the permission even if the network
4610
+ # interface is attached to an instance.
4611
+ # @return [Boolean]
4612
+ #
4613
+ # @!attribute [rw] dry_run
4614
+ # Checks whether you have the required permissions for the action,
4615
+ # without actually making the request, and provides an error response.
4616
+ # If you have the required permissions, the error response is
4617
+ # `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
4618
+ # @return [Boolean]
4619
+ #
4620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionRequest AWS API Documentation
4621
+ #
4622
+ class DeleteNetworkInterfacePermissionRequest < Struct.new(
4623
+ :network_interface_permission_id,
4624
+ :force,
4625
+ :dry_run)
4626
+ include Aws::Structure
4627
+ end
4628
+
4629
+ # @!attribute [rw] return
4630
+ # Returns `true` if the request succeeds, otherwise returns an error.
4631
+ # @return [Boolean]
4632
+ #
4633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DeleteNetworkInterfacePermissionResult AWS API Documentation
4634
+ #
4635
+ class DeleteNetworkInterfacePermissionResult < Struct.new(
4636
+ :return)
4637
+ include Aws::Structure
4638
+ end
4639
+
4539
4640
  # Contains the parameters for DeleteNetworkInterface.
4540
4641
  #
4541
4642
  # @note When making an API call, you may pass DeleteNetworkInterfaceRequest
@@ -7679,6 +7780,80 @@ module Aws::EC2
7679
7780
  include Aws::Structure
7680
7781
  end
7681
7782
 
7783
+ # @note When making an API call, you may pass DescribeNetworkInterfacePermissionsRequest
7784
+ # data as a hash:
7785
+ #
7786
+ # {
7787
+ # network_interface_permission_ids: ["String"],
7788
+ # filters: [
7789
+ # {
7790
+ # name: "String",
7791
+ # values: ["String"],
7792
+ # },
7793
+ # ],
7794
+ # next_token: "String",
7795
+ # max_results: 1,
7796
+ # }
7797
+ #
7798
+ # @!attribute [rw] network_interface_permission_ids
7799
+ # One or more network interface permission IDs.
7800
+ # @return [Array<String>]
7801
+ #
7802
+ # @!attribute [rw] filters
7803
+ # One or more filters.
7804
+ #
7805
+ # * `network-interface-permission.network-interface-permission-id` -
7806
+ # The ID of the permission.
7807
+ #
7808
+ # * `network-interface-permission.network-interface-id` - The ID of
7809
+ # the network interface.
7810
+ #
7811
+ # * `network-interface-permission.aws-account-id` - The AWS account
7812
+ # ID.
7813
+ #
7814
+ # * `network-interface-permission.aws-service` - The AWS service.
7815
+ #
7816
+ # * `network-interface-permission.permission` - The type of permission
7817
+ # (`INSTANCE-ATTACH` \| `EIP-ASSOCIATE`).
7818
+ # @return [Array<Types::Filter>]
7819
+ #
7820
+ # @!attribute [rw] next_token
7821
+ # The token to request the next page of results.
7822
+ # @return [String]
7823
+ #
7824
+ # @!attribute [rw] max_results
7825
+ # The maximum number of results to return in a single call. To
7826
+ # retrieve the remaining results, make another call with the returned
7827
+ # `NextToken` value. If this parameter is not specified, up to 50
7828
+ # results are returned by default.
7829
+ # @return [Integer]
7830
+ #
7831
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsRequest AWS API Documentation
7832
+ #
7833
+ class DescribeNetworkInterfacePermissionsRequest < Struct.new(
7834
+ :network_interface_permission_ids,
7835
+ :filters,
7836
+ :next_token,
7837
+ :max_results)
7838
+ include Aws::Structure
7839
+ end
7840
+
7841
+ # @!attribute [rw] network_interface_permissions
7842
+ # The network interface permissions.
7843
+ # @return [Array<Types::NetworkInterfacePermission>]
7844
+ #
7845
+ # @!attribute [rw] next_token
7846
+ # The token to use to retrieve the next page of results.
7847
+ # @return [String]
7848
+ #
7849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/DescribeNetworkInterfacePermissionsResult AWS API Documentation
7850
+ #
7851
+ class DescribeNetworkInterfacePermissionsResult < Struct.new(
7852
+ :network_interface_permissions,
7853
+ :next_token)
7854
+ include Aws::Structure
7855
+ end
7856
+
7682
7857
  # Contains the parameters for DescribeNetworkInterfaces.
7683
7858
  #
7684
7859
  # @note When making an API call, you may pass DescribeNetworkInterfacesRequest
@@ -9112,7 +9287,7 @@ module Aws::EC2
9112
9287
  # * `owner-alias` - Value from an Amazon-maintained list (`amazon` \|
9113
9288
  # `aws-marketplace` \| `microsoft`) of snapshot owners. Not to be
9114
9289
  # confused with the user-configured AWS account alias, which is set
9115
- # from the IAM consolew.
9290
+ # from the IAM console.
9116
9291
  #
9117
9292
  # * `owner-id` - The ID of the AWS account that owns the snapshot.
9118
9293
  #
@@ -15857,7 +16032,7 @@ module Aws::EC2
15857
16032
  # @!attribute [rw] disable_api_termination
15858
16033
  # If the value is `true`, you can't terminate the instance using the
15859
16034
  # Amazon EC2 console, CLI, or API; otherwise, you can. You cannot use
15860
- # this paramater for Spot Instances.
16035
+ # this parameter for Spot Instances.
15861
16036
  # @return [Types::AttributeBooleanValue]
15862
16037
  #
15863
16038
  # @!attribute [rw] dry_run
@@ -17232,6 +17407,62 @@ module Aws::EC2
17232
17407
  include Aws::Structure
17233
17408
  end
17234
17409
 
17410
+ # Describes a permission for a network interface.
17411
+ #
17412
+ # @!attribute [rw] network_interface_permission_id
17413
+ # The ID of the network interface permission.
17414
+ # @return [String]
17415
+ #
17416
+ # @!attribute [rw] network_interface_id
17417
+ # The ID of the network interface.
17418
+ # @return [String]
17419
+ #
17420
+ # @!attribute [rw] aws_account_id
17421
+ # The AWS account ID.
17422
+ # @return [String]
17423
+ #
17424
+ # @!attribute [rw] aws_service
17425
+ # The AWS service.
17426
+ # @return [String]
17427
+ #
17428
+ # @!attribute [rw] permission
17429
+ # The type of permission.
17430
+ # @return [String]
17431
+ #
17432
+ # @!attribute [rw] permission_state
17433
+ # Information about the state of the permission.
17434
+ # @return [Types::NetworkInterfacePermissionState]
17435
+ #
17436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermission AWS API Documentation
17437
+ #
17438
+ class NetworkInterfacePermission < Struct.new(
17439
+ :network_interface_permission_id,
17440
+ :network_interface_id,
17441
+ :aws_account_id,
17442
+ :aws_service,
17443
+ :permission,
17444
+ :permission_state)
17445
+ include Aws::Structure
17446
+ end
17447
+
17448
+ # Describes the state of a network interface permission.
17449
+ #
17450
+ # @!attribute [rw] state
17451
+ # The state of the permission.
17452
+ # @return [String]
17453
+ #
17454
+ # @!attribute [rw] status_message
17455
+ # A status message, if applicable.
17456
+ # @return [String]
17457
+ #
17458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ec2-2016-11-15/NetworkInterfacePermissionState AWS API Documentation
17459
+ #
17460
+ class NetworkInterfacePermissionState < Struct.new(
17461
+ :state,
17462
+ :status_message)
17463
+ include Aws::Structure
17464
+ end
17465
+
17235
17466
  # Describes the private IPv4 address of a network interface.
17236
17467
  #
17237
17468
  # @!attribute [rw] association
@@ -459,7 +459,7 @@ module Aws::EC2
459
459
  # * `owner-alias` - Value from an Amazon-maintained list (`amazon` \|
460
460
  # `aws-marketplace` \| `microsoft`) of snapshot owners. Not to be
461
461
  # confused with the user-configured AWS account alias, which is set
462
- # from the IAM consolew.
462
+ # from the IAM console.
463
463
  #
464
464
  # * `owner-id` - The ID of the AWS account that owns the snapshot.
465
465
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ec2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc10
4
+ version: 1.0.0.rc11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-06 00:00:00.000000000 Z
11
+ date: 2017-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sigv4
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.0.rc16
33
+ version: 3.0.0.rc17
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.0.0.rc16
40
+ version: 3.0.0.rc17
41
41
  description: Official AWS Ruby gem for Amazon Elastic Compute Cloud (Amazon EC2).
42
42
  This gem is part of the AWS SDK for Ruby.
43
43
  email: