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

com.pulumi.azure.cosmosdb.inputs.SqlRoleDefinitionState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.cosmosdb.inputs;

import com.pulumi.azure.cosmosdb.inputs.SqlRoleDefinitionPermissionArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final SqlRoleDefinitionState Empty = new SqlRoleDefinitionState();

    /**
     * The name of the Cosmos DB Account. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="accountName")
    private @Nullable Output accountName;

    /**
     * @return The name of the Cosmos DB Account. Changing this forces a new resource to be created.
     * 
     */
    public Optional> accountName() {
        return Optional.ofNullable(this.accountName);
    }

    /**
     * A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.
     * 
     * > **NOTE:** The resources referenced in assignable scopes need not exist.
     * 
     */
    @Import(name="assignableScopes")
    private @Nullable Output> assignableScopes;

    /**
     * @return A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.
     * 
     * > **NOTE:** The resources referenced in assignable scopes need not exist.
     * 
     */
    public Optional>> assignableScopes() {
        return Optional.ofNullable(this.assignableScopes);
    }

    /**
     * An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * A `permissions` block as defined below.
     * 
     */
    @Import(name="permissions")
    private @Nullable Output> permissions;

    /**
     * @return A `permissions` block as defined below.
     * 
     */
    public Optional>> permissions() {
        return Optional.ofNullable(this.permissions);
    }

    /**
     * The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="roleDefinitionId")
    private @Nullable Output roleDefinitionId;

    /**
     * @return The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.
     * 
     */
    public Optional> roleDefinitionId() {
        return Optional.ofNullable(this.roleDefinitionId);
    }

    /**
     * The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="type")
    private @Nullable Output type;

    /**
     * @return The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.
     * 
     */
    public Optional> type() {
        return Optional.ofNullable(this.type);
    }

    private SqlRoleDefinitionState() {}

    private SqlRoleDefinitionState(SqlRoleDefinitionState $) {
        this.accountName = $.accountName;
        this.assignableScopes = $.assignableScopes;
        this.name = $.name;
        this.permissions = $.permissions;
        this.resourceGroupName = $.resourceGroupName;
        this.roleDefinitionId = $.roleDefinitionId;
        this.type = $.type;
    }

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

    public static final class Builder {
        private SqlRoleDefinitionState $;

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

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

        /**
         * @param accountName The name of the Cosmos DB Account. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder accountName(@Nullable Output accountName) {
            $.accountName = accountName;
            return this;
        }

        /**
         * @param accountName The name of the Cosmos DB Account. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder accountName(String accountName) {
            return accountName(Output.of(accountName));
        }

        /**
         * @param assignableScopes A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.
         * 
         * > **NOTE:** The resources referenced in assignable scopes need not exist.
         * 
         * @return builder
         * 
         */
        public Builder assignableScopes(@Nullable Output> assignableScopes) {
            $.assignableScopes = assignableScopes;
            return this;
        }

        /**
         * @param assignableScopes A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.
         * 
         * > **NOTE:** The resources referenced in assignable scopes need not exist.
         * 
         * @return builder
         * 
         */
        public Builder assignableScopes(List assignableScopes) {
            return assignableScopes(Output.of(assignableScopes));
        }

        /**
         * @param assignableScopes A list of fully qualified scopes at or below which Role Assignments may be created using this Cosmos DB SQL Role Definition. It will allow application of this Cosmos DB SQL Role Definition on the entire Database Account or any underlying Database/Collection. Scopes higher than Database Account are not enforceable as assignable scopes.
         * 
         * > **NOTE:** The resources referenced in assignable scopes need not exist.
         * 
         * @return builder
         * 
         */
        public Builder assignableScopes(String... assignableScopes) {
            return assignableScopes(List.of(assignableScopes));
        }

        /**
         * @param name An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name An user-friendly name for the Cosmos DB SQL Role Definition which must be unique for the Database Account.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param permissions A `permissions` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder permissions(@Nullable Output> permissions) {
            $.permissions = permissions;
            return this;
        }

        /**
         * @param permissions A `permissions` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder permissions(List permissions) {
            return permissions(Output.of(permissions));
        }

        /**
         * @param permissions A `permissions` block as defined below.
         * 
         * @return builder
         * 
         */
        public Builder permissions(SqlRoleDefinitionPermissionArgs... permissions) {
            return permissions(List.of(permissions));
        }

        /**
         * @param resourceGroupName The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the Resource Group in which the Cosmos DB SQL Role Definition is created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param roleDefinitionId The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(@Nullable Output roleDefinitionId) {
            $.roleDefinitionId = roleDefinitionId;
            return this;
        }

        /**
         * @param roleDefinitionId The GUID as the name of the Cosmos DB SQL Role Definition - one will be generated if not specified. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder roleDefinitionId(String roleDefinitionId) {
            return roleDefinitionId(Output.of(roleDefinitionId));
        }

        /**
         * @param type The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of the Cosmos DB SQL Role Definition. Possible values are `BuiltInRole` and `CustomRole`. Defaults to `CustomRole`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

        public SqlRoleDefinitionState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy