aws_sdk_ec2/operation/describe_network_interfaces/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_network_interfaces::_describe_network_interfaces_output::DescribeNetworkInterfacesOutputBuilder;
3
4pub use crate::operation::describe_network_interfaces::_describe_network_interfaces_input::DescribeNetworkInterfacesInputBuilder;
5
6impl crate::operation::describe_network_interfaces::builders::DescribeNetworkInterfacesInputBuilder {
7 /// Sends a request with this input using the given client.
8 pub async fn send_with(
9 self,
10 client: &crate::Client,
11 ) -> ::std::result::Result<
12 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.describe_network_interfaces();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `DescribeNetworkInterfaces`.
24///
25/// <p>Describes the specified network interfaces or all your network interfaces.</p>
26/// <p>If you have a large number of network interfaces, the operation fails unless you use pagination or one of the following filters: <code>group-id</code>, <code>mac-address</code>, <code>private-dns-name</code>, <code>private-ip-address</code>, <code>subnet-id</code>, or <code>vpc-id</code>.</p><important>
27/// <p>We strongly recommend using only paginated requests. Unpaginated requests are susceptible to throttling and timeouts.</p>
28/// </important>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct DescribeNetworkInterfacesFluentBuilder {
31 handle: ::std::sync::Arc<crate::client::Handle>,
32 inner: crate::operation::describe_network_interfaces::builders::DescribeNetworkInterfacesInputBuilder,
33 config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36 crate::client::customize::internal::CustomizableSend<
37 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
38 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesError,
39 > for DescribeNetworkInterfacesFluentBuilder
40{
41 fn send(
42 self,
43 config_override: crate::config::Builder,
44 ) -> crate::client::customize::internal::BoxFuture<
45 crate::client::customize::internal::SendResult<
46 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
47 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesError,
48 >,
49 > {
50 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51 }
52}
53impl DescribeNetworkInterfacesFluentBuilder {
54 /// Creates a new `DescribeNetworkInterfacesFluentBuilder`.
55 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
56 Self {
57 handle,
58 inner: ::std::default::Default::default(),
59 config_override: ::std::option::Option::None,
60 }
61 }
62 /// Access the DescribeNetworkInterfaces as a reference.
63 pub fn as_input(&self) -> &crate::operation::describe_network_interfaces::builders::DescribeNetworkInterfacesInputBuilder {
64 &self.inner
65 }
66 /// Sends the request and returns the response.
67 ///
68 /// If an error occurs, an `SdkError` will be returned with additional details that
69 /// can be matched against.
70 ///
71 /// By default, any retryable failures will be retried twice. Retry behavior
72 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
73 /// set when configuring the client.
74 pub async fn send(
75 self,
76 ) -> ::std::result::Result<
77 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
78 ::aws_smithy_runtime_api::client::result::SdkError<
79 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesError,
80 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
81 >,
82 > {
83 let input = self
84 .inner
85 .build()
86 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
87 let runtime_plugins = crate::operation::describe_network_interfaces::DescribeNetworkInterfaces::operation_runtime_plugins(
88 self.handle.runtime_plugins.clone(),
89 &self.handle.conf,
90 self.config_override,
91 );
92 crate::operation::describe_network_interfaces::DescribeNetworkInterfaces::orchestrate(&runtime_plugins, input).await
93 }
94
95 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
96 pub fn customize(
97 self,
98 ) -> crate::client::customize::CustomizableOperation<
99 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesOutput,
100 crate::operation::describe_network_interfaces::DescribeNetworkInterfacesError,
101 Self,
102 > {
103 crate::client::customize::CustomizableOperation::new(self)
104 }
105 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
106 self.set_config_override(::std::option::Option::Some(config_override.into()));
107 self
108 }
109
110 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
111 self.config_override = config_override;
112 self
113 }
114 /// Create a paginator for this request
115 ///
116 /// Paginators are used by calling [`send().await`](crate::operation::describe_network_interfaces::paginator::DescribeNetworkInterfacesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
117 pub fn into_paginator(self) -> crate::operation::describe_network_interfaces::paginator::DescribeNetworkInterfacesPaginator {
118 crate::operation::describe_network_interfaces::paginator::DescribeNetworkInterfacesPaginator::new(self.handle, self.inner)
119 }
120 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
121 pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
122 self.inner = self.inner.next_token(input.into());
123 self
124 }
125 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
126 pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
127 self.inner = self.inner.set_next_token(input);
128 self
129 }
130 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
131 pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
132 self.inner.get_next_token()
133 }
134 /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. You cannot specify this parameter and the network interface IDs parameter in the same request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
135 pub fn max_results(mut self, input: i32) -> Self {
136 self.inner = self.inner.max_results(input);
137 self
138 }
139 /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. You cannot specify this parameter and the network interface IDs parameter in the same request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
140 pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
141 self.inner = self.inner.set_max_results(input);
142 self
143 }
144 /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. You cannot specify this parameter and the network interface IDs parameter in the same request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
145 pub fn get_max_results(&self) -> &::std::option::Option<i32> {
146 self.inner.get_max_results()
147 }
148 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
149 pub fn dry_run(mut self, input: bool) -> Self {
150 self.inner = self.inner.dry_run(input);
151 self
152 }
153 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
154 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
155 self.inner = self.inner.set_dry_run(input);
156 self
157 }
158 /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
159 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
160 self.inner.get_dry_run()
161 }
162 ///
163 /// Appends an item to `NetworkInterfaceIds`.
164 ///
165 /// To override the contents of this collection use [`set_network_interface_ids`](Self::set_network_interface_ids).
166 ///
167 /// <p>The network interface IDs.</p>
168 /// <p>Default: Describes all your network interfaces.</p>
169 pub fn network_interface_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
170 self.inner = self.inner.network_interface_ids(input.into());
171 self
172 }
173 /// <p>The network interface IDs.</p>
174 /// <p>Default: Describes all your network interfaces.</p>
175 pub fn set_network_interface_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
176 self.inner = self.inner.set_network_interface_ids(input);
177 self
178 }
179 /// <p>The network interface IDs.</p>
180 /// <p>Default: Describes all your network interfaces.</p>
181 pub fn get_network_interface_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
182 self.inner.get_network_interface_ids()
183 }
184 ///
185 /// Appends an item to `Filters`.
186 ///
187 /// To override the contents of this collection use [`set_filters`](Self::set_filters).
188 ///
189 /// <p>One or more filters.</p>
190 /// <ul>
191 /// <li>
192 /// <p><code>association.allocation-id</code> - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.</p></li>
193 /// <li>
194 /// <p><code>association.association-id</code> - The association ID returned when the network interface was associated with an IPv4 address.</p></li>
195 /// <li>
196 /// <p><code>addresses.association.owner-id</code> - The owner ID of the addresses associated with the network interface.</p></li>
197 /// <li>
198 /// <p><code>addresses.association.public-ip</code> - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).</p></li>
199 /// <li>
200 /// <p><code>addresses.primary</code> - Whether the private IPv4 address is the primary IP address associated with the network interface.</p></li>
201 /// <li>
202 /// <p><code>addresses.private-ip-address</code> - The private IPv4 addresses associated with the network interface.</p></li>
203 /// <li>
204 /// <p><code>association.ip-owner-id</code> - The owner of the Elastic IP address (IPv4) associated with the network interface.</p></li>
205 /// <li>
206 /// <p><code>association.public-ip</code> - The address of the Elastic IP address (IPv4) bound to the network interface.</p></li>
207 /// <li>
208 /// <p><code>association.public-dns-name</code> - The public DNS name for the network interface (IPv4).</p></li>
209 /// <li>
210 /// <p><code>attachment.attach-time</code> - The time that the network interface was attached to an instance.</p></li>
211 /// <li>
212 /// <p><code>attachment.attachment-id</code> - The ID of the interface attachment.</p></li>
213 /// <li>
214 /// <p><code>attachment.delete-on-termination</code> - Indicates whether the attachment is deleted when an instance is terminated.</p></li>
215 /// <li>
216 /// <p><code>attachment.device-index</code> - The device index to which the network interface is attached.</p></li>
217 /// <li>
218 /// <p><code>attachment.instance-id</code> - The ID of the instance to which the network interface is attached.</p></li>
219 /// <li>
220 /// <p><code>attachment.instance-owner-id</code> - The owner ID of the instance to which the network interface is attached.</p></li>
221 /// <li>
222 /// <p><code>attachment.status</code> - The status of the attachment (<code>attaching</code> | <code>attached</code> | <code>detaching</code> | <code>detached</code>).</p></li>
223 /// <li>
224 /// <p><code>availability-zone</code> - The Availability Zone of the network interface.</p></li>
225 /// <li>
226 /// <p><code>description</code> - The description of the network interface.</p></li>
227 /// <li>
228 /// <p><code>group-id</code> - The ID of a security group associated with the network interface.</p></li>
229 /// <li>
230 /// <p><code>ipv6-addresses.ipv6-address</code> - An IPv6 address associated with the network interface.</p></li>
231 /// <li>
232 /// <p><code>interface-type</code> - The type of network interface (<code>api_gateway_managed</code> | <code>aws_codestar_connections_managed</code> | <code>branch</code> | <code>ec2_instance_connect_endpoint</code> | <code>efa</code> | <code>efa-only</code> | <code>efs</code> | <code>evs</code> | <code>gateway_load_balancer</code> | <code>gateway_load_balancer_endpoint</code> | <code>global_accelerator_managed</code> | <code>interface</code> | <code>iot_rules_managed</code> | <code>lambda</code> | <code>load_balancer</code> | <code>nat_gateway</code> | <code>network_load_balancer</code> | <code>quicksight</code> | <code>transit_gateway</code> | <code>trunk</code> | <code>vpc_endpoint</code>).</p></li>
233 /// <li>
234 /// <p><code>mac-address</code> - The MAC address of the network interface.</p></li>
235 /// <li>
236 /// <p><code>network-interface-id</code> - The ID of the network interface.</p></li>
237 /// <li>
238 /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed network interface.</p></li>
239 /// <li>
240 /// <p><code>operator.principal</code> - The principal that manages the network interface. Only valid for managed network interfaces, where <code>managed</code> is <code>true</code>.</p></li>
241 /// <li>
242 /// <p><code>owner-id</code> - The Amazon Web Services account ID of the network interface owner.</p></li>
243 /// <li>
244 /// <p><code>private-dns-name</code> - The private DNS name of the network interface (IPv4).</p></li>
245 /// <li>
246 /// <p><code>private-ip-address</code> - The private IPv4 address or addresses of the network interface.</p></li>
247 /// <li>
248 /// <p><code>requester-id</code> - The alias or Amazon Web Services account ID of the principal or service that created the network interface.</p></li>
249 /// <li>
250 /// <p><code>requester-managed</code> - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).</p></li>
251 /// <li>
252 /// <p><code>source-dest-check</code> - Indicates whether the network interface performs source/destination checking. A value of <code>true</code> means checking is enabled, and <code>false</code> means checking is disabled. The value must be <code>false</code> for the network interface to perform network address translation (NAT) in your VPC.</p></li>
253 /// <li>
254 /// <p><code>status</code> - The status of the network interface. If the network interface is not attached to an instance, the status is <code>available</code>; if a network interface is attached to an instance the status is <code>in-use</code>.</p></li>
255 /// <li>
256 /// <p><code>subnet-id</code> - The ID of the subnet for the network interface.</p></li>
257 /// <li>
258 /// <p><code>tag</code>:<key>
259 /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
260 /// <code>Owner</code> and the value
261 /// <code>TeamA</code>, specify
262 /// <code>tag:Owner</code> for the filter name and
263 /// <code>TeamA</code> for the filter value.
264 /// </key></p></li>
265 /// <li>
266 /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
267 /// <li>
268 /// <p><code>vpc-id</code> - The ID of the VPC for the network interface.</p></li>
269 /// </ul>
270 pub fn filters(mut self, input: crate::types::Filter) -> Self {
271 self.inner = self.inner.filters(input);
272 self
273 }
274 /// <p>One or more filters.</p>
275 /// <ul>
276 /// <li>
277 /// <p><code>association.allocation-id</code> - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.</p></li>
278 /// <li>
279 /// <p><code>association.association-id</code> - The association ID returned when the network interface was associated with an IPv4 address.</p></li>
280 /// <li>
281 /// <p><code>addresses.association.owner-id</code> - The owner ID of the addresses associated with the network interface.</p></li>
282 /// <li>
283 /// <p><code>addresses.association.public-ip</code> - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).</p></li>
284 /// <li>
285 /// <p><code>addresses.primary</code> - Whether the private IPv4 address is the primary IP address associated with the network interface.</p></li>
286 /// <li>
287 /// <p><code>addresses.private-ip-address</code> - The private IPv4 addresses associated with the network interface.</p></li>
288 /// <li>
289 /// <p><code>association.ip-owner-id</code> - The owner of the Elastic IP address (IPv4) associated with the network interface.</p></li>
290 /// <li>
291 /// <p><code>association.public-ip</code> - The address of the Elastic IP address (IPv4) bound to the network interface.</p></li>
292 /// <li>
293 /// <p><code>association.public-dns-name</code> - The public DNS name for the network interface (IPv4).</p></li>
294 /// <li>
295 /// <p><code>attachment.attach-time</code> - The time that the network interface was attached to an instance.</p></li>
296 /// <li>
297 /// <p><code>attachment.attachment-id</code> - The ID of the interface attachment.</p></li>
298 /// <li>
299 /// <p><code>attachment.delete-on-termination</code> - Indicates whether the attachment is deleted when an instance is terminated.</p></li>
300 /// <li>
301 /// <p><code>attachment.device-index</code> - The device index to which the network interface is attached.</p></li>
302 /// <li>
303 /// <p><code>attachment.instance-id</code> - The ID of the instance to which the network interface is attached.</p></li>
304 /// <li>
305 /// <p><code>attachment.instance-owner-id</code> - The owner ID of the instance to which the network interface is attached.</p></li>
306 /// <li>
307 /// <p><code>attachment.status</code> - The status of the attachment (<code>attaching</code> | <code>attached</code> | <code>detaching</code> | <code>detached</code>).</p></li>
308 /// <li>
309 /// <p><code>availability-zone</code> - The Availability Zone of the network interface.</p></li>
310 /// <li>
311 /// <p><code>description</code> - The description of the network interface.</p></li>
312 /// <li>
313 /// <p><code>group-id</code> - The ID of a security group associated with the network interface.</p></li>
314 /// <li>
315 /// <p><code>ipv6-addresses.ipv6-address</code> - An IPv6 address associated with the network interface.</p></li>
316 /// <li>
317 /// <p><code>interface-type</code> - The type of network interface (<code>api_gateway_managed</code> | <code>aws_codestar_connections_managed</code> | <code>branch</code> | <code>ec2_instance_connect_endpoint</code> | <code>efa</code> | <code>efa-only</code> | <code>efs</code> | <code>evs</code> | <code>gateway_load_balancer</code> | <code>gateway_load_balancer_endpoint</code> | <code>global_accelerator_managed</code> | <code>interface</code> | <code>iot_rules_managed</code> | <code>lambda</code> | <code>load_balancer</code> | <code>nat_gateway</code> | <code>network_load_balancer</code> | <code>quicksight</code> | <code>transit_gateway</code> | <code>trunk</code> | <code>vpc_endpoint</code>).</p></li>
318 /// <li>
319 /// <p><code>mac-address</code> - The MAC address of the network interface.</p></li>
320 /// <li>
321 /// <p><code>network-interface-id</code> - The ID of the network interface.</p></li>
322 /// <li>
323 /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed network interface.</p></li>
324 /// <li>
325 /// <p><code>operator.principal</code> - The principal that manages the network interface. Only valid for managed network interfaces, where <code>managed</code> is <code>true</code>.</p></li>
326 /// <li>
327 /// <p><code>owner-id</code> - The Amazon Web Services account ID of the network interface owner.</p></li>
328 /// <li>
329 /// <p><code>private-dns-name</code> - The private DNS name of the network interface (IPv4).</p></li>
330 /// <li>
331 /// <p><code>private-ip-address</code> - The private IPv4 address or addresses of the network interface.</p></li>
332 /// <li>
333 /// <p><code>requester-id</code> - The alias or Amazon Web Services account ID of the principal or service that created the network interface.</p></li>
334 /// <li>
335 /// <p><code>requester-managed</code> - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).</p></li>
336 /// <li>
337 /// <p><code>source-dest-check</code> - Indicates whether the network interface performs source/destination checking. A value of <code>true</code> means checking is enabled, and <code>false</code> means checking is disabled. The value must be <code>false</code> for the network interface to perform network address translation (NAT) in your VPC.</p></li>
338 /// <li>
339 /// <p><code>status</code> - The status of the network interface. If the network interface is not attached to an instance, the status is <code>available</code>; if a network interface is attached to an instance the status is <code>in-use</code>.</p></li>
340 /// <li>
341 /// <p><code>subnet-id</code> - The ID of the subnet for the network interface.</p></li>
342 /// <li>
343 /// <p><code>tag</code>:<key>
344 /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
345 /// <code>Owner</code> and the value
346 /// <code>TeamA</code>, specify
347 /// <code>tag:Owner</code> for the filter name and
348 /// <code>TeamA</code> for the filter value.
349 /// </key></p></li>
350 /// <li>
351 /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
352 /// <li>
353 /// <p><code>vpc-id</code> - The ID of the VPC for the network interface.</p></li>
354 /// </ul>
355 pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
356 self.inner = self.inner.set_filters(input);
357 self
358 }
359 /// <p>One or more filters.</p>
360 /// <ul>
361 /// <li>
362 /// <p><code>association.allocation-id</code> - The allocation ID returned when you allocated the Elastic IP address (IPv4) for your network interface.</p></li>
363 /// <li>
364 /// <p><code>association.association-id</code> - The association ID returned when the network interface was associated with an IPv4 address.</p></li>
365 /// <li>
366 /// <p><code>addresses.association.owner-id</code> - The owner ID of the addresses associated with the network interface.</p></li>
367 /// <li>
368 /// <p><code>addresses.association.public-ip</code> - The association ID returned when the network interface was associated with the Elastic IP address (IPv4).</p></li>
369 /// <li>
370 /// <p><code>addresses.primary</code> - Whether the private IPv4 address is the primary IP address associated with the network interface.</p></li>
371 /// <li>
372 /// <p><code>addresses.private-ip-address</code> - The private IPv4 addresses associated with the network interface.</p></li>
373 /// <li>
374 /// <p><code>association.ip-owner-id</code> - The owner of the Elastic IP address (IPv4) associated with the network interface.</p></li>
375 /// <li>
376 /// <p><code>association.public-ip</code> - The address of the Elastic IP address (IPv4) bound to the network interface.</p></li>
377 /// <li>
378 /// <p><code>association.public-dns-name</code> - The public DNS name for the network interface (IPv4).</p></li>
379 /// <li>
380 /// <p><code>attachment.attach-time</code> - The time that the network interface was attached to an instance.</p></li>
381 /// <li>
382 /// <p><code>attachment.attachment-id</code> - The ID of the interface attachment.</p></li>
383 /// <li>
384 /// <p><code>attachment.delete-on-termination</code> - Indicates whether the attachment is deleted when an instance is terminated.</p></li>
385 /// <li>
386 /// <p><code>attachment.device-index</code> - The device index to which the network interface is attached.</p></li>
387 /// <li>
388 /// <p><code>attachment.instance-id</code> - The ID of the instance to which the network interface is attached.</p></li>
389 /// <li>
390 /// <p><code>attachment.instance-owner-id</code> - The owner ID of the instance to which the network interface is attached.</p></li>
391 /// <li>
392 /// <p><code>attachment.status</code> - The status of the attachment (<code>attaching</code> | <code>attached</code> | <code>detaching</code> | <code>detached</code>).</p></li>
393 /// <li>
394 /// <p><code>availability-zone</code> - The Availability Zone of the network interface.</p></li>
395 /// <li>
396 /// <p><code>description</code> - The description of the network interface.</p></li>
397 /// <li>
398 /// <p><code>group-id</code> - The ID of a security group associated with the network interface.</p></li>
399 /// <li>
400 /// <p><code>ipv6-addresses.ipv6-address</code> - An IPv6 address associated with the network interface.</p></li>
401 /// <li>
402 /// <p><code>interface-type</code> - The type of network interface (<code>api_gateway_managed</code> | <code>aws_codestar_connections_managed</code> | <code>branch</code> | <code>ec2_instance_connect_endpoint</code> | <code>efa</code> | <code>efa-only</code> | <code>efs</code> | <code>evs</code> | <code>gateway_load_balancer</code> | <code>gateway_load_balancer_endpoint</code> | <code>global_accelerator_managed</code> | <code>interface</code> | <code>iot_rules_managed</code> | <code>lambda</code> | <code>load_balancer</code> | <code>nat_gateway</code> | <code>network_load_balancer</code> | <code>quicksight</code> | <code>transit_gateway</code> | <code>trunk</code> | <code>vpc_endpoint</code>).</p></li>
403 /// <li>
404 /// <p><code>mac-address</code> - The MAC address of the network interface.</p></li>
405 /// <li>
406 /// <p><code>network-interface-id</code> - The ID of the network interface.</p></li>
407 /// <li>
408 /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed network interface.</p></li>
409 /// <li>
410 /// <p><code>operator.principal</code> - The principal that manages the network interface. Only valid for managed network interfaces, where <code>managed</code> is <code>true</code>.</p></li>
411 /// <li>
412 /// <p><code>owner-id</code> - The Amazon Web Services account ID of the network interface owner.</p></li>
413 /// <li>
414 /// <p><code>private-dns-name</code> - The private DNS name of the network interface (IPv4).</p></li>
415 /// <li>
416 /// <p><code>private-ip-address</code> - The private IPv4 address or addresses of the network interface.</p></li>
417 /// <li>
418 /// <p><code>requester-id</code> - The alias or Amazon Web Services account ID of the principal or service that created the network interface.</p></li>
419 /// <li>
420 /// <p><code>requester-managed</code> - Indicates whether the network interface is being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).</p></li>
421 /// <li>
422 /// <p><code>source-dest-check</code> - Indicates whether the network interface performs source/destination checking. A value of <code>true</code> means checking is enabled, and <code>false</code> means checking is disabled. The value must be <code>false</code> for the network interface to perform network address translation (NAT) in your VPC.</p></li>
423 /// <li>
424 /// <p><code>status</code> - The status of the network interface. If the network interface is not attached to an instance, the status is <code>available</code>; if a network interface is attached to an instance the status is <code>in-use</code>.</p></li>
425 /// <li>
426 /// <p><code>subnet-id</code> - The ID of the subnet for the network interface.</p></li>
427 /// <li>
428 /// <p><code>tag</code>:<key>
429 /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
430 /// <code>Owner</code> and the value
431 /// <code>TeamA</code>, specify
432 /// <code>tag:Owner</code> for the filter name and
433 /// <code>TeamA</code> for the filter value.
434 /// </key></p></li>
435 /// <li>
436 /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
437 /// <li>
438 /// <p><code>vpc-id</code> - The ID of the VPC for the network interface.</p></li>
439 /// </ul>
440 pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
441 self.inner.get_filters()
442 }
443}