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

com.pulumi.azurenative.documentdb.SqlResourceSqlRoleAssignmentArgs Maven / Gradle / Ivy

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

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 SqlResourceSqlRoleAssignmentArgs extends com.pulumi.resources.ResourceArgs {

    public static final SqlResourceSqlRoleAssignmentArgs Empty = new SqlResourceSqlRoleAssignmentArgs();

    /**
     * Cosmos DB database account name.
     * 
     */
    @Import(name="accountName", required=true)
    private Output accountName;

    /**
     * @return Cosmos DB database account name.
     * 
     */
    public Output accountName() {
        return this.accountName;
    }

    /**
     * The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription.
     * 
     */
    @Import(name="principalId")
    private @Nullable Output principalId;

    /**
     * @return The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription.
     * 
     */
    public Optional> principalId() {
        return Optional.ofNullable(this.principalId);
    }

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

    /**
     * The GUID for the Role Assignment.
     * 
     */
    @Import(name="roleAssignmentId")
    private @Nullable Output roleAssignmentId;

    /**
     * @return The GUID for the Role Assignment.
     * 
     */
    public Optional> roleAssignmentId() {
        return Optional.ofNullable(this.roleAssignmentId);
    }

    /**
     * The unique identifier for the associated Role Definition.
     * 
     */
    @Import(name="roleDefinitionId")
    private @Nullable Output roleDefinitionId;

    /**
     * @return The unique identifier for the associated Role Definition.
     * 
     */
    public Optional> roleDefinitionId() {
        return Optional.ofNullable(this.roleDefinitionId);
    }

    /**
     * The data plane resource path for which access is being granted through this Role Assignment.
     * 
     */
    @Import(name="scope")
    private @Nullable Output scope;

    /**
     * @return The data plane resource path for which access is being granted through this Role Assignment.
     * 
     */
    public Optional> scope() {
        return Optional.ofNullable(this.scope);
    }

    private SqlResourceSqlRoleAssignmentArgs() {}

    private SqlResourceSqlRoleAssignmentArgs(SqlResourceSqlRoleAssignmentArgs $) {
        this.accountName = $.accountName;
        this.principalId = $.principalId;
        this.resourceGroupName = $.resourceGroupName;
        this.roleAssignmentId = $.roleAssignmentId;
        this.roleDefinitionId = $.roleDefinitionId;
        this.scope = $.scope;
    }

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

    public static final class Builder {
        private SqlResourceSqlRoleAssignmentArgs $;

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

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

        /**
         * @param accountName Cosmos DB database account name.
         * 
         * @return builder
         * 
         */
        public Builder accountName(Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName Cosmos DB database account name.
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param principalId The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription.
         * 
         * @return builder
         * 
         */
        public Builder principalId(@Nullable Output principalId) {
            $.principalId = principalId;
            return this;
        }

        /**
         * @param principalId The unique identifier for the associated AAD principal in the AAD graph to which access is being granted through this Role Assignment. Tenant ID for the principal is inferred using the tenant associated with the subscription.
         * 
         * @return builder
         * 
         */
        public Builder principalId(String principalId) {
            return principalId(Output.of(principalId));
        }

        /**
         * @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 roleAssignmentId The GUID for the Role Assignment.
         * 
         * @return builder
         * 
         */
        public Builder roleAssignmentId(@Nullable Output roleAssignmentId) {
            $.roleAssignmentId = roleAssignmentId;
            return this;
        }

        /**
         * @param roleAssignmentId The GUID for the Role Assignment.
         * 
         * @return builder
         * 
         */
        public Builder roleAssignmentId(String roleAssignmentId) {
            return roleAssignmentId(Output.of(roleAssignmentId));
        }

        /**
         * @param roleDefinitionId The unique identifier for the associated Role Definition.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(@Nullable Output roleDefinitionId) {
            $.roleDefinitionId = roleDefinitionId;
            return this;
        }

        /**
         * @param roleDefinitionId The unique identifier for the associated Role Definition.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(String roleDefinitionId) {
            return roleDefinitionId(Output.of(roleDefinitionId));
        }

        /**
         * @param scope The data plane resource path for which access is being granted through this Role Assignment.
         * 
         * @return builder
         * 
         */
        public Builder scope(@Nullable Output scope) {
            $.scope = scope;
            return this;
        }

        /**
         * @param scope The data plane resource path for which access is being granted through this Role Assignment.
         * 
         * @return builder
         * 
         */
        public Builder scope(String scope) {
            return scope(Output.of(scope));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy