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

com.pulumi.azurenative.keyvault.inputs.PermissionsArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.keyvault.inputs;

import com.pulumi.azurenative.keyvault.enums.CertificatePermissions;
import com.pulumi.azurenative.keyvault.enums.KeyPermissions;
import com.pulumi.azurenative.keyvault.enums.SecretPermissions;
import com.pulumi.azurenative.keyvault.enums.StoragePermissions;
import com.pulumi.core.Either;
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;


/**
 * Permissions the identity has for keys, secrets, certificates and storage.
 * 
 */
public final class PermissionsArgs extends com.pulumi.resources.ResourceArgs {

    public static final PermissionsArgs Empty = new PermissionsArgs();

    /**
     * Permissions to certificates
     * 
     */
    @Import(name="certificates")
    private @Nullable Output>> certificates;

    /**
     * @return Permissions to certificates
     * 
     */
    public Optional>>> certificates() {
        return Optional.ofNullable(this.certificates);
    }

    /**
     * Permissions to keys
     * 
     */
    @Import(name="keys")
    private @Nullable Output>> keys;

    /**
     * @return Permissions to keys
     * 
     */
    public Optional>>> keys() {
        return Optional.ofNullable(this.keys);
    }

    /**
     * Permissions to secrets
     * 
     */
    @Import(name="secrets")
    private @Nullable Output>> secrets;

    /**
     * @return Permissions to secrets
     * 
     */
    public Optional>>> secrets() {
        return Optional.ofNullable(this.secrets);
    }

    /**
     * Permissions to storage accounts
     * 
     */
    @Import(name="storage")
    private @Nullable Output>> storage;

    /**
     * @return Permissions to storage accounts
     * 
     */
    public Optional>>> storage() {
        return Optional.ofNullable(this.storage);
    }

    private PermissionsArgs() {}

    private PermissionsArgs(PermissionsArgs $) {
        this.certificates = $.certificates;
        this.keys = $.keys;
        this.secrets = $.secrets;
        this.storage = $.storage;
    }

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

    public static final class Builder {
        private PermissionsArgs $;

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

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

        /**
         * @param certificates Permissions to certificates
         * 
         * @return builder
         * 
         */
        public Builder certificates(@Nullable Output>> certificates) {
            $.certificates = certificates;
            return this;
        }

        /**
         * @param certificates Permissions to certificates
         * 
         * @return builder
         * 
         */
        public Builder certificates(List> certificates) {
            return certificates(Output.of(certificates));
        }

        /**
         * @param certificates Permissions to certificates
         * 
         * @return builder
         * 
         */
        public Builder certificates(Either... certificates) {
            return certificates(List.of(certificates));
        }

        /**
         * @param keys Permissions to keys
         * 
         * @return builder
         * 
         */
        public Builder keys(@Nullable Output>> keys) {
            $.keys = keys;
            return this;
        }

        /**
         * @param keys Permissions to keys
         * 
         * @return builder
         * 
         */
        public Builder keys(List> keys) {
            return keys(Output.of(keys));
        }

        /**
         * @param keys Permissions to keys
         * 
         * @return builder
         * 
         */
        public Builder keys(Either... keys) {
            return keys(List.of(keys));
        }

        /**
         * @param secrets Permissions to secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(@Nullable Output>> secrets) {
            $.secrets = secrets;
            return this;
        }

        /**
         * @param secrets Permissions to secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(List> secrets) {
            return secrets(Output.of(secrets));
        }

        /**
         * @param secrets Permissions to secrets
         * 
         * @return builder
         * 
         */
        public Builder secrets(Either... secrets) {
            return secrets(List.of(secrets));
        }

        /**
         * @param storage Permissions to storage accounts
         * 
         * @return builder
         * 
         */
        public Builder storage(@Nullable Output>> storage) {
            $.storage = storage;
            return this;
        }

        /**
         * @param storage Permissions to storage accounts
         * 
         * @return builder
         * 
         */
        public Builder storage(List> storage) {
            return storage(Output.of(storage));
        }

        /**
         * @param storage Permissions to storage accounts
         * 
         * @return builder
         * 
         */
        public Builder storage(Either... storage) {
            return storage(List.of(storage));
        }

        public PermissionsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy