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

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline const Aws::String& GetClusterId() const{ return m_clusterId; } /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline bool ClusterIdHasBeenSet() const { return m_clusterIdHasBeenSet; } /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline void SetClusterId(const Aws::String& value) { m_clusterIdHasBeenSet = true; m_clusterId = value; } /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline void SetClusterId(Aws::String&& value) { m_clusterIdHasBeenSet = true; m_clusterId = std::move(value); } /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline void SetClusterId(const char* value) { m_clusterIdHasBeenSet = true; m_clusterId.assign(value); } /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline PutAutoScalingPolicyRequest& WithClusterId(const Aws::String& value) { SetClusterId(value); return *this;} /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline PutAutoScalingPolicyRequest& WithClusterId(Aws::String&& value) { SetClusterId(std::move(value)); return *this;} /** *

Specifies the ID of a cluster. The instance group to which the automatic * scaling policy is applied is within this cluster.

*/ inline PutAutoScalingPolicyRequest& WithClusterId(const char* value) { SetClusterId(value); return *this;} /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline const Aws::String& GetInstanceGroupId() const{ return m_instanceGroupId; } /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline bool InstanceGroupIdHasBeenSet() const { return m_instanceGroupIdHasBeenSet; } /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline void SetInstanceGroupId(const Aws::String& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = value; } /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline void SetInstanceGroupId(Aws::String&& value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId = std::move(value); } /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline void SetInstanceGroupId(const char* value) { m_instanceGroupIdHasBeenSet = true; m_instanceGroupId.assign(value); } /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline PutAutoScalingPolicyRequest& WithInstanceGroupId(const Aws::String& value) { SetInstanceGroupId(value); return *this;} /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline PutAutoScalingPolicyRequest& WithInstanceGroupId(Aws::String&& value) { SetInstanceGroupId(std::move(value)); return *this;} /** *

Specifies the ID of the instance group to which the automatic scaling policy * is applied.

*/ inline PutAutoScalingPolicyRequest& WithInstanceGroupId(const char* value) { SetInstanceGroupId(value); return *this;} /** *

Specifies the definition of the automatic scaling policy.

*/ inline const AutoScalingPolicy& GetAutoScalingPolicy() const{ return m_autoScalingPolicy; } /** *

Specifies the definition of the automatic scaling policy.

*/ inline bool AutoScalingPolicyHasBeenSet() const { return m_autoScalingPolicyHasBeenSet; } /** *

Specifies the definition of the automatic scaling policy.

*/ inline void SetAutoScalingPolicy(const AutoScalingPolicy& value) { m_autoScalingPolicyHasBeenSet = true; m_autoScalingPolicy = value; } /** *

Specifies the definition of the automatic scaling policy.

*/ inline void SetAutoScalingPolicy(AutoScalingPolicy&& value) { m_autoScalingPolicyHasBeenSet = true; m_autoScalingPolicy = std::move(value); } /** *

Specifies the definition of the automatic scaling policy.

*/ inline PutAutoScalingPolicyRequest& WithAutoScalingPolicy(const AutoScalingPolicy& value) { SetAutoScalingPolicy(value); return *this;} /** *

Specifies the definition of the automatic scaling policy.

*/ inline PutAutoScalingPolicyRequest& WithAutoScalingPolicy(AutoScalingPolicy&& value) { SetAutoScalingPolicy(std::move(value)); return *this;} private: Aws::String m_clusterId; bool m_clusterIdHasBeenSet = false; Aws::String m_instanceGroupId; bool m_instanceGroupIdHasBeenSet = false; AutoScalingPolicy m_autoScalingPolicy; bool m_autoScalingPolicyHasBeenSet = false; }; } // namespace Model } // namespace EMR } // namespace Aws