redis

package
v0.0.0-...-c33e12d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// List of acl rules, this is cluster's authorized IPs. More details on the ACL section.
	Acls ClusterAclArrayOutput `pulumi:"acls"`
	// The PEM of the certificate used by redis, only when `tlsEnabled` is true
	Certificate pulumi.StringOutput `pulumi:"certificate"`
	// The number of nodes in the Redis Cluster.
	//
	// > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or Cluster mode
	// which is minimum 3 (1 main node + 2 secondary nodes)
	//
	// > **Important:** If you are using the Cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially
	// did, it will migrate the Redis Cluster but keep in mind that you cannot downgrade a Redis Cluster, so setting a smaller
	// `clusterSize` will destroy and recreate your Cluster.
	//
	// > **Important:** If you are using the Standalone mode (1 node), setting a bigger `clusterSize` will destroy and
	// recreate your Cluster as you will be switching to the Cluster mode.
	ClusterSize pulumi.IntOutput `pulumi:"clusterSize"`
	// The date and time of creation of the Redis Cluster.
	CreatedAt pulumi.StringOutput `pulumi:"createdAt"`
	// The name of the Redis Cluster.
	Name pulumi.StringOutput `pulumi:"name"`
	// The type of Redis Cluster you want to create (e.g. `RED1-M`).
	//
	// > **Important:** Updates to `nodeType` will migrate the Redis Cluster to the desired `nodeType`. Keep in mind that
	// you cannot downgrade a Redis Cluster.
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// Password for the first user of the Redis Cluster.
	Password pulumi.StringOutput `pulumi:"password"`
	// Describes the private network you want to connect to your cluster. If not set, a public
	// network will be provided. More details on the Private Network section
	PrivateNetworks ClusterPrivateNetworkArrayOutput `pulumi:"privateNetworks"`
	// `projectId`) The ID of the project the Redis Cluster is
	// associated with.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// (Optional) Public network details. Only one of `privateNetwork` and `publicNetwork` may be set.
	// > The `publicNetwork` block exports:
	PublicNetwork ClusterPublicNetworkOutput `pulumi:"publicNetwork"`
	// Map of settings for redis cluster. Available settings can be found by listing redis versions
	// with scaleway API or CLI
	Settings pulumi.StringMapOutput `pulumi:"settings"`
	// The tags associated with the Redis Cluster.
	Tags pulumi.StringArrayOutput `pulumi:"tags"`
	// Whether TLS is enabled or not.
	//
	// > The changes on `tlsEnabled` will force the resource creation.
	TlsEnabled pulumi.BoolPtrOutput `pulumi:"tlsEnabled"`
	// The date and time of the last update of the Redis Cluster.
	UpdatedAt pulumi.StringOutput `pulumi:"updatedAt"`
	// Identifier for the first user of the Redis Cluster.
	UserName pulumi.StringOutput `pulumi:"userName"`
	// Redis's Cluster version (e.g. `6.2.6`).
	//
	// > **Important:** Updates to `version` will migrate the Redis Cluster to the desired `version`. Keep in mind that you
	// cannot downgrade a Redis Cluster.
	Version pulumi.StringOutput `pulumi:"version"`
	// `zone`) The zone in which the
	// Redis Cluster should be created.
	Zone pulumi.StringOutput `pulumi:"zone"`
}

Creates and manages Scaleway Redis Clusters. For more information, see [the documentation](https://developers.scaleway.com/en/products/redis/api/v1alpha1/).

## Example Usage

### Basic

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/redis"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redis.NewCluster(ctx, "main", &redis.ClusterArgs{
			Acls: redis.ClusterAclArray{
				&redis.ClusterAclArgs{
					Description: pulumi.String("Allow all"),
					Ip:          pulumi.String("0.0.0.0/0"),
				},
			},
			ClusterSize: pulumi.Int(1),
			NodeType:    pulumi.String("RED1-MICRO"),
			Password:    pulumi.String("thiZ_is_v&ry_s3cret"),
			Tags: pulumi.StringArray{
				pulumi.String("test"),
				pulumi.String("redis"),
			},
			TlsEnabled: pulumi.Bool(true),
			UserName:   pulumi.String("my_initial_user"),
			Version:    pulumi.String("6.2.6"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With settings

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/redis"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redis.NewCluster(ctx, "main", &redis.ClusterArgs{
			NodeType: pulumi.String("RED1-MICRO"),
			Password: pulumi.String("thiZ_is_v&ry_s3cret"),
			Settings: pulumi.StringMap{
				"maxclients":    pulumi.String("1000"),
				"tcp-keepalive": pulumi.String("120"),
			},
			UserName: pulumi.String("my_initial_user"),
			Version:  pulumi.String("6.2.6"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### With a private network

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/redis"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/vpc"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		pn, err := vpc.NewPrivateNetwork(ctx, "pn", nil)
		if err != nil {
			return err
		}
		_, err = redis.NewCluster(ctx, "main", &redis.ClusterArgs{
			Version:     pulumi.String("6.2.6"),
			NodeType:    pulumi.String("RED1-MICRO"),
			UserName:    pulumi.String("my_initial_user"),
			Password:    pulumi.String("thiZ_is_v&ry_s3cret"),
			ClusterSize: pulumi.Int(1),
			PrivateNetworks: redis.ClusterPrivateNetworkArray{
				&redis.ClusterPrivateNetworkArgs{
					Id: pn.ID(),
					ServiceIps: pulumi.StringArray{
						pulumi.String("10.12.1.1/20"),
					},
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			pn,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Redis Cluster can be imported using the `{zone}/{id}`, e.g.

bash

```sh $ pulumi import scaleway:redis/cluster:Cluster main fr-par-1/11111111-1111-1111-1111-111111111111 ```

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterAcl

type ClusterAcl struct {
	// A text describing this rule. Default description: `Allow IP`
	//
	// > The `acl` conflict with `privateNetwork`. Only one should be specified.
	Description *string `pulumi:"description"`
	// The UUID of the Private Network resource.
	Id *string `pulumi:"id"`
	// The ip range to whitelist
	// in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
	Ip string `pulumi:"ip"`
}

type ClusterAclArgs

type ClusterAclArgs struct {
	// A text describing this rule. Default description: `Allow IP`
	//
	// > The `acl` conflict with `privateNetwork`. Only one should be specified.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// The UUID of the Private Network resource.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// The ip range to whitelist
	// in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)
	Ip pulumi.StringInput `pulumi:"ip"`
}

func (ClusterAclArgs) ElementType

func (ClusterAclArgs) ElementType() reflect.Type

func (ClusterAclArgs) ToClusterAclOutput

func (i ClusterAclArgs) ToClusterAclOutput() ClusterAclOutput

func (ClusterAclArgs) ToClusterAclOutputWithContext

func (i ClusterAclArgs) ToClusterAclOutputWithContext(ctx context.Context) ClusterAclOutput

type ClusterAclArray

type ClusterAclArray []ClusterAclInput

func (ClusterAclArray) ElementType

func (ClusterAclArray) ElementType() reflect.Type

func (ClusterAclArray) ToClusterAclArrayOutput

func (i ClusterAclArray) ToClusterAclArrayOutput() ClusterAclArrayOutput

func (ClusterAclArray) ToClusterAclArrayOutputWithContext

func (i ClusterAclArray) ToClusterAclArrayOutputWithContext(ctx context.Context) ClusterAclArrayOutput

type ClusterAclArrayInput

type ClusterAclArrayInput interface {
	pulumi.Input

	ToClusterAclArrayOutput() ClusterAclArrayOutput
	ToClusterAclArrayOutputWithContext(context.Context) ClusterAclArrayOutput
}

ClusterAclArrayInput is an input type that accepts ClusterAclArray and ClusterAclArrayOutput values. You can construct a concrete instance of `ClusterAclArrayInput` via:

ClusterAclArray{ ClusterAclArgs{...} }

type ClusterAclArrayOutput

type ClusterAclArrayOutput struct{ *pulumi.OutputState }

func (ClusterAclArrayOutput) ElementType

func (ClusterAclArrayOutput) ElementType() reflect.Type

func (ClusterAclArrayOutput) Index

func (ClusterAclArrayOutput) ToClusterAclArrayOutput

func (o ClusterAclArrayOutput) ToClusterAclArrayOutput() ClusterAclArrayOutput

func (ClusterAclArrayOutput) ToClusterAclArrayOutputWithContext

func (o ClusterAclArrayOutput) ToClusterAclArrayOutputWithContext(ctx context.Context) ClusterAclArrayOutput

type ClusterAclInput

type ClusterAclInput interface {
	pulumi.Input

	ToClusterAclOutput() ClusterAclOutput
	ToClusterAclOutputWithContext(context.Context) ClusterAclOutput
}

ClusterAclInput is an input type that accepts ClusterAclArgs and ClusterAclOutput values. You can construct a concrete instance of `ClusterAclInput` via:

ClusterAclArgs{...}

type ClusterAclOutput

type ClusterAclOutput struct{ *pulumi.OutputState }

func (ClusterAclOutput) Description

func (o ClusterAclOutput) Description() pulumi.StringPtrOutput

A text describing this rule. Default description: `Allow IP`

> The `acl` conflict with `privateNetwork`. Only one should be specified.

func (ClusterAclOutput) ElementType

func (ClusterAclOutput) ElementType() reflect.Type

func (ClusterAclOutput) Id

The UUID of the Private Network resource.

func (ClusterAclOutput) Ip

The ip range to whitelist in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation)

func (ClusterAclOutput) ToClusterAclOutput

func (o ClusterAclOutput) ToClusterAclOutput() ClusterAclOutput

func (ClusterAclOutput) ToClusterAclOutputWithContext

func (o ClusterAclOutput) ToClusterAclOutputWithContext(ctx context.Context) ClusterAclOutput

type ClusterArgs

type ClusterArgs struct {
	// List of acl rules, this is cluster's authorized IPs. More details on the ACL section.
	Acls ClusterAclArrayInput
	// The number of nodes in the Redis Cluster.
	//
	// > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or Cluster mode
	// which is minimum 3 (1 main node + 2 secondary nodes)
	//
	// > **Important:** If you are using the Cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially
	// did, it will migrate the Redis Cluster but keep in mind that you cannot downgrade a Redis Cluster, so setting a smaller
	// `clusterSize` will destroy and recreate your Cluster.
	//
	// > **Important:** If you are using the Standalone mode (1 node), setting a bigger `clusterSize` will destroy and
	// recreate your Cluster as you will be switching to the Cluster mode.
	ClusterSize pulumi.IntPtrInput
	// The name of the Redis Cluster.
	Name pulumi.StringPtrInput
	// The type of Redis Cluster you want to create (e.g. `RED1-M`).
	//
	// > **Important:** Updates to `nodeType` will migrate the Redis Cluster to the desired `nodeType`. Keep in mind that
	// you cannot downgrade a Redis Cluster.
	NodeType pulumi.StringInput
	// Password for the first user of the Redis Cluster.
	Password pulumi.StringInput
	// Describes the private network you want to connect to your cluster. If not set, a public
	// network will be provided. More details on the Private Network section
	PrivateNetworks ClusterPrivateNetworkArrayInput
	// `projectId`) The ID of the project the Redis Cluster is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// (Optional) Public network details. Only one of `privateNetwork` and `publicNetwork` may be set.
	// > The `publicNetwork` block exports:
	PublicNetwork ClusterPublicNetworkPtrInput
	// Map of settings for redis cluster. Available settings can be found by listing redis versions
	// with scaleway API or CLI
	Settings pulumi.StringMapInput
	// The tags associated with the Redis Cluster.
	Tags pulumi.StringArrayInput
	// Whether TLS is enabled or not.
	//
	// > The changes on `tlsEnabled` will force the resource creation.
	TlsEnabled pulumi.BoolPtrInput
	// Identifier for the first user of the Redis Cluster.
	UserName pulumi.StringInput
	// Redis's Cluster version (e.g. `6.2.6`).
	//
	// > **Important:** Updates to `version` will migrate the Redis Cluster to the desired `version`. Keep in mind that you
	// cannot downgrade a Redis Cluster.
	Version pulumi.StringInput
	// `zone`) The zone in which the
	// Redis Cluster should be created.
	Zone pulumi.StringPtrInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) Acls

List of acl rules, this is cluster's authorized IPs. More details on the ACL section.

func (ClusterOutput) Certificate

func (o ClusterOutput) Certificate() pulumi.StringOutput

The PEM of the certificate used by redis, only when `tlsEnabled` is true

func (ClusterOutput) ClusterSize

func (o ClusterOutput) ClusterSize() pulumi.IntOutput

The number of nodes in the Redis Cluster.

> **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or Cluster mode which is minimum 3 (1 main node + 2 secondary nodes)

> **Important:** If you are using the Cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially did, it will migrate the Redis Cluster but keep in mind that you cannot downgrade a Redis Cluster, so setting a smaller `clusterSize` will destroy and recreate your Cluster.

> **Important:** If you are using the Standalone mode (1 node), setting a bigger `clusterSize` will destroy and recreate your Cluster as you will be switching to the Cluster mode.

func (ClusterOutput) CreatedAt

func (o ClusterOutput) CreatedAt() pulumi.StringOutput

The date and time of creation of the Redis Cluster.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Name

The name of the Redis Cluster.

func (ClusterOutput) NodeType

func (o ClusterOutput) NodeType() pulumi.StringOutput

The type of Redis Cluster you want to create (e.g. `RED1-M`).

> **Important:** Updates to `nodeType` will migrate the Redis Cluster to the desired `nodeType`. Keep in mind that you cannot downgrade a Redis Cluster.

func (ClusterOutput) Password

func (o ClusterOutput) Password() pulumi.StringOutput

Password for the first user of the Redis Cluster.

func (ClusterOutput) PrivateNetworks

func (o ClusterOutput) PrivateNetworks() ClusterPrivateNetworkArrayOutput

Describes the private network you want to connect to your cluster. If not set, a public network will be provided. More details on the Private Network section

func (ClusterOutput) ProjectId

func (o ClusterOutput) ProjectId() pulumi.StringOutput

`projectId`) The ID of the project the Redis Cluster is associated with.

func (ClusterOutput) PublicNetwork

func (o ClusterOutput) PublicNetwork() ClusterPublicNetworkOutput

(Optional) Public network details. Only one of `privateNetwork` and `publicNetwork` may be set. > The `publicNetwork` block exports:

func (ClusterOutput) Settings

func (o ClusterOutput) Settings() pulumi.StringMapOutput

Map of settings for redis cluster. Available settings can be found by listing redis versions with scaleway API or CLI

func (ClusterOutput) Tags

The tags associated with the Redis Cluster.

func (ClusterOutput) TlsEnabled

func (o ClusterOutput) TlsEnabled() pulumi.BoolPtrOutput

Whether TLS is enabled or not.

> The changes on `tlsEnabled` will force the resource creation.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

func (ClusterOutput) UpdatedAt

func (o ClusterOutput) UpdatedAt() pulumi.StringOutput

The date and time of the last update of the Redis Cluster.

func (ClusterOutput) UserName

func (o ClusterOutput) UserName() pulumi.StringOutput

Identifier for the first user of the Redis Cluster.

func (ClusterOutput) Version

func (o ClusterOutput) Version() pulumi.StringOutput

Redis's Cluster version (e.g. `6.2.6`).

> **Important:** Updates to `version` will migrate the Redis Cluster to the desired `version`. Keep in mind that you cannot downgrade a Redis Cluster.

func (ClusterOutput) Zone

`zone`) The zone in which the Redis Cluster should be created.

type ClusterPrivateNetwork

type ClusterPrivateNetwork struct {
	// The ID of the endpoint.
	EndpointId *string `pulumi:"endpointId"`
	// The UUID of the Private Network resource.
	Id string `pulumi:"id"`
	// Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node.
	// Keep in mind that in Cluster mode you cannot edit your Private Network after its creation so if you want to be able to
	// scale your Cluster horizontally (adding nodes) later, you should provide more IPs than nodes.
	// If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.
	//
	// > The `privateNetwork` conflicts with `acl`. Only one should be specified.
	//
	// > **Important:** The way to use private networks differs whether you are using Redis in Standalone or Cluster mode.
	//
	// - Standalone mode (`clusterSize` = 1) : you can attach as many Private Networks as you want (each must be a separate
	// block). If you detach your only private network, your cluster won't be reachable until you define a new Private or
	// Public Network. You can modify your `privateNetwork` and its specs, you can have both a Private and Public Network side
	// by side.
	//
	// - Cluster mode (`clusterSize` > 2) : you can define a single Private Network as you create your Cluster, you won't be
	// able to edit or detach it afterward, unless you create another Cluster. This also means that, if you are using a static
	// configuration (`serviceIps`), you won't be able to scale your Cluster horizontally (add more nodes) since it would
	// require updating the private network to add IPs.
	// Your `serviceIps` must be listed as follows:
	//
	// <!--Start PulumiCodeChooser -->
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	// <!--End PulumiCodeChooser -->
	ServiceIps []string `pulumi:"serviceIps"`
	// `zone`) The zone in which the
	// Redis Cluster should be created.
	Zone *string `pulumi:"zone"`
}

type ClusterPrivateNetworkArgs

type ClusterPrivateNetworkArgs struct {
	// The ID of the endpoint.
	EndpointId pulumi.StringPtrInput `pulumi:"endpointId"`
	// The UUID of the Private Network resource.
	Id pulumi.StringInput `pulumi:"id"`
	// Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node.
	// Keep in mind that in Cluster mode you cannot edit your Private Network after its creation so if you want to be able to
	// scale your Cluster horizontally (adding nodes) later, you should provide more IPs than nodes.
	// If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.
	//
	// > The `privateNetwork` conflicts with `acl`. Only one should be specified.
	//
	// > **Important:** The way to use private networks differs whether you are using Redis in Standalone or Cluster mode.
	//
	// - Standalone mode (`clusterSize` = 1) : you can attach as many Private Networks as you want (each must be a separate
	// block). If you detach your only private network, your cluster won't be reachable until you define a new Private or
	// Public Network. You can modify your `privateNetwork` and its specs, you can have both a Private and Public Network side
	// by side.
	//
	// - Cluster mode (`clusterSize` > 2) : you can define a single Private Network as you create your Cluster, you won't be
	// able to edit or detach it afterward, unless you create another Cluster. This also means that, if you are using a static
	// configuration (`serviceIps`), you won't be able to scale your Cluster horizontally (add more nodes) since it would
	// require updating the private network to add IPs.
	// Your `serviceIps` must be listed as follows:
	//
	// <!--Start PulumiCodeChooser -->
	// “`go
	// package main
	//
	// import (
	// 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	// )
	//
	// func main() {
	// 	pulumi.Run(func(ctx *pulumi.Context) error {
	// 		return nil
	// 	})
	// }
	// “`
	// <!--End PulumiCodeChooser -->
	ServiceIps pulumi.StringArrayInput `pulumi:"serviceIps"`
	// `zone`) The zone in which the
	// Redis Cluster should be created.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

func (ClusterPrivateNetworkArgs) ElementType

func (ClusterPrivateNetworkArgs) ElementType() reflect.Type

func (ClusterPrivateNetworkArgs) ToClusterPrivateNetworkOutput

func (i ClusterPrivateNetworkArgs) ToClusterPrivateNetworkOutput() ClusterPrivateNetworkOutput

func (ClusterPrivateNetworkArgs) ToClusterPrivateNetworkOutputWithContext

func (i ClusterPrivateNetworkArgs) ToClusterPrivateNetworkOutputWithContext(ctx context.Context) ClusterPrivateNetworkOutput

type ClusterPrivateNetworkArray

type ClusterPrivateNetworkArray []ClusterPrivateNetworkInput

func (ClusterPrivateNetworkArray) ElementType

func (ClusterPrivateNetworkArray) ElementType() reflect.Type

func (ClusterPrivateNetworkArray) ToClusterPrivateNetworkArrayOutput

func (i ClusterPrivateNetworkArray) ToClusterPrivateNetworkArrayOutput() ClusterPrivateNetworkArrayOutput

func (ClusterPrivateNetworkArray) ToClusterPrivateNetworkArrayOutputWithContext

func (i ClusterPrivateNetworkArray) ToClusterPrivateNetworkArrayOutputWithContext(ctx context.Context) ClusterPrivateNetworkArrayOutput

type ClusterPrivateNetworkArrayInput

type ClusterPrivateNetworkArrayInput interface {
	pulumi.Input

	ToClusterPrivateNetworkArrayOutput() ClusterPrivateNetworkArrayOutput
	ToClusterPrivateNetworkArrayOutputWithContext(context.Context) ClusterPrivateNetworkArrayOutput
}

ClusterPrivateNetworkArrayInput is an input type that accepts ClusterPrivateNetworkArray and ClusterPrivateNetworkArrayOutput values. You can construct a concrete instance of `ClusterPrivateNetworkArrayInput` via:

ClusterPrivateNetworkArray{ ClusterPrivateNetworkArgs{...} }

type ClusterPrivateNetworkArrayOutput

type ClusterPrivateNetworkArrayOutput struct{ *pulumi.OutputState }

func (ClusterPrivateNetworkArrayOutput) ElementType

func (ClusterPrivateNetworkArrayOutput) Index

func (ClusterPrivateNetworkArrayOutput) ToClusterPrivateNetworkArrayOutput

func (o ClusterPrivateNetworkArrayOutput) ToClusterPrivateNetworkArrayOutput() ClusterPrivateNetworkArrayOutput

func (ClusterPrivateNetworkArrayOutput) ToClusterPrivateNetworkArrayOutputWithContext

func (o ClusterPrivateNetworkArrayOutput) ToClusterPrivateNetworkArrayOutputWithContext(ctx context.Context) ClusterPrivateNetworkArrayOutput

type ClusterPrivateNetworkInput

type ClusterPrivateNetworkInput interface {
	pulumi.Input

	ToClusterPrivateNetworkOutput() ClusterPrivateNetworkOutput
	ToClusterPrivateNetworkOutputWithContext(context.Context) ClusterPrivateNetworkOutput
}

ClusterPrivateNetworkInput is an input type that accepts ClusterPrivateNetworkArgs and ClusterPrivateNetworkOutput values. You can construct a concrete instance of `ClusterPrivateNetworkInput` via:

ClusterPrivateNetworkArgs{...}

type ClusterPrivateNetworkOutput

type ClusterPrivateNetworkOutput struct{ *pulumi.OutputState }

func (ClusterPrivateNetworkOutput) ElementType

func (ClusterPrivateNetworkOutput) EndpointId

The ID of the endpoint.

func (ClusterPrivateNetworkOutput) Id

The UUID of the Private Network resource.

func (ClusterPrivateNetworkOutput) ServiceIps

Endpoint IPv4 addresses in [CIDR notation](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing#CIDR_notation). You must provide at least one IP per node. Keep in mind that in Cluster mode you cannot edit your Private Network after its creation so if you want to be able to scale your Cluster horizontally (adding nodes) later, you should provide more IPs than nodes. If not set, the IP network address within the private subnet is determined by the IP Address Management (IPAM) service.

> The `privateNetwork` conflicts with `acl`. Only one should be specified.

> **Important:** The way to use private networks differs whether you are using Redis in Standalone or Cluster mode.

- Standalone mode (`clusterSize` = 1) : you can attach as many Private Networks as you want (each must be a separate block). If you detach your only private network, your cluster won't be reachable until you define a new Private or Public Network. You can modify your `privateNetwork` and its specs, you can have both a Private and Public Network side by side.

- Cluster mode (`clusterSize` > 2) : you can define a single Private Network as you create your Cluster, you won't be able to edit or detach it afterward, unless you create another Cluster. This also means that, if you are using a static configuration (`serviceIps`), you won't be able to scale your Cluster horizontally (add more nodes) since it would require updating the private network to add IPs. Your `serviceIps` must be listed as follows:

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func (ClusterPrivateNetworkOutput) ToClusterPrivateNetworkOutput

func (o ClusterPrivateNetworkOutput) ToClusterPrivateNetworkOutput() ClusterPrivateNetworkOutput

func (ClusterPrivateNetworkOutput) ToClusterPrivateNetworkOutputWithContext

func (o ClusterPrivateNetworkOutput) ToClusterPrivateNetworkOutputWithContext(ctx context.Context) ClusterPrivateNetworkOutput

func (ClusterPrivateNetworkOutput) Zone

`zone`) The zone in which the Redis Cluster should be created.

type ClusterPublicNetwork

type ClusterPublicNetwork struct {
	// The UUID of the Private Network resource.
	Id *string `pulumi:"id"`
	// Lis of IPv4 address of the endpoint (IP address).
	Ips []string `pulumi:"ips"`
	// TCP port of the endpoint.
	Port *int `pulumi:"port"`
}

type ClusterPublicNetworkArgs

type ClusterPublicNetworkArgs struct {
	// The UUID of the Private Network resource.
	Id pulumi.StringPtrInput `pulumi:"id"`
	// Lis of IPv4 address of the endpoint (IP address).
	Ips pulumi.StringArrayInput `pulumi:"ips"`
	// TCP port of the endpoint.
	Port pulumi.IntPtrInput `pulumi:"port"`
}

func (ClusterPublicNetworkArgs) ElementType

func (ClusterPublicNetworkArgs) ElementType() reflect.Type

func (ClusterPublicNetworkArgs) ToClusterPublicNetworkOutput

func (i ClusterPublicNetworkArgs) ToClusterPublicNetworkOutput() ClusterPublicNetworkOutput

func (ClusterPublicNetworkArgs) ToClusterPublicNetworkOutputWithContext

func (i ClusterPublicNetworkArgs) ToClusterPublicNetworkOutputWithContext(ctx context.Context) ClusterPublicNetworkOutput

func (ClusterPublicNetworkArgs) ToClusterPublicNetworkPtrOutput

func (i ClusterPublicNetworkArgs) ToClusterPublicNetworkPtrOutput() ClusterPublicNetworkPtrOutput

func (ClusterPublicNetworkArgs) ToClusterPublicNetworkPtrOutputWithContext

func (i ClusterPublicNetworkArgs) ToClusterPublicNetworkPtrOutputWithContext(ctx context.Context) ClusterPublicNetworkPtrOutput

type ClusterPublicNetworkInput

type ClusterPublicNetworkInput interface {
	pulumi.Input

	ToClusterPublicNetworkOutput() ClusterPublicNetworkOutput
	ToClusterPublicNetworkOutputWithContext(context.Context) ClusterPublicNetworkOutput
}

ClusterPublicNetworkInput is an input type that accepts ClusterPublicNetworkArgs and ClusterPublicNetworkOutput values. You can construct a concrete instance of `ClusterPublicNetworkInput` via:

ClusterPublicNetworkArgs{...}

type ClusterPublicNetworkOutput

type ClusterPublicNetworkOutput struct{ *pulumi.OutputState }

func (ClusterPublicNetworkOutput) ElementType

func (ClusterPublicNetworkOutput) ElementType() reflect.Type

func (ClusterPublicNetworkOutput) Id

The UUID of the Private Network resource.

func (ClusterPublicNetworkOutput) Ips

Lis of IPv4 address of the endpoint (IP address).

func (ClusterPublicNetworkOutput) Port

TCP port of the endpoint.

func (ClusterPublicNetworkOutput) ToClusterPublicNetworkOutput

func (o ClusterPublicNetworkOutput) ToClusterPublicNetworkOutput() ClusterPublicNetworkOutput

func (ClusterPublicNetworkOutput) ToClusterPublicNetworkOutputWithContext

func (o ClusterPublicNetworkOutput) ToClusterPublicNetworkOutputWithContext(ctx context.Context) ClusterPublicNetworkOutput

func (ClusterPublicNetworkOutput) ToClusterPublicNetworkPtrOutput

func (o ClusterPublicNetworkOutput) ToClusterPublicNetworkPtrOutput() ClusterPublicNetworkPtrOutput

func (ClusterPublicNetworkOutput) ToClusterPublicNetworkPtrOutputWithContext

func (o ClusterPublicNetworkOutput) ToClusterPublicNetworkPtrOutputWithContext(ctx context.Context) ClusterPublicNetworkPtrOutput

type ClusterPublicNetworkPtrInput

type ClusterPublicNetworkPtrInput interface {
	pulumi.Input

	ToClusterPublicNetworkPtrOutput() ClusterPublicNetworkPtrOutput
	ToClusterPublicNetworkPtrOutputWithContext(context.Context) ClusterPublicNetworkPtrOutput
}

ClusterPublicNetworkPtrInput is an input type that accepts ClusterPublicNetworkArgs, ClusterPublicNetworkPtr and ClusterPublicNetworkPtrOutput values. You can construct a concrete instance of `ClusterPublicNetworkPtrInput` via:

        ClusterPublicNetworkArgs{...}

or:

        nil

type ClusterPublicNetworkPtrOutput

type ClusterPublicNetworkPtrOutput struct{ *pulumi.OutputState }

func (ClusterPublicNetworkPtrOutput) Elem

func (ClusterPublicNetworkPtrOutput) ElementType

func (ClusterPublicNetworkPtrOutput) Id

The UUID of the Private Network resource.

func (ClusterPublicNetworkPtrOutput) Ips

Lis of IPv4 address of the endpoint (IP address).

func (ClusterPublicNetworkPtrOutput) Port

TCP port of the endpoint.

func (ClusterPublicNetworkPtrOutput) ToClusterPublicNetworkPtrOutput

func (o ClusterPublicNetworkPtrOutput) ToClusterPublicNetworkPtrOutput() ClusterPublicNetworkPtrOutput

func (ClusterPublicNetworkPtrOutput) ToClusterPublicNetworkPtrOutputWithContext

func (o ClusterPublicNetworkPtrOutput) ToClusterPublicNetworkPtrOutputWithContext(ctx context.Context) ClusterPublicNetworkPtrOutput

type ClusterState

type ClusterState struct {
	// List of acl rules, this is cluster's authorized IPs. More details on the ACL section.
	Acls ClusterAclArrayInput
	// The PEM of the certificate used by redis, only when `tlsEnabled` is true
	Certificate pulumi.StringPtrInput
	// The number of nodes in the Redis Cluster.
	//
	// > **Important:** You cannot set `clusterSize` to 2, you either have to choose Standalone mode (1 node) or Cluster mode
	// which is minimum 3 (1 main node + 2 secondary nodes)
	//
	// > **Important:** If you are using the Cluster mode (>=3 nodes), you can set a bigger `clusterSize` than you initially
	// did, it will migrate the Redis Cluster but keep in mind that you cannot downgrade a Redis Cluster, so setting a smaller
	// `clusterSize` will destroy and recreate your Cluster.
	//
	// > **Important:** If you are using the Standalone mode (1 node), setting a bigger `clusterSize` will destroy and
	// recreate your Cluster as you will be switching to the Cluster mode.
	ClusterSize pulumi.IntPtrInput
	// The date and time of creation of the Redis Cluster.
	CreatedAt pulumi.StringPtrInput
	// The name of the Redis Cluster.
	Name pulumi.StringPtrInput
	// The type of Redis Cluster you want to create (e.g. `RED1-M`).
	//
	// > **Important:** Updates to `nodeType` will migrate the Redis Cluster to the desired `nodeType`. Keep in mind that
	// you cannot downgrade a Redis Cluster.
	NodeType pulumi.StringPtrInput
	// Password for the first user of the Redis Cluster.
	Password pulumi.StringPtrInput
	// Describes the private network you want to connect to your cluster. If not set, a public
	// network will be provided. More details on the Private Network section
	PrivateNetworks ClusterPrivateNetworkArrayInput
	// `projectId`) The ID of the project the Redis Cluster is
	// associated with.
	ProjectId pulumi.StringPtrInput
	// (Optional) Public network details. Only one of `privateNetwork` and `publicNetwork` may be set.
	// > The `publicNetwork` block exports:
	PublicNetwork ClusterPublicNetworkPtrInput
	// Map of settings for redis cluster. Available settings can be found by listing redis versions
	// with scaleway API or CLI
	Settings pulumi.StringMapInput
	// The tags associated with the Redis Cluster.
	Tags pulumi.StringArrayInput
	// Whether TLS is enabled or not.
	//
	// > The changes on `tlsEnabled` will force the resource creation.
	TlsEnabled pulumi.BoolPtrInput
	// The date and time of the last update of the Redis Cluster.
	UpdatedAt pulumi.StringPtrInput
	// Identifier for the first user of the Redis Cluster.
	UserName pulumi.StringPtrInput
	// Redis's Cluster version (e.g. `6.2.6`).
	//
	// > **Important:** Updates to `version` will migrate the Redis Cluster to the desired `version`. Keep in mind that you
	// cannot downgrade a Redis Cluster.
	Version pulumi.StringPtrInput
	// `zone`) The zone in which the
	// Redis Cluster should be created.
	Zone pulumi.StringPtrInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type GetClusterAcl

type GetClusterAcl struct {
	// Description of the rule.
	Description string `pulumi:"description"`
	// The ID of the Redis cluster.
	Id string `pulumi:"id"`
	// IPv4 network address of the rule (IP network in a CIDR format).
	Ip string `pulumi:"ip"`
}

type GetClusterAclArgs

type GetClusterAclArgs struct {
	// Description of the rule.
	Description pulumi.StringInput `pulumi:"description"`
	// The ID of the Redis cluster.
	Id pulumi.StringInput `pulumi:"id"`
	// IPv4 network address of the rule (IP network in a CIDR format).
	Ip pulumi.StringInput `pulumi:"ip"`
}

func (GetClusterAclArgs) ElementType

func (GetClusterAclArgs) ElementType() reflect.Type

func (GetClusterAclArgs) ToGetClusterAclOutput

func (i GetClusterAclArgs) ToGetClusterAclOutput() GetClusterAclOutput

func (GetClusterAclArgs) ToGetClusterAclOutputWithContext

func (i GetClusterAclArgs) ToGetClusterAclOutputWithContext(ctx context.Context) GetClusterAclOutput

type GetClusterAclArray

type GetClusterAclArray []GetClusterAclInput

func (GetClusterAclArray) ElementType

func (GetClusterAclArray) ElementType() reflect.Type

func (GetClusterAclArray) ToGetClusterAclArrayOutput

func (i GetClusterAclArray) ToGetClusterAclArrayOutput() GetClusterAclArrayOutput

func (GetClusterAclArray) ToGetClusterAclArrayOutputWithContext

func (i GetClusterAclArray) ToGetClusterAclArrayOutputWithContext(ctx context.Context) GetClusterAclArrayOutput

type GetClusterAclArrayInput

type GetClusterAclArrayInput interface {
	pulumi.Input

	ToGetClusterAclArrayOutput() GetClusterAclArrayOutput
	ToGetClusterAclArrayOutputWithContext(context.Context) GetClusterAclArrayOutput
}

GetClusterAclArrayInput is an input type that accepts GetClusterAclArray and GetClusterAclArrayOutput values. You can construct a concrete instance of `GetClusterAclArrayInput` via:

GetClusterAclArray{ GetClusterAclArgs{...} }

type GetClusterAclArrayOutput

type GetClusterAclArrayOutput struct{ *pulumi.OutputState }

func (GetClusterAclArrayOutput) ElementType

func (GetClusterAclArrayOutput) ElementType() reflect.Type

func (GetClusterAclArrayOutput) Index

func (GetClusterAclArrayOutput) ToGetClusterAclArrayOutput

func (o GetClusterAclArrayOutput) ToGetClusterAclArrayOutput() GetClusterAclArrayOutput

func (GetClusterAclArrayOutput) ToGetClusterAclArrayOutputWithContext

func (o GetClusterAclArrayOutput) ToGetClusterAclArrayOutputWithContext(ctx context.Context) GetClusterAclArrayOutput

type GetClusterAclInput

type GetClusterAclInput interface {
	pulumi.Input

	ToGetClusterAclOutput() GetClusterAclOutput
	ToGetClusterAclOutputWithContext(context.Context) GetClusterAclOutput
}

GetClusterAclInput is an input type that accepts GetClusterAclArgs and GetClusterAclOutput values. You can construct a concrete instance of `GetClusterAclInput` via:

GetClusterAclArgs{...}

type GetClusterAclOutput

type GetClusterAclOutput struct{ *pulumi.OutputState }

func (GetClusterAclOutput) Description

func (o GetClusterAclOutput) Description() pulumi.StringOutput

Description of the rule.

func (GetClusterAclOutput) ElementType

func (GetClusterAclOutput) ElementType() reflect.Type

func (GetClusterAclOutput) Id

The ID of the Redis cluster.

func (GetClusterAclOutput) Ip

IPv4 network address of the rule (IP network in a CIDR format).

func (GetClusterAclOutput) ToGetClusterAclOutput

func (o GetClusterAclOutput) ToGetClusterAclOutput() GetClusterAclOutput

func (GetClusterAclOutput) ToGetClusterAclOutputWithContext

func (o GetClusterAclOutput) ToGetClusterAclOutputWithContext(ctx context.Context) GetClusterAclOutput

type GetClusterPrivateNetwork

type GetClusterPrivateNetwork struct {
	// UUID of the endpoint to be connected to the cluster
	EndpointId string `pulumi:"endpointId"`
	// The ID of the Redis cluster.
	Id string `pulumi:"id"`
	// List of IPv4 addresses of the private network with a CIDR notation
	ServiceIps []string `pulumi:"serviceIps"`
	// `region`) The zone in which the server exists.
	Zone string `pulumi:"zone"`
}

type GetClusterPrivateNetworkArgs

type GetClusterPrivateNetworkArgs struct {
	// UUID of the endpoint to be connected to the cluster
	EndpointId pulumi.StringInput `pulumi:"endpointId"`
	// The ID of the Redis cluster.
	Id pulumi.StringInput `pulumi:"id"`
	// List of IPv4 addresses of the private network with a CIDR notation
	ServiceIps pulumi.StringArrayInput `pulumi:"serviceIps"`
	// `region`) The zone in which the server exists.
	Zone pulumi.StringInput `pulumi:"zone"`
}

func (GetClusterPrivateNetworkArgs) ElementType

func (GetClusterPrivateNetworkArgs) ToGetClusterPrivateNetworkOutput

func (i GetClusterPrivateNetworkArgs) ToGetClusterPrivateNetworkOutput() GetClusterPrivateNetworkOutput

func (GetClusterPrivateNetworkArgs) ToGetClusterPrivateNetworkOutputWithContext

func (i GetClusterPrivateNetworkArgs) ToGetClusterPrivateNetworkOutputWithContext(ctx context.Context) GetClusterPrivateNetworkOutput

type GetClusterPrivateNetworkArray

type GetClusterPrivateNetworkArray []GetClusterPrivateNetworkInput

func (GetClusterPrivateNetworkArray) ElementType

func (GetClusterPrivateNetworkArray) ToGetClusterPrivateNetworkArrayOutput

func (i GetClusterPrivateNetworkArray) ToGetClusterPrivateNetworkArrayOutput() GetClusterPrivateNetworkArrayOutput

func (GetClusterPrivateNetworkArray) ToGetClusterPrivateNetworkArrayOutputWithContext

func (i GetClusterPrivateNetworkArray) ToGetClusterPrivateNetworkArrayOutputWithContext(ctx context.Context) GetClusterPrivateNetworkArrayOutput

type GetClusterPrivateNetworkArrayInput

type GetClusterPrivateNetworkArrayInput interface {
	pulumi.Input

	ToGetClusterPrivateNetworkArrayOutput() GetClusterPrivateNetworkArrayOutput
	ToGetClusterPrivateNetworkArrayOutputWithContext(context.Context) GetClusterPrivateNetworkArrayOutput
}

GetClusterPrivateNetworkArrayInput is an input type that accepts GetClusterPrivateNetworkArray and GetClusterPrivateNetworkArrayOutput values. You can construct a concrete instance of `GetClusterPrivateNetworkArrayInput` via:

GetClusterPrivateNetworkArray{ GetClusterPrivateNetworkArgs{...} }

type GetClusterPrivateNetworkArrayOutput

type GetClusterPrivateNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetClusterPrivateNetworkArrayOutput) ElementType

func (GetClusterPrivateNetworkArrayOutput) Index

func (GetClusterPrivateNetworkArrayOutput) ToGetClusterPrivateNetworkArrayOutput

func (o GetClusterPrivateNetworkArrayOutput) ToGetClusterPrivateNetworkArrayOutput() GetClusterPrivateNetworkArrayOutput

func (GetClusterPrivateNetworkArrayOutput) ToGetClusterPrivateNetworkArrayOutputWithContext

func (o GetClusterPrivateNetworkArrayOutput) ToGetClusterPrivateNetworkArrayOutputWithContext(ctx context.Context) GetClusterPrivateNetworkArrayOutput

type GetClusterPrivateNetworkInput

type GetClusterPrivateNetworkInput interface {
	pulumi.Input

	ToGetClusterPrivateNetworkOutput() GetClusterPrivateNetworkOutput
	ToGetClusterPrivateNetworkOutputWithContext(context.Context) GetClusterPrivateNetworkOutput
}

GetClusterPrivateNetworkInput is an input type that accepts GetClusterPrivateNetworkArgs and GetClusterPrivateNetworkOutput values. You can construct a concrete instance of `GetClusterPrivateNetworkInput` via:

GetClusterPrivateNetworkArgs{...}

type GetClusterPrivateNetworkOutput

type GetClusterPrivateNetworkOutput struct{ *pulumi.OutputState }

func (GetClusterPrivateNetworkOutput) ElementType

func (GetClusterPrivateNetworkOutput) EndpointId

UUID of the endpoint to be connected to the cluster

func (GetClusterPrivateNetworkOutput) Id

The ID of the Redis cluster.

func (GetClusterPrivateNetworkOutput) ServiceIps

List of IPv4 addresses of the private network with a CIDR notation

func (GetClusterPrivateNetworkOutput) ToGetClusterPrivateNetworkOutput

func (o GetClusterPrivateNetworkOutput) ToGetClusterPrivateNetworkOutput() GetClusterPrivateNetworkOutput

func (GetClusterPrivateNetworkOutput) ToGetClusterPrivateNetworkOutputWithContext

func (o GetClusterPrivateNetworkOutput) ToGetClusterPrivateNetworkOutputWithContext(ctx context.Context) GetClusterPrivateNetworkOutput

func (GetClusterPrivateNetworkOutput) Zone

`region`) The zone in which the server exists.

type GetClusterPublicNetwork

type GetClusterPublicNetwork struct {
	// The ID of the Redis cluster.
	Id  string   `pulumi:"id"`
	Ips []string `pulumi:"ips"`
	// TCP port of the endpoint
	Port int `pulumi:"port"`
}

type GetClusterPublicNetworkArgs

type GetClusterPublicNetworkArgs struct {
	// The ID of the Redis cluster.
	Id  pulumi.StringInput      `pulumi:"id"`
	Ips pulumi.StringArrayInput `pulumi:"ips"`
	// TCP port of the endpoint
	Port pulumi.IntInput `pulumi:"port"`
}

func (GetClusterPublicNetworkArgs) ElementType

func (GetClusterPublicNetworkArgs) ToGetClusterPublicNetworkOutput

func (i GetClusterPublicNetworkArgs) ToGetClusterPublicNetworkOutput() GetClusterPublicNetworkOutput

func (GetClusterPublicNetworkArgs) ToGetClusterPublicNetworkOutputWithContext

func (i GetClusterPublicNetworkArgs) ToGetClusterPublicNetworkOutputWithContext(ctx context.Context) GetClusterPublicNetworkOutput

type GetClusterPublicNetworkArray

type GetClusterPublicNetworkArray []GetClusterPublicNetworkInput

func (GetClusterPublicNetworkArray) ElementType

func (GetClusterPublicNetworkArray) ToGetClusterPublicNetworkArrayOutput

func (i GetClusterPublicNetworkArray) ToGetClusterPublicNetworkArrayOutput() GetClusterPublicNetworkArrayOutput

func (GetClusterPublicNetworkArray) ToGetClusterPublicNetworkArrayOutputWithContext

func (i GetClusterPublicNetworkArray) ToGetClusterPublicNetworkArrayOutputWithContext(ctx context.Context) GetClusterPublicNetworkArrayOutput

type GetClusterPublicNetworkArrayInput

type GetClusterPublicNetworkArrayInput interface {
	pulumi.Input

	ToGetClusterPublicNetworkArrayOutput() GetClusterPublicNetworkArrayOutput
	ToGetClusterPublicNetworkArrayOutputWithContext(context.Context) GetClusterPublicNetworkArrayOutput
}

GetClusterPublicNetworkArrayInput is an input type that accepts GetClusterPublicNetworkArray and GetClusterPublicNetworkArrayOutput values. You can construct a concrete instance of `GetClusterPublicNetworkArrayInput` via:

GetClusterPublicNetworkArray{ GetClusterPublicNetworkArgs{...} }

type GetClusterPublicNetworkArrayOutput

type GetClusterPublicNetworkArrayOutput struct{ *pulumi.OutputState }

func (GetClusterPublicNetworkArrayOutput) ElementType

func (GetClusterPublicNetworkArrayOutput) Index

func (GetClusterPublicNetworkArrayOutput) ToGetClusterPublicNetworkArrayOutput

func (o GetClusterPublicNetworkArrayOutput) ToGetClusterPublicNetworkArrayOutput() GetClusterPublicNetworkArrayOutput

func (GetClusterPublicNetworkArrayOutput) ToGetClusterPublicNetworkArrayOutputWithContext

func (o GetClusterPublicNetworkArrayOutput) ToGetClusterPublicNetworkArrayOutputWithContext(ctx context.Context) GetClusterPublicNetworkArrayOutput

type GetClusterPublicNetworkInput

type GetClusterPublicNetworkInput interface {
	pulumi.Input

	ToGetClusterPublicNetworkOutput() GetClusterPublicNetworkOutput
	ToGetClusterPublicNetworkOutputWithContext(context.Context) GetClusterPublicNetworkOutput
}

GetClusterPublicNetworkInput is an input type that accepts GetClusterPublicNetworkArgs and GetClusterPublicNetworkOutput values. You can construct a concrete instance of `GetClusterPublicNetworkInput` via:

GetClusterPublicNetworkArgs{...}

type GetClusterPublicNetworkOutput

type GetClusterPublicNetworkOutput struct{ *pulumi.OutputState }

func (GetClusterPublicNetworkOutput) ElementType

func (GetClusterPublicNetworkOutput) Id

The ID of the Redis cluster.

func (GetClusterPublicNetworkOutput) Ips

func (GetClusterPublicNetworkOutput) Port

TCP port of the endpoint

func (GetClusterPublicNetworkOutput) ToGetClusterPublicNetworkOutput

func (o GetClusterPublicNetworkOutput) ToGetClusterPublicNetworkOutput() GetClusterPublicNetworkOutput

func (GetClusterPublicNetworkOutput) ToGetClusterPublicNetworkOutputWithContext

func (o GetClusterPublicNetworkOutput) ToGetClusterPublicNetworkOutputWithContext(ctx context.Context) GetClusterPublicNetworkOutput

type LookupClusterArgs

type LookupClusterArgs struct {
	// The Redis cluster ID.
	// Only one of the `name` and `clusterId` should be specified.
	ClusterId *string `pulumi:"clusterId"`
	// The name of the Redis cluster.
	// Only one of the `name` and `clusterId` should be specified.
	Name *string `pulumi:"name"`
	// The ID of the project the Redis cluster is associated with.
	ProjectId *string `pulumi:"projectId"`
	// `region`) The zone in which the server exists.
	Zone *string `pulumi:"zone"`
}

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

type LookupClusterOutputArgs struct {
	// The Redis cluster ID.
	// Only one of the `name` and `clusterId` should be specified.
	ClusterId pulumi.StringPtrInput `pulumi:"clusterId"`
	// The name of the Redis cluster.
	// Only one of the `name` and `clusterId` should be specified.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// The ID of the project the Redis cluster is associated with.
	ProjectId pulumi.StringPtrInput `pulumi:"projectId"`
	// `region`) The zone in which the server exists.
	Zone pulumi.StringPtrInput `pulumi:"zone"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	Acls        []GetClusterAcl `pulumi:"acls"`
	Certificate string          `pulumi:"certificate"`
	ClusterId   *string         `pulumi:"clusterId"`
	ClusterSize int             `pulumi:"clusterSize"`
	CreatedAt   string          `pulumi:"createdAt"`
	// The provider-assigned unique ID for this managed resource.
	Id              string                     `pulumi:"id"`
	Name            *string                    `pulumi:"name"`
	NodeType        string                     `pulumi:"nodeType"`
	Password        string                     `pulumi:"password"`
	PrivateNetworks []GetClusterPrivateNetwork `pulumi:"privateNetworks"`
	ProjectId       *string                    `pulumi:"projectId"`
	PublicNetworks  []GetClusterPublicNetwork  `pulumi:"publicNetworks"`
	Settings        map[string]string          `pulumi:"settings"`
	Tags            []string                   `pulumi:"tags"`
	TlsEnabled      bool                       `pulumi:"tlsEnabled"`
	UpdatedAt       string                     `pulumi:"updatedAt"`
	UserName        string                     `pulumi:"userName"`
	Version         string                     `pulumi:"version"`
	Zone            *string                    `pulumi:"zone"`
}

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Gets information about a Redis cluster. For further information check our [api documentation](https://developers.scaleway.com/en/products/redis/api/v1alpha1/#clusters-a85816)

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/raeumlich/pulumi-scaleway/sdk/go/scaleway/redis"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := redis.LookupCluster(ctx, &redis.LookupClusterArgs{
			ClusterId: pulumi.StringRef("11111111-1111-1111-1111-111111111111"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) Acls

func (LookupClusterResultOutput) Certificate

func (LookupClusterResultOutput) ClusterId

func (LookupClusterResultOutput) ClusterSize

func (o LookupClusterResultOutput) ClusterSize() pulumi.IntOutput

func (LookupClusterResultOutput) CreatedAt

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) Name

func (LookupClusterResultOutput) NodeType

func (LookupClusterResultOutput) Password

func (LookupClusterResultOutput) PrivateNetworks

func (LookupClusterResultOutput) ProjectId

func (LookupClusterResultOutput) PublicNetworks

func (LookupClusterResultOutput) Settings

func (LookupClusterResultOutput) Tags

func (LookupClusterResultOutput) TlsEnabled

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

func (LookupClusterResultOutput) UpdatedAt

func (LookupClusterResultOutput) UserName

func (LookupClusterResultOutput) Version

func (LookupClusterResultOutput) Zone

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL