/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace EMR { namespace Model { /** *

The input argument to the TerminationProtection operation. *

See Also:

AWS * API Reference

*/ class SetTerminationProtectionRequest : public EMRRequest { public: AWS_EMR_API SetTerminationProtectionRequest(); // 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 "SetTerminationProtection"; } AWS_EMR_API Aws::String SerializePayload() const override; AWS_EMR_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline const Aws::Vector& GetJobFlowIds() const{ return m_jobFlowIds; } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline bool JobFlowIdsHasBeenSet() const { return m_jobFlowIdsHasBeenSet; } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline void SetJobFlowIds(const Aws::Vector& value) { m_jobFlowIdsHasBeenSet = true; m_jobFlowIds = value; } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline void SetJobFlowIds(Aws::Vector&& value) { m_jobFlowIdsHasBeenSet = true; m_jobFlowIds = std::move(value); } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline SetTerminationProtectionRequest& WithJobFlowIds(const Aws::Vector& value) { SetJobFlowIds(value); return *this;} /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline SetTerminationProtectionRequest& WithJobFlowIds(Aws::Vector&& value) { SetJobFlowIds(std::move(value)); return *this;} /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline SetTerminationProtectionRequest& AddJobFlowIds(const Aws::String& value) { m_jobFlowIdsHasBeenSet = true; m_jobFlowIds.push_back(value); return *this; } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline SetTerminationProtectionRequest& AddJobFlowIds(Aws::String&& value) { m_jobFlowIdsHasBeenSet = true; m_jobFlowIds.push_back(std::move(value)); return *this; } /** *

A list of strings that uniquely identify the clusters to protect. This * identifier is returned by RunJobFlow and can also be obtained from * DescribeJobFlows .

*/ inline SetTerminationProtectionRequest& AddJobFlowIds(const char* value) { m_jobFlowIdsHasBeenSet = true; m_jobFlowIds.push_back(value); return *this; } /** *

A Boolean that indicates whether to protect the cluster and prevent the * Amazon EC2 instances in the cluster from shutting down due to API calls, user * intervention, or job-flow error.

*/ inline bool GetTerminationProtected() const{ return m_terminationProtected; } /** *

A Boolean that indicates whether to protect the cluster and prevent the * Amazon EC2 instances in the cluster from shutting down due to API calls, user * intervention, or job-flow error.

*/ inline bool TerminationProtectedHasBeenSet() const { return m_terminationProtectedHasBeenSet; } /** *

A Boolean that indicates whether to protect the cluster and prevent the * Amazon EC2 instances in the cluster from shutting down due to API calls, user * intervention, or job-flow error.

*/ inline void SetTerminationProtected(bool value) { m_terminationProtectedHasBeenSet = true; m_terminationProtected = value; } /** *

A Boolean that indicates whether to protect the cluster and prevent the * Amazon EC2 instances in the cluster from shutting down due to API calls, user * intervention, or job-flow error.

*/ inline SetTerminationProtectionRequest& WithTerminationProtected(bool value) { SetTerminationProtected(value); return *this;} private: Aws::Vector m_jobFlowIds; bool m_jobFlowIdsHasBeenSet = false; bool m_terminationProtected; bool m_terminationProtectedHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws