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/core/utils/memory/stl/AWSString.h> 9 #include <aws/ssm-contacts/model/ContactType.h> 10 #include <utility> 11 12 namespace Aws 13 { 14 namespace Utils 15 { 16 namespace Json 17 { 18 class JsonValue; 19 class JsonView; 20 } // namespace Json 21 } // namespace Utils 22 namespace SSMContacts 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>A personal contact or escalation plan that Incident Manager engages during an 29 * incident.</p><p><h3>See Also:</h3> <a 30 * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-contacts-2021-05-03/Contact">AWS 31 * API Reference</a></p> 32 */ 33 class AWS_SSMCONTACTS_API Contact 34 { 35 public: 36 Contact(); 37 Contact(Aws::Utils::Json::JsonView jsonValue); 38 Contact& operator=(Aws::Utils::Json::JsonView jsonValue); 39 Aws::Utils::Json::JsonValue Jsonize() const; 40 41 42 /** 43 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 44 */ GetContactArn()45 inline const Aws::String& GetContactArn() const{ return m_contactArn; } 46 47 /** 48 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 49 */ ContactArnHasBeenSet()50 inline bool ContactArnHasBeenSet() const { return m_contactArnHasBeenSet; } 51 52 /** 53 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 54 */ SetContactArn(const Aws::String & value)55 inline void SetContactArn(const Aws::String& value) { m_contactArnHasBeenSet = true; m_contactArn = value; } 56 57 /** 58 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 59 */ SetContactArn(Aws::String && value)60 inline void SetContactArn(Aws::String&& value) { m_contactArnHasBeenSet = true; m_contactArn = std::move(value); } 61 62 /** 63 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 64 */ SetContactArn(const char * value)65 inline void SetContactArn(const char* value) { m_contactArnHasBeenSet = true; m_contactArn.assign(value); } 66 67 /** 68 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 69 */ WithContactArn(const Aws::String & value)70 inline Contact& WithContactArn(const Aws::String& value) { SetContactArn(value); return *this;} 71 72 /** 73 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 74 */ WithContactArn(Aws::String && value)75 inline Contact& WithContactArn(Aws::String&& value) { SetContactArn(std::move(value)); return *this;} 76 77 /** 78 * <p>The Amazon Resource Name (ARN) of the contact or escalation plan.</p> 79 */ WithContactArn(const char * value)80 inline Contact& WithContactArn(const char* value) { SetContactArn(value); return *this;} 81 82 83 /** 84 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 85 */ GetAlias()86 inline const Aws::String& GetAlias() const{ return m_alias; } 87 88 /** 89 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 90 */ AliasHasBeenSet()91 inline bool AliasHasBeenSet() const { return m_aliasHasBeenSet; } 92 93 /** 94 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 95 */ SetAlias(const Aws::String & value)96 inline void SetAlias(const Aws::String& value) { m_aliasHasBeenSet = true; m_alias = value; } 97 98 /** 99 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 100 */ SetAlias(Aws::String && value)101 inline void SetAlias(Aws::String&& value) { m_aliasHasBeenSet = true; m_alias = std::move(value); } 102 103 /** 104 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 105 */ SetAlias(const char * value)106 inline void SetAlias(const char* value) { m_aliasHasBeenSet = true; m_alias.assign(value); } 107 108 /** 109 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 110 */ WithAlias(const Aws::String & value)111 inline Contact& WithAlias(const Aws::String& value) { SetAlias(value); return *this;} 112 113 /** 114 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 115 */ WithAlias(Aws::String && value)116 inline Contact& WithAlias(Aws::String&& value) { SetAlias(std::move(value)); return *this;} 117 118 /** 119 * <p>The unique and identifiable alias of the contact or escalation plan.</p> 120 */ WithAlias(const char * value)121 inline Contact& WithAlias(const char* value) { SetAlias(value); return *this;} 122 123 124 /** 125 * <p>The full name of the contact or escalation plan.</p> 126 */ GetDisplayName()127 inline const Aws::String& GetDisplayName() const{ return m_displayName; } 128 129 /** 130 * <p>The full name of the contact or escalation plan.</p> 131 */ DisplayNameHasBeenSet()132 inline bool DisplayNameHasBeenSet() const { return m_displayNameHasBeenSet; } 133 134 /** 135 * <p>The full name of the contact or escalation plan.</p> 136 */ SetDisplayName(const Aws::String & value)137 inline void SetDisplayName(const Aws::String& value) { m_displayNameHasBeenSet = true; m_displayName = value; } 138 139 /** 140 * <p>The full name of the contact or escalation plan.</p> 141 */ SetDisplayName(Aws::String && value)142 inline void SetDisplayName(Aws::String&& value) { m_displayNameHasBeenSet = true; m_displayName = std::move(value); } 143 144 /** 145 * <p>The full name of the contact or escalation plan.</p> 146 */ SetDisplayName(const char * value)147 inline void SetDisplayName(const char* value) { m_displayNameHasBeenSet = true; m_displayName.assign(value); } 148 149 /** 150 * <p>The full name of the contact or escalation plan.</p> 151 */ WithDisplayName(const Aws::String & value)152 inline Contact& WithDisplayName(const Aws::String& value) { SetDisplayName(value); return *this;} 153 154 /** 155 * <p>The full name of the contact or escalation plan.</p> 156 */ WithDisplayName(Aws::String && value)157 inline Contact& WithDisplayName(Aws::String&& value) { SetDisplayName(std::move(value)); return *this;} 158 159 /** 160 * <p>The full name of the contact or escalation plan.</p> 161 */ WithDisplayName(const char * value)162 inline Contact& WithDisplayName(const char* value) { SetDisplayName(value); return *this;} 163 164 165 /** 166 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 167 * and an escalation plan is type <code>ESCALATION</code>.</p> 168 */ GetType()169 inline const ContactType& GetType() const{ return m_type; } 170 171 /** 172 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 173 * and an escalation plan is type <code>ESCALATION</code>.</p> 174 */ TypeHasBeenSet()175 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 176 177 /** 178 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 179 * and an escalation plan is type <code>ESCALATION</code>.</p> 180 */ SetType(const ContactType & value)181 inline void SetType(const ContactType& value) { m_typeHasBeenSet = true; m_type = value; } 182 183 /** 184 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 185 * and an escalation plan is type <code>ESCALATION</code>.</p> 186 */ SetType(ContactType && value)187 inline void SetType(ContactType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 188 189 /** 190 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 191 * and an escalation plan is type <code>ESCALATION</code>.</p> 192 */ WithType(const ContactType & value)193 inline Contact& WithType(const ContactType& value) { SetType(value); return *this;} 194 195 /** 196 * <p>Refers to the type of contact. A single contact is type <code>PERSONAL</code> 197 * and an escalation plan is type <code>ESCALATION</code>.</p> 198 */ WithType(ContactType && value)199 inline Contact& WithType(ContactType&& value) { SetType(std::move(value)); return *this;} 200 201 private: 202 203 Aws::String m_contactArn; 204 bool m_contactArnHasBeenSet; 205 206 Aws::String m_alias; 207 bool m_aliasHasBeenSet; 208 209 Aws::String m_displayName; 210 bool m_displayNameHasBeenSet; 211 212 ContactType m_type; 213 bool m_typeHasBeenSet; 214 }; 215 216 } // namespace Model 217 } // namespace SSMContacts 218 } // namespace Aws 219