1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/autoscaling/AutoScaling_EXPORTS.h> 8 #include <aws/autoscaling/AutoScalingRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/core/utils/memory/stl/AWSVector.h> 11 #include <utility> 12 13 namespace Aws 14 { 15 namespace AutoScaling 16 { 17 namespace Model 18 { 19 20 /** 21 */ 22 class AWS_AUTOSCALING_API AttachLoadBalancersRequest : public AutoScalingRequest 23 { 24 public: 25 AttachLoadBalancersRequest(); 26 27 // Service request name is the Operation name which will send this request out, 28 // each operation should has unique request name, so that we can get operation's name from this request. 29 // Note: this is not true for response, multiple operations may have the same response name, 30 // so we can not get operation's name from response. GetServiceRequestName()31 inline virtual const char* GetServiceRequestName() const override { return "AttachLoadBalancers"; } 32 33 Aws::String SerializePayload() const override; 34 35 protected: 36 void DumpBodyToUrl(Aws::Http::URI& uri ) const override; 37 38 public: 39 40 /** 41 * <p>The name of the Auto Scaling group.</p> 42 */ GetAutoScalingGroupName()43 inline const Aws::String& GetAutoScalingGroupName() const{ return m_autoScalingGroupName; } 44 45 /** 46 * <p>The name of the Auto Scaling group.</p> 47 */ AutoScalingGroupNameHasBeenSet()48 inline bool AutoScalingGroupNameHasBeenSet() const { return m_autoScalingGroupNameHasBeenSet; } 49 50 /** 51 * <p>The name of the Auto Scaling group.</p> 52 */ SetAutoScalingGroupName(const Aws::String & value)53 inline void SetAutoScalingGroupName(const Aws::String& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = value; } 54 55 /** 56 * <p>The name of the Auto Scaling group.</p> 57 */ SetAutoScalingGroupName(Aws::String && value)58 inline void SetAutoScalingGroupName(Aws::String&& value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName = std::move(value); } 59 60 /** 61 * <p>The name of the Auto Scaling group.</p> 62 */ SetAutoScalingGroupName(const char * value)63 inline void SetAutoScalingGroupName(const char* value) { m_autoScalingGroupNameHasBeenSet = true; m_autoScalingGroupName.assign(value); } 64 65 /** 66 * <p>The name of the Auto Scaling group.</p> 67 */ WithAutoScalingGroupName(const Aws::String & value)68 inline AttachLoadBalancersRequest& WithAutoScalingGroupName(const Aws::String& value) { SetAutoScalingGroupName(value); return *this;} 69 70 /** 71 * <p>The name of the Auto Scaling group.</p> 72 */ WithAutoScalingGroupName(Aws::String && value)73 inline AttachLoadBalancersRequest& WithAutoScalingGroupName(Aws::String&& value) { SetAutoScalingGroupName(std::move(value)); return *this;} 74 75 /** 76 * <p>The name of the Auto Scaling group.</p> 77 */ WithAutoScalingGroupName(const char * value)78 inline AttachLoadBalancersRequest& WithAutoScalingGroupName(const char* value) { SetAutoScalingGroupName(value); return *this;} 79 80 81 /** 82 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 83 */ GetLoadBalancerNames()84 inline const Aws::Vector<Aws::String>& GetLoadBalancerNames() const{ return m_loadBalancerNames; } 85 86 /** 87 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 88 */ LoadBalancerNamesHasBeenSet()89 inline bool LoadBalancerNamesHasBeenSet() const { return m_loadBalancerNamesHasBeenSet; } 90 91 /** 92 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 93 */ SetLoadBalancerNames(const Aws::Vector<Aws::String> & value)94 inline void SetLoadBalancerNames(const Aws::Vector<Aws::String>& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = value; } 95 96 /** 97 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 98 */ SetLoadBalancerNames(Aws::Vector<Aws::String> && value)99 inline void SetLoadBalancerNames(Aws::Vector<Aws::String>&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames = std::move(value); } 100 101 /** 102 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 103 */ WithLoadBalancerNames(const Aws::Vector<Aws::String> & value)104 inline AttachLoadBalancersRequest& WithLoadBalancerNames(const Aws::Vector<Aws::String>& value) { SetLoadBalancerNames(value); return *this;} 105 106 /** 107 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 108 */ WithLoadBalancerNames(Aws::Vector<Aws::String> && value)109 inline AttachLoadBalancersRequest& WithLoadBalancerNames(Aws::Vector<Aws::String>&& value) { SetLoadBalancerNames(std::move(value)); return *this;} 110 111 /** 112 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 113 */ AddLoadBalancerNames(const Aws::String & value)114 inline AttachLoadBalancersRequest& AddLoadBalancerNames(const Aws::String& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } 115 116 /** 117 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 118 */ AddLoadBalancerNames(Aws::String && value)119 inline AttachLoadBalancersRequest& AddLoadBalancerNames(Aws::String&& value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(std::move(value)); return *this; } 120 121 /** 122 * <p>The names of the load balancers. You can specify up to 10 load balancers.</p> 123 */ AddLoadBalancerNames(const char * value)124 inline AttachLoadBalancersRequest& AddLoadBalancerNames(const char* value) { m_loadBalancerNamesHasBeenSet = true; m_loadBalancerNames.push_back(value); return *this; } 125 126 private: 127 128 Aws::String m_autoScalingGroupName; 129 bool m_autoScalingGroupNameHasBeenSet; 130 131 Aws::Vector<Aws::String> m_loadBalancerNames; 132 bool m_loadBalancerNamesHasBeenSet; 133 }; 134 135 } // namespace Model 136 } // namespace AutoScaling 137 } // namespace Aws 138