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

com.pulumi.azurenative.devcenter.CurationProfileArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.devcenter;

import com.pulumi.azurenative.devcenter.inputs.ResourcePolicyArgs;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CurationProfileArgs Empty = new CurationProfileArgs();

    /**
     * The name of the curation profile.
     * 
     */
    @Import(name="curationProfileName")
    private @Nullable Output curationProfileName;

    /**
     * @return The name of the curation profile.
     * 
     */
    public Optional> curationProfileName() {
        return Optional.ofNullable(this.curationProfileName);
    }

    /**
     * The name of the devcenter.
     * 
     */
    @Import(name="devCenterName", required=true)
    private Output devCenterName;

    /**
     * @return The name of the devcenter.
     * 
     */
    public Output devCenterName() {
        return this.devCenterName;
    }

    /**
     * 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;
    }

    /**
     * Resource policies that are a part of this curation profile.
     * 
     */
    @Import(name="resourcePolicies")
    private @Nullable Output> resourcePolicies;

    /**
     * @return Resource policies that are a part of this curation profile.
     * 
     */
    public Optional>> resourcePolicies() {
        return Optional.ofNullable(this.resourcePolicies);
    }

    /**
     * Resources that have access to the shared resources that are a part of this curation profile.
     * 
     */
    @Import(name="scopes")
    private @Nullable Output> scopes;

    /**
     * @return Resources that have access to the shared resources that are a part of this curation profile.
     * 
     */
    public Optional>> scopes() {
        return Optional.ofNullable(this.scopes);
    }

    private CurationProfileArgs() {}

    private CurationProfileArgs(CurationProfileArgs $) {
        this.curationProfileName = $.curationProfileName;
        this.devCenterName = $.devCenterName;
        this.resourceGroupName = $.resourceGroupName;
        this.resourcePolicies = $.resourcePolicies;
        this.scopes = $.scopes;
    }

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

    public static final class Builder {
        private CurationProfileArgs $;

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

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

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

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

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

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

        /**
         * @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));
        }

        /**
         * @param resourcePolicies Resource policies that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder resourcePolicies(@Nullable Output> resourcePolicies) {
            $.resourcePolicies = resourcePolicies;
            return this;
        }

        /**
         * @param resourcePolicies Resource policies that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder resourcePolicies(List resourcePolicies) {
            return resourcePolicies(Output.of(resourcePolicies));
        }

        /**
         * @param resourcePolicies Resource policies that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder resourcePolicies(ResourcePolicyArgs... resourcePolicies) {
            return resourcePolicies(List.of(resourcePolicies));
        }

        /**
         * @param scopes Resources that have access to the shared resources that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder scopes(@Nullable Output> scopes) {
            $.scopes = scopes;
            return this;
        }

        /**
         * @param scopes Resources that have access to the shared resources that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder scopes(List scopes) {
            return scopes(Output.of(scopes));
        }

        /**
         * @param scopes Resources that have access to the shared resources that are a part of this curation profile.
         * 
         * @return builder
         * 
         */
        public Builder scopes(String... scopes) {
            return scopes(List.of(scopes));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy