aws_sdk_mwaa/operation/update_environment/_update_environment_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct UpdateEnvironmentInput {
6 /// <p>The name of your Amazon MWAA environment. For example, <code>MyMWAAEnvironment</code>.</p>
7 pub name: ::std::option::Option<::std::string::String>,
8 /// <p>The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, <code>arn:aws:iam::123456789:role/my-execution-role</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html">Amazon MWAA Execution role</a>.</p>
9 pub execution_role_arn: ::std::option::Option<::std::string::String>,
10 /// <p>A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html">Apache Airflow configuration options</a>.</p>
11 pub airflow_configuration_options: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
12 /// <p>The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.</p>
13 /// <p>Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/upgrading-environment.html">Upgrading an Amazon MWAA environment</a>.</p>
14 /// <p>Valid values: <code>1.10.12</code>, <code>2.0.2</code>, <code>2.2.2</code>, <code>2.4.3</code>, <code>2.5.1</code>, <code>2.6.3</code>, <code>2.7.2</code>, <code>2.8.1</code>, <code>2.9.2</code>, <code>2.10.1</code>, and <code>2.10.3</code>.</p>
15 pub airflow_version: ::std::option::Option<::std::string::String>,
16 /// <p>The relative path to the DAGs folder on your Amazon S3 bucket. For example, <code>dags</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html">Adding or updating DAGs</a>.</p>
17 pub dag_s3_path: ::std::option::Option<::std::string::String>,
18 /// <p>The environment class type. Valid values: <code>mw1.micro</code>, <code>mw1.small</code>, <code>mw1.medium</code>, <code>mw1.large</code>, <code>mw1.xlarge</code>, and <code>mw1.2xlarge</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html">Amazon MWAA environment class</a>.</p>
19 pub environment_class: ::std::option::Option<::std::string::String>,
20 /// <p>The Apache Airflow log types to send to CloudWatch Logs.</p>
21 pub logging_configuration: ::std::option::Option<crate::types::LoggingConfigurationInput>,
22 /// <p>The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. For example, <code>20</code>. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in <code>MinWorkers</code>.</p>
23 pub max_workers: ::std::option::Option<i32>,
24 /// <p>The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the <code>MinWorkers</code> field. For example, <code>2</code>.</p>
25 pub min_workers: ::std::option::Option<i32>,
26 /// <p>The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in <code>MaxWebserers</code>. As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
27 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
28 pub max_webservers: ::std::option::Option<i32>,
29 /// <p>The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
30 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
31 pub min_webservers: ::std::option::Option<i32>,
32 /// <p>The worker replacement strategy to use when updating the environment.</p>
33 /// <p>You can select one of the following strategies:</p>
34 /// <ul>
35 /// <li>
36 /// <p><b>Forced -</b> Stops and replaces Apache Airflow workers without waiting for tasks to complete before an update.</p></li>
37 /// <li>
38 /// <p><b>Graceful -</b> Allows Apache Airflow workers to complete running tasks for up to 12 hours during an update before they're stopped and replaced.</p></li>
39 /// </ul>
40 pub worker_replacement_strategy: ::std::option::Option<crate::types::WorkerReplacementStrategy>,
41 /// <p>The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html">About networking on Amazon MWAA</a>.</p>
42 pub network_configuration: ::std::option::Option<crate::types::UpdateNetworkConfigurationInput>,
43 /// <p>The relative path to the <code>plugins.zip</code> file on your Amazon S3 bucket. For example, <code>plugins.zip</code>. If specified, then the plugins.zip version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html">Installing custom plugins</a>.</p>
44 pub plugins_s3_path: ::std::option::Option<::std::string::String>,
45 /// <p>The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a <code>plugins.zip</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
46 pub plugins_s3_object_version: ::std::option::Option<::std::string::String>,
47 /// <p>The relative path to the <code>requirements.txt</code> file on your Amazon S3 bucket. For example, <code>requirements.txt</code>. If specified, then a file version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html">Installing Python dependencies</a>.</p>
48 pub requirements_s3_path: ::std::option::Option<::std::string::String>,
49 /// <p>The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a <code>requirements.txt</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
50 pub requirements_s3_object_version: ::std::option::Option<::std::string::String>,
51 /// <p>The number of Apache Airflow schedulers to run in your Amazon MWAA environment.</p>
52 pub schedulers: ::std::option::Option<i32>,
53 /// <p>The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, <code>arn:aws:s3:::my-airflow-bucket-unique-name</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html">Create an Amazon S3 bucket for Amazon MWAA</a>.</p>
54 pub source_bucket_arn: ::std::option::Option<::std::string::String>,
55 /// <p>The relative path to the startup shell script in your Amazon S3 bucket. For example, <code>s3://mwaa-environment/startup.sh</code>.</p>
56 /// <p>Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
57 pub startup_script_s3_path: ::std::option::Option<::std::string::String>,
58 /// <p>The version of the startup shell script in your Amazon S3 bucket. You must specify the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">version ID</a> that Amazon S3 assigns to the file every time you update the script.</p>
59 /// <p>Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example:</p>
60 /// <p><code>3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo</code></p>
61 /// <p>For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
62 pub startup_script_s3_object_version: ::std::option::Option<::std::string::String>,
63 /// <p>The Apache Airflow <i>Web server</i> access mode. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html">Apache Airflow access modes</a>.</p>
64 pub webserver_access_mode: ::std::option::Option<crate::types::WebserverAccessMode>,
65 /// <p>The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: <code>DAY:HH:MM</code>. For example: <code>TUE:03:30</code>. You can specify a start time in 30 minute increments only.</p>
66 pub weekly_maintenance_window_start: ::std::option::Option<::std::string::String>,
67}
68impl UpdateEnvironmentInput {
69 /// <p>The name of your Amazon MWAA environment. For example, <code>MyMWAAEnvironment</code>.</p>
70 pub fn name(&self) -> ::std::option::Option<&str> {
71 self.name.as_deref()
72 }
73 /// <p>The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, <code>arn:aws:iam::123456789:role/my-execution-role</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html">Amazon MWAA Execution role</a>.</p>
74 pub fn execution_role_arn(&self) -> ::std::option::Option<&str> {
75 self.execution_role_arn.as_deref()
76 }
77 /// <p>A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html">Apache Airflow configuration options</a>.</p>
78 pub fn airflow_configuration_options(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
79 self.airflow_configuration_options.as_ref()
80 }
81 /// <p>The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.</p>
82 /// <p>Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/upgrading-environment.html">Upgrading an Amazon MWAA environment</a>.</p>
83 /// <p>Valid values: <code>1.10.12</code>, <code>2.0.2</code>, <code>2.2.2</code>, <code>2.4.3</code>, <code>2.5.1</code>, <code>2.6.3</code>, <code>2.7.2</code>, <code>2.8.1</code>, <code>2.9.2</code>, <code>2.10.1</code>, and <code>2.10.3</code>.</p>
84 pub fn airflow_version(&self) -> ::std::option::Option<&str> {
85 self.airflow_version.as_deref()
86 }
87 /// <p>The relative path to the DAGs folder on your Amazon S3 bucket. For example, <code>dags</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html">Adding or updating DAGs</a>.</p>
88 pub fn dag_s3_path(&self) -> ::std::option::Option<&str> {
89 self.dag_s3_path.as_deref()
90 }
91 /// <p>The environment class type. Valid values: <code>mw1.micro</code>, <code>mw1.small</code>, <code>mw1.medium</code>, <code>mw1.large</code>, <code>mw1.xlarge</code>, and <code>mw1.2xlarge</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html">Amazon MWAA environment class</a>.</p>
92 pub fn environment_class(&self) -> ::std::option::Option<&str> {
93 self.environment_class.as_deref()
94 }
95 /// <p>The Apache Airflow log types to send to CloudWatch Logs.</p>
96 pub fn logging_configuration(&self) -> ::std::option::Option<&crate::types::LoggingConfigurationInput> {
97 self.logging_configuration.as_ref()
98 }
99 /// <p>The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. For example, <code>20</code>. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in <code>MinWorkers</code>.</p>
100 pub fn max_workers(&self) -> ::std::option::Option<i32> {
101 self.max_workers
102 }
103 /// <p>The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the <code>MinWorkers</code> field. For example, <code>2</code>.</p>
104 pub fn min_workers(&self) -> ::std::option::Option<i32> {
105 self.min_workers
106 }
107 /// <p>The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in <code>MaxWebserers</code>. As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
108 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
109 pub fn max_webservers(&self) -> ::std::option::Option<i32> {
110 self.max_webservers
111 }
112 /// <p>The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
113 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
114 pub fn min_webservers(&self) -> ::std::option::Option<i32> {
115 self.min_webservers
116 }
117 /// <p>The worker replacement strategy to use when updating the environment.</p>
118 /// <p>You can select one of the following strategies:</p>
119 /// <ul>
120 /// <li>
121 /// <p><b>Forced -</b> Stops and replaces Apache Airflow workers without waiting for tasks to complete before an update.</p></li>
122 /// <li>
123 /// <p><b>Graceful -</b> Allows Apache Airflow workers to complete running tasks for up to 12 hours during an update before they're stopped and replaced.</p></li>
124 /// </ul>
125 pub fn worker_replacement_strategy(&self) -> ::std::option::Option<&crate::types::WorkerReplacementStrategy> {
126 self.worker_replacement_strategy.as_ref()
127 }
128 /// <p>The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html">About networking on Amazon MWAA</a>.</p>
129 pub fn network_configuration(&self) -> ::std::option::Option<&crate::types::UpdateNetworkConfigurationInput> {
130 self.network_configuration.as_ref()
131 }
132 /// <p>The relative path to the <code>plugins.zip</code> file on your Amazon S3 bucket. For example, <code>plugins.zip</code>. If specified, then the plugins.zip version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html">Installing custom plugins</a>.</p>
133 pub fn plugins_s3_path(&self) -> ::std::option::Option<&str> {
134 self.plugins_s3_path.as_deref()
135 }
136 /// <p>The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a <code>plugins.zip</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
137 pub fn plugins_s3_object_version(&self) -> ::std::option::Option<&str> {
138 self.plugins_s3_object_version.as_deref()
139 }
140 /// <p>The relative path to the <code>requirements.txt</code> file on your Amazon S3 bucket. For example, <code>requirements.txt</code>. If specified, then a file version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html">Installing Python dependencies</a>.</p>
141 pub fn requirements_s3_path(&self) -> ::std::option::Option<&str> {
142 self.requirements_s3_path.as_deref()
143 }
144 /// <p>The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a <code>requirements.txt</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
145 pub fn requirements_s3_object_version(&self) -> ::std::option::Option<&str> {
146 self.requirements_s3_object_version.as_deref()
147 }
148 /// <p>The number of Apache Airflow schedulers to run in your Amazon MWAA environment.</p>
149 pub fn schedulers(&self) -> ::std::option::Option<i32> {
150 self.schedulers
151 }
152 /// <p>The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, <code>arn:aws:s3:::my-airflow-bucket-unique-name</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html">Create an Amazon S3 bucket for Amazon MWAA</a>.</p>
153 pub fn source_bucket_arn(&self) -> ::std::option::Option<&str> {
154 self.source_bucket_arn.as_deref()
155 }
156 /// <p>The relative path to the startup shell script in your Amazon S3 bucket. For example, <code>s3://mwaa-environment/startup.sh</code>.</p>
157 /// <p>Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
158 pub fn startup_script_s3_path(&self) -> ::std::option::Option<&str> {
159 self.startup_script_s3_path.as_deref()
160 }
161 /// <p>The version of the startup shell script in your Amazon S3 bucket. You must specify the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">version ID</a> that Amazon S3 assigns to the file every time you update the script.</p>
162 /// <p>Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example:</p>
163 /// <p><code>3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo</code></p>
164 /// <p>For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
165 pub fn startup_script_s3_object_version(&self) -> ::std::option::Option<&str> {
166 self.startup_script_s3_object_version.as_deref()
167 }
168 /// <p>The Apache Airflow <i>Web server</i> access mode. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html">Apache Airflow access modes</a>.</p>
169 pub fn webserver_access_mode(&self) -> ::std::option::Option<&crate::types::WebserverAccessMode> {
170 self.webserver_access_mode.as_ref()
171 }
172 /// <p>The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: <code>DAY:HH:MM</code>. For example: <code>TUE:03:30</code>. You can specify a start time in 30 minute increments only.</p>
173 pub fn weekly_maintenance_window_start(&self) -> ::std::option::Option<&str> {
174 self.weekly_maintenance_window_start.as_deref()
175 }
176}
177impl ::std::fmt::Debug for UpdateEnvironmentInput {
178 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
179 let mut formatter = f.debug_struct("UpdateEnvironmentInput");
180 formatter.field("name", &self.name);
181 formatter.field("execution_role_arn", &self.execution_role_arn);
182 formatter.field("airflow_configuration_options", &"*** Sensitive Data Redacted ***");
183 formatter.field("airflow_version", &self.airflow_version);
184 formatter.field("dag_s3_path", &self.dag_s3_path);
185 formatter.field("environment_class", &self.environment_class);
186 formatter.field("logging_configuration", &self.logging_configuration);
187 formatter.field("max_workers", &self.max_workers);
188 formatter.field("min_workers", &self.min_workers);
189 formatter.field("max_webservers", &self.max_webservers);
190 formatter.field("min_webservers", &self.min_webservers);
191 formatter.field("worker_replacement_strategy", &self.worker_replacement_strategy);
192 formatter.field("network_configuration", &self.network_configuration);
193 formatter.field("plugins_s3_path", &self.plugins_s3_path);
194 formatter.field("plugins_s3_object_version", &self.plugins_s3_object_version);
195 formatter.field("requirements_s3_path", &self.requirements_s3_path);
196 formatter.field("requirements_s3_object_version", &self.requirements_s3_object_version);
197 formatter.field("schedulers", &self.schedulers);
198 formatter.field("source_bucket_arn", &self.source_bucket_arn);
199 formatter.field("startup_script_s3_path", &self.startup_script_s3_path);
200 formatter.field("startup_script_s3_object_version", &self.startup_script_s3_object_version);
201 formatter.field("webserver_access_mode", &self.webserver_access_mode);
202 formatter.field("weekly_maintenance_window_start", &self.weekly_maintenance_window_start);
203 formatter.finish()
204 }
205}
206impl UpdateEnvironmentInput {
207 /// Creates a new builder-style object to manufacture [`UpdateEnvironmentInput`](crate::operation::update_environment::UpdateEnvironmentInput).
208 pub fn builder() -> crate::operation::update_environment::builders::UpdateEnvironmentInputBuilder {
209 crate::operation::update_environment::builders::UpdateEnvironmentInputBuilder::default()
210 }
211}
212
213/// A builder for [`UpdateEnvironmentInput`](crate::operation::update_environment::UpdateEnvironmentInput).
214#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
215#[non_exhaustive]
216pub struct UpdateEnvironmentInputBuilder {
217 pub(crate) name: ::std::option::Option<::std::string::String>,
218 pub(crate) execution_role_arn: ::std::option::Option<::std::string::String>,
219 pub(crate) airflow_configuration_options: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
220 pub(crate) airflow_version: ::std::option::Option<::std::string::String>,
221 pub(crate) dag_s3_path: ::std::option::Option<::std::string::String>,
222 pub(crate) environment_class: ::std::option::Option<::std::string::String>,
223 pub(crate) logging_configuration: ::std::option::Option<crate::types::LoggingConfigurationInput>,
224 pub(crate) max_workers: ::std::option::Option<i32>,
225 pub(crate) min_workers: ::std::option::Option<i32>,
226 pub(crate) max_webservers: ::std::option::Option<i32>,
227 pub(crate) min_webservers: ::std::option::Option<i32>,
228 pub(crate) worker_replacement_strategy: ::std::option::Option<crate::types::WorkerReplacementStrategy>,
229 pub(crate) network_configuration: ::std::option::Option<crate::types::UpdateNetworkConfigurationInput>,
230 pub(crate) plugins_s3_path: ::std::option::Option<::std::string::String>,
231 pub(crate) plugins_s3_object_version: ::std::option::Option<::std::string::String>,
232 pub(crate) requirements_s3_path: ::std::option::Option<::std::string::String>,
233 pub(crate) requirements_s3_object_version: ::std::option::Option<::std::string::String>,
234 pub(crate) schedulers: ::std::option::Option<i32>,
235 pub(crate) source_bucket_arn: ::std::option::Option<::std::string::String>,
236 pub(crate) startup_script_s3_path: ::std::option::Option<::std::string::String>,
237 pub(crate) startup_script_s3_object_version: ::std::option::Option<::std::string::String>,
238 pub(crate) webserver_access_mode: ::std::option::Option<crate::types::WebserverAccessMode>,
239 pub(crate) weekly_maintenance_window_start: ::std::option::Option<::std::string::String>,
240}
241impl UpdateEnvironmentInputBuilder {
242 /// <p>The name of your Amazon MWAA environment. For example, <code>MyMWAAEnvironment</code>.</p>
243 /// This field is required.
244 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
245 self.name = ::std::option::Option::Some(input.into());
246 self
247 }
248 /// <p>The name of your Amazon MWAA environment. For example, <code>MyMWAAEnvironment</code>.</p>
249 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
250 self.name = input;
251 self
252 }
253 /// <p>The name of your Amazon MWAA environment. For example, <code>MyMWAAEnvironment</code>.</p>
254 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
255 &self.name
256 }
257 /// <p>The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, <code>arn:aws:iam::123456789:role/my-execution-role</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html">Amazon MWAA Execution role</a>.</p>
258 pub fn execution_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
259 self.execution_role_arn = ::std::option::Option::Some(input.into());
260 self
261 }
262 /// <p>The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, <code>arn:aws:iam::123456789:role/my-execution-role</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html">Amazon MWAA Execution role</a>.</p>
263 pub fn set_execution_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
264 self.execution_role_arn = input;
265 self
266 }
267 /// <p>The Amazon Resource Name (ARN) of the execution role in IAM that allows MWAA to access Amazon Web Services resources in your environment. For example, <code>arn:aws:iam::123456789:role/my-execution-role</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-create-role.html">Amazon MWAA Execution role</a>.</p>
268 pub fn get_execution_role_arn(&self) -> &::std::option::Option<::std::string::String> {
269 &self.execution_role_arn
270 }
271 /// Adds a key-value pair to `airflow_configuration_options`.
272 ///
273 /// To override the contents of this collection use [`set_airflow_configuration_options`](Self::set_airflow_configuration_options).
274 ///
275 /// <p>A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html">Apache Airflow configuration options</a>.</p>
276 pub fn airflow_configuration_options(
277 mut self,
278 k: impl ::std::convert::Into<::std::string::String>,
279 v: impl ::std::convert::Into<::std::string::String>,
280 ) -> Self {
281 let mut hash_map = self.airflow_configuration_options.unwrap_or_default();
282 hash_map.insert(k.into(), v.into());
283 self.airflow_configuration_options = ::std::option::Option::Some(hash_map);
284 self
285 }
286 /// <p>A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html">Apache Airflow configuration options</a>.</p>
287 pub fn set_airflow_configuration_options(
288 mut self,
289 input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
290 ) -> Self {
291 self.airflow_configuration_options = input;
292 self
293 }
294 /// <p>A list of key-value pairs containing the Apache Airflow configuration options you want to attach to your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-env-variables.html">Apache Airflow configuration options</a>.</p>
295 pub fn get_airflow_configuration_options(
296 &self,
297 ) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
298 &self.airflow_configuration_options
299 }
300 /// <p>The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.</p>
301 /// <p>Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/upgrading-environment.html">Upgrading an Amazon MWAA environment</a>.</p>
302 /// <p>Valid values: <code>1.10.12</code>, <code>2.0.2</code>, <code>2.2.2</code>, <code>2.4.3</code>, <code>2.5.1</code>, <code>2.6.3</code>, <code>2.7.2</code>, <code>2.8.1</code>, <code>2.9.2</code>, <code>2.10.1</code>, and <code>2.10.3</code>.</p>
303 pub fn airflow_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
304 self.airflow_version = ::std::option::Option::Some(input.into());
305 self
306 }
307 /// <p>The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.</p>
308 /// <p>Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/upgrading-environment.html">Upgrading an Amazon MWAA environment</a>.</p>
309 /// <p>Valid values: <code>1.10.12</code>, <code>2.0.2</code>, <code>2.2.2</code>, <code>2.4.3</code>, <code>2.5.1</code>, <code>2.6.3</code>, <code>2.7.2</code>, <code>2.8.1</code>, <code>2.9.2</code>, <code>2.10.1</code>, and <code>2.10.3</code>.</p>
310 pub fn set_airflow_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
311 self.airflow_version = input;
312 self
313 }
314 /// <p>The Apache Airflow version for your environment. To upgrade your environment, specify a newer version of Apache Airflow supported by Amazon MWAA.</p>
315 /// <p>Before you upgrade an environment, make sure your requirements, DAGs, plugins, and other resources used in your workflows are compatible with the new Apache Airflow version. For more information about updating your resources, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/upgrading-environment.html">Upgrading an Amazon MWAA environment</a>.</p>
316 /// <p>Valid values: <code>1.10.12</code>, <code>2.0.2</code>, <code>2.2.2</code>, <code>2.4.3</code>, <code>2.5.1</code>, <code>2.6.3</code>, <code>2.7.2</code>, <code>2.8.1</code>, <code>2.9.2</code>, <code>2.10.1</code>, and <code>2.10.3</code>.</p>
317 pub fn get_airflow_version(&self) -> &::std::option::Option<::std::string::String> {
318 &self.airflow_version
319 }
320 /// <p>The relative path to the DAGs folder on your Amazon S3 bucket. For example, <code>dags</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html">Adding or updating DAGs</a>.</p>
321 pub fn dag_s3_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
322 self.dag_s3_path = ::std::option::Option::Some(input.into());
323 self
324 }
325 /// <p>The relative path to the DAGs folder on your Amazon S3 bucket. For example, <code>dags</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html">Adding or updating DAGs</a>.</p>
326 pub fn set_dag_s3_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
327 self.dag_s3_path = input;
328 self
329 }
330 /// <p>The relative path to the DAGs folder on your Amazon S3 bucket. For example, <code>dags</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-folder.html">Adding or updating DAGs</a>.</p>
331 pub fn get_dag_s3_path(&self) -> &::std::option::Option<::std::string::String> {
332 &self.dag_s3_path
333 }
334 /// <p>The environment class type. Valid values: <code>mw1.micro</code>, <code>mw1.small</code>, <code>mw1.medium</code>, <code>mw1.large</code>, <code>mw1.xlarge</code>, and <code>mw1.2xlarge</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html">Amazon MWAA environment class</a>.</p>
335 pub fn environment_class(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
336 self.environment_class = ::std::option::Option::Some(input.into());
337 self
338 }
339 /// <p>The environment class type. Valid values: <code>mw1.micro</code>, <code>mw1.small</code>, <code>mw1.medium</code>, <code>mw1.large</code>, <code>mw1.xlarge</code>, and <code>mw1.2xlarge</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html">Amazon MWAA environment class</a>.</p>
340 pub fn set_environment_class(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
341 self.environment_class = input;
342 self
343 }
344 /// <p>The environment class type. Valid values: <code>mw1.micro</code>, <code>mw1.small</code>, <code>mw1.medium</code>, <code>mw1.large</code>, <code>mw1.xlarge</code>, and <code>mw1.2xlarge</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/environment-class.html">Amazon MWAA environment class</a>.</p>
345 pub fn get_environment_class(&self) -> &::std::option::Option<::std::string::String> {
346 &self.environment_class
347 }
348 /// <p>The Apache Airflow log types to send to CloudWatch Logs.</p>
349 pub fn logging_configuration(mut self, input: crate::types::LoggingConfigurationInput) -> Self {
350 self.logging_configuration = ::std::option::Option::Some(input);
351 self
352 }
353 /// <p>The Apache Airflow log types to send to CloudWatch Logs.</p>
354 pub fn set_logging_configuration(mut self, input: ::std::option::Option<crate::types::LoggingConfigurationInput>) -> Self {
355 self.logging_configuration = input;
356 self
357 }
358 /// <p>The Apache Airflow log types to send to CloudWatch Logs.</p>
359 pub fn get_logging_configuration(&self) -> &::std::option::Option<crate::types::LoggingConfigurationInput> {
360 &self.logging_configuration
361 }
362 /// <p>The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. For example, <code>20</code>. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in <code>MinWorkers</code>.</p>
363 pub fn max_workers(mut self, input: i32) -> Self {
364 self.max_workers = ::std::option::Option::Some(input);
365 self
366 }
367 /// <p>The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. For example, <code>20</code>. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in <code>MinWorkers</code>.</p>
368 pub fn set_max_workers(mut self, input: ::std::option::Option<i32>) -> Self {
369 self.max_workers = input;
370 self
371 }
372 /// <p>The maximum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. For example, <code>20</code>. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the one worker that is included with your environment, or the number you specify in <code>MinWorkers</code>.</p>
373 pub fn get_max_workers(&self) -> &::std::option::Option<i32> {
374 &self.max_workers
375 }
376 /// <p>The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the <code>MinWorkers</code> field. For example, <code>2</code>.</p>
377 pub fn min_workers(mut self, input: i32) -> Self {
378 self.min_workers = ::std::option::Option::Some(input);
379 self
380 }
381 /// <p>The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the <code>MinWorkers</code> field. For example, <code>2</code>.</p>
382 pub fn set_min_workers(mut self, input: ::std::option::Option<i32>) -> Self {
383 self.min_workers = input;
384 self
385 }
386 /// <p>The minimum number of workers that you want to run in your environment. MWAA scales the number of Apache Airflow workers up to the number you specify in the <code>MaxWorkers</code> field. When there are no more tasks running, and no more in the queue, MWAA disposes of the extra workers leaving the worker count you specify in the <code>MinWorkers</code> field. For example, <code>2</code>.</p>
387 pub fn get_min_workers(&self) -> &::std::option::Option<i32> {
388 &self.min_workers
389 }
390 /// <p>The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in <code>MaxWebserers</code>. As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
391 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
392 pub fn max_webservers(mut self, input: i32) -> Self {
393 self.max_webservers = ::std::option::Option::Some(input);
394 self
395 }
396 /// <p>The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in <code>MaxWebserers</code>. As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
397 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
398 pub fn set_max_webservers(mut self, input: ::std::option::Option<i32>) -> Self {
399 self.max_webservers = input;
400 self
401 }
402 /// <p>The maximum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. For example, in scenarios where your workload requires network calls to the Apache Airflow REST API with a high transaction-per-second (TPS) rate, Amazon MWAA will increase the number of web servers up to the number set in <code>MaxWebserers</code>. As TPS rates decrease Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
403 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
404 pub fn get_max_webservers(&self) -> &::std::option::Option<i32> {
405 &self.max_webservers
406 }
407 /// <p>The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
408 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
409 pub fn min_webservers(mut self, input: i32) -> Self {
410 self.min_webservers = ::std::option::Option::Some(input);
411 self
412 }
413 /// <p>The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
414 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
415 pub fn set_min_webservers(mut self, input: ::std::option::Option<i32>) -> Self {
416 self.min_webservers = input;
417 self
418 }
419 /// <p>The minimum number of web servers that you want to run in your environment. Amazon MWAA scales the number of Apache Airflow web servers up to the number you specify for <code>MaxWebservers</code> when you interact with your Apache Airflow environment using Apache Airflow REST API, or the Apache Airflow CLI. As the transaction-per-second rate, and the network load, decrease, Amazon MWAA disposes of the additional web servers, and scales down to the number set in <code>MinxWebserers</code>.</p>
420 /// <p>Valid values: For environments larger than mw1.micro, accepts values from <code>2</code> to <code>5</code>. Defaults to <code>2</code> for all environment sizes except mw1.micro, which defaults to <code>1</code>.</p>
421 pub fn get_min_webservers(&self) -> &::std::option::Option<i32> {
422 &self.min_webservers
423 }
424 /// <p>The worker replacement strategy to use when updating the environment.</p>
425 /// <p>You can select one of the following strategies:</p>
426 /// <ul>
427 /// <li>
428 /// <p><b>Forced -</b> Stops and replaces Apache Airflow workers without waiting for tasks to complete before an update.</p></li>
429 /// <li>
430 /// <p><b>Graceful -</b> Allows Apache Airflow workers to complete running tasks for up to 12 hours during an update before they're stopped and replaced.</p></li>
431 /// </ul>
432 pub fn worker_replacement_strategy(mut self, input: crate::types::WorkerReplacementStrategy) -> Self {
433 self.worker_replacement_strategy = ::std::option::Option::Some(input);
434 self
435 }
436 /// <p>The worker replacement strategy to use when updating the environment.</p>
437 /// <p>You can select one of the following strategies:</p>
438 /// <ul>
439 /// <li>
440 /// <p><b>Forced -</b> Stops and replaces Apache Airflow workers without waiting for tasks to complete before an update.</p></li>
441 /// <li>
442 /// <p><b>Graceful -</b> Allows Apache Airflow workers to complete running tasks for up to 12 hours during an update before they're stopped and replaced.</p></li>
443 /// </ul>
444 pub fn set_worker_replacement_strategy(mut self, input: ::std::option::Option<crate::types::WorkerReplacementStrategy>) -> Self {
445 self.worker_replacement_strategy = input;
446 self
447 }
448 /// <p>The worker replacement strategy to use when updating the environment.</p>
449 /// <p>You can select one of the following strategies:</p>
450 /// <ul>
451 /// <li>
452 /// <p><b>Forced -</b> Stops and replaces Apache Airflow workers without waiting for tasks to complete before an update.</p></li>
453 /// <li>
454 /// <p><b>Graceful -</b> Allows Apache Airflow workers to complete running tasks for up to 12 hours during an update before they're stopped and replaced.</p></li>
455 /// </ul>
456 pub fn get_worker_replacement_strategy(&self) -> &::std::option::Option<crate::types::WorkerReplacementStrategy> {
457 &self.worker_replacement_strategy
458 }
459 /// <p>The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html">About networking on Amazon MWAA</a>.</p>
460 pub fn network_configuration(mut self, input: crate::types::UpdateNetworkConfigurationInput) -> Self {
461 self.network_configuration = ::std::option::Option::Some(input);
462 self
463 }
464 /// <p>The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html">About networking on Amazon MWAA</a>.</p>
465 pub fn set_network_configuration(mut self, input: ::std::option::Option<crate::types::UpdateNetworkConfigurationInput>) -> Self {
466 self.network_configuration = input;
467 self
468 }
469 /// <p>The VPC networking components used to secure and enable network traffic between the Amazon Web Services resources for your environment. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/networking-about.html">About networking on Amazon MWAA</a>.</p>
470 pub fn get_network_configuration(&self) -> &::std::option::Option<crate::types::UpdateNetworkConfigurationInput> {
471 &self.network_configuration
472 }
473 /// <p>The relative path to the <code>plugins.zip</code> file on your Amazon S3 bucket. For example, <code>plugins.zip</code>. If specified, then the plugins.zip version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html">Installing custom plugins</a>.</p>
474 pub fn plugins_s3_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
475 self.plugins_s3_path = ::std::option::Option::Some(input.into());
476 self
477 }
478 /// <p>The relative path to the <code>plugins.zip</code> file on your Amazon S3 bucket. For example, <code>plugins.zip</code>. If specified, then the plugins.zip version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html">Installing custom plugins</a>.</p>
479 pub fn set_plugins_s3_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
480 self.plugins_s3_path = input;
481 self
482 }
483 /// <p>The relative path to the <code>plugins.zip</code> file on your Amazon S3 bucket. For example, <code>plugins.zip</code>. If specified, then the plugins.zip version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-dag-import-plugins.html">Installing custom plugins</a>.</p>
484 pub fn get_plugins_s3_path(&self) -> &::std::option::Option<::std::string::String> {
485 &self.plugins_s3_path
486 }
487 /// <p>The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a <code>plugins.zip</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
488 pub fn plugins_s3_object_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
489 self.plugins_s3_object_version = ::std::option::Option::Some(input.into());
490 self
491 }
492 /// <p>The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a <code>plugins.zip</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
493 pub fn set_plugins_s3_object_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
494 self.plugins_s3_object_version = input;
495 self
496 }
497 /// <p>The version of the plugins.zip file on your Amazon S3 bucket. You must specify a version each time a <code>plugins.zip</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
498 pub fn get_plugins_s3_object_version(&self) -> &::std::option::Option<::std::string::String> {
499 &self.plugins_s3_object_version
500 }
501 /// <p>The relative path to the <code>requirements.txt</code> file on your Amazon S3 bucket. For example, <code>requirements.txt</code>. If specified, then a file version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html">Installing Python dependencies</a>.</p>
502 pub fn requirements_s3_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
503 self.requirements_s3_path = ::std::option::Option::Some(input.into());
504 self
505 }
506 /// <p>The relative path to the <code>requirements.txt</code> file on your Amazon S3 bucket. For example, <code>requirements.txt</code>. If specified, then a file version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html">Installing Python dependencies</a>.</p>
507 pub fn set_requirements_s3_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
508 self.requirements_s3_path = input;
509 self
510 }
511 /// <p>The relative path to the <code>requirements.txt</code> file on your Amazon S3 bucket. For example, <code>requirements.txt</code>. If specified, then a file version is required. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/working-dags-dependencies.html">Installing Python dependencies</a>.</p>
512 pub fn get_requirements_s3_path(&self) -> &::std::option::Option<::std::string::String> {
513 &self.requirements_s3_path
514 }
515 /// <p>The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a <code>requirements.txt</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
516 pub fn requirements_s3_object_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
517 self.requirements_s3_object_version = ::std::option::Option::Some(input.into());
518 self
519 }
520 /// <p>The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a <code>requirements.txt</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
521 pub fn set_requirements_s3_object_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
522 self.requirements_s3_object_version = input;
523 self
524 }
525 /// <p>The version of the requirements.txt file on your Amazon S3 bucket. You must specify a version each time a <code>requirements.txt</code> file is updated. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">How S3 Versioning works</a>.</p>
526 pub fn get_requirements_s3_object_version(&self) -> &::std::option::Option<::std::string::String> {
527 &self.requirements_s3_object_version
528 }
529 /// <p>The number of Apache Airflow schedulers to run in your Amazon MWAA environment.</p>
530 pub fn schedulers(mut self, input: i32) -> Self {
531 self.schedulers = ::std::option::Option::Some(input);
532 self
533 }
534 /// <p>The number of Apache Airflow schedulers to run in your Amazon MWAA environment.</p>
535 pub fn set_schedulers(mut self, input: ::std::option::Option<i32>) -> Self {
536 self.schedulers = input;
537 self
538 }
539 /// <p>The number of Apache Airflow schedulers to run in your Amazon MWAA environment.</p>
540 pub fn get_schedulers(&self) -> &::std::option::Option<i32> {
541 &self.schedulers
542 }
543 /// <p>The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, <code>arn:aws:s3:::my-airflow-bucket-unique-name</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html">Create an Amazon S3 bucket for Amazon MWAA</a>.</p>
544 pub fn source_bucket_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
545 self.source_bucket_arn = ::std::option::Option::Some(input.into());
546 self
547 }
548 /// <p>The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, <code>arn:aws:s3:::my-airflow-bucket-unique-name</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html">Create an Amazon S3 bucket for Amazon MWAA</a>.</p>
549 pub fn set_source_bucket_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
550 self.source_bucket_arn = input;
551 self
552 }
553 /// <p>The Amazon Resource Name (ARN) of the Amazon S3 bucket where your DAG code and supporting files are stored. For example, <code>arn:aws:s3:::my-airflow-bucket-unique-name</code>. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/mwaa-s3-bucket.html">Create an Amazon S3 bucket for Amazon MWAA</a>.</p>
554 pub fn get_source_bucket_arn(&self) -> &::std::option::Option<::std::string::String> {
555 &self.source_bucket_arn
556 }
557 /// <p>The relative path to the startup shell script in your Amazon S3 bucket. For example, <code>s3://mwaa-environment/startup.sh</code>.</p>
558 /// <p>Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
559 pub fn startup_script_s3_path(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
560 self.startup_script_s3_path = ::std::option::Option::Some(input.into());
561 self
562 }
563 /// <p>The relative path to the startup shell script in your Amazon S3 bucket. For example, <code>s3://mwaa-environment/startup.sh</code>.</p>
564 /// <p>Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
565 pub fn set_startup_script_s3_path(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
566 self.startup_script_s3_path = input;
567 self
568 }
569 /// <p>The relative path to the startup shell script in your Amazon S3 bucket. For example, <code>s3://mwaa-environment/startup.sh</code>.</p>
570 /// <p>Amazon MWAA runs the script as your environment starts, and before running the Apache Airflow process. You can use this script to install dependencies, modify Apache Airflow configuration options, and set environment variables. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
571 pub fn get_startup_script_s3_path(&self) -> &::std::option::Option<::std::string::String> {
572 &self.startup_script_s3_path
573 }
574 /// <p>The version of the startup shell script in your Amazon S3 bucket. You must specify the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">version ID</a> that Amazon S3 assigns to the file every time you update the script.</p>
575 /// <p>Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example:</p>
576 /// <p><code>3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo</code></p>
577 /// <p>For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
578 pub fn startup_script_s3_object_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
579 self.startup_script_s3_object_version = ::std::option::Option::Some(input.into());
580 self
581 }
582 /// <p>The version of the startup shell script in your Amazon S3 bucket. You must specify the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">version ID</a> that Amazon S3 assigns to the file every time you update the script.</p>
583 /// <p>Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example:</p>
584 /// <p><code>3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo</code></p>
585 /// <p>For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
586 pub fn set_startup_script_s3_object_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
587 self.startup_script_s3_object_version = input;
588 self
589 }
590 /// <p>The version of the startup shell script in your Amazon S3 bucket. You must specify the <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html">version ID</a> that Amazon S3 assigns to the file every time you update the script.</p>
591 /// <p>Version IDs are Unicode, UTF-8 encoded, URL-ready, opaque strings that are no more than 1,024 bytes long. The following is an example:</p>
592 /// <p><code>3sL4kqtJlcpXroDTDmJ+rmSpXd3dIbrHY+MTRCxf3vjVBH40Nr8X8gdRQBpUMLUo</code></p>
593 /// <p>For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/using-startup-script.html">Using a startup script</a>.</p>
594 pub fn get_startup_script_s3_object_version(&self) -> &::std::option::Option<::std::string::String> {
595 &self.startup_script_s3_object_version
596 }
597 /// <p>The Apache Airflow <i>Web server</i> access mode. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html">Apache Airflow access modes</a>.</p>
598 pub fn webserver_access_mode(mut self, input: crate::types::WebserverAccessMode) -> Self {
599 self.webserver_access_mode = ::std::option::Option::Some(input);
600 self
601 }
602 /// <p>The Apache Airflow <i>Web server</i> access mode. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html">Apache Airflow access modes</a>.</p>
603 pub fn set_webserver_access_mode(mut self, input: ::std::option::Option<crate::types::WebserverAccessMode>) -> Self {
604 self.webserver_access_mode = input;
605 self
606 }
607 /// <p>The Apache Airflow <i>Web server</i> access mode. For more information, see <a href="https://docs.aws.amazon.com/mwaa/latest/userguide/configuring-networking.html">Apache Airflow access modes</a>.</p>
608 pub fn get_webserver_access_mode(&self) -> &::std::option::Option<crate::types::WebserverAccessMode> {
609 &self.webserver_access_mode
610 }
611 /// <p>The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: <code>DAY:HH:MM</code>. For example: <code>TUE:03:30</code>. You can specify a start time in 30 minute increments only.</p>
612 pub fn weekly_maintenance_window_start(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
613 self.weekly_maintenance_window_start = ::std::option::Option::Some(input.into());
614 self
615 }
616 /// <p>The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: <code>DAY:HH:MM</code>. For example: <code>TUE:03:30</code>. You can specify a start time in 30 minute increments only.</p>
617 pub fn set_weekly_maintenance_window_start(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
618 self.weekly_maintenance_window_start = input;
619 self
620 }
621 /// <p>The day and time of the week in Coordinated Universal Time (UTC) 24-hour standard time to start weekly maintenance updates of your environment in the following format: <code>DAY:HH:MM</code>. For example: <code>TUE:03:30</code>. You can specify a start time in 30 minute increments only.</p>
622 pub fn get_weekly_maintenance_window_start(&self) -> &::std::option::Option<::std::string::String> {
623 &self.weekly_maintenance_window_start
624 }
625 /// Consumes the builder and constructs a [`UpdateEnvironmentInput`](crate::operation::update_environment::UpdateEnvironmentInput).
626 pub fn build(
627 self,
628 ) -> ::std::result::Result<crate::operation::update_environment::UpdateEnvironmentInput, ::aws_smithy_types::error::operation::BuildError> {
629 ::std::result::Result::Ok(crate::operation::update_environment::UpdateEnvironmentInput {
630 name: self.name,
631 execution_role_arn: self.execution_role_arn,
632 airflow_configuration_options: self.airflow_configuration_options,
633 airflow_version: self.airflow_version,
634 dag_s3_path: self.dag_s3_path,
635 environment_class: self.environment_class,
636 logging_configuration: self.logging_configuration,
637 max_workers: self.max_workers,
638 min_workers: self.min_workers,
639 max_webservers: self.max_webservers,
640 min_webservers: self.min_webservers,
641 worker_replacement_strategy: self.worker_replacement_strategy,
642 network_configuration: self.network_configuration,
643 plugins_s3_path: self.plugins_s3_path,
644 plugins_s3_object_version: self.plugins_s3_object_version,
645 requirements_s3_path: self.requirements_s3_path,
646 requirements_s3_object_version: self.requirements_s3_object_version,
647 schedulers: self.schedulers,
648 source_bucket_arn: self.source_bucket_arn,
649 startup_script_s3_path: self.startup_script_s3_path,
650 startup_script_s3_object_version: self.startup_script_s3_object_version,
651 webserver_access_mode: self.webserver_access_mode,
652 weekly_maintenance_window_start: self.weekly_maintenance_window_start,
653 })
654 }
655}
656impl ::std::fmt::Debug for UpdateEnvironmentInputBuilder {
657 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
658 let mut formatter = f.debug_struct("UpdateEnvironmentInputBuilder");
659 formatter.field("name", &self.name);
660 formatter.field("execution_role_arn", &self.execution_role_arn);
661 formatter.field("airflow_configuration_options", &"*** Sensitive Data Redacted ***");
662 formatter.field("airflow_version", &self.airflow_version);
663 formatter.field("dag_s3_path", &self.dag_s3_path);
664 formatter.field("environment_class", &self.environment_class);
665 formatter.field("logging_configuration", &self.logging_configuration);
666 formatter.field("max_workers", &self.max_workers);
667 formatter.field("min_workers", &self.min_workers);
668 formatter.field("max_webservers", &self.max_webservers);
669 formatter.field("min_webservers", &self.min_webservers);
670 formatter.field("worker_replacement_strategy", &self.worker_replacement_strategy);
671 formatter.field("network_configuration", &self.network_configuration);
672 formatter.field("plugins_s3_path", &self.plugins_s3_path);
673 formatter.field("plugins_s3_object_version", &self.plugins_s3_object_version);
674 formatter.field("requirements_s3_path", &self.requirements_s3_path);
675 formatter.field("requirements_s3_object_version", &self.requirements_s3_object_version);
676 formatter.field("schedulers", &self.schedulers);
677 formatter.field("source_bucket_arn", &self.source_bucket_arn);
678 formatter.field("startup_script_s3_path", &self.startup_script_s3_path);
679 formatter.field("startup_script_s3_object_version", &self.startup_script_s3_object_version);
680 formatter.field("webserver_access_mode", &self.webserver_access_mode);
681 formatter.field("weekly_maintenance_window_start", &self.weekly_maintenance_window_start);
682 formatter.finish()
683 }
684}