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/elasticloadbalancing/ElasticLoadBalancing_EXPORTS.h>
8 #include <aws/elasticloadbalancing/ElasticLoadBalancingRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/elasticloadbalancing/model/LoadBalancerAttributes.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace ElasticLoadBalancing
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Contains the parameters for ModifyLoadBalancerAttributes.</p><p><h3>See
22    * Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticloadbalancing-2012-06-01/ModifyLoadBalancerAttributesInput">AWS
24    * API Reference</a></p>
25    */
26   class AWS_ELASTICLOADBALANCING_API ModifyLoadBalancerAttributesRequest : public ElasticLoadBalancingRequest
27   {
28   public:
29     ModifyLoadBalancerAttributesRequest();
30 
31     // Service request name is the Operation name which will send this request out,
32     // each operation should has unique request name, so that we can get operation's name from this request.
33     // Note: this is not true for response, multiple operations may have the same response name,
34     // so we can not get operation's name from response.
GetServiceRequestName()35     inline virtual const char* GetServiceRequestName() const override { return "ModifyLoadBalancerAttributes"; }
36 
37     Aws::String SerializePayload() const override;
38 
39   protected:
40     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
41 
42   public:
43 
44     /**
45      * <p>The name of the load balancer.</p>
46      */
GetLoadBalancerName()47     inline const Aws::String& GetLoadBalancerName() const{ return m_loadBalancerName; }
48 
49     /**
50      * <p>The name of the load balancer.</p>
51      */
LoadBalancerNameHasBeenSet()52     inline bool LoadBalancerNameHasBeenSet() const { return m_loadBalancerNameHasBeenSet; }
53 
54     /**
55      * <p>The name of the load balancer.</p>
56      */
SetLoadBalancerName(const Aws::String & value)57     inline void SetLoadBalancerName(const Aws::String& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = value; }
58 
59     /**
60      * <p>The name of the load balancer.</p>
61      */
SetLoadBalancerName(Aws::String && value)62     inline void SetLoadBalancerName(Aws::String&& value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName = std::move(value); }
63 
64     /**
65      * <p>The name of the load balancer.</p>
66      */
SetLoadBalancerName(const char * value)67     inline void SetLoadBalancerName(const char* value) { m_loadBalancerNameHasBeenSet = true; m_loadBalancerName.assign(value); }
68 
69     /**
70      * <p>The name of the load balancer.</p>
71      */
WithLoadBalancerName(const Aws::String & value)72     inline ModifyLoadBalancerAttributesRequest& WithLoadBalancerName(const Aws::String& value) { SetLoadBalancerName(value); return *this;}
73 
74     /**
75      * <p>The name of the load balancer.</p>
76      */
WithLoadBalancerName(Aws::String && value)77     inline ModifyLoadBalancerAttributesRequest& WithLoadBalancerName(Aws::String&& value) { SetLoadBalancerName(std::move(value)); return *this;}
78 
79     /**
80      * <p>The name of the load balancer.</p>
81      */
WithLoadBalancerName(const char * value)82     inline ModifyLoadBalancerAttributesRequest& WithLoadBalancerName(const char* value) { SetLoadBalancerName(value); return *this;}
83 
84 
85     /**
86      * <p>The attributes for the load balancer.</p>
87      */
GetLoadBalancerAttributes()88     inline const LoadBalancerAttributes& GetLoadBalancerAttributes() const{ return m_loadBalancerAttributes; }
89 
90     /**
91      * <p>The attributes for the load balancer.</p>
92      */
LoadBalancerAttributesHasBeenSet()93     inline bool LoadBalancerAttributesHasBeenSet() const { return m_loadBalancerAttributesHasBeenSet; }
94 
95     /**
96      * <p>The attributes for the load balancer.</p>
97      */
SetLoadBalancerAttributes(const LoadBalancerAttributes & value)98     inline void SetLoadBalancerAttributes(const LoadBalancerAttributes& value) { m_loadBalancerAttributesHasBeenSet = true; m_loadBalancerAttributes = value; }
99 
100     /**
101      * <p>The attributes for the load balancer.</p>
102      */
SetLoadBalancerAttributes(LoadBalancerAttributes && value)103     inline void SetLoadBalancerAttributes(LoadBalancerAttributes&& value) { m_loadBalancerAttributesHasBeenSet = true; m_loadBalancerAttributes = std::move(value); }
104 
105     /**
106      * <p>The attributes for the load balancer.</p>
107      */
WithLoadBalancerAttributes(const LoadBalancerAttributes & value)108     inline ModifyLoadBalancerAttributesRequest& WithLoadBalancerAttributes(const LoadBalancerAttributes& value) { SetLoadBalancerAttributes(value); return *this;}
109 
110     /**
111      * <p>The attributes for the load balancer.</p>
112      */
WithLoadBalancerAttributes(LoadBalancerAttributes && value)113     inline ModifyLoadBalancerAttributesRequest& WithLoadBalancerAttributes(LoadBalancerAttributes&& value) { SetLoadBalancerAttributes(std::move(value)); return *this;}
114 
115   private:
116 
117     Aws::String m_loadBalancerName;
118     bool m_loadBalancerNameHasBeenSet;
119 
120     LoadBalancerAttributes m_loadBalancerAttributes;
121     bool m_loadBalancerAttributesHasBeenSet;
122   };
123 
124 } // namespace Model
125 } // namespace ElasticLoadBalancing
126 } // namespace Aws
127