/** * 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 #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace Amplify { namespace Model { /** *

Represents the different branches of a repository for building, deploying, * and hosting an Amplify app.

See Also:

AWS API * Reference

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

The unique ID of the Amplify app.

*/ inline const Aws::String& GetAppId() const{ return m_appId; } /** *

The unique ID of the Amplify app.

*/ inline bool AppIdHasBeenSet() const { return m_appIdHasBeenSet; } /** *

The unique ID of the Amplify app.

*/ inline void SetAppId(const Aws::String& value) { m_appIdHasBeenSet = true; m_appId = value; } /** *

The unique ID of the Amplify app.

*/ inline void SetAppId(Aws::String&& value) { m_appIdHasBeenSet = true; m_appId = std::move(value); } /** *

The unique ID of the Amplify app.

*/ inline void SetAppId(const char* value) { m_appIdHasBeenSet = true; m_appId.assign(value); } /** *

The unique ID of the Amplify app.

*/ inline App& WithAppId(const Aws::String& value) { SetAppId(value); return *this;} /** *

The unique ID of the Amplify app.

*/ inline App& WithAppId(Aws::String&& value) { SetAppId(std::move(value)); return *this;} /** *

The unique ID of the Amplify app.

*/ inline App& WithAppId(const char* value) { SetAppId(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline const Aws::String& GetAppArn() const{ return m_appArn; } /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline bool AppArnHasBeenSet() const { return m_appArnHasBeenSet; } /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline void SetAppArn(const Aws::String& value) { m_appArnHasBeenSet = true; m_appArn = value; } /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline void SetAppArn(Aws::String&& value) { m_appArnHasBeenSet = true; m_appArn = std::move(value); } /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline void SetAppArn(const char* value) { m_appArnHasBeenSet = true; m_appArn.assign(value); } /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline App& WithAppArn(const Aws::String& value) { SetAppArn(value); return *this;} /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline App& WithAppArn(Aws::String&& value) { SetAppArn(std::move(value)); return *this;} /** *

The Amazon Resource Name (ARN) of the Amplify app.

*/ inline App& WithAppArn(const char* value) { SetAppArn(value); return *this;} /** *

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The name for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

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

The tag for the Amplify app.

*/ inline App& AddTags(const char* key, const char* value) { m_tagsHasBeenSet = true; m_tags.emplace(key, value); return *this; } /** *

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The description for the Amplify app.

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

The Git repository for the Amplify app.

*/ inline const Aws::String& GetRepository() const{ return m_repository; } /** *

The Git repository for the Amplify app.

*/ inline bool RepositoryHasBeenSet() const { return m_repositoryHasBeenSet; } /** *

The Git repository for the Amplify app.

*/ inline void SetRepository(const Aws::String& value) { m_repositoryHasBeenSet = true; m_repository = value; } /** *

The Git repository for the Amplify app.

*/ inline void SetRepository(Aws::String&& value) { m_repositoryHasBeenSet = true; m_repository = std::move(value); } /** *

The Git repository for the Amplify app.

*/ inline void SetRepository(const char* value) { m_repositoryHasBeenSet = true; m_repository.assign(value); } /** *

The Git repository for the Amplify app.

*/ inline App& WithRepository(const Aws::String& value) { SetRepository(value); return *this;} /** *

The Git repository for the Amplify app.

*/ inline App& WithRepository(Aws::String&& value) { SetRepository(std::move(value)); return *this;} /** *

The Git repository for the Amplify app.

*/ inline App& WithRepository(const char* value) { SetRepository(value); return *this;} /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline const Platform& GetPlatform() const{ return m_platform; } /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline bool PlatformHasBeenSet() const { return m_platformHasBeenSet; } /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline void SetPlatform(const Platform& value) { m_platformHasBeenSet = true; m_platform = value; } /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline void SetPlatform(Platform&& value) { m_platformHasBeenSet = true; m_platform = std::move(value); } /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline App& WithPlatform(const Platform& value) { SetPlatform(value); return *this;} /** *

The platform for the Amplify app. For a static app, set the platform type to * WEB. For a dynamic server-side rendered (SSR) app, set the platform * type to WEB_COMPUTE. For an app requiring Amplify Hosting's * original SSR support only, set the platform type to * WEB_DYNAMIC.

*/ inline App& WithPlatform(Platform&& value) { SetPlatform(std::move(value)); return *this;} /** *

Creates a date and time for the Amplify app.

*/ inline const Aws::Utils::DateTime& GetCreateTime() const{ return m_createTime; } /** *

Creates a date and time for the Amplify app.

*/ inline bool CreateTimeHasBeenSet() const { return m_createTimeHasBeenSet; } /** *

Creates a date and time for the Amplify app.

*/ inline void SetCreateTime(const Aws::Utils::DateTime& value) { m_createTimeHasBeenSet = true; m_createTime = value; } /** *

Creates a date and time for the Amplify app.

*/ inline void SetCreateTime(Aws::Utils::DateTime&& value) { m_createTimeHasBeenSet = true; m_createTime = std::move(value); } /** *

Creates a date and time for the Amplify app.

*/ inline App& WithCreateTime(const Aws::Utils::DateTime& value) { SetCreateTime(value); return *this;} /** *

Creates a date and time for the Amplify app.

*/ inline App& WithCreateTime(Aws::Utils::DateTime&& value) { SetCreateTime(std::move(value)); return *this;} /** *

Updates the date and time for the Amplify app.

*/ inline const Aws::Utils::DateTime& GetUpdateTime() const{ return m_updateTime; } /** *

Updates the date and time for the Amplify app.

*/ inline bool UpdateTimeHasBeenSet() const { return m_updateTimeHasBeenSet; } /** *

Updates the date and time for the Amplify app.

*/ inline void SetUpdateTime(const Aws::Utils::DateTime& value) { m_updateTimeHasBeenSet = true; m_updateTime = value; } /** *

Updates the date and time for the Amplify app.

*/ inline void SetUpdateTime(Aws::Utils::DateTime&& value) { m_updateTimeHasBeenSet = true; m_updateTime = std::move(value); } /** *

Updates the date and time for the Amplify app.

*/ inline App& WithUpdateTime(const Aws::Utils::DateTime& value) { SetUpdateTime(value); return *this;} /** *

Updates the date and time for the Amplify app.

*/ inline App& WithUpdateTime(Aws::Utils::DateTime&& value) { SetUpdateTime(std::move(value)); return *this;} /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline const Aws::String& GetIamServiceRoleArn() const{ return m_iamServiceRoleArn; } /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline bool IamServiceRoleArnHasBeenSet() const { return m_iamServiceRoleArnHasBeenSet; } /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline void SetIamServiceRoleArn(const Aws::String& value) { m_iamServiceRoleArnHasBeenSet = true; m_iamServiceRoleArn = value; } /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline void SetIamServiceRoleArn(Aws::String&& value) { m_iamServiceRoleArnHasBeenSet = true; m_iamServiceRoleArn = std::move(value); } /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline void SetIamServiceRoleArn(const char* value) { m_iamServiceRoleArnHasBeenSet = true; m_iamServiceRoleArn.assign(value); } /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline App& WithIamServiceRoleArn(const Aws::String& value) { SetIamServiceRoleArn(value); return *this;} /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline App& WithIamServiceRoleArn(Aws::String&& value) { SetIamServiceRoleArn(std::move(value)); return *this;} /** *

The AWS Identity and Access Management (IAM) service role for the Amazon * Resource Name (ARN) of the Amplify app.

*/ inline App& WithIamServiceRoleArn(const char* value) { SetIamServiceRoleArn(value); return *this;} /** *

The environment variables for the Amplify app.

*/ inline const Aws::Map& GetEnvironmentVariables() const{ return m_environmentVariables; } /** *

The environment variables for the Amplify app.

*/ inline bool EnvironmentVariablesHasBeenSet() const { return m_environmentVariablesHasBeenSet; } /** *

The environment variables for the Amplify app.

*/ inline void SetEnvironmentVariables(const Aws::Map& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables = value; } /** *

The environment variables for the Amplify app.

*/ inline void SetEnvironmentVariables(Aws::Map&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables = std::move(value); } /** *

The environment variables for the Amplify app.

*/ inline App& WithEnvironmentVariables(const Aws::Map& value) { SetEnvironmentVariables(value); return *this;} /** *

The environment variables for the Amplify app.

*/ inline App& WithEnvironmentVariables(Aws::Map&& value) { SetEnvironmentVariables(std::move(value)); return *this;} /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(const Aws::String& key, const Aws::String& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, value); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(Aws::String&& key, const Aws::String& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(const Aws::String& key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(Aws::String&& key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), std::move(value)); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(const char* key, Aws::String&& value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, std::move(value)); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(Aws::String&& key, const char* value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(std::move(key), value); return *this; } /** *

The environment variables for the Amplify app.

*/ inline App& AddEnvironmentVariables(const char* key, const char* value) { m_environmentVariablesHasBeenSet = true; m_environmentVariables.emplace(key, value); return *this; } /** *

The default domain for the Amplify app.

*/ inline const Aws::String& GetDefaultDomain() const{ return m_defaultDomain; } /** *

The default domain for the Amplify app.

*/ inline bool DefaultDomainHasBeenSet() const { return m_defaultDomainHasBeenSet; } /** *

The default domain for the Amplify app.

*/ inline void SetDefaultDomain(const Aws::String& value) { m_defaultDomainHasBeenSet = true; m_defaultDomain = value; } /** *

The default domain for the Amplify app.

*/ inline void SetDefaultDomain(Aws::String&& value) { m_defaultDomainHasBeenSet = true; m_defaultDomain = std::move(value); } /** *

The default domain for the Amplify app.

*/ inline void SetDefaultDomain(const char* value) { m_defaultDomainHasBeenSet = true; m_defaultDomain.assign(value); } /** *

The default domain for the Amplify app.

*/ inline App& WithDefaultDomain(const Aws::String& value) { SetDefaultDomain(value); return *this;} /** *

The default domain for the Amplify app.

*/ inline App& WithDefaultDomain(Aws::String&& value) { SetDefaultDomain(std::move(value)); return *this;} /** *

The default domain for the Amplify app.

*/ inline App& WithDefaultDomain(const char* value) { SetDefaultDomain(value); return *this;} /** *

Enables the auto-building of branches for the Amplify app.

*/ inline bool GetEnableBranchAutoBuild() const{ return m_enableBranchAutoBuild; } /** *

Enables the auto-building of branches for the Amplify app.

*/ inline bool EnableBranchAutoBuildHasBeenSet() const { return m_enableBranchAutoBuildHasBeenSet; } /** *

Enables the auto-building of branches for the Amplify app.

*/ inline void SetEnableBranchAutoBuild(bool value) { m_enableBranchAutoBuildHasBeenSet = true; m_enableBranchAutoBuild = value; } /** *

Enables the auto-building of branches for the Amplify app.

*/ inline App& WithEnableBranchAutoBuild(bool value) { SetEnableBranchAutoBuild(value); return *this;} /** *

Automatically disconnect a branch in the Amplify Console when you delete a * branch from your Git repository.

*/ inline bool GetEnableBranchAutoDeletion() const{ return m_enableBranchAutoDeletion; } /** *

Automatically disconnect a branch in the Amplify Console when you delete a * branch from your Git repository.

*/ inline bool EnableBranchAutoDeletionHasBeenSet() const { return m_enableBranchAutoDeletionHasBeenSet; } /** *

Automatically disconnect a branch in the Amplify Console when you delete a * branch from your Git repository.

*/ inline void SetEnableBranchAutoDeletion(bool value) { m_enableBranchAutoDeletionHasBeenSet = true; m_enableBranchAutoDeletion = value; } /** *

Automatically disconnect a branch in the Amplify Console when you delete a * branch from your Git repository.

*/ inline App& WithEnableBranchAutoDeletion(bool value) { SetEnableBranchAutoDeletion(value); return *this;} /** *

Enables basic authorization for the Amplify app's branches.

*/ inline bool GetEnableBasicAuth() const{ return m_enableBasicAuth; } /** *

Enables basic authorization for the Amplify app's branches.

*/ inline bool EnableBasicAuthHasBeenSet() const { return m_enableBasicAuthHasBeenSet; } /** *

Enables basic authorization for the Amplify app's branches.

*/ inline void SetEnableBasicAuth(bool value) { m_enableBasicAuthHasBeenSet = true; m_enableBasicAuth = value; } /** *

Enables basic authorization for the Amplify app's branches.

*/ inline App& WithEnableBasicAuth(bool value) { SetEnableBasicAuth(value); return *this;} /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline const Aws::String& GetBasicAuthCredentials() const{ return m_basicAuthCredentials; } /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline bool BasicAuthCredentialsHasBeenSet() const { return m_basicAuthCredentialsHasBeenSet; } /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline void SetBasicAuthCredentials(const Aws::String& value) { m_basicAuthCredentialsHasBeenSet = true; m_basicAuthCredentials = value; } /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline void SetBasicAuthCredentials(Aws::String&& value) { m_basicAuthCredentialsHasBeenSet = true; m_basicAuthCredentials = std::move(value); } /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline void SetBasicAuthCredentials(const char* value) { m_basicAuthCredentialsHasBeenSet = true; m_basicAuthCredentials.assign(value); } /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline App& WithBasicAuthCredentials(const Aws::String& value) { SetBasicAuthCredentials(value); return *this;} /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline App& WithBasicAuthCredentials(Aws::String&& value) { SetBasicAuthCredentials(std::move(value)); return *this;} /** *

The basic authorization credentials for branches for the Amplify app. You * must base64-encode the authorization credentials and provide them in the format * user:password.

*/ inline App& WithBasicAuthCredentials(const char* value) { SetBasicAuthCredentials(value); return *this;} /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline const Aws::Vector& GetCustomRules() const{ return m_customRules; } /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline bool CustomRulesHasBeenSet() const { return m_customRulesHasBeenSet; } /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline void SetCustomRules(const Aws::Vector& value) { m_customRulesHasBeenSet = true; m_customRules = value; } /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline void SetCustomRules(Aws::Vector&& value) { m_customRulesHasBeenSet = true; m_customRules = std::move(value); } /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline App& WithCustomRules(const Aws::Vector& value) { SetCustomRules(value); return *this;} /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline App& WithCustomRules(Aws::Vector&& value) { SetCustomRules(std::move(value)); return *this;} /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline App& AddCustomRules(const CustomRule& value) { m_customRulesHasBeenSet = true; m_customRules.push_back(value); return *this; } /** *

Describes the custom redirect and rewrite rules for the Amplify app.

*/ inline App& AddCustomRules(CustomRule&& value) { m_customRulesHasBeenSet = true; m_customRules.push_back(std::move(value)); return *this; } /** *

Describes the information about a production branch of the Amplify app.

*/ inline const ProductionBranch& GetProductionBranch() const{ return m_productionBranch; } /** *

Describes the information about a production branch of the Amplify app.

*/ inline bool ProductionBranchHasBeenSet() const { return m_productionBranchHasBeenSet; } /** *

Describes the information about a production branch of the Amplify app.

*/ inline void SetProductionBranch(const ProductionBranch& value) { m_productionBranchHasBeenSet = true; m_productionBranch = value; } /** *

Describes the information about a production branch of the Amplify app.

*/ inline void SetProductionBranch(ProductionBranch&& value) { m_productionBranchHasBeenSet = true; m_productionBranch = std::move(value); } /** *

Describes the information about a production branch of the Amplify app.

*/ inline App& WithProductionBranch(const ProductionBranch& value) { SetProductionBranch(value); return *this;} /** *

Describes the information about a production branch of the Amplify app.

*/ inline App& WithProductionBranch(ProductionBranch&& value) { SetProductionBranch(std::move(value)); return *this;} /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline const Aws::String& GetBuildSpec() const{ return m_buildSpec; } /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline bool BuildSpecHasBeenSet() const { return m_buildSpecHasBeenSet; } /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline void SetBuildSpec(const Aws::String& value) { m_buildSpecHasBeenSet = true; m_buildSpec = value; } /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline void SetBuildSpec(Aws::String&& value) { m_buildSpecHasBeenSet = true; m_buildSpec = std::move(value); } /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline void SetBuildSpec(const char* value) { m_buildSpecHasBeenSet = true; m_buildSpec.assign(value); } /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline App& WithBuildSpec(const Aws::String& value) { SetBuildSpec(value); return *this;} /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline App& WithBuildSpec(Aws::String&& value) { SetBuildSpec(std::move(value)); return *this;} /** *

Describes the content of the build specification (build spec) for the * Amplify app.

*/ inline App& WithBuildSpec(const char* value) { SetBuildSpec(value); return *this;} /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline const Aws::String& GetCustomHeaders() const{ return m_customHeaders; } /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline bool CustomHeadersHasBeenSet() const { return m_customHeadersHasBeenSet; } /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline void SetCustomHeaders(const Aws::String& value) { m_customHeadersHasBeenSet = true; m_customHeaders = value; } /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline void SetCustomHeaders(Aws::String&& value) { m_customHeadersHasBeenSet = true; m_customHeaders = std::move(value); } /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline void SetCustomHeaders(const char* value) { m_customHeadersHasBeenSet = true; m_customHeaders.assign(value); } /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline App& WithCustomHeaders(const Aws::String& value) { SetCustomHeaders(value); return *this;} /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline App& WithCustomHeaders(Aws::String&& value) { SetCustomHeaders(std::move(value)); return *this;} /** *

Describes the custom HTTP headers for the Amplify app.

*/ inline App& WithCustomHeaders(const char* value) { SetCustomHeaders(value); return *this;} /** *

Enables automated branch creation for the Amplify app.

*/ inline bool GetEnableAutoBranchCreation() const{ return m_enableAutoBranchCreation; } /** *

Enables automated branch creation for the Amplify app.

*/ inline bool EnableAutoBranchCreationHasBeenSet() const { return m_enableAutoBranchCreationHasBeenSet; } /** *

Enables automated branch creation for the Amplify app.

*/ inline void SetEnableAutoBranchCreation(bool value) { m_enableAutoBranchCreationHasBeenSet = true; m_enableAutoBranchCreation = value; } /** *

Enables automated branch creation for the Amplify app.

*/ inline App& WithEnableAutoBranchCreation(bool value) { SetEnableAutoBranchCreation(value); return *this;} /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline const Aws::Vector& GetAutoBranchCreationPatterns() const{ return m_autoBranchCreationPatterns; } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline bool AutoBranchCreationPatternsHasBeenSet() const { return m_autoBranchCreationPatternsHasBeenSet; } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline void SetAutoBranchCreationPatterns(const Aws::Vector& value) { m_autoBranchCreationPatternsHasBeenSet = true; m_autoBranchCreationPatterns = value; } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline void SetAutoBranchCreationPatterns(Aws::Vector&& value) { m_autoBranchCreationPatternsHasBeenSet = true; m_autoBranchCreationPatterns = std::move(value); } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline App& WithAutoBranchCreationPatterns(const Aws::Vector& value) { SetAutoBranchCreationPatterns(value); return *this;} /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline App& WithAutoBranchCreationPatterns(Aws::Vector&& value) { SetAutoBranchCreationPatterns(std::move(value)); return *this;} /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline App& AddAutoBranchCreationPatterns(const Aws::String& value) { m_autoBranchCreationPatternsHasBeenSet = true; m_autoBranchCreationPatterns.push_back(value); return *this; } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline App& AddAutoBranchCreationPatterns(Aws::String&& value) { m_autoBranchCreationPatternsHasBeenSet = true; m_autoBranchCreationPatterns.push_back(std::move(value)); return *this; } /** *

Describes the automated branch creation glob patterns for the Amplify app. *

*/ inline App& AddAutoBranchCreationPatterns(const char* value) { m_autoBranchCreationPatternsHasBeenSet = true; m_autoBranchCreationPatterns.push_back(value); return *this; } /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline const AutoBranchCreationConfig& GetAutoBranchCreationConfig() const{ return m_autoBranchCreationConfig; } /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline bool AutoBranchCreationConfigHasBeenSet() const { return m_autoBranchCreationConfigHasBeenSet; } /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline void SetAutoBranchCreationConfig(const AutoBranchCreationConfig& value) { m_autoBranchCreationConfigHasBeenSet = true; m_autoBranchCreationConfig = value; } /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline void SetAutoBranchCreationConfig(AutoBranchCreationConfig&& value) { m_autoBranchCreationConfigHasBeenSet = true; m_autoBranchCreationConfig = std::move(value); } /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline App& WithAutoBranchCreationConfig(const AutoBranchCreationConfig& value) { SetAutoBranchCreationConfig(value); return *this;} /** *

Describes the automated branch creation configuration for the Amplify app. *

*/ inline App& WithAutoBranchCreationConfig(AutoBranchCreationConfig&& value) { SetAutoBranchCreationConfig(std::move(value)); return *this;} /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline const RepositoryCloneMethod& GetRepositoryCloneMethod() const{ return m_repositoryCloneMethod; } /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline bool RepositoryCloneMethodHasBeenSet() const { return m_repositoryCloneMethodHasBeenSet; } /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline void SetRepositoryCloneMethod(const RepositoryCloneMethod& value) { m_repositoryCloneMethodHasBeenSet = true; m_repositoryCloneMethod = value; } /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline void SetRepositoryCloneMethod(RepositoryCloneMethod&& value) { m_repositoryCloneMethodHasBeenSet = true; m_repositoryCloneMethod = std::move(value); } /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline App& WithRepositoryCloneMethod(const RepositoryCloneMethod& value) { SetRepositoryCloneMethod(value); return *this;} /** *

This is for internal use.

The Amplify service uses this * parameter to specify the authentication protocol to use to access the Git * repository for an Amplify app. Amplify specifies TOKEN for a GitHub * repository, SIGV4 for an Amazon Web Services CodeCommit repository, * and SSH for GitLab and Bitbucket repositories.

*/ inline App& WithRepositoryCloneMethod(RepositoryCloneMethod&& value) { SetRepositoryCloneMethod(std::move(value)); return *this;} private: Aws::String m_appId; bool m_appIdHasBeenSet = false; Aws::String m_appArn; bool m_appArnHasBeenSet = false; Aws::String m_name; bool m_nameHasBeenSet = false; Aws::Map m_tags; bool m_tagsHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; Aws::String m_repository; bool m_repositoryHasBeenSet = false; Platform m_platform; bool m_platformHasBeenSet = false; Aws::Utils::DateTime m_createTime; bool m_createTimeHasBeenSet = false; Aws::Utils::DateTime m_updateTime; bool m_updateTimeHasBeenSet = false; Aws::String m_iamServiceRoleArn; bool m_iamServiceRoleArnHasBeenSet = false; Aws::Map m_environmentVariables; bool m_environmentVariablesHasBeenSet = false; Aws::String m_defaultDomain; bool m_defaultDomainHasBeenSet = false; bool m_enableBranchAutoBuild; bool m_enableBranchAutoBuildHasBeenSet = false; bool m_enableBranchAutoDeletion; bool m_enableBranchAutoDeletionHasBeenSet = false; bool m_enableBasicAuth; bool m_enableBasicAuthHasBeenSet = false; Aws::String m_basicAuthCredentials; bool m_basicAuthCredentialsHasBeenSet = false; Aws::Vector m_customRules; bool m_customRulesHasBeenSet = false; ProductionBranch m_productionBranch; bool m_productionBranchHasBeenSet = false; Aws::String m_buildSpec; bool m_buildSpecHasBeenSet = false; Aws::String m_customHeaders; bool m_customHeadersHasBeenSet = false; bool m_enableAutoBranchCreation; bool m_enableAutoBranchCreationHasBeenSet = false; Aws::Vector m_autoBranchCreationPatterns; bool m_autoBranchCreationPatternsHasBeenSet = false; AutoBranchCreationConfig m_autoBranchCreationConfig; bool m_autoBranchCreationConfigHasBeenSet = false; RepositoryCloneMethod m_repositoryCloneMethod; bool m_repositoryCloneMethodHasBeenSet = false; }; } // namespace Model } // namespace Amplify } // namespace Aws