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

com.pulumi.azurenative.storage.inputs.IdentityArgs 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.storage.inputs;

import com.pulumi.azurenative.storage.enums.IdentityType;
import com.pulumi.core.Either;
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;


/**
 * Identity for the resource.
 * 
 */
public final class IdentityArgs extends com.pulumi.resources.ResourceArgs {

    public static final IdentityArgs Empty = new IdentityArgs();

    /**
     * The identity type.
     * 
     */
    @Import(name="type", required=true)
    private Output> type;

    /**
     * @return The identity type.
     * 
     */
    public Output> type() {
        return this.type;
    }

    /**
     * Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.
     * 
     */
    @Import(name="userAssignedIdentities")
    private @Nullable Output> userAssignedIdentities;

    /**
     * @return Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.
     * 
     */
    public Optional>> userAssignedIdentities() {
        return Optional.ofNullable(this.userAssignedIdentities);
    }

    private IdentityArgs() {}

    private IdentityArgs(IdentityArgs $) {
        this.type = $.type;
        this.userAssignedIdentities = $.userAssignedIdentities;
    }

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

    public static final class Builder {
        private IdentityArgs $;

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

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

        /**
         * @param type The identity type.
         * 
         * @return builder
         * 
         */
        public Builder type(Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The identity type.
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type The identity type.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type The identity type.
         * 
         * @return builder
         * 
         */
        public Builder type(IdentityType type) {
            return type(Either.ofRight(type));
        }

        /**
         * @param userAssignedIdentities Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(@Nullable Output> userAssignedIdentities) {
            $.userAssignedIdentities = userAssignedIdentities;
            return this;
        }

        /**
         * @param userAssignedIdentities Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(List userAssignedIdentities) {
            return userAssignedIdentities(Output.of(userAssignedIdentities));
        }

        /**
         * @param userAssignedIdentities Gets or sets a list of key value pairs that describe the set of User Assigned identities that will be used with this storage account. The key is the ARM resource identifier of the identity. Only 1 User Assigned identity is permitted here.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(String... userAssignedIdentities) {
            return userAssignedIdentities(List.of(userAssignedIdentities));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy