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/codedeploy/CodeDeploy_EXPORTS.h>
8 #include <aws/codedeploy/CodeDeployRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <aws/codedeploy/model/RevisionLocation.h>
11 #include <utility>
12 
13 namespace Aws
14 {
15 namespace CodeDeploy
16 {
17 namespace Model
18 {
19 
20   /**
21    * <p>Represents the input of a RegisterApplicationRevision
22    * operation.</p><p><h3>See Also:</h3>   <a
23    * href="http://docs.aws.amazon.com/goto/WebAPI/codedeploy-2014-10-06/RegisterApplicationRevisionInput">AWS
24    * API Reference</a></p>
25    */
26   class AWS_CODEDEPLOY_API RegisterApplicationRevisionRequest : public CodeDeployRequest
27   {
28   public:
29     RegisterApplicationRevisionRequest();
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 "RegisterApplicationRevision"; }
36 
37     Aws::String SerializePayload() const override;
38 
39     Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override;
40 
41 
42     /**
43      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
44      * account.</p>
45      */
GetApplicationName()46     inline const Aws::String& GetApplicationName() const{ return m_applicationName; }
47 
48     /**
49      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
50      * account.</p>
51      */
ApplicationNameHasBeenSet()52     inline bool ApplicationNameHasBeenSet() const { return m_applicationNameHasBeenSet; }
53 
54     /**
55      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
56      * account.</p>
57      */
SetApplicationName(const Aws::String & value)58     inline void SetApplicationName(const Aws::String& value) { m_applicationNameHasBeenSet = true; m_applicationName = value; }
59 
60     /**
61      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
62      * account.</p>
63      */
SetApplicationName(Aws::String && value)64     inline void SetApplicationName(Aws::String&& value) { m_applicationNameHasBeenSet = true; m_applicationName = std::move(value); }
65 
66     /**
67      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
68      * account.</p>
69      */
SetApplicationName(const char * value)70     inline void SetApplicationName(const char* value) { m_applicationNameHasBeenSet = true; m_applicationName.assign(value); }
71 
72     /**
73      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
74      * account.</p>
75      */
WithApplicationName(const Aws::String & value)76     inline RegisterApplicationRevisionRequest& WithApplicationName(const Aws::String& value) { SetApplicationName(value); return *this;}
77 
78     /**
79      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
80      * account.</p>
81      */
WithApplicationName(Aws::String && value)82     inline RegisterApplicationRevisionRequest& WithApplicationName(Aws::String&& value) { SetApplicationName(std::move(value)); return *this;}
83 
84     /**
85      * <p>The name of an AWS CodeDeploy application associated with the IAM user or AWS
86      * account.</p>
87      */
WithApplicationName(const char * value)88     inline RegisterApplicationRevisionRequest& WithApplicationName(const char* value) { SetApplicationName(value); return *this;}
89 
90 
91     /**
92      * <p>A comment about the revision.</p>
93      */
GetDescription()94     inline const Aws::String& GetDescription() const{ return m_description; }
95 
96     /**
97      * <p>A comment about the revision.</p>
98      */
DescriptionHasBeenSet()99     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
100 
101     /**
102      * <p>A comment about the revision.</p>
103      */
SetDescription(const Aws::String & value)104     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
105 
106     /**
107      * <p>A comment about the revision.</p>
108      */
SetDescription(Aws::String && value)109     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
110 
111     /**
112      * <p>A comment about the revision.</p>
113      */
SetDescription(const char * value)114     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
115 
116     /**
117      * <p>A comment about the revision.</p>
118      */
WithDescription(const Aws::String & value)119     inline RegisterApplicationRevisionRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
120 
121     /**
122      * <p>A comment about the revision.</p>
123      */
WithDescription(Aws::String && value)124     inline RegisterApplicationRevisionRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
125 
126     /**
127      * <p>A comment about the revision.</p>
128      */
WithDescription(const char * value)129     inline RegisterApplicationRevisionRequest& WithDescription(const char* value) { SetDescription(value); return *this;}
130 
131 
132     /**
133      * <p>Information about the application revision to register, including type and
134      * location.</p>
135      */
GetRevision()136     inline const RevisionLocation& GetRevision() const{ return m_revision; }
137 
138     /**
139      * <p>Information about the application revision to register, including type and
140      * location.</p>
141      */
RevisionHasBeenSet()142     inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; }
143 
144     /**
145      * <p>Information about the application revision to register, including type and
146      * location.</p>
147      */
SetRevision(const RevisionLocation & value)148     inline void SetRevision(const RevisionLocation& value) { m_revisionHasBeenSet = true; m_revision = value; }
149 
150     /**
151      * <p>Information about the application revision to register, including type and
152      * location.</p>
153      */
SetRevision(RevisionLocation && value)154     inline void SetRevision(RevisionLocation&& value) { m_revisionHasBeenSet = true; m_revision = std::move(value); }
155 
156     /**
157      * <p>Information about the application revision to register, including type and
158      * location.</p>
159      */
WithRevision(const RevisionLocation & value)160     inline RegisterApplicationRevisionRequest& WithRevision(const RevisionLocation& value) { SetRevision(value); return *this;}
161 
162     /**
163      * <p>Information about the application revision to register, including type and
164      * location.</p>
165      */
WithRevision(RevisionLocation && value)166     inline RegisterApplicationRevisionRequest& WithRevision(RevisionLocation&& value) { SetRevision(std::move(value)); return *this;}
167 
168   private:
169 
170     Aws::String m_applicationName;
171     bool m_applicationNameHasBeenSet;
172 
173     Aws::String m_description;
174     bool m_descriptionHasBeenSet;
175 
176     RevisionLocation m_revision;
177     bool m_revisionHasBeenSet;
178   };
179 
180 } // namespace Model
181 } // namespace CodeDeploy
182 } // namespace Aws
183