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

com.pulumi.azurenative.devhub.IacProfileArgs Maven / Gradle / Ivy

There is a newer version: 2.82.0
Show newest version
// *** 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.azurenative.devhub;

import com.pulumi.azurenative.devhub.inputs.IacTemplatePropertiesArgs;
import com.pulumi.azurenative.devhub.inputs.StagePropertiesArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 IacProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final IacProfileArgs Empty = new IacProfileArgs();

    /**
     * Repository Branch Name
     * 
     */
    @Import(name="branchName")
    private @Nullable Output branchName;

    /**
     * @return Repository Branch Name
     * 
     */
    public Optional> branchName() {
        return Optional.ofNullable(this.branchName);
    }

    /**
     * The name of the IacProfile.
     * 
     */
    @Import(name="iacProfileName")
    private @Nullable Output iacProfileName;

    /**
     * @return The name of the IacProfile.
     * 
     */
    public Optional> iacProfileName() {
        return Optional.ofNullable(this.iacProfileName);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Repository Main Branch
     * 
     */
    @Import(name="repositoryMainBranch")
    private @Nullable Output repositoryMainBranch;

    /**
     * @return Repository Main Branch
     * 
     */
    public Optional> repositoryMainBranch() {
        return Optional.ofNullable(this.repositoryMainBranch);
    }

    /**
     * Repository Name
     * 
     */
    @Import(name="repositoryName")
    private @Nullable Output repositoryName;

    /**
     * @return Repository Name
     * 
     */
    public Optional> repositoryName() {
        return Optional.ofNullable(this.repositoryName);
    }

    /**
     * Repository Owner
     * 
     */
    @Import(name="repositoryOwner")
    private @Nullable Output repositoryOwner;

    /**
     * @return Repository Owner
     * 
     */
    public Optional> repositoryOwner() {
        return Optional.ofNullable(this.repositoryOwner);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    @Import(name="stages")
    private @Nullable Output> stages;

    public Optional>> stages() {
        return Optional.ofNullable(this.stages);
    }

    /**
     * Terraform Storage Account Name
     * 
     */
    @Import(name="storageAccountName")
    private @Nullable Output storageAccountName;

    /**
     * @return Terraform Storage Account Name
     * 
     */
    public Optional> storageAccountName() {
        return Optional.ofNullable(this.storageAccountName);
    }

    /**
     * Terraform Storage Account Resource Group
     * 
     */
    @Import(name="storageAccountResourceGroup")
    private @Nullable Output storageAccountResourceGroup;

    /**
     * @return Terraform Storage Account Resource Group
     * 
     */
    public Optional> storageAccountResourceGroup() {
        return Optional.ofNullable(this.storageAccountResourceGroup);
    }

    /**
     * Terraform Storage Account Subscription
     * 
     */
    @Import(name="storageAccountSubscription")
    private @Nullable Output storageAccountSubscription;

    /**
     * @return Terraform Storage Account Subscription
     * 
     */
    public Optional> storageAccountSubscription() {
        return Optional.ofNullable(this.storageAccountSubscription);
    }

    /**
     * Terraform Container Name
     * 
     */
    @Import(name="storageContainerName")
    private @Nullable Output storageContainerName;

    /**
     * @return Terraform Container Name
     * 
     */
    public Optional> storageContainerName() {
        return Optional.ofNullable(this.storageContainerName);
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    @Import(name="templates")
    private @Nullable Output> templates;

    public Optional>> templates() {
        return Optional.ofNullable(this.templates);
    }

    private IacProfileArgs() {}

    private IacProfileArgs(IacProfileArgs $) {
        this.branchName = $.branchName;
        this.iacProfileName = $.iacProfileName;
        this.location = $.location;
        this.repositoryMainBranch = $.repositoryMainBranch;
        this.repositoryName = $.repositoryName;
        this.repositoryOwner = $.repositoryOwner;
        this.resourceGroupName = $.resourceGroupName;
        this.stages = $.stages;
        this.storageAccountName = $.storageAccountName;
        this.storageAccountResourceGroup = $.storageAccountResourceGroup;
        this.storageAccountSubscription = $.storageAccountSubscription;
        this.storageContainerName = $.storageContainerName;
        this.tags = $.tags;
        this.templates = $.templates;
    }

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

    public static final class Builder {
        private IacProfileArgs $;

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

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

        /**
         * @param branchName Repository Branch Name
         * 
         * @return builder
         * 
         */
        public Builder branchName(@Nullable Output branchName) {
            $.branchName = branchName;
            return this;
        }

        /**
         * @param branchName Repository Branch Name
         * 
         * @return builder
         * 
         */
        public Builder branchName(String branchName) {
            return branchName(Output.of(branchName));
        }

        /**
         * @param iacProfileName The name of the IacProfile.
         * 
         * @return builder
         * 
         */
        public Builder iacProfileName(@Nullable Output iacProfileName) {
            $.iacProfileName = iacProfileName;
            return this;
        }

        /**
         * @param iacProfileName The name of the IacProfile.
         * 
         * @return builder
         * 
         */
        public Builder iacProfileName(String iacProfileName) {
            return iacProfileName(Output.of(iacProfileName));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param repositoryMainBranch Repository Main Branch
         * 
         * @return builder
         * 
         */
        public Builder repositoryMainBranch(@Nullable Output repositoryMainBranch) {
            $.repositoryMainBranch = repositoryMainBranch;
            return this;
        }

        /**
         * @param repositoryMainBranch Repository Main Branch
         * 
         * @return builder
         * 
         */
        public Builder repositoryMainBranch(String repositoryMainBranch) {
            return repositoryMainBranch(Output.of(repositoryMainBranch));
        }

        /**
         * @param repositoryName Repository Name
         * 
         * @return builder
         * 
         */
        public Builder repositoryName(@Nullable Output repositoryName) {
            $.repositoryName = repositoryName;
            return this;
        }

        /**
         * @param repositoryName Repository Name
         * 
         * @return builder
         * 
         */
        public Builder repositoryName(String repositoryName) {
            return repositoryName(Output.of(repositoryName));
        }

        /**
         * @param repositoryOwner Repository Owner
         * 
         * @return builder
         * 
         */
        public Builder repositoryOwner(@Nullable Output repositoryOwner) {
            $.repositoryOwner = repositoryOwner;
            return this;
        }

        /**
         * @param repositoryOwner Repository Owner
         * 
         * @return builder
         * 
         */
        public Builder repositoryOwner(String repositoryOwner) {
            return repositoryOwner(Output.of(repositoryOwner));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public Builder stages(@Nullable Output> stages) {
            $.stages = stages;
            return this;
        }

        public Builder stages(List stages) {
            return stages(Output.of(stages));
        }

        public Builder stages(StagePropertiesArgs... stages) {
            return stages(List.of(stages));
        }

        /**
         * @param storageAccountName Terraform Storage Account Name
         * 
         * @return builder
         * 
         */
        public Builder storageAccountName(@Nullable Output storageAccountName) {
            $.storageAccountName = storageAccountName;
            return this;
        }

        /**
         * @param storageAccountName Terraform Storage Account Name
         * 
         * @return builder
         * 
         */
        public Builder storageAccountName(String storageAccountName) {
            return storageAccountName(Output.of(storageAccountName));
        }

        /**
         * @param storageAccountResourceGroup Terraform Storage Account Resource Group
         * 
         * @return builder
         * 
         */
        public Builder storageAccountResourceGroup(@Nullable Output storageAccountResourceGroup) {
            $.storageAccountResourceGroup = storageAccountResourceGroup;
            return this;
        }

        /**
         * @param storageAccountResourceGroup Terraform Storage Account Resource Group
         * 
         * @return builder
         * 
         */
        public Builder storageAccountResourceGroup(String storageAccountResourceGroup) {
            return storageAccountResourceGroup(Output.of(storageAccountResourceGroup));
        }

        /**
         * @param storageAccountSubscription Terraform Storage Account Subscription
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSubscription(@Nullable Output storageAccountSubscription) {
            $.storageAccountSubscription = storageAccountSubscription;
            return this;
        }

        /**
         * @param storageAccountSubscription Terraform Storage Account Subscription
         * 
         * @return builder
         * 
         */
        public Builder storageAccountSubscription(String storageAccountSubscription) {
            return storageAccountSubscription(Output.of(storageAccountSubscription));
        }

        /**
         * @param storageContainerName Terraform Container Name
         * 
         * @return builder
         * 
         */
        public Builder storageContainerName(@Nullable Output storageContainerName) {
            $.storageContainerName = storageContainerName;
            return this;
        }

        /**
         * @param storageContainerName Terraform Container Name
         * 
         * @return builder
         * 
         */
        public Builder storageContainerName(String storageContainerName) {
            return storageContainerName(Output.of(storageContainerName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public Builder templates(@Nullable Output> templates) {
            $.templates = templates;
            return this;
        }

        public Builder templates(List templates) {
            return templates(Output.of(templates));
        }

        public Builder templates(IacTemplatePropertiesArgs... templates) {
            return templates(List.of(templates));
        }

        public IacProfileArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("IacProfileArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy