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

A resource that is used to connect third-party source providers with services * like AWS CodePipeline.

Note: A connection created through CloudFormation, * the CLI, or the SDK is in `PENDING` status by default. You can make its status * `AVAILABLE` by updating the connection in the console.

See Also:

* AWS * API Reference

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

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline const Aws::String& GetConnectionName() const{ return m_connectionName; } /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline bool ConnectionNameHasBeenSet() const { return m_connectionNameHasBeenSet; } /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline void SetConnectionName(const Aws::String& value) { m_connectionNameHasBeenSet = true; m_connectionName = value; } /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline void SetConnectionName(Aws::String&& value) { m_connectionNameHasBeenSet = true; m_connectionName = std::move(value); } /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline void SetConnectionName(const char* value) { m_connectionNameHasBeenSet = true; m_connectionName.assign(value); } /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline Connection& WithConnectionName(const Aws::String& value) { SetConnectionName(value); return *this;} /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline Connection& WithConnectionName(Aws::String&& value) { SetConnectionName(std::move(value)); return *this;} /** *

The name of the connection. Connection names must be unique in an AWS user * account.

*/ inline Connection& WithConnectionName(const char* value) { SetConnectionName(value); return *this;} /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline const Aws::String& GetConnectionArn() const{ return m_connectionArn; } /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline bool ConnectionArnHasBeenSet() const { return m_connectionArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline void SetConnectionArn(const Aws::String& value) { m_connectionArnHasBeenSet = true; m_connectionArn = value; } /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline void SetConnectionArn(Aws::String&& value) { m_connectionArnHasBeenSet = true; m_connectionArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline void SetConnectionArn(const char* value) { m_connectionArnHasBeenSet = true; m_connectionArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline Connection& WithConnectionArn(const Aws::String& value) { SetConnectionArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline Connection& WithConnectionArn(Aws::String&& value) { SetConnectionArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the connection. The ARN is used as the * connection reference when the connection is shared between AWS services.

*

The ARN is never reused if the connection is deleted.

*/ inline Connection& WithConnectionArn(const char* value) { SetConnectionArn(value); return *this;} /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline const ProviderType& GetProviderType() const{ return m_providerType; } /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline bool ProviderTypeHasBeenSet() const { return m_providerTypeHasBeenSet; } /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline void SetProviderType(const ProviderType& value) { m_providerTypeHasBeenSet = true; m_providerType = value; } /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline void SetProviderType(ProviderType&& value) { m_providerTypeHasBeenSet = true; m_providerType = std::move(value); } /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline Connection& WithProviderType(const ProviderType& value) { SetProviderType(value); return *this;} /** *

The name of the external provider where your third-party code repository is * configured.

*/ inline Connection& WithProviderType(ProviderType&& value) { SetProviderType(std::move(value)); return *this;} /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline const Aws::String& GetOwnerAccountId() const{ return m_ownerAccountId; } /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline bool OwnerAccountIdHasBeenSet() const { return m_ownerAccountIdHasBeenSet; } /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline void SetOwnerAccountId(const Aws::String& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = value; } /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline void SetOwnerAccountId(Aws::String&& value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId = std::move(value); } /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline void SetOwnerAccountId(const char* value) { m_ownerAccountIdHasBeenSet = true; m_ownerAccountId.assign(value); } /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline Connection& WithOwnerAccountId(const Aws::String& value) { SetOwnerAccountId(value); return *this;} /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline Connection& WithOwnerAccountId(Aws::String&& value) { SetOwnerAccountId(std::move(value)); return *this;} /** *

The identifier of the external provider where your third-party code * repository is configured. For Bitbucket, this is the account ID of the owner of * the Bitbucket repository.

*/ inline Connection& WithOwnerAccountId(const char* value) { SetOwnerAccountId(value); return *this;} /** *

The current status of the connection.

*/ inline const ConnectionStatus& GetConnectionStatus() const{ return m_connectionStatus; } /** *

The current status of the connection.

*/ inline bool ConnectionStatusHasBeenSet() const { return m_connectionStatusHasBeenSet; } /** *

The current status of the connection.

*/ inline void SetConnectionStatus(const ConnectionStatus& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = value; } /** *

The current status of the connection.

*/ inline void SetConnectionStatus(ConnectionStatus&& value) { m_connectionStatusHasBeenSet = true; m_connectionStatus = std::move(value); } /** *

The current status of the connection.

*/ inline Connection& WithConnectionStatus(const ConnectionStatus& value) { SetConnectionStatus(value); return *this;} /** *

The current status of the connection.

*/ inline Connection& WithConnectionStatus(ConnectionStatus&& value) { SetConnectionStatus(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline const Aws::String& GetHostArn() const{ return m_hostArn; } /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline bool HostArnHasBeenSet() const { return m_hostArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline void SetHostArn(const Aws::String& value) { m_hostArnHasBeenSet = true; m_hostArn = value; } /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline void SetHostArn(Aws::String&& value) { m_hostArnHasBeenSet = true; m_hostArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline void SetHostArn(const char* value) { m_hostArnHasBeenSet = true; m_hostArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline Connection& WithHostArn(const Aws::String& value) { SetHostArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline Connection& WithHostArn(Aws::String&& value) { SetHostArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the host associated with the * connection.

*/ inline Connection& WithHostArn(const char* value) { SetHostArn(value); return *this;} private: Aws::String m_connectionName; bool m_connectionNameHasBeenSet = false; Aws::String m_connectionArn; bool m_connectionArnHasBeenSet = false; ProviderType m_providerType; bool m_providerTypeHasBeenSet = false; Aws::String m_ownerAccountId; bool m_ownerAccountIdHasBeenSet = false; ConnectionStatus m_connectionStatus; bool m_connectionStatusHasBeenSet = false; Aws::String m_hostArn; bool m_hostArnHasBeenSet = false; }; } // namespace Model } // namespace CodeStarconnections } // namespace Aws