/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Cloud9 { namespace Model { /** *

Information about an Cloud9 development environment.

See Also:

* AWS * API Reference

*/ class Environment { public: AWS_CLOUD9_API Environment(); AWS_CLOUD9_API Environment(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUD9_API Environment& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_CLOUD9_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The ID of the environment.

*/ inline const Aws::String& GetId() const{ return m_id; } /** *

The ID of the environment.

*/ inline bool IdHasBeenSet() const { return m_idHasBeenSet; } /** *

The ID of the environment.

*/ inline void SetId(const Aws::String& value) { m_idHasBeenSet = true; m_id = value; } /** *

The ID of the environment.

*/ inline void SetId(Aws::String&& value) { m_idHasBeenSet = true; m_id = std::move(value); } /** *

The ID of the environment.

*/ inline void SetId(const char* value) { m_idHasBeenSet = true; m_id.assign(value); } /** *

The ID of the environment.

*/ inline Environment& WithId(const Aws::String& value) { SetId(value); return *this;} /** *

The ID of the environment.

*/ inline Environment& WithId(Aws::String&& value) { SetId(std::move(value)); return *this;} /** *

The ID of the environment.

*/ inline Environment& WithId(const char* value) { SetId(value); return *this;} /** *

The name of the environment.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the environment.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the environment.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the environment.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the environment.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the environment.

*/ inline Environment& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the environment.

*/ inline Environment& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the environment.

*/ inline Environment& WithName(const char* value) { SetName(value); return *this;} /** *

The description for the environment.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

The description for the environment.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

The description for the environment.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

The description for the environment.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

The description for the environment.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

The description for the environment.

*/ inline Environment& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

The description for the environment.

*/ inline Environment& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

The description for the environment.

*/ inline Environment& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline const EnvironmentType& GetType() const{ return m_type; } /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline bool TypeHasBeenSet() const { return m_typeHasBeenSet; } /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline void SetType(const EnvironmentType& value) { m_typeHasBeenSet = true; m_type = value; } /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline void SetType(EnvironmentType&& value) { m_typeHasBeenSet = true; m_type = std::move(value); } /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline Environment& WithType(const EnvironmentType& value) { SetType(value); return *this;} /** *

The type of environment. Valid values include the following:

  • *

    ec2: An Amazon Elastic Compute Cloud (Amazon EC2) instance * connects to the environment.

  • ssh: Your own * server connects to the environment.

*/ inline Environment& WithType(EnvironmentType&& value) { SetType(std::move(value)); return *this;} /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline const ConnectionType& GetConnectionType() const{ return m_connectionType; } /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline bool ConnectionTypeHasBeenSet() const { return m_connectionTypeHasBeenSet; } /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline void SetConnectionType(const ConnectionType& value) { m_connectionTypeHasBeenSet = true; m_connectionType = value; } /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline void SetConnectionType(ConnectionType&& value) { m_connectionTypeHasBeenSet = true; m_connectionType = std::move(value); } /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline Environment& WithConnectionType(const ConnectionType& value) { SetConnectionType(value); return *this;} /** *

The connection type used for connecting to an Amazon EC2 environment. * CONNECT_SSH is selected by default.

*/ inline Environment& WithConnectionType(ConnectionType&& value) { SetConnectionType(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline const Aws::String& GetArn() const{ return m_arn; } /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; } /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); } /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline Environment& WithArn(const Aws::String& value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline Environment& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the environment.

*/ inline Environment& WithArn(const char* value) { SetArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline const Aws::String& GetOwnerArn() const{ return m_ownerArn; } /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline bool OwnerArnHasBeenSet() const { return m_ownerArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline void SetOwnerArn(const Aws::String& value) { m_ownerArnHasBeenSet = true; m_ownerArn = value; } /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline void SetOwnerArn(Aws::String&& value) { m_ownerArnHasBeenSet = true; m_ownerArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline void SetOwnerArn(const char* value) { m_ownerArnHasBeenSet = true; m_ownerArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline Environment& WithOwnerArn(const Aws::String& value) { SetOwnerArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline Environment& WithOwnerArn(Aws::String&& value) { SetOwnerArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the environment owner.

*/ inline Environment& WithOwnerArn(const char* value) { SetOwnerArn(value); return *this;} /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline const EnvironmentLifecycle& GetLifecycle() const{ return m_lifecycle; } /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; } /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline void SetLifecycle(const EnvironmentLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; } /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline void SetLifecycle(EnvironmentLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); } /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline Environment& WithLifecycle(const EnvironmentLifecycle& value) { SetLifecycle(value); return *this;} /** *

The state of the environment in its creation or deletion lifecycle.

*/ inline Environment& WithLifecycle(EnvironmentLifecycle&& value) { SetLifecycle(std::move(value)); return *this;} /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline const ManagedCredentialsStatus& GetManagedCredentialsStatus() const{ return m_managedCredentialsStatus; } /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline bool ManagedCredentialsStatusHasBeenSet() const { return m_managedCredentialsStatusHasBeenSet; } /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline void SetManagedCredentialsStatus(const ManagedCredentialsStatus& value) { m_managedCredentialsStatusHasBeenSet = true; m_managedCredentialsStatus = value; } /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline void SetManagedCredentialsStatus(ManagedCredentialsStatus&& value) { m_managedCredentialsStatusHasBeenSet = true; m_managedCredentialsStatus = std::move(value); } /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline Environment& WithManagedCredentialsStatus(const ManagedCredentialsStatus& value) { SetManagedCredentialsStatus(value); return *this;} /** *

Describes the status of Amazon Web Services managed temporary credentials for * the Cloud9 environment. Available values are:

  • * ENABLED_ON_CREATE

  • ENABLED_BY_OWNER *

  • DISABLED_BY_DEFAULT

  • * DISABLED_BY_OWNER

  • * DISABLED_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_COLLABORATOR

  • * PENDING_REMOVAL_BY_OWNER

  • * FAILED_REMOVAL_BY_COLLABORATOR

  • * ENABLED_BY_OWNER

  • * DISABLED_BY_DEFAULT

*/ inline Environment& WithManagedCredentialsStatus(ManagedCredentialsStatus&& value) { SetManagedCredentialsStatus(std::move(value)); return *this;} private: Aws::String m_id; bool m_idHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; EnvironmentType m_type; bool m_typeHasBeenSet = false; ConnectionType m_connectionType; bool m_connectionTypeHasBeenSet = false; Aws::String m_arn; bool m_arnHasBeenSet = false; Aws::String m_ownerArn; bool m_ownerArnHasBeenSet = false; EnvironmentLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; ManagedCredentialsStatus m_managedCredentialsStatus; bool m_managedCredentialsStatusHasBeenSet = false; }; } // namespace Model } // namespace Cloud9 } // namespace Aws