1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
pub use crate::operation::create_quote::_create_quote_input::CreateQuoteInputBuilder;
pub use crate::operation::create_quote::_create_quote_output::CreateQuoteOutputBuilder;
impl crate::operation::create_quote::builders::CreateQuoteInputBuilder {
/// Sends a request with this input using the given client.
pub async fn send_with(
self,
client: &crate::Client,
) -> ::std::result::Result<
crate::operation::create_quote::CreateQuoteOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::create_quote::CreateQuoteError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let mut fluent_builder = client.create_quote();
fluent_builder.inner = self;
fluent_builder.send().await
}
}
/// Fluent builder constructing a request to `CreateQuote`.
///
/// <p>Creates a quote for an Outpost. A quote provides pricing and configuration options based on the requested capacity. You can optionally associate the quote with an existing Outpost or create a standalone quote by specifying only the country code and requested capacities.</p>
#[derive(::std::clone::Clone, ::std::fmt::Debug)]
pub struct CreateQuoteFluentBuilder {
handle: ::std::sync::Arc<crate::client::Handle>,
inner: crate::operation::create_quote::builders::CreateQuoteInputBuilder,
config_override: ::std::option::Option<crate::config::Builder>,
}
impl
crate::client::customize::internal::CustomizableSend<
crate::operation::create_quote::CreateQuoteOutput,
crate::operation::create_quote::CreateQuoteError,
> for CreateQuoteFluentBuilder
{
fn send(
self,
config_override: crate::config::Builder,
) -> crate::client::customize::internal::BoxFuture<
crate::client::customize::internal::SendResult<
crate::operation::create_quote::CreateQuoteOutput,
crate::operation::create_quote::CreateQuoteError,
>,
> {
::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
}
}
impl CreateQuoteFluentBuilder {
/// Creates a new `CreateQuoteFluentBuilder`.
pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
Self {
handle,
inner: ::std::default::Default::default(),
config_override: ::std::option::Option::None,
}
}
/// Access the CreateQuote as a reference.
pub fn as_input(&self) -> &crate::operation::create_quote::builders::CreateQuoteInputBuilder {
&self.inner
}
/// Sends the request and returns the response.
///
/// If an error occurs, an `SdkError` will be returned with additional details that
/// can be matched against.
///
/// By default, any retryable failures will be retried twice. Retry behavior
/// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
/// set when configuring the client.
pub async fn send(
self,
) -> ::std::result::Result<
crate::operation::create_quote::CreateQuoteOutput,
::aws_smithy_runtime_api::client::result::SdkError<
crate::operation::create_quote::CreateQuoteError,
::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
>,
> {
let input = self
.inner
.build()
.map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
let runtime_plugins = crate::operation::create_quote::CreateQuote::operation_runtime_plugins(
self.handle.runtime_plugins.clone(),
&self.handle.conf,
self.config_override,
);
crate::operation::create_quote::CreateQuote::orchestrate(&runtime_plugins, input).await
}
/// Consumes this builder, creating a customizable operation that can be modified before being sent.
pub fn customize(
self,
) -> crate::client::customize::CustomizableOperation<
crate::operation::create_quote::CreateQuoteOutput,
crate::operation::create_quote::CreateQuoteError,
Self,
> {
crate::client::customize::CustomizableOperation::new(self)
}
pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
self.set_config_override(::std::option::Option::Some(config_override.into()));
self
}
pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
self.config_override = config_override;
self
}
/// <p>The ID or ARN of the Outpost to associate with the quote. If not specified, the quote is created without an Outpost association.</p>
pub fn outpost_identifier(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.outpost_identifier(input.into());
self
}
/// <p>The ID or ARN of the Outpost to associate with the quote. If not specified, the quote is created without an Outpost association.</p>
pub fn set_outpost_identifier(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_outpost_identifier(input);
self
}
/// <p>The ID or ARN of the Outpost to associate with the quote. If not specified, the quote is created without an Outpost association.</p>
pub fn get_outpost_identifier(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_outpost_identifier()
}
/// <p>The country code for the Outpost site location.</p>
pub fn country_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.country_code(input.into());
self
}
/// <p>The country code for the Outpost site location.</p>
pub fn set_country_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_country_code(input);
self
}
/// <p>The country code for the Outpost site location.</p>
pub fn get_country_code(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_country_code()
}
///
/// Appends an item to `RequestedCapacities`.
///
/// To override the contents of this collection use [`set_requested_capacities`](Self::set_requested_capacities).
///
/// <p>The capacity requirements for the quote. Each entry specifies a capacity type (such as Amazon EC2), the unit, and the quantity. For Amazon EC2, the quantity is the number of additional instances to add to the Outpost. For Amazon EBS and Amazon S3, the quantity is the total desired end-state capacity of the Outpost.</p>
pub fn requested_capacities(mut self, input: crate::types::QuoteCapacity) -> Self {
self.inner = self.inner.requested_capacities(input);
self
}
/// <p>The capacity requirements for the quote. Each entry specifies a capacity type (such as Amazon EC2), the unit, and the quantity. For Amazon EC2, the quantity is the number of additional instances to add to the Outpost. For Amazon EBS and Amazon S3, the quantity is the total desired end-state capacity of the Outpost.</p>
pub fn set_requested_capacities(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::QuoteCapacity>>) -> Self {
self.inner = self.inner.set_requested_capacities(input);
self
}
/// <p>The capacity requirements for the quote. Each entry specifies a capacity type (such as Amazon EC2), the unit, and the quantity. For Amazon EC2, the quantity is the number of additional instances to add to the Outpost. For Amazon EBS and Amazon S3, the quantity is the total desired end-state capacity of the Outpost.</p>
pub fn get_requested_capacities(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::QuoteCapacity>> {
self.inner.get_requested_capacities()
}
///
/// Appends an item to `RequestedConstraints`.
///
/// To override the contents of this collection use [`set_requested_constraints`](Self::set_requested_constraints).
///
/// <p>The physical constraints for the quote, such as maximum number of racks, maximum power draw per rack, or maximum weight per rack.</p>
pub fn requested_constraints(mut self, input: crate::types::QuoteConstraint) -> Self {
self.inner = self.inner.requested_constraints(input);
self
}
/// <p>The physical constraints for the quote, such as maximum number of racks, maximum power draw per rack, or maximum weight per rack.</p>
pub fn set_requested_constraints(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::QuoteConstraint>>) -> Self {
self.inner = self.inner.set_requested_constraints(input);
self
}
/// <p>The physical constraints for the quote, such as maximum number of racks, maximum power draw per rack, or maximum weight per rack.</p>
pub fn get_requested_constraints(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::QuoteConstraint>> {
self.inner.get_requested_constraints()
}
///
/// Appends an item to `RequestedPaymentOptions`.
///
/// To override the contents of this collection use [`set_requested_payment_options`](Self::set_requested_payment_options).
///
/// <p>The payment options to include in the quote pricing. If not specified, all available payment options are returned.</p>
pub fn requested_payment_options(mut self, input: crate::types::PaymentOption) -> Self {
self.inner = self.inner.requested_payment_options(input);
self
}
/// <p>The payment options to include in the quote pricing. If not specified, all available payment options are returned.</p>
pub fn set_requested_payment_options(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PaymentOption>>) -> Self {
self.inner = self.inner.set_requested_payment_options(input);
self
}
/// <p>The payment options to include in the quote pricing. If not specified, all available payment options are returned.</p>
pub fn get_requested_payment_options(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PaymentOption>> {
self.inner.get_requested_payment_options()
}
///
/// Appends an item to `RequestedPaymentTerms`.
///
/// To override the contents of this collection use [`set_requested_payment_terms`](Self::set_requested_payment_terms).
///
/// <p>The payment terms to include in the quote pricing. If not specified, all available payment terms are returned.</p>
pub fn requested_payment_terms(mut self, input: crate::types::PaymentTerm) -> Self {
self.inner = self.inner.requested_payment_terms(input);
self
}
/// <p>The payment terms to include in the quote pricing. If not specified, all available payment terms are returned.</p>
pub fn set_requested_payment_terms(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PaymentTerm>>) -> Self {
self.inner = self.inner.set_requested_payment_terms(input);
self
}
/// <p>The payment terms to include in the quote pricing. If not specified, all available payment terms are returned.</p>
pub fn get_requested_payment_terms(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PaymentTerm>> {
self.inner.get_requested_payment_terms()
}
/// <p>A description for the quote.</p>
pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.inner = self.inner.description(input.into());
self
}
/// <p>A description for the quote.</p>
pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.inner = self.inner.set_description(input);
self
}
/// <p>A description for the quote.</p>
pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
self.inner.get_description()
}
}