aws_sdk_ssoadmin/operation/create_application/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_application::_create_application_output::CreateApplicationOutputBuilder;
3
4pub use crate::operation::create_application::_create_application_input::CreateApplicationInputBuilder;
5
6impl crate::operation::create_application::builders::CreateApplicationInputBuilder {
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_application::CreateApplicationOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_application::CreateApplicationError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_application();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateApplication`.
24///
25/// <p>Creates an OAuth 2.0 customer managed application in IAM Identity Center for the given application provider.</p><note>
26/// <p>This API does not support creating SAML 2.0 customer managed applications or Amazon Web Services managed applications. To learn how to create an Amazon Web Services managed application, see the application user guide. You can create a SAML 2.0 customer managed application in the Amazon Web Services Management Console only. See <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/customermanagedapps-saml2-setup.html">Setting up customer managed SAML 2.0 applications</a>. For more information on these application types, see <a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/awsapps.html">Amazon Web Services managed applications</a>.</p>
27/// </note>
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateApplicationFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::create_application::builders::CreateApplicationInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::create_application::CreateApplicationOutput,
37 crate::operation::create_application::CreateApplicationError,
38 > for CreateApplicationFluentBuilder
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_application::CreateApplicationOutput,
46 crate::operation::create_application::CreateApplicationError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl CreateApplicationFluentBuilder {
53 /// Creates a new `CreateApplicationFluentBuilder`.
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 CreateApplication as a reference.
62 pub fn as_input(&self) -> &crate::operation::create_application::builders::CreateApplicationInputBuilder {
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_application::CreateApplicationOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::create_application::CreateApplicationError,
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_application::CreateApplication::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::create_application::CreateApplication::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_application::CreateApplicationOutput,
99 crate::operation::create_application::CreateApplicationError,
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 ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web Services General Reference</i>.</p>
114 pub fn instance_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115 self.inner = self.inner.instance_arn(input.into());
116 self
117 }
118 /// <p>The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web Services General Reference</i>.</p>
119 pub fn set_instance_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120 self.inner = self.inner.set_instance_arn(input);
121 self
122 }
123 /// <p>The ARN of the instance of IAM Identity Center under which the operation will run. For more information about ARNs, see <a href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web Services General Reference</i>.</p>
124 pub fn get_instance_arn(&self) -> &::std::option::Option<::std::string::String> {
125 self.inner.get_instance_arn()
126 }
127 /// <p>The ARN of the application provider under which the operation will run.</p>
128 pub fn application_provider_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129 self.inner = self.inner.application_provider_arn(input.into());
130 self
131 }
132 /// <p>The ARN of the application provider under which the operation will run.</p>
133 pub fn set_application_provider_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134 self.inner = self.inner.set_application_provider_arn(input);
135 self
136 }
137 /// <p>The ARN of the application provider under which the operation will run.</p>
138 pub fn get_application_provider_arn(&self) -> &::std::option::Option<::std::string::String> {
139 self.inner.get_application_provider_arn()
140 }
141 /// <p>The name of the .</p>
142 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.inner = self.inner.name(input.into());
144 self
145 }
146 /// <p>The name of the .</p>
147 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148 self.inner = self.inner.set_name(input);
149 self
150 }
151 /// <p>The name of the .</p>
152 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
153 self.inner.get_name()
154 }
155 /// <p>The description of the .</p>
156 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157 self.inner = self.inner.description(input.into());
158 self
159 }
160 /// <p>The description of the .</p>
161 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162 self.inner = self.inner.set_description(input);
163 self
164 }
165 /// <p>The description of the .</p>
166 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
167 self.inner.get_description()
168 }
169 /// <p>A structure that describes the options for the portal associated with an application.</p>
170 pub fn portal_options(mut self, input: crate::types::PortalOptions) -> Self {
171 self.inner = self.inner.portal_options(input);
172 self
173 }
174 /// <p>A structure that describes the options for the portal associated with an application.</p>
175 pub fn set_portal_options(mut self, input: ::std::option::Option<crate::types::PortalOptions>) -> Self {
176 self.inner = self.inner.set_portal_options(input);
177 self
178 }
179 /// <p>A structure that describes the options for the portal associated with an application.</p>
180 pub fn get_portal_options(&self) -> &::std::option::Option<crate::types::PortalOptions> {
181 self.inner.get_portal_options()
182 }
183 ///
184 /// Appends an item to `Tags`.
185 ///
186 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
187 ///
188 /// <p>Specifies tags to be attached to the application.</p>
189 pub fn tags(mut self, input: crate::types::Tag) -> Self {
190 self.inner = self.inner.tags(input);
191 self
192 }
193 /// <p>Specifies tags to be attached to the application.</p>
194 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
195 self.inner = self.inner.set_tags(input);
196 self
197 }
198 /// <p>Specifies tags to be attached to the application.</p>
199 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
200 self.inner.get_tags()
201 }
202 /// <p>Specifies whether the application is enabled or disabled.</p>
203 pub fn status(mut self, input: crate::types::ApplicationStatus) -> Self {
204 self.inner = self.inner.status(input);
205 self
206 }
207 /// <p>Specifies whether the application is enabled or disabled.</p>
208 pub fn set_status(mut self, input: ::std::option::Option<crate::types::ApplicationStatus>) -> Self {
209 self.inner = self.inner.set_status(input);
210 self
211 }
212 /// <p>Specifies whether the application is enabled or disabled.</p>
213 pub fn get_status(&self) -> &::std::option::Option<crate::types::ApplicationStatus> {
214 self.inner.get_status()
215 }
216 /// <p>Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
217 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
218 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
219 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
220 self.inner = self.inner.client_token(input.into());
221 self
222 }
223 /// <p>Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
224 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
225 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
226 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227 self.inner = self.inner.set_client_token(input);
228 self
229 }
230 /// <p>Specifies a unique, case-sensitive ID that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p>
231 /// <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p>
232 /// <p>If you retry the operation with the same <code>ClientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p>
233 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
234 self.inner.get_client_token()
235 }
236}