v1beta2

package
v1.7.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2024 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=cache.azure.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "cache.azure.upbound.io"
	CRDVersion = "v1beta2"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	RedisCache_Kind             = "RedisCache"
	RedisCache_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: RedisCache_Kind}.String()
	RedisCache_KindAPIVersion   = RedisCache_Kind + "." + CRDGroupVersion.String()
	RedisCache_GroupVersionKind = CRDGroupVersion.WithKind(RedisCache_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type IdentityInitParameters

type IdentityInitParameters struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Redis Cluster.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Redis Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityInitParameters.

func (*IdentityInitParameters) DeepCopyInto

func (in *IdentityInitParameters) DeepCopyInto(out *IdentityInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityObservation

type IdentityObservation struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Redis Cluster.
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// The Route ID.
	PrincipalID *string `json:"principalId,omitempty" tf:"principal_id,omitempty"`

	// The Route ID.
	TenantID *string `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Redis Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*IdentityObservation) DeepCopy

func (in *IdentityObservation) DeepCopy() *IdentityObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityObservation.

func (*IdentityObservation) DeepCopyInto

func (in *IdentityObservation) DeepCopyInto(out *IdentityObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IdentityParameters

type IdentityParameters struct {

	// A list of User Assigned Managed Identity IDs to be assigned to this Redis Cluster.
	// +kubebuilder:validation:Optional
	// +listType=set
	IdentityIds []*string `json:"identityIds,omitempty" tf:"identity_ids,omitempty"`

	// Specifies the type of Managed Service Identity that should be configured on this Redis Cluster. Possible values are SystemAssigned, UserAssigned, SystemAssigned, UserAssigned (to enable both).
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*IdentityParameters) DeepCopy

func (in *IdentityParameters) DeepCopy() *IdentityParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IdentityParameters.

func (*IdentityParameters) DeepCopyInto

func (in *IdentityParameters) DeepCopyInto(out *IdentityParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PatchScheduleInitParameters

type PatchScheduleInitParameters struct {

	// the Weekday name - possible values include Monday, Tuesday, Wednesday etc.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated. Defaults to PT5H.
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// the Start Hour for maintenance in UTC - possible values range from 0 - 23.
	StartHourUtc *float64 `json:"startHourUtc,omitempty" tf:"start_hour_utc,omitempty"`
}

func (*PatchScheduleInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchScheduleInitParameters.

func (*PatchScheduleInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PatchScheduleObservation

type PatchScheduleObservation struct {

	// the Weekday name - possible values include Monday, Tuesday, Wednesday etc.
	DayOfWeek *string `json:"dayOfWeek,omitempty" tf:"day_of_week,omitempty"`

	// The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated. Defaults to PT5H.
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// the Start Hour for maintenance in UTC - possible values range from 0 - 23.
	StartHourUtc *float64 `json:"startHourUtc,omitempty" tf:"start_hour_utc,omitempty"`
}

func (*PatchScheduleObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchScheduleObservation.

func (*PatchScheduleObservation) DeepCopyInto

func (in *PatchScheduleObservation) DeepCopyInto(out *PatchScheduleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PatchScheduleParameters

type PatchScheduleParameters struct {

	// the Weekday name - possible values include Monday, Tuesday, Wednesday etc.
	// +kubebuilder:validation:Optional
	DayOfWeek *string `json:"dayOfWeek" tf:"day_of_week,omitempty"`

	// The ISO 8601 timespan which specifies the amount of time the Redis Cache can be updated. Defaults to PT5H.
	// +kubebuilder:validation:Optional
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// the Start Hour for maintenance in UTC - possible values range from 0 - 23.
	// +kubebuilder:validation:Optional
	StartHourUtc *float64 `json:"startHourUtc,omitempty" tf:"start_hour_utc,omitempty"`
}

func (*PatchScheduleParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PatchScheduleParameters.

func (*PatchScheduleParameters) DeepCopyInto

func (in *PatchScheduleParameters) DeepCopyInto(out *PatchScheduleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCache

type RedisCache struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.capacity) || (has(self.initProvider) && has(self.initProvider.capacity))",message="spec.forProvider.capacity is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.family) || (has(self.initProvider) && has(self.initProvider.family))",message="spec.forProvider.family is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.location) || (has(self.initProvider) && has(self.initProvider.location))",message="spec.forProvider.location is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.redisVersion) || (has(self.initProvider) && has(self.initProvider.redisVersion))",message="spec.forProvider.redisVersion is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.skuName) || (has(self.initProvider) && has(self.initProvider.skuName))",message="spec.forProvider.skuName is a required parameter"
	Spec   RedisCacheSpec   `json:"spec"`
	Status RedisCacheStatus `json:"status,omitempty"`
}

RedisCache is the Schema for the RedisCaches API. Manages a Redis Cache +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure}

func (*RedisCache) DeepCopy

func (in *RedisCache) DeepCopy() *RedisCache

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCache.

func (*RedisCache) DeepCopyInto

func (in *RedisCache) DeepCopyInto(out *RedisCache)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisCache) DeepCopyObject

func (in *RedisCache) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RedisCache) GetCondition

func (mg *RedisCache) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this RedisCache.

func (*RedisCache) GetConnectionDetailsMapping

func (tr *RedisCache) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this RedisCache

func (*RedisCache) GetDeletionPolicy

func (mg *RedisCache) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this RedisCache.

func (*RedisCache) GetID

func (tr *RedisCache) GetID() string

GetID returns ID of underlying Terraform resource of this RedisCache

func (*RedisCache) GetInitParameters

func (tr *RedisCache) GetInitParameters() (map[string]any, error)

GetInitParameters of this RedisCache

func (*RedisCache) GetManagementPolicies

func (mg *RedisCache) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this RedisCache.

func (*RedisCache) GetMergedParameters

func (tr *RedisCache) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this RedisCache

func (*RedisCache) GetObservation

func (tr *RedisCache) GetObservation() (map[string]any, error)

GetObservation of this RedisCache

func (*RedisCache) GetParameters

func (tr *RedisCache) GetParameters() (map[string]any, error)

GetParameters of this RedisCache

func (*RedisCache) GetProviderConfigReference

func (mg *RedisCache) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this RedisCache.

func (*RedisCache) GetPublishConnectionDetailsTo

func (mg *RedisCache) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this RedisCache.

func (*RedisCache) GetTerraformResourceType

func (mg *RedisCache) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this RedisCache

func (*RedisCache) GetTerraformSchemaVersion

func (tr *RedisCache) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*RedisCache) GetWriteConnectionSecretToReference

func (mg *RedisCache) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this RedisCache.

func (*RedisCache) Hub

func (tr *RedisCache) Hub()

Hub marks this type as a conversion hub.

func (*RedisCache) LateInitialize

func (tr *RedisCache) LateInitialize(attrs []byte) (bool, error)

LateInitialize this RedisCache using its observed tfState. returns True if there are any spec changes for the resource.

func (*RedisCache) ResolveReferences

func (mg *RedisCache) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*RedisCache) SetConditions

func (mg *RedisCache) SetConditions(c ...xpv1.Condition)

SetConditions of this RedisCache.

func (*RedisCache) SetDeletionPolicy

func (mg *RedisCache) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this RedisCache.

func (*RedisCache) SetManagementPolicies

func (mg *RedisCache) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this RedisCache.

func (*RedisCache) SetObservation

func (tr *RedisCache) SetObservation(obs map[string]any) error

SetObservation for this RedisCache

func (*RedisCache) SetParameters

func (tr *RedisCache) SetParameters(params map[string]any) error

SetParameters for this RedisCache

func (*RedisCache) SetProviderConfigReference

func (mg *RedisCache) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this RedisCache.

func (*RedisCache) SetPublishConnectionDetailsTo

func (mg *RedisCache) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this RedisCache.

func (*RedisCache) SetWriteConnectionSecretToReference

func (mg *RedisCache) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this RedisCache.

type RedisCacheInitParameters

type RedisCacheInitParameters 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, 5.
	Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`

	// Enable the non-SSL port (6379) - disabled by default.
	EnableNonSSLPort *bool `json:"enableNonSslPort,omitempty" tf:"enable_non_ssl_port,omitempty"`

	// The SKU family/pricing group to use. Valid values are C (for Basic/Standard SKU family) and P (for Premium)
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// An identity block as defined below.
	Identity *IdentityInitParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The location of the resource group. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The minimum TLS version. Possible values are 1.0, 1.1 and 1.2. Defaults to 1.0.
	MinimumTLSVersion *string `json:"minimumTlsVersion,omitempty" tf:"minimum_tls_version,omitempty"`

	// A list of patch_schedule blocks as defined below.
	PatchSchedule []PatchScheduleInitParameters `json:"patchSchedule,omitempty" tf:"patch_schedule,omitempty"`

	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of subnet_id. Changing this forces a new resource to be created.
	PrivateStaticIPAddress *string `json:"privateStaticIpAddress,omitempty" tf:"private_static_ip_address,omitempty"`

	// 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 *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// A redis_configuration block as defined below - with some limitations by SKU - defaults/details are shown below.
	RedisConfiguration *RedisConfigurationInitParameters `json:"redisConfiguration,omitempty" tf:"redis_configuration,omitempty"`

	// Redis version. Only major version needed. Valid values: 4, 6.
	RedisVersion *string `json:"redisVersion,omitempty" tf:"redis_version,omitempty"`

	// Amount of replicas to create per master for this Redis Cache.
	ReplicasPerMaster *float64 `json:"replicasPerMaster,omitempty" tf:"replicas_per_master,omitempty"`

	// Amount of replicas to create per primary for this Redis Cache. If both replicas_per_primary and replicas_per_master are set, they need to be equal.
	ReplicasPerPrimary *float64 `json:"replicasPerPrimary,omitempty" tf:"replicas_per_primary,omitempty"`

	// Only available when using the Premium SKU The number of Shards to create on the Redis Cluster.
	ShardCount *float64 `json:"shardCount,omitempty" tf:"shard_count,omitempty"`

	// The SKU of Redis to use. Possible values are Basic, Standard and Premium.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// 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.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A mapping of tenant settings to assign to the resource.
	// +mapType=granular
	TenantSettings map[string]*string `json:"tenantSettings,omitempty" tf:"tenant_settings,omitempty"`

	// Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*RedisCacheInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheInitParameters.

func (*RedisCacheInitParameters) DeepCopyInto

func (in *RedisCacheInitParameters) DeepCopyInto(out *RedisCacheInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCacheList

type RedisCacheList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RedisCache `json:"items"`
}

RedisCacheList contains a list of RedisCaches

func (*RedisCacheList) DeepCopy

func (in *RedisCacheList) DeepCopy() *RedisCacheList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheList.

func (*RedisCacheList) DeepCopyInto

func (in *RedisCacheList) DeepCopyInto(out *RedisCacheList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RedisCacheList) DeepCopyObject

func (in *RedisCacheList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RedisCacheList) GetItems

func (l *RedisCacheList) GetItems() []resource.Managed

GetItems of this RedisCacheList.

type RedisCacheObservation

type RedisCacheObservation 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, 5.
	Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`

	// Enable the non-SSL port (6379) - disabled by default.
	EnableNonSSLPort *bool `json:"enableNonSslPort,omitempty" tf:"enable_non_ssl_port,omitempty"`

	// The SKU family/pricing group to use. Valid values are C (for Basic/Standard SKU family) and P (for Premium)
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// The Hostname of the Redis Instance
	HostName *string `json:"hostname,omitempty" tf:"hostname,omitempty"`

	// The Route ID.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// An identity block as defined below.
	Identity *IdentityObservation `json:"identity,omitempty" tf:"identity,omitempty"`

	// The location of the resource group. Changing this forces a new resource to be created.
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The minimum TLS version. Possible values are 1.0, 1.1 and 1.2. Defaults to 1.0.
	MinimumTLSVersion *string `json:"minimumTlsVersion,omitempty" tf:"minimum_tls_version,omitempty"`

	// A list of patch_schedule blocks as defined below.
	PatchSchedule []PatchScheduleObservation `json:"patchSchedule,omitempty" tf:"patch_schedule,omitempty"`

	// The non-SSL Port of the Redis Instance
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of subnet_id. Changing this forces a new resource to be created.
	PrivateStaticIPAddress *string `json:"privateStaticIpAddress,omitempty" tf:"private_static_ip_address,omitempty"`

	// 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 *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// A redis_configuration block as defined below - with some limitations by SKU - defaults/details are shown below.
	RedisConfiguration *RedisConfigurationObservation `json:"redisConfiguration,omitempty" tf:"redis_configuration,omitempty"`

	// Redis version. Only major version needed. Valid values: 4, 6.
	RedisVersion *string `json:"redisVersion,omitempty" tf:"redis_version,omitempty"`

	// Amount of replicas to create per master for this Redis Cache.
	ReplicasPerMaster *float64 `json:"replicasPerMaster,omitempty" tf:"replicas_per_master,omitempty"`

	// Amount of replicas to create per primary for this Redis Cache. If both replicas_per_primary and replicas_per_master are set, they need to be equal.
	ReplicasPerPrimary *float64 `json:"replicasPerPrimary,omitempty" tf:"replicas_per_primary,omitempty"`

	// The name of the resource group in which to create the Redis instance. Changing this forces a new resource to be created.
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// The SSL Port of the Redis Instance
	SSLPort *float64 `json:"sslPort,omitempty" tf:"ssl_port,omitempty"`

	// Only available when using the Premium SKU The number of Shards to create on the Redis Cluster.
	ShardCount *float64 `json:"shardCount,omitempty" tf:"shard_count,omitempty"`

	// The SKU of Redis to use. Possible values are Basic, Standard and Premium.
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// 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 *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// A mapping of tags to assign to the resource.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A mapping of tenant settings to assign to the resource.
	// +mapType=granular
	TenantSettings map[string]*string `json:"tenantSettings,omitempty" tf:"tenant_settings,omitempty"`

	// Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*RedisCacheObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheObservation.

func (*RedisCacheObservation) DeepCopyInto

func (in *RedisCacheObservation) DeepCopyInto(out *RedisCacheObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCacheParameters

type RedisCacheParameters 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, 5.
	// +kubebuilder:validation:Optional
	Capacity *float64 `json:"capacity,omitempty" tf:"capacity,omitempty"`

	// Enable the non-SSL port (6379) - disabled by default.
	// +kubebuilder:validation:Optional
	EnableNonSSLPort *bool `json:"enableNonSslPort,omitempty" tf:"enable_non_ssl_port,omitempty"`

	// The SKU family/pricing group to use. Valid values are C (for Basic/Standard SKU family) and P (for Premium)
	// +kubebuilder:validation:Optional
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// An identity block as defined below.
	// +kubebuilder:validation:Optional
	Identity *IdentityParameters `json:"identity,omitempty" tf:"identity,omitempty"`

	// The location of the resource group. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// The minimum TLS version. Possible values are 1.0, 1.1 and 1.2. Defaults to 1.0.
	// +kubebuilder:validation:Optional
	MinimumTLSVersion *string `json:"minimumTlsVersion,omitempty" tf:"minimum_tls_version,omitempty"`

	// A list of patch_schedule blocks as defined below.
	// +kubebuilder:validation:Optional
	PatchSchedule []PatchScheduleParameters `json:"patchSchedule,omitempty" tf:"patch_schedule,omitempty"`

	// The Static IP Address to assign to the Redis Cache when hosted inside the Virtual Network. This argument implies the use of subnet_id. Changing this forces a new resource to be created.
	// +kubebuilder:validation:Optional
	PrivateStaticIPAddress *string `json:"privateStaticIpAddress,omitempty" tf:"private_static_ip_address,omitempty"`

	// 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.
	// +kubebuilder:validation:Optional
	PublicNetworkAccessEnabled *bool `json:"publicNetworkAccessEnabled,omitempty" tf:"public_network_access_enabled,omitempty"`

	// A redis_configuration block as defined below - with some limitations by SKU - defaults/details are shown below.
	// +kubebuilder:validation:Optional
	RedisConfiguration *RedisConfigurationParameters `json:"redisConfiguration,omitempty" tf:"redis_configuration,omitempty"`

	// Redis version. Only major version needed. Valid values: 4, 6.
	// +kubebuilder:validation:Optional
	RedisVersion *string `json:"redisVersion,omitempty" tf:"redis_version,omitempty"`

	// Amount of replicas to create per master for this Redis Cache.
	// +kubebuilder:validation:Optional
	ReplicasPerMaster *float64 `json:"replicasPerMaster,omitempty" tf:"replicas_per_master,omitempty"`

	// Amount of replicas to create per primary for this Redis Cache. If both replicas_per_primary and replicas_per_master are set, they need to be equal.
	// +kubebuilder:validation:Optional
	ReplicasPerPrimary *float64 `json:"replicasPerPrimary,omitempty" tf:"replicas_per_primary,omitempty"`

	// The name of the resource group in which to create the Redis instance. Changing this forces a new resource to be created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/azure/v1beta1.ResourceGroup
	// +kubebuilder:validation:Optional
	ResourceGroupName *string `json:"resourceGroupName,omitempty" tf:"resource_group_name,omitempty"`

	// Reference to a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameRef *v1.Reference `json:"resourceGroupNameRef,omitempty" tf:"-"`

	// Selector for a ResourceGroup in azure to populate resourceGroupName.
	// +kubebuilder:validation:Optional
	ResourceGroupNameSelector *v1.Selector `json:"resourceGroupNameSelector,omitempty" tf:"-"`

	// Only available when using the Premium SKU The number of Shards to create on the Redis Cluster.
	// +kubebuilder:validation:Optional
	ShardCount *float64 `json:"shardCount,omitempty" tf:"shard_count,omitempty"`

	// The SKU of Redis to use. Possible values are Basic, Standard and Premium.
	// +kubebuilder:validation:Optional
	SkuName *string `json:"skuName,omitempty" tf:"sku_name,omitempty"`

	// 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.
	// +crossplane:generate:reference:type=github.com/upbound/provider-azure/apis/network/v1beta2.Subnet
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-azure/apis/rconfig.ExtractResourceID()
	// +kubebuilder:validation:Optional
	SubnetID *string `json:"subnetId,omitempty" tf:"subnet_id,omitempty"`

	// Reference to a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDRef *v1.Reference `json:"subnetIdRef,omitempty" tf:"-"`

	// Selector for a Subnet in network to populate subnetId.
	// +kubebuilder:validation:Optional
	SubnetIDSelector *v1.Selector `json:"subnetIdSelector,omitempty" tf:"-"`

	// A mapping of tags to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A mapping of tenant settings to assign to the resource.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	TenantSettings map[string]*string `json:"tenantSettings,omitempty" tf:"tenant_settings,omitempty"`

	// Specifies a list of Availability Zones in which this Redis Cache should be located. Changing this forces a new Redis Cache to be created.
	// +kubebuilder:validation:Optional
	// +listType=set
	Zones []*string `json:"zones,omitempty" tf:"zones,omitempty"`
}

func (*RedisCacheParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheParameters.

func (*RedisCacheParameters) DeepCopyInto

func (in *RedisCacheParameters) DeepCopyInto(out *RedisCacheParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCacheSpec

type RedisCacheSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RedisCacheParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RedisCacheInitParameters `json:"initProvider,omitempty"`
}

RedisCacheSpec defines the desired state of RedisCache

func (*RedisCacheSpec) DeepCopy

func (in *RedisCacheSpec) DeepCopy() *RedisCacheSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheSpec.

func (*RedisCacheSpec) DeepCopyInto

func (in *RedisCacheSpec) DeepCopyInto(out *RedisCacheSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisCacheStatus

type RedisCacheStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RedisCacheObservation `json:"atProvider,omitempty"`
}

RedisCacheStatus defines the observed state of RedisCache.

func (*RedisCacheStatus) DeepCopy

func (in *RedisCacheStatus) DeepCopy() *RedisCacheStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisCacheStatus.

func (*RedisCacheStatus) DeepCopyInto

func (in *RedisCacheStatus) DeepCopyInto(out *RedisCacheStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisConfigurationInitParameters

type RedisConfigurationInitParameters struct {

	// Enable Microsoft Entra (AAD) authentication. Defaults to false.
	ActiveDirectoryAuthenticationEnabled *bool `json:"activeDirectoryAuthenticationEnabled,omitempty" tf:"active_directory_authentication_enabled,omitempty"`

	// Enable or disable AOF persistence for this Redis Cache. Defaults to false.
	AofBackupEnabled *bool `json:"aofBackupEnabled,omitempty" tf:"aof_backup_enabled,omitempty"`

	// First Storage Account connection string for AOF persistence.
	AofStorageConnectionString0SecretRef *v1.SecretKeySelector `json:"aofStorageConnectionString0SecretRef,omitempty" tf:"-"`

	// Second Storage Account connection string for AOF persistence.
	AofStorageConnectionString1SecretRef *v1.SecretKeySelector `json:"aofStorageConnectionString1SecretRef,omitempty" tf:"-"`

	// Preferred auth method to communicate to storage account used for data persistence. Possible values are SAS and ManagedIdentity. Defaults to SAS.
	DataPersistenceAuthenticationMethod *string `json:"dataPersistenceAuthenticationMethod,omitempty" tf:"data_persistence_authentication_method,omitempty"`

	// If set to false, the Redis instance will be accessible without authentication. Defaults to true.
	EnableAuthentication *bool `json:"enableAuthentication,omitempty" tf:"enable_authentication,omitempty"`

	// Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.
	MaxfragmentationmemoryReserved *float64 `json:"maxfragmentationmemoryReserved,omitempty" tf:"maxfragmentationmemory_reserved,omitempty"`

	// The max-memory delta for this Redis instance. Defaults are shown below.
	MaxmemoryDelta *float64 `json:"maxmemoryDelta,omitempty" tf:"maxmemory_delta,omitempty"`

	// How Redis will select what to remove when maxmemory is reached. Defaults to volatile-lru.
	MaxmemoryPolicy *string `json:"maxmemoryPolicy,omitempty" tf:"maxmemory_policy,omitempty"`

	// Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.
	MaxmemoryReserved *float64 `json:"maxmemoryReserved,omitempty" tf:"maxmemory_reserved,omitempty"`

	// Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. Reference
	NotifyKeySpaceEvents *string `json:"notifyKeyspaceEvents,omitempty" tf:"notify_keyspace_events,omitempty"`

	// Is Backup Enabled? Only supported on Premium SKUs. Defaults to false.
	RdbBackupEnabled *bool `json:"rdbBackupEnabled,omitempty" tf:"rdb_backup_enabled,omitempty"`

	// The Backup Frequency in Minutes. Only supported on Premium SKUs. Possible values are: 15, 30, 60, 360, 720 and 1440.
	RdbBackupFrequency *float64 `json:"rdbBackupFrequency,omitempty" tf:"rdb_backup_frequency,omitempty"`

	// The maximum number of snapshots to create as a backup. Only supported for Premium SKUs.
	RdbBackupMaxSnapshotCount *float64 `json:"rdbBackupMaxSnapshotCount,omitempty" tf:"rdb_backup_max_snapshot_count,omitempty"`

	// The Connection String to the Storage Account. Only supported for Premium SKUs. 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}.
	RdbStorageConnectionStringSecretRef *v1.SecretKeySelector `json:"rdbStorageConnectionStringSecretRef,omitempty" tf:"-"`

	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionID *string `json:"storageAccountSubscriptionId,omitempty" tf:"storage_account_subscription_id,omitempty"`
}

func (*RedisConfigurationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisConfigurationInitParameters.

func (*RedisConfigurationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisConfigurationObservation

type RedisConfigurationObservation struct {

	// Enable Microsoft Entra (AAD) authentication. Defaults to false.
	ActiveDirectoryAuthenticationEnabled *bool `json:"activeDirectoryAuthenticationEnabled,omitempty" tf:"active_directory_authentication_enabled,omitempty"`

	// Enable or disable AOF persistence for this Redis Cache. Defaults to false.
	AofBackupEnabled *bool `json:"aofBackupEnabled,omitempty" tf:"aof_backup_enabled,omitempty"`

	// Preferred auth method to communicate to storage account used for data persistence. Possible values are SAS and ManagedIdentity. Defaults to SAS.
	DataPersistenceAuthenticationMethod *string `json:"dataPersistenceAuthenticationMethod,omitempty" tf:"data_persistence_authentication_method,omitempty"`

	// If set to false, the Redis instance will be accessible without authentication. Defaults to true.
	EnableAuthentication *bool `json:"enableAuthentication,omitempty" tf:"enable_authentication,omitempty"`

	// Returns the max number of connected clients at the same time.
	Maxclients *float64 `json:"maxclients,omitempty" tf:"maxclients,omitempty"`

	// Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.
	MaxfragmentationmemoryReserved *float64 `json:"maxfragmentationmemoryReserved,omitempty" tf:"maxfragmentationmemory_reserved,omitempty"`

	// The max-memory delta for this Redis instance. Defaults are shown below.
	MaxmemoryDelta *float64 `json:"maxmemoryDelta,omitempty" tf:"maxmemory_delta,omitempty"`

	// How Redis will select what to remove when maxmemory is reached. Defaults to volatile-lru.
	MaxmemoryPolicy *string `json:"maxmemoryPolicy,omitempty" tf:"maxmemory_policy,omitempty"`

	// Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.
	MaxmemoryReserved *float64 `json:"maxmemoryReserved,omitempty" tf:"maxmemory_reserved,omitempty"`

	// Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. Reference
	NotifyKeySpaceEvents *string `json:"notifyKeyspaceEvents,omitempty" tf:"notify_keyspace_events,omitempty"`

	// Is Backup Enabled? Only supported on Premium SKUs. Defaults to false.
	RdbBackupEnabled *bool `json:"rdbBackupEnabled,omitempty" tf:"rdb_backup_enabled,omitempty"`

	// The Backup Frequency in Minutes. Only supported on Premium SKUs. Possible values are: 15, 30, 60, 360, 720 and 1440.
	RdbBackupFrequency *float64 `json:"rdbBackupFrequency,omitempty" tf:"rdb_backup_frequency,omitempty"`

	// The maximum number of snapshots to create as a backup. Only supported for Premium SKUs.
	RdbBackupMaxSnapshotCount *float64 `json:"rdbBackupMaxSnapshotCount,omitempty" tf:"rdb_backup_max_snapshot_count,omitempty"`

	// The ID of the Subscription containing the Storage Account.
	StorageAccountSubscriptionID *string `json:"storageAccountSubscriptionId,omitempty" tf:"storage_account_subscription_id,omitempty"`
}

func (*RedisConfigurationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisConfigurationObservation.

func (*RedisConfigurationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RedisConfigurationParameters

type RedisConfigurationParameters struct {

	// Enable Microsoft Entra (AAD) authentication. Defaults to false.
	// +kubebuilder:validation:Optional
	ActiveDirectoryAuthenticationEnabled *bool `json:"activeDirectoryAuthenticationEnabled,omitempty" tf:"active_directory_authentication_enabled,omitempty"`

	// Enable or disable AOF persistence for this Redis Cache. Defaults to false.
	// +kubebuilder:validation:Optional
	AofBackupEnabled *bool `json:"aofBackupEnabled,omitempty" tf:"aof_backup_enabled,omitempty"`

	// First Storage Account connection string for AOF persistence.
	// +kubebuilder:validation:Optional
	AofStorageConnectionString0SecretRef *v1.SecretKeySelector `json:"aofStorageConnectionString0SecretRef,omitempty" tf:"-"`

	// Second Storage Account connection string for AOF persistence.
	// +kubebuilder:validation:Optional
	AofStorageConnectionString1SecretRef *v1.SecretKeySelector `json:"aofStorageConnectionString1SecretRef,omitempty" tf:"-"`

	// Preferred auth method to communicate to storage account used for data persistence. Possible values are SAS and ManagedIdentity. Defaults to SAS.
	// +kubebuilder:validation:Optional
	DataPersistenceAuthenticationMethod *string `json:"dataPersistenceAuthenticationMethod,omitempty" tf:"data_persistence_authentication_method,omitempty"`

	// If set to false, the Redis instance will be accessible without authentication. Defaults to true.
	// +kubebuilder:validation:Optional
	EnableAuthentication *bool `json:"enableAuthentication,omitempty" tf:"enable_authentication,omitempty"`

	// Value in megabytes reserved to accommodate for memory fragmentation. Defaults are shown below.
	// +kubebuilder:validation:Optional
	MaxfragmentationmemoryReserved *float64 `json:"maxfragmentationmemoryReserved,omitempty" tf:"maxfragmentationmemory_reserved,omitempty"`

	// The max-memory delta for this Redis instance. Defaults are shown below.
	// +kubebuilder:validation:Optional
	MaxmemoryDelta *float64 `json:"maxmemoryDelta,omitempty" tf:"maxmemory_delta,omitempty"`

	// How Redis will select what to remove when maxmemory is reached. Defaults to volatile-lru.
	// +kubebuilder:validation:Optional
	MaxmemoryPolicy *string `json:"maxmemoryPolicy,omitempty" tf:"maxmemory_policy,omitempty"`

	// Value in megabytes reserved for non-cache usage e.g. failover. Defaults are shown below.
	// +kubebuilder:validation:Optional
	MaxmemoryReserved *float64 `json:"maxmemoryReserved,omitempty" tf:"maxmemory_reserved,omitempty"`

	// Keyspace notifications allows clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. Reference
	// +kubebuilder:validation:Optional
	NotifyKeySpaceEvents *string `json:"notifyKeyspaceEvents,omitempty" tf:"notify_keyspace_events,omitempty"`

	// Is Backup Enabled? Only supported on Premium SKUs. Defaults to false.
	// +kubebuilder:validation:Optional
	RdbBackupEnabled *bool `json:"rdbBackupEnabled,omitempty" tf:"rdb_backup_enabled,omitempty"`

	// The Backup Frequency in Minutes. Only supported on Premium SKUs. Possible values are: 15, 30, 60, 360, 720 and 1440.
	// +kubebuilder:validation:Optional
	RdbBackupFrequency *float64 `json:"rdbBackupFrequency,omitempty" tf:"rdb_backup_frequency,omitempty"`

	// The maximum number of snapshots to create as a backup. Only supported for Premium SKUs.
	// +kubebuilder:validation:Optional
	RdbBackupMaxSnapshotCount *float64 `json:"rdbBackupMaxSnapshotCount,omitempty" tf:"rdb_backup_max_snapshot_count,omitempty"`

	// The Connection String to the Storage Account. Only supported for Premium SKUs. 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}.
	// +kubebuilder:validation:Optional
	RdbStorageConnectionStringSecretRef *v1.SecretKeySelector `json:"rdbStorageConnectionStringSecretRef,omitempty" tf:"-"`

	// The ID of the Subscription containing the Storage Account.
	// +kubebuilder:validation:Optional
	StorageAccountSubscriptionID *string `json:"storageAccountSubscriptionId,omitempty" tf:"storage_account_subscription_id,omitempty"`
}

func (*RedisConfigurationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RedisConfigurationParameters.

func (*RedisConfigurationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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