redis

package
v4.42.0 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2022 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 Cache

type Cache struct {
	pulumi.CustomResourceState

	// The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.
	Capacity pulumi.IntOutput `pulumi:"capacity"`
	// Enable the non-SSL port (6379) - disabled by default.
	EnableNonSslPort pulumi.BoolPtrOutput `pulumi:"enableNonSslPort"`
	// The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)
	Family pulumi.StringOutput `pulumi:"family"`
	// The Hostname of the Redis Instance
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The location of the resource group.
	Location pulumi.StringOutput `pulumi:"location"`
	// The minimum TLS version.  Defaults to `1.0`.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name of the Redis instance. Changing this forces a
	// new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of `patchSchedule` blocks as defined below.
	PatchSchedules CachePatchScheduleArrayOutput `pulumi:"patchSchedules"`
	// The non-SSL Port of the Redis Instance
	Port pulumi.IntOutput `pulumi:"port"`
	// The Primary Access Key for the Redis Instance
	PrimaryAccessKey pulumi.StringOutput `pulumi:"primaryAccessKey"`
	// The primary connection string of the Redis Instance.
	PrimaryConnectionString pulumi.StringOutput `pulumi:"primaryConnectionString"`
	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.
	PrivateStaticIpAddress pulumi.StringOutput `pulumi:"privateStaticIpAddress"`
	// Whether or not public network access is allowed for this Redis Cache. `true` means this resource could be accessed by both public and private endpoint. `false` means only private endpoint access is allowed. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// A `redisConfiguration` as defined below - with some limitations by SKU - defaults/details are shown below.
	RedisConfiguration CacheRedisConfigurationOutput `pulumi:"redisConfiguration"`
	// Redis version. Only major version needed. Valid values: `4`, `6`.
	RedisVersion pulumi.StringOutput `pulumi:"redisVersion"`
	// Amount of replicas to create per master for this Redis Cache.
	ReplicasPerMaster pulumi.IntOutput `pulumi:"replicasPerMaster"`
	// Amount of replicas to create per primary for this Redis Cache. If both `replicasPerPrimary` and `replicasPerMaster` are set, they need to be equal.
	ReplicasPerPrimary pulumi.IntOutput `pulumi:"replicasPerPrimary"`
	// The name of the resource group in which to
	// create the Redis instance.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The Secondary Access Key for the Redis Instance
	SecondaryAccessKey pulumi.StringOutput `pulumi:"secondaryAccessKey"`
	// The secondary connection string of the Redis Instance.
	SecondaryConnectionString pulumi.StringOutput `pulumi:"secondaryConnectionString"`
	// *Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.
	ShardCount pulumi.IntPtrOutput `pulumi:"shardCount"`
	// The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// The SSL Port of the Redis Instance
	SslPort pulumi.IntOutput `pulumi:"sslPort"`
	// *Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.
	SubnetId pulumi.StringPtrOutput `pulumi:"subnetId"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A mapping of tenant settings to assign to the resource.
	TenantSettings pulumi.StringMapOutput `pulumi:"tenantSettings"`
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

Manages a Redis Cache.

## Example Usage

This example provisions a Standard Redis Cache.

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCache(ctx, "exampleCache", &redis.CacheArgs{
			Location:           exampleResourceGroup.Location,
			ResourceGroupName:  exampleResourceGroup.Name,
			Capacity:           pulumi.Int(2),
			Family:             pulumi.String("C"),
			SkuName:            pulumi.String("Standard"),
			EnableNonSslPort:   pulumi.Bool(false),
			MinimumTlsVersion:  pulumi.String("1.2"),
			RedisConfiguration: nil,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ## Default Redis Configuration Values

| Redis Value | Basic | Standard | Premium | | ------------------------------- | ------------ | ------------ | ------------ | | enableAuthentication | true | true | true | | maxmemoryReserved | 2 | 50 | 200 | | maxfragmentationmemoryReserved | 2 | 50 | 200 | | maxmemoryDelta | 2 | 50 | 200 | | maxmemoryPolicy | volatile-lru | volatile-lru | volatile-lru |

> **NOTE:** The `maxmemoryReserved`, `maxmemoryDelta` and `maxfragmentationmemoryReserved` settings are only available for Standard and Premium caches. More details are available in the Relevant Links section below.

***

A `patchSchedule` block supports the following:

* `dayOfWeek` (Required) the Weekday name - possible values include `Monday`, `Tuesday`, `Wednesday` etc.

* `startHourUtc` - (Optional) the Start Hour for maintenance in UTC - possible values range from `0 - 23`.

> **Note:** The Patch Window lasts for `5` hours from the `startHourUtc`.

* `maintenanceWindow` - (Optional) The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated. Defaults to `PT5H`.

## Relevant Links

## Import

Redis Cache's can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:redis/cache:Cache cache1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/Redis/cache1

```

func GetCache

func GetCache(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *CacheState, opts ...pulumi.ResourceOption) (*Cache, error)

GetCache gets an existing Cache 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 NewCache

func NewCache(ctx *pulumi.Context,
	name string, args *CacheArgs, opts ...pulumi.ResourceOption) (*Cache, error)

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

func (*Cache) ElementType

func (*Cache) ElementType() reflect.Type

func (*Cache) ToCacheOutput

func (i *Cache) ToCacheOutput() CacheOutput

func (*Cache) ToCacheOutputWithContext

func (i *Cache) ToCacheOutputWithContext(ctx context.Context) CacheOutput

type CacheArgs

type CacheArgs struct {
	// The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.
	Capacity pulumi.IntInput
	// Enable the non-SSL port (6379) - disabled by default.
	EnableNonSslPort pulumi.BoolPtrInput
	// The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)
	Family pulumi.StringInput
	// The location of the resource group.
	Location pulumi.StringPtrInput
	// The minimum TLS version.  Defaults to `1.0`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Redis instance. Changing this forces a
	// new resource to be created.
	Name pulumi.StringPtrInput
	// A list of `patchSchedule` blocks as defined below.
	PatchSchedules CachePatchScheduleArrayInput
	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.
	PrivateStaticIpAddress pulumi.StringPtrInput
	// Whether or not public network access is allowed for this Redis Cache. `true` means this resource could be accessed by both public and private endpoint. `false` means only private endpoint access is allowed. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// A `redisConfiguration` as defined below - with some limitations by SKU - defaults/details are shown below.
	RedisConfiguration CacheRedisConfigurationPtrInput
	// Redis version. Only major version needed. Valid values: `4`, `6`.
	RedisVersion pulumi.StringPtrInput
	// Amount of replicas to create per master for this Redis Cache.
	ReplicasPerMaster pulumi.IntPtrInput
	// Amount of replicas to create per primary for this Redis Cache. If both `replicasPerPrimary` and `replicasPerMaster` are set, they need to be equal.
	ReplicasPerPrimary pulumi.IntPtrInput
	// The name of the resource group in which to
	// create the Redis instance.
	ResourceGroupName pulumi.StringInput
	// *Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.
	ShardCount pulumi.IntPtrInput
	// The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.
	SkuName pulumi.StringInput
	// *Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.
	SubnetId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// A mapping of tenant settings to assign to the resource.
	TenantSettings pulumi.StringMapInput
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a Cache resource.

func (CacheArgs) ElementType

func (CacheArgs) ElementType() reflect.Type

type CacheArray

type CacheArray []CacheInput

func (CacheArray) ElementType

func (CacheArray) ElementType() reflect.Type

func (CacheArray) ToCacheArrayOutput

func (i CacheArray) ToCacheArrayOutput() CacheArrayOutput

func (CacheArray) ToCacheArrayOutputWithContext

func (i CacheArray) ToCacheArrayOutputWithContext(ctx context.Context) CacheArrayOutput

type CacheArrayInput

type CacheArrayInput interface {
	pulumi.Input

	ToCacheArrayOutput() CacheArrayOutput
	ToCacheArrayOutputWithContext(context.Context) CacheArrayOutput
}

CacheArrayInput is an input type that accepts CacheArray and CacheArrayOutput values. You can construct a concrete instance of `CacheArrayInput` via:

CacheArray{ CacheArgs{...} }

type CacheArrayOutput

type CacheArrayOutput struct{ *pulumi.OutputState }

func (CacheArrayOutput) ElementType

func (CacheArrayOutput) ElementType() reflect.Type

func (CacheArrayOutput) Index

func (CacheArrayOutput) ToCacheArrayOutput

func (o CacheArrayOutput) ToCacheArrayOutput() CacheArrayOutput

func (CacheArrayOutput) ToCacheArrayOutputWithContext

func (o CacheArrayOutput) ToCacheArrayOutputWithContext(ctx context.Context) CacheArrayOutput

type CacheInput

type CacheInput interface {
	pulumi.Input

	ToCacheOutput() CacheOutput
	ToCacheOutputWithContext(ctx context.Context) CacheOutput
}

type CacheMap

type CacheMap map[string]CacheInput

func (CacheMap) ElementType

func (CacheMap) ElementType() reflect.Type

func (CacheMap) ToCacheMapOutput

func (i CacheMap) ToCacheMapOutput() CacheMapOutput

func (CacheMap) ToCacheMapOutputWithContext

func (i CacheMap) ToCacheMapOutputWithContext(ctx context.Context) CacheMapOutput

type CacheMapInput

type CacheMapInput interface {
	pulumi.Input

	ToCacheMapOutput() CacheMapOutput
	ToCacheMapOutputWithContext(context.Context) CacheMapOutput
}

CacheMapInput is an input type that accepts CacheMap and CacheMapOutput values. You can construct a concrete instance of `CacheMapInput` via:

CacheMap{ "key": CacheArgs{...} }

type CacheMapOutput

type CacheMapOutput struct{ *pulumi.OutputState }

func (CacheMapOutput) ElementType

func (CacheMapOutput) ElementType() reflect.Type

func (CacheMapOutput) MapIndex

func (CacheMapOutput) ToCacheMapOutput

func (o CacheMapOutput) ToCacheMapOutput() CacheMapOutput

func (CacheMapOutput) ToCacheMapOutputWithContext

func (o CacheMapOutput) ToCacheMapOutputWithContext(ctx context.Context) CacheMapOutput

type CacheOutput

type CacheOutput struct{ *pulumi.OutputState }

func (CacheOutput) ElementType

func (CacheOutput) ElementType() reflect.Type

func (CacheOutput) ToCacheOutput

func (o CacheOutput) ToCacheOutput() CacheOutput

func (CacheOutput) ToCacheOutputWithContext

func (o CacheOutput) ToCacheOutputWithContext(ctx context.Context) CacheOutput

type CachePatchSchedule

type CachePatchSchedule struct {
	DayOfWeek         string  `pulumi:"dayOfWeek"`
	MaintenanceWindow *string `pulumi:"maintenanceWindow"`
	StartHourUtc      *int    `pulumi:"startHourUtc"`
}

type CachePatchScheduleArgs

type CachePatchScheduleArgs struct {
	DayOfWeek         pulumi.StringInput    `pulumi:"dayOfWeek"`
	MaintenanceWindow pulumi.StringPtrInput `pulumi:"maintenanceWindow"`
	StartHourUtc      pulumi.IntPtrInput    `pulumi:"startHourUtc"`
}

func (CachePatchScheduleArgs) ElementType

func (CachePatchScheduleArgs) ElementType() reflect.Type

func (CachePatchScheduleArgs) ToCachePatchScheduleOutput

func (i CachePatchScheduleArgs) ToCachePatchScheduleOutput() CachePatchScheduleOutput

func (CachePatchScheduleArgs) ToCachePatchScheduleOutputWithContext

func (i CachePatchScheduleArgs) ToCachePatchScheduleOutputWithContext(ctx context.Context) CachePatchScheduleOutput

type CachePatchScheduleArray

type CachePatchScheduleArray []CachePatchScheduleInput

func (CachePatchScheduleArray) ElementType

func (CachePatchScheduleArray) ElementType() reflect.Type

func (CachePatchScheduleArray) ToCachePatchScheduleArrayOutput

func (i CachePatchScheduleArray) ToCachePatchScheduleArrayOutput() CachePatchScheduleArrayOutput

func (CachePatchScheduleArray) ToCachePatchScheduleArrayOutputWithContext

func (i CachePatchScheduleArray) ToCachePatchScheduleArrayOutputWithContext(ctx context.Context) CachePatchScheduleArrayOutput

type CachePatchScheduleArrayInput

type CachePatchScheduleArrayInput interface {
	pulumi.Input

	ToCachePatchScheduleArrayOutput() CachePatchScheduleArrayOutput
	ToCachePatchScheduleArrayOutputWithContext(context.Context) CachePatchScheduleArrayOutput
}

CachePatchScheduleArrayInput is an input type that accepts CachePatchScheduleArray and CachePatchScheduleArrayOutput values. You can construct a concrete instance of `CachePatchScheduleArrayInput` via:

CachePatchScheduleArray{ CachePatchScheduleArgs{...} }

type CachePatchScheduleArrayOutput

type CachePatchScheduleArrayOutput struct{ *pulumi.OutputState }

func (CachePatchScheduleArrayOutput) ElementType

func (CachePatchScheduleArrayOutput) Index

func (CachePatchScheduleArrayOutput) ToCachePatchScheduleArrayOutput

func (o CachePatchScheduleArrayOutput) ToCachePatchScheduleArrayOutput() CachePatchScheduleArrayOutput

func (CachePatchScheduleArrayOutput) ToCachePatchScheduleArrayOutputWithContext

func (o CachePatchScheduleArrayOutput) ToCachePatchScheduleArrayOutputWithContext(ctx context.Context) CachePatchScheduleArrayOutput

type CachePatchScheduleInput

type CachePatchScheduleInput interface {
	pulumi.Input

	ToCachePatchScheduleOutput() CachePatchScheduleOutput
	ToCachePatchScheduleOutputWithContext(context.Context) CachePatchScheduleOutput
}

CachePatchScheduleInput is an input type that accepts CachePatchScheduleArgs and CachePatchScheduleOutput values. You can construct a concrete instance of `CachePatchScheduleInput` via:

CachePatchScheduleArgs{...}

type CachePatchScheduleOutput

type CachePatchScheduleOutput struct{ *pulumi.OutputState }

func (CachePatchScheduleOutput) DayOfWeek

func (CachePatchScheduleOutput) ElementType

func (CachePatchScheduleOutput) ElementType() reflect.Type

func (CachePatchScheduleOutput) MaintenanceWindow added in v4.11.0

func (o CachePatchScheduleOutput) MaintenanceWindow() pulumi.StringPtrOutput

func (CachePatchScheduleOutput) StartHourUtc

func (o CachePatchScheduleOutput) StartHourUtc() pulumi.IntPtrOutput

func (CachePatchScheduleOutput) ToCachePatchScheduleOutput

func (o CachePatchScheduleOutput) ToCachePatchScheduleOutput() CachePatchScheduleOutput

func (CachePatchScheduleOutput) ToCachePatchScheduleOutputWithContext

func (o CachePatchScheduleOutput) ToCachePatchScheduleOutputWithContext(ctx context.Context) CachePatchScheduleOutput

type CacheRedisConfiguration

type CacheRedisConfiguration struct {
	// Enable or disable AOF persistence for this Redis Cache.
	AofBackupEnabled *bool `pulumi:"aofBackupEnabled"`
	// First Storage Account connection string for AOF persistence.
	AofStorageConnectionString0 *string `pulumi:"aofStorageConnectionString0"`
	// Second Storage Account connection string for AOF persistence.
	AofStorageConnectionString1 *string `pulumi:"aofStorageConnectionString1"`
	// If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.
	EnableAuthentication *bool `pulumi:"enableAuthentication"`
	// Returns the max number of connected clients at the same time.
	Maxclients *int `pulumi:"maxclients"`
	// Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.
	MaxfragmentationmemoryReserved *int `pulumi:"maxfragmentationmemoryReserved"`
	// The max-memory delta for this Redis instance. Defaults are shown below.
	MaxmemoryDelta *int `pulumi:"maxmemoryDelta"`
	// How Redis will select what to remove when `maxmemory` is reached. Defaults are shown below.
	MaxmemoryPolicy *string `pulumi:"maxmemoryPolicy"`
	// Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.
	MaxmemoryReserved *int `pulumi:"maxmemoryReserved"`
	// Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. [Reference](https://redis.io/topics/notifications#configuration)
	NotifyKeyspaceEvents *string `pulumi:"notifyKeyspaceEvents"`
	// Is Backup Enabled? Only supported on Premium SKU's.
	RdbBackupEnabled *bool `pulumi:"rdbBackupEnabled"`
	// The Backup Frequency in Minutes. Only supported on Premium SKU's. Possible values are: `15`, `30`, `60`, `360`, `720` and `1440`.
	RdbBackupFrequency *int `pulumi:"rdbBackupFrequency"`
	// The maximum number of snapshots to create as a backup. Only supported for Premium SKU's.
	RdbBackupMaxSnapshotCount *int `pulumi:"rdbBackupMaxSnapshotCount"`
	// The Connection String to the Storage Account. Only supported for Premium SKU's. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`.
	RdbStorageConnectionString *string `pulumi:"rdbStorageConnectionString"`
}

type CacheRedisConfigurationArgs

type CacheRedisConfigurationArgs struct {
	// Enable or disable AOF persistence for this Redis Cache.
	AofBackupEnabled pulumi.BoolPtrInput `pulumi:"aofBackupEnabled"`
	// First Storage Account connection string for AOF persistence.
	AofStorageConnectionString0 pulumi.StringPtrInput `pulumi:"aofStorageConnectionString0"`
	// Second Storage Account connection string for AOF persistence.
	AofStorageConnectionString1 pulumi.StringPtrInput `pulumi:"aofStorageConnectionString1"`
	// If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.
	EnableAuthentication pulumi.BoolPtrInput `pulumi:"enableAuthentication"`
	// Returns the max number of connected clients at the same time.
	Maxclients pulumi.IntPtrInput `pulumi:"maxclients"`
	// Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.
	MaxfragmentationmemoryReserved pulumi.IntPtrInput `pulumi:"maxfragmentationmemoryReserved"`
	// The max-memory delta for this Redis instance. Defaults are shown below.
	MaxmemoryDelta pulumi.IntPtrInput `pulumi:"maxmemoryDelta"`
	// How Redis will select what to remove when `maxmemory` is reached. Defaults are shown below.
	MaxmemoryPolicy pulumi.StringPtrInput `pulumi:"maxmemoryPolicy"`
	// Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.
	MaxmemoryReserved pulumi.IntPtrInput `pulumi:"maxmemoryReserved"`
	// Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. [Reference](https://redis.io/topics/notifications#configuration)
	NotifyKeyspaceEvents pulumi.StringPtrInput `pulumi:"notifyKeyspaceEvents"`
	// Is Backup Enabled? Only supported on Premium SKU's.
	RdbBackupEnabled pulumi.BoolPtrInput `pulumi:"rdbBackupEnabled"`
	// The Backup Frequency in Minutes. Only supported on Premium SKU's. Possible values are: `15`, `30`, `60`, `360`, `720` and `1440`.
	RdbBackupFrequency pulumi.IntPtrInput `pulumi:"rdbBackupFrequency"`
	// The maximum number of snapshots to create as a backup. Only supported for Premium SKU's.
	RdbBackupMaxSnapshotCount pulumi.IntPtrInput `pulumi:"rdbBackupMaxSnapshotCount"`
	// The Connection String to the Storage Account. Only supported for Premium SKU's. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`.
	RdbStorageConnectionString pulumi.StringPtrInput `pulumi:"rdbStorageConnectionString"`
}

func (CacheRedisConfigurationArgs) ElementType

func (CacheRedisConfigurationArgs) ToCacheRedisConfigurationOutput

func (i CacheRedisConfigurationArgs) ToCacheRedisConfigurationOutput() CacheRedisConfigurationOutput

func (CacheRedisConfigurationArgs) ToCacheRedisConfigurationOutputWithContext

func (i CacheRedisConfigurationArgs) ToCacheRedisConfigurationOutputWithContext(ctx context.Context) CacheRedisConfigurationOutput

func (CacheRedisConfigurationArgs) ToCacheRedisConfigurationPtrOutput

func (i CacheRedisConfigurationArgs) ToCacheRedisConfigurationPtrOutput() CacheRedisConfigurationPtrOutput

func (CacheRedisConfigurationArgs) ToCacheRedisConfigurationPtrOutputWithContext

func (i CacheRedisConfigurationArgs) ToCacheRedisConfigurationPtrOutputWithContext(ctx context.Context) CacheRedisConfigurationPtrOutput

type CacheRedisConfigurationInput

type CacheRedisConfigurationInput interface {
	pulumi.Input

	ToCacheRedisConfigurationOutput() CacheRedisConfigurationOutput
	ToCacheRedisConfigurationOutputWithContext(context.Context) CacheRedisConfigurationOutput
}

CacheRedisConfigurationInput is an input type that accepts CacheRedisConfigurationArgs and CacheRedisConfigurationOutput values. You can construct a concrete instance of `CacheRedisConfigurationInput` via:

CacheRedisConfigurationArgs{...}

type CacheRedisConfigurationOutput

type CacheRedisConfigurationOutput struct{ *pulumi.OutputState }

func (CacheRedisConfigurationOutput) AofBackupEnabled

func (o CacheRedisConfigurationOutput) AofBackupEnabled() pulumi.BoolPtrOutput

Enable or disable AOF persistence for this Redis Cache.

func (CacheRedisConfigurationOutput) AofStorageConnectionString0

func (o CacheRedisConfigurationOutput) AofStorageConnectionString0() pulumi.StringPtrOutput

First Storage Account connection string for AOF persistence.

func (CacheRedisConfigurationOutput) AofStorageConnectionString1

func (o CacheRedisConfigurationOutput) AofStorageConnectionString1() pulumi.StringPtrOutput

Second Storage Account connection string for AOF persistence.

func (CacheRedisConfigurationOutput) ElementType

func (CacheRedisConfigurationOutput) EnableAuthentication

func (o CacheRedisConfigurationOutput) EnableAuthentication() pulumi.BoolPtrOutput

If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.

func (CacheRedisConfigurationOutput) Maxclients

Returns the max number of connected clients at the same time.

func (CacheRedisConfigurationOutput) MaxfragmentationmemoryReserved

func (o CacheRedisConfigurationOutput) MaxfragmentationmemoryReserved() pulumi.IntPtrOutput

Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.

func (CacheRedisConfigurationOutput) MaxmemoryDelta

The max-memory delta for this Redis instance. Defaults are shown below.

func (CacheRedisConfigurationOutput) MaxmemoryPolicy

How Redis will select what to remove when `maxmemory` is reached. Defaults are shown below.

func (CacheRedisConfigurationOutput) MaxmemoryReserved

func (o CacheRedisConfigurationOutput) MaxmemoryReserved() pulumi.IntPtrOutput

Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.

func (CacheRedisConfigurationOutput) NotifyKeyspaceEvents

func (o CacheRedisConfigurationOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput

Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. [Reference](https://redis.io/topics/notifications#configuration)

func (CacheRedisConfigurationOutput) RdbBackupEnabled

func (o CacheRedisConfigurationOutput) RdbBackupEnabled() pulumi.BoolPtrOutput

Is Backup Enabled? Only supported on Premium SKU's.

func (CacheRedisConfigurationOutput) RdbBackupFrequency

func (o CacheRedisConfigurationOutput) RdbBackupFrequency() pulumi.IntPtrOutput

The Backup Frequency in Minutes. Only supported on Premium SKU's. Possible values are: `15`, `30`, `60`, `360`, `720` and `1440`.

func (CacheRedisConfigurationOutput) RdbBackupMaxSnapshotCount

func (o CacheRedisConfigurationOutput) RdbBackupMaxSnapshotCount() pulumi.IntPtrOutput

The maximum number of snapshots to create as a backup. Only supported for Premium SKU's.

func (CacheRedisConfigurationOutput) RdbStorageConnectionString

func (o CacheRedisConfigurationOutput) RdbStorageConnectionString() pulumi.StringPtrOutput

The Connection String to the Storage Account. Only supported for Premium SKU's. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`.

func (CacheRedisConfigurationOutput) ToCacheRedisConfigurationOutput

func (o CacheRedisConfigurationOutput) ToCacheRedisConfigurationOutput() CacheRedisConfigurationOutput

func (CacheRedisConfigurationOutput) ToCacheRedisConfigurationOutputWithContext

func (o CacheRedisConfigurationOutput) ToCacheRedisConfigurationOutputWithContext(ctx context.Context) CacheRedisConfigurationOutput

func (CacheRedisConfigurationOutput) ToCacheRedisConfigurationPtrOutput

func (o CacheRedisConfigurationOutput) ToCacheRedisConfigurationPtrOutput() CacheRedisConfigurationPtrOutput

func (CacheRedisConfigurationOutput) ToCacheRedisConfigurationPtrOutputWithContext

func (o CacheRedisConfigurationOutput) ToCacheRedisConfigurationPtrOutputWithContext(ctx context.Context) CacheRedisConfigurationPtrOutput

type CacheRedisConfigurationPtrInput

type CacheRedisConfigurationPtrInput interface {
	pulumi.Input

	ToCacheRedisConfigurationPtrOutput() CacheRedisConfigurationPtrOutput
	ToCacheRedisConfigurationPtrOutputWithContext(context.Context) CacheRedisConfigurationPtrOutput
}

CacheRedisConfigurationPtrInput is an input type that accepts CacheRedisConfigurationArgs, CacheRedisConfigurationPtr and CacheRedisConfigurationPtrOutput values. You can construct a concrete instance of `CacheRedisConfigurationPtrInput` via:

        CacheRedisConfigurationArgs{...}

or:

        nil

type CacheRedisConfigurationPtrOutput

type CacheRedisConfigurationPtrOutput struct{ *pulumi.OutputState }

func (CacheRedisConfigurationPtrOutput) AofBackupEnabled

Enable or disable AOF persistence for this Redis Cache.

func (CacheRedisConfigurationPtrOutput) AofStorageConnectionString0

func (o CacheRedisConfigurationPtrOutput) AofStorageConnectionString0() pulumi.StringPtrOutput

First Storage Account connection string for AOF persistence.

func (CacheRedisConfigurationPtrOutput) AofStorageConnectionString1

func (o CacheRedisConfigurationPtrOutput) AofStorageConnectionString1() pulumi.StringPtrOutput

Second Storage Account connection string for AOF persistence.

func (CacheRedisConfigurationPtrOutput) Elem

func (CacheRedisConfigurationPtrOutput) ElementType

func (CacheRedisConfigurationPtrOutput) EnableAuthentication

func (o CacheRedisConfigurationPtrOutput) EnableAuthentication() pulumi.BoolPtrOutput

If set to `false`, the Redis instance will be accessible without authentication. Defaults to `true`.

func (CacheRedisConfigurationPtrOutput) Maxclients

Returns the max number of connected clients at the same time.

func (CacheRedisConfigurationPtrOutput) MaxfragmentationmemoryReserved

func (o CacheRedisConfigurationPtrOutput) MaxfragmentationmemoryReserved() pulumi.IntPtrOutput

Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.

func (CacheRedisConfigurationPtrOutput) MaxmemoryDelta

The max-memory delta for this Redis instance. Defaults are shown below.

func (CacheRedisConfigurationPtrOutput) MaxmemoryPolicy

How Redis will select what to remove when `maxmemory` is reached. Defaults are shown below.

func (CacheRedisConfigurationPtrOutput) MaxmemoryReserved

Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.

func (CacheRedisConfigurationPtrOutput) NotifyKeyspaceEvents

func (o CacheRedisConfigurationPtrOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput

Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. [Reference](https://redis.io/topics/notifications#configuration)

func (CacheRedisConfigurationPtrOutput) RdbBackupEnabled

Is Backup Enabled? Only supported on Premium SKU's.

func (CacheRedisConfigurationPtrOutput) RdbBackupFrequency

func (o CacheRedisConfigurationPtrOutput) RdbBackupFrequency() pulumi.IntPtrOutput

The Backup Frequency in Minutes. Only supported on Premium SKU's. Possible values are: `15`, `30`, `60`, `360`, `720` and `1440`.

func (CacheRedisConfigurationPtrOutput) RdbBackupMaxSnapshotCount

func (o CacheRedisConfigurationPtrOutput) RdbBackupMaxSnapshotCount() pulumi.IntPtrOutput

The maximum number of snapshots to create as a backup. Only supported for Premium SKU's.

func (CacheRedisConfigurationPtrOutput) RdbStorageConnectionString

func (o CacheRedisConfigurationPtrOutput) RdbStorageConnectionString() pulumi.StringPtrOutput

The Connection String to the Storage Account. Only supported for Premium SKU's. In the format: `DefaultEndpointsProtocol=https;BlobEndpoint=${azurerm_storage_account.example.primary_blob_endpoint};AccountName=${azurerm_storage_account.example.name};AccountKey=${azurerm_storage_account.example.primary_access_key}`.

func (CacheRedisConfigurationPtrOutput) ToCacheRedisConfigurationPtrOutput

func (o CacheRedisConfigurationPtrOutput) ToCacheRedisConfigurationPtrOutput() CacheRedisConfigurationPtrOutput

func (CacheRedisConfigurationPtrOutput) ToCacheRedisConfigurationPtrOutputWithContext

func (o CacheRedisConfigurationPtrOutput) ToCacheRedisConfigurationPtrOutputWithContext(ctx context.Context) CacheRedisConfigurationPtrOutput

type CacheState

type CacheState struct {
	// The size of the Redis cache to deploy. Valid values for a SKU `family` of C (Basic/Standard) are `0, 1, 2, 3, 4, 5, 6`, and for P (Premium) `family` are `1, 2, 3, 4`.
	Capacity pulumi.IntPtrInput
	// Enable the non-SSL port (6379) - disabled by default.
	EnableNonSslPort pulumi.BoolPtrInput
	// The SKU family/pricing group to use. Valid values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)
	Family pulumi.StringPtrInput
	// The Hostname of the Redis Instance
	Hostname pulumi.StringPtrInput
	// The location of the resource group.
	Location pulumi.StringPtrInput
	// The minimum TLS version.  Defaults to `1.0`.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name of the Redis instance. Changing this forces a
	// new resource to be created.
	Name pulumi.StringPtrInput
	// A list of `patchSchedule` blocks as defined below.
	PatchSchedules CachePatchScheduleArrayInput
	// The non-SSL Port of the Redis Instance
	Port pulumi.IntPtrInput
	// The Primary Access Key for the Redis Instance
	PrimaryAccessKey pulumi.StringPtrInput
	// The primary connection string of the Redis Instance.
	PrimaryConnectionString pulumi.StringPtrInput
	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. Changing this forces a new resource to be created.
	PrivateStaticIpAddress pulumi.StringPtrInput
	// Whether or not public network access is allowed for this Redis Cache. `true` means this resource could be accessed by both public and private endpoint. `false` means only private endpoint access is allowed. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// A `redisConfiguration` as defined below - with some limitations by SKU - defaults/details are shown below.
	RedisConfiguration CacheRedisConfigurationPtrInput
	// Redis version. Only major version needed. Valid values: `4`, `6`.
	RedisVersion pulumi.StringPtrInput
	// Amount of replicas to create per master for this Redis Cache.
	ReplicasPerMaster pulumi.IntPtrInput
	// Amount of replicas to create per primary for this Redis Cache. If both `replicasPerPrimary` and `replicasPerMaster` are set, they need to be equal.
	ReplicasPerPrimary pulumi.IntPtrInput
	// The name of the resource group in which to
	// create the Redis instance.
	ResourceGroupName pulumi.StringPtrInput
	// The Secondary Access Key for the Redis Instance
	SecondaryAccessKey pulumi.StringPtrInput
	// The secondary connection string of the Redis Instance.
	SecondaryConnectionString pulumi.StringPtrInput
	// *Only available when using the Premium SKU* The number of Shards to create on the Redis Cluster.
	ShardCount pulumi.IntPtrInput
	// The SKU of Redis to use. Possible values are `Basic`, `Standard` and `Premium`.
	SkuName pulumi.StringPtrInput
	// The SSL Port of the Redis Instance
	SslPort pulumi.IntPtrInput
	// *Only available when using the Premium SKU* The ID of the Subnet within which the Redis Cache should be deployed. This Subnet must only contain Azure Cache for Redis instances without any other type of resources. Changing this forces a new resource to be created.
	SubnetId pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// A mapping of tenant settings to assign to the resource.
	TenantSettings pulumi.StringMapInput
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated.
	Zones pulumi.StringArrayInput
}

func (CacheState) ElementType

func (CacheState) ElementType() reflect.Type

type EnterpriseCluster

type EnterpriseCluster struct {
	pulumi.CustomResourceState

	// DNS name of the cluster endpoint.
	Hostname pulumi.StringOutput `pulumi:"hostname"`
	// The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The minimum TLS version.  Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.
	MinimumTlsVersion pulumi.StringPtrOutput `pulumi:"minimumTlsVersion"`
	// The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the sku, possible values are `Enterprise_E10`, `Enterprise_E20"`, `Enterprise_E50`, `Enterprise_E100`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` skus are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` skus are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.
	SkuName pulumi.StringOutput `pulumi:"skuName"`
	// A mapping of tags which should be assigned to the Redis Enterprise Cluster.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Version of redis the cluster supports, e.g. '6'.
	//
	// Deprecated: This field currently is not yet being returned from the service API, please see https://github.com/Azure/azure-sdk-for-go/issues/14420 for more information
	Version pulumi.StringOutput `pulumi:"version"`
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated. Possible values are: `1`, `2` and `3`. Changing this forces a new Redis Enterprise Cluster to be created.
	Zones pulumi.StringArrayOutput `pulumi:"zones"`
}

Manages a Redis Enterprise Cluster.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = redis.NewEnterpriseCluster(ctx, "exampleEnterpriseCluster", &redis.EnterpriseClusterArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			SkuName:           pulumi.String("EnterpriseFlash_F300-3"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redis Enterprise Clusters can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:redis/enterpriseCluster:EnterpriseCluster example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1

```

func GetEnterpriseCluster

func GetEnterpriseCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnterpriseClusterState, opts ...pulumi.ResourceOption) (*EnterpriseCluster, error)

GetEnterpriseCluster gets an existing EnterpriseCluster 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 NewEnterpriseCluster

func NewEnterpriseCluster(ctx *pulumi.Context,
	name string, args *EnterpriseClusterArgs, opts ...pulumi.ResourceOption) (*EnterpriseCluster, error)

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

func (*EnterpriseCluster) ElementType

func (*EnterpriseCluster) ElementType() reflect.Type

func (*EnterpriseCluster) ToEnterpriseClusterOutput

func (i *EnterpriseCluster) ToEnterpriseClusterOutput() EnterpriseClusterOutput

func (*EnterpriseCluster) ToEnterpriseClusterOutputWithContext

func (i *EnterpriseCluster) ToEnterpriseClusterOutputWithContext(ctx context.Context) EnterpriseClusterOutput

type EnterpriseClusterArgs

type EnterpriseClusterArgs struct {
	// The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	Location pulumi.StringPtrInput
	// The minimum TLS version.  Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	ResourceGroupName pulumi.StringInput
	// The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the sku, possible values are `Enterprise_E10`, `Enterprise_E20"`, `Enterprise_E50`, `Enterprise_E100`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` skus are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` skus are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.
	SkuName pulumi.StringInput
	// A mapping of tags which should be assigned to the Redis Enterprise Cluster.
	Tags pulumi.StringMapInput
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated. Possible values are: `1`, `2` and `3`. Changing this forces a new Redis Enterprise Cluster to be created.
	Zones pulumi.StringArrayInput
}

The set of arguments for constructing a EnterpriseCluster resource.

func (EnterpriseClusterArgs) ElementType

func (EnterpriseClusterArgs) ElementType() reflect.Type

type EnterpriseClusterArray

type EnterpriseClusterArray []EnterpriseClusterInput

func (EnterpriseClusterArray) ElementType

func (EnterpriseClusterArray) ElementType() reflect.Type

func (EnterpriseClusterArray) ToEnterpriseClusterArrayOutput

func (i EnterpriseClusterArray) ToEnterpriseClusterArrayOutput() EnterpriseClusterArrayOutput

func (EnterpriseClusterArray) ToEnterpriseClusterArrayOutputWithContext

func (i EnterpriseClusterArray) ToEnterpriseClusterArrayOutputWithContext(ctx context.Context) EnterpriseClusterArrayOutput

type EnterpriseClusterArrayInput

type EnterpriseClusterArrayInput interface {
	pulumi.Input

	ToEnterpriseClusterArrayOutput() EnterpriseClusterArrayOutput
	ToEnterpriseClusterArrayOutputWithContext(context.Context) EnterpriseClusterArrayOutput
}

EnterpriseClusterArrayInput is an input type that accepts EnterpriseClusterArray and EnterpriseClusterArrayOutput values. You can construct a concrete instance of `EnterpriseClusterArrayInput` via:

EnterpriseClusterArray{ EnterpriseClusterArgs{...} }

type EnterpriseClusterArrayOutput

type EnterpriseClusterArrayOutput struct{ *pulumi.OutputState }

func (EnterpriseClusterArrayOutput) ElementType

func (EnterpriseClusterArrayOutput) Index

func (EnterpriseClusterArrayOutput) ToEnterpriseClusterArrayOutput

func (o EnterpriseClusterArrayOutput) ToEnterpriseClusterArrayOutput() EnterpriseClusterArrayOutput

func (EnterpriseClusterArrayOutput) ToEnterpriseClusterArrayOutputWithContext

func (o EnterpriseClusterArrayOutput) ToEnterpriseClusterArrayOutputWithContext(ctx context.Context) EnterpriseClusterArrayOutput

type EnterpriseClusterInput

type EnterpriseClusterInput interface {
	pulumi.Input

	ToEnterpriseClusterOutput() EnterpriseClusterOutput
	ToEnterpriseClusterOutputWithContext(ctx context.Context) EnterpriseClusterOutput
}

type EnterpriseClusterMap

type EnterpriseClusterMap map[string]EnterpriseClusterInput

func (EnterpriseClusterMap) ElementType

func (EnterpriseClusterMap) ElementType() reflect.Type

func (EnterpriseClusterMap) ToEnterpriseClusterMapOutput

func (i EnterpriseClusterMap) ToEnterpriseClusterMapOutput() EnterpriseClusterMapOutput

func (EnterpriseClusterMap) ToEnterpriseClusterMapOutputWithContext

func (i EnterpriseClusterMap) ToEnterpriseClusterMapOutputWithContext(ctx context.Context) EnterpriseClusterMapOutput

type EnterpriseClusterMapInput

type EnterpriseClusterMapInput interface {
	pulumi.Input

	ToEnterpriseClusterMapOutput() EnterpriseClusterMapOutput
	ToEnterpriseClusterMapOutputWithContext(context.Context) EnterpriseClusterMapOutput
}

EnterpriseClusterMapInput is an input type that accepts EnterpriseClusterMap and EnterpriseClusterMapOutput values. You can construct a concrete instance of `EnterpriseClusterMapInput` via:

EnterpriseClusterMap{ "key": EnterpriseClusterArgs{...} }

type EnterpriseClusterMapOutput

type EnterpriseClusterMapOutput struct{ *pulumi.OutputState }

func (EnterpriseClusterMapOutput) ElementType

func (EnterpriseClusterMapOutput) ElementType() reflect.Type

func (EnterpriseClusterMapOutput) MapIndex

func (EnterpriseClusterMapOutput) ToEnterpriseClusterMapOutput

func (o EnterpriseClusterMapOutput) ToEnterpriseClusterMapOutput() EnterpriseClusterMapOutput

func (EnterpriseClusterMapOutput) ToEnterpriseClusterMapOutputWithContext

func (o EnterpriseClusterMapOutput) ToEnterpriseClusterMapOutputWithContext(ctx context.Context) EnterpriseClusterMapOutput

type EnterpriseClusterOutput

type EnterpriseClusterOutput struct{ *pulumi.OutputState }

func (EnterpriseClusterOutput) ElementType

func (EnterpriseClusterOutput) ElementType() reflect.Type

func (EnterpriseClusterOutput) ToEnterpriseClusterOutput

func (o EnterpriseClusterOutput) ToEnterpriseClusterOutput() EnterpriseClusterOutput

func (EnterpriseClusterOutput) ToEnterpriseClusterOutputWithContext

func (o EnterpriseClusterOutput) ToEnterpriseClusterOutputWithContext(ctx context.Context) EnterpriseClusterOutput

type EnterpriseClusterState

type EnterpriseClusterState struct {
	// DNS name of the cluster endpoint.
	Hostname pulumi.StringPtrInput
	// The Azure Region where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	Location pulumi.StringPtrInput
	// The minimum TLS version.  Defaults to `1.2`. Changing this forces a new Redis Enterprise Cluster to be created.
	MinimumTlsVersion pulumi.StringPtrInput
	// The name which should be used for this Redis Enterprise Cluster. Changing this forces a new Redis Enterprise Cluster to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Redis Enterprise Cluster should exist. Changing this forces a new Redis Enterprise Cluster to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The `skuName` is comprised of two segments separated by a hyphen (e.g. `Enterprise_E10-2`). The first segment of the `skuName` defines the `name` of the sku, possible values are `Enterprise_E10`, `Enterprise_E20"`, `Enterprise_E50`, `Enterprise_E100`, `EnterpriseFlash_F300`, `EnterpriseFlash_F700` or `EnterpriseFlash_F1500`. The second segment defines the `capacity` of the `skuName`, possible values for `Enteprise` skus are (`2`, `4`, `6`, ...). Possible values for `EnterpriseFlash` skus are (`3`, `9`, `15`, ...). Changing this forces a new Redis Enterprise Cluster to be created.
	SkuName pulumi.StringPtrInput
	// A mapping of tags which should be assigned to the Redis Enterprise Cluster.
	Tags pulumi.StringMapInput
	// Version of redis the cluster supports, e.g. '6'.
	//
	// Deprecated: This field currently is not yet being returned from the service API, please see https://github.com/Azure/azure-sdk-for-go/issues/14420 for more information
	Version pulumi.StringPtrInput
	// A list of a one or more Availability Zones, where the Redis Cache should be allocated. Possible values are: `1`, `2` and `3`. Changing this forces a new Redis Enterprise Cluster to be created.
	Zones pulumi.StringArrayInput
}

func (EnterpriseClusterState) ElementType

func (EnterpriseClusterState) ElementType() reflect.Type

type EnterpriseDatabase

type EnterpriseDatabase struct {
	pulumi.CustomResourceState

	// Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
	ClientProtocol pulumi.StringPtrOutput `pulumi:"clientProtocol"`
	// The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// Clustering policy - default is OSSCluster. Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
	ClusteringPolicy pulumi.StringPtrOutput `pulumi:"clusteringPolicy"`
	// Redis eviction policy - default is VolatileLRU. Possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Defaults to `VolatileLRU`. Changing this forces a new Redis Enterprise Database to be created.
	EvictionPolicy pulumi.StringPtrOutput `pulumi:"evictionPolicy"`
	// A `module` block as defined below.
	Modules EnterpriseDatabaseModuleArrayOutput `pulumi:"modules"`
	// The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// The Primary Access Key for the Redis Enterprise Database Instance.
	PrimaryAccessKey pulumi.StringOutput `pulumi:"primaryAccessKey"`
	// The name of the Resource Group where the Redis Enterprise Database should exist. Changing this forces a new Redis Enterprise Database to be created.
	//
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The Secondary Access Key for the Redis Enterprise Database Instance.
	SecondaryAccessKey pulumi.StringOutput `pulumi:"secondaryAccessKey"`
}

Manages a Redis Enterprise Database.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleEnterpriseCluster, err := redis.NewEnterpriseCluster(ctx, "exampleEnterpriseCluster", &redis.EnterpriseClusterArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			Location:          exampleResourceGroup.Location,
			SkuName:           pulumi.String("Enterprise_E20-4"),
		})
		if err != nil {
			return err
		}
		_, err = redis.NewEnterpriseDatabase(ctx, "exampleEnterpriseDatabase", &redis.EnterpriseDatabaseArgs{
			ResourceGroupName: exampleResourceGroup.Name,
			ClusterId:         exampleEnterpriseCluster.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redis Enterprise Databases can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:redis/enterpriseDatabase:EnterpriseDatabase example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/redisEnterprise/cluster1/databases/database1

```

func GetEnterpriseDatabase

func GetEnterpriseDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnterpriseDatabaseState, opts ...pulumi.ResourceOption) (*EnterpriseDatabase, error)

GetEnterpriseDatabase gets an existing EnterpriseDatabase 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 NewEnterpriseDatabase

func NewEnterpriseDatabase(ctx *pulumi.Context,
	name string, args *EnterpriseDatabaseArgs, opts ...pulumi.ResourceOption) (*EnterpriseDatabase, error)

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

func (*EnterpriseDatabase) ElementType

func (*EnterpriseDatabase) ElementType() reflect.Type

func (*EnterpriseDatabase) ToEnterpriseDatabaseOutput

func (i *EnterpriseDatabase) ToEnterpriseDatabaseOutput() EnterpriseDatabaseOutput

func (*EnterpriseDatabase) ToEnterpriseDatabaseOutputWithContext

func (i *EnterpriseDatabase) ToEnterpriseDatabaseOutputWithContext(ctx context.Context) EnterpriseDatabaseOutput

type EnterpriseDatabaseArgs

type EnterpriseDatabaseArgs struct {
	// Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
	ClientProtocol pulumi.StringPtrInput
	// The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
	ClusterId pulumi.StringInput
	// Clustering policy - default is OSSCluster. Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
	ClusteringPolicy pulumi.StringPtrInput
	// Redis eviction policy - default is VolatileLRU. Possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Defaults to `VolatileLRU`. Changing this forces a new Redis Enterprise Database to be created.
	EvictionPolicy pulumi.StringPtrInput
	// A `module` block as defined below.
	Modules EnterpriseDatabaseModuleArrayInput
	// The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
	Name pulumi.StringPtrInput
	// TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created.
	Port pulumi.IntPtrInput
	// The name of the Resource Group where the Redis Enterprise Database should exist. Changing this forces a new Redis Enterprise Database to be created.
	//
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName pulumi.StringPtrInput
}

The set of arguments for constructing a EnterpriseDatabase resource.

func (EnterpriseDatabaseArgs) ElementType

func (EnterpriseDatabaseArgs) ElementType() reflect.Type

type EnterpriseDatabaseArray

type EnterpriseDatabaseArray []EnterpriseDatabaseInput

func (EnterpriseDatabaseArray) ElementType

func (EnterpriseDatabaseArray) ElementType() reflect.Type

func (EnterpriseDatabaseArray) ToEnterpriseDatabaseArrayOutput

func (i EnterpriseDatabaseArray) ToEnterpriseDatabaseArrayOutput() EnterpriseDatabaseArrayOutput

func (EnterpriseDatabaseArray) ToEnterpriseDatabaseArrayOutputWithContext

func (i EnterpriseDatabaseArray) ToEnterpriseDatabaseArrayOutputWithContext(ctx context.Context) EnterpriseDatabaseArrayOutput

type EnterpriseDatabaseArrayInput

type EnterpriseDatabaseArrayInput interface {
	pulumi.Input

	ToEnterpriseDatabaseArrayOutput() EnterpriseDatabaseArrayOutput
	ToEnterpriseDatabaseArrayOutputWithContext(context.Context) EnterpriseDatabaseArrayOutput
}

EnterpriseDatabaseArrayInput is an input type that accepts EnterpriseDatabaseArray and EnterpriseDatabaseArrayOutput values. You can construct a concrete instance of `EnterpriseDatabaseArrayInput` via:

EnterpriseDatabaseArray{ EnterpriseDatabaseArgs{...} }

type EnterpriseDatabaseArrayOutput

type EnterpriseDatabaseArrayOutput struct{ *pulumi.OutputState }

func (EnterpriseDatabaseArrayOutput) ElementType

func (EnterpriseDatabaseArrayOutput) Index

func (EnterpriseDatabaseArrayOutput) ToEnterpriseDatabaseArrayOutput

func (o EnterpriseDatabaseArrayOutput) ToEnterpriseDatabaseArrayOutput() EnterpriseDatabaseArrayOutput

func (EnterpriseDatabaseArrayOutput) ToEnterpriseDatabaseArrayOutputWithContext

func (o EnterpriseDatabaseArrayOutput) ToEnterpriseDatabaseArrayOutputWithContext(ctx context.Context) EnterpriseDatabaseArrayOutput

type EnterpriseDatabaseInput

type EnterpriseDatabaseInput interface {
	pulumi.Input

	ToEnterpriseDatabaseOutput() EnterpriseDatabaseOutput
	ToEnterpriseDatabaseOutputWithContext(ctx context.Context) EnterpriseDatabaseOutput
}

type EnterpriseDatabaseMap

type EnterpriseDatabaseMap map[string]EnterpriseDatabaseInput

func (EnterpriseDatabaseMap) ElementType

func (EnterpriseDatabaseMap) ElementType() reflect.Type

func (EnterpriseDatabaseMap) ToEnterpriseDatabaseMapOutput

func (i EnterpriseDatabaseMap) ToEnterpriseDatabaseMapOutput() EnterpriseDatabaseMapOutput

func (EnterpriseDatabaseMap) ToEnterpriseDatabaseMapOutputWithContext

func (i EnterpriseDatabaseMap) ToEnterpriseDatabaseMapOutputWithContext(ctx context.Context) EnterpriseDatabaseMapOutput

type EnterpriseDatabaseMapInput

type EnterpriseDatabaseMapInput interface {
	pulumi.Input

	ToEnterpriseDatabaseMapOutput() EnterpriseDatabaseMapOutput
	ToEnterpriseDatabaseMapOutputWithContext(context.Context) EnterpriseDatabaseMapOutput
}

EnterpriseDatabaseMapInput is an input type that accepts EnterpriseDatabaseMap and EnterpriseDatabaseMapOutput values. You can construct a concrete instance of `EnterpriseDatabaseMapInput` via:

EnterpriseDatabaseMap{ "key": EnterpriseDatabaseArgs{...} }

type EnterpriseDatabaseMapOutput

type EnterpriseDatabaseMapOutput struct{ *pulumi.OutputState }

func (EnterpriseDatabaseMapOutput) ElementType

func (EnterpriseDatabaseMapOutput) MapIndex

func (EnterpriseDatabaseMapOutput) ToEnterpriseDatabaseMapOutput

func (o EnterpriseDatabaseMapOutput) ToEnterpriseDatabaseMapOutput() EnterpriseDatabaseMapOutput

func (EnterpriseDatabaseMapOutput) ToEnterpriseDatabaseMapOutputWithContext

func (o EnterpriseDatabaseMapOutput) ToEnterpriseDatabaseMapOutputWithContext(ctx context.Context) EnterpriseDatabaseMapOutput

type EnterpriseDatabaseModule

type EnterpriseDatabaseModule struct {
	// Configuration options for the module (e.g. `ERROR_RATE 0.00 INITIAL_SIZE 400`).
	Args *string `pulumi:"args"`
	// The name which should be used for this module. Possible values are `RediSearch`, `RedisBloom` and `RedisTimeSeries`. Changing this forces a new Redis Enterprise Database to be created.
	Name    string  `pulumi:"name"`
	Version *string `pulumi:"version"`
}

type EnterpriseDatabaseModuleArgs

type EnterpriseDatabaseModuleArgs struct {
	// Configuration options for the module (e.g. `ERROR_RATE 0.00 INITIAL_SIZE 400`).
	Args pulumi.StringPtrInput `pulumi:"args"`
	// The name which should be used for this module. Possible values are `RediSearch`, `RedisBloom` and `RedisTimeSeries`. Changing this forces a new Redis Enterprise Database to be created.
	Name    pulumi.StringInput    `pulumi:"name"`
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (EnterpriseDatabaseModuleArgs) ElementType

func (EnterpriseDatabaseModuleArgs) ToEnterpriseDatabaseModuleOutput

func (i EnterpriseDatabaseModuleArgs) ToEnterpriseDatabaseModuleOutput() EnterpriseDatabaseModuleOutput

func (EnterpriseDatabaseModuleArgs) ToEnterpriseDatabaseModuleOutputWithContext

func (i EnterpriseDatabaseModuleArgs) ToEnterpriseDatabaseModuleOutputWithContext(ctx context.Context) EnterpriseDatabaseModuleOutput

type EnterpriseDatabaseModuleArray

type EnterpriseDatabaseModuleArray []EnterpriseDatabaseModuleInput

func (EnterpriseDatabaseModuleArray) ElementType

func (EnterpriseDatabaseModuleArray) ToEnterpriseDatabaseModuleArrayOutput

func (i EnterpriseDatabaseModuleArray) ToEnterpriseDatabaseModuleArrayOutput() EnterpriseDatabaseModuleArrayOutput

func (EnterpriseDatabaseModuleArray) ToEnterpriseDatabaseModuleArrayOutputWithContext

func (i EnterpriseDatabaseModuleArray) ToEnterpriseDatabaseModuleArrayOutputWithContext(ctx context.Context) EnterpriseDatabaseModuleArrayOutput

type EnterpriseDatabaseModuleArrayInput

type EnterpriseDatabaseModuleArrayInput interface {
	pulumi.Input

	ToEnterpriseDatabaseModuleArrayOutput() EnterpriseDatabaseModuleArrayOutput
	ToEnterpriseDatabaseModuleArrayOutputWithContext(context.Context) EnterpriseDatabaseModuleArrayOutput
}

EnterpriseDatabaseModuleArrayInput is an input type that accepts EnterpriseDatabaseModuleArray and EnterpriseDatabaseModuleArrayOutput values. You can construct a concrete instance of `EnterpriseDatabaseModuleArrayInput` via:

EnterpriseDatabaseModuleArray{ EnterpriseDatabaseModuleArgs{...} }

type EnterpriseDatabaseModuleArrayOutput

type EnterpriseDatabaseModuleArrayOutput struct{ *pulumi.OutputState }

func (EnterpriseDatabaseModuleArrayOutput) ElementType

func (EnterpriseDatabaseModuleArrayOutput) Index

func (EnterpriseDatabaseModuleArrayOutput) ToEnterpriseDatabaseModuleArrayOutput

func (o EnterpriseDatabaseModuleArrayOutput) ToEnterpriseDatabaseModuleArrayOutput() EnterpriseDatabaseModuleArrayOutput

func (EnterpriseDatabaseModuleArrayOutput) ToEnterpriseDatabaseModuleArrayOutputWithContext

func (o EnterpriseDatabaseModuleArrayOutput) ToEnterpriseDatabaseModuleArrayOutputWithContext(ctx context.Context) EnterpriseDatabaseModuleArrayOutput

type EnterpriseDatabaseModuleInput

type EnterpriseDatabaseModuleInput interface {
	pulumi.Input

	ToEnterpriseDatabaseModuleOutput() EnterpriseDatabaseModuleOutput
	ToEnterpriseDatabaseModuleOutputWithContext(context.Context) EnterpriseDatabaseModuleOutput
}

EnterpriseDatabaseModuleInput is an input type that accepts EnterpriseDatabaseModuleArgs and EnterpriseDatabaseModuleOutput values. You can construct a concrete instance of `EnterpriseDatabaseModuleInput` via:

EnterpriseDatabaseModuleArgs{...}

type EnterpriseDatabaseModuleOutput

type EnterpriseDatabaseModuleOutput struct{ *pulumi.OutputState }

func (EnterpriseDatabaseModuleOutput) Args

Configuration options for the module (e.g. `ERROR_RATE 0.00 INITIAL_SIZE 400`).

func (EnterpriseDatabaseModuleOutput) ElementType

func (EnterpriseDatabaseModuleOutput) Name

The name which should be used for this module. Possible values are `RediSearch`, `RedisBloom` and `RedisTimeSeries`. Changing this forces a new Redis Enterprise Database to be created.

func (EnterpriseDatabaseModuleOutput) ToEnterpriseDatabaseModuleOutput

func (o EnterpriseDatabaseModuleOutput) ToEnterpriseDatabaseModuleOutput() EnterpriseDatabaseModuleOutput

func (EnterpriseDatabaseModuleOutput) ToEnterpriseDatabaseModuleOutputWithContext

func (o EnterpriseDatabaseModuleOutput) ToEnterpriseDatabaseModuleOutputWithContext(ctx context.Context) EnterpriseDatabaseModuleOutput

func (EnterpriseDatabaseModuleOutput) Version

type EnterpriseDatabaseOutput

type EnterpriseDatabaseOutput struct{ *pulumi.OutputState }

func (EnterpriseDatabaseOutput) ElementType

func (EnterpriseDatabaseOutput) ElementType() reflect.Type

func (EnterpriseDatabaseOutput) ToEnterpriseDatabaseOutput

func (o EnterpriseDatabaseOutput) ToEnterpriseDatabaseOutput() EnterpriseDatabaseOutput

func (EnterpriseDatabaseOutput) ToEnterpriseDatabaseOutputWithContext

func (o EnterpriseDatabaseOutput) ToEnterpriseDatabaseOutputWithContext(ctx context.Context) EnterpriseDatabaseOutput

type EnterpriseDatabaseState

type EnterpriseDatabaseState struct {
	// Specifies whether redis clients can connect using TLS-encrypted or plaintext redis protocols. Default is TLS-encrypted. Possible values are `Encrypted` and `Plaintext`. Defaults to `Encrypted`. Changing this forces a new Redis Enterprise Database to be created.
	ClientProtocol pulumi.StringPtrInput
	// The resource id of the Redis Enterprise Cluster to deploy this Redis Enterprise Database. Changing this forces a new Redis Enterprise Database to be created.
	ClusterId pulumi.StringPtrInput
	// Clustering policy - default is OSSCluster. Specified at create time. Possible values are `EnterpriseCluster` and `OSSCluster`. Defaults to `OSSCluster`. Changing this forces a new Redis Enterprise Database to be created.
	ClusteringPolicy pulumi.StringPtrInput
	// Redis eviction policy - default is VolatileLRU. Possible values are `AllKeysLFU`, `AllKeysLRU`, `AllKeysRandom`, `VolatileLRU`, `VolatileLFU`, `VolatileTTL`, `VolatileRandom` and `NoEviction`. Defaults to `VolatileLRU`. Changing this forces a new Redis Enterprise Database to be created.
	EvictionPolicy pulumi.StringPtrInput
	// A `module` block as defined below.
	Modules EnterpriseDatabaseModuleArrayInput
	// The name which should be used for this Redis Enterprise Database. Currently the acceptable value for this argument is `default`. Defaults to `default`. Changing this forces a new Redis Enterprise Database to be created.
	Name pulumi.StringPtrInput
	// TCP port of the database endpoint. Specified at create time. Defaults to an available port. Changing this forces a new Redis Enterprise Database to be created.
	Port pulumi.IntPtrInput
	// The Primary Access Key for the Redis Enterprise Database Instance.
	PrimaryAccessKey pulumi.StringPtrInput
	// The name of the Resource Group where the Redis Enterprise Database should exist. Changing this forces a new Redis Enterprise Database to be created.
	//
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName pulumi.StringPtrInput
	// The Secondary Access Key for the Redis Enterprise Database Instance.
	SecondaryAccessKey pulumi.StringPtrInput
}

func (EnterpriseDatabaseState) ElementType

func (EnterpriseDatabaseState) ElementType() reflect.Type

type FirewallRule

type FirewallRule struct {
	pulumi.CustomResourceState

	// The highest IP address included in the range.
	EndIp pulumi.StringOutput `pulumi:"endIp"`
	// The name of the Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Redis Cache. Changing this forces a new resource to be created.
	RedisCacheName pulumi.StringOutput `pulumi:"redisCacheName"`
	// The name of the resource group in which this Redis Cache exists.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The lowest IP address included in the range
	StartIp pulumi.StringOutput `pulumi:"startIp"`
}

Manages a Firewall Rule associated with a Redis Cache.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := random.NewRandomId(ctx, "server", &random.RandomIdArgs{
			Keepers: pulumi.AnyMap{
				"azi_id": pulumi.Any(1),
			},
			ByteLength: pulumi.Int(8),
		})
		if err != nil {
			return err
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleCache, err := redis.NewCache(ctx, "exampleCache", &redis.CacheArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Capacity:          pulumi.Int(1),
			Family:            pulumi.String("P"),
			SkuName:           pulumi.String("Premium"),
			EnableNonSslPort:  pulumi.Bool(false),
			RedisConfiguration: &redis.CacheRedisConfigurationArgs{
				Maxclients:        pulumi.Int(256),
				MaxmemoryReserved: pulumi.Int(2),
				MaxmemoryDelta:    pulumi.Int(2),
				MaxmemoryPolicy:   pulumi.String("allkeys-lru"),
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewFirewallRule(ctx, "exampleFirewallRule", &redis.FirewallRuleArgs{
			RedisCacheName:    exampleCache.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			StartIp:           pulumi.String("1.2.3.4"),
			EndIp:             pulumi.String("2.3.4.5"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redis Firewall Rules can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:redis/firewallRule:FirewallRule rule1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/Redis/cache1/firewallRules/rule1

```

func GetFirewallRule

func GetFirewallRule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FirewallRuleState, opts ...pulumi.ResourceOption) (*FirewallRule, error)

GetFirewallRule gets an existing FirewallRule 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 NewFirewallRule

func NewFirewallRule(ctx *pulumi.Context,
	name string, args *FirewallRuleArgs, opts ...pulumi.ResourceOption) (*FirewallRule, error)

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

func (*FirewallRule) ElementType

func (*FirewallRule) ElementType() reflect.Type

func (*FirewallRule) ToFirewallRuleOutput

func (i *FirewallRule) ToFirewallRuleOutput() FirewallRuleOutput

func (*FirewallRule) ToFirewallRuleOutputWithContext

func (i *FirewallRule) ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput

type FirewallRuleArgs

type FirewallRuleArgs struct {
	// The highest IP address included in the range.
	EndIp pulumi.StringInput
	// The name of the Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Redis Cache. Changing this forces a new resource to be created.
	RedisCacheName pulumi.StringInput
	// The name of the resource group in which this Redis Cache exists.
	ResourceGroupName pulumi.StringInput
	// The lowest IP address included in the range
	StartIp pulumi.StringInput
}

The set of arguments for constructing a FirewallRule resource.

func (FirewallRuleArgs) ElementType

func (FirewallRuleArgs) ElementType() reflect.Type

type FirewallRuleArray

type FirewallRuleArray []FirewallRuleInput

func (FirewallRuleArray) ElementType

func (FirewallRuleArray) ElementType() reflect.Type

func (FirewallRuleArray) ToFirewallRuleArrayOutput

func (i FirewallRuleArray) ToFirewallRuleArrayOutput() FirewallRuleArrayOutput

func (FirewallRuleArray) ToFirewallRuleArrayOutputWithContext

func (i FirewallRuleArray) ToFirewallRuleArrayOutputWithContext(ctx context.Context) FirewallRuleArrayOutput

type FirewallRuleArrayInput

type FirewallRuleArrayInput interface {
	pulumi.Input

	ToFirewallRuleArrayOutput() FirewallRuleArrayOutput
	ToFirewallRuleArrayOutputWithContext(context.Context) FirewallRuleArrayOutput
}

FirewallRuleArrayInput is an input type that accepts FirewallRuleArray and FirewallRuleArrayOutput values. You can construct a concrete instance of `FirewallRuleArrayInput` via:

FirewallRuleArray{ FirewallRuleArgs{...} }

type FirewallRuleArrayOutput

type FirewallRuleArrayOutput struct{ *pulumi.OutputState }

func (FirewallRuleArrayOutput) ElementType

func (FirewallRuleArrayOutput) ElementType() reflect.Type

func (FirewallRuleArrayOutput) Index

func (FirewallRuleArrayOutput) ToFirewallRuleArrayOutput

func (o FirewallRuleArrayOutput) ToFirewallRuleArrayOutput() FirewallRuleArrayOutput

func (FirewallRuleArrayOutput) ToFirewallRuleArrayOutputWithContext

func (o FirewallRuleArrayOutput) ToFirewallRuleArrayOutputWithContext(ctx context.Context) FirewallRuleArrayOutput

type FirewallRuleInput

type FirewallRuleInput interface {
	pulumi.Input

	ToFirewallRuleOutput() FirewallRuleOutput
	ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput
}

type FirewallRuleMap

type FirewallRuleMap map[string]FirewallRuleInput

func (FirewallRuleMap) ElementType

func (FirewallRuleMap) ElementType() reflect.Type

func (FirewallRuleMap) ToFirewallRuleMapOutput

func (i FirewallRuleMap) ToFirewallRuleMapOutput() FirewallRuleMapOutput

func (FirewallRuleMap) ToFirewallRuleMapOutputWithContext

func (i FirewallRuleMap) ToFirewallRuleMapOutputWithContext(ctx context.Context) FirewallRuleMapOutput

type FirewallRuleMapInput

type FirewallRuleMapInput interface {
	pulumi.Input

	ToFirewallRuleMapOutput() FirewallRuleMapOutput
	ToFirewallRuleMapOutputWithContext(context.Context) FirewallRuleMapOutput
}

FirewallRuleMapInput is an input type that accepts FirewallRuleMap and FirewallRuleMapOutput values. You can construct a concrete instance of `FirewallRuleMapInput` via:

FirewallRuleMap{ "key": FirewallRuleArgs{...} }

type FirewallRuleMapOutput

type FirewallRuleMapOutput struct{ *pulumi.OutputState }

func (FirewallRuleMapOutput) ElementType

func (FirewallRuleMapOutput) ElementType() reflect.Type

func (FirewallRuleMapOutput) MapIndex

func (FirewallRuleMapOutput) ToFirewallRuleMapOutput

func (o FirewallRuleMapOutput) ToFirewallRuleMapOutput() FirewallRuleMapOutput

func (FirewallRuleMapOutput) ToFirewallRuleMapOutputWithContext

func (o FirewallRuleMapOutput) ToFirewallRuleMapOutputWithContext(ctx context.Context) FirewallRuleMapOutput

type FirewallRuleOutput

type FirewallRuleOutput struct{ *pulumi.OutputState }

func (FirewallRuleOutput) ElementType

func (FirewallRuleOutput) ElementType() reflect.Type

func (FirewallRuleOutput) ToFirewallRuleOutput

func (o FirewallRuleOutput) ToFirewallRuleOutput() FirewallRuleOutput

func (FirewallRuleOutput) ToFirewallRuleOutputWithContext

func (o FirewallRuleOutput) ToFirewallRuleOutputWithContext(ctx context.Context) FirewallRuleOutput

type FirewallRuleState

type FirewallRuleState struct {
	// The highest IP address included in the range.
	EndIp pulumi.StringPtrInput
	// The name of the Firewall Rule. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the Redis Cache. Changing this forces a new resource to be created.
	RedisCacheName pulumi.StringPtrInput
	// The name of the resource group in which this Redis Cache exists.
	ResourceGroupName pulumi.StringPtrInput
	// The lowest IP address included in the range
	StartIp pulumi.StringPtrInput
}

func (FirewallRuleState) ElementType

func (FirewallRuleState) ElementType() reflect.Type

type GetCachePatchSchedule

type GetCachePatchSchedule struct {
	// the Weekday name for the patch item
	DayOfWeek string `pulumi:"dayOfWeek"`
	// The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated.
	MaintenanceWindow string `pulumi:"maintenanceWindow"`
	// The Start Hour for maintenance in UTC
	StartHourUtc int `pulumi:"startHourUtc"`
}

type GetCachePatchScheduleArgs

type GetCachePatchScheduleArgs struct {
	// the Weekday name for the patch item
	DayOfWeek pulumi.StringInput `pulumi:"dayOfWeek"`
	// The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated.
	MaintenanceWindow pulumi.StringInput `pulumi:"maintenanceWindow"`
	// The Start Hour for maintenance in UTC
	StartHourUtc pulumi.IntInput `pulumi:"startHourUtc"`
}

func (GetCachePatchScheduleArgs) ElementType

func (GetCachePatchScheduleArgs) ElementType() reflect.Type

func (GetCachePatchScheduleArgs) ToGetCachePatchScheduleOutput

func (i GetCachePatchScheduleArgs) ToGetCachePatchScheduleOutput() GetCachePatchScheduleOutput

func (GetCachePatchScheduleArgs) ToGetCachePatchScheduleOutputWithContext

func (i GetCachePatchScheduleArgs) ToGetCachePatchScheduleOutputWithContext(ctx context.Context) GetCachePatchScheduleOutput

type GetCachePatchScheduleArray

type GetCachePatchScheduleArray []GetCachePatchScheduleInput

func (GetCachePatchScheduleArray) ElementType

func (GetCachePatchScheduleArray) ElementType() reflect.Type

func (GetCachePatchScheduleArray) ToGetCachePatchScheduleArrayOutput

func (i GetCachePatchScheduleArray) ToGetCachePatchScheduleArrayOutput() GetCachePatchScheduleArrayOutput

func (GetCachePatchScheduleArray) ToGetCachePatchScheduleArrayOutputWithContext

func (i GetCachePatchScheduleArray) ToGetCachePatchScheduleArrayOutputWithContext(ctx context.Context) GetCachePatchScheduleArrayOutput

type GetCachePatchScheduleArrayInput

type GetCachePatchScheduleArrayInput interface {
	pulumi.Input

	ToGetCachePatchScheduleArrayOutput() GetCachePatchScheduleArrayOutput
	ToGetCachePatchScheduleArrayOutputWithContext(context.Context) GetCachePatchScheduleArrayOutput
}

GetCachePatchScheduleArrayInput is an input type that accepts GetCachePatchScheduleArray and GetCachePatchScheduleArrayOutput values. You can construct a concrete instance of `GetCachePatchScheduleArrayInput` via:

GetCachePatchScheduleArray{ GetCachePatchScheduleArgs{...} }

type GetCachePatchScheduleArrayOutput

type GetCachePatchScheduleArrayOutput struct{ *pulumi.OutputState }

func (GetCachePatchScheduleArrayOutput) ElementType

func (GetCachePatchScheduleArrayOutput) Index

func (GetCachePatchScheduleArrayOutput) ToGetCachePatchScheduleArrayOutput

func (o GetCachePatchScheduleArrayOutput) ToGetCachePatchScheduleArrayOutput() GetCachePatchScheduleArrayOutput

func (GetCachePatchScheduleArrayOutput) ToGetCachePatchScheduleArrayOutputWithContext

func (o GetCachePatchScheduleArrayOutput) ToGetCachePatchScheduleArrayOutputWithContext(ctx context.Context) GetCachePatchScheduleArrayOutput

type GetCachePatchScheduleInput

type GetCachePatchScheduleInput interface {
	pulumi.Input

	ToGetCachePatchScheduleOutput() GetCachePatchScheduleOutput
	ToGetCachePatchScheduleOutputWithContext(context.Context) GetCachePatchScheduleOutput
}

GetCachePatchScheduleInput is an input type that accepts GetCachePatchScheduleArgs and GetCachePatchScheduleOutput values. You can construct a concrete instance of `GetCachePatchScheduleInput` via:

GetCachePatchScheduleArgs{...}

type GetCachePatchScheduleOutput

type GetCachePatchScheduleOutput struct{ *pulumi.OutputState }

func (GetCachePatchScheduleOutput) DayOfWeek

the Weekday name for the patch item

func (GetCachePatchScheduleOutput) ElementType

func (GetCachePatchScheduleOutput) MaintenanceWindow added in v4.13.0

func (o GetCachePatchScheduleOutput) MaintenanceWindow() pulumi.StringOutput

The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated.

func (GetCachePatchScheduleOutput) StartHourUtc

func (o GetCachePatchScheduleOutput) StartHourUtc() pulumi.IntOutput

The Start Hour for maintenance in UTC

func (GetCachePatchScheduleOutput) ToGetCachePatchScheduleOutput

func (o GetCachePatchScheduleOutput) ToGetCachePatchScheduleOutput() GetCachePatchScheduleOutput

func (GetCachePatchScheduleOutput) ToGetCachePatchScheduleOutputWithContext

func (o GetCachePatchScheduleOutput) ToGetCachePatchScheduleOutputWithContext(ctx context.Context) GetCachePatchScheduleOutput

type GetCacheRedisConfiguration

type GetCacheRedisConfiguration struct {
	AofBackupEnabled            bool   `pulumi:"aofBackupEnabled"`
	AofStorageConnectionString0 string `pulumi:"aofStorageConnectionString0"`
	AofStorageConnectionString1 string `pulumi:"aofStorageConnectionString1"`
	// Specifies if authentication is enabled
	EnableAuthentication bool `pulumi:"enableAuthentication"`
	Maxclients           int  `pulumi:"maxclients"`
	// Value in megabytes reserved to accommodate for memory fragmentation.
	MaxfragmentationmemoryReserved int `pulumi:"maxfragmentationmemoryReserved"`
	// The max-memory delta for this Redis instance.
	MaxmemoryDelta int `pulumi:"maxmemoryDelta"`
	// How Redis will select what to remove when `maxmemory` is reached.
	MaxmemoryPolicy string `pulumi:"maxmemoryPolicy"`
	// The value in megabytes reserved for non-cache usage e.g. failover
	MaxmemoryReserved    int    `pulumi:"maxmemoryReserved"`
	NotifyKeyspaceEvents string `pulumi:"notifyKeyspaceEvents"`
	// Is Backup Enabled? Only supported on Premium SKU's.
	RdbBackupEnabled bool `pulumi:"rdbBackupEnabled"`
	// The Backup Frequency in Minutes. Only supported on Premium SKU's.
	RdbBackupFrequency int `pulumi:"rdbBackupFrequency"`
	// The maximum number of snapshots that can be created as a backup.
	RdbBackupMaxSnapshotCount int `pulumi:"rdbBackupMaxSnapshotCount"`
	// The Connection String to the Storage Account. Only supported for Premium SKU's.
	RdbStorageConnectionString string `pulumi:"rdbStorageConnectionString"`
}

type GetCacheRedisConfigurationArgs

type GetCacheRedisConfigurationArgs struct {
	AofBackupEnabled            pulumi.BoolInput   `pulumi:"aofBackupEnabled"`
	AofStorageConnectionString0 pulumi.StringInput `pulumi:"aofStorageConnectionString0"`
	AofStorageConnectionString1 pulumi.StringInput `pulumi:"aofStorageConnectionString1"`
	// Specifies if authentication is enabled
	EnableAuthentication pulumi.BoolInput `pulumi:"enableAuthentication"`
	Maxclients           pulumi.IntInput  `pulumi:"maxclients"`
	// Value in megabytes reserved to accommodate for memory fragmentation.
	MaxfragmentationmemoryReserved pulumi.IntInput `pulumi:"maxfragmentationmemoryReserved"`
	// The max-memory delta for this Redis instance.
	MaxmemoryDelta pulumi.IntInput `pulumi:"maxmemoryDelta"`
	// How Redis will select what to remove when `maxmemory` is reached.
	MaxmemoryPolicy pulumi.StringInput `pulumi:"maxmemoryPolicy"`
	// The value in megabytes reserved for non-cache usage e.g. failover
	MaxmemoryReserved    pulumi.IntInput    `pulumi:"maxmemoryReserved"`
	NotifyKeyspaceEvents pulumi.StringInput `pulumi:"notifyKeyspaceEvents"`
	// Is Backup Enabled? Only supported on Premium SKU's.
	RdbBackupEnabled pulumi.BoolInput `pulumi:"rdbBackupEnabled"`
	// The Backup Frequency in Minutes. Only supported on Premium SKU's.
	RdbBackupFrequency pulumi.IntInput `pulumi:"rdbBackupFrequency"`
	// The maximum number of snapshots that can be created as a backup.
	RdbBackupMaxSnapshotCount pulumi.IntInput `pulumi:"rdbBackupMaxSnapshotCount"`
	// The Connection String to the Storage Account. Only supported for Premium SKU's.
	RdbStorageConnectionString pulumi.StringInput `pulumi:"rdbStorageConnectionString"`
}

func (GetCacheRedisConfigurationArgs) ElementType

func (GetCacheRedisConfigurationArgs) ToGetCacheRedisConfigurationOutput

func (i GetCacheRedisConfigurationArgs) ToGetCacheRedisConfigurationOutput() GetCacheRedisConfigurationOutput

func (GetCacheRedisConfigurationArgs) ToGetCacheRedisConfigurationOutputWithContext

func (i GetCacheRedisConfigurationArgs) ToGetCacheRedisConfigurationOutputWithContext(ctx context.Context) GetCacheRedisConfigurationOutput

type GetCacheRedisConfigurationArray

type GetCacheRedisConfigurationArray []GetCacheRedisConfigurationInput

func (GetCacheRedisConfigurationArray) ElementType

func (GetCacheRedisConfigurationArray) ToGetCacheRedisConfigurationArrayOutput

func (i GetCacheRedisConfigurationArray) ToGetCacheRedisConfigurationArrayOutput() GetCacheRedisConfigurationArrayOutput

func (GetCacheRedisConfigurationArray) ToGetCacheRedisConfigurationArrayOutputWithContext

func (i GetCacheRedisConfigurationArray) ToGetCacheRedisConfigurationArrayOutputWithContext(ctx context.Context) GetCacheRedisConfigurationArrayOutput

type GetCacheRedisConfigurationArrayInput

type GetCacheRedisConfigurationArrayInput interface {
	pulumi.Input

	ToGetCacheRedisConfigurationArrayOutput() GetCacheRedisConfigurationArrayOutput
	ToGetCacheRedisConfigurationArrayOutputWithContext(context.Context) GetCacheRedisConfigurationArrayOutput
}

GetCacheRedisConfigurationArrayInput is an input type that accepts GetCacheRedisConfigurationArray and GetCacheRedisConfigurationArrayOutput values. You can construct a concrete instance of `GetCacheRedisConfigurationArrayInput` via:

GetCacheRedisConfigurationArray{ GetCacheRedisConfigurationArgs{...} }

type GetCacheRedisConfigurationArrayOutput

type GetCacheRedisConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetCacheRedisConfigurationArrayOutput) ElementType

func (GetCacheRedisConfigurationArrayOutput) Index

func (GetCacheRedisConfigurationArrayOutput) ToGetCacheRedisConfigurationArrayOutput

func (o GetCacheRedisConfigurationArrayOutput) ToGetCacheRedisConfigurationArrayOutput() GetCacheRedisConfigurationArrayOutput

func (GetCacheRedisConfigurationArrayOutput) ToGetCacheRedisConfigurationArrayOutputWithContext

func (o GetCacheRedisConfigurationArrayOutput) ToGetCacheRedisConfigurationArrayOutputWithContext(ctx context.Context) GetCacheRedisConfigurationArrayOutput

type GetCacheRedisConfigurationInput

type GetCacheRedisConfigurationInput interface {
	pulumi.Input

	ToGetCacheRedisConfigurationOutput() GetCacheRedisConfigurationOutput
	ToGetCacheRedisConfigurationOutputWithContext(context.Context) GetCacheRedisConfigurationOutput
}

GetCacheRedisConfigurationInput is an input type that accepts GetCacheRedisConfigurationArgs and GetCacheRedisConfigurationOutput values. You can construct a concrete instance of `GetCacheRedisConfigurationInput` via:

GetCacheRedisConfigurationArgs{...}

type GetCacheRedisConfigurationOutput

type GetCacheRedisConfigurationOutput struct{ *pulumi.OutputState }

func (GetCacheRedisConfigurationOutput) AofBackupEnabled

func (o GetCacheRedisConfigurationOutput) AofBackupEnabled() pulumi.BoolOutput

func (GetCacheRedisConfigurationOutput) AofStorageConnectionString0

func (o GetCacheRedisConfigurationOutput) AofStorageConnectionString0() pulumi.StringOutput

func (GetCacheRedisConfigurationOutput) AofStorageConnectionString1

func (o GetCacheRedisConfigurationOutput) AofStorageConnectionString1() pulumi.StringOutput

func (GetCacheRedisConfigurationOutput) ElementType

func (GetCacheRedisConfigurationOutput) EnableAuthentication

func (o GetCacheRedisConfigurationOutput) EnableAuthentication() pulumi.BoolOutput

Specifies if authentication is enabled

func (GetCacheRedisConfigurationOutput) Maxclients

func (GetCacheRedisConfigurationOutput) MaxfragmentationmemoryReserved

func (o GetCacheRedisConfigurationOutput) MaxfragmentationmemoryReserved() pulumi.IntOutput

Value in megabytes reserved to accommodate for memory fragmentation.

func (GetCacheRedisConfigurationOutput) MaxmemoryDelta

The max-memory delta for this Redis instance.

func (GetCacheRedisConfigurationOutput) MaxmemoryPolicy

How Redis will select what to remove when `maxmemory` is reached.

func (GetCacheRedisConfigurationOutput) MaxmemoryReserved

func (o GetCacheRedisConfigurationOutput) MaxmemoryReserved() pulumi.IntOutput

The value in megabytes reserved for non-cache usage e.g. failover

func (GetCacheRedisConfigurationOutput) NotifyKeyspaceEvents

func (o GetCacheRedisConfigurationOutput) NotifyKeyspaceEvents() pulumi.StringOutput

func (GetCacheRedisConfigurationOutput) RdbBackupEnabled

func (o GetCacheRedisConfigurationOutput) RdbBackupEnabled() pulumi.BoolOutput

Is Backup Enabled? Only supported on Premium SKU's.

func (GetCacheRedisConfigurationOutput) RdbBackupFrequency

func (o GetCacheRedisConfigurationOutput) RdbBackupFrequency() pulumi.IntOutput

The Backup Frequency in Minutes. Only supported on Premium SKU's.

func (GetCacheRedisConfigurationOutput) RdbBackupMaxSnapshotCount

func (o GetCacheRedisConfigurationOutput) RdbBackupMaxSnapshotCount() pulumi.IntOutput

The maximum number of snapshots that can be created as a backup.

func (GetCacheRedisConfigurationOutput) RdbStorageConnectionString

func (o GetCacheRedisConfigurationOutput) RdbStorageConnectionString() pulumi.StringOutput

The Connection String to the Storage Account. Only supported for Premium SKU's.

func (GetCacheRedisConfigurationOutput) ToGetCacheRedisConfigurationOutput

func (o GetCacheRedisConfigurationOutput) ToGetCacheRedisConfigurationOutput() GetCacheRedisConfigurationOutput

func (GetCacheRedisConfigurationOutput) ToGetCacheRedisConfigurationOutputWithContext

func (o GetCacheRedisConfigurationOutput) ToGetCacheRedisConfigurationOutputWithContext(ctx context.Context) GetCacheRedisConfigurationOutput

type LinkedServer

type LinkedServer struct {
	pulumi.CustomResourceState

	// The ID of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheId pulumi.StringOutput `pulumi:"linkedRedisCacheId"`
	// The location of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheLocation pulumi.StringOutput `pulumi:"linkedRedisCacheLocation"`
	// The name of the linked server.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The role of the linked Redis cache (eg "Secondary"). Changing this forces a new Redis to be created.
	ServerRole pulumi.StringOutput `pulumi:"serverRole"`
	// The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)
	TargetRedisCacheName pulumi.StringOutput `pulumi:"targetRedisCacheName"`
}

Manages a Redis Linked Server (ie Geo Location)

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := core.NewResourceGroup(ctx, "example-primaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("East US"),
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCache(ctx, "example-primaryCache", &redis.CacheArgs{
			Location:          example_primaryResourceGroup.Location,
			ResourceGroupName: example_primaryResourceGroup.Name,
			Capacity:          pulumi.Int(1),
			Family:            pulumi.String("P"),
			SkuName:           pulumi.String("Premium"),
			EnableNonSslPort:  pulumi.Bool(false),
			RedisConfiguration: &redis.CacheRedisConfigurationArgs{
				MaxmemoryReserved: pulumi.Int(2),
				MaxmemoryDelta:    pulumi.Int(2),
				MaxmemoryPolicy:   pulumi.String("allkeys-lru"),
			},
		})
		if err != nil {
			return err
		}
		_, err = core.NewResourceGroup(ctx, "example-secondaryResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West US"),
		})
		if err != nil {
			return err
		}
		_, err = redis.NewCache(ctx, "example-secondaryCache", &redis.CacheArgs{
			Location:          example_secondaryResourceGroup.Location,
			ResourceGroupName: example_secondaryResourceGroup.Name,
			Capacity:          pulumi.Int(1),
			Family:            pulumi.String("P"),
			SkuName:           pulumi.String("Premium"),
			EnableNonSslPort:  pulumi.Bool(false),
			RedisConfiguration: &redis.CacheRedisConfigurationArgs{
				MaxmemoryReserved: pulumi.Int(2),
				MaxmemoryDelta:    pulumi.Int(2),
				MaxmemoryPolicy:   pulumi.String("allkeys-lru"),
			},
		})
		if err != nil {
			return err
		}
		_, err = redis.NewLinkedServer(ctx, "example-link", &redis.LinkedServerArgs{
			TargetRedisCacheName:     example_primaryCache.Name,
			ResourceGroupName:        example_primaryCache.ResourceGroupName,
			LinkedRedisCacheId:       example_secondaryCache.ID(),
			LinkedRedisCacheLocation: example_secondaryCache.Location,
			ServerRole:               pulumi.String("Secondary"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Redis can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:redis/linkedServer:LinkedServer example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Cache/Redis/cache1/linkedServers/cache2

```

func GetLinkedServer

func GetLinkedServer(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LinkedServerState, opts ...pulumi.ResourceOption) (*LinkedServer, error)

GetLinkedServer gets an existing LinkedServer 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 NewLinkedServer

func NewLinkedServer(ctx *pulumi.Context,
	name string, args *LinkedServerArgs, opts ...pulumi.ResourceOption) (*LinkedServer, error)

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

func (*LinkedServer) ElementType

func (*LinkedServer) ElementType() reflect.Type

func (*LinkedServer) ToLinkedServerOutput

func (i *LinkedServer) ToLinkedServerOutput() LinkedServerOutput

func (*LinkedServer) ToLinkedServerOutputWithContext

func (i *LinkedServer) ToLinkedServerOutputWithContext(ctx context.Context) LinkedServerOutput

type LinkedServerArgs

type LinkedServerArgs struct {
	// The ID of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheId pulumi.StringInput
	// The location of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheLocation pulumi.StringInput
	// The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.
	ResourceGroupName pulumi.StringInput
	// The role of the linked Redis cache (eg "Secondary"). Changing this forces a new Redis to be created.
	ServerRole pulumi.StringInput
	// The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)
	TargetRedisCacheName pulumi.StringInput
}

The set of arguments for constructing a LinkedServer resource.

func (LinkedServerArgs) ElementType

func (LinkedServerArgs) ElementType() reflect.Type

type LinkedServerArray

type LinkedServerArray []LinkedServerInput

func (LinkedServerArray) ElementType

func (LinkedServerArray) ElementType() reflect.Type

func (LinkedServerArray) ToLinkedServerArrayOutput

func (i LinkedServerArray) ToLinkedServerArrayOutput() LinkedServerArrayOutput

func (LinkedServerArray) ToLinkedServerArrayOutputWithContext

func (i LinkedServerArray) ToLinkedServerArrayOutputWithContext(ctx context.Context) LinkedServerArrayOutput

type LinkedServerArrayInput

type LinkedServerArrayInput interface {
	pulumi.Input

	ToLinkedServerArrayOutput() LinkedServerArrayOutput
	ToLinkedServerArrayOutputWithContext(context.Context) LinkedServerArrayOutput
}

LinkedServerArrayInput is an input type that accepts LinkedServerArray and LinkedServerArrayOutput values. You can construct a concrete instance of `LinkedServerArrayInput` via:

LinkedServerArray{ LinkedServerArgs{...} }

type LinkedServerArrayOutput

type LinkedServerArrayOutput struct{ *pulumi.OutputState }

func (LinkedServerArrayOutput) ElementType

func (LinkedServerArrayOutput) ElementType() reflect.Type

func (LinkedServerArrayOutput) Index

func (LinkedServerArrayOutput) ToLinkedServerArrayOutput

func (o LinkedServerArrayOutput) ToLinkedServerArrayOutput() LinkedServerArrayOutput

func (LinkedServerArrayOutput) ToLinkedServerArrayOutputWithContext

func (o LinkedServerArrayOutput) ToLinkedServerArrayOutputWithContext(ctx context.Context) LinkedServerArrayOutput

type LinkedServerInput

type LinkedServerInput interface {
	pulumi.Input

	ToLinkedServerOutput() LinkedServerOutput
	ToLinkedServerOutputWithContext(ctx context.Context) LinkedServerOutput
}

type LinkedServerMap

type LinkedServerMap map[string]LinkedServerInput

func (LinkedServerMap) ElementType

func (LinkedServerMap) ElementType() reflect.Type

func (LinkedServerMap) ToLinkedServerMapOutput

func (i LinkedServerMap) ToLinkedServerMapOutput() LinkedServerMapOutput

func (LinkedServerMap) ToLinkedServerMapOutputWithContext

func (i LinkedServerMap) ToLinkedServerMapOutputWithContext(ctx context.Context) LinkedServerMapOutput

type LinkedServerMapInput

type LinkedServerMapInput interface {
	pulumi.Input

	ToLinkedServerMapOutput() LinkedServerMapOutput
	ToLinkedServerMapOutputWithContext(context.Context) LinkedServerMapOutput
}

LinkedServerMapInput is an input type that accepts LinkedServerMap and LinkedServerMapOutput values. You can construct a concrete instance of `LinkedServerMapInput` via:

LinkedServerMap{ "key": LinkedServerArgs{...} }

type LinkedServerMapOutput

type LinkedServerMapOutput struct{ *pulumi.OutputState }

func (LinkedServerMapOutput) ElementType

func (LinkedServerMapOutput) ElementType() reflect.Type

func (LinkedServerMapOutput) MapIndex

func (LinkedServerMapOutput) ToLinkedServerMapOutput

func (o LinkedServerMapOutput) ToLinkedServerMapOutput() LinkedServerMapOutput

func (LinkedServerMapOutput) ToLinkedServerMapOutputWithContext

func (o LinkedServerMapOutput) ToLinkedServerMapOutputWithContext(ctx context.Context) LinkedServerMapOutput

type LinkedServerOutput

type LinkedServerOutput struct{ *pulumi.OutputState }

func (LinkedServerOutput) ElementType

func (LinkedServerOutput) ElementType() reflect.Type

func (LinkedServerOutput) ToLinkedServerOutput

func (o LinkedServerOutput) ToLinkedServerOutput() LinkedServerOutput

func (LinkedServerOutput) ToLinkedServerOutputWithContext

func (o LinkedServerOutput) ToLinkedServerOutputWithContext(ctx context.Context) LinkedServerOutput

type LinkedServerState

type LinkedServerState struct {
	// The ID of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheId pulumi.StringPtrInput
	// The location of the linked Redis cache. Changing this forces a new Redis to be created.
	LinkedRedisCacheLocation pulumi.StringPtrInput
	// The name of the linked server.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Redis caches exists. Changing this forces a new Redis to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The role of the linked Redis cache (eg "Secondary"). Changing this forces a new Redis to be created.
	ServerRole pulumi.StringPtrInput
	// The name of Redis cache to link with. Changing this forces a new Redis to be created. (eg The primary role)
	TargetRedisCacheName pulumi.StringPtrInput
}

func (LinkedServerState) ElementType

func (LinkedServerState) ElementType() reflect.Type

type LookupCacheArgs

type LookupCacheArgs struct {
	// The name of the Redis cache
	Name string `pulumi:"name"`
	// The name of the resource group the Redis cache instance is located in.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getCache.

type LookupCacheOutputArgs added in v4.20.0

type LookupCacheOutputArgs struct {
	// The name of the Redis cache
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group the Redis cache instance is located in.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getCache.

func (LookupCacheOutputArgs) ElementType added in v4.20.0

func (LookupCacheOutputArgs) ElementType() reflect.Type

type LookupCacheResult

type LookupCacheResult struct {
	// The size of the Redis Cache deployed.
	Capacity int `pulumi:"capacity"`
	// Whether the SSL port is enabled.
	EnableNonSslPort bool `pulumi:"enableNonSslPort"`
	// The SKU family/pricing group used. Possible values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)
	Family string `pulumi:"family"`
	// The Hostname of the Redis Instance
	Hostname string `pulumi:"hostname"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The location of the Redis Cache.
	Location string `pulumi:"location"`
	// The minimum TLS version.
	MinimumTlsVersion string `pulumi:"minimumTlsVersion"`
	Name              string `pulumi:"name"`
	// A list of `patchSchedule` blocks as defined below.
	PatchSchedules []GetCachePatchSchedule `pulumi:"patchSchedules"`
	// The non-SSL Port of the Redis Instance
	Port int `pulumi:"port"`
	// The Primary Access Key for the Redis Instance
	PrimaryAccessKey string `pulumi:"primaryAccessKey"`
	// The primary connection string of the Redis Instance.
	PrimaryConnectionString string `pulumi:"primaryConnectionString"`
	PrivateStaticIpAddress  string `pulumi:"privateStaticIpAddress"`
	// A `redisConfiguration` block as defined below.
	RedisConfigurations []GetCacheRedisConfiguration `pulumi:"redisConfigurations"`
	ResourceGroupName   string                       `pulumi:"resourceGroupName"`
	// The Secondary Access Key for the Redis Instance
	SecondaryAccessKey string `pulumi:"secondaryAccessKey"`
	// The secondary connection string of the Redis Instance.
	SecondaryConnectionString string `pulumi:"secondaryConnectionString"`
	ShardCount                int    `pulumi:"shardCount"`
	// The SKU of Redis used. Possible values are `Basic`, `Standard` and `Premium`.
	SkuName string `pulumi:"skuName"`
	// The SSL Port of the Redis Instance
	SslPort  int               `pulumi:"sslPort"`
	SubnetId string            `pulumi:"subnetId"`
	Tags     map[string]string `pulumi:"tags"`
	Zones    []string          `pulumi:"zones"`
}

A collection of values returned by getCache.

func LookupCache

func LookupCache(ctx *pulumi.Context, args *LookupCacheArgs, opts ...pulumi.InvokeOption) (*LookupCacheResult, error)

Use this data source to access information about an existing Redis Cache

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := redis.LookupCache(ctx, &redis.LookupCacheArgs{
			Name:              "myrediscache",
			ResourceGroupName: "redis-cache",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("primaryAccessKey", example.PrimaryAccessKey)
		ctx.Export("hostname", example.Hostname)
		return nil
	})
}

```

type LookupCacheResultOutput added in v4.20.0

type LookupCacheResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCache.

func LookupCacheOutput added in v4.20.0

func LookupCacheOutput(ctx *pulumi.Context, args LookupCacheOutputArgs, opts ...pulumi.InvokeOption) LookupCacheResultOutput

func (LookupCacheResultOutput) Capacity added in v4.20.0

The size of the Redis Cache deployed.

func (LookupCacheResultOutput) ElementType added in v4.20.0

func (LookupCacheResultOutput) ElementType() reflect.Type

func (LookupCacheResultOutput) EnableNonSslPort added in v4.20.0

func (o LookupCacheResultOutput) EnableNonSslPort() pulumi.BoolOutput

Whether the SSL port is enabled.

func (LookupCacheResultOutput) Family added in v4.20.0

The SKU family/pricing group used. Possible values are `C` (for Basic/Standard SKU family) and `P` (for `Premium`)

func (LookupCacheResultOutput) Hostname added in v4.20.0

The Hostname of the Redis Instance

func (LookupCacheResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupCacheResultOutput) Location added in v4.20.0

The location of the Redis Cache.

func (LookupCacheResultOutput) MinimumTlsVersion added in v4.20.0

func (o LookupCacheResultOutput) MinimumTlsVersion() pulumi.StringOutput

The minimum TLS version.

func (LookupCacheResultOutput) Name added in v4.20.0

func (LookupCacheResultOutput) PatchSchedules added in v4.20.0

A list of `patchSchedule` blocks as defined below.

func (LookupCacheResultOutput) Port added in v4.20.0

The non-SSL Port of the Redis Instance

func (LookupCacheResultOutput) PrimaryAccessKey added in v4.20.0

func (o LookupCacheResultOutput) PrimaryAccessKey() pulumi.StringOutput

The Primary Access Key for the Redis Instance

func (LookupCacheResultOutput) PrimaryConnectionString added in v4.20.0

func (o LookupCacheResultOutput) PrimaryConnectionString() pulumi.StringOutput

The primary connection string of the Redis Instance.

func (LookupCacheResultOutput) PrivateStaticIpAddress added in v4.20.0

func (o LookupCacheResultOutput) PrivateStaticIpAddress() pulumi.StringOutput

func (LookupCacheResultOutput) RedisConfigurations added in v4.20.0

A `redisConfiguration` block as defined below.

func (LookupCacheResultOutput) ResourceGroupName added in v4.20.0

func (o LookupCacheResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupCacheResultOutput) SecondaryAccessKey added in v4.20.0

func (o LookupCacheResultOutput) SecondaryAccessKey() pulumi.StringOutput

The Secondary Access Key for the Redis Instance

func (LookupCacheResultOutput) SecondaryConnectionString added in v4.20.0

func (o LookupCacheResultOutput) SecondaryConnectionString() pulumi.StringOutput

The secondary connection string of the Redis Instance.

func (LookupCacheResultOutput) ShardCount added in v4.20.0

func (o LookupCacheResultOutput) ShardCount() pulumi.IntOutput

func (LookupCacheResultOutput) SkuName added in v4.20.0

The SKU of Redis used. Possible values are `Basic`, `Standard` and `Premium`.

func (LookupCacheResultOutput) SslPort added in v4.20.0

The SSL Port of the Redis Instance

func (LookupCacheResultOutput) SubnetId added in v4.20.0

func (LookupCacheResultOutput) Tags added in v4.20.0

func (LookupCacheResultOutput) ToLookupCacheResultOutput added in v4.20.0

func (o LookupCacheResultOutput) ToLookupCacheResultOutput() LookupCacheResultOutput

func (LookupCacheResultOutput) ToLookupCacheResultOutputWithContext added in v4.20.0

func (o LookupCacheResultOutput) ToLookupCacheResultOutputWithContext(ctx context.Context) LookupCacheResultOutput

func (LookupCacheResultOutput) Zones added in v4.20.0

type LookupEnterpriseDatabaseArgs added in v4.4.0

type LookupEnterpriseDatabaseArgs struct {
	// The resource ID of Redis Enterprise Cluster which hosts the Redis Enterprise Database instance.
	ClusterId string `pulumi:"clusterId"`
	// The name of the Redis Enterprise Database.
	Name string `pulumi:"name"`
	// The name of the resource group the Redis Enterprise Database instance is located in.
	//
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName *string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getEnterpriseDatabase.

type LookupEnterpriseDatabaseOutputArgs added in v4.20.0

type LookupEnterpriseDatabaseOutputArgs struct {
	// The resource ID of Redis Enterprise Cluster which hosts the Redis Enterprise Database instance.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// The name of the Redis Enterprise Database.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group the Redis Enterprise Database instance is located in.
	//
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName pulumi.StringPtrInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getEnterpriseDatabase.

func (LookupEnterpriseDatabaseOutputArgs) ElementType added in v4.20.0

type LookupEnterpriseDatabaseResult added in v4.4.0

type LookupEnterpriseDatabaseResult struct {
	// The Redis Enterprise Cluster ID that is hosting the Redis Enterprise Database.
	ClusterId string `pulumi:"clusterId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Redis Enterprise Database name.
	Name string `pulumi:"name"`
	// The Primary Access Key for the Redis Enterprise Database instance.
	PrimaryAccessKey string `pulumi:"primaryAccessKey"`
	// Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The Secondary Access Key for the Redis Enterprise Database instance.
	SecondaryAccessKey string `pulumi:"secondaryAccessKey"`
}

A collection of values returned by getEnterpriseDatabase.

func LookupEnterpriseDatabase added in v4.4.0

func LookupEnterpriseDatabase(ctx *pulumi.Context, args *LookupEnterpriseDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupEnterpriseDatabaseResult, error)

Use this data source to access information about an existing Redis Enterprise Database

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/redis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := redis.LookupEnterpriseDatabase(ctx, &redis.LookupEnterpriseDatabaseArgs{
			Name:              "default",
			ResourceGroupName: pulumi.StringRef(azurerm_resource_group.Example.Name),
			ClusterId:         azurerm_redis_enterprise_cluster.Example.Id,
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("redisEnterpriseDatabasePrimaryKey", example.PrimaryAccessKey)
		ctx.Export("redisEnterpriseDatabaseSecondaryKey", example.SecondaryAccessKey)
		return nil
	})
}

```

type LookupEnterpriseDatabaseResultOutput added in v4.20.0

type LookupEnterpriseDatabaseResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getEnterpriseDatabase.

func (LookupEnterpriseDatabaseResultOutput) ClusterId added in v4.20.0

The Redis Enterprise Cluster ID that is hosting the Redis Enterprise Database.

func (LookupEnterpriseDatabaseResultOutput) ElementType added in v4.20.0

func (LookupEnterpriseDatabaseResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupEnterpriseDatabaseResultOutput) Name added in v4.20.0

The Redis Enterprise Database name.

func (LookupEnterpriseDatabaseResultOutput) PrimaryAccessKey added in v4.20.0

The Primary Access Key for the Redis Enterprise Database instance.

func (LookupEnterpriseDatabaseResultOutput) ResourceGroupName deprecated added in v4.20.0

Deprecated: This field is no longer used and will be removed in the next major version of the Azure Provider

func (LookupEnterpriseDatabaseResultOutput) SecondaryAccessKey added in v4.20.0

The Secondary Access Key for the Redis Enterprise Database instance.

func (LookupEnterpriseDatabaseResultOutput) ToLookupEnterpriseDatabaseResultOutput added in v4.20.0

func (o LookupEnterpriseDatabaseResultOutput) ToLookupEnterpriseDatabaseResultOutput() LookupEnterpriseDatabaseResultOutput

func (LookupEnterpriseDatabaseResultOutput) ToLookupEnterpriseDatabaseResultOutputWithContext added in v4.20.0

func (o LookupEnterpriseDatabaseResultOutput) ToLookupEnterpriseDatabaseResultOutputWithContext(ctx context.Context) LookupEnterpriseDatabaseResultOutput

Jump to

Keyboard shortcuts

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