1VM::EC2::REST::elastic_UnseetrwoCrokn_tirnitbeurtVfeMad:c:ePE(eC3r2)l::DRoEcSuTm:e:netlaatsitoinc_network_interface(3)
2
3
4

NAME VM::EC2::REST::elastic_network_interface

SYNOPSIS

7        use VM::EC2 ':vpc';
8

METHODS

10       These methods create and manage Elastic Network Interfaces (ENI). Once
11       created, an ENI can be attached to instances and/or be associated with
12       a public IP address. ENIs can only be used in conjunction with VPC
13       instances.
14
15       Implemented:
16        AttachNetworkInterface
17        CreateNetworkInterface
18        DeleteNetworkInterface
19        DescribeNetworkInterfaceAttribute
20        DescribeNetworkInterfaces
21        DetachNetworkInterface
22        ModifyNetworkInterfaceAttribute
23        ResetNetworkInterfaceAttribute
24
25       Unimplemented:
26        (none)
27
28   $interface = $ec2->create_network_interface($subnet_id)
29   $interface = $ec2->create_network_interface(%args)
30       This method creates an elastic network interface (ENI). If only a
31       single argument is provided, it is treated as the ID of the VPC subnet
32       to associate with the ENI. If multiple arguments are provided, they are
33       treated as -arg=>value parameter pairs.
34
35       Arguments:
36
37       The -subnet_id argument is mandatory. Others are optional.
38
39        -subnet_id           --  ID of the VPC subnet to associate with the network
40                                  interface (mandatory)
41
42        -private_ip_address  --  The primary private IP address of the network interface,
43                                  or a reference to an array of private IP addresses. In the
44                                  latter case, the first element of the array becomes the
45                                  primary address, and the subsequent ones become secondary
46                                  addresses. If no private IP address is specified, one will
47                                  be chosen for you. See below for more information on this
48                                  parameter.
49
50        -private_ip_addresses -- Same as -private_ip_address, for readability.
51
52        -secondary_ip_address_count -- An integer requesting this number of secondary IP
53                                 addresses to be allocated automatically. If present,
54                                 cannot provide any secondary addresses explicitly.
55
56        -description          -- Description of this ENI.
57
58        -security_group_id    -- Array reference or scalar containing IDs of the security
59                                  group(s) to assign to this interface.
60
61       You can assign multiple IP addresses to the interface explicitly, or by
62       allowing EC2 to choose addresses within the designated subnet
63       automatically. The following examples demonstrate the syntax:
64
65        # one primary address, chosen explicitly
66        -private_ip_address => '192.168.0.12'
67
68        # one primary address and two secondary addresses, chosen explicitly
69        -private_ip_address => ['192.168.0.12','192.168.0.200','192.168.0.201']
70
71        # one primary address chosen explicitly, and two secondaries chosen automatically
72        -private_ip_address => ['192.168.0.12','auto','auto']
73
74        # one primary address chosen explicitly, and two secondaries chosen automatically (another syntax)
75        -private_ip_address => ['192.168.0.12',2]
76
77        # one primary address chosen automatically, and two secondaries chosen automatically
78        -private_ip_address => [auto,2]
79
80       You cannot assign some secondary addresses explicitly and others
81       automatically on the same ENI. If you provide no -private_ip_address
82       parameter at all, then a single private IP address will be chosen for
83       you (the same as -private_ip_address=>'auto').
84
85       The return value is a VM::EC2::NetworkInterface object
86
87   $result = $ec2->delete_network_interface($network_interface_id);
88   $result = $ec2->delete_network_interface(-network_interface_id => $id);
89       Deletes the specified network interface. Returns a boolean indicating
90       success of the delete operation.
91
92   @ifs = $ec2->describe_network_interfaces(@interface_ids)
93   @ifs = $ec2->describe_network_interfaces(\%filters)
94   @ifs =
95       $ec2->describe_network_interfaces(-network_interface_id=>\@interface_ids,-filter=>\%filters)
96       Return a list of elastic network interfaces as
97       VM::EC2::VPC::NetworkInterface objects. You may restrict the list by
98       passing a list of network interface IDs, a hashref of filters or by
99       using the full named-parameter form.
100
101       Optional arguments:
102
103        -network_interface_id    A single network interface ID or an arrayref to
104                                  a list of IDs.
105
106        -filter                  A hashref for filtering on tags and other attributes.
107
108       The list of valid filters can be found at
109       http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeNetworkInterfaces.html.
110
111   @data = $ec2->describe_network_interface_attribute($network_id,$attribute)
112       This method returns network interface attributes. Only one attribute
113       can be retrieved at a time. The following is the list of attributes
114       that can be retrieved:
115
116        description           -- hashref
117        groupSet              -- hashref
118        sourceDestCheck       -- hashref
119        attachment            -- hashref
120
121       These values can be retrieved more conveniently from the
122       VM::EC2::NetworkInterface object, so there is no attempt to parse the
123       results of this call into Perl objects.
124
125   $boolean =
126       $ec2->modify_network_interface_attribute($interface_id,-$attribute_name=>$value)
127       This method changes network interface attributes. Only one attribute
128       can be set per call The following is the list of attributes that can be
129       set:
130
131        -description             -- interface description
132        -security_group_id       -- single security group ID or arrayref to a list of group ids
133        -source_dest_check       -- boolean; if false enables packets to be forwarded, and is necessary
134                                      for NAT and other router tasks
135        -delete_on_termination   -- [$attachment_id=>$delete_on_termination]; Pass this a two-element
136                                      array reference consisting of the attachment ID and a boolean
137                                      indicating whether deleteOnTermination should be enabled for
138                                      this attachment.
139
140   $boolean = $ec2->reset_network_interface_attribute($interface_id =>
141       $attribute_name)
142       This method resets the named network interface attribute to its default
143       value. Only one attribute can be reset per call. The AWS documentation
144       is not completely clear on this point, but it appears that the only
145       attribute that can be reset using this method is:
146
147        source_dest_check       -- Turns on source destination checking
148
149       For consistency with modify_network_interface_attribute, you may
150       specify attribute names with or without a leading dash, and using
151       either under_score or mixedCase naming:
152
153        $ec2->reset_network_interface_atribute('eni-12345678' => 'source_dest_check');
154        $ec2->reset_network_interface_atribute('eni-12345678' => '-source_dest_check');
155        $ec2->reset_network_interface_atribute('eni-12345678' => sourceDestCheck);
156
157   $attachmentId =
158       $ec2->attach_network_interface($network_interface_id,$instance_id,$device_index)
159   $attachmentId = $ec2->attach_network_interface(-network_interface_id =>
160       $id, -instance_id          => $id, -device_index         => $index)
161       This method attaches a network interface to an instance using the
162       indicated device index. You can use instance and network interface IDs,
163       or VM::EC2::Instance and VM::EC2::NetworkInterface objects. You may use
164       an integer for -device_index, or use the strings "eth0", "eth1" etc.
165
166       Required arguments:
167
168        -network_interface_id ID of the network interface to attach.
169        -instance_id          ID of the instance to attach the interface to.
170        -device_index         Network device number to use (e.g. 0 for eth0).
171
172       On success, this method returns the attachmentId of the new attachment
173       (not a VM::EC2::NetworkInterface::Attachment object, due to an AWS API
174       inconsistency).
175
176       Note that it may be more convenient to attach and detach network
177       interfaces via methods in the VM::EC2::Instance and
178       VM::EC2::NetworkInterface objects:
179
180        $instance->attach_network_interface($interface=>'eth0');
181        $interface->attach($instance=>'eth0');
182
183   $boolean = $ec2->detach_network_interface($attachment_id [,$force])
184       This method detaches a network interface from an instance. Both the
185       network interface and instance are specified using their attachmentId.
186       If the $force flag is present, and true, then the detachment will be
187       forced even if the interface is in use.
188
189       Note that it may be more convenient to attach and detach network
190       interfaces via methods in the VM::EC2::Instance and
191       VM::EC2::NetworkInterface objects:
192
193        $instance->detach_network_interface($interface);
194        $interface->detach();
195

SEE ALSO

197       VM::EC2
198

AUTHOR

200       Lincoln Stein <lincoln.stein@gmail.com>.
201
202       Copyright (c) 2011 Ontario Institute for Cancer Research
203
204       This package and its accompanying libraries is free software; you can
205       redistribute it and/or modify it under the terms of the GPL (either
206       version 1, or at your option, any later version) or the Artistic
207       License 2.0.  Refer to LICENSE for the full license text. In addition,
208       please see DISCLAIMER.txt for disclaimers of warranty.
209
210
211
212perl v5.32.0                      20V2M0:-:0E7C-22:8:REST::elastic_network_interface(3)
Impressum