aws_sdk_proton/operation/create_environment_account_connection/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_environment_account_connection::_create_environment_account_connection_output::CreateEnvironmentAccountConnectionOutputBuilder;
3
4pub use crate::operation::create_environment_account_connection::_create_environment_account_connection_input::CreateEnvironmentAccountConnectionInputBuilder;
5
6impl crate::operation::create_environment_account_connection::builders::CreateEnvironmentAccountConnectionInputBuilder {
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_environment_account_connection::CreateEnvironmentAccountConnectionOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_environment_account_connection();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateEnvironmentAccountConnection`.
24///
25/// <p>Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.</p>
26/// <p>An environment account connection is a secure bi-directional connection between a <i>management account</i> and an <i>environment account</i> that maintains authorization and permissions. For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html">Environment account connections</a> in the <i>Proton User guide</i>.</p>
27#[deprecated(note = "AWS Proton is not accepting new customers.", since = "10/07/2025")]
28#[derive(::std::clone::Clone, ::std::fmt::Debug)]
29pub struct CreateEnvironmentAccountConnectionFluentBuilder {
30 handle: ::std::sync::Arc<crate::client::Handle>,
31 inner: crate::operation::create_environment_account_connection::builders::CreateEnvironmentAccountConnectionInputBuilder,
32 config_override: ::std::option::Option<crate::config::Builder>,
33}
34impl
35 crate::client::customize::internal::CustomizableSend<
36 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionOutput,
37 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionError,
38 > for CreateEnvironmentAccountConnectionFluentBuilder
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_environment_account_connection::CreateEnvironmentAccountConnectionOutput,
46 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionError,
47 >,
48 > {
49 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
50 }
51}
52impl CreateEnvironmentAccountConnectionFluentBuilder {
53 /// Creates a new `CreateEnvironmentAccountConnectionFluentBuilder`.
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 CreateEnvironmentAccountConnection as a reference.
62 pub fn as_input(&self) -> &crate::operation::create_environment_account_connection::builders::CreateEnvironmentAccountConnectionInputBuilder {
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_environment_account_connection::CreateEnvironmentAccountConnectionOutput,
77 ::aws_smithy_runtime_api::client::result::SdkError<
78 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionError,
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_environment_account_connection::CreateEnvironmentAccountConnection::operation_runtime_plugins(
87 self.handle.runtime_plugins.clone(),
88 &self.handle.conf,
89 self.config_override,
90 );
91 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnection::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_environment_account_connection::CreateEnvironmentAccountConnectionOutput,
99 crate::operation::create_environment_account_connection::CreateEnvironmentAccountConnectionError,
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>When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.</p>
114 pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
115 self.inner = self.inner.client_token(input.into());
116 self
117 }
118 /// <p>When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.</p>
119 pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
120 self.inner = self.inner.set_client_token(input);
121 self
122 }
123 /// <p>When included, if two identical requests are made with the same client token, Proton returns the environment account connection that the first request created.</p>
124 pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
125 self.inner.get_client_token()
126 }
127 /// <p>The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environment account connection, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.</p>
128 pub fn management_account_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
129 self.inner = self.inner.management_account_id(input.into());
130 self
131 }
132 /// <p>The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environment account connection, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.</p>
133 pub fn set_management_account_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
134 self.inner = self.inner.set_management_account_id(input);
135 self
136 }
137 /// <p>The ID of the management account that accepts or rejects the environment account connection. You create and manage the Proton environment in this account. If the management account accepts the environment account connection, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.</p>
138 pub fn get_management_account_id(&self) -> &::std::option::Option<::std::string::String> {
139 self.inner.get_management_account_id()
140 }
141 /// <p>The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.</p>
142 pub fn role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.inner = self.inner.role_arn(input.into());
144 self
145 }
146 /// <p>The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.</p>
147 pub fn set_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
148 self.inner = self.inner.set_role_arn(input);
149 self
150 }
151 /// <p>The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.</p>
152 pub fn get_role_arn(&self) -> &::std::option::Option<::std::string::String> {
153 self.inner.get_role_arn()
154 }
155 /// <p>The name of the Proton environment that's created in the associated management account.</p>
156 pub fn environment_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157 self.inner = self.inner.environment_name(input.into());
158 self
159 }
160 /// <p>The name of the Proton environment that's created in the associated management account.</p>
161 pub fn set_environment_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
162 self.inner = self.inner.set_environment_name(input);
163 self
164 }
165 /// <p>The name of the Proton environment that's created in the associated management account.</p>
166 pub fn get_environment_name(&self) -> &::std::option::Option<::std::string::String> {
167 self.inner.get_environment_name()
168 }
169 ///
170 /// Appends an item to `tags`.
171 ///
172 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
173 ///
174 /// <p>An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.</p>
175 /// <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
176 pub fn tags(mut self, input: crate::types::Tag) -> Self {
177 self.inner = self.inner.tags(input);
178 self
179 }
180 /// <p>An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.</p>
181 /// <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
182 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
183 self.inner = self.inner.set_tags(input);
184 self
185 }
186 /// <p>An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.</p>
187 /// <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
188 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
189 self.inner.get_tags()
190 }
191 /// <p>The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.</p>
192 /// <p>You must specify <code>componentRoleArn</code> to allow directly defined components to be associated with any environments running in this account.</p>
193 /// <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
194 pub fn component_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
195 self.inner = self.inner.component_role_arn(input.into());
196 self
197 }
198 /// <p>The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.</p>
199 /// <p>You must specify <code>componentRoleArn</code> to allow directly defined components to be associated with any environments running in this account.</p>
200 /// <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
201 pub fn set_component_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
202 self.inner = self.inner.set_component_role_arn(input);
203 self
204 }
205 /// <p>The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.</p>
206 /// <p>You must specify <code>componentRoleArn</code> to allow directly defined components to be associated with any environments running in this account.</p>
207 /// <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
208 pub fn get_component_role_arn(&self) -> &::std::option::Option<::std::string::String> {
209 self.inner.get_component_role_arn()
210 }
211 /// <p>The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.</p>
212 pub fn codebuild_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
213 self.inner = self.inner.codebuild_role_arn(input.into());
214 self
215 }
216 /// <p>The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.</p>
217 pub fn set_codebuild_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
218 self.inner = self.inner.set_codebuild_role_arn(input);
219 self
220 }
221 /// <p>The Amazon Resource Name (ARN) of an IAM service role in the environment account. Proton uses this role to provision infrastructure resources using CodeBuild-based provisioning in the associated environment account.</p>
222 pub fn get_codebuild_role_arn(&self) -> &::std::option::Option<::std::string::String> {
223 self.inner.get_codebuild_role_arn()
224 }
225}