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/cloud9/Cloud9_EXPORTS.h> 8 #include <aws/core/utils/memory/stl/AWSString.h> 9 #include <aws/cloud9/model/EnvironmentType.h> 10 #include <aws/cloud9/model/ConnectionType.h> 11 #include <aws/cloud9/model/EnvironmentLifecycle.h> 12 #include <aws/cloud9/model/ManagedCredentialsStatus.h> 13 #include <utility> 14 15 namespace Aws 16 { 17 namespace Utils 18 { 19 namespace Json 20 { 21 class JsonValue; 22 class JsonView; 23 } // namespace Json 24 } // namespace Utils 25 namespace Cloud9 26 { 27 namespace Model 28 { 29 30 /** 31 * <p>Information about an Cloud9 development environment.</p><p><h3>See Also:</h3> 32 * <a 33 * href="http://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/Environment">AWS 34 * API Reference</a></p> 35 */ 36 class AWS_CLOUD9_API Environment 37 { 38 public: 39 Environment(); 40 Environment(Aws::Utils::Json::JsonView jsonValue); 41 Environment& operator=(Aws::Utils::Json::JsonView jsonValue); 42 Aws::Utils::Json::JsonValue Jsonize() const; 43 44 45 /** 46 * <p>The ID of the environment.</p> 47 */ GetId()48 inline const Aws::String& GetId() const{ return m_id; } 49 50 /** 51 * <p>The ID of the environment.</p> 52 */ IdHasBeenSet()53 inline bool IdHasBeenSet() const { return m_idHasBeenSet; } 54 55 /** 56 * <p>The ID of the environment.</p> 57 */ SetId(const Aws::String & value)58 inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } 59 60 /** 61 * <p>The ID of the environment.</p> 62 */ SetId(Aws::String && value)63 inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } 64 65 /** 66 * <p>The ID of the environment.</p> 67 */ SetId(const char * value)68 inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } 69 70 /** 71 * <p>The ID of the environment.</p> 72 */ WithId(const Aws::String & value)73 inline Environment& WithId(const Aws::String& value) { SetId(value); return *this;} 74 75 /** 76 * <p>The ID of the environment.</p> 77 */ WithId(Aws::String && value)78 inline Environment& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} 79 80 /** 81 * <p>The ID of the environment.</p> 82 */ WithId(const char * value)83 inline Environment& WithId(const char* value) { SetId(value); return *this;} 84 85 86 /** 87 * <p>The name of the environment.</p> 88 */ GetName()89 inline const Aws::String& GetName() const{ return m_name; } 90 91 /** 92 * <p>The name of the environment.</p> 93 */ NameHasBeenSet()94 inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } 95 96 /** 97 * <p>The name of the environment.</p> 98 */ SetName(const Aws::String & value)99 inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } 100 101 /** 102 * <p>The name of the environment.</p> 103 */ SetName(Aws::String && value)104 inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } 105 106 /** 107 * <p>The name of the environment.</p> 108 */ SetName(const char * value)109 inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } 110 111 /** 112 * <p>The name of the environment.</p> 113 */ WithName(const Aws::String & value)114 inline Environment& WithName(const Aws::String& value) { SetName(value); return *this;} 115 116 /** 117 * <p>The name of the environment.</p> 118 */ WithName(Aws::String && value)119 inline Environment& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} 120 121 /** 122 * <p>The name of the environment.</p> 123 */ WithName(const char * value)124 inline Environment& WithName(const char* value) { SetName(value); return *this;} 125 126 127 /** 128 * <p>The description for the environment.</p> 129 */ GetDescription()130 inline const Aws::String& GetDescription() const{ return m_description; } 131 132 /** 133 * <p>The description for the environment.</p> 134 */ DescriptionHasBeenSet()135 inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } 136 137 /** 138 * <p>The description for the environment.</p> 139 */ SetDescription(const Aws::String & value)140 inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } 141 142 /** 143 * <p>The description for the environment.</p> 144 */ SetDescription(Aws::String && value)145 inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } 146 147 /** 148 * <p>The description for the environment.</p> 149 */ SetDescription(const char * value)150 inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } 151 152 /** 153 * <p>The description for the environment.</p> 154 */ WithDescription(const Aws::String & value)155 inline Environment& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} 156 157 /** 158 * <p>The description for the environment.</p> 159 */ WithDescription(Aws::String && value)160 inline Environment& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} 161 162 /** 163 * <p>The description for the environment.</p> 164 */ WithDescription(const char * value)165 inline Environment& WithDescription(const char* value) { SetDescription(value); return *this;} 166 167 168 /** 169 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 170 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 171 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 172 * server connects to the environment.</p> </li> </ul> 173 */ GetType()174 inline const EnvironmentType& GetType() const{ return m_type; } 175 176 /** 177 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 178 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 179 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 180 * server connects to the environment.</p> </li> </ul> 181 */ TypeHasBeenSet()182 inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } 183 184 /** 185 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 186 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 187 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 188 * server connects to the environment.</p> </li> </ul> 189 */ SetType(const EnvironmentType & value)190 inline void SetType(const EnvironmentType& value) { m_typeHasBeenSet = true; m_type = value; } 191 192 /** 193 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 194 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 195 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 196 * server connects to the environment.</p> </li> </ul> 197 */ SetType(EnvironmentType && value)198 inline void SetType(EnvironmentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } 199 200 /** 201 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 202 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 203 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 204 * server connects to the environment.</p> </li> </ul> 205 */ WithType(const EnvironmentType & value)206 inline Environment& WithType(const EnvironmentType& value) { SetType(value); return *this;} 207 208 /** 209 * <p>The type of environment. Valid values include the following:</p> <ul> <li> 210 * <p> <code>ec2</code>: An Amazon Elastic Compute Cloud (Amazon EC2) instance 211 * connects to the environment.</p> </li> <li> <p> <code>ssh</code>: Your own 212 * server connects to the environment.</p> </li> </ul> 213 */ WithType(EnvironmentType && value)214 inline Environment& WithType(EnvironmentType&& value) { SetType(std::move(value)); return *this;} 215 216 217 /** 218 * <p>The connection type used for connecting to an Amazon EC2 environment. 219 * <code>CONNECT_SSH</code> is selected by default.</p> 220 */ GetConnectionType()221 inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } 222 223 /** 224 * <p>The connection type used for connecting to an Amazon EC2 environment. 225 * <code>CONNECT_SSH</code> is selected by default.</p> 226 */ ConnectionTypeHasBeenSet()227 inline bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; } 228 229 /** 230 * <p>The connection type used for connecting to an Amazon EC2 environment. 231 * <code>CONNECT_SSH</code> is selected by default.</p> 232 */ SetConnectionType(const ConnectionType & value)233 inline void SetConnectionType(const ConnectionType& value) { m_connectionTypeHasBeenSet = true; m_connectionType = value; } 234 235 /** 236 * <p>The connection type used for connecting to an Amazon EC2 environment. 237 * <code>CONNECT_SSH</code> is selected by default.</p> 238 */ SetConnectionType(ConnectionType && value)239 inline void SetConnectionType(ConnectionType&& value) { m_connectionTypeHasBeenSet = true; m_connectionType = std::move(value); } 240 241 /** 242 * <p>The connection type used for connecting to an Amazon EC2 environment. 243 * <code>CONNECT_SSH</code> is selected by default.</p> 244 */ WithConnectionType(const ConnectionType & value)245 inline Environment& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} 246 247 /** 248 * <p>The connection type used for connecting to an Amazon EC2 environment. 249 * <code>CONNECT_SSH</code> is selected by default.</p> 250 */ WithConnectionType(ConnectionType && value)251 inline Environment& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} 252 253 254 /** 255 * <p>The Amazon Resource Name (ARN) of the environment.</p> 256 */ GetArn()257 inline const Aws::String& GetArn() const{ return m_arn; } 258 259 /** 260 * <p>The Amazon Resource Name (ARN) of the environment.</p> 261 */ ArnHasBeenSet()262 inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } 263 264 /** 265 * <p>The Amazon Resource Name (ARN) of the environment.</p> 266 */ SetArn(const Aws::String & value)267 inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } 268 269 /** 270 * <p>The Amazon Resource Name (ARN) of the environment.</p> 271 */ SetArn(Aws::String && value)272 inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } 273 274 /** 275 * <p>The Amazon Resource Name (ARN) of the environment.</p> 276 */ SetArn(const char * value)277 inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } 278 279 /** 280 * <p>The Amazon Resource Name (ARN) of the environment.</p> 281 */ WithArn(const Aws::String & value)282 inline Environment& WithArn(const Aws::String& value) { SetArn(value); return *this;} 283 284 /** 285 * <p>The Amazon Resource Name (ARN) of the environment.</p> 286 */ WithArn(Aws::String && value)287 inline Environment& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} 288 289 /** 290 * <p>The Amazon Resource Name (ARN) of the environment.</p> 291 */ WithArn(const char * value)292 inline Environment& WithArn(const char* value) { SetArn(value); return *this;} 293 294 295 /** 296 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 297 */ GetOwnerArn()298 inline const Aws::String& GetOwnerArn() const{ return m_ownerArn; } 299 300 /** 301 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 302 */ OwnerArnHasBeenSet()303 inline bool OwnerArnHasBeenSet() const { return m_ownerArnHasBeenSet; } 304 305 /** 306 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 307 */ SetOwnerArn(const Aws::String & value)308 inline void SetOwnerArn(const Aws::String& value) { m_ownerArnHasBeenSet = true; m_ownerArn = value; } 309 310 /** 311 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 312 */ SetOwnerArn(Aws::String && value)313 inline void SetOwnerArn(Aws::String&& value) { m_ownerArnHasBeenSet = true; m_ownerArn = std::move(value); } 314 315 /** 316 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 317 */ SetOwnerArn(const char * value)318 inline void SetOwnerArn(const char* value) { m_ownerArnHasBeenSet = true; m_ownerArn.assign(value); } 319 320 /** 321 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 322 */ WithOwnerArn(const Aws::String & value)323 inline Environment& WithOwnerArn(const Aws::String& value) { SetOwnerArn(value); return *this;} 324 325 /** 326 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 327 */ WithOwnerArn(Aws::String && value)328 inline Environment& WithOwnerArn(Aws::String&& value) { SetOwnerArn(std::move(value)); return *this;} 329 330 /** 331 * <p>The Amazon Resource Name (ARN) of the environment owner.</p> 332 */ WithOwnerArn(const char * value)333 inline Environment& WithOwnerArn(const char* value) { SetOwnerArn(value); return *this;} 334 335 336 /** 337 * <p>The state of the environment in its creation or deletion lifecycle.</p> 338 */ GetLifecycle()339 inline const EnvironmentLifecycle& GetLifecycle() const{ return m_lifecycle; } 340 341 /** 342 * <p>The state of the environment in its creation or deletion lifecycle.</p> 343 */ LifecycleHasBeenSet()344 inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; } 345 346 /** 347 * <p>The state of the environment in its creation or deletion lifecycle.</p> 348 */ SetLifecycle(const EnvironmentLifecycle & value)349 inline void SetLifecycle(const EnvironmentLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; } 350 351 /** 352 * <p>The state of the environment in its creation or deletion lifecycle.</p> 353 */ SetLifecycle(EnvironmentLifecycle && value)354 inline void SetLifecycle(EnvironmentLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); } 355 356 /** 357 * <p>The state of the environment in its creation or deletion lifecycle.</p> 358 */ WithLifecycle(const EnvironmentLifecycle & value)359 inline Environment& WithLifecycle(const EnvironmentLifecycle& value) { SetLifecycle(value); return *this;} 360 361 /** 362 * <p>The state of the environment in its creation or deletion lifecycle.</p> 363 */ WithLifecycle(EnvironmentLifecycle && value)364 inline Environment& WithLifecycle(EnvironmentLifecycle&& value) { SetLifecycle(std::move(value)); return *this;} 365 366 367 /** 368 * <p>Describes the status of Amazon Web Services managed temporary credentials for 369 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 370 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 371 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 372 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 373 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 374 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 375 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 376 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 377 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 378 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 379 */ GetManagedCredentialsStatus()380 inline const ManagedCredentialsStatus& GetManagedCredentialsStatus() const{ return m_managedCredentialsStatus; } 381 382 /** 383 * <p>Describes the status of Amazon Web Services managed temporary credentials for 384 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 385 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 386 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 387 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 388 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 389 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 390 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 391 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 392 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 393 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 394 */ ManagedCredentialsStatusHasBeenSet()395 inline bool ManagedCredentialsStatusHasBeenSet() const { return m_managedCredentialsStatusHasBeenSet; } 396 397 /** 398 * <p>Describes the status of Amazon Web Services managed temporary credentials for 399 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 400 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 401 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 402 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 403 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 404 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 405 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 406 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 407 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 408 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 409 */ SetManagedCredentialsStatus(const ManagedCredentialsStatus & value)410 inline void SetManagedCredentialsStatus(const ManagedCredentialsStatus& value) { m_managedCredentialsStatusHasBeenSet = true; m_managedCredentialsStatus = value; } 411 412 /** 413 * <p>Describes the status of Amazon Web Services managed temporary credentials for 414 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 415 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 416 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 417 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 418 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 419 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 420 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 421 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 422 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 423 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 424 */ SetManagedCredentialsStatus(ManagedCredentialsStatus && value)425 inline void SetManagedCredentialsStatus(ManagedCredentialsStatus&& value) { m_managedCredentialsStatusHasBeenSet = true; m_managedCredentialsStatus = std::move(value); } 426 427 /** 428 * <p>Describes the status of Amazon Web Services managed temporary credentials for 429 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 430 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 431 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 432 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 433 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 434 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 435 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 436 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 437 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 438 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 439 */ WithManagedCredentialsStatus(const ManagedCredentialsStatus & value)440 inline Environment& WithManagedCredentialsStatus(const ManagedCredentialsStatus& value) { SetManagedCredentialsStatus(value); return *this;} 441 442 /** 443 * <p>Describes the status of Amazon Web Services managed temporary credentials for 444 * the Cloud9 environment. Available values are:</p> <ul> <li> <p> 445 * <code>ENABLED_ON_CREATE</code> </p> </li> <li> <p> <code>ENABLED_BY_OWNER</code> 446 * </p> </li> <li> <p> <code>DISABLED_BY_DEFAULT</code> </p> </li> <li> <p> 447 * <code>DISABLED_BY_OWNER</code> </p> </li> <li> <p> 448 * <code>DISABLED_BY_COLLABORATOR</code> </p> </li> <li> <p> 449 * <code>PENDING_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 450 * <code>PENDING_REMOVAL_BY_OWNER</code> </p> </li> <li> <p> 451 * <code>FAILED_REMOVAL_BY_COLLABORATOR</code> </p> </li> <li> <p> 452 * <code>ENABLED_BY_OWNER</code> </p> </li> <li> <p> 453 * <code>DISABLED_BY_DEFAULT</code> </p> </li> </ul> 454 */ WithManagedCredentialsStatus(ManagedCredentialsStatus && value)455 inline Environment& WithManagedCredentialsStatus(ManagedCredentialsStatus&& value) { SetManagedCredentialsStatus(std::move(value)); return *this;} 456 457 private: 458 459 Aws::String m_id; 460 bool m_idHasBeenSet; 461 462 Aws::String m_name; 463 bool m_nameHasBeenSet; 464 465 Aws::String m_description; 466 bool m_descriptionHasBeenSet; 467 468 EnvironmentType m_type; 469 bool m_typeHasBeenSet; 470 471 ConnectionType m_connectionType; 472 bool m_connectionTypeHasBeenSet; 473 474 Aws::String m_arn; 475 bool m_arnHasBeenSet; 476 477 Aws::String m_ownerArn; 478 bool m_ownerArnHasBeenSet; 479 480 EnvironmentLifecycle m_lifecycle; 481 bool m_lifecycleHasBeenSet; 482 483 ManagedCredentialsStatus m_managedCredentialsStatus; 484 bool m_managedCredentialsStatusHasBeenSet; 485 }; 486 487 } // namespace Model 488 } // namespace Cloud9 489 } // namespace Aws 490