All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.redis.EnterpriseDatabaseArgs 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.
// *** 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.redis;
import com.pulumi.azure.redis.inputs.EnterpriseDatabaseModuleArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class EnterpriseDatabaseArgs extends com.pulumi.resources.ResourceArgs {
public static final EnterpriseDatabaseArgs Empty = new EnterpriseDatabaseArgs();
/**
* Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
@Import(name="clientProtocol")
private @Nullable Output clientProtocol;
/**
* @return Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
public Optional> clientProtocol() {
return Optional.ofNullable(this.clientProtocol);
}
/**
* The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
*
*/
@Import(name="clusterId", required=true)
private Output clusterId;
/**
* @return The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
*
*/
public Output clusterId() {
return this.clusterId;
}
/**
* Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
@Import(name="clusteringPolicy")
private @Nullable Output clusteringPolicy;
/**
* @return Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
public Optional> clusteringPolicy() {
return Optional.ofNullable(this.clusteringPolicy);
}
/**
* Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.
*
*/
@Import(name="evictionPolicy")
private @Nullable Output evictionPolicy;
/**
* @return Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.
*
*/
public Optional> evictionPolicy() {
return Optional.ofNullable(this.evictionPolicy);
}
/**
* Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.
*
*/
@Import(name="linkedDatabaseGroupNickname")
private @Nullable Output linkedDatabaseGroupNickname;
/**
* @return Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.
*
*/
public Optional> linkedDatabaseGroupNickname() {
return Optional.ofNullable(this.linkedDatabaseGroupNickname);
}
/**
* A list of database resources to link with this database with a maximum of 5.
*
* > **NOTE:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database be removed from the list will be forcefully unlinked.The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outrage. The database cannot be linked again after force-unlink.
*
*/
@Import(name="linkedDatabaseIds")
private @Nullable Output> linkedDatabaseIds;
/**
* @return A list of database resources to link with this database with a maximum of 5.
*
* > **NOTE:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database be removed from the list will be forcefully unlinked.The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outrage. The database cannot be linked again after force-unlink.
*
*/
public Optional>> linkedDatabaseIds() {
return Optional.ofNullable(this.linkedDatabaseIds);
}
/**
* A `module` block as defined below. Changing this forces a new resource to be created.
*
* > **NOTE:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication
*
*/
@Import(name="modules")
private @Nullable Output> modules;
/**
* @return A `module` block as defined below. Changing this forces a new resource to be created.
*
* > **NOTE:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication
*
*/
public Optional>> modules() {
return Optional.ofNullable(this.modules);
}
/**
* The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`.
*
*/
@Import(name="port")
private @Nullable Output port;
/**
* @return TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`.
*
*/
public Optional> port() {
return Optional.ofNullable(this.port);
}
private EnterpriseDatabaseArgs() {}
private EnterpriseDatabaseArgs(EnterpriseDatabaseArgs $) {
this.clientProtocol = $.clientProtocol;
this.clusterId = $.clusterId;
this.clusteringPolicy = $.clusteringPolicy;
this.evictionPolicy = $.evictionPolicy;
this.linkedDatabaseGroupNickname = $.linkedDatabaseGroupNickname;
this.linkedDatabaseIds = $.linkedDatabaseIds;
this.modules = $.modules;
this.name = $.name;
this.port = $.port;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(EnterpriseDatabaseArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private EnterpriseDatabaseArgs $;
public Builder() {
$ = new EnterpriseDatabaseArgs();
}
public Builder(EnterpriseDatabaseArgs defaults) {
$ = new EnterpriseDatabaseArgs(Objects.requireNonNull(defaults));
}
/**
* @param clientProtocol Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clientProtocol(@Nullable Output clientProtocol) {
$.clientProtocol = clientProtocol;
return this;
}
/**
* @param clientProtocol Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clientProtocol(String clientProtocol) {
return clientProtocol(Output.of(clientProtocol));
}
/**
* @param clusterId The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clusterId(Output clusterId) {
$.clusterId = clusterId;
return this;
}
/**
* @param clusterId The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clusterId(String clusterId) {
return clusterId(Output.of(clusterId));
}
/**
* @param clusteringPolicy Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clusteringPolicy(@Nullable Output clusteringPolicy) {
$.clusteringPolicy = clusteringPolicy;
return this;
}
/**
* @param clusteringPolicy Clustering policy Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder clusteringPolicy(String clusteringPolicy) {
return clusteringPolicy(Output.of(clusteringPolicy));
}
/**
* @param evictionPolicy Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.
*
* @return builder
*
*/
public Builder evictionPolicy(@Nullable Output evictionPolicy) {
$.evictionPolicy = evictionPolicy;
return this;
}
/**
* @param evictionPolicy Redis eviction policy possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Changing this forces a new Redis Enterprise Database to be created. Defaults to `VolatileLRU`.
*
* @return builder
*
*/
public Builder evictionPolicy(String evictionPolicy) {
return evictionPolicy(Output.of(evictionPolicy));
}
/**
* @param linkedDatabaseGroupNickname Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.
*
* @return builder
*
*/
public Builder linkedDatabaseGroupNickname(@Nullable Output linkedDatabaseGroupNickname) {
$.linkedDatabaseGroupNickname = linkedDatabaseGroupNickname;
return this;
}
/**
* @param linkedDatabaseGroupNickname Nickname of the group of linked databases. Changing this force a new Redis Enterprise Geo Database to be created.
*
* @return builder
*
*/
public Builder linkedDatabaseGroupNickname(String linkedDatabaseGroupNickname) {
return linkedDatabaseGroupNickname(Output.of(linkedDatabaseGroupNickname));
}
/**
* @param linkedDatabaseIds A list of database resources to link with this database with a maximum of 5.
*
* > **NOTE:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database be removed from the list will be forcefully unlinked.The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outrage. The database cannot be linked again after force-unlink.
*
* @return builder
*
*/
public Builder linkedDatabaseIds(@Nullable Output> linkedDatabaseIds) {
$.linkedDatabaseIds = linkedDatabaseIds;
return this;
}
/**
* @param linkedDatabaseIds A list of database resources to link with this database with a maximum of 5.
*
* > **NOTE:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database be removed from the list will be forcefully unlinked.The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outrage. The database cannot be linked again after force-unlink.
*
* @return builder
*
*/
public Builder linkedDatabaseIds(List linkedDatabaseIds) {
return linkedDatabaseIds(Output.of(linkedDatabaseIds));
}
/**
* @param linkedDatabaseIds A list of database resources to link with this database with a maximum of 5.
*
* > **NOTE:** Only the newly created databases can be added to an existing geo-replication group. Existing regular databases or recreated databases cannot be added to the existing geo-replication group. Any linked database be removed from the list will be forcefully unlinked.The only recommended operation is to delete after force-unlink and the recommended scenario of force-unlink is region outrage. The database cannot be linked again after force-unlink.
*
* @return builder
*
*/
public Builder linkedDatabaseIds(String... linkedDatabaseIds) {
return linkedDatabaseIds(List.of(linkedDatabaseIds));
}
/**
* @param modules A `module` block as defined below. Changing this forces a new resource to be created.
*
* > **NOTE:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication
*
* @return builder
*
*/
public Builder modules(@Nullable Output> modules) {
$.modules = modules;
return this;
}
/**
* @param modules A `module` block as defined below. Changing this forces a new resource to be created.
*
* > **NOTE:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication
*
* @return builder
*
*/
public Builder modules(List modules) {
return modules(Output.of(modules));
}
/**
* @param modules A `module` block as defined below. Changing this forces a new resource to be created.
*
* > **NOTE:** Only `RediSearch` and `RedisJSON` modules are allowed with geo-replication
*
* @return builder
*
*/
public Builder modules(EnterpriseDatabaseModuleArgs... modules) {
return modules(List.of(modules));
}
/**
* @param name The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param port TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`.
*
* @return builder
*
*/
public Builder port(@Nullable Output port) {
$.port = port;
return this;
}
/**
* @param port TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created. Defaults to `10000`.
*
* @return builder
*
*/
public Builder port(Integer port) {
return port(Output.of(port));
}
public EnterpriseDatabaseArgs build() {
if ($.clusterId == null) {
throw new MissingRequiredPropertyException("EnterpriseDatabaseArgs", "clusterId");
}
return $;
}
}
}