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/cloudformation/CloudFormation_EXPORTS.h>
8 #include <aws/cloudformation/CloudFormationRequest.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace CloudFormation
15 {
16 namespace Model
17 {
18 
19   /**
20    */
21   class AWS_CLOUDFORMATION_API RegisterPublisherRequest : public CloudFormationRequest
22   {
23   public:
24     RegisterPublisherRequest();
25 
26     // Service request name is the Operation name which will send this request out,
27     // each operation should has unique request name, so that we can get operation's name from this request.
28     // Note: this is not true for response, multiple operations may have the same response name,
29     // so we can not get operation's name from response.
GetServiceRequestName()30     inline virtual const char* GetServiceRequestName() const override { return "RegisterPublisher"; }
31 
32     Aws::String SerializePayload() const override;
33 
34   protected:
35     void DumpBodyToUrl(Aws::Http::URI& uri ) const override;
36 
37   public:
38 
39     /**
40      * <p>Whether you accept the <a
41      * href="https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf">Terms
42      * and Conditions</a> for publishing extensions in the CloudFormation registry. You
43      * must accept the terms and conditions in order to register to publish public
44      * extensions to the CloudFormation registry.</p> <p>The default is
45      * <code>false</code>.</p>
46      */
GetAcceptTermsAndConditions()47     inline bool GetAcceptTermsAndConditions() const{ return m_acceptTermsAndConditions; }
48 
49     /**
50      * <p>Whether you accept the <a
51      * href="https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf">Terms
52      * and Conditions</a> for publishing extensions in the CloudFormation registry. You
53      * must accept the terms and conditions in order to register to publish public
54      * extensions to the CloudFormation registry.</p> <p>The default is
55      * <code>false</code>.</p>
56      */
AcceptTermsAndConditionsHasBeenSet()57     inline bool AcceptTermsAndConditionsHasBeenSet() const { return m_acceptTermsAndConditionsHasBeenSet; }
58 
59     /**
60      * <p>Whether you accept the <a
61      * href="https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf">Terms
62      * and Conditions</a> for publishing extensions in the CloudFormation registry. You
63      * must accept the terms and conditions in order to register to publish public
64      * extensions to the CloudFormation registry.</p> <p>The default is
65      * <code>false</code>.</p>
66      */
SetAcceptTermsAndConditions(bool value)67     inline void SetAcceptTermsAndConditions(bool value) { m_acceptTermsAndConditionsHasBeenSet = true; m_acceptTermsAndConditions = value; }
68 
69     /**
70      * <p>Whether you accept the <a
71      * href="https://cloudformation-registry-documents.s3.amazonaws.com/Terms_and_Conditions_for_AWS_CloudFormation_Registry_Publishers.pdf">Terms
72      * and Conditions</a> for publishing extensions in the CloudFormation registry. You
73      * must accept the terms and conditions in order to register to publish public
74      * extensions to the CloudFormation registry.</p> <p>The default is
75      * <code>false</code>.</p>
76      */
WithAcceptTermsAndConditions(bool value)77     inline RegisterPublisherRequest& WithAcceptTermsAndConditions(bool value) { SetAcceptTermsAndConditions(value); return *this;}
78 
79 
80     /**
81      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
82      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
83      * information, see <a
84      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
85      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
86      * CLI User Guide</i>.</p>
87      */
GetConnectionArn()88     inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; }
89 
90     /**
91      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
92      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
93      * information, see <a
94      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
95      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
96      * CLI User Guide</i>.</p>
97      */
ConnectionArnHasBeenSet()98     inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; }
99 
100     /**
101      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
102      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
103      * information, see <a
104      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
105      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
106      * CLI User Guide</i>.</p>
107      */
SetConnectionArn(const Aws::String & value)108     inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; }
109 
110     /**
111      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
112      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
113      * information, see <a
114      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
115      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
116      * CLI User Guide</i>.</p>
117      */
SetConnectionArn(Aws::String && value)118     inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); }
119 
120     /**
121      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
122      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
123      * information, see <a
124      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
125      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
126      * CLI User Guide</i>.</p>
127      */
SetConnectionArn(const char * value)128     inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); }
129 
130     /**
131      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
132      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
133      * information, see <a
134      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
135      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
136      * CLI User Guide</i>.</p>
137      */
WithConnectionArn(const Aws::String & value)138     inline RegisterPublisherRequest& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;}
139 
140     /**
141      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
142      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
143      * information, see <a
144      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
145      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
146      * CLI User Guide</i>.</p>
147      */
WithConnectionArn(Aws::String && value)148     inline RegisterPublisherRequest& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;}
149 
150     /**
151      * <p>If you are using a Bitbucket or GitHub account for identity verification, the
152      * Amazon Resource Name (ARN) for your connection to that account.</p> <p>For more
153      * information, see <a
154      * href="https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-prereqs">Registering
155      * your account to publish CloudFormation extensions</a> in the <i>CloudFormation
156      * CLI User Guide</i>.</p>
157      */
WithConnectionArn(const char * value)158     inline RegisterPublisherRequest& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;}
159 
160   private:
161 
162     bool m_acceptTermsAndConditions;
163     bool m_acceptTermsAndConditionsHasBeenSet;
164 
165     Aws::String m_connectionArn;
166     bool m_connectionArnHasBeenSet;
167   };
168 
169 } // namespace Model
170 } // namespace CloudFormation
171 } // namespace Aws
172