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

com.pulumi.azurenative.batch.inputs.BatchPoolIdentityArgs 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.batch.inputs;

import com.pulumi.azurenative.batch.enums.PoolIdentityType;
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;


/**
 * The identity of the Batch pool, if configured. If the pool identity is updated during update an existing pool, only the new vms which are created after the pool shrinks to 0 will have the updated identities
 * 
 */
public final class BatchPoolIdentityArgs extends com.pulumi.resources.ResourceArgs {

    public static final BatchPoolIdentityArgs Empty = new BatchPoolIdentityArgs();

    /**
     * The type of identity used for the Batch Pool.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return The type of identity used for the Batch Pool.
     * 
     */
    public Output type() {
        return this.type;
    }

    /**
     * The list of user identities associated with the Batch pool.
     * 
     */
    @Import(name="userAssignedIdentities")
    private @Nullable Output> userAssignedIdentities;

    /**
     * @return The list of user identities associated with the Batch pool.
     * 
     */
    public Optional>> userAssignedIdentities() {
        return Optional.ofNullable(this.userAssignedIdentities);
    }

    private BatchPoolIdentityArgs() {}

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

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

    public static final class Builder {
        private BatchPoolIdentityArgs $;

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

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

        /**
         * @param type The type of identity used for the Batch Pool.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The type of identity used for the Batch Pool.
         * 
         * @return builder
         * 
         */
        public Builder type(PoolIdentityType type) {
            return type(Output.of(type));
        }

        /**
         * @param userAssignedIdentities The list of user identities associated with the Batch pool.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(@Nullable Output> userAssignedIdentities) {
            $.userAssignedIdentities = userAssignedIdentities;
            return this;
        }

        /**
         * @param userAssignedIdentities The list of user identities associated with the Batch pool.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(List userAssignedIdentities) {
            return userAssignedIdentities(Output.of(userAssignedIdentities));
        }

        /**
         * @param userAssignedIdentities The list of user identities associated with the Batch pool.
         * 
         * @return builder
         * 
         */
        public Builder userAssignedIdentities(String... userAssignedIdentities) {
            return userAssignedIdentities(List.of(userAssignedIdentities));
        }

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

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy