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

The request structure used to create apps in Amplify.

See * Also:

AWS * API Reference

*/ class CreateAppRequest : public AmplifyRequest { public: AWS_AMPLIFY_API CreateAppRequest(); // 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 "CreateApp"; } AWS_AMPLIFY_API Aws::String SerializePayload() const override; /** *

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The name for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The description for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

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

The repository for an Amplify app.

*/ inline CreateAppRequest& 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 CreateAppRequest& 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 CreateAppRequest& WithPlatform(Platform&& value) { SetPlatform(std::move(value)); return *this;} /** *

The AWS Identity and Access Management (IAM) service role for an Amplify * app.

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

The AWS Identity and Access Management (IAM) service role for an Amplify * app.

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

The AWS Identity and Access Management (IAM) service role for an 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 an 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 an 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 an Amplify * app.

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

The AWS Identity and Access Management (IAM) service role for an Amplify * app.

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

The AWS Identity and Access Management (IAM) service role for an Amplify * app.

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

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline const Aws::String& GetOauthToken() const{ return m_oauthToken; } /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline bool OauthTokenHasBeenSet() const { return m_oauthTokenHasBeenSet; } /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetOauthToken(const Aws::String& value) { m_oauthTokenHasBeenSet = true; m_oauthToken = value; } /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetOauthToken(Aws::String&& value) { m_oauthTokenHasBeenSet = true; m_oauthToken = std::move(value); } /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetOauthToken(const char* value) { m_oauthTokenHasBeenSet = true; m_oauthToken.assign(value); } /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithOauthToken(const Aws::String& value) { SetOauthToken(value); return *this;} /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithOauthToken(Aws::String&& value) { SetOauthToken(std::move(value)); return *this;} /** *

The OAuth token for a third-party source control system for an Amplify app. * The OAuth token is used to create a webhook and a read-only deploy key using SSH * cloning. The OAuth token is not stored.

Use oauthToken for * repository providers other than GitHub, such as Bitbucket or CodeCommit. To * authorize access to GitHub as your repository provider, use * accessToken.

You must specify either oauthToken * or accessToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithOauthToken(const char* value) { SetOauthToken(value); return *this;} /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline const Aws::String& GetAccessToken() const{ return m_accessToken; } /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline bool AccessTokenHasBeenSet() const { return m_accessTokenHasBeenSet; } /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetAccessToken(const Aws::String& value) { m_accessTokenHasBeenSet = true; m_accessToken = value; } /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetAccessToken(Aws::String&& value) { m_accessTokenHasBeenSet = true; m_accessToken = std::move(value); } /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline void SetAccessToken(const char* value) { m_accessTokenHasBeenSet = true; m_accessToken.assign(value); } /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithAccessToken(const Aws::String& value) { SetAccessToken(value); return *this;} /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithAccessToken(Aws::String&& value) { SetAccessToken(std::move(value)); return *this;} /** *

The personal access token for a GitHub repository for an Amplify app. The * personal access token is used to authorize access to a GitHub repository using * the Amplify GitHub App. The token is not stored.

Use * accessToken for GitHub repositories only. To authorize access to a * repository provider such as Bitbucket or CodeCommit, use * oauthToken.

You must specify either accessToken * or oauthToken when you create a new app.

Existing Amplify * apps deployed from a GitHub repository using OAuth continue to work with CI/CD. * However, we strongly recommend that you migrate these apps to use the GitHub * App. For more information, see Migrating * an existing OAuth app to the Amplify GitHub App in the Amplify User * Guide .

*/ inline CreateAppRequest& WithAccessToken(const char* value) { SetAccessToken(value); return *this;} /** *

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

The environment variables map for an Amplify app.

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

Enables the auto building of branches for an Amplify app.

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

Enables the auto building of branches for an Amplify app.

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

Enables the auto building of branches for an Amplify app.

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

Enables the auto building of branches for an Amplify app.

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

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

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

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

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

Automatically disconnects 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 disconnects a branch in the Amplify Console when you delete a * branch from your Git repository.

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

Enables basic authorization for an Amplify app. This will apply to all * branches that are part of this app.

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

Enables basic authorization for an Amplify app. This will apply to all * branches that are part of this app.

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

Enables basic authorization for an Amplify app. This will apply to all * branches that are part of this app.

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

Enables basic authorization for an Amplify app. This will apply to all * branches that are part of this app.

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

The credentials for basic authorization for an 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 credentials for basic authorization for an 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 credentials for basic authorization for an 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 credentials for basic authorization for an 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 credentials for basic authorization for an 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 credentials for basic authorization for an Amplify app. You must * base64-encode the authorization credentials and provide them in the format * user:password.

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

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

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

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

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The custom rewrite and redirect rules for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The tag for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The build specification (build spec) for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

The custom HTTP headers for an Amplify app.

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

Enables automated branch creation for an Amplify app.

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

Enables automated branch creation for an Amplify app.

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

Enables automated branch creation for an Amplify app.

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

Enables automated branch creation for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation glob patterns for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

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

The automated branch creation configuration for an Amplify app.

*/ inline CreateAppRequest& WithAutoBranchCreationConfig(AutoBranchCreationConfig&& value) { SetAutoBranchCreationConfig(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = 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::String m_iamServiceRoleArn; bool m_iamServiceRoleArnHasBeenSet = false; Aws::String m_oauthToken; bool m_oauthTokenHasBeenSet = false; Aws::String m_accessToken; bool m_accessTokenHasBeenSet = false; Aws::Map m_environmentVariables; bool m_environmentVariablesHasBeenSet = 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; Aws::Map m_tags; bool m_tagsHasBeenSet = 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; }; } // namespace Model } // namespace Amplify } // namespace Aws