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

com.pulumi.azurenative.managednetwork.ScopeAssignmentArgs 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.managednetwork;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ScopeAssignmentArgs Empty = new ScopeAssignmentArgs();

    /**
     * The managed network ID with scope will be assigned to.
     * 
     */
    @Import(name="assignedManagedNetwork")
    private @Nullable Output assignedManagedNetwork;

    /**
     * @return The managed network ID with scope will be assigned to.
     * 
     */
    public Optional> assignedManagedNetwork() {
        return Optional.ofNullable(this.assignedManagedNetwork);
    }

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

    /**
     * The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use 'subscriptions/{subscription-id}' for a subscription, 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
     * 
     */
    @Import(name="scope", required=true)
    private Output scope;

    /**
     * @return The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use 'subscriptions/{subscription-id}' for a subscription, 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
     * 
     */
    public Output scope() {
        return this.scope;
    }

    /**
     * The name of the scope assignment to create.
     * 
     */
    @Import(name="scopeAssignmentName")
    private @Nullable Output scopeAssignmentName;

    /**
     * @return The name of the scope assignment to create.
     * 
     */
    public Optional> scopeAssignmentName() {
        return Optional.ofNullable(this.scopeAssignmentName);
    }

    private ScopeAssignmentArgs() {}

    private ScopeAssignmentArgs(ScopeAssignmentArgs $) {
        this.assignedManagedNetwork = $.assignedManagedNetwork;
        this.location = $.location;
        this.scope = $.scope;
        this.scopeAssignmentName = $.scopeAssignmentName;
    }

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

    public static final class Builder {
        private ScopeAssignmentArgs $;

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

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

        /**
         * @param assignedManagedNetwork The managed network ID with scope will be assigned to.
         * 
         * @return builder
         * 
         */
        public Builder assignedManagedNetwork(@Nullable Output assignedManagedNetwork) {
            $.assignedManagedNetwork = assignedManagedNetwork;
            return this;
        }

        /**
         * @param assignedManagedNetwork The managed network ID with scope will be assigned to.
         * 
         * @return builder
         * 
         */
        public Builder assignedManagedNetwork(String assignedManagedNetwork) {
            return assignedManagedNetwork(Output.of(assignedManagedNetwork));
        }

        /**
         * @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 scope The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use 'subscriptions/{subscription-id}' for a subscription, 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
         * 
         * @return builder
         * 
         */
        public Builder scope(Output scope) {
            $.scope = scope;
            return this;
        }

        /**
         * @param scope The base resource of the scope assignment to create. The scope can be any REST resource instance. For example, use 'subscriptions/{subscription-id}' for a subscription, 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and 'subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.
         * 
         * @return builder
         * 
         */
        public Builder scope(String scope) {
            return scope(Output.of(scope));
        }

        /**
         * @param scopeAssignmentName The name of the scope assignment to create.
         * 
         * @return builder
         * 
         */
        public Builder scopeAssignmentName(@Nullable Output scopeAssignmentName) {
            $.scopeAssignmentName = scopeAssignmentName;
            return this;
        }

        /**
         * @param scopeAssignmentName The name of the scope assignment to create.
         * 
         * @return builder
         * 
         */
        public Builder scopeAssignmentName(String scopeAssignmentName) {
            return scopeAssignmentName(Output.of(scopeAssignmentName));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy