/** * 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 CodeCommit { namespace Model { /** *

Represents the input of a create repository operation.

See * Also:

AWS * API Reference

*/ class CreateRepositoryRequest : public CodeCommitRequest { public: AWS_CODECOMMIT_API CreateRepositoryRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateRepository"; } AWS_CODECOMMIT_API Aws::String SerializePayload() const override; AWS_CODECOMMIT_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline const Aws::String& GetRepositoryName() const{ return m_repositoryName; } /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline bool RepositoryNameHasBeenSet() const { return m_repositoryNameHasBeenSet; } /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline void SetRepositoryName(const Aws::String& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = value; } /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline void SetRepositoryName(Aws::String&& value) { m_repositoryNameHasBeenSet = true; m_repositoryName = std::move(value); } /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline void SetRepositoryName(const char* value) { m_repositoryNameHasBeenSet = true; m_repositoryName.assign(value); } /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline CreateRepositoryRequest& WithRepositoryName(const Aws::String& value) { SetRepositoryName(value); return *this;} /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline CreateRepositoryRequest& WithRepositoryName(Aws::String&& value) { SetRepositoryName(std::move(value)); return *this;} /** *

The name of the new repository to be created.

The repository * name must be unique across the calling AWS account. Repository names are limited * to 100 alphanumeric, dash, and underscore characters, and cannot include certain * characters. For more information about the limits on repository names, see Limits * in the AWS CodeCommit User Guide. The suffix .git is prohibited.

* */ inline CreateRepositoryRequest& WithRepositoryName(const char* value) { SetRepositoryName(value); return *this;} /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline const Aws::String& GetRepositoryDescription() const{ return m_repositoryDescription; } /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline bool RepositoryDescriptionHasBeenSet() const { return m_repositoryDescriptionHasBeenSet; } /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline void SetRepositoryDescription(const Aws::String& value) { m_repositoryDescriptionHasBeenSet = true; m_repositoryDescription = value; } /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline void SetRepositoryDescription(Aws::String&& value) { m_repositoryDescriptionHasBeenSet = true; m_repositoryDescription = std::move(value); } /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline void SetRepositoryDescription(const char* value) { m_repositoryDescriptionHasBeenSet = true; m_repositoryDescription.assign(value); } /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline CreateRepositoryRequest& WithRepositoryDescription(const Aws::String& value) { SetRepositoryDescription(value); return *this;} /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline CreateRepositoryRequest& WithRepositoryDescription(Aws::String&& value) { SetRepositoryDescription(std::move(value)); return *this;} /** *

A comment or description about the new repository.

The * description field for a repository accepts all HTML characters and all valid * Unicode characters. Applications that do not HTML-encode the description and * display it in a webpage can expose users to potentially malicious code. Make * sure that you HTML-encode the description field in any application that uses * this API to display the repository description on a webpage.

*/ inline CreateRepositoryRequest& WithRepositoryDescription(const char* value) { SetRepositoryDescription(value); return *this;} /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline const Aws::Map& GetTags() const{ return m_tags; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline void SetTags(const Aws::Map& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline void SetTags(Aws::Map&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& WithTags(const Aws::Map& value) { SetTags(value); return *this;} /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& WithTags(Aws::Map&& value) { SetTags(std::move(value)); return *this;} /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(const Aws::String& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(Aws::String&& key, const Aws::String& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(const Aws::String& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(Aws::String&& key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), std::move(value)); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(const char* key, Aws::String&& value) { m_tagsHasBeenSet = true; m_tags.emplace(key, std::move(value)); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(Aws::String&& key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(std::move(key), value); return *this; } /** *

One or more tag key-value pairs to use when tagging this repository.

*/ inline CreateRepositoryRequest& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } private: Aws::String m_repositoryName; bool m_repositoryNameHasBeenSet = false; Aws::String m_repositoryDescription; bool m_repositoryDescriptionHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace CodeCommit } // namespace Aws