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

com.pulumi.azure.hpc.inputs.CacheState 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.hpc.inputs;

import com.pulumi.azure.hpc.inputs.CacheDefaultAccessPolicyArgs;
import com.pulumi.azure.hpc.inputs.CacheDirectoryActiveDirectoryArgs;
import com.pulumi.azure.hpc.inputs.CacheDirectoryFlatFileArgs;
import com.pulumi.azure.hpc.inputs.CacheDirectoryLdapArgs;
import com.pulumi.azure.hpc.inputs.CacheDnsArgs;
import com.pulumi.azure.hpc.inputs.CacheIdentityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final CacheState Empty = new CacheState();

    /**
     * Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.
     * 
     */
    @Import(name="automaticallyRotateKeyToLatestEnabled")
    private @Nullable Output automaticallyRotateKeyToLatestEnabled;

    /**
     * @return Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.
     * 
     */
    public Optional> automaticallyRotateKeyToLatestEnabled() {
        return Optional.ofNullable(this.automaticallyRotateKeyToLatestEnabled);
    }

    /**
     * The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `21623`, `24576`, `43246`, `49152` and `86491`. Changing this forces a new resource to be created.
     * 
     * > **NOTE:** The `21623`, `43246` and `86491` sizes are restricted to read only resources.
     * 
     */
    @Import(name="cacheSizeInGb")
    private @Nullable Output cacheSizeInGb;

    /**
     * @return The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `21623`, `24576`, `43246`, `49152` and `86491`. Changing this forces a new resource to be created.
     * 
     * > **NOTE:** The `21623`, `43246` and `86491` sizes are restricted to read only resources.
     * 
     */
    public Optional> cacheSizeInGb() {
        return Optional.ofNullable(this.cacheSizeInGb);
    }

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

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

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

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

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

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

    /**
     * A `directory_ldap` block as defined below.
     * 
     * > **Note:** Only one of `directory_active_directory`, `directory_flat_file` and `directory_ldap` can be set.
     * 
     */
    @Import(name="directoryLdap")
    private @Nullable Output directoryLdap;

    /**
     * @return A `directory_ldap` block as defined below.
     * 
     * > **Note:** Only one of `directory_active_directory`, `directory_flat_file` and `directory_ldap` can be set.
     * 
     */
    public Optional> directoryLdap() {
        return Optional.ofNullable(this.directoryLdap);
    }

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

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

    /**
     * An `identity` block as defined below. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return An `identity` block as defined below. Changing this forces a new resource to be created.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.
     * 
     */
    @Import(name="keyVaultKeyId")
    private @Nullable Output keyVaultKeyId;

    /**
     * @return The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.
     * 
     */
    public Optional> keyVaultKeyId() {
        return Optional.ofNullable(this.keyVaultKeyId);
    }

    /**
     * Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * A list of IP Addresses where the HPC Cache can be mounted.
     * 
     */
    @Import(name="mountAddresses")
    private @Nullable Output> mountAddresses;

    /**
     * @return A list of IP Addresses where the HPC Cache can be mounted.
     * 
     */
    public Optional>> mountAddresses() {
        return Optional.ofNullable(this.mountAddresses);
    }

    /**
     * The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to `1500`.
     * 
     */
    @Import(name="mtu")
    private @Nullable Output mtu;

    /**
     * @return The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to `1500`.
     * 
     */
    public Optional> mtu() {
        return Optional.ofNullable(this.mtu);
    }

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

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

    /**
     * The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.
     * 
     */
    @Import(name="ntpServer")
    private @Nullable Output ntpServer;

    /**
     * @return The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.
     * 
     */
    public Optional> ntpServer() {
        return Optional.ofNullable(this.ntpServer);
    }

    /**
     * The name of the Resource Group in which to create the HPC Cache. 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 to create the HPC Cache. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.
     * 
     * > **NOTE:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to `21623`. `Standard_L9G` to `43246` and `Standard_L16G` to `86491`.
     * 
     */
    @Import(name="skuName")
    private @Nullable Output skuName;

    /**
     * @return The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.
     * 
     * > **NOTE:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to `21623`. `Standard_L9G` to `43246` and `Standard_L16G` to `86491`.
     * 
     */
    public Optional> skuName() {
        return Optional.ofNullable(this.skuName);
    }

    /**
     * The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="subnetId")
    private @Nullable Output subnetId;

    /**
     * @return The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.
     * 
     */
    public Optional> subnetId() {
        return Optional.ofNullable(this.subnetId);
    }

    /**
     * A mapping of tags to assign to the HPC Cache.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the HPC Cache.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private CacheState() {}

    private CacheState(CacheState $) {
        this.automaticallyRotateKeyToLatestEnabled = $.automaticallyRotateKeyToLatestEnabled;
        this.cacheSizeInGb = $.cacheSizeInGb;
        this.defaultAccessPolicy = $.defaultAccessPolicy;
        this.directoryActiveDirectory = $.directoryActiveDirectory;
        this.directoryFlatFile = $.directoryFlatFile;
        this.directoryLdap = $.directoryLdap;
        this.dns = $.dns;
        this.identity = $.identity;
        this.keyVaultKeyId = $.keyVaultKeyId;
        this.location = $.location;
        this.mountAddresses = $.mountAddresses;
        this.mtu = $.mtu;
        this.name = $.name;
        this.ntpServer = $.ntpServer;
        this.resourceGroupName = $.resourceGroupName;
        this.skuName = $.skuName;
        this.subnetId = $.subnetId;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private CacheState $;

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

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

        /**
         * @param automaticallyRotateKeyToLatestEnabled Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.
         * 
         * @return builder
         * 
         */
        public Builder automaticallyRotateKeyToLatestEnabled(@Nullable Output automaticallyRotateKeyToLatestEnabled) {
            $.automaticallyRotateKeyToLatestEnabled = automaticallyRotateKeyToLatestEnabled;
            return this;
        }

        /**
         * @param automaticallyRotateKeyToLatestEnabled Specifies whether the HPC Cache automatically rotates Encryption Key to the latest version.
         * 
         * @return builder
         * 
         */
        public Builder automaticallyRotateKeyToLatestEnabled(Boolean automaticallyRotateKeyToLatestEnabled) {
            return automaticallyRotateKeyToLatestEnabled(Output.of(automaticallyRotateKeyToLatestEnabled));
        }

        /**
         * @param cacheSizeInGb The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `21623`, `24576`, `43246`, `49152` and `86491`. Changing this forces a new resource to be created.
         * 
         * > **NOTE:** The `21623`, `43246` and `86491` sizes are restricted to read only resources.
         * 
         * @return builder
         * 
         */
        public Builder cacheSizeInGb(@Nullable Output cacheSizeInGb) {
            $.cacheSizeInGb = cacheSizeInGb;
            return this;
        }

        /**
         * @param cacheSizeInGb The size of the HPC Cache, in GB. Possible values are `3072`, `6144`, `12288`, `21623`, `24576`, `43246`, `49152` and `86491`. Changing this forces a new resource to be created.
         * 
         * > **NOTE:** The `21623`, `43246` and `86491` sizes are restricted to read only resources.
         * 
         * @return builder
         * 
         */
        public Builder cacheSizeInGb(Integer cacheSizeInGb) {
            return cacheSizeInGb(Output.of(cacheSizeInGb));
        }

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

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

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

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

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

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

        /**
         * @param directoryLdap A `directory_ldap` block as defined below.
         * 
         * > **Note:** Only one of `directory_active_directory`, `directory_flat_file` and `directory_ldap` can be set.
         * 
         * @return builder
         * 
         */
        public Builder directoryLdap(@Nullable Output directoryLdap) {
            $.directoryLdap = directoryLdap;
            return this;
        }

        /**
         * @param directoryLdap A `directory_ldap` block as defined below.
         * 
         * > **Note:** Only one of `directory_active_directory`, `directory_flat_file` and `directory_ldap` can be set.
         * 
         * @return builder
         * 
         */
        public Builder directoryLdap(CacheDirectoryLdapArgs directoryLdap) {
            return directoryLdap(Output.of(directoryLdap));
        }

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

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

        /**
         * @param identity An `identity` block as defined below. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity An `identity` block as defined below. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder identity(CacheIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param keyVaultKeyId The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.
         * 
         * @return builder
         * 
         */
        public Builder keyVaultKeyId(@Nullable Output keyVaultKeyId) {
            $.keyVaultKeyId = keyVaultKeyId;
            return this;
        }

        /**
         * @param keyVaultKeyId The ID of the Key Vault Key which should be used to encrypt the data in this HPC Cache.
         * 
         * @return builder
         * 
         */
        public Builder keyVaultKeyId(String keyVaultKeyId) {
            return keyVaultKeyId(Output.of(keyVaultKeyId));
        }

        /**
         * @param location Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Specifies the supported Azure Region where the HPC Cache should be created. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param mountAddresses A list of IP Addresses where the HPC Cache can be mounted.
         * 
         * @return builder
         * 
         */
        public Builder mountAddresses(@Nullable Output> mountAddresses) {
            $.mountAddresses = mountAddresses;
            return this;
        }

        /**
         * @param mountAddresses A list of IP Addresses where the HPC Cache can be mounted.
         * 
         * @return builder
         * 
         */
        public Builder mountAddresses(List mountAddresses) {
            return mountAddresses(Output.of(mountAddresses));
        }

        /**
         * @param mountAddresses A list of IP Addresses where the HPC Cache can be mounted.
         * 
         * @return builder
         * 
         */
        public Builder mountAddresses(String... mountAddresses) {
            return mountAddresses(List.of(mountAddresses));
        }

        /**
         * @param mtu The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to `1500`.
         * 
         * @return builder
         * 
         */
        public Builder mtu(@Nullable Output mtu) {
            $.mtu = mtu;
            return this;
        }

        /**
         * @param mtu The IPv4 maximum transmission unit configured for the subnet of the HPC Cache. Possible values range from 576 - 1500. Defaults to `1500`.
         * 
         * @return builder
         * 
         */
        public Builder mtu(Integer mtu) {
            return mtu(Output.of(mtu));
        }

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

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

        /**
         * @param ntpServer The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.
         * 
         * @return builder
         * 
         */
        public Builder ntpServer(@Nullable Output ntpServer) {
            $.ntpServer = ntpServer;
            return this;
        }

        /**
         * @param ntpServer The NTP server IP Address or FQDN for the HPC Cache. Defaults to `time.windows.com`.
         * 
         * @return builder
         * 
         */
        public Builder ntpServer(String ntpServer) {
            return ntpServer(Output.of(ntpServer));
        }

        /**
         * @param resourceGroupName The name of the Resource Group in which to create the HPC Cache. 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 to create the HPC Cache. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param skuName The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.
         * 
         * > **NOTE:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to `21623`. `Standard_L9G` to `43246` and `Standard_L16G` to `86491`.
         * 
         * @return builder
         * 
         */
        public Builder skuName(@Nullable Output skuName) {
            $.skuName = skuName;
            return this;
        }

        /**
         * @param skuName The SKU of HPC Cache to use. Possible values are (ReadWrite) - `Standard_2G`, `Standard_4G` `Standard_8G` or (ReadOnly) - `Standard_L4_5G`, `Standard_L9G`, and `Standard_L16G`. Changing this forces a new resource to be created.
         * 
         * > **NOTE:** The read-only SKUs have restricted cache sizes. `Standard_L4_5G` must be set to `21623`. `Standard_L9G` to `43246` and `Standard_L16G` to `86491`.
         * 
         * @return builder
         * 
         */
        public Builder skuName(String skuName) {
            return skuName(Output.of(skuName));
        }

        /**
         * @param subnetId The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder subnetId(@Nullable Output subnetId) {
            $.subnetId = subnetId;
            return this;
        }

        /**
         * @param subnetId The ID of the Subnet for the HPC Cache. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder subnetId(String subnetId) {
            return subnetId(Output.of(subnetId));
        }

        /**
         * @param tags A mapping of tags to assign to the HPC Cache.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the HPC Cache.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public CacheState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy