All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.amplify.inputs.AppState Maven / Gradle / Ivy

// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.amplify.inputs;

import com.pulumi.aws.amplify.inputs.AppAutoBranchCreationConfigArgs;
import com.pulumi.aws.amplify.inputs.AppCacheConfigArgs;
import com.pulumi.aws.amplify.inputs.AppCustomRuleArgs;
import com.pulumi.aws.amplify.inputs.AppProductionBranchArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class AppState extends com.pulumi.resources.ResourceArgs {

    public static final AppState Empty = new AppState();

    /**
     * Personal access token for a third-party source control system for an Amplify app. This token must have write access to the relevant repo to create a webhook and a read-only deploy key for the Amplify project. The token is not stored, so after applying this attribute can be removed and the setup token deleted.
     * 
     */
    @Import(name="accessToken")
    private @Nullable Output accessToken;

    /**
     * @return Personal access token for a third-party source control system for an Amplify app. This token must have write access to the relevant repo to create a webhook and a read-only deploy key for the Amplify project. The token is not stored, so after applying this attribute can be removed and the setup token deleted.
     * 
     */
    public Optional> accessToken() {
        return Optional.ofNullable(this.accessToken);
    }

    /**
     * ARN of the Amplify app.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return ARN of the Amplify app.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Automated branch creation configuration for an Amplify app. See `auto_branch_creation_config` Block for details.
     * 
     */
    @Import(name="autoBranchCreationConfig")
    private @Nullable Output autoBranchCreationConfig;

    /**
     * @return Automated branch creation configuration for an Amplify app. See `auto_branch_creation_config` Block for details.
     * 
     */
    public Optional> autoBranchCreationConfig() {
        return Optional.ofNullable(this.autoBranchCreationConfig);
    }

    /**
     * Automated branch creation glob patterns for an Amplify app.
     * 
     */
    @Import(name="autoBranchCreationPatterns")
    private @Nullable Output> autoBranchCreationPatterns;

    /**
     * @return Automated branch creation glob patterns for an Amplify app.
     * 
     */
    public Optional>> autoBranchCreationPatterns() {
        return Optional.ofNullable(this.autoBranchCreationPatterns);
    }

    /**
     * Credentials for basic authorization for an Amplify app.
     * 
     */
    @Import(name="basicAuthCredentials")
    private @Nullable Output basicAuthCredentials;

    /**
     * @return Credentials for basic authorization for an Amplify app.
     * 
     */
    public Optional> basicAuthCredentials() {
        return Optional.ofNullable(this.basicAuthCredentials);
    }

    /**
     * The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
     * 
     */
    @Import(name="buildSpec")
    private @Nullable Output buildSpec;

    /**
     * @return The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
     * 
     */
    public Optional> buildSpec() {
        return Optional.ofNullable(this.buildSpec);
    }

    /**
     * Cache configuration for the Amplify app. See `cache_config` Block for details.
     * 
     */
    @Import(name="cacheConfig")
    private @Nullable Output cacheConfig;

    /**
     * @return Cache configuration for the Amplify app. See `cache_config` Block for details.
     * 
     */
    public Optional> cacheConfig() {
        return Optional.ofNullable(this.cacheConfig);
    }

    /**
     * The [custom HTTP headers](https://docs.aws.amazon.com/amplify/latest/userguide/custom-headers.html) for an Amplify app.
     * 
     */
    @Import(name="customHeaders")
    private @Nullable Output customHeaders;

    /**
     * @return The [custom HTTP headers](https://docs.aws.amazon.com/amplify/latest/userguide/custom-headers.html) for an Amplify app.
     * 
     */
    public Optional> customHeaders() {
        return Optional.ofNullable(this.customHeaders);
    }

    /**
     * Custom rewrite and redirect rules for an Amplify app. See `custom_rule` Block for details.
     * 
     */
    @Import(name="customRules")
    private @Nullable Output> customRules;

    /**
     * @return Custom rewrite and redirect rules for an Amplify app. See `custom_rule` Block for details.
     * 
     */
    public Optional>> customRules() {
        return Optional.ofNullable(this.customRules);
    }

    /**
     * Default domain for the Amplify app.
     * 
     */
    @Import(name="defaultDomain")
    private @Nullable Output defaultDomain;

    /**
     * @return Default domain for the Amplify app.
     * 
     */
    public Optional> defaultDomain() {
        return Optional.ofNullable(this.defaultDomain);
    }

    /**
     * Description for an Amplify app.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return Description for an Amplify app.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Enables automated branch creation for an Amplify app.
     * 
     */
    @Import(name="enableAutoBranchCreation")
    private @Nullable Output enableAutoBranchCreation;

    /**
     * @return Enables automated branch creation for an Amplify app.
     * 
     */
    public Optional> enableAutoBranchCreation() {
        return Optional.ofNullable(this.enableAutoBranchCreation);
    }

    /**
     * Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
     * 
     */
    @Import(name="enableBasicAuth")
    private @Nullable Output enableBasicAuth;

    /**
     * @return Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
     * 
     */
    public Optional> enableBasicAuth() {
        return Optional.ofNullable(this.enableBasicAuth);
    }

    /**
     * Enables auto-building of branches for the Amplify App.
     * 
     */
    @Import(name="enableBranchAutoBuild")
    private @Nullable Output enableBranchAutoBuild;

    /**
     * @return Enables auto-building of branches for the Amplify App.
     * 
     */
    public Optional> enableBranchAutoBuild() {
        return Optional.ofNullable(this.enableBranchAutoBuild);
    }

    /**
     * Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
     * 
     */
    @Import(name="enableBranchAutoDeletion")
    private @Nullable Output enableBranchAutoDeletion;

    /**
     * @return Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
     * 
     */
    public Optional> enableBranchAutoDeletion() {
        return Optional.ofNullable(this.enableBranchAutoDeletion);
    }

    /**
     * Environment variables map for an Amplify app.
     * 
     */
    @Import(name="environmentVariables")
    private @Nullable Output> environmentVariables;

    /**
     * @return Environment variables map for an Amplify app.
     * 
     */
    public Optional>> environmentVariables() {
        return Optional.ofNullable(this.environmentVariables);
    }

    /**
     * AWS Identity and Access Management (IAM) service role for an Amplify app.
     * 
     */
    @Import(name="iamServiceRoleArn")
    private @Nullable Output iamServiceRoleArn;

    /**
     * @return AWS Identity and Access Management (IAM) service role for an Amplify app.
     * 
     */
    public Optional> iamServiceRoleArn() {
        return Optional.ofNullable(this.iamServiceRoleArn);
    }

    /**
     * Name for an Amplify app.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name for an Amplify app.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * 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. The OAuth token is not stored.
     * 
     */
    @Import(name="oauthToken")
    private @Nullable Output oauthToken;

    /**
     * @return 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. The OAuth token is not stored.
     * 
     */
    public Optional> oauthToken() {
        return Optional.ofNullable(this.oauthToken);
    }

    /**
     * Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
     * 
     */
    @Import(name="platform")
    private @Nullable Output platform;

    /**
     * @return Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
     * 
     */
    public Optional> platform() {
        return Optional.ofNullable(this.platform);
    }

    /**
     * Describes the information about a production branch for an Amplify app. A `production_branch` block is documented below.
     * 
     */
    @Import(name="productionBranches")
    private @Nullable Output> productionBranches;

    /**
     * @return Describes the information about a production branch for an Amplify app. A `production_branch` block is documented below.
     * 
     */
    public Optional>> productionBranches() {
        return Optional.ofNullable(this.productionBranches);
    }

    /**
     * Repository for an Amplify app.
     * 
     */
    @Import(name="repository")
    private @Nullable Output repository;

    /**
     * @return Repository for an Amplify app.
     * 
     */
    public Optional> repository() {
        return Optional.ofNullable(this.repository);
    }

    /**
     * Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    private AppState() {}

    private AppState(AppState $) {
        this.accessToken = $.accessToken;
        this.arn = $.arn;
        this.autoBranchCreationConfig = $.autoBranchCreationConfig;
        this.autoBranchCreationPatterns = $.autoBranchCreationPatterns;
        this.basicAuthCredentials = $.basicAuthCredentials;
        this.buildSpec = $.buildSpec;
        this.cacheConfig = $.cacheConfig;
        this.customHeaders = $.customHeaders;
        this.customRules = $.customRules;
        this.defaultDomain = $.defaultDomain;
        this.description = $.description;
        this.enableAutoBranchCreation = $.enableAutoBranchCreation;
        this.enableBasicAuth = $.enableBasicAuth;
        this.enableBranchAutoBuild = $.enableBranchAutoBuild;
        this.enableBranchAutoDeletion = $.enableBranchAutoDeletion;
        this.environmentVariables = $.environmentVariables;
        this.iamServiceRoleArn = $.iamServiceRoleArn;
        this.name = $.name;
        this.oauthToken = $.oauthToken;
        this.platform = $.platform;
        this.productionBranches = $.productionBranches;
        this.repository = $.repository;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(AppState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private AppState $;

        public Builder() {
            $ = new AppState();
        }

        public Builder(AppState defaults) {
            $ = new AppState(Objects.requireNonNull(defaults));
        }

        /**
         * @param accessToken Personal access token for a third-party source control system for an Amplify app. This token must have write access to the relevant repo to create a webhook and a read-only deploy key for the Amplify project. The token is not stored, so after applying this attribute can be removed and the setup token deleted.
         * 
         * @return builder
         * 
         */
        public Builder accessToken(@Nullable Output accessToken) {
            $.accessToken = accessToken;
            return this;
        }

        /**
         * @param accessToken Personal access token for a third-party source control system for an Amplify app. This token must have write access to the relevant repo to create a webhook and a read-only deploy key for the Amplify project. The token is not stored, so after applying this attribute can be removed and the setup token deleted.
         * 
         * @return builder
         * 
         */
        public Builder accessToken(String accessToken) {
            return accessToken(Output.of(accessToken));
        }

        /**
         * @param arn ARN of the Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn ARN of the Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param autoBranchCreationConfig Automated branch creation configuration for an Amplify app. See `auto_branch_creation_config` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder autoBranchCreationConfig(@Nullable Output autoBranchCreationConfig) {
            $.autoBranchCreationConfig = autoBranchCreationConfig;
            return this;
        }

        /**
         * @param autoBranchCreationConfig Automated branch creation configuration for an Amplify app. See `auto_branch_creation_config` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder autoBranchCreationConfig(AppAutoBranchCreationConfigArgs autoBranchCreationConfig) {
            return autoBranchCreationConfig(Output.of(autoBranchCreationConfig));
        }

        /**
         * @param autoBranchCreationPatterns Automated branch creation glob patterns for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder autoBranchCreationPatterns(@Nullable Output> autoBranchCreationPatterns) {
            $.autoBranchCreationPatterns = autoBranchCreationPatterns;
            return this;
        }

        /**
         * @param autoBranchCreationPatterns Automated branch creation glob patterns for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder autoBranchCreationPatterns(List autoBranchCreationPatterns) {
            return autoBranchCreationPatterns(Output.of(autoBranchCreationPatterns));
        }

        /**
         * @param autoBranchCreationPatterns Automated branch creation glob patterns for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder autoBranchCreationPatterns(String... autoBranchCreationPatterns) {
            return autoBranchCreationPatterns(List.of(autoBranchCreationPatterns));
        }

        /**
         * @param basicAuthCredentials Credentials for basic authorization for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder basicAuthCredentials(@Nullable Output basicAuthCredentials) {
            $.basicAuthCredentials = basicAuthCredentials;
            return this;
        }

        /**
         * @param basicAuthCredentials Credentials for basic authorization for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder basicAuthCredentials(String basicAuthCredentials) {
            return basicAuthCredentials(Output.of(basicAuthCredentials));
        }

        /**
         * @param buildSpec The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder buildSpec(@Nullable Output buildSpec) {
            $.buildSpec = buildSpec;
            return this;
        }

        /**
         * @param buildSpec The [build specification](https://docs.aws.amazon.com/amplify/latest/userguide/build-settings.html) (build spec) for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder buildSpec(String buildSpec) {
            return buildSpec(Output.of(buildSpec));
        }

        /**
         * @param cacheConfig Cache configuration for the Amplify app. See `cache_config` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder cacheConfig(@Nullable Output cacheConfig) {
            $.cacheConfig = cacheConfig;
            return this;
        }

        /**
         * @param cacheConfig Cache configuration for the Amplify app. See `cache_config` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder cacheConfig(AppCacheConfigArgs cacheConfig) {
            return cacheConfig(Output.of(cacheConfig));
        }

        /**
         * @param customHeaders The [custom HTTP headers](https://docs.aws.amazon.com/amplify/latest/userguide/custom-headers.html) for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder customHeaders(@Nullable Output customHeaders) {
            $.customHeaders = customHeaders;
            return this;
        }

        /**
         * @param customHeaders The [custom HTTP headers](https://docs.aws.amazon.com/amplify/latest/userguide/custom-headers.html) for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder customHeaders(String customHeaders) {
            return customHeaders(Output.of(customHeaders));
        }

        /**
         * @param customRules Custom rewrite and redirect rules for an Amplify app. See `custom_rule` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder customRules(@Nullable Output> customRules) {
            $.customRules = customRules;
            return this;
        }

        /**
         * @param customRules Custom rewrite and redirect rules for an Amplify app. See `custom_rule` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder customRules(List customRules) {
            return customRules(Output.of(customRules));
        }

        /**
         * @param customRules Custom rewrite and redirect rules for an Amplify app. See `custom_rule` Block for details.
         * 
         * @return builder
         * 
         */
        public Builder customRules(AppCustomRuleArgs... customRules) {
            return customRules(List.of(customRules));
        }

        /**
         * @param defaultDomain Default domain for the Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder defaultDomain(@Nullable Output defaultDomain) {
            $.defaultDomain = defaultDomain;
            return this;
        }

        /**
         * @param defaultDomain Default domain for the Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder defaultDomain(String defaultDomain) {
            return defaultDomain(Output.of(defaultDomain));
        }

        /**
         * @param description Description for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Description for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param enableAutoBranchCreation Enables automated branch creation for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder enableAutoBranchCreation(@Nullable Output enableAutoBranchCreation) {
            $.enableAutoBranchCreation = enableAutoBranchCreation;
            return this;
        }

        /**
         * @param enableAutoBranchCreation Enables automated branch creation for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder enableAutoBranchCreation(Boolean enableAutoBranchCreation) {
            return enableAutoBranchCreation(Output.of(enableAutoBranchCreation));
        }

        /**
         * @param enableBasicAuth Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
         * 
         * @return builder
         * 
         */
        public Builder enableBasicAuth(@Nullable Output enableBasicAuth) {
            $.enableBasicAuth = enableBasicAuth;
            return this;
        }

        /**
         * @param enableBasicAuth Enables basic authorization for an Amplify app. This will apply to all branches that are part of this app.
         * 
         * @return builder
         * 
         */
        public Builder enableBasicAuth(Boolean enableBasicAuth) {
            return enableBasicAuth(Output.of(enableBasicAuth));
        }

        /**
         * @param enableBranchAutoBuild Enables auto-building of branches for the Amplify App.
         * 
         * @return builder
         * 
         */
        public Builder enableBranchAutoBuild(@Nullable Output enableBranchAutoBuild) {
            $.enableBranchAutoBuild = enableBranchAutoBuild;
            return this;
        }

        /**
         * @param enableBranchAutoBuild Enables auto-building of branches for the Amplify App.
         * 
         * @return builder
         * 
         */
        public Builder enableBranchAutoBuild(Boolean enableBranchAutoBuild) {
            return enableBranchAutoBuild(Output.of(enableBranchAutoBuild));
        }

        /**
         * @param enableBranchAutoDeletion Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
         * 
         * @return builder
         * 
         */
        public Builder enableBranchAutoDeletion(@Nullable Output enableBranchAutoDeletion) {
            $.enableBranchAutoDeletion = enableBranchAutoDeletion;
            return this;
        }

        /**
         * @param enableBranchAutoDeletion Automatically disconnects a branch in the Amplify Console when you delete a branch from your Git repository.
         * 
         * @return builder
         * 
         */
        public Builder enableBranchAutoDeletion(Boolean enableBranchAutoDeletion) {
            return enableBranchAutoDeletion(Output.of(enableBranchAutoDeletion));
        }

        /**
         * @param environmentVariables Environment variables map for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(@Nullable Output> environmentVariables) {
            $.environmentVariables = environmentVariables;
            return this;
        }

        /**
         * @param environmentVariables Environment variables map for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder environmentVariables(Map environmentVariables) {
            return environmentVariables(Output.of(environmentVariables));
        }

        /**
         * @param iamServiceRoleArn AWS Identity and Access Management (IAM) service role for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder iamServiceRoleArn(@Nullable Output iamServiceRoleArn) {
            $.iamServiceRoleArn = iamServiceRoleArn;
            return this;
        }

        /**
         * @param iamServiceRoleArn AWS Identity and Access Management (IAM) service role for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder iamServiceRoleArn(String iamServiceRoleArn) {
            return iamServiceRoleArn(Output.of(iamServiceRoleArn));
        }

        /**
         * @param name Name for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param oauthToken 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. The OAuth token is not stored.
         * 
         * @return builder
         * 
         */
        public Builder oauthToken(@Nullable Output oauthToken) {
            $.oauthToken = oauthToken;
            return this;
        }

        /**
         * @param oauthToken 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. The OAuth token is not stored.
         * 
         * @return builder
         * 
         */
        public Builder oauthToken(String oauthToken) {
            return oauthToken(Output.of(oauthToken));
        }

        /**
         * @param platform Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
         * 
         * @return builder
         * 
         */
        public Builder platform(@Nullable Output platform) {
            $.platform = platform;
            return this;
        }

        /**
         * @param platform Platform or framework for an Amplify app. Valid values: `WEB`, `WEB_COMPUTE`. Default value: `WEB`.
         * 
         * @return builder
         * 
         */
        public Builder platform(String platform) {
            return platform(Output.of(platform));
        }

        /**
         * @param productionBranches Describes the information about a production branch for an Amplify app. A `production_branch` block is documented below.
         * 
         * @return builder
         * 
         */
        public Builder productionBranches(@Nullable Output> productionBranches) {
            $.productionBranches = productionBranches;
            return this;
        }

        /**
         * @param productionBranches Describes the information about a production branch for an Amplify app. A `production_branch` block is documented below.
         * 
         * @return builder
         * 
         */
        public Builder productionBranches(List productionBranches) {
            return productionBranches(Output.of(productionBranches));
        }

        /**
         * @param productionBranches Describes the information about a production branch for an Amplify app. A `production_branch` block is documented below.
         * 
         * @return builder
         * 
         */
        public Builder productionBranches(AppProductionBranchArgs... productionBranches) {
            return productionBranches(List.of(productionBranches));
        }

        /**
         * @param repository Repository for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder repository(@Nullable Output repository) {
            $.repository = repository;
            return this;
        }

        /**
         * @param repository Repository for an Amplify app.
         * 
         * @return builder
         * 
         */
        public Builder repository(String repository) {
            return repository(Output.of(repository));
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Key-value mapping of resource tags. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public AppState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy