aws_sdk_codedeploy/operation/create_deployment_group/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::create_deployment_group::_create_deployment_group_output::CreateDeploymentGroupOutputBuilder;
3
4pub use crate::operation::create_deployment_group::_create_deployment_group_input::CreateDeploymentGroupInputBuilder;
5
6impl crate::operation::create_deployment_group::builders::CreateDeploymentGroupInputBuilder {
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_deployment_group::CreateDeploymentGroupOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::create_deployment_group::CreateDeploymentGroupError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.create_deployment_group();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `CreateDeploymentGroup`.
24///
25/// <p>Creates a deployment group to which application revisions are deployed.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct CreateDeploymentGroupFluentBuilder {
28 handle: ::std::sync::Arc<crate::client::Handle>,
29 inner: crate::operation::create_deployment_group::builders::CreateDeploymentGroupInputBuilder,
30 config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33 crate::client::customize::internal::CustomizableSend<
34 crate::operation::create_deployment_group::CreateDeploymentGroupOutput,
35 crate::operation::create_deployment_group::CreateDeploymentGroupError,
36 > for CreateDeploymentGroupFluentBuilder
37{
38 fn send(
39 self,
40 config_override: crate::config::Builder,
41 ) -> crate::client::customize::internal::BoxFuture<
42 crate::client::customize::internal::SendResult<
43 crate::operation::create_deployment_group::CreateDeploymentGroupOutput,
44 crate::operation::create_deployment_group::CreateDeploymentGroupError,
45 >,
46 > {
47 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48 }
49}
50impl CreateDeploymentGroupFluentBuilder {
51 /// Creates a new `CreateDeploymentGroupFluentBuilder`.
52 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
53 Self {
54 handle,
55 inner: ::std::default::Default::default(),
56 config_override: ::std::option::Option::None,
57 }
58 }
59 /// Access the CreateDeploymentGroup as a reference.
60 pub fn as_input(&self) -> &crate::operation::create_deployment_group::builders::CreateDeploymentGroupInputBuilder {
61 &self.inner
62 }
63 /// Sends the request and returns the response.
64 ///
65 /// If an error occurs, an `SdkError` will be returned with additional details that
66 /// can be matched against.
67 ///
68 /// By default, any retryable failures will be retried twice. Retry behavior
69 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
70 /// set when configuring the client.
71 pub async fn send(
72 self,
73 ) -> ::std::result::Result<
74 crate::operation::create_deployment_group::CreateDeploymentGroupOutput,
75 ::aws_smithy_runtime_api::client::result::SdkError<
76 crate::operation::create_deployment_group::CreateDeploymentGroupError,
77 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
78 >,
79 > {
80 let input = self
81 .inner
82 .build()
83 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
84 let runtime_plugins = crate::operation::create_deployment_group::CreateDeploymentGroup::operation_runtime_plugins(
85 self.handle.runtime_plugins.clone(),
86 &self.handle.conf,
87 self.config_override,
88 );
89 crate::operation::create_deployment_group::CreateDeploymentGroup::orchestrate(&runtime_plugins, input).await
90 }
91
92 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
93 pub fn customize(
94 self,
95 ) -> crate::client::customize::CustomizableOperation<
96 crate::operation::create_deployment_group::CreateDeploymentGroupOutput,
97 crate::operation::create_deployment_group::CreateDeploymentGroupError,
98 Self,
99 > {
100 crate::client::customize::CustomizableOperation::new(self)
101 }
102 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
103 self.set_config_override(::std::option::Option::Some(config_override.into()));
104 self
105 }
106
107 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
108 self.config_override = config_override;
109 self
110 }
111 /// <p>The name of an CodeDeploy application associated with the user or Amazon Web Services account.</p>
112 pub fn application_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
113 self.inner = self.inner.application_name(input.into());
114 self
115 }
116 /// <p>The name of an CodeDeploy application associated with the user or Amazon Web Services account.</p>
117 pub fn set_application_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
118 self.inner = self.inner.set_application_name(input);
119 self
120 }
121 /// <p>The name of an CodeDeploy application associated with the user or Amazon Web Services account.</p>
122 pub fn get_application_name(&self) -> &::std::option::Option<::std::string::String> {
123 self.inner.get_application_name()
124 }
125 /// <p>The name of a new deployment group for the specified application.</p>
126 pub fn deployment_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127 self.inner = self.inner.deployment_group_name(input.into());
128 self
129 }
130 /// <p>The name of a new deployment group for the specified application.</p>
131 pub fn set_deployment_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132 self.inner = self.inner.set_deployment_group_name(input);
133 self
134 }
135 /// <p>The name of a new deployment group for the specified application.</p>
136 pub fn get_deployment_group_name(&self) -> &::std::option::Option<::std::string::String> {
137 self.inner.get_deployment_group_name()
138 }
139 /// <p>If specified, the deployment configuration name can be either one of the predefined configurations provided with CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.</p>
140 /// <p><code>CodeDeployDefault.OneAtATime</code> is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.</p>
141 /// <p>For more information about the predefined deployment configurations in CodeDeploy, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html">Working with Deployment Configurations in CodeDeploy</a> in the <i>CodeDeploy User Guide</i>.</p>
142 pub fn deployment_config_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
143 self.inner = self.inner.deployment_config_name(input.into());
144 self
145 }
146 /// <p>If specified, the deployment configuration name can be either one of the predefined configurations provided with CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.</p>
147 /// <p><code>CodeDeployDefault.OneAtATime</code> is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.</p>
148 /// <p>For more information about the predefined deployment configurations in CodeDeploy, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html">Working with Deployment Configurations in CodeDeploy</a> in the <i>CodeDeploy User Guide</i>.</p>
149 pub fn set_deployment_config_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150 self.inner = self.inner.set_deployment_config_name(input);
151 self
152 }
153 /// <p>If specified, the deployment configuration name can be either one of the predefined configurations provided with CodeDeploy or a custom deployment configuration that you create by calling the create deployment configuration operation.</p>
154 /// <p><code>CodeDeployDefault.OneAtATime</code> is the default deployment configuration. It is used if a configuration isn't specified for the deployment or deployment group.</p>
155 /// <p>For more information about the predefined deployment configurations in CodeDeploy, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/deployment-configurations.html">Working with Deployment Configurations in CodeDeploy</a> in the <i>CodeDeploy User Guide</i>.</p>
156 pub fn get_deployment_config_name(&self) -> &::std::option::Option<::std::string::String> {
157 self.inner.get_deployment_config_name()
158 }
159 ///
160 /// Appends an item to `ec2TagFilters`.
161 ///
162 /// To override the contents of this collection use [`set_ec2_tag_filters`](Self::set_ec2_tag_filters).
163 ///
164 /// <p>The Amazon EC2 tags on which to filter. The deployment group includes Amazon EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.</p>
165 pub fn ec2_tag_filters(mut self, input: crate::types::Ec2TagFilter) -> Self {
166 self.inner = self.inner.ec2_tag_filters(input);
167 self
168 }
169 /// <p>The Amazon EC2 tags on which to filter. The deployment group includes Amazon EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.</p>
170 pub fn set_ec2_tag_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Ec2TagFilter>>) -> Self {
171 self.inner = self.inner.set_ec2_tag_filters(input);
172 self
173 }
174 /// <p>The Amazon EC2 tags on which to filter. The deployment group includes Amazon EC2 instances with any of the specified tags. Cannot be used in the same call as ec2TagSet.</p>
175 pub fn get_ec2_tag_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Ec2TagFilter>> {
176 self.inner.get_ec2_tag_filters()
177 }
178 ///
179 /// Appends an item to `onPremisesInstanceTagFilters`.
180 ///
181 /// To override the contents of this collection use [`set_on_premises_instance_tag_filters`](Self::set_on_premises_instance_tag_filters).
182 ///
183 /// <p>The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as <code>OnPremisesTagSet</code>.</p>
184 pub fn on_premises_instance_tag_filters(mut self, input: crate::types::TagFilter) -> Self {
185 self.inner = self.inner.on_premises_instance_tag_filters(input);
186 self
187 }
188 /// <p>The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as <code>OnPremisesTagSet</code>.</p>
189 pub fn set_on_premises_instance_tag_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagFilter>>) -> Self {
190 self.inner = self.inner.set_on_premises_instance_tag_filters(input);
191 self
192 }
193 /// <p>The on-premises instance tags on which to filter. The deployment group includes on-premises instances with any of the specified tags. Cannot be used in the same call as <code>OnPremisesTagSet</code>.</p>
194 pub fn get_on_premises_instance_tag_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagFilter>> {
195 self.inner.get_on_premises_instance_tag_filters()
196 }
197 ///
198 /// Appends an item to `autoScalingGroups`.
199 ///
200 /// To override the contents of this collection use [`set_auto_scaling_groups`](Self::set_auto_scaling_groups).
201 ///
202 /// <p>A list of associated Amazon EC2 Auto Scaling groups.</p>
203 pub fn auto_scaling_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
204 self.inner = self.inner.auto_scaling_groups(input.into());
205 self
206 }
207 /// <p>A list of associated Amazon EC2 Auto Scaling groups.</p>
208 pub fn set_auto_scaling_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
209 self.inner = self.inner.set_auto_scaling_groups(input);
210 self
211 }
212 /// <p>A list of associated Amazon EC2 Auto Scaling groups.</p>
213 pub fn get_auto_scaling_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
214 self.inner.get_auto_scaling_groups()
215 }
216 /// <p>A service role Amazon Resource Name (ARN) that allows CodeDeploy to act on the user's behalf when interacting with Amazon Web Services services.</p>
217 pub fn service_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218 self.inner = self.inner.service_role_arn(input.into());
219 self
220 }
221 /// <p>A service role Amazon Resource Name (ARN) that allows CodeDeploy to act on the user's behalf when interacting with Amazon Web Services services.</p>
222 pub fn set_service_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
223 self.inner = self.inner.set_service_role_arn(input);
224 self
225 }
226 /// <p>A service role Amazon Resource Name (ARN) that allows CodeDeploy to act on the user's behalf when interacting with Amazon Web Services services.</p>
227 pub fn get_service_role_arn(&self) -> &::std::option::Option<::std::string::String> {
228 self.inner.get_service_role_arn()
229 }
230 ///
231 /// Appends an item to `triggerConfigurations`.
232 ///
233 /// To override the contents of this collection use [`set_trigger_configurations`](Self::set_trigger_configurations).
234 ///
235 /// <p>Information about triggers to create when the deployment group is created. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html">Create a Trigger for an CodeDeploy Event</a> in the <i>CodeDeploy User Guide</i>.</p>
236 pub fn trigger_configurations(mut self, input: crate::types::TriggerConfig) -> Self {
237 self.inner = self.inner.trigger_configurations(input);
238 self
239 }
240 /// <p>Information about triggers to create when the deployment group is created. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html">Create a Trigger for an CodeDeploy Event</a> in the <i>CodeDeploy User Guide</i>.</p>
241 pub fn set_trigger_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TriggerConfig>>) -> Self {
242 self.inner = self.inner.set_trigger_configurations(input);
243 self
244 }
245 /// <p>Information about triggers to create when the deployment group is created. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-sns.html">Create a Trigger for an CodeDeploy Event</a> in the <i>CodeDeploy User Guide</i>.</p>
246 pub fn get_trigger_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TriggerConfig>> {
247 self.inner.get_trigger_configurations()
248 }
249 /// <p>Information to add about Amazon CloudWatch alarms when the deployment group is created.</p>
250 pub fn alarm_configuration(mut self, input: crate::types::AlarmConfiguration) -> Self {
251 self.inner = self.inner.alarm_configuration(input);
252 self
253 }
254 /// <p>Information to add about Amazon CloudWatch alarms when the deployment group is created.</p>
255 pub fn set_alarm_configuration(mut self, input: ::std::option::Option<crate::types::AlarmConfiguration>) -> Self {
256 self.inner = self.inner.set_alarm_configuration(input);
257 self
258 }
259 /// <p>Information to add about Amazon CloudWatch alarms when the deployment group is created.</p>
260 pub fn get_alarm_configuration(&self) -> &::std::option::Option<crate::types::AlarmConfiguration> {
261 self.inner.get_alarm_configuration()
262 }
263 /// <p>Configuration information for an automatic rollback that is added when a deployment group is created.</p>
264 pub fn auto_rollback_configuration(mut self, input: crate::types::AutoRollbackConfiguration) -> Self {
265 self.inner = self.inner.auto_rollback_configuration(input);
266 self
267 }
268 /// <p>Configuration information for an automatic rollback that is added when a deployment group is created.</p>
269 pub fn set_auto_rollback_configuration(mut self, input: ::std::option::Option<crate::types::AutoRollbackConfiguration>) -> Self {
270 self.inner = self.inner.set_auto_rollback_configuration(input);
271 self
272 }
273 /// <p>Configuration information for an automatic rollback that is added when a deployment group is created.</p>
274 pub fn get_auto_rollback_configuration(&self) -> &::std::option::Option<crate::types::AutoRollbackConfiguration> {
275 self.inner.get_auto_rollback_configuration()
276 }
277 /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
278 /// <p>If this option is set to <code>UPDATE</code> or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.</p>
279 /// <p>If this option is set to <code>IGNORE</code>, CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.</p>
280 pub fn outdated_instances_strategy(mut self, input: crate::types::OutdatedInstancesStrategy) -> Self {
281 self.inner = self.inner.outdated_instances_strategy(input);
282 self
283 }
284 /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
285 /// <p>If this option is set to <code>UPDATE</code> or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.</p>
286 /// <p>If this option is set to <code>IGNORE</code>, CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.</p>
287 pub fn set_outdated_instances_strategy(mut self, input: ::std::option::Option<crate::types::OutdatedInstancesStrategy>) -> Self {
288 self.inner = self.inner.set_outdated_instances_strategy(input);
289 self
290 }
291 /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
292 /// <p>If this option is set to <code>UPDATE</code> or is unspecified, CodeDeploy initiates one or more 'auto-update outdated instances' deployments to apply the deployed application revision to the new Amazon EC2 instances.</p>
293 /// <p>If this option is set to <code>IGNORE</code>, CodeDeploy does not initiate a deployment to update the new Amazon EC2 instances. This may result in instances having different revisions.</p>
294 pub fn get_outdated_instances_strategy(&self) -> &::std::option::Option<crate::types::OutdatedInstancesStrategy> {
295 self.inner.get_outdated_instances_strategy()
296 }
297 /// <p>Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.</p>
298 pub fn deployment_style(mut self, input: crate::types::DeploymentStyle) -> Self {
299 self.inner = self.inner.deployment_style(input);
300 self
301 }
302 /// <p>Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.</p>
303 pub fn set_deployment_style(mut self, input: ::std::option::Option<crate::types::DeploymentStyle>) -> Self {
304 self.inner = self.inner.set_deployment_style(input);
305 self
306 }
307 /// <p>Information about the type of deployment, in-place or blue/green, that you want to run and whether to route deployment traffic behind a load balancer.</p>
308 pub fn get_deployment_style(&self) -> &::std::option::Option<crate::types::DeploymentStyle> {
309 self.inner.get_deployment_style()
310 }
311 /// <p>Information about blue/green deployment options for a deployment group.</p>
312 pub fn blue_green_deployment_configuration(mut self, input: crate::types::BlueGreenDeploymentConfiguration) -> Self {
313 self.inner = self.inner.blue_green_deployment_configuration(input);
314 self
315 }
316 /// <p>Information about blue/green deployment options for a deployment group.</p>
317 pub fn set_blue_green_deployment_configuration(mut self, input: ::std::option::Option<crate::types::BlueGreenDeploymentConfiguration>) -> Self {
318 self.inner = self.inner.set_blue_green_deployment_configuration(input);
319 self
320 }
321 /// <p>Information about blue/green deployment options for a deployment group.</p>
322 pub fn get_blue_green_deployment_configuration(&self) -> &::std::option::Option<crate::types::BlueGreenDeploymentConfiguration> {
323 self.inner.get_blue_green_deployment_configuration()
324 }
325 /// <p>Information about the load balancer used in a deployment.</p>
326 pub fn load_balancer_info(mut self, input: crate::types::LoadBalancerInfo) -> Self {
327 self.inner = self.inner.load_balancer_info(input);
328 self
329 }
330 /// <p>Information about the load balancer used in a deployment.</p>
331 pub fn set_load_balancer_info(mut self, input: ::std::option::Option<crate::types::LoadBalancerInfo>) -> Self {
332 self.inner = self.inner.set_load_balancer_info(input);
333 self
334 }
335 /// <p>Information about the load balancer used in a deployment.</p>
336 pub fn get_load_balancer_info(&self) -> &::std::option::Option<crate::types::LoadBalancerInfo> {
337 self.inner.get_load_balancer_info()
338 }
339 /// <p>Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as <code>ec2TagFilters</code>.</p>
340 pub fn ec2_tag_set(mut self, input: crate::types::Ec2TagSet) -> Self {
341 self.inner = self.inner.ec2_tag_set(input);
342 self
343 }
344 /// <p>Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as <code>ec2TagFilters</code>.</p>
345 pub fn set_ec2_tag_set(mut self, input: ::std::option::Option<crate::types::Ec2TagSet>) -> Self {
346 self.inner = self.inner.set_ec2_tag_set(input);
347 self
348 }
349 /// <p>Information about groups of tags applied to Amazon EC2 instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups. Cannot be used in the same call as <code>ec2TagFilters</code>.</p>
350 pub fn get_ec2_tag_set(&self) -> &::std::option::Option<crate::types::Ec2TagSet> {
351 self.inner.get_ec2_tag_set()
352 }
353 ///
354 /// Appends an item to `ecsServices`.
355 ///
356 /// To override the contents of this collection use [`set_ecs_services`](Self::set_ecs_services).
357 ///
358 /// <p>The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <code><clustername>
359 /// :
360 /// <servicename></servicename>
361 /// </clustername></code>.</p>
362 pub fn ecs_services(mut self, input: crate::types::EcsService) -> Self {
363 self.inner = self.inner.ecs_services(input);
364 self
365 }
366 /// <p>The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <code><clustername>
367 /// :
368 /// <servicename></servicename>
369 /// </clustername></code>.</p>
370 pub fn set_ecs_services(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EcsService>>) -> Self {
371 self.inner = self.inner.set_ecs_services(input);
372 self
373 }
374 /// <p>The target Amazon ECS services in the deployment group. This applies only to deployment groups that use the Amazon ECS compute platform. A target Amazon ECS service is specified as an Amazon ECS cluster and service name pair using the format <code><clustername>
375 /// :
376 /// <servicename></servicename>
377 /// </clustername></code>.</p>
378 pub fn get_ecs_services(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EcsService>> {
379 self.inner.get_ecs_services()
380 }
381 /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as <code>onPremisesInstanceTagFilters</code>.</p>
382 pub fn on_premises_tag_set(mut self, input: crate::types::OnPremisesTagSet) -> Self {
383 self.inner = self.inner.on_premises_tag_set(input);
384 self
385 }
386 /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as <code>onPremisesInstanceTagFilters</code>.</p>
387 pub fn set_on_premises_tag_set(mut self, input: ::std::option::Option<crate::types::OnPremisesTagSet>) -> Self {
388 self.inner = self.inner.set_on_premises_tag_set(input);
389 self
390 }
391 /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only on-premises instances identified by all of the tag groups. Cannot be used in the same call as <code>onPremisesInstanceTagFilters</code>.</p>
392 pub fn get_on_premises_tag_set(&self) -> &::std::option::Option<crate::types::OnPremisesTagSet> {
393 self.inner.get_on_premises_tag_set()
394 }
395 ///
396 /// Appends an item to `tags`.
397 ///
398 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
399 ///
400 /// <p>The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.</p>
401 pub fn tags(mut self, input: crate::types::Tag) -> Self {
402 self.inner = self.inner.tags(input);
403 self
404 }
405 /// <p>The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.</p>
406 pub fn set_tags(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Tag>>) -> Self {
407 self.inner = self.inner.set_tags(input);
408 self
409 }
410 /// <p>The metadata that you apply to CodeDeploy deployment groups to help you organize and categorize them. Each tag consists of a key and an optional value, both of which you define.</p>
411 pub fn get_tags(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Tag>> {
412 self.inner.get_tags()
413 }
414 /// <p>This parameter only applies if you are using CodeDeploy with Amazon EC2 Auto Scaling. For more information, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html">Integrating CodeDeploy with Amazon EC2 Auto Scaling</a> in the <i>CodeDeploy User Guide</i>.</p>
415 /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you create a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
416 /// <p>For information about termination deployments, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable">Enabling termination deployments during Auto Scaling scale-in events</a> in the <i>CodeDeploy User Guide</i>.</p>
417 /// <p>For more information about Auto Scaling scale-in events, see the <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in">Scale in</a> topic in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
418 pub fn termination_hook_enabled(mut self, input: bool) -> Self {
419 self.inner = self.inner.termination_hook_enabled(input);
420 self
421 }
422 /// <p>This parameter only applies if you are using CodeDeploy with Amazon EC2 Auto Scaling. For more information, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html">Integrating CodeDeploy with Amazon EC2 Auto Scaling</a> in the <i>CodeDeploy User Guide</i>.</p>
423 /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you create a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
424 /// <p>For information about termination deployments, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable">Enabling termination deployments during Auto Scaling scale-in events</a> in the <i>CodeDeploy User Guide</i>.</p>
425 /// <p>For more information about Auto Scaling scale-in events, see the <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in">Scale in</a> topic in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
426 pub fn set_termination_hook_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
427 self.inner = self.inner.set_termination_hook_enabled(input);
428 self
429 }
430 /// <p>This parameter only applies if you are using CodeDeploy with Amazon EC2 Auto Scaling. For more information, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html">Integrating CodeDeploy with Amazon EC2 Auto Scaling</a> in the <i>CodeDeploy User Guide</i>.</p>
431 /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you create a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
432 /// <p>For information about termination deployments, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/integrations-aws-auto-scaling.html#integrations-aws-auto-scaling-behaviors-hook-enable">Enabling termination deployments during Auto Scaling scale-in events</a> in the <i>CodeDeploy User Guide</i>.</p>
433 /// <p>For more information about Auto Scaling scale-in events, see the <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in">Scale in</a> topic in the <i>Amazon EC2 Auto Scaling User Guide</i>.</p>
434 pub fn get_termination_hook_enabled(&self) -> &::std::option::Option<bool> {
435 self.inner.get_termination_hook_enabled()
436 }
437}