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/elasticbeanstalk/ElasticBeanstalk_EXPORTS.h>
8 #include <aws/elasticbeanstalk/ElasticBeanstalkRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace ElasticBeanstalk
15 {
16 namespace Model
17 {
18 
19   /**
20    * <p>Request to update an application.</p><p><h3>See Also:</h3>   <a
21    * href="http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/UpdateApplicationMessage">AWS
22    * API Reference</a></p>
23    */
24   class AWS_ELASTICBEANSTALK_API UpdateApplicationRequest : public ElasticBeanstalkRequest
25   {
26   public:
27     UpdateApplicationRequest();
28 
29     // Service request name is the Operation name which will send this request out,
30     // each operation should has unique request name, so that we can get operation's name from this request.
31     // Note: this is not true for response, multiple operations may have the same response name,
32     // so we can not get operation's name from response.
GetServiceRequestName()33     inline virtual const char* GetServiceRequestName() const override { return "UpdateApplication"; }
34 
35     Aws::String SerializePayload() const override;
36 
37   protected:
38     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
39 
40   public:
41 
42     /**
43      * <p>The name of the application to update. If no such application is found,
44      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
45      * error. </p>
46      */
GetApplicationName()47     inline const Aws::String& GetApplicationName() const{ return m_applicationName; }
48 
49     /**
50      * <p>The name of the application to update. If no such application is found,
51      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
52      * error. </p>
53      */
ApplicationNameHasBeenSet()54     inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; }
55 
56     /**
57      * <p>The name of the application to update. If no such application is found,
58      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
59      * error. </p>
60      */
SetApplicationName(const Aws::String & value)61     inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; }
62 
63     /**
64      * <p>The name of the application to update. If no such application is found,
65      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
66      * error. </p>
67      */
SetApplicationName(Aws::String && value)68     inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); }
69 
70     /**
71      * <p>The name of the application to update. If no such application is found,
72      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
73      * error. </p>
74      */
SetApplicationName(const char * value)75     inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); }
76 
77     /**
78      * <p>The name of the application to update. If no such application is found,
79      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
80      * error. </p>
81      */
WithApplicationName(const Aws::String & value)82     inline UpdateApplicationRequest& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;}
83 
84     /**
85      * <p>The name of the application to update. If no such application is found,
86      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
87      * error. </p>
88      */
WithApplicationName(Aws::String && value)89     inline UpdateApplicationRequest& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;}
90 
91     /**
92      * <p>The name of the application to update. If no such application is found,
93      * <code>UpdateApplication</code> returns an <code>InvalidParameterValue</code>
94      * error. </p>
95      */
WithApplicationName(const char * value)96     inline UpdateApplicationRequest& WithApplicationName(const char* value) { SetApplicationName(value); return *this;}
97 
98 
99     /**
100      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
101      * Elastic Beanstalk does not update the description.</p>
102      */
GetDescription()103     inline const Aws::String& GetDescription() const{ return m_description; }
104 
105     /**
106      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
107      * Elastic Beanstalk does not update the description.</p>
108      */
DescriptionHasBeenSet()109     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
110 
111     /**
112      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
113      * Elastic Beanstalk does not update the description.</p>
114      */
SetDescription(const Aws::String & value)115     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
116 
117     /**
118      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
119      * Elastic Beanstalk does not update the description.</p>
120      */
SetDescription(Aws::String && value)121     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
122 
123     /**
124      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
125      * Elastic Beanstalk does not update the description.</p>
126      */
SetDescription(const char * value)127     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
128 
129     /**
130      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
131      * Elastic Beanstalk does not update the description.</p>
132      */
WithDescription(const Aws::String & value)133     inline UpdateApplicationRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
134 
135     /**
136      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
137      * Elastic Beanstalk does not update the description.</p>
138      */
WithDescription(Aws::String && value)139     inline UpdateApplicationRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
140 
141     /**
142      * <p>A new description for the application.</p> <p>Default: If not specified, AWS
143      * Elastic Beanstalk does not update the description.</p>
144      */
WithDescription(const char * value)145     inline UpdateApplicationRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
146 
147   private:
148 
149     Aws::String m_applicationName;
150     bool m_applicationNameHasBeenSet;
151 
152     Aws::String m_description;
153     bool m_descriptionHasBeenSet;
154   };
155 
156 } // namespace Model
157 } // namespace ElasticBeanstalk
158 } // namespace Aws
159