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/ssm-contacts/SSMContacts_EXPORTS.h> 8 #include <aws/ssm-contacts/SSMContactsRequest.h> 9 #include <aws/core/utils/memory/stl/AWSString.h> 10 #include <aws/ssm-contacts/model/ContactType.h> 11 #include <aws/ssm-contacts/model/Plan.h> 12 #include <aws/core/utils/memory/stl/AWSVector.h> 13 #include <aws/ssm-contacts/model/Tag.h> 14 #include <utility> 15 #include <aws/core/utils/UUID.h> 16 17 namespace Aws 18 { 19 namespace SSMContacts 20 { 21 namespace Model 22 { 23 24 /** 25 */ 26 class AWS_SSMCONTACTS_API CreateContactRequest : public SSMContactsRequest 27 { 28 public: 29 CreateContactRequest(); 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 "CreateContact"; } 36 37 Aws::String SerializePayload() const override; 38 39 Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; 40 41 42 /** 43 * <p>The short name to quickly identify a contact or escalation plan. The contact 44 * alias must be unique and identifiable. </p> 45 */ GetAlias()46 inline const Aws::String& GetAlias() const{ return m_alias; } 47 48 /** 49 * <p>The short name to quickly identify a contact or escalation plan. The contact 50 * alias must be unique and identifiable. </p> 51 */ AliasHasBeenSet()52 inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } 53 54 /** 55 * <p>The short name to quickly identify a contact or escalation plan. The contact 56 * alias must be unique and identifiable. </p> 57 */ SetAlias(const Aws::String & value)58 inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } 59 60 /** 61 * <p>The short name to quickly identify a contact or escalation plan. The contact 62 * alias must be unique and identifiable. </p> 63 */ SetAlias(Aws::String && value)64 inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } 65 66 /** 67 * <p>The short name to quickly identify a contact or escalation plan. The contact 68 * alias must be unique and identifiable. </p> 69 */ SetAlias(const char * value)70 inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } 71 72 /** 73 * <p>The short name to quickly identify a contact or escalation plan. The contact 74 * alias must be unique and identifiable. </p> 75 */ WithAlias(const Aws::String & value)76 inline CreateContactRequest& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} 77 78 /** 79 * <p>The short name to quickly identify a contact or escalation plan. The contact 80 * alias must be unique and identifiable. </p> 81 */ WithAlias(Aws::String && value)82 inline CreateContactRequest& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} 83 84 /** 85 * <p>The short name to quickly identify a contact or escalation plan. The contact 86 * alias must be unique and identifiable. </p> 87 */ WithAlias(const char * value)88 inline CreateContactRequest& WithAlias(const char* value) { SetAlias(value); return *this;} 89 90 91 /** 92 * <p>The full name of the contact or escalation plan. </p> 93 */ GetDisplayName()94 inline const Aws::String& GetDisplayName() const{ return m_displayName; } 95 96 /** 97 * <p>The full name of the contact or escalation plan. </p> 98 */ DisplayNameHasBeenSet()99 inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } 100 101 /** 102 * <p>The full name of the contact or escalation plan. </p> 103 */ SetDisplayName(const Aws::String & value)104 inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } 105 106 /** 107 * <p>The full name of the contact or escalation plan. </p> 108 */ SetDisplayName(Aws::String && value)109 inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } 110 111 /** 112 * <p>The full name of the contact or escalation plan. </p> 113 */ SetDisplayName(const char * value)114 inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } 115 116 /** 117 * <p>The full name of the contact or escalation plan. </p> 118 */ WithDisplayName(const Aws::String & value)119 inline CreateContactRequest& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} 120 121 /** 122 * <p>The full name of the contact or escalation plan. </p> 123 */ WithDisplayName(Aws::String && value)124 inline CreateContactRequest& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} 125 126 /** 127 * <p>The full name of the contact or escalation plan. </p> 128 */ WithDisplayName(const char * value)129 inline CreateContactRequest& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} 130 131 132 /** 133 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 134 * use <code>PERSONAL</code>.</p> 135 */ GetType()136 inline const ContactType& GetType() const{ return m_type; } 137 138 /** 139 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 140 * use <code>PERSONAL</code>.</p> 141 */ TypeHasBeenSet()142 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 143 144 /** 145 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 146 * use <code>PERSONAL</code>.</p> 147 */ SetType(const ContactType & value)148 inline void SetType(const ContactType& value) { m_typeHasBeenSet = true; m_type = value; } 149 150 /** 151 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 152 * use <code>PERSONAL</code>.</p> 153 */ SetType(ContactType && value)154 inline void SetType(ContactType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 155 156 /** 157 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 158 * use <code>PERSONAL</code>.</p> 159 */ WithType(const ContactType & value)160 inline CreateContactRequest& WithType(const ContactType& value) { SetType(value); return *this;} 161 162 /** 163 * <p>To create an escalation plan use <code>ESCALATION</code>. To create a contact 164 * use <code>PERSONAL</code>.</p> 165 */ WithType(ContactType && value)166 inline CreateContactRequest& WithType(ContactType&& value) { SetType(std::move(value)); return *this;} 167 168 169 /** 170 * <p>A list of stages. A contact has an engagement plan with stages that contact 171 * specified contact channels. An escalation plan uses stages that contact 172 * specified contacts. </p> 173 */ GetPlan()174 inline const Plan& GetPlan() const{ return m_plan; } 175 176 /** 177 * <p>A list of stages. A contact has an engagement plan with stages that contact 178 * specified contact channels. An escalation plan uses stages that contact 179 * specified contacts. </p> 180 */ PlanHasBeenSet()181 inline bool PlanHasBeenSet() const { return m_planHasBeenSet; } 182 183 /** 184 * <p>A list of stages. A contact has an engagement plan with stages that contact 185 * specified contact channels. An escalation plan uses stages that contact 186 * specified contacts. </p> 187 */ SetPlan(const Plan & value)188 inline void SetPlan(const Plan& value) { m_planHasBeenSet = true; m_plan = value; } 189 190 /** 191 * <p>A list of stages. A contact has an engagement plan with stages that contact 192 * specified contact channels. An escalation plan uses stages that contact 193 * specified contacts. </p> 194 */ SetPlan(Plan && value)195 inline void SetPlan(Plan&& value) { m_planHasBeenSet = true; m_plan = std::move(value); } 196 197 /** 198 * <p>A list of stages. A contact has an engagement plan with stages that contact 199 * specified contact channels. An escalation plan uses stages that contact 200 * specified contacts. </p> 201 */ WithPlan(const Plan & value)202 inline CreateContactRequest& WithPlan(const Plan& value) { SetPlan(value); return *this;} 203 204 /** 205 * <p>A list of stages. A contact has an engagement plan with stages that contact 206 * specified contact channels. An escalation plan uses stages that contact 207 * specified contacts. </p> 208 */ WithPlan(Plan && value)209 inline CreateContactRequest& WithPlan(Plan&& value) { SetPlan(std::move(value)); return *this;} 210 211 212 /** 213 * <p>Adds a tag to the target. You can only tag resources created in the first 214 * Region of your replication set. </p> 215 */ GetTags()216 inline const Aws::Vector<Tag>& GetTags() const{ return m_tags; } 217 218 /** 219 * <p>Adds a tag to the target. You can only tag resources created in the first 220 * Region of your replication set. </p> 221 */ TagsHasBeenSet()222 inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } 223 224 /** 225 * <p>Adds a tag to the target. You can only tag resources created in the first 226 * Region of your replication set. </p> 227 */ SetTags(const Aws::Vector<Tag> & value)228 inline void SetTags(const Aws::Vector<Tag>& value) { m_tagsHasBeenSet = true; m_tags = value; } 229 230 /** 231 * <p>Adds a tag to the target. You can only tag resources created in the first 232 * Region of your replication set. </p> 233 */ SetTags(Aws::Vector<Tag> && value)234 inline void SetTags(Aws::Vector<Tag>&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } 235 236 /** 237 * <p>Adds a tag to the target. You can only tag resources created in the first 238 * Region of your replication set. </p> 239 */ WithTags(const Aws::Vector<Tag> & value)240 inline CreateContactRequest& WithTags(const Aws::Vector<Tag>& value) { SetTags(value); return *this;} 241 242 /** 243 * <p>Adds a tag to the target. You can only tag resources created in the first 244 * Region of your replication set. </p> 245 */ WithTags(Aws::Vector<Tag> && value)246 inline CreateContactRequest& WithTags(Aws::Vector<Tag>&& value) { SetTags(std::move(value)); return *this;} 247 248 /** 249 * <p>Adds a tag to the target. You can only tag resources created in the first 250 * Region of your replication set. </p> 251 */ AddTags(const Tag & value)252 inline CreateContactRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } 253 254 /** 255 * <p>Adds a tag to the target. You can only tag resources created in the first 256 * Region of your replication set. </p> 257 */ AddTags(Tag && value)258 inline CreateContactRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } 259 260 261 /** 262 * <p>A token ensuring that the operation is called only once with the specified 263 * details.</p> 264 */ GetIdempotencyToken()265 inline const Aws::String& GetIdempotencyToken() const{ return m_idempotencyToken; } 266 267 /** 268 * <p>A token ensuring that the operation is called only once with the specified 269 * details.</p> 270 */ IdempotencyTokenHasBeenSet()271 inline bool IdempotencyTokenHasBeenSet() const { return m_idempotencyTokenHasBeenSet; } 272 273 /** 274 * <p>A token ensuring that the operation is called only once with the specified 275 * details.</p> 276 */ SetIdempotencyToken(const Aws::String & value)277 inline void SetIdempotencyToken(const Aws::String& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = value; } 278 279 /** 280 * <p>A token ensuring that the operation is called only once with the specified 281 * details.</p> 282 */ SetIdempotencyToken(Aws::String && value)283 inline void SetIdempotencyToken(Aws::String&& value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken = std::move(value); } 284 285 /** 286 * <p>A token ensuring that the operation is called only once with the specified 287 * details.</p> 288 */ SetIdempotencyToken(const char * value)289 inline void SetIdempotencyToken(const char* value) { m_idempotencyTokenHasBeenSet = true; m_idempotencyToken.assign(value); } 290 291 /** 292 * <p>A token ensuring that the operation is called only once with the specified 293 * details.</p> 294 */ WithIdempotencyToken(const Aws::String & value)295 inline CreateContactRequest& WithIdempotencyToken(const Aws::String& value) { SetIdempotencyToken(value); return *this;} 296 297 /** 298 * <p>A token ensuring that the operation is called only once with the specified 299 * details.</p> 300 */ WithIdempotencyToken(Aws::String && value)301 inline CreateContactRequest& WithIdempotencyToken(Aws::String&& value) { SetIdempotencyToken(std::move(value)); return *this;} 302 303 /** 304 * <p>A token ensuring that the operation is called only once with the specified 305 * details.</p> 306 */ WithIdempotencyToken(const char * value)307 inline CreateContactRequest& WithIdempotencyToken(const char* value) { SetIdempotencyToken(value); return *this;} 308 309 private: 310 311 Aws::String m_alias; 312 bool m_aliasHasBeenSet; 313 314 Aws::String m_displayName; 315 bool m_displayNameHasBeenSet; 316 317 ContactType m_type; 318 bool m_typeHasBeenSet; 319 320 Plan m_plan; 321 bool m_planHasBeenSet; 322 323 Aws::Vector<Tag> m_tags; 324 bool m_tagsHasBeenSet; 325 326 Aws::String m_idempotencyToken; 327 bool m_idempotencyTokenHasBeenSet; 328 }; 329 330 } // namespace Model 331 } // namespace SSMContacts 332 } // namespace Aws 333