// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateApplication`](crate::operation::create_application::builders::CreateApplicationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_name):<br>required: **true**<br><p>The name to use for the application. </p><br>
/// - [`environment_identifier(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::environment_identifier) / [`set_environment_identifier(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_environment_identifier):<br>required: **true**<br><p>The unique identifier of the environment.</p><br>
/// - [`vpc_id(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_vpc_id):<br>required: **true**<br><p>The ID of the virtual private cloud (VPC).</p><br>
/// - [`proxy_type(ProxyType)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::proxy_type) / [`set_proxy_type(Option<ProxyType>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_proxy_type):<br>required: **true**<br><p>The proxy type of the proxy created within the application. </p><br>
/// - [`api_gateway_proxy(ApiGatewayProxyInput)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::api_gateway_proxy) / [`set_api_gateway_proxy(Option<ApiGatewayProxyInput>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_api_gateway_proxy):<br>required: **false**<br><p>A wrapper object holding the API Gateway endpoint type and stage name for the proxy. </p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to assign to the application. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair.</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_application::builders::CreateApplicationFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p><br>
/// - On success, responds with [`CreateApplicationOutput`](crate::operation::create_application::CreateApplicationOutput) with field(s):
/// - [`name(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::name): <p>The name of the application.</p>
/// - [`arn(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::arn): <p>The Amazon Resource Name (ARN) of the application. The format for this ARN is <code>arn:aws:refactor-spaces:<i>region</i>:<i>account-id</i>:<i>resource-type/resource-id</i> </code>. For more information about ARNs, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html"> Amazon Resource Names (ARNs)</a> in the <i>Amazon Web Services General Reference</i>.</p>
/// - [`owner_account_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::owner_account_id): <p>The Amazon Web Services account ID of the application owner (which is always the same as the environment owner account ID).</p>
/// - [`created_by_account_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::created_by_account_id): <p>The Amazon Web Services account ID of application creator.</p>
/// - [`application_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::application_id): <p>The unique identifier of the application.</p>
/// - [`environment_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::environment_id): <p>The ID of the environment in which the application is created.</p>
/// - [`vpc_id(Option<String>)`](crate::operation::create_application::CreateApplicationOutput::vpc_id): <p>The ID of the Amazon VPC. </p>
/// - [`proxy_type(Option<ProxyType>)`](crate::operation::create_application::CreateApplicationOutput::proxy_type): <p>The proxy type of the proxy created within the application. </p>
/// - [`api_gateway_proxy(Option<ApiGatewayProxyInput>)`](crate::operation::create_application::CreateApplicationOutput::api_gateway_proxy): <p>A wrapper object holding the API Gateway endpoint type and stage name for the proxy. </p>
/// - [`state(Option<ApplicationState>)`](crate::operation::create_application::CreateApplicationOutput::state): <p>The current state of the application. </p>
/// - [`tags(Option<HashMap::<String, String>>)`](crate::operation::create_application::CreateApplicationOutput::tags): <p>The tags assigned to the application. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key-value pair. </p>
/// - [`last_updated_time(Option<DateTime>)`](crate::operation::create_application::CreateApplicationOutput::last_updated_time): <p>A timestamp that indicates when the application was last updated. </p>
/// - [`created_time(Option<DateTime>)`](crate::operation::create_application::CreateApplicationOutput::created_time): <p>A timestamp that indicates when the application is created.</p>
/// - On failure, responds with [`SdkError<CreateApplicationError>`](crate::operation::create_application::CreateApplicationError)
pub fn create_application(&self) -> crate::operation::create_application::builders::CreateApplicationFluentBuilder {
crate::operation::create_application::builders::CreateApplicationFluentBuilder::new(self.handle.clone())
}
}