import * as pulumi from "@pulumi/pulumi"; import { output as outputs } from "../../types"; /** * Creates a Redis instance based on the specified tier and memory size. By default, the instance is accessible from the project's [default network](https://cloud.google.com/vpc/docs/vpc). The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis instance will be fully functional. Completed longrunning.Operation will contain the new instance object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. 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 Instance; /** * Optional. Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. If provided, it must be a different zone from the one provided in location_id. */ readonly alternativeLocationId: pulumi.Output; /** * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to "true" AUTH is enabled on the instance. Default value is "false" meaning AUTH is disabled. */ readonly authEnabled: pulumi.Output; /** * Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used. */ readonly authorizedNetwork: pulumi.Output; /** * Optional. The network connect mode of the Redis instance. If not provided, the connect mode defaults to DIRECT_PEERING. */ readonly connectMode: pulumi.Output; /** * The time the instance was created. */ readonly createTime: pulumi.Output; /** * The current zone where the Redis endpoint is placed. For Basic Tier instances, this will always be the same as the location_id provided by the user at creation time. For Standard Tier instances, this can be either location_id or alternative_location_id and can change after a failover event. */ readonly currentLocationId: pulumi.Output; /** * An arbitrary and optional user-provided name for the instance. */ readonly displayName: pulumi.Output; /** * Hostname or IP address of the exposed Redis endpoint used by clients to connect to the service. */ readonly host: pulumi.Output; /** * Resource labels to represent user provided metadata */ readonly labels: pulumi.Output<{ [key: string]: string; }>; /** * Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id. */ readonly locationId: pulumi.Output; /** * Required. Redis memory size in GiB. */ readonly memorySizeGb: pulumi.Output; /** * Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details. */ readonly name: pulumi.Output; /** * Cloud IAM identity used by import / export operations to transfer data to/from Cloud Storage. Format is "serviceAccount:". The value may change over time for a given instance so should be checked before each import/export operation. */ readonly persistenceIamIdentity: pulumi.Output; /** * The port number of the exposed Redis endpoint. */ readonly port: pulumi.Output; /** * Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries */ readonly redisConfigs: pulumi.Output<{ [key: string]: string; }>; /** * Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility */ readonly redisVersion: pulumi.Output; /** * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. */ readonly reservedIpRange: pulumi.Output; /** * List of server CA certificates for the instance. */ readonly serverCaCerts: pulumi.Output; /** * The current state of this instance. */ readonly state: pulumi.Output; /** * Additional information about the current status of this instance, if available. */ readonly statusMessage: pulumi.Output; /** * Required. The service tier of the instance. */ readonly tier: pulumi.Output; /** * Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance. */ readonly transitEncryptionMode: pulumi.Output; /** * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * Optional. Only applicable to STANDARD_HA tier which protects the instance against zonal failures by provisioning it across two zones. If provided, it must be a different zone from the one provided in location_id. */ readonly alternativeLocationId?: pulumi.Input; /** * Optional. Indicates whether OSS Redis AUTH is enabled for the instance. If set to "true" AUTH is enabled on the instance. Default value is "false" meaning AUTH is disabled. */ readonly authEnabled?: pulumi.Input; /** * Optional. The full name of the Google Compute Engine [network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. If left unspecified, the `default` network will be used. */ readonly authorizedNetwork?: pulumi.Input; /** * Optional. The network connect mode of the Redis instance. If not provided, the connect mode defaults to DIRECT_PEERING. */ readonly connectMode?: pulumi.Input; /** * An arbitrary and optional user-provided name for the instance. */ readonly displayName?: pulumi.Input; readonly instancesId: pulumi.Input; /** * Resource labels to represent user provided metadata */ readonly labels?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Optional. The zone where the instance will be provisioned. If not provided, the service will choose a zone for the instance. For STANDARD_HA tier, instances will be created across two zones for protection against zonal failures. If alternative_location_id is also provided, it must be different from location_id. */ readonly locationId?: pulumi.Input; readonly locationsId: pulumi.Input; /** * Required. Redis memory size in GiB. */ readonly memorySizeGb?: pulumi.Input; /** * Required. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/instances/{instance_id}` Note: Redis instances are managed and addressed at regional level so location_id here refers to a GCP region; however, users may choose which specific zone (or collection of zones for cross-zone instances) an instance should be provisioned in. Refer to location_id and alternative_location_id fields for more details. */ readonly name?: pulumi.Input; readonly projectsId: pulumi.Input; /** * Optional. Redis configuration parameters, according to http://redis.io/topics/config. Currently, the only supported parameters are: Redis version 3.2 and newer: * maxmemory-policy * notify-keyspace-events Redis version 4.0 and newer: * activedefrag * lfu-decay-time * lfu-log-factor * maxmemory-gb Redis version 5.0 and newer: * stream-node-max-bytes * stream-node-max-entries */ readonly redisConfigs?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * Optional. The version of Redis software. If not provided, latest supported version will be used. Currently, the supported values are: * `REDIS_3_2` for Redis 3.2 compatibility * `REDIS_4_0` for Redis 4.0 compatibility (default) * `REDIS_5_0` for Redis 5.0 compatibility * `REDIS_6_X` for Redis 6.x compatibility */ readonly redisVersion?: pulumi.Input; /** * Optional. For DIRECT_PEERING mode, the CIDR range of internal addresses that are reserved for this instance. Range must be unique and non-overlapping with existing subnets in an authorized network. For PRIVATE_SERVICE_ACCESS mode, the name of one allocated IP address ranges associated with this private service access connection. If not provided, the service will choose an unused /29 block, for example, 10.0.0.0/29 or 192.168.0.0/29. */ readonly reservedIpRange?: pulumi.Input; /** * Required. The service tier of the instance. */ readonly tier?: pulumi.Input; /** * Optional. The TLS mode of the Redis instance. If not provided, TLS is disabled for the instance. */ readonly transitEncryptionMode?: pulumi.Input; }