aws_sdk_wellarchitected/operation/create_lens_version/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_lens_version::_create_lens_version_output::CreateLensVersionOutputBuilder;
3
4pub use crate::operation::create_lens_version::_create_lens_version_input::CreateLensVersionInputBuilder;
5
6impl crate::operation::create_lens_version::builders::CreateLensVersionInputBuilder {
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::create_lens_version::CreateLensVersionOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_lens_version::CreateLensVersionError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_lens_version();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateLensVersion`.
24///
25/// <p>Create a new lens version.</p>
26/// <p>A lens can have up to 100 versions.</p>
27/// <p>Use this operation to publish a new lens version after you have imported a lens. The <code>LensAlias</code> is used to identify the lens to be published. The owner of a lens can share the lens with other Amazon Web Services accounts and users in the same Amazon Web Services Region. Only the owner of a lens can delete it.</p>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateLensVersionFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::create_lens_version::builders::CreateLensVersionInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::create_lens_version::CreateLensVersionOutput,
37 crate::operation::create_lens_version::CreateLensVersionError,
38 > for CreateLensVersionFluentBuilder
39{
40 fn send(
41 self,
42 config_override: crate::config::Builder,
43 ) -> crate::client::customize::internal::BoxFuture<
44 crate::client::customize::internal::SendResult<
45 crate::operation::create_lens_version::CreateLensVersionOutput,
46 crate::operation::create_lens_version::CreateLensVersionError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl CreateLensVersionFluentBuilder {
53 /// Creates a new `CreateLensVersionFluentBuilder`.
54 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
55 Self {
56 handle,
57 inner: ::std::default::Default::default(),
58 config_override: ::std::option::Option::None,
59 }
60 }
61 /// Access the CreateLensVersion as a reference.
62 pub fn as_input(&self) -> &crate::operation::create_lens_version::builders::CreateLensVersionInputBuilder {
63 &self.inner
64 }
65 /// Sends the request and returns the response.
66 ///
67 /// If an error occurs, an `SdkError` will be returned with additional details that
68 /// can be matched against.
69 ///
70 /// By default, any retryable failures will be retried twice. Retry behavior
71 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
72 /// set when configuring the client.
73 pub async fn send(
74 self,
75 ) -> ::std::result::Result<
76 crate::operation::create_lens_version::CreateLensVersionOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::create_lens_version::CreateLensVersionError,
79 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
80 >,
81 > {
82 let input = self
83 .inner
84 .build()
85 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
86 let runtime_plugins = crate::operation::create_lens_version::CreateLensVersion::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::create_lens_version::CreateLensVersion::orchestrate(&runtime_plugins, input).await
92 }
93
94 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
95 pub fn customize(
96 self,
97 ) -> crate::client::customize::CustomizableOperation<
98 crate::operation::create_lens_version::CreateLensVersionOutput,
99 crate::operation::create_lens_version::CreateLensVersionError,
100 Self,
101 > {
102 crate::client::customize::CustomizableOperation::new(self)
103 }
104 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
105 self.set_config_override(::std::option::Option::Some(config_override.into()));
106 self
107 }
108
109 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
110 self.config_override = config_override;
111 self
112 }
113 /// <p>The alias of the lens.</p>
114 /// <p>For Amazon Web Services official lenses, this is either the lens alias, such as <code>serverless</code>, or the lens ARN, such as <code>arn:aws:wellarchitected:us-east-1::lens/serverless</code>. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.</p>
115 /// <p>For custom lenses, this is the lens ARN, such as <code>arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef</code>.</p>
116 /// <p>Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
117 pub fn lens_alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
118 self.inner = self.inner.lens_alias(input.into());
119 self
120 }
121 /// <p>The alias of the lens.</p>
122 /// <p>For Amazon Web Services official lenses, this is either the lens alias, such as <code>serverless</code>, or the lens ARN, such as <code>arn:aws:wellarchitected:us-east-1::lens/serverless</code>. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.</p>
123 /// <p>For custom lenses, this is the lens ARN, such as <code>arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef</code>.</p>
124 /// <p>Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
125 pub fn set_lens_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
126 self.inner = self.inner.set_lens_alias(input);
127 self
128 }
129 /// <p>The alias of the lens.</p>
130 /// <p>For Amazon Web Services official lenses, this is either the lens alias, such as <code>serverless</code>, or the lens ARN, such as <code>arn:aws:wellarchitected:us-east-1::lens/serverless</code>. Note that some operations (such as ExportLens and CreateLensShare) are not permitted on Amazon Web Services official lenses.</p>
131 /// <p>For custom lenses, this is the lens ARN, such as <code>arn:aws:wellarchitected:us-west-2:123456789012:lens/0123456789abcdef01234567890abcdef</code>.</p>
132 /// <p>Each lens is identified by its <code>LensSummary$LensAlias</code>.</p>
133 pub fn get_lens_alias(&self) -> &::std::option::Option<::std::string::String> {
134 self.inner.get_lens_alias()
135 }
136 /// <p>The version of the lens being created.</p>
137 pub fn lens_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
138 self.inner = self.inner.lens_version(input.into());
139 self
140 }
141 /// <p>The version of the lens being created.</p>
142 pub fn set_lens_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
143 self.inner = self.inner.set_lens_version(input);
144 self
145 }
146 /// <p>The version of the lens being created.</p>
147 pub fn get_lens_version(&self) -> &::std::option::Option<::std::string::String> {
148 self.inner.get_lens_version()
149 }
150 /// <p>Set to true if this new major lens version.</p>
151 pub fn is_major_version(mut self, input: bool) -> Self {
152 self.inner = self.inner.is_major_version(input);
153 self
154 }
155 /// <p>Set to true if this new major lens version.</p>
156 pub fn set_is_major_version(mut self, input: ::std::option::Option<bool>) -> Self {
157 self.inner = self.inner.set_is_major_version(input);
158 self
159 }
160 /// <p>Set to true if this new major lens version.</p>
161 pub fn get_is_major_version(&self) -> &::std::option::Option<bool> {
162 self.inner.get_is_major_version()
163 }
164 /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
165 /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
166 /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
167 /// </important>
168 pub fn client_request_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169 self.inner = self.inner.client_request_token(input.into());
170 self
171 }
172 /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
173 /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
174 /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
175 /// </important>
176 pub fn set_client_request_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
177 self.inner = self.inner.set_client_request_token(input);
178 self
179 }
180 /// <p>A unique case-sensitive string used to ensure that this request is idempotent (executes only once).</p>
181 /// <p>You should not reuse the same token for other requests. If you retry a request with the same client request token and the same parameters after the original request has completed successfully, the result of the original request is returned.</p><important>
182 /// <p>This token is listed as required, however, if you do not specify it, the Amazon Web Services SDKs automatically generate one for you. If you are not using the Amazon Web Services SDK or the CLI, you must provide this token or the request will fail.</p>
183 /// </important>
184 pub fn get_client_request_token(&self) -> &::std::option::Option<::std::string::String> {
185 self.inner.get_client_request_token()
186 }
187}