aws_sdk_ec2/operation/describe_classic_link_instances/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::describe_classic_link_instances::_describe_classic_link_instances_output::DescribeClassicLinkInstancesOutputBuilder;
3
4pub use crate::operation::describe_classic_link_instances::_describe_classic_link_instances_input::DescribeClassicLinkInstancesInputBuilder;
5
6impl crate::operation::describe_classic_link_instances::builders::DescribeClassicLinkInstancesInputBuilder {
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_classic_link_instances::DescribeClassicLinkInstancesOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.describe_classic_link_instances();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `DescribeClassicLinkInstances`.
24///
25/// <note>
26/// <p>This action is deprecated.</p>
27/// </note>
28/// <p>Describes your linked EC2-Classic instances. This request only returns information about EC2-Classic instances linked to a VPC through ClassicLink. You cannot use this request to return information about other instances.</p>
29#[derive(::std::clone::Clone, ::std::fmt::Debug)]
30pub struct DescribeClassicLinkInstancesFluentBuilder {
31 handle: ::std::sync::Arc<crate::client::Handle>,
32 inner: crate::operation::describe_classic_link_instances::builders::DescribeClassicLinkInstancesInputBuilder,
33 config_override: ::std::option::Option<crate::config::Builder>,
34}
35impl
36 crate::client::customize::internal::CustomizableSend<
37 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesOutput,
38 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesError,
39 > for DescribeClassicLinkInstancesFluentBuilder
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_classic_link_instances::DescribeClassicLinkInstancesOutput,
47 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesError,
48 >,
49 > {
50 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
51 }
52}
53impl DescribeClassicLinkInstancesFluentBuilder {
54 /// Creates a new `DescribeClassicLinkInstancesFluentBuilder`.
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 DescribeClassicLinkInstances as a reference.
63 pub fn as_input(&self) -> &crate::operation::describe_classic_link_instances::builders::DescribeClassicLinkInstancesInputBuilder {
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_classic_link_instances::DescribeClassicLinkInstancesOutput,
78 ::aws_smithy_runtime_api::client::result::SdkError<
79 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesError,
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_classic_link_instances::DescribeClassicLinkInstances::operation_runtime_plugins(
88 self.handle.runtime_plugins.clone(),
89 &self.handle.conf,
90 self.config_override,
91 );
92 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstances::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_classic_link_instances::DescribeClassicLinkInstancesOutput,
100 crate::operation::describe_classic_link_instances::DescribeClassicLinkInstancesError,
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_classic_link_instances::paginator::DescribeClassicLinkInstancesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
117 pub fn into_paginator(self) -> crate::operation::describe_classic_link_instances::paginator::DescribeClassicLinkInstancesPaginator {
118 crate::operation::describe_classic_link_instances::paginator::DescribeClassicLinkInstancesPaginator::new(self.handle, self.inner)
119 }
120 /// <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>
121 pub fn dry_run(mut self, input: bool) -> Self {
122 self.inner = self.inner.dry_run(input);
123 self
124 }
125 /// <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>
126 pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
127 self.inner = self.inner.set_dry_run(input);
128 self
129 }
130 /// <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>
131 pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
132 self.inner.get_dry_run()
133 }
134 ///
135 /// Appends an item to `InstanceIds`.
136 ///
137 /// To override the contents of this collection use [`set_instance_ids`](Self::set_instance_ids).
138 ///
139 /// <p>The instance IDs. Must be instances linked to a VPC through ClassicLink.</p>
140 pub fn instance_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141 self.inner = self.inner.instance_ids(input.into());
142 self
143 }
144 /// <p>The instance IDs. Must be instances linked to a VPC through ClassicLink.</p>
145 pub fn set_instance_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
146 self.inner = self.inner.set_instance_ids(input);
147 self
148 }
149 /// <p>The instance IDs. Must be instances linked to a VPC through ClassicLink.</p>
150 pub fn get_instance_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
151 self.inner.get_instance_ids()
152 }
153 ///
154 /// Appends an item to `Filters`.
155 ///
156 /// To override the contents of this collection use [`set_filters`](Self::set_filters).
157 ///
158 /// <p>The filters.</p>
159 /// <ul>
160 /// <li>
161 /// <p><code>group-id</code> - The ID of a VPC security group that's associated with the instance.</p></li>
162 /// <li>
163 /// <p><code>instance-id</code> - The ID of the instance.</p></li>
164 /// <li>
165 /// <p><code>tag</code> - 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 <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p></li>
166 /// <li>
167 /// <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>
168 /// <li>
169 /// <p><code>vpc-id</code> - The ID of the VPC to which the instance is linked.</p></li>
170 /// </ul>
171 pub fn filters(mut self, input: crate::types::Filter) -> Self {
172 self.inner = self.inner.filters(input);
173 self
174 }
175 /// <p>The filters.</p>
176 /// <ul>
177 /// <li>
178 /// <p><code>group-id</code> - The ID of a VPC security group that's associated with the instance.</p></li>
179 /// <li>
180 /// <p><code>instance-id</code> - The ID of the instance.</p></li>
181 /// <li>
182 /// <p><code>tag</code> - 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 <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p></li>
183 /// <li>
184 /// <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>
185 /// <li>
186 /// <p><code>vpc-id</code> - The ID of the VPC to which the instance is linked.</p></li>
187 /// </ul>
188 pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
189 self.inner = self.inner.set_filters(input);
190 self
191 }
192 /// <p>The filters.</p>
193 /// <ul>
194 /// <li>
195 /// <p><code>group-id</code> - The ID of a VPC security group that's associated with the instance.</p></li>
196 /// <li>
197 /// <p><code>instance-id</code> - The ID of the instance.</p></li>
198 /// <li>
199 /// <p><code>tag</code> - 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 <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p></li>
200 /// <li>
201 /// <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>
202 /// <li>
203 /// <p><code>vpc-id</code> - The ID of the VPC to which the instance is linked.</p></li>
204 /// </ul>
205 pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
206 self.inner.get_filters()
207 }
208 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
209 pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210 self.inner = self.inner.next_token(input.into());
211 self
212 }
213 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
214 pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215 self.inner = self.inner.set_next_token(input);
216 self
217 }
218 /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
219 pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
220 self.inner.get_next_token()
221 }
222 /// <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. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
223 /// <p>Constraint: If the value is greater than 1000, we return only 1000 items.</p>
224 pub fn max_results(mut self, input: i32) -> Self {
225 self.inner = self.inner.max_results(input);
226 self
227 }
228 /// <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. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
229 /// <p>Constraint: If the value is greater than 1000, we return only 1000 items.</p>
230 pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
231 self.inner = self.inner.set_max_results(input);
232 self
233 }
234 /// <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. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
235 /// <p>Constraint: If the value is greater than 1000, we return only 1000 items.</p>
236 pub fn get_max_results(&self) -> &::std::option::Option<i32> {
237 self.inner.get_max_results()
238 }
239}