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

com.pulumi.azurenative.cache.outputs.GetRedisResult Maven / Gradle / Ivy

// *** 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.cache.outputs;

import com.pulumi.azurenative.cache.outputs.ManagedServiceIdentityResponse;
import com.pulumi.azurenative.cache.outputs.PrivateEndpointConnectionResponse;
import com.pulumi.azurenative.cache.outputs.RedisAccessKeysResponse;
import com.pulumi.azurenative.cache.outputs.RedisCommonPropertiesResponseRedisConfiguration;
import com.pulumi.azurenative.cache.outputs.RedisInstanceDetailsResponse;
import com.pulumi.azurenative.cache.outputs.RedisLinkedServerResponse;
import com.pulumi.azurenative.cache.outputs.SkuResponse;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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;

@CustomType
public final class GetRedisResult {
    /**
     * @return The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache
     * 
     */
    private RedisAccessKeysResponse accessKeys;
    /**
     * @return Specifies whether the non-ssl Redis server port (6379) is enabled.
     * 
     */
    private @Nullable Boolean enableNonSslPort;
    /**
     * @return Redis host name.
     * 
     */
    private String hostName;
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    private String id;
    /**
     * @return The identity of the resource.
     * 
     */
    private @Nullable ManagedServiceIdentityResponse identity;
    /**
     * @return List of the Redis instances associated with the cache
     * 
     */
    private List instances;
    /**
     * @return List of the linked servers associated with the cache
     * 
     */
    private List linkedServers;
    /**
     * @return The geo-location where the resource lives
     * 
     */
    private String location;
    /**
     * @return Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')
     * 
     */
    private @Nullable String minimumTlsVersion;
    /**
     * @return The name of the resource
     * 
     */
    private String name;
    /**
     * @return Redis non-SSL port.
     * 
     */
    private Integer port;
    /**
     * @return List of private endpoint connection associated with the specified redis cache
     * 
     */
    private List privateEndpointConnections;
    /**
     * @return Redis instance provisioning status.
     * 
     */
    private String provisioningState;
    /**
     * @return Whether or not public endpoint access is allowed for this cache.  Value is optional, but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are joined to, or injected into, a virtual network subnet.
     * 
     */
    private @Nullable String publicNetworkAccess;
    /**
     * @return All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.
     * 
     */
    private @Nullable RedisCommonPropertiesResponseRedisConfiguration redisConfiguration;
    /**
     * @return Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.
     * 
     */
    private @Nullable String redisVersion;
    /**
     * @return The number of replicas to be created per primary.
     * 
     */
    private @Nullable Integer replicasPerMaster;
    /**
     * @return The number of replicas to be created per primary.
     * 
     */
    private @Nullable Integer replicasPerPrimary;
    /**
     * @return The number of shards to be created on a Premium Cluster Cache.
     * 
     */
    private @Nullable Integer shardCount;
    /**
     * @return The SKU of the Redis cache to deploy.
     * 
     */
    private SkuResponse sku;
    /**
     * @return Redis SSL port.
     * 
     */
    private Integer sslPort;
    /**
     * @return Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.
     * 
     */
    private @Nullable String staticIP;
    /**
     * @return The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1
     * 
     */
    private @Nullable String subnetId;
    /**
     * @return Resource tags.
     * 
     */
    private @Nullable Map tags;
    /**
     * @return A dictionary of tenant settings
     * 
     */
    private @Nullable Map tenantSettings;
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    private String type;
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    private @Nullable List zones;

    private GetRedisResult() {}
    /**
     * @return The keys of the Redis cache - not set if this object is not the response to Create or Update redis cache
     * 
     */
    public RedisAccessKeysResponse accessKeys() {
        return this.accessKeys;
    }
    /**
     * @return Specifies whether the non-ssl Redis server port (6379) is enabled.
     * 
     */
    public Optional enableNonSslPort() {
        return Optional.ofNullable(this.enableNonSslPort);
    }
    /**
     * @return Redis host name.
     * 
     */
    public String hostName() {
        return this.hostName;
    }
    /**
     * @return Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return The identity of the resource.
     * 
     */
    public Optional identity() {
        return Optional.ofNullable(this.identity);
    }
    /**
     * @return List of the Redis instances associated with the cache
     * 
     */
    public List instances() {
        return this.instances;
    }
    /**
     * @return List of the linked servers associated with the cache
     * 
     */
    public List linkedServers() {
        return this.linkedServers;
    }
    /**
     * @return The geo-location where the resource lives
     * 
     */
    public String location() {
        return this.location;
    }
    /**
     * @return Optional: requires clients to use a specified TLS version (or higher) to connect (e,g, '1.0', '1.1', '1.2')
     * 
     */
    public Optional minimumTlsVersion() {
        return Optional.ofNullable(this.minimumTlsVersion);
    }
    /**
     * @return The name of the resource
     * 
     */
    public String name() {
        return this.name;
    }
    /**
     * @return Redis non-SSL port.
     * 
     */
    public Integer port() {
        return this.port;
    }
    /**
     * @return List of private endpoint connection associated with the specified redis cache
     * 
     */
    public List privateEndpointConnections() {
        return this.privateEndpointConnections;
    }
    /**
     * @return Redis instance provisioning status.
     * 
     */
    public String provisioningState() {
        return this.provisioningState;
    }
    /**
     * @return Whether or not public endpoint access is allowed for this cache.  Value is optional, but if passed in, must be 'Enabled' or 'Disabled'. If 'Disabled', private endpoints are the exclusive access method. Default value is 'Enabled'. Note: This setting is important for caches with private endpoints. It has *no effect* on caches that are joined to, or injected into, a virtual network subnet.
     * 
     */
    public Optional publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }
    /**
     * @return All Redis Settings. Few possible keys: rdb-backup-enabled,rdb-storage-connection-string,rdb-backup-frequency,maxmemory-delta,maxmemory-policy,notify-keyspace-events,maxmemory-samples,slowlog-log-slower-than,slowlog-max-len,list-max-ziplist-entries,list-max-ziplist-value,hash-max-ziplist-entries,hash-max-ziplist-value,set-max-intset-entries,zset-max-ziplist-entries,zset-max-ziplist-value etc.
     * 
     */
    public Optional redisConfiguration() {
        return Optional.ofNullable(this.redisConfiguration);
    }
    /**
     * @return Redis version. This should be in the form 'major[.minor]' (only 'major' is required) or the value 'latest' which refers to the latest stable Redis version that is available. Supported versions: 4.0, 6.0 (latest). Default value is 'latest'.
     * 
     */
    public Optional redisVersion() {
        return Optional.ofNullable(this.redisVersion);
    }
    /**
     * @return The number of replicas to be created per primary.
     * 
     */
    public Optional replicasPerMaster() {
        return Optional.ofNullable(this.replicasPerMaster);
    }
    /**
     * @return The number of replicas to be created per primary.
     * 
     */
    public Optional replicasPerPrimary() {
        return Optional.ofNullable(this.replicasPerPrimary);
    }
    /**
     * @return The number of shards to be created on a Premium Cluster Cache.
     * 
     */
    public Optional shardCount() {
        return Optional.ofNullable(this.shardCount);
    }
    /**
     * @return The SKU of the Redis cache to deploy.
     * 
     */
    public SkuResponse sku() {
        return this.sku;
    }
    /**
     * @return Redis SSL port.
     * 
     */
    public Integer sslPort() {
        return this.sslPort;
    }
    /**
     * @return Static IP address. Optionally, may be specified when deploying a Redis cache inside an existing Azure Virtual Network; auto assigned by default.
     * 
     */
    public Optional staticIP() {
        return Optional.ofNullable(this.staticIP);
    }
    /**
     * @return The full resource ID of a subnet in a virtual network to deploy the Redis cache in. Example format: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/Microsoft.{Network|ClassicNetwork}/VirtualNetworks/vnet1/subnets/subnet1
     * 
     */
    public Optional subnetId() {
        return Optional.ofNullable(this.subnetId);
    }
    /**
     * @return Resource tags.
     * 
     */
    public Map tags() {
        return this.tags == null ? Map.of() : this.tags;
    }
    /**
     * @return A dictionary of tenant settings
     * 
     */
    public Map tenantSettings() {
        return this.tenantSettings == null ? Map.of() : this.tenantSettings;
    }
    /**
     * @return The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
     * 
     */
    public String type() {
        return this.type;
    }
    /**
     * @return A list of availability zones denoting where the resource needs to come from.
     * 
     */
    public List zones() {
        return this.zones == null ? List.of() : this.zones;
    }

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

    public static Builder builder(GetRedisResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private RedisAccessKeysResponse accessKeys;
        private @Nullable Boolean enableNonSslPort;
        private String hostName;
        private String id;
        private @Nullable ManagedServiceIdentityResponse identity;
        private List instances;
        private List linkedServers;
        private String location;
        private @Nullable String minimumTlsVersion;
        private String name;
        private Integer port;
        private List privateEndpointConnections;
        private String provisioningState;
        private @Nullable String publicNetworkAccess;
        private @Nullable RedisCommonPropertiesResponseRedisConfiguration redisConfiguration;
        private @Nullable String redisVersion;
        private @Nullable Integer replicasPerMaster;
        private @Nullable Integer replicasPerPrimary;
        private @Nullable Integer shardCount;
        private SkuResponse sku;
        private Integer sslPort;
        private @Nullable String staticIP;
        private @Nullable String subnetId;
        private @Nullable Map tags;
        private @Nullable Map tenantSettings;
        private String type;
        private @Nullable List zones;
        public Builder() {}
        public Builder(GetRedisResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.accessKeys = defaults.accessKeys;
    	      this.enableNonSslPort = defaults.enableNonSslPort;
    	      this.hostName = defaults.hostName;
    	      this.id = defaults.id;
    	      this.identity = defaults.identity;
    	      this.instances = defaults.instances;
    	      this.linkedServers = defaults.linkedServers;
    	      this.location = defaults.location;
    	      this.minimumTlsVersion = defaults.minimumTlsVersion;
    	      this.name = defaults.name;
    	      this.port = defaults.port;
    	      this.privateEndpointConnections = defaults.privateEndpointConnections;
    	      this.provisioningState = defaults.provisioningState;
    	      this.publicNetworkAccess = defaults.publicNetworkAccess;
    	      this.redisConfiguration = defaults.redisConfiguration;
    	      this.redisVersion = defaults.redisVersion;
    	      this.replicasPerMaster = defaults.replicasPerMaster;
    	      this.replicasPerPrimary = defaults.replicasPerPrimary;
    	      this.shardCount = defaults.shardCount;
    	      this.sku = defaults.sku;
    	      this.sslPort = defaults.sslPort;
    	      this.staticIP = defaults.staticIP;
    	      this.subnetId = defaults.subnetId;
    	      this.tags = defaults.tags;
    	      this.tenantSettings = defaults.tenantSettings;
    	      this.type = defaults.type;
    	      this.zones = defaults.zones;
        }

        @CustomType.Setter
        public Builder accessKeys(RedisAccessKeysResponse accessKeys) {
            if (accessKeys == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "accessKeys");
            }
            this.accessKeys = accessKeys;
            return this;
        }
        @CustomType.Setter
        public Builder enableNonSslPort(@Nullable Boolean enableNonSslPort) {

            this.enableNonSslPort = enableNonSslPort;
            return this;
        }
        @CustomType.Setter
        public Builder hostName(String hostName) {
            if (hostName == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "hostName");
            }
            this.hostName = hostName;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder identity(@Nullable ManagedServiceIdentityResponse identity) {

            this.identity = identity;
            return this;
        }
        @CustomType.Setter
        public Builder instances(List instances) {
            if (instances == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "instances");
            }
            this.instances = instances;
            return this;
        }
        public Builder instances(RedisInstanceDetailsResponse... instances) {
            return instances(List.of(instances));
        }
        @CustomType.Setter
        public Builder linkedServers(List linkedServers) {
            if (linkedServers == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "linkedServers");
            }
            this.linkedServers = linkedServers;
            return this;
        }
        public Builder linkedServers(RedisLinkedServerResponse... linkedServers) {
            return linkedServers(List.of(linkedServers));
        }
        @CustomType.Setter
        public Builder location(String location) {
            if (location == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "location");
            }
            this.location = location;
            return this;
        }
        @CustomType.Setter
        public Builder minimumTlsVersion(@Nullable String minimumTlsVersion) {

            this.minimumTlsVersion = minimumTlsVersion;
            return this;
        }
        @CustomType.Setter
        public Builder name(String name) {
            if (name == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "name");
            }
            this.name = name;
            return this;
        }
        @CustomType.Setter
        public Builder port(Integer port) {
            if (port == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "port");
            }
            this.port = port;
            return this;
        }
        @CustomType.Setter
        public Builder privateEndpointConnections(List privateEndpointConnections) {
            if (privateEndpointConnections == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "privateEndpointConnections");
            }
            this.privateEndpointConnections = privateEndpointConnections;
            return this;
        }
        public Builder privateEndpointConnections(PrivateEndpointConnectionResponse... privateEndpointConnections) {
            return privateEndpointConnections(List.of(privateEndpointConnections));
        }
        @CustomType.Setter
        public Builder provisioningState(String provisioningState) {
            if (provisioningState == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "provisioningState");
            }
            this.provisioningState = provisioningState;
            return this;
        }
        @CustomType.Setter
        public Builder publicNetworkAccess(@Nullable String publicNetworkAccess) {

            this.publicNetworkAccess = publicNetworkAccess;
            return this;
        }
        @CustomType.Setter
        public Builder redisConfiguration(@Nullable RedisCommonPropertiesResponseRedisConfiguration redisConfiguration) {

            this.redisConfiguration = redisConfiguration;
            return this;
        }
        @CustomType.Setter
        public Builder redisVersion(@Nullable String redisVersion) {

            this.redisVersion = redisVersion;
            return this;
        }
        @CustomType.Setter
        public Builder replicasPerMaster(@Nullable Integer replicasPerMaster) {

            this.replicasPerMaster = replicasPerMaster;
            return this;
        }
        @CustomType.Setter
        public Builder replicasPerPrimary(@Nullable Integer replicasPerPrimary) {

            this.replicasPerPrimary = replicasPerPrimary;
            return this;
        }
        @CustomType.Setter
        public Builder shardCount(@Nullable Integer shardCount) {

            this.shardCount = shardCount;
            return this;
        }
        @CustomType.Setter
        public Builder sku(SkuResponse sku) {
            if (sku == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "sku");
            }
            this.sku = sku;
            return this;
        }
        @CustomType.Setter
        public Builder sslPort(Integer sslPort) {
            if (sslPort == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "sslPort");
            }
            this.sslPort = sslPort;
            return this;
        }
        @CustomType.Setter
        public Builder staticIP(@Nullable String staticIP) {

            this.staticIP = staticIP;
            return this;
        }
        @CustomType.Setter
        public Builder subnetId(@Nullable String subnetId) {

            this.subnetId = subnetId;
            return this;
        }
        @CustomType.Setter
        public Builder tags(@Nullable Map tags) {

            this.tags = tags;
            return this;
        }
        @CustomType.Setter
        public Builder tenantSettings(@Nullable Map tenantSettings) {

            this.tenantSettings = tenantSettings;
            return this;
        }
        @CustomType.Setter
        public Builder type(String type) {
            if (type == null) {
              throw new MissingRequiredPropertyException("GetRedisResult", "type");
            }
            this.type = type;
            return this;
        }
        @CustomType.Setter
        public Builder zones(@Nullable List zones) {

            this.zones = zones;
            return this;
        }
        public Builder zones(String... zones) {
            return zones(List.of(zones));
        }
        public GetRedisResult build() {
            final var _resultValue = new GetRedisResult();
            _resultValue.accessKeys = accessKeys;
            _resultValue.enableNonSslPort = enableNonSslPort;
            _resultValue.hostName = hostName;
            _resultValue.id = id;
            _resultValue.identity = identity;
            _resultValue.instances = instances;
            _resultValue.linkedServers = linkedServers;
            _resultValue.location = location;
            _resultValue.minimumTlsVersion = minimumTlsVersion;
            _resultValue.name = name;
            _resultValue.port = port;
            _resultValue.privateEndpointConnections = privateEndpointConnections;
            _resultValue.provisioningState = provisioningState;
            _resultValue.publicNetworkAccess = publicNetworkAccess;
            _resultValue.redisConfiguration = redisConfiguration;
            _resultValue.redisVersion = redisVersion;
            _resultValue.replicasPerMaster = replicasPerMaster;
            _resultValue.replicasPerPrimary = replicasPerPrimary;
            _resultValue.shardCount = shardCount;
            _resultValue.sku = sku;
            _resultValue.sslPort = sslPort;
            _resultValue.staticIP = staticIP;
            _resultValue.subnetId = subnetId;
            _resultValue.tags = tags;
            _resultValue.tenantSettings = tenantSettings;
            _resultValue.type = type;
            _resultValue.zones = zones;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy