/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace ECS { namespace Model { /** */ class DeregisterContainerInstanceRequest : public ECSRequest { public: AWS_ECS_API DeregisterContainerInstanceRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "DeregisterContainerInstance"; } AWS_ECS_API Aws::String SerializePayload() const override; AWS_ECS_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline const Aws::String& GetCluster() const{ return m_cluster; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline bool ClusterHasBeenSet() const { return m_clusterHasBeenSet; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline void SetCluster(const Aws::String& value) { m_clusterHasBeenSet = true; m_cluster = value; } /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline void SetCluster(Aws::String&& value) { m_clusterHasBeenSet = true; m_cluster = std::move(value); } /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline void SetCluster(const char* value) { m_clusterHasBeenSet = true; m_cluster.assign(value); } /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline DeregisterContainerInstanceRequest& WithCluster(const Aws::String& value) { SetCluster(value); return *this;} /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline DeregisterContainerInstanceRequest& WithCluster(Aws::String&& value) { SetCluster(std::move(value)); return *this;} /** *

The short name or full Amazon Resource Name (ARN) of the cluster that hosts * the container instance to deregister. If you do not specify a cluster, the * default cluster is assumed.

*/ inline DeregisterContainerInstanceRequest& WithCluster(const char* value) { SetCluster(value); return *this;} /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline const Aws::String& GetContainerInstance() const{ return m_containerInstance; } /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline bool ContainerInstanceHasBeenSet() const { return m_containerInstanceHasBeenSet; } /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline void SetContainerInstance(const Aws::String& value) { m_containerInstanceHasBeenSet = true; m_containerInstance = value; } /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline void SetContainerInstance(Aws::String&& value) { m_containerInstanceHasBeenSet = true; m_containerInstance = std::move(value); } /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline void SetContainerInstance(const char* value) { m_containerInstanceHasBeenSet = true; m_containerInstance.assign(value); } /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline DeregisterContainerInstanceRequest& WithContainerInstance(const Aws::String& value) { SetContainerInstance(value); return *this;} /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline DeregisterContainerInstanceRequest& WithContainerInstance(Aws::String&& value) { SetContainerInstance(std::move(value)); return *this;} /** *

The container instance ID or full ARN of the container instance to * deregister. For more information about the ARN format, see Amazon * Resource Name (ARN) in the Amazon ECS Developer Guide.

*/ inline DeregisterContainerInstanceRequest& WithContainerInstance(const char* value) { SetContainerInstance(value); return *this;} /** *

Forces the container instance to be deregistered. If you have tasks running * on the container instance when you deregister it with the force * option, these tasks remain running until you terminate the instance or the tasks * stop through some other means, but they're orphaned (no longer monitored or * accounted for by Amazon ECS). If an orphaned task on your container instance is * part of an Amazon ECS service, then the service scheduler starts another copy of * that task, on a different container instance if possible.

Any containers * in orphaned service tasks that are registered with a Classic Load Balancer or an * Application Load Balancer target group are deregistered. They begin connection * draining according to the settings on the load balancer or target group.

*/ inline bool GetForce() const{ return m_force; } /** *

Forces the container instance to be deregistered. If you have tasks running * on the container instance when you deregister it with the force * option, these tasks remain running until you terminate the instance or the tasks * stop through some other means, but they're orphaned (no longer monitored or * accounted for by Amazon ECS). If an orphaned task on your container instance is * part of an Amazon ECS service, then the service scheduler starts another copy of * that task, on a different container instance if possible.

Any containers * in orphaned service tasks that are registered with a Classic Load Balancer or an * Application Load Balancer target group are deregistered. They begin connection * draining according to the settings on the load balancer or target group.

*/ inline bool ForceHasBeenSet() const { return m_forceHasBeenSet; } /** *

Forces the container instance to be deregistered. If you have tasks running * on the container instance when you deregister it with the force * option, these tasks remain running until you terminate the instance or the tasks * stop through some other means, but they're orphaned (no longer monitored or * accounted for by Amazon ECS). If an orphaned task on your container instance is * part of an Amazon ECS service, then the service scheduler starts another copy of * that task, on a different container instance if possible.

Any containers * in orphaned service tasks that are registered with a Classic Load Balancer or an * Application Load Balancer target group are deregistered. They begin connection * draining according to the settings on the load balancer or target group.

*/ inline void SetForce(bool value) { m_forceHasBeenSet = true; m_force = value; } /** *

Forces the container instance to be deregistered. If you have tasks running * on the container instance when you deregister it with the force * option, these tasks remain running until you terminate the instance or the tasks * stop through some other means, but they're orphaned (no longer monitored or * accounted for by Amazon ECS). If an orphaned task on your container instance is * part of an Amazon ECS service, then the service scheduler starts another copy of * that task, on a different container instance if possible.

Any containers * in orphaned service tasks that are registered with a Classic Load Balancer or an * Application Load Balancer target group are deregistered. They begin connection * draining according to the settings on the load balancer or target group.

*/ inline DeregisterContainerInstanceRequest& WithForce(bool value) { SetForce(value); return *this;} private: Aws::String m_cluster; bool m_clusterHasBeenSet = false; Aws::String m_containerInstance; bool m_containerInstanceHasBeenSet = false; bool m_force; bool m_forceHasBeenSet = false; }; } // namespace Model } // namespace ECS } // namespace Aws