aws_sdk_gamelift/operation/update_container_fleet/builders.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::update_container_fleet::_update_container_fleet_output::UpdateContainerFleetOutputBuilder;
3
4pub use crate::operation::update_container_fleet::_update_container_fleet_input::UpdateContainerFleetInputBuilder;
5
6impl crate::operation::update_container_fleet::builders::UpdateContainerFleetInputBuilder {
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_container_fleet::UpdateContainerFleetOutput,
13 ::aws_smithy_runtime_api::client::result::SdkError<
14 crate::operation::update_container_fleet::UpdateContainerFleetError,
15 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16 >,
17 > {
18 let mut fluent_builder = client.update_container_fleet();
19 fluent_builder.inner = self;
20 fluent_builder.send().await
21 }
22}
23/// Fluent builder constructing a request to `UpdateContainerFleet`.
24///
25/// <p><b>This API works with the following fleet types:</b> Container</p>
26/// <p>Updates the properties of a managed container fleet. Depending on the properties being updated, this operation might initiate a fleet deployment. You can track deployments for a fleet using <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetDeployment.html">https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetDeployment.html</a>.</p><note>
27/// <p>A managed fleet's runtime environment, which depends on the fleet's Amazon Machine Image {AMI} version, can't be updated. You must create a new fleet. As a best practice, we recommend replacing your managed fleets every 30 days to maintain a secure and up-to-date runtime environment for your hosted game servers. For guidance, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/security-best-practices.html"> Security best practices for Amazon GameLift Servers</a>.</p>
28/// </note>
29/// <p><b>Request options</b></p>
30/// <p>As with CreateContainerFleet, many fleet properties use common defaults or are calculated based on the fleet's container group definitions.</p>
31/// <ul>
32/// <li>
33/// <p>Update fleet properties that result in a fleet deployment. Include only those properties that you want to change. Specify deployment configuration settings.</p></li>
34/// <li>
35/// <p>Update fleet properties that don't result in a fleet deployment. Include only those properties that you want to change.</p></li>
36/// </ul>
37/// <p>Changes to the following properties initiate a fleet deployment:</p>
38/// <ul>
39/// <li>
40/// <p><code>GameServerContainerGroupDefinition</code></p></li>
41/// <li>
42/// <p><code>PerInstanceContainerGroupDefinition</code></p></li>
43/// <li>
44/// <p><code>GameServerContainerGroupsPerInstance</code></p></li>
45/// <li>
46/// <p><code>InstanceInboundPermissions</code></p></li>
47/// <li>
48/// <p><code>InstanceConnectionPortRange</code></p></li>
49/// <li>
50/// <p><code>LogConfiguration</code></p></li>
51/// </ul>
52/// <p><b>Results</b></p>
53/// <p>If successful, this operation updates the container fleet resource, and might initiate a new deployment of fleet resources using the deployment configuration provided. A deployment replaces existing fleet instances with new instances that are deployed with the updated fleet properties. The fleet is placed in <code>UPDATING</code> status until the deployment is complete, then return to <code>ACTIVE</code>.</p>
54/// <p>You can have only one update deployment active at a time for a fleet. If a second update request initiates a deployment while another deployment is in progress, the first deployment is cancelled.</p>
55#[derive(::std::clone::Clone, ::std::fmt::Debug)]
56pub struct UpdateContainerFleetFluentBuilder {
57 handle: ::std::sync::Arc<crate::client::Handle>,
58 inner: crate::operation::update_container_fleet::builders::UpdateContainerFleetInputBuilder,
59 config_override: ::std::option::Option<crate::config::Builder>,
60}
61impl
62 crate::client::customize::internal::CustomizableSend<
63 crate::operation::update_container_fleet::UpdateContainerFleetOutput,
64 crate::operation::update_container_fleet::UpdateContainerFleetError,
65 > for UpdateContainerFleetFluentBuilder
66{
67 fn send(
68 self,
69 config_override: crate::config::Builder,
70 ) -> crate::client::customize::internal::BoxFuture<
71 crate::client::customize::internal::SendResult<
72 crate::operation::update_container_fleet::UpdateContainerFleetOutput,
73 crate::operation::update_container_fleet::UpdateContainerFleetError,
74 >,
75 > {
76 ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
77 }
78}
79impl UpdateContainerFleetFluentBuilder {
80 /// Creates a new `UpdateContainerFleetFluentBuilder`.
81 pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
82 Self {
83 handle,
84 inner: ::std::default::Default::default(),
85 config_override: ::std::option::Option::None,
86 }
87 }
88 /// Access the UpdateContainerFleet as a reference.
89 pub fn as_input(&self) -> &crate::operation::update_container_fleet::builders::UpdateContainerFleetInputBuilder {
90 &self.inner
91 }
92 /// Sends the request and returns the response.
93 ///
94 /// If an error occurs, an `SdkError` will be returned with additional details that
95 /// can be matched against.
96 ///
97 /// By default, any retryable failures will be retried twice. Retry behavior
98 /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
99 /// set when configuring the client.
100 pub async fn send(
101 self,
102 ) -> ::std::result::Result<
103 crate::operation::update_container_fleet::UpdateContainerFleetOutput,
104 ::aws_smithy_runtime_api::client::result::SdkError<
105 crate::operation::update_container_fleet::UpdateContainerFleetError,
106 ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
107 >,
108 > {
109 let input = self
110 .inner
111 .build()
112 .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
113 let runtime_plugins = crate::operation::update_container_fleet::UpdateContainerFleet::operation_runtime_plugins(
114 self.handle.runtime_plugins.clone(),
115 &self.handle.conf,
116 self.config_override,
117 );
118 crate::operation::update_container_fleet::UpdateContainerFleet::orchestrate(&runtime_plugins, input).await
119 }
120
121 /// Consumes this builder, creating a customizable operation that can be modified before being sent.
122 pub fn customize(
123 self,
124 ) -> crate::client::customize::CustomizableOperation<
125 crate::operation::update_container_fleet::UpdateContainerFleetOutput,
126 crate::operation::update_container_fleet::UpdateContainerFleetError,
127 Self,
128 > {
129 crate::client::customize::CustomizableOperation::new(self)
130 }
131 pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
132 self.set_config_override(::std::option::Option::Some(config_override.into()));
133 self
134 }
135
136 pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
137 self.config_override = config_override;
138 self
139 }
140 /// <p>A unique identifier for the container fleet to update. You can use either the fleet ID or ARN value.</p>
141 pub fn fleet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142 self.inner = self.inner.fleet_id(input.into());
143 self
144 }
145 /// <p>A unique identifier for the container fleet to update. You can use either the fleet ID or ARN value.</p>
146 pub fn set_fleet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
147 self.inner = self.inner.set_fleet_id(input);
148 self
149 }
150 /// <p>A unique identifier for the container fleet to update. You can use either the fleet ID or ARN value.</p>
151 pub fn get_fleet_id(&self) -> &::std::option::Option<::std::string::String> {
152 self.inner.get_fleet_id()
153 }
154 /// <p>The name or ARN value of a new game server container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value. You can't remove a fleet's game server container group definition, you can only update or replace it with another definition.</p>
155 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
156 pub fn game_server_container_group_definition_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
157 self.inner = self.inner.game_server_container_group_definition_name(input.into());
158 self
159 }
160 /// <p>The name or ARN value of a new game server container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value. You can't remove a fleet's game server container group definition, you can only update or replace it with another definition.</p>
161 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
162 pub fn set_game_server_container_group_definition_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
163 self.inner = self.inner.set_game_server_container_group_definition_name(input);
164 self
165 }
166 /// <p>The name or ARN value of a new game server container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value. You can't remove a fleet's game server container group definition, you can only update or replace it with another definition.</p>
167 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
168 pub fn get_game_server_container_group_definition_name(&self) -> &::std::option::Option<::std::string::String> {
169 self.inner.get_game_server_container_group_definition_name()
170 }
171 /// <p>The name or ARN value of a new per-instance container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value.</p>
172 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
173 /// <p>To remove a fleet's per-instance container group definition, leave this parameter empty and use the parameter <code>RemoveAttributes</code>.</p>
174 pub fn per_instance_container_group_definition_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
175 self.inner = self.inner.per_instance_container_group_definition_name(input.into());
176 self
177 }
178 /// <p>The name or ARN value of a new per-instance container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value.</p>
179 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
180 /// <p>To remove a fleet's per-instance container group definition, leave this parameter empty and use the parameter <code>RemoveAttributes</code>.</p>
181 pub fn set_per_instance_container_group_definition_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
182 self.inner = self.inner.set_per_instance_container_group_definition_name(input);
183 self
184 }
185 /// <p>The name or ARN value of a new per-instance container group definition to deploy on the fleet. If you're updating the fleet to a specific version of a container group definition, use the ARN value and include the version number. If you're updating the fleet to the latest version of a container group definition, you can use the name value.</p>
186 /// <p>Update a container group definition by calling <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateContainerGroupDefinition.html">UpdateContainerGroupDefinition</a>. This operation creates a <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_ContainerGroupDefinition.html">ContainerGroupDefinition</a> resource with an incremented version.</p>
187 /// <p>To remove a fleet's per-instance container group definition, leave this parameter empty and use the parameter <code>RemoveAttributes</code>.</p>
188 pub fn get_per_instance_container_group_definition_name(&self) -> &::std::option::Option<::std::string::String> {
189 self.inner.get_per_instance_container_group_definition_name()
190 }
191 /// <p>The number of times to replicate the game server container group on each fleet instance. By default, Amazon GameLift Servers calculates the maximum number of game server container groups that can fit on each instance. You can remove this property value to use the calculated value, or set it manually. If you set this number manually, Amazon GameLift Servers uses your value as long as it's less than the calculated maximum.</p>
192 pub fn game_server_container_groups_per_instance(mut self, input: i32) -> Self {
193 self.inner = self.inner.game_server_container_groups_per_instance(input);
194 self
195 }
196 /// <p>The number of times to replicate the game server container group on each fleet instance. By default, Amazon GameLift Servers calculates the maximum number of game server container groups that can fit on each instance. You can remove this property value to use the calculated value, or set it manually. If you set this number manually, Amazon GameLift Servers uses your value as long as it's less than the calculated maximum.</p>
197 pub fn set_game_server_container_groups_per_instance(mut self, input: ::std::option::Option<i32>) -> Self {
198 self.inner = self.inner.set_game_server_container_groups_per_instance(input);
199 self
200 }
201 /// <p>The number of times to replicate the game server container group on each fleet instance. By default, Amazon GameLift Servers calculates the maximum number of game server container groups that can fit on each instance. You can remove this property value to use the calculated value, or set it manually. If you set this number manually, Amazon GameLift Servers uses your value as long as it's less than the calculated maximum.</p>
202 pub fn get_game_server_container_groups_per_instance(&self) -> &::std::option::Option<i32> {
203 self.inner.get_game_server_container_groups_per_instance()
204 }
205 /// <p>A revised set of port numbers to open on each fleet instance. By default, Amazon GameLift Servers calculates an optimal port range based on your fleet configuration. If you previously set this parameter manually, you can't reset this to use the calculated settings.</p>
206 pub fn instance_connection_port_range(mut self, input: crate::types::ConnectionPortRange) -> Self {
207 self.inner = self.inner.instance_connection_port_range(input);
208 self
209 }
210 /// <p>A revised set of port numbers to open on each fleet instance. By default, Amazon GameLift Servers calculates an optimal port range based on your fleet configuration. If you previously set this parameter manually, you can't reset this to use the calculated settings.</p>
211 pub fn set_instance_connection_port_range(mut self, input: ::std::option::Option<crate::types::ConnectionPortRange>) -> Self {
212 self.inner = self.inner.set_instance_connection_port_range(input);
213 self
214 }
215 /// <p>A revised set of port numbers to open on each fleet instance. By default, Amazon GameLift Servers calculates an optimal port range based on your fleet configuration. If you previously set this parameter manually, you can't reset this to use the calculated settings.</p>
216 pub fn get_instance_connection_port_range(&self) -> &::std::option::Option<crate::types::ConnectionPortRange> {
217 self.inner.get_instance_connection_port_range()
218 }
219 ///
220 /// Appends an item to `InstanceInboundPermissionAuthorizations`.
221 ///
222 /// To override the contents of this collection use [`set_instance_inbound_permission_authorizations`](Self::set_instance_inbound_permission_authorizations).
223 ///
224 /// <p>A set of ports to add to the container fleet's inbound permissions.</p>
225 pub fn instance_inbound_permission_authorizations(mut self, input: crate::types::IpPermission) -> Self {
226 self.inner = self.inner.instance_inbound_permission_authorizations(input);
227 self
228 }
229 /// <p>A set of ports to add to the container fleet's inbound permissions.</p>
230 pub fn set_instance_inbound_permission_authorizations(
231 mut self,
232 input: ::std::option::Option<::std::vec::Vec<crate::types::IpPermission>>,
233 ) -> Self {
234 self.inner = self.inner.set_instance_inbound_permission_authorizations(input);
235 self
236 }
237 /// <p>A set of ports to add to the container fleet's inbound permissions.</p>
238 pub fn get_instance_inbound_permission_authorizations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::IpPermission>> {
239 self.inner.get_instance_inbound_permission_authorizations()
240 }
241 ///
242 /// Appends an item to `InstanceInboundPermissionRevocations`.
243 ///
244 /// To override the contents of this collection use [`set_instance_inbound_permission_revocations`](Self::set_instance_inbound_permission_revocations).
245 ///
246 /// <p>A set of ports to remove from the container fleet's inbound permissions.</p>
247 pub fn instance_inbound_permission_revocations(mut self, input: crate::types::IpPermission) -> Self {
248 self.inner = self.inner.instance_inbound_permission_revocations(input);
249 self
250 }
251 /// <p>A set of ports to remove from the container fleet's inbound permissions.</p>
252 pub fn set_instance_inbound_permission_revocations(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::IpPermission>>) -> Self {
253 self.inner = self.inner.set_instance_inbound_permission_revocations(input);
254 self
255 }
256 /// <p>A set of ports to remove from the container fleet's inbound permissions.</p>
257 pub fn get_instance_inbound_permission_revocations(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::IpPermission>> {
258 self.inner.get_instance_inbound_permission_revocations()
259 }
260 /// <p>Instructions for how to deploy updates to a container fleet, if the fleet update initiates a deployment. The deployment configuration lets you determine how to replace fleet instances and what actions to take if the deployment fails.</p>
261 pub fn deployment_configuration(mut self, input: crate::types::DeploymentConfiguration) -> Self {
262 self.inner = self.inner.deployment_configuration(input);
263 self
264 }
265 /// <p>Instructions for how to deploy updates to a container fleet, if the fleet update initiates a deployment. The deployment configuration lets you determine how to replace fleet instances and what actions to take if the deployment fails.</p>
266 pub fn set_deployment_configuration(mut self, input: ::std::option::Option<crate::types::DeploymentConfiguration>) -> Self {
267 self.inner = self.inner.set_deployment_configuration(input);
268 self
269 }
270 /// <p>Instructions for how to deploy updates to a container fleet, if the fleet update initiates a deployment. The deployment configuration lets you determine how to replace fleet instances and what actions to take if the deployment fails.</p>
271 pub fn get_deployment_configuration(&self) -> &::std::option::Option<crate::types::DeploymentConfiguration> {
272 self.inner.get_deployment_configuration()
273 }
274 /// <p>A meaningful description of the container fleet.</p>
275 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
276 self.inner = self.inner.description(input.into());
277 self
278 }
279 /// <p>A meaningful description of the container fleet.</p>
280 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
281 self.inner = self.inner.set_description(input);
282 self
283 }
284 /// <p>A meaningful description of the container fleet.</p>
285 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
286 self.inner.get_description()
287 }
288 ///
289 /// Appends an item to `MetricGroups`.
290 ///
291 /// To override the contents of this collection use [`set_metric_groups`](Self::set_metric_groups).
292 ///
293 /// <p>The name of an Amazon Web Services CloudWatch metric group to add this fleet to.</p>
294 pub fn metric_groups(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
295 self.inner = self.inner.metric_groups(input.into());
296 self
297 }
298 /// <p>The name of an Amazon Web Services CloudWatch metric group to add this fleet to.</p>
299 pub fn set_metric_groups(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
300 self.inner = self.inner.set_metric_groups(input);
301 self
302 }
303 /// <p>The name of an Amazon Web Services CloudWatch metric group to add this fleet to.</p>
304 pub fn get_metric_groups(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
305 self.inner.get_metric_groups()
306 }
307 /// <p>The game session protection policy to apply to all new game sessions that are started in this fleet. Game sessions that already exist are not affected.</p>
308 pub fn new_game_session_protection_policy(mut self, input: crate::types::ProtectionPolicy) -> Self {
309 self.inner = self.inner.new_game_session_protection_policy(input);
310 self
311 }
312 /// <p>The game session protection policy to apply to all new game sessions that are started in this fleet. Game sessions that already exist are not affected.</p>
313 pub fn set_new_game_session_protection_policy(mut self, input: ::std::option::Option<crate::types::ProtectionPolicy>) -> Self {
314 self.inner = self.inner.set_new_game_session_protection_policy(input);
315 self
316 }
317 /// <p>The game session protection policy to apply to all new game sessions that are started in this fleet. Game sessions that already exist are not affected.</p>
318 pub fn get_new_game_session_protection_policy(&self) -> &::std::option::Option<crate::types::ProtectionPolicy> {
319 self.inner.get_new_game_session_protection_policy()
320 }
321 /// <p>A policy that limits the number of game sessions that each individual player can create on instances in this fleet. The limit applies for a specified span of time.</p>
322 pub fn game_session_creation_limit_policy(mut self, input: crate::types::GameSessionCreationLimitPolicy) -> Self {
323 self.inner = self.inner.game_session_creation_limit_policy(input);
324 self
325 }
326 /// <p>A policy that limits the number of game sessions that each individual player can create on instances in this fleet. The limit applies for a specified span of time.</p>
327 pub fn set_game_session_creation_limit_policy(mut self, input: ::std::option::Option<crate::types::GameSessionCreationLimitPolicy>) -> Self {
328 self.inner = self.inner.set_game_session_creation_limit_policy(input);
329 self
330 }
331 /// <p>A policy that limits the number of game sessions that each individual player can create on instances in this fleet. The limit applies for a specified span of time.</p>
332 pub fn get_game_session_creation_limit_policy(&self) -> &::std::option::Option<crate::types::GameSessionCreationLimitPolicy> {
333 self.inner.get_game_session_creation_limit_policy()
334 }
335 /// <p>The method for collecting container logs for the fleet.</p>
336 pub fn log_configuration(mut self, input: crate::types::LogConfiguration) -> Self {
337 self.inner = self.inner.log_configuration(input);
338 self
339 }
340 /// <p>The method for collecting container logs for the fleet.</p>
341 pub fn set_log_configuration(mut self, input: ::std::option::Option<crate::types::LogConfiguration>) -> Self {
342 self.inner = self.inner.set_log_configuration(input);
343 self
344 }
345 /// <p>The method for collecting container logs for the fleet.</p>
346 pub fn get_log_configuration(&self) -> &::std::option::Option<crate::types::LogConfiguration> {
347 self.inner.get_log_configuration()
348 }
349 ///
350 /// Appends an item to `RemoveAttributes`.
351 ///
352 /// To override the contents of this collection use [`set_remove_attributes`](Self::set_remove_attributes).
353 ///
354 /// <p>If set, this update removes a fleet's per-instance container group definition. You can't remove a fleet's game server container group definition.</p>
355 pub fn remove_attributes(mut self, input: crate::types::ContainerFleetRemoveAttribute) -> Self {
356 self.inner = self.inner.remove_attributes(input);
357 self
358 }
359 /// <p>If set, this update removes a fleet's per-instance container group definition. You can't remove a fleet's game server container group definition.</p>
360 pub fn set_remove_attributes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ContainerFleetRemoveAttribute>>) -> Self {
361 self.inner = self.inner.set_remove_attributes(input);
362 self
363 }
364 /// <p>If set, this update removes a fleet's per-instance container group definition. You can't remove a fleet's game server container group definition.</p>
365 pub fn get_remove_attributes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ContainerFleetRemoveAttribute>> {
366 self.inner.get_remove_attributes()
367 }
368}