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

Contains the information required to retrieve an app or cookbook from a * repository. For more information, see Creating * Apps or Custom * Recipes and Cookbooks.

See Also:

AWS API * Reference

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

The repository type.

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

The repository type.

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

The repository type.

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

The repository type.

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

The repository type.

*/ inline Source& WithType(const SourceType& value) { SetType(value); return *this;} /** *

The repository type.

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

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline const Aws::String& GetUrl() const{ return m_url; } /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline bool UrlHasBeenSet() const { return m_urlHasBeenSet; } /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline void SetUrl(const Aws::String& value) { m_urlHasBeenSet = true; m_url = value; } /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline void SetUrl(Aws::String&& value) { m_urlHasBeenSet = true; m_url = std::move(value); } /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline void SetUrl(const char* value) { m_urlHasBeenSet = true; m_url.assign(value); } /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline Source& WithUrl(const Aws::String& value) { SetUrl(value); return *this;} /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline Source& WithUrl(Aws::String&& value) { SetUrl(std::move(value)); return *this;} /** *

The source URL. The following is an example of an Amazon S3 source URL: * https://s3.amazonaws.com/opsworks-demo-bucket/opsworks_cookbook_demo.tar.gz.

*/ inline Source& WithUrl(const char* value) { SetUrl(value); return *this;} /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline const Aws::String& GetUsername() const{ return m_username; } /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline bool UsernameHasBeenSet() const { return m_usernameHasBeenSet; } /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline void SetUsername(const Aws::String& value) { m_usernameHasBeenSet = true; m_username = value; } /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline void SetUsername(Aws::String&& value) { m_usernameHasBeenSet = true; m_username = std::move(value); } /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline void SetUsername(const char* value) { m_usernameHasBeenSet = true; m_username.assign(value); } /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline Source& WithUsername(const Aws::String& value) { SetUsername(value); return *this;} /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline Source& WithUsername(Aws::String&& value) { SetUsername(std::move(value)); return *this;} /** *

This parameter depends on the repository type.

  • For Amazon S3 * bundles, set Username to the appropriate IAM access key ID.

    *
  • For HTTP bundles, Git repositories, and Subversion repositories, * set Username to the user name.

*/ inline Source& WithUsername(const char* value) { SetUsername(value); return *this;} /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline const Aws::String& GetPassword() const{ return m_password; } /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline bool PasswordHasBeenSet() const { return m_passwordHasBeenSet; } /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline void SetPassword(const Aws::String& value) { m_passwordHasBeenSet = true; m_password = value; } /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline void SetPassword(Aws::String&& value) { m_passwordHasBeenSet = true; m_password = std::move(value); } /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline void SetPassword(const char* value) { m_passwordHasBeenSet = true; m_password.assign(value); } /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline Source& WithPassword(const Aws::String& value) { SetPassword(value); return *this;} /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline Source& WithPassword(Aws::String&& value) { SetPassword(std::move(value)); return *this;} /** *

When included in a request, the parameter depends on the repository type.

*
  • For Amazon S3 bundles, set Password to the appropriate * IAM secret access key.

  • For HTTP bundles and Subversion * repositories, set Password to the password.

For * more information on how to safely handle IAM credentials, see https://docs.aws.amazon.com/general/latest/gr/aws-access-keys-best-practices.html.

*

In responses, AWS OpsWorks Stacks returns *****FILTERED***** * instead of the actual value.

*/ inline Source& WithPassword(const char* value) { SetPassword(value); return *this;} /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline const Aws::String& GetSshKey() const{ return m_sshKey; } /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline bool SshKeyHasBeenSet() const { return m_sshKeyHasBeenSet; } /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline void SetSshKey(const Aws::String& value) { m_sshKeyHasBeenSet = true; m_sshKey = value; } /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline void SetSshKey(Aws::String&& value) { m_sshKeyHasBeenSet = true; m_sshKey = std::move(value); } /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline void SetSshKey(const char* value) { m_sshKeyHasBeenSet = true; m_sshKey.assign(value); } /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline Source& WithSshKey(const Aws::String& value) { SetSshKey(value); return *this;} /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline Source& WithSshKey(Aws::String&& value) { SetSshKey(std::move(value)); return *this;} /** *

In requests, the repository's SSH key.

In responses, AWS OpsWorks * Stacks returns *****FILTERED***** instead of the actual value.

*/ inline Source& WithSshKey(const char* value) { SetSshKey(value); return *this;} /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline const Aws::String& GetRevision() const{ return m_revision; } /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline bool RevisionHasBeenSet() const { return m_revisionHasBeenSet; } /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline void SetRevision(const Aws::String& value) { m_revisionHasBeenSet = true; m_revision = value; } /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline void SetRevision(Aws::String&& value) { m_revisionHasBeenSet = true; m_revision = std::move(value); } /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline void SetRevision(const char* value) { m_revisionHasBeenSet = true; m_revision.assign(value); } /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline Source& WithRevision(const Aws::String& value) { SetRevision(value); return *this;} /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline Source& WithRevision(Aws::String&& value) { SetRevision(std::move(value)); return *this;} /** *

The application's version. AWS OpsWorks Stacks enables you to easily deploy * new versions of an application. One of the simplest approaches is to have * branches or revisions in your repository that represent different versions that * can potentially be deployed.

*/ inline Source& WithRevision(const char* value) { SetRevision(value); return *this;} private: SourceType m_type; bool m_typeHasBeenSet = false; Aws::String m_url; bool m_urlHasBeenSet = false; Aws::String m_username; bool m_usernameHasBeenSet = false; Aws::String m_password; bool m_passwordHasBeenSet = false; Aws::String m_sshKey; bool m_sshKeyHasBeenSet = false; Aws::String m_revision; bool m_revisionHasBeenSet = false; }; } // namespace Model } // namespace OpsWorks } // namespace Aws