import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Redis Cluster resource in Oracle Cloud Infrastructure Redis service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/redis/latest/RedisCluster * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/redis * * Creates a new Oracle Cloud Infrastructure Cache cluster. A cluster is a memory-based storage solution. * You can optionally initialize the cluster data by restoring from an Oracle Cloud Infrastructure Cache Backup (backupId) or by importing from Object Storage RDB file(s) (importFromObjectStorageDetails). * For more information, see [OCI Cache](https://docs.cloud.oracle.com/iaas/Content/ocicache/home.htm). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testRedisCluster = new oci.redis.RedisCluster("test_redis_cluster", { * compartmentId: compartmentId, * displayName: redisClusterDisplayName, * nodeCount: Number(redisClusterNodeCount), * nodeMemoryInGbs: redisClusterNodeMemoryInGbs, * softwareVersion: redisClusterSoftwareVersion, * subnetId: testSubnet.id, * backupId: testBackup.id, * clusterMode: redisClusterClusterMode, * definedTags: { * "foo-namespace.bar-key": "value", * }, * freeformTags: { * "bar-key": "value", * }, * importFromObjectStorageDetails: { * bucket: redisClusterImportFromObjectStorageDetailsBucket, * namespace: redisClusterImportFromObjectStorageDetailsNamespace, * objects: [{ * object: redisClusterImportFromObjectStorageDetailsObjectsObject, * }], * }, * nsgIds: redisClusterNsgIds, * ociCacheConfigSetId: testOciCacheConfigSet.id, * securityAttributes: redisClusterSecurityAttributes, * shardCount: Number(redisClusterShardCount), * }); * ``` * * ## Import * * RedisClusters can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Redis/redisCluster:RedisCluster test_redis_cluster "id" * ``` */ export declare class RedisCluster extends pulumi.CustomResource { /** * Get an existing RedisCluster resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: RedisClusterState, opts?: pulumi.CustomResourceOptions): RedisCluster; /** * Returns true if the given object is an instance of RedisCluster. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is RedisCluster; /** * The ID of the Oracle Cloud Infrastructure Cache Backup from which this cluster was created.Mutually exclusive with 'importFromObjectStorageDetails'. */ readonly backupId: pulumi.Output; /** * Specifies whether the cluster is sharded or non-sharded. */ readonly clusterMode: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the compartment that contains the cluster. */ readonly compartmentId: pulumi.Output; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ readonly definedTags: pulumi.Output<{ [key: string]: string; }>; /** * The private IP address of the API endpoint for sharded cluster discovery. */ readonly discoveryEndpointIpAddress: pulumi.Output; /** * The fully qualified domain name (FQDN) of the API endpoint for sharded cluster discovery. */ readonly discoveryFqdn: pulumi.Output; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ readonly displayName: pulumi.Output; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ readonly freeformTags: pulumi.Output<{ [key: string]: string; }>; /** * Details for importing Oracle Cloud Infrastructure Cache data from Object Storage RDB file(s) during cluster creation. */ readonly importFromObjectStorageDetails: pulumi.Output; /** * A message describing the current state in more detail. For example, the message might provide actionable information for a resource in `FAILED` state. */ readonly lifecycleDetails: pulumi.Output; /** * The collection of cluster nodes. */ readonly nodeCollections: pulumi.Output; /** * (Updatable) The number of nodes per shard in the cluster when clusterMode is SHARDED. This is the total number of nodes when clusterMode is NONSHARDED. */ readonly nodeCount: pulumi.Output; /** * (Updatable) The amount of memory allocated to the cluster's nodes, in gigabytes. */ readonly nodeMemoryInGbs: pulumi.Output; /** * (Updatable) A list of Network Security Group (NSG) [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with this cluster. For more information, see [Using an NSG for Clusters](https://docs.cloud.oracle.com/iaas/Content/ocicache/connecttocluster.htm#connecttocluster__networksecuritygroup). */ readonly nsgIds: pulumi.Output; /** * (Updatable) The ID of the corresponding Oracle Cloud Infrastructure Cache Config Set for the cluster. */ readonly ociCacheConfigSetId: pulumi.Output; /** * The private IP address of the API endpoint for the cluster's primary node. */ readonly primaryEndpointIpAddress: pulumi.Output; /** * The fully qualified domain name (FQDN) of the API endpoint for the cluster's primary node. */ readonly primaryFqdn: pulumi.Output; /** * The private IP address of the API endpoint for the cluster's replica nodes. */ readonly replicasEndpointIpAddress: pulumi.Output; /** * The fully qualified domain name (FQDN) of the API endpoint for the cluster's replica nodes. */ readonly replicasFqdn: pulumi.Output; /** * (Updatable) Security attributes for redis cluster resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Oracle-ZPR": {"MaxEgressCount": {"value": "42", "mode": "enforce"}}}` */ readonly securityAttributes: pulumi.Output<{ [key: string]: string; }>; /** * (Updatable) The number of shards in sharded cluster. Only applicable when clusterMode is SHARDED. */ readonly shardCount: pulumi.Output; /** * (Updatable) The Oracle Cloud Infrastructure Cache engine version that the cluster is running. */ readonly softwareVersion: pulumi.Output; /** * The current state of the cluster. */ readonly state: pulumi.Output; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the cluster's subnet. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly subnetId: pulumi.Output; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ readonly systemTags: pulumi.Output<{ [key: string]: string; }>; /** * The date and time the cluster was created. An [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string. */ readonly timeCreated: pulumi.Output; /** * The date and time the cluster was updated. An [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string. */ readonly timeUpdated: pulumi.Output; /** * Create a RedisCluster resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RedisClusterArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering RedisCluster resources. */ export interface RedisClusterState { /** * The ID of the Oracle Cloud Infrastructure Cache Backup from which this cluster was created.Mutually exclusive with 'importFromObjectStorageDetails'. */ backupId?: pulumi.Input; /** * Specifies whether the cluster is sharded or non-sharded. */ clusterMode?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the compartment that contains the cluster. */ compartmentId?: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The private IP address of the API endpoint for sharded cluster discovery. */ discoveryEndpointIpAddress?: pulumi.Input; /** * The fully qualified domain name (FQDN) of the API endpoint for sharded cluster discovery. */ discoveryFqdn?: pulumi.Input; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName?: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Details for importing Oracle Cloud Infrastructure Cache data from Object Storage RDB file(s) during cluster creation. */ importFromObjectStorageDetails?: pulumi.Input; /** * A message describing the current state in more detail. For example, the message might provide actionable information for a resource in `FAILED` state. */ lifecycleDetails?: pulumi.Input; /** * The collection of cluster nodes. */ nodeCollections?: pulumi.Input[] | undefined>; /** * (Updatable) The number of nodes per shard in the cluster when clusterMode is SHARDED. This is the total number of nodes when clusterMode is NONSHARDED. */ nodeCount?: pulumi.Input; /** * (Updatable) The amount of memory allocated to the cluster's nodes, in gigabytes. */ nodeMemoryInGbs?: pulumi.Input; /** * (Updatable) A list of Network Security Group (NSG) [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with this cluster. For more information, see [Using an NSG for Clusters](https://docs.cloud.oracle.com/iaas/Content/ocicache/connecttocluster.htm#connecttocluster__networksecuritygroup). */ nsgIds?: pulumi.Input[] | undefined>; /** * (Updatable) The ID of the corresponding Oracle Cloud Infrastructure Cache Config Set for the cluster. */ ociCacheConfigSetId?: pulumi.Input; /** * The private IP address of the API endpoint for the cluster's primary node. */ primaryEndpointIpAddress?: pulumi.Input; /** * The fully qualified domain name (FQDN) of the API endpoint for the cluster's primary node. */ primaryFqdn?: pulumi.Input; /** * The private IP address of the API endpoint for the cluster's replica nodes. */ replicasEndpointIpAddress?: pulumi.Input; /** * The fully qualified domain name (FQDN) of the API endpoint for the cluster's replica nodes. */ replicasFqdn?: pulumi.Input; /** * (Updatable) Security attributes for redis cluster resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Oracle-ZPR": {"MaxEgressCount": {"value": "42", "mode": "enforce"}}}` */ securityAttributes?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The number of shards in sharded cluster. Only applicable when clusterMode is SHARDED. */ shardCount?: pulumi.Input; /** * (Updatable) The Oracle Cloud Infrastructure Cache engine version that the cluster is running. */ softwareVersion?: pulumi.Input; /** * The current state of the cluster. */ state?: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the cluster's subnet. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ subnetId?: pulumi.Input; /** * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}` */ systemTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * The date and time the cluster was created. An [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string. */ timeCreated?: pulumi.Input; /** * The date and time the cluster was updated. An [RFC3339](https://datatracker.ietf.org/doc/html/rfc3339) formatted datetime string. */ timeUpdated?: pulumi.Input; } /** * The set of arguments for constructing a RedisCluster resource. */ export interface RedisClusterArgs { /** * The ID of the Oracle Cloud Infrastructure Cache Backup from which this cluster was created.Mutually exclusive with 'importFromObjectStorageDetails'. */ backupId?: pulumi.Input; /** * Specifies whether the cluster is sharded or non-sharded. */ clusterMode?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the compartment that contains the cluster. */ compartmentId: pulumi.Input; /** * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}` */ definedTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) A user-friendly name. Does not have to be unique, and it's changeable. Avoid entering confidential information. */ displayName: pulumi.Input; /** * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}` */ freeformTags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Details for importing Oracle Cloud Infrastructure Cache data from Object Storage RDB file(s) during cluster creation. */ importFromObjectStorageDetails?: pulumi.Input; /** * (Updatable) The number of nodes per shard in the cluster when clusterMode is SHARDED. This is the total number of nodes when clusterMode is NONSHARDED. */ nodeCount: pulumi.Input; /** * (Updatable) The amount of memory allocated to the cluster's nodes, in gigabytes. */ nodeMemoryInGbs: pulumi.Input; /** * (Updatable) A list of Network Security Group (NSG) [OCIDs](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) associated with this cluster. For more information, see [Using an NSG for Clusters](https://docs.cloud.oracle.com/iaas/Content/ocicache/connecttocluster.htm#connecttocluster__networksecuritygroup). */ nsgIds?: pulumi.Input[] | undefined>; /** * (Updatable) The ID of the corresponding Oracle Cloud Infrastructure Cache Config Set for the cluster. */ ociCacheConfigSetId?: pulumi.Input; /** * (Updatable) Security attributes for redis cluster resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Oracle-ZPR": {"MaxEgressCount": {"value": "42", "mode": "enforce"}}}` */ securityAttributes?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * (Updatable) The number of shards in sharded cluster. Only applicable when clusterMode is SHARDED. */ shardCount?: pulumi.Input; /** * (Updatable) The Oracle Cloud Infrastructure Cache engine version that the cluster is running. */ softwareVersion: pulumi.Input; /** * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm#Oracle) of the cluster's subnet. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ subnetId: pulumi.Input; } //# sourceMappingURL=redisCluster.d.ts.map