aws_sdk_codedeploy/operation/update_deployment_group/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_deployment_group::_update_deployment_group_output::UpdateDeploymentGroupOutputBuilder;
3
4pub use crate::operation::update_deployment_group::_update_deployment_group_input::UpdateDeploymentGroupInputBuilder;
5
6impl crate::operation::update_deployment_group::builders::UpdateDeploymentGroupInputBuilder {
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::update_deployment_group::UpdateDeploymentGroupOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::update_deployment_group::UpdateDeploymentGroupError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.update_deployment_group();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `UpdateDeploymentGroup`.
24///
25/// <p>Changes information about a deployment group.</p>
26#[derive(::std::clone::Clone, ::std::fmt::Debug)]
27pub struct UpdateDeploymentGroupFluentBuilder {
28    handle: ::std::sync::Arc<crate::client::Handle>,
29    inner: crate::operation::update_deployment_group::builders::UpdateDeploymentGroupInputBuilder,
30    config_override: ::std::option::Option<crate::config::Builder>,
31}
32impl
33    crate::client::customize::internal::CustomizableSend<
34        crate::operation::update_deployment_group::UpdateDeploymentGroupOutput,
35        crate::operation::update_deployment_group::UpdateDeploymentGroupError,
36    > for UpdateDeploymentGroupFluentBuilder
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::update_deployment_group::UpdateDeploymentGroupOutput,
44            crate::operation::update_deployment_group::UpdateDeploymentGroupError,
45        >,
46    > {
47        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
48    }
49}
50impl UpdateDeploymentGroupFluentBuilder {
51    /// Creates a new `UpdateDeploymentGroupFluentBuilder`.
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 UpdateDeploymentGroup as a reference.
60    pub fn as_input(&self) -> &crate::operation::update_deployment_group::builders::UpdateDeploymentGroupInputBuilder {
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::update_deployment_group::UpdateDeploymentGroupOutput,
75        ::aws_smithy_runtime_api::client::result::SdkError<
76            crate::operation::update_deployment_group::UpdateDeploymentGroupError,
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::update_deployment_group::UpdateDeploymentGroup::operation_runtime_plugins(
85            self.handle.runtime_plugins.clone(),
86            &self.handle.conf,
87            self.config_override,
88        );
89        crate::operation::update_deployment_group::UpdateDeploymentGroup::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::update_deployment_group::UpdateDeploymentGroupOutput,
97        crate::operation::update_deployment_group::UpdateDeploymentGroupError,
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 application name that corresponds to the deployment group to update.</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 application name that corresponds to the deployment group to update.</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 application name that corresponds to the deployment group to update.</p>
122    pub fn get_application_name(&self) -> &::std::option::Option<::std::string::String> {
123        self.inner.get_application_name()
124    }
125    /// <p>The current name of the deployment group.</p>
126    pub fn current_deployment_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.current_deployment_group_name(input.into());
128        self
129    }
130    /// <p>The current name of the deployment group.</p>
131    pub fn set_current_deployment_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_current_deployment_group_name(input);
133        self
134    }
135    /// <p>The current name of the deployment group.</p>
136    pub fn get_current_deployment_group_name(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_current_deployment_group_name()
138    }
139    /// <p>The new name of the deployment group, if you want to change it.</p>
140    pub fn new_deployment_group_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.new_deployment_group_name(input.into());
142        self
143    }
144    /// <p>The new name of the deployment group, if you want to change it.</p>
145    pub fn set_new_deployment_group_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_new_deployment_group_name(input);
147        self
148    }
149    /// <p>The new name of the deployment group, if you want to change it.</p>
150    pub fn get_new_deployment_group_name(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_new_deployment_group_name()
152    }
153    /// <p>The replacement deployment configuration name to use, if you want to change it.</p>
154    pub fn deployment_config_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.deployment_config_name(input.into());
156        self
157    }
158    /// <p>The replacement deployment configuration name to use, if you want to change it.</p>
159    pub fn set_deployment_config_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_deployment_config_name(input);
161        self
162    }
163    /// <p>The replacement deployment configuration name to use, if you want to change it.</p>
164    pub fn get_deployment_config_name(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_deployment_config_name()
166    }
167    ///
168    /// Appends an item to `ec2TagFilters`.
169    ///
170    /// To override the contents of this collection use [`set_ec2_tag_filters`](Self::set_ec2_tag_filters).
171    ///
172    /// <p>The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
173    pub fn ec2_tag_filters(mut self, input: crate::types::Ec2TagFilter) -> Self {
174        self.inner = self.inner.ec2_tag_filters(input);
175        self
176    }
177    /// <p>The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
178    pub fn set_ec2_tag_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Ec2TagFilter>>) -> Self {
179        self.inner = self.inner.set_ec2_tag_filters(input);
180        self
181    }
182    /// <p>The replacement set of Amazon EC2 tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
183    pub fn get_ec2_tag_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Ec2TagFilter>> {
184        self.inner.get_ec2_tag_filters()
185    }
186    ///
187    /// Appends an item to `onPremisesInstanceTagFilters`.
188    ///
189    /// To override the contents of this collection use [`set_on_premises_instance_tag_filters`](Self::set_on_premises_instance_tag_filters).
190    ///
191    /// <p>The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
192    pub fn on_premises_instance_tag_filters(mut self, input: crate::types::TagFilter) -> Self {
193        self.inner = self.inner.on_premises_instance_tag_filters(input);
194        self
195    }
196    /// <p>The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
197    pub fn set_on_premises_instance_tag_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TagFilter>>) -> Self {
198        self.inner = self.inner.set_on_premises_instance_tag_filters(input);
199        self
200    }
201    /// <p>The replacement set of on-premises instance tags on which to filter, if you want to change them. To keep the existing tags, enter their names. To remove tags, do not enter any tag names.</p>
202    pub fn get_on_premises_instance_tag_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TagFilter>> {
203        self.inner.get_on_premises_instance_tag_filters()
204    }
205    ///
206    /// Appends an item to `autoScalingGroups`.
207    ///
208    /// To override the contents of this collection use [`set_auto_scaling_groups`](Self::set_auto_scaling_groups).
209    ///
210    /// <p>The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them.</p>
211    /// <ul>
212    /// <li>
213    /// <p>To keep the Auto Scaling groups, enter their names or do not specify this parameter.</p></li>
214    /// <li>
215    /// <p>To remove Auto Scaling groups, specify a non-null empty list of Auto Scaling group names to detach all CodeDeploy-managed Auto Scaling lifecycle hooks. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-auto-scaling.html#troubleshooting-auto-scaling-heartbeat">Amazon EC2 instances in an Amazon EC2 Auto Scaling group fail to launch and receive the error "Heartbeat Timeout"</a> in the <i>CodeDeploy User Guide</i>.</p></li>
216    /// </ul>
217    pub fn auto_scaling_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
218        self.inner = self.inner.auto_scaling_groups(input.into());
219        self
220    }
221    /// <p>The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them.</p>
222    /// <ul>
223    /// <li>
224    /// <p>To keep the Auto Scaling groups, enter their names or do not specify this parameter.</p></li>
225    /// <li>
226    /// <p>To remove Auto Scaling groups, specify a non-null empty list of Auto Scaling group names to detach all CodeDeploy-managed Auto Scaling lifecycle hooks. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-auto-scaling.html#troubleshooting-auto-scaling-heartbeat">Amazon EC2 instances in an Amazon EC2 Auto Scaling group fail to launch and receive the error "Heartbeat Timeout"</a> in the <i>CodeDeploy User Guide</i>.</p></li>
227    /// </ul>
228    pub fn set_auto_scaling_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
229        self.inner = self.inner.set_auto_scaling_groups(input);
230        self
231    }
232    /// <p>The replacement list of Auto Scaling groups to be included in the deployment group, if you want to change them.</p>
233    /// <ul>
234    /// <li>
235    /// <p>To keep the Auto Scaling groups, enter their names or do not specify this parameter.</p></li>
236    /// <li>
237    /// <p>To remove Auto Scaling groups, specify a non-null empty list of Auto Scaling group names to detach all CodeDeploy-managed Auto Scaling lifecycle hooks. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/troubleshooting-auto-scaling.html#troubleshooting-auto-scaling-heartbeat">Amazon EC2 instances in an Amazon EC2 Auto Scaling group fail to launch and receive the error "Heartbeat Timeout"</a> in the <i>CodeDeploy User Guide</i>.</p></li>
238    /// </ul>
239    pub fn get_auto_scaling_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
240        self.inner.get_auto_scaling_groups()
241    }
242    /// <p>A replacement ARN for the service role, if you want to change it.</p>
243    pub fn service_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244        self.inner = self.inner.service_role_arn(input.into());
245        self
246    }
247    /// <p>A replacement ARN for the service role, if you want to change it.</p>
248    pub fn set_service_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
249        self.inner = self.inner.set_service_role_arn(input);
250        self
251    }
252    /// <p>A replacement ARN for the service role, if you want to change it.</p>
253    pub fn get_service_role_arn(&self) -> &::std::option::Option<::std::string::String> {
254        self.inner.get_service_role_arn()
255    }
256    ///
257    /// Appends an item to `triggerConfigurations`.
258    ///
259    /// To override the contents of this collection use [`set_trigger_configurations`](Self::set_trigger_configurations).
260    ///
261    /// <p>Information about triggers to change when the deployment group is updated. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html">Edit a Trigger in a CodeDeploy Deployment Group</a> in the <i>CodeDeploy User Guide</i>.</p>
262    pub fn trigger_configurations(mut self, input: crate::types::TriggerConfig) -> Self {
263        self.inner = self.inner.trigger_configurations(input);
264        self
265    }
266    /// <p>Information about triggers to change when the deployment group is updated. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html">Edit a Trigger in a CodeDeploy Deployment Group</a> in the <i>CodeDeploy User Guide</i>.</p>
267    pub fn set_trigger_configurations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::TriggerConfig>>) -> Self {
268        self.inner = self.inner.set_trigger_configurations(input);
269        self
270    }
271    /// <p>Information about triggers to change when the deployment group is updated. For examples, see <a href="https://docs.aws.amazon.com/codedeploy/latest/userguide/how-to-notify-edit.html">Edit a Trigger in a CodeDeploy Deployment Group</a> in the <i>CodeDeploy User Guide</i>.</p>
272    pub fn get_trigger_configurations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::TriggerConfig>> {
273        self.inner.get_trigger_configurations()
274    }
275    /// <p>Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.</p>
276    pub fn alarm_configuration(mut self, input: crate::types::AlarmConfiguration) -> Self {
277        self.inner = self.inner.alarm_configuration(input);
278        self
279    }
280    /// <p>Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.</p>
281    pub fn set_alarm_configuration(mut self, input: ::std::option::Option<crate::types::AlarmConfiguration>) -> Self {
282        self.inner = self.inner.set_alarm_configuration(input);
283        self
284    }
285    /// <p>Information to add or change about Amazon CloudWatch alarms when the deployment group is updated.</p>
286    pub fn get_alarm_configuration(&self) -> &::std::option::Option<crate::types::AlarmConfiguration> {
287        self.inner.get_alarm_configuration()
288    }
289    /// <p>Information for an automatic rollback configuration that is added or changed when a deployment group is updated.</p>
290    pub fn auto_rollback_configuration(mut self, input: crate::types::AutoRollbackConfiguration) -> Self {
291        self.inner = self.inner.auto_rollback_configuration(input);
292        self
293    }
294    /// <p>Information for an automatic rollback configuration that is added or changed when a deployment group is updated.</p>
295    pub fn set_auto_rollback_configuration(mut self, input: ::std::option::Option<crate::types::AutoRollbackConfiguration>) -> Self {
296        self.inner = self.inner.set_auto_rollback_configuration(input);
297        self
298    }
299    /// <p>Information for an automatic rollback configuration that is added or changed when a deployment group is updated.</p>
300    pub fn get_auto_rollback_configuration(&self) -> &::std::option::Option<crate::types::AutoRollbackConfiguration> {
301        self.inner.get_auto_rollback_configuration()
302    }
303    /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
304    /// <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>
305    /// <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>
306    pub fn outdated_instances_strategy(mut self, input: crate::types::OutdatedInstancesStrategy) -> Self {
307        self.inner = self.inner.outdated_instances_strategy(input);
308        self
309    }
310    /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
311    /// <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>
312    /// <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>
313    pub fn set_outdated_instances_strategy(mut self, input: ::std::option::Option<crate::types::OutdatedInstancesStrategy>) -> Self {
314        self.inner = self.inner.set_outdated_instances_strategy(input);
315        self
316    }
317    /// <p>Indicates what happens when new Amazon EC2 instances are launched mid-deployment and do not receive the deployed application revision.</p>
318    /// <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>
319    /// <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>
320    pub fn get_outdated_instances_strategy(&self) -> &::std::option::Option<crate::types::OutdatedInstancesStrategy> {
321        self.inner.get_outdated_instances_strategy()
322    }
323    /// <p>Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.</p>
324    pub fn deployment_style(mut self, input: crate::types::DeploymentStyle) -> Self {
325        self.inner = self.inner.deployment_style(input);
326        self
327    }
328    /// <p>Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.</p>
329    pub fn set_deployment_style(mut self, input: ::std::option::Option<crate::types::DeploymentStyle>) -> Self {
330        self.inner = self.inner.set_deployment_style(input);
331        self
332    }
333    /// <p>Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer.</p>
334    pub fn get_deployment_style(&self) -> &::std::option::Option<crate::types::DeploymentStyle> {
335        self.inner.get_deployment_style()
336    }
337    /// <p>Information about blue/green deployment options for a deployment group.</p>
338    pub fn blue_green_deployment_configuration(mut self, input: crate::types::BlueGreenDeploymentConfiguration) -> Self {
339        self.inner = self.inner.blue_green_deployment_configuration(input);
340        self
341    }
342    /// <p>Information about blue/green deployment options for a deployment group.</p>
343    pub fn set_blue_green_deployment_configuration(mut self, input: ::std::option::Option<crate::types::BlueGreenDeploymentConfiguration>) -> Self {
344        self.inner = self.inner.set_blue_green_deployment_configuration(input);
345        self
346    }
347    /// <p>Information about blue/green deployment options for a deployment group.</p>
348    pub fn get_blue_green_deployment_configuration(&self) -> &::std::option::Option<crate::types::BlueGreenDeploymentConfiguration> {
349        self.inner.get_blue_green_deployment_configuration()
350    }
351    /// <p>Information about the load balancer used in a deployment.</p>
352    pub fn load_balancer_info(mut self, input: crate::types::LoadBalancerInfo) -> Self {
353        self.inner = self.inner.load_balancer_info(input);
354        self
355    }
356    /// <p>Information about the load balancer used in a deployment.</p>
357    pub fn set_load_balancer_info(mut self, input: ::std::option::Option<crate::types::LoadBalancerInfo>) -> Self {
358        self.inner = self.inner.set_load_balancer_info(input);
359        self
360    }
361    /// <p>Information about the load balancer used in a deployment.</p>
362    pub fn get_load_balancer_info(&self) -> &::std::option::Option<crate::types::LoadBalancerInfo> {
363        self.inner.get_load_balancer_info()
364    }
365    /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups.</p>
366    pub fn ec2_tag_set(mut self, input: crate::types::Ec2TagSet) -> Self {
367        self.inner = self.inner.ec2_tag_set(input);
368        self
369    }
370    /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups.</p>
371    pub fn set_ec2_tag_set(mut self, input: ::std::option::Option<crate::types::Ec2TagSet>) -> Self {
372        self.inner = self.inner.set_ec2_tag_set(input);
373        self
374    }
375    /// <p>Information about groups of tags applied to on-premises instances. The deployment group includes only Amazon EC2 instances identified by all the tag groups.</p>
376    pub fn get_ec2_tag_set(&self) -> &::std::option::Option<crate::types::Ec2TagSet> {
377        self.inner.get_ec2_tag_set()
378    }
379    ///
380    /// Appends an item to `ecsServices`.
381    ///
382    /// To override the contents of this collection use [`set_ecs_services`](Self::set_ecs_services).
383    ///
384    /// <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>
385    /// :
386    /// <servicename></servicename>
387    /// </clustername></code>.</p>
388    pub fn ecs_services(mut self, input: crate::types::EcsService) -> Self {
389        self.inner = self.inner.ecs_services(input);
390        self
391    }
392    /// <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>
393    /// :
394    /// <servicename></servicename>
395    /// </clustername></code>.</p>
396    pub fn set_ecs_services(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::EcsService>>) -> Self {
397        self.inner = self.inner.set_ecs_services(input);
398        self
399    }
400    /// <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>
401    /// :
402    /// <servicename></servicename>
403    /// </clustername></code>.</p>
404    pub fn get_ecs_services(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::EcsService>> {
405        self.inner.get_ecs_services()
406    }
407    /// <p>Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.</p>
408    pub fn on_premises_tag_set(mut self, input: crate::types::OnPremisesTagSet) -> Self {
409        self.inner = self.inner.on_premises_tag_set(input);
410        self
411    }
412    /// <p>Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.</p>
413    pub fn set_on_premises_tag_set(mut self, input: ::std::option::Option<crate::types::OnPremisesTagSet>) -> Self {
414        self.inner = self.inner.set_on_premises_tag_set(input);
415        self
416    }
417    /// <p>Information about an on-premises instance tag set. The deployment group includes only on-premises instances identified by all the tag groups.</p>
418    pub fn get_on_premises_tag_set(&self) -> &::std::option::Option<crate::types::OnPremisesTagSet> {
419        self.inner.get_on_premises_tag_set()
420    }
421    /// <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>
422    /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you update a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
423    /// <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>
424    /// <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>
425    pub fn termination_hook_enabled(mut self, input: bool) -> Self {
426        self.inner = self.inner.termination_hook_enabled(input);
427        self
428    }
429    /// <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>
430    /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you update a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
431    /// <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>
432    /// <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>
433    pub fn set_termination_hook_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
434        self.inner = self.inner.set_termination_hook_enabled(input);
435        self
436    }
437    /// <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>
438    /// <p>Set <code>terminationHookEnabled</code> to <code>true</code> to have CodeDeploy install a termination hook into your Auto Scaling group when you update a deployment group. When this hook is installed, CodeDeploy will perform termination deployments.</p>
439    /// <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>
440    /// <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>
441    pub fn get_termination_hook_enabled(&self) -> &::std::option::Option<bool> {
442        self.inner.get_termination_hook_enabled()
443    }
444}