rediscloud.ActiveActiveSubscriptionRegions

Explore with Pulumi AI

Manages regions within your Redis Enterprise Cloud Active-Active subscription. This resource is responsible for creating and managing regions within that subscription. This allows Redis Enterprise Cloud to efficiently provision your cluster within each defined region in a separate block.

Example Usage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Rediscloud = RedisLabs.Rediscloud;

return await Deployment.RunAsync(() => 
{
    var regions_resource = new Rediscloud.ActiveActiveSubscriptionRegions("regions-resource", new()
    {
        SubscriptionId = rediscloud_active_active_subscription.Subscription_resource.Id,
        DeleteRegions = false,
        Regions = new[]
        {
            new Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionArgs
            {
                Region = "us-east-1",
                NetworkingDeploymentCidr = "192.168.0.0/24",
                Databases = new[]
                {
                    new Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionDatabaseArgs
                    {
                        DatabaseId = rediscloud_active_active_subscription_database.Database_resource.Db_id,
                        DatabaseName = rediscloud_active_active_subscription_database.Database_resource.Name,
                        LocalWriteOperationsPerSecond = 1000,
                        LocalReadOperationsPerSecond = 1000,
                    },
                },
            },
            new Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionArgs
            {
                Region = "us-east-2",
                NetworkingDeploymentCidr = "10.0.1.0/24",
                Databases = new[]
                {
                    new Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionDatabaseArgs
                    {
                        DatabaseId = rediscloud_active_active_subscription_database.Database_resource.Db_id,
                        DatabaseName = rediscloud_active_active_subscription_database.Database_resource.Name,
                        LocalWriteOperationsPerSecond = 2000,
                        LocalReadOperationsPerSecond = 4000,
                    },
                },
            },
        },
    });

});
package main

import (
	"github.com/RedisLabs/pulumi-rediscloud/sdk/go/rediscloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := rediscloud.NewActiveActiveSubscriptionRegions(ctx, "regions-resource", &rediscloud.ActiveActiveSubscriptionRegionsArgs{
			SubscriptionId: pulumi.Any(rediscloud_active_active_subscription.SubscriptionResource.Id),
			DeleteRegions:  pulumi.Bool(false),
			Regions: rediscloud.ActiveActiveSubscriptionRegionsRegionArray{
				&rediscloud.ActiveActiveSubscriptionRegionsRegionArgs{
					Region:                   pulumi.String("us-east-1"),
					NetworkingDeploymentCidr: pulumi.String("192.168.0.0/24"),
					Databases: rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArray{
						&rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArgs{
							DatabaseId:                    pulumi.Any(rediscloud_active_active_subscription_database.DatabaseResource.Db_id),
							DatabaseName:                  pulumi.Any(rediscloud_active_active_subscription_database.DatabaseResource.Name),
							LocalWriteOperationsPerSecond: pulumi.Int(1000),
							LocalReadOperationsPerSecond:  pulumi.Int(1000),
						},
					},
				},
				&rediscloud.ActiveActiveSubscriptionRegionsRegionArgs{
					Region:                   pulumi.String("us-east-2"),
					NetworkingDeploymentCidr: pulumi.String("10.0.1.0/24"),
					Databases: rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArray{
						&rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArgs{
							DatabaseId:                    pulumi.Any(rediscloud_active_active_subscription_database.DatabaseResource.Db_id),
							DatabaseName:                  pulumi.Any(rediscloud_active_active_subscription_database.DatabaseResource.Name),
							LocalWriteOperationsPerSecond: pulumi.Int(2000),
							LocalReadOperationsPerSecond:  pulumi.Int(4000),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.rediscloud.ActiveActiveSubscriptionRegions;
import com.pulumi.rediscloud.ActiveActiveSubscriptionRegionsArgs;
import com.pulumi.rediscloud.inputs.ActiveActiveSubscriptionRegionsRegionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var regions_resource = new ActiveActiveSubscriptionRegions("regions-resource", ActiveActiveSubscriptionRegionsArgs.builder()        
            .subscriptionId(rediscloud_active_active_subscription.subscription-resource().id())
            .deleteRegions(false)
            .regions(            
                ActiveActiveSubscriptionRegionsRegionArgs.builder()
                    .region("us-east-1")
                    .networkingDeploymentCidr("192.168.0.0/24")
                    .databases(ActiveActiveSubscriptionRegionsRegionDatabaseArgs.builder()
                        .databaseId(rediscloud_active_active_subscription_database.database-resource().db_id())
                        .databaseName(rediscloud_active_active_subscription_database.database-resource().name())
                        .localWriteOperationsPerSecond(1000)
                        .localReadOperationsPerSecond(1000)
                        .build())
                    .build(),
                ActiveActiveSubscriptionRegionsRegionArgs.builder()
                    .region("us-east-2")
                    .networkingDeploymentCidr("10.0.1.0/24")
                    .databases(ActiveActiveSubscriptionRegionsRegionDatabaseArgs.builder()
                        .databaseId(rediscloud_active_active_subscription_database.database-resource().db_id())
                        .databaseName(rediscloud_active_active_subscription_database.database-resource().name())
                        .localWriteOperationsPerSecond(2000)
                        .localReadOperationsPerSecond(4000)
                        .build())
                    .build())
            .build());

    }
}
import pulumi
import pulumi_rediscloud as rediscloud

regions_resource = rediscloud.ActiveActiveSubscriptionRegions("regions-resource",
    subscription_id=rediscloud_active_active_subscription["subscription-resource"]["id"],
    delete_regions=False,
    regions=[
        rediscloud.ActiveActiveSubscriptionRegionsRegionArgs(
            region="us-east-1",
            networking_deployment_cidr="192.168.0.0/24",
            databases=[rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArgs(
                database_id=rediscloud_active_active_subscription_database["database-resource"]["db_id"],
                database_name=rediscloud_active_active_subscription_database["database-resource"]["name"],
                local_write_operations_per_second=1000,
                local_read_operations_per_second=1000,
            )],
        ),
        rediscloud.ActiveActiveSubscriptionRegionsRegionArgs(
            region="us-east-2",
            networking_deployment_cidr="10.0.1.0/24",
            databases=[rediscloud.ActiveActiveSubscriptionRegionsRegionDatabaseArgs(
                database_id=rediscloud_active_active_subscription_database["database-resource"]["db_id"],
                database_name=rediscloud_active_active_subscription_database["database-resource"]["name"],
                local_write_operations_per_second=2000,
                local_read_operations_per_second=4000,
            )],
        ),
    ])
import * as pulumi from "@pulumi/pulumi";
import * as rediscloud from "@rediscloud/pulumi-rediscloud";

const regions_resource = new rediscloud.ActiveActiveSubscriptionRegions("regions-resource", {
    subscriptionId: rediscloud_active_active_subscription["subscription-resource"].id,
    deleteRegions: false,
    regions: [
        {
            region: "us-east-1",
            networkingDeploymentCidr: "192.168.0.0/24",
            databases: [{
                databaseId: rediscloud_active_active_subscription_database["database-resource"].db_id,
                databaseName: rediscloud_active_active_subscription_database["database-resource"].name,
                localWriteOperationsPerSecond: 1000,
                localReadOperationsPerSecond: 1000,
            }],
        },
        {
            region: "us-east-2",
            networkingDeploymentCidr: "10.0.1.0/24",
            databases: [{
                databaseId: rediscloud_active_active_subscription_database["database-resource"].db_id,
                databaseName: rediscloud_active_active_subscription_database["database-resource"].name,
                localWriteOperationsPerSecond: 2000,
                localReadOperationsPerSecond: 4000,
            }],
        },
    ],
});
resources:
  regions-resource:
    type: rediscloud:ActiveActiveSubscriptionRegions
    properties:
      subscriptionId: ${rediscloud_active_active_subscription"subscription-resource"[%!s(MISSING)].id}
      deleteRegions: false
      regions:
        - region: us-east-1
          networkingDeploymentCidr: 192.168.0.0/24
          databases:
            - databaseId: ${rediscloud_active_active_subscription_database"database-resource"[%!s(MISSING)].db_id}
              databaseName: ${rediscloud_active_active_subscription_database"database-resource"[%!s(MISSING)].name}
              localWriteOperationsPerSecond: 1000
              localReadOperationsPerSecond: 1000
        - region: us-east-2
          networkingDeploymentCidr: 10.0.1.0/24
          databases:
            - databaseId: ${rediscloud_active_active_subscription_database"database-resource"[%!s(MISSING)].db_id}
              databaseName: ${rediscloud_active_active_subscription_database"database-resource"[%!s(MISSING)].name}
              localWriteOperationsPerSecond: 2000
              localReadOperationsPerSecond: 4000

Create ActiveActiveSubscriptionRegions Resource

new ActiveActiveSubscriptionRegions(name: string, args: ActiveActiveSubscriptionRegionsArgs, opts?: CustomResourceOptions);
@overload
def ActiveActiveSubscriptionRegions(resource_name: str,
                                    opts: Optional[ResourceOptions] = None,
                                    delete_regions: Optional[bool] = None,
                                    regions: Optional[Sequence[ActiveActiveSubscriptionRegionsRegionArgs]] = None,
                                    subscription_id: Optional[str] = None)
@overload
def ActiveActiveSubscriptionRegions(resource_name: str,
                                    args: ActiveActiveSubscriptionRegionsArgs,
                                    opts: Optional[ResourceOptions] = None)
func NewActiveActiveSubscriptionRegions(ctx *Context, name string, args ActiveActiveSubscriptionRegionsArgs, opts ...ResourceOption) (*ActiveActiveSubscriptionRegions, error)
public ActiveActiveSubscriptionRegions(string name, ActiveActiveSubscriptionRegionsArgs args, CustomResourceOptions? opts = null)
public ActiveActiveSubscriptionRegions(String name, ActiveActiveSubscriptionRegionsArgs args)
public ActiveActiveSubscriptionRegions(String name, ActiveActiveSubscriptionRegionsArgs args, CustomResourceOptions options)
type: rediscloud:ActiveActiveSubscriptionRegions
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

name string
The unique name of the resource.
args ActiveActiveSubscriptionRegionsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args ActiveActiveSubscriptionRegionsArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args ActiveActiveSubscriptionRegionsArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args ActiveActiveSubscriptionRegionsArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name String
The unique name of the resource.
args ActiveActiveSubscriptionRegionsArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

ActiveActiveSubscriptionRegions Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The ActiveActiveSubscriptionRegions resource accepts the following input properties:

Regions List<RedisLabs.Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionArgs>

Cloud networking details, per region, documented below

SubscriptionId string

ID of the subscription that the regions belong to

DeleteRegions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

Regions []ActiveActiveSubscriptionRegionsRegionArgs

Cloud networking details, per region, documented below

SubscriptionId string

ID of the subscription that the regions belong to

DeleteRegions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions List<ActiveActiveSubscriptionRegionsRegionArgs>

Cloud networking details, per region, documented below

subscriptionId String

ID of the subscription that the regions belong to

deleteRegions Boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions ActiveActiveSubscriptionRegionsRegionArgs[]

Cloud networking details, per region, documented below

subscriptionId string

ID of the subscription that the regions belong to

deleteRegions boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions Sequence[ActiveActiveSubscriptionRegionsRegionArgs]

Cloud networking details, per region, documented below

subscription_id str

ID of the subscription that the regions belong to

delete_regions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions List<Property Map>

Cloud networking details, per region, documented below

subscriptionId String

ID of the subscription that the regions belong to

deleteRegions Boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

Outputs

All input properties are implicitly available as output properties. Additionally, the ActiveActiveSubscriptionRegions resource produces the following output properties:

Id string

The provider-assigned unique ID for this managed resource.

Id string

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

id string

The provider-assigned unique ID for this managed resource.

id str

The provider-assigned unique ID for this managed resource.

id String

The provider-assigned unique ID for this managed resource.

Look up Existing ActiveActiveSubscriptionRegions Resource

Get an existing ActiveActiveSubscriptionRegions resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ActiveActiveSubscriptionRegionsState, opts?: CustomResourceOptions): ActiveActiveSubscriptionRegions
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        delete_regions: Optional[bool] = None,
        regions: Optional[Sequence[ActiveActiveSubscriptionRegionsRegionArgs]] = None,
        subscription_id: Optional[str] = None) -> ActiveActiveSubscriptionRegions
func GetActiveActiveSubscriptionRegions(ctx *Context, name string, id IDInput, state *ActiveActiveSubscriptionRegionsState, opts ...ResourceOption) (*ActiveActiveSubscriptionRegions, error)
public static ActiveActiveSubscriptionRegions Get(string name, Input<string> id, ActiveActiveSubscriptionRegionsState? state, CustomResourceOptions? opts = null)
public static ActiveActiveSubscriptionRegions get(String name, Output<String> id, ActiveActiveSubscriptionRegionsState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
DeleteRegions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

Regions List<RedisLabs.Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionArgs>

Cloud networking details, per region, documented below

SubscriptionId string

ID of the subscription that the regions belong to

DeleteRegions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

Regions []ActiveActiveSubscriptionRegionsRegionArgs

Cloud networking details, per region, documented below

SubscriptionId string

ID of the subscription that the regions belong to

deleteRegions Boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions List<ActiveActiveSubscriptionRegionsRegionArgs>

Cloud networking details, per region, documented below

subscriptionId String

ID of the subscription that the regions belong to

deleteRegions boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions ActiveActiveSubscriptionRegionsRegionArgs[]

Cloud networking details, per region, documented below

subscriptionId string

ID of the subscription that the regions belong to

delete_regions bool

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions Sequence[ActiveActiveSubscriptionRegionsRegionArgs]

Cloud networking details, per region, documented below

subscription_id str

ID of the subscription that the regions belong to

deleteRegions Boolean

Flag required to be set when one or more regions is to be deleted, if the flag is not set an error will be thrown

regions List<Property Map>

Cloud networking details, per region, documented below

subscriptionId String

ID of the subscription that the regions belong to

Supporting Types

ActiveActiveSubscriptionRegionsRegion

Databases List<RedisLabs.Rediscloud.Inputs.ActiveActiveSubscriptionRegionsRegionDatabase>

A block defining the write and read operations in the region, per database, documented below

NetworkingDeploymentCidr string

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

Region string

Region name

RecreateRegion bool

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

RegionId int

The ID of the region, as created by the API

VpcId string

Identifier of the VPC to be peered, set by the API

Databases []ActiveActiveSubscriptionRegionsRegionDatabase

A block defining the write and read operations in the region, per database, documented below

NetworkingDeploymentCidr string

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

Region string

Region name

RecreateRegion bool

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

RegionId int

The ID of the region, as created by the API

VpcId string

Identifier of the VPC to be peered, set by the API

databases List<ActiveActiveSubscriptionRegionsRegionDatabase>

A block defining the write and read operations in the region, per database, documented below

networkingDeploymentCidr String

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

region String

Region name

recreateRegion Boolean

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

regionId Integer

The ID of the region, as created by the API

vpcId String

Identifier of the VPC to be peered, set by the API

databases ActiveActiveSubscriptionRegionsRegionDatabase[]

A block defining the write and read operations in the region, per database, documented below

networkingDeploymentCidr string

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

region string

Region name

recreateRegion boolean

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

regionId number

The ID of the region, as created by the API

vpcId string

Identifier of the VPC to be peered, set by the API

databases Sequence[ActiveActiveSubscriptionRegionsRegionDatabase]

A block defining the write and read operations in the region, per database, documented below

networking_deployment_cidr str

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

region str

Region name

recreate_region bool

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

region_id int

The ID of the region, as created by the API

vpc_id str

Identifier of the VPC to be peered, set by the API

databases List<Property Map>

A block defining the write and read operations in the region, per database, documented below

networkingDeploymentCidr String

Deployment CIDR mask. The total number of bits must be 24 (x.x.x.x/24)

region String

Region name

recreateRegion Boolean

Protection flag, needs to be set if a region has to be re-created. A region will need to be re-created in the case of a change on the networking_deployment_cidr field. During re-create, the region will be deleted (so the delete_regions flag also needs to be set) and then created again. Default: 'false'

regionId Number

The ID of the region, as created by the API

vpcId String

Identifier of the VPC to be peered, set by the API

ActiveActiveSubscriptionRegionsRegionDatabase

DatabaseId int

Database ID belonging to the subscription

DatabaseName string

Database name belonging to the subscription

LocalReadOperationsPerSecond int

Local read operations per second for this active-active region

LocalWriteOperationsPerSecond int

Local write operations per second for this active-active region

DatabaseId int

Database ID belonging to the subscription

DatabaseName string

Database name belonging to the subscription

LocalReadOperationsPerSecond int

Local read operations per second for this active-active region

LocalWriteOperationsPerSecond int

Local write operations per second for this active-active region

databaseId Integer

Database ID belonging to the subscription

databaseName String

Database name belonging to the subscription

localReadOperationsPerSecond Integer

Local read operations per second for this active-active region

localWriteOperationsPerSecond Integer

Local write operations per second for this active-active region

databaseId number

Database ID belonging to the subscription

databaseName string

Database name belonging to the subscription

localReadOperationsPerSecond number

Local read operations per second for this active-active region

localWriteOperationsPerSecond number

Local write operations per second for this active-active region

database_id int

Database ID belonging to the subscription

database_name str

Database name belonging to the subscription

local_read_operations_per_second int

Local read operations per second for this active-active region

local_write_operations_per_second int

Local write operations per second for this active-active region

databaseId Number

Database ID belonging to the subscription

databaseName String

Database name belonging to the subscription

localReadOperationsPerSecond Number

Local read operations per second for this active-active region

localWriteOperationsPerSecond Number

Local write operations per second for this active-active region

Import

rediscloud_active_active_regions can be imported using the ID of the subscription, e.g.

 $ pulumi import rediscloud:index/activeActiveSubscriptionRegions:ActiveActiveSubscriptionRegions regions-resource 12345678

Package Details

Repository
rediscloud RedisLabs/pulumi-rediscloud
License
Apache-2.0
Notes

This Pulumi package is based on the rediscloud Terraform Provider.