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/sso-admin/SSOAdmin_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/sso-admin/model/PrincipalType.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 SSOAdmin 23 { 24 namespace Model 25 { 26 27 /** 28 * <p>The assignment that indicates a principal's limited access to a specified 29 * Amazon Web Services account with a specified permission set.</p> <p>The 30 * term <i>principal</i> here refers to a user or group that is defined in Amazon 31 * Web Services SSO.</p> <p><h3>See Also:</h3> <a 32 * href="http://docs.aws.amazon.com/goto/WebAPI/sso-admin-2020-07-20/AccountAssignment">AWS 33 * API Reference</a></p> 34 */ 35 class AWS_SSOADMIN_API AccountAssignment 36 { 37 public: 38 AccountAssignment(); 39 AccountAssignment(Aws::Utils::Json::JsonView jsonValue); 40 AccountAssignment& operator=(Aws::Utils::Json::JsonView jsonValue); 41 Aws::Utils::Json::JsonValue Jsonize() const; 42 43 44 /** 45 * <p>The identifier of the Amazon Web Services account.</p> 46 */ GetAccountId()47 inline const Aws::String& GetAccountId() const{ return m_accountId; } 48 49 /** 50 * <p>The identifier of the Amazon Web Services account.</p> 51 */ AccountIdHasBeenSet()52 inline bool AccountIdHasBeenSet() const { return m_accountIdHasBeenSet; } 53 54 /** 55 * <p>The identifier of the Amazon Web Services account.</p> 56 */ SetAccountId(const Aws::String & value)57 inline void SetAccountId(const Aws::String& value) { m_accountIdHasBeenSet = true; m_accountId = value; } 58 59 /** 60 * <p>The identifier of the Amazon Web Services account.</p> 61 */ SetAccountId(Aws::String && value)62 inline void SetAccountId(Aws::String&& value) { m_accountIdHasBeenSet = true; m_accountId = std::move(value); } 63 64 /** 65 * <p>The identifier of the Amazon Web Services account.</p> 66 */ SetAccountId(const char * value)67 inline void SetAccountId(const char* value) { m_accountIdHasBeenSet = true; m_accountId.assign(value); } 68 69 /** 70 * <p>The identifier of the Amazon Web Services account.</p> 71 */ WithAccountId(const Aws::String & value)72 inline AccountAssignment& WithAccountId(const Aws::String& value) { SetAccountId(value); return *this;} 73 74 /** 75 * <p>The identifier of the Amazon Web Services account.</p> 76 */ WithAccountId(Aws::String && value)77 inline AccountAssignment& WithAccountId(Aws::String&& value) { SetAccountId(std::move(value)); return *this;} 78 79 /** 80 * <p>The identifier of the Amazon Web Services account.</p> 81 */ WithAccountId(const char * value)82 inline AccountAssignment& WithAccountId(const char* value) { SetAccountId(value); return *this;} 83 84 85 /** 86 * <p>The ARN of the permission set. For more information about ARNs, see <a 87 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 88 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 89 * Services General Reference</i>.</p> 90 */ GetPermissionSetArn()91 inline const Aws::String& GetPermissionSetArn() const{ return m_permissionSetArn; } 92 93 /** 94 * <p>The ARN of the permission set. For more information about ARNs, see <a 95 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 96 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 97 * Services General Reference</i>.</p> 98 */ PermissionSetArnHasBeenSet()99 inline bool PermissionSetArnHasBeenSet() const { return m_permissionSetArnHasBeenSet; } 100 101 /** 102 * <p>The ARN of the permission set. For more information about ARNs, see <a 103 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 104 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 105 * Services General Reference</i>.</p> 106 */ SetPermissionSetArn(const Aws::String & value)107 inline void SetPermissionSetArn(const Aws::String& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = value; } 108 109 /** 110 * <p>The ARN of the permission set. For more information about ARNs, see <a 111 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 112 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 113 * Services General Reference</i>.</p> 114 */ SetPermissionSetArn(Aws::String && value)115 inline void SetPermissionSetArn(Aws::String&& value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn = std::move(value); } 116 117 /** 118 * <p>The ARN of the permission set. For more information about ARNs, see <a 119 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 120 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 121 * Services General Reference</i>.</p> 122 */ SetPermissionSetArn(const char * value)123 inline void SetPermissionSetArn(const char* value) { m_permissionSetArnHasBeenSet = true; m_permissionSetArn.assign(value); } 124 125 /** 126 * <p>The ARN of the permission set. For more information about ARNs, see <a 127 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 128 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 129 * Services General Reference</i>.</p> 130 */ WithPermissionSetArn(const Aws::String & value)131 inline AccountAssignment& WithPermissionSetArn(const Aws::String& value) { SetPermissionSetArn(value); return *this;} 132 133 /** 134 * <p>The ARN of the permission set. For more information about ARNs, see <a 135 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 136 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 137 * Services General Reference</i>.</p> 138 */ WithPermissionSetArn(Aws::String && value)139 inline AccountAssignment& WithPermissionSetArn(Aws::String&& value) { SetPermissionSetArn(std::move(value)); return *this;} 140 141 /** 142 * <p>The ARN of the permission set. For more information about ARNs, see <a 143 * href="/general/latest/gr/aws-arns-and-namespaces.html">Amazon Resource Names 144 * (ARNs) and Amazon Web Services Service Namespaces</a> in the <i>Amazon Web 145 * Services General Reference</i>.</p> 146 */ WithPermissionSetArn(const char * value)147 inline AccountAssignment& WithPermissionSetArn(const char* value) { SetPermissionSetArn(value); return *this;} 148 149 150 /** 151 * <p>The entity type for which the assignment will be created.</p> 152 */ GetPrincipalType()153 inline const PrincipalType& GetPrincipalType() const{ return m_principalType; } 154 155 /** 156 * <p>The entity type for which the assignment will be created.</p> 157 */ PrincipalTypeHasBeenSet()158 inline bool PrincipalTypeHasBeenSet() const { return m_principalTypeHasBeenSet; } 159 160 /** 161 * <p>The entity type for which the assignment will be created.</p> 162 */ SetPrincipalType(const PrincipalType & value)163 inline void SetPrincipalType(const PrincipalType& value) { m_principalTypeHasBeenSet = true; m_principalType = value; } 164 165 /** 166 * <p>The entity type for which the assignment will be created.</p> 167 */ SetPrincipalType(PrincipalType && value)168 inline void SetPrincipalType(PrincipalType&& value) { m_principalTypeHasBeenSet = true; m_principalType = std::move(value); } 169 170 /** 171 * <p>The entity type for which the assignment will be created.</p> 172 */ WithPrincipalType(const PrincipalType & value)173 inline AccountAssignment& WithPrincipalType(const PrincipalType& value) { SetPrincipalType(value); return *this;} 174 175 /** 176 * <p>The entity type for which the assignment will be created.</p> 177 */ WithPrincipalType(PrincipalType && value)178 inline AccountAssignment& WithPrincipalType(PrincipalType&& value) { SetPrincipalType(std::move(value)); return *this;} 179 180 181 /** 182 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 183 * group. PrincipalIds are GUIDs (For example, 184 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 185 * in Amazon Web Services SSO, see the <a 186 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 187 * Services SSO Identity Store API Reference</a>.</p> 188 */ GetPrincipalId()189 inline const Aws::String& GetPrincipalId() const{ return m_principalId; } 190 191 /** 192 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 193 * group. PrincipalIds are GUIDs (For example, 194 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 195 * in Amazon Web Services SSO, see the <a 196 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 197 * Services SSO Identity Store API Reference</a>.</p> 198 */ PrincipalIdHasBeenSet()199 inline bool PrincipalIdHasBeenSet() const { return m_principalIdHasBeenSet; } 200 201 /** 202 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 203 * group. PrincipalIds are GUIDs (For example, 204 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 205 * in Amazon Web Services SSO, see the <a 206 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 207 * Services SSO Identity Store API Reference</a>.</p> 208 */ SetPrincipalId(const Aws::String & value)209 inline void SetPrincipalId(const Aws::String& value) { m_principalIdHasBeenSet = true; m_principalId = value; } 210 211 /** 212 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 213 * group. PrincipalIds are GUIDs (For example, 214 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 215 * in Amazon Web Services SSO, see the <a 216 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 217 * Services SSO Identity Store API Reference</a>.</p> 218 */ SetPrincipalId(Aws::String && value)219 inline void SetPrincipalId(Aws::String&& value) { m_principalIdHasBeenSet = true; m_principalId = std::move(value); } 220 221 /** 222 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 223 * group. PrincipalIds are GUIDs (For example, 224 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 225 * in Amazon Web Services SSO, see the <a 226 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 227 * Services SSO Identity Store API Reference</a>.</p> 228 */ SetPrincipalId(const char * value)229 inline void SetPrincipalId(const char* value) { m_principalIdHasBeenSet = true; m_principalId.assign(value); } 230 231 /** 232 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 233 * group. PrincipalIds are GUIDs (For example, 234 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 235 * in Amazon Web Services SSO, see the <a 236 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 237 * Services SSO Identity Store API Reference</a>.</p> 238 */ WithPrincipalId(const Aws::String & value)239 inline AccountAssignment& WithPrincipalId(const Aws::String& value) { SetPrincipalId(value); return *this;} 240 241 /** 242 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 243 * group. PrincipalIds are GUIDs (For example, 244 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 245 * in Amazon Web Services SSO, see the <a 246 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 247 * Services SSO Identity Store API Reference</a>.</p> 248 */ WithPrincipalId(Aws::String && value)249 inline AccountAssignment& WithPrincipalId(Aws::String&& value) { SetPrincipalId(std::move(value)); return *this;} 250 251 /** 252 * <p>An identifier for an object in Amazon Web Services SSO, such as a user or 253 * group. PrincipalIds are GUIDs (For example, 254 * f81d4fae-7dec-11d0-a765-00a0c91e6bf6). For more information about PrincipalIds 255 * in Amazon Web Services SSO, see the <a 256 * href="/singlesignon/latest/IdentityStoreAPIReference/welcome.html">Amazon Web 257 * Services SSO Identity Store API Reference</a>.</p> 258 */ WithPrincipalId(const char * value)259 inline AccountAssignment& WithPrincipalId(const char* value) { SetPrincipalId(value); return *this;} 260 261 private: 262 263 Aws::String m_accountId; 264 bool m_accountIdHasBeenSet; 265 266 Aws::String m_permissionSetArn; 267 bool m_permissionSetArnHasBeenSet; 268 269 PrincipalType m_principalType; 270 bool m_principalTypeHasBeenSet; 271 272 Aws::String m_principalId; 273 bool m_principalIdHasBeenSet; 274 }; 275 276 } // namespace Model 277 } // namespace SSOAdmin 278 } // namespace Aws 279