v1beta2

package
v1.19.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=elasticache.aws.upbound.io +versionName=v1beta2

Index

Constants

View Source
const (
	CRDGroup   = "elasticache.aws.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 (
	ReplicationGroup_Kind             = "ReplicationGroup"
	ReplicationGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ReplicationGroup_Kind}.String()
	ReplicationGroup_KindAPIVersion   = ReplicationGroup_Kind + "." + CRDGroupVersion.String()
	ReplicationGroup_GroupVersionKind = CRDGroupVersion.WithKind(ReplicationGroup_Kind)
)

Repository type metadata.

View Source
var (
	User_Kind             = "User"
	User_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: User_Kind}.String()
	User_KindAPIVersion   = User_Kind + "." + CRDGroupVersion.String()
	User_GroupVersionKind = CRDGroupVersion.WithKind(User_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AuthenticationModeInitParameters added in v1.7.0

type AuthenticationModeInitParameters struct {
	Passwords []*string `json:"passwordsSecretRef,omitempty" tf:"-"`

	// Specifies the authentication type. Possible options are: password, no-password-required or iam.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AuthenticationModeInitParameters) DeepCopy added in v1.7.0

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

func (*AuthenticationModeInitParameters) DeepCopyInto added in v1.7.0

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

type AuthenticationModeObservation added in v1.7.0

type AuthenticationModeObservation struct {
	PasswordCount *float64 `json:"passwordCount,omitempty" tf:"password_count,omitempty"`

	// Specifies the authentication type. Possible options are: password, no-password-required or iam.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*AuthenticationModeObservation) DeepCopy added in v1.7.0

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

func (*AuthenticationModeObservation) DeepCopyInto added in v1.7.0

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

type AuthenticationModeParameters added in v1.7.0

type AuthenticationModeParameters struct {

	// Specifies the passwords to use for authentication if type is set to password.
	// +kubebuilder:validation:Optional
	PasswordsSecretRef *[]v1.SecretKeySelector `json:"passwordsSecretRef,omitempty" tf:"-"`

	// Specifies the authentication type. Possible options are: password, no-password-required or iam.
	// +kubebuilder:validation:Optional
	Type *string `json:"type" tf:"type,omitempty"`
}

func (*AuthenticationModeParameters) DeepCopy added in v1.7.0

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

func (*AuthenticationModeParameters) DeepCopyInto added in v1.7.0

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

type LogDeliveryConfigurationInitParameters

type LogDeliveryConfigurationInitParameters struct {

	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination *string `json:"destination,omitempty" tf:"destination,omitempty"`

	// For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose.
	DestinationType *string `json:"destinationType,omitempty" tf:"destination_type,omitempty"`

	// Valid values are json or text
	LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"`

	// Valid values are  slow-log or engine-log. Max 1 of each.
	LogType *string `json:"logType,omitempty" tf:"log_type,omitempty"`
}

func (*LogDeliveryConfigurationInitParameters) DeepCopy

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

func (*LogDeliveryConfigurationInitParameters) DeepCopyInto

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

type LogDeliveryConfigurationObservation

type LogDeliveryConfigurationObservation struct {

	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination *string `json:"destination,omitempty" tf:"destination,omitempty"`

	// For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose.
	DestinationType *string `json:"destinationType,omitempty" tf:"destination_type,omitempty"`

	// Valid values are json or text
	LogFormat *string `json:"logFormat,omitempty" tf:"log_format,omitempty"`

	// Valid values are  slow-log or engine-log. Max 1 of each.
	LogType *string `json:"logType,omitempty" tf:"log_type,omitempty"`
}

func (*LogDeliveryConfigurationObservation) DeepCopy

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

func (*LogDeliveryConfigurationObservation) DeepCopyInto

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

type LogDeliveryConfigurationParameters

type LogDeliveryConfigurationParameters struct {

	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	// +kubebuilder:validation:Optional
	Destination *string `json:"destination" tf:"destination,omitempty"`

	// For CloudWatch Logs use cloudwatch-logs or for Kinesis Data Firehose use kinesis-firehose.
	// +kubebuilder:validation:Optional
	DestinationType *string `json:"destinationType" tf:"destination_type,omitempty"`

	// Valid values are json or text
	// +kubebuilder:validation:Optional
	LogFormat *string `json:"logFormat" tf:"log_format,omitempty"`

	// Valid values are  slow-log or engine-log. Max 1 of each.
	// +kubebuilder:validation:Optional
	LogType *string `json:"logType" tf:"log_type,omitempty"`
}

func (*LogDeliveryConfigurationParameters) DeepCopy

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

func (*LogDeliveryConfigurationParameters) DeepCopyInto

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

type ReplicationGroup

type ReplicationGroup 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.description) || (has(self.initProvider) && has(self.initProvider.description))",message="spec.forProvider.description is a required parameter"
	Spec   ReplicationGroupSpec   `json:"spec"`
	Status ReplicationGroupStatus `json:"status,omitempty"`
}

ReplicationGroup is the Schema for the ReplicationGroups API. Provides an ElastiCache Replication Group resource. +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,aws}

func (*ReplicationGroup) DeepCopy

func (in *ReplicationGroup) DeepCopy() *ReplicationGroup

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

func (*ReplicationGroup) DeepCopyInto

func (in *ReplicationGroup) DeepCopyInto(out *ReplicationGroup)

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

func (*ReplicationGroup) DeepCopyObject

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

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

func (*ReplicationGroup) GetCondition

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

GetCondition of this ReplicationGroup.

func (*ReplicationGroup) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ReplicationGroup

func (*ReplicationGroup) GetDeletionPolicy

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

GetDeletionPolicy of this ReplicationGroup.

func (*ReplicationGroup) GetID

func (tr *ReplicationGroup) GetID() string

GetID returns ID of underlying Terraform resource of this ReplicationGroup

func (*ReplicationGroup) GetInitParameters

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

GetInitParameters of this ReplicationGroup

func (*ReplicationGroup) GetManagementPolicies

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

GetManagementPolicies of this ReplicationGroup.

func (*ReplicationGroup) GetMergedParameters

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

GetInitParameters of this ReplicationGroup

func (*ReplicationGroup) GetObservation

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

GetObservation of this ReplicationGroup

func (*ReplicationGroup) GetParameters

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

GetParameters of this ReplicationGroup

func (*ReplicationGroup) GetProviderConfigReference

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

GetProviderConfigReference of this ReplicationGroup.

func (*ReplicationGroup) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ReplicationGroup.

func (*ReplicationGroup) GetTerraformResourceType

func (mg *ReplicationGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ReplicationGroup

func (*ReplicationGroup) GetTerraformSchemaVersion

func (tr *ReplicationGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ReplicationGroup) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ReplicationGroup.

func (*ReplicationGroup) Hub

func (tr *ReplicationGroup) Hub()

Hub marks this type as a conversion hub.

func (*ReplicationGroup) LateInitialize

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

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

func (*ReplicationGroup) ResolveReferences

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

func (*ReplicationGroup) SetConditions

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

SetConditions of this ReplicationGroup.

func (*ReplicationGroup) SetDeletionPolicy

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

SetDeletionPolicy of this ReplicationGroup.

func (*ReplicationGroup) SetManagementPolicies

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

SetManagementPolicies of this ReplicationGroup.

func (*ReplicationGroup) SetObservation

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

SetObservation for this ReplicationGroup

func (*ReplicationGroup) SetParameters

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

SetParameters for this ReplicationGroup

func (*ReplicationGroup) SetProviderConfigReference

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

SetProviderConfigReference of this ReplicationGroup.

func (*ReplicationGroup) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ReplicationGroup.

func (*ReplicationGroup) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ReplicationGroup.

type ReplicationGroupInitParameters

type ReplicationGroupInitParameters struct {

	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"`

	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"`

	// Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
	// If you set autoGenerateAuthToken to true, the Secret referenced here will be created or updated with generated auth token if it does not already contain one.
	AuthTokenSecretRef *v1.SecretKeySelector `json:"authTokenSecretRef,omitempty" tf:"-"`

	// Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
	AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"`

	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine types "redis" and "valkey" and if the engine version is 6 or higher.
	// Defaults to true.
	AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"`

	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
	AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"`

	// Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
	ClusterMode *string `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"`

	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
	DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"`

	// created description for the replication group. Must not be empty.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 7 or higher, the major and minor version should be set, e.g., 7.2.
	// If the version is 6, the major and minor version can be set, e.g., 6.2,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x.
	// Otherwise, specify the full version desired, e.g., 5.0.6.
	// The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.GlobalReplicationGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("global_replication_group_id",true)
	GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"`

	// Reference to a GlobalReplicationGroup in elasticache to populate globalReplicationGroupId.
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupIDRef *v1.Reference `json:"globalReplicationGroupIdRef,omitempty" tf:"-"`

	// Selector for a GlobalReplicationGroup in elasticache to populate globalReplicationGroupId.
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupIDSelector *v1.Selector `json:"globalReplicationGroupIdSelector,omitempty" tf:"-"`

	// The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
	IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"`

	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	LogDeliveryConfiguration []LogDeliveryConfigurationInitParameters `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"`

	// ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// Specifies whether to enable Multi-AZ Support for the replication group.
	// If true, automatic_failover_enabled must also be enabled.
	// Defaults to false.
	MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"`

	// The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack.
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// Instance class to be used.
	// See AWS documentation for information on supported node types and guidance on selecting node types.
	// Required unless global_replication_group_id is set.
	// Cannot be set if global_replication_group_id is set.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// east-1:012345678999:my_sns_topic
	NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"`

	// 00#.
	NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"`

	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Conflicts with num_cache_clusters.
	NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"`

	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true.
	ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"`

	// –  Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
	PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,omitempty"`

	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	// Conflicts with num_cache_clusters.
	// Can only be set if num_node_groups is set.
	ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"`

	// References to SecurityGroup in ec2 to populate securityGroupIds.
	// +kubebuilder:validation:Optional
	SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroupIds.
	// +kubebuilder:validation:Optional
	SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"`

	// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// –  List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	// +listType=set
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.
	SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"`

	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"`

	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// Name of the cache subnet group to be used for the replication group.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.SubnetGroup
	SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"`

	// Reference to a SubnetGroup in elasticache to populate subnetGroupName.
	// +kubebuilder:validation:Optional
	SubnetGroupNameRef *v1.Reference `json:"subnetGroupNameRef,omitempty" tf:"-"`

	// Selector for a SubnetGroup in elasticache to populate subnetGroupName.
	// +kubebuilder:validation:Optional
	SubnetGroupNameSelector *v1.Selector `json:"subnetGroupNameSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to enable encryption in transit.
	// Changing this argument with an engine_version < 7.0.5 will force a replacement.
	// Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"`

	// A setting that enables clients to migrate to in-transit encryption with no downtime.
	// Valid values are preferred and required.
	// When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply.
	// See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
	TransitEncryptionMode *string `json:"transitEncryptionMode,omitempty" tf:"transit_encryption_mode,omitempty"`

	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	// +listType=set
	UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"`
}

func (*ReplicationGroupInitParameters) DeepCopy

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

func (*ReplicationGroupInitParameters) DeepCopyInto

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

type ReplicationGroupList

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

ReplicationGroupList contains a list of ReplicationGroups

func (*ReplicationGroupList) DeepCopy

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

func (*ReplicationGroupList) DeepCopyInto

func (in *ReplicationGroupList) DeepCopyInto(out *ReplicationGroupList)

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

func (*ReplicationGroupList) DeepCopyObject

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

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

func (*ReplicationGroupList) GetItems

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

GetItems of this ReplicationGroupList.

type ReplicationGroupObservation

type ReplicationGroupObservation struct {

	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"`

	// ARN of the created ElastiCache Replication Group.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"`

	// Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
	AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"`

	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine types "redis" and "valkey" and if the engine version is 6 or higher.
	// Defaults to true.
	AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"`

	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
	AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"`

	// Indicates if cluster mode is enabled.
	ClusterEnabled *bool `json:"clusterEnabled,omitempty" tf:"cluster_enabled,omitempty"`

	// Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
	ClusterMode *string `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"`

	// Address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress *string `json:"configurationEndpointAddress,omitempty" tf:"configuration_endpoint_address,omitempty"`

	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
	DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"`

	// created description for the replication group. Must not be empty.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 7 or higher, the major and minor version should be set, e.g., 7.2.
	// If the version is 6, the major and minor version can be set, e.g., 6.2,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x.
	// Otherwise, specify the full version desired, e.g., 5.0.6.
	// The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
	EngineVersionActual *string `json:"engineVersionActual,omitempty" tf:"engine_version_actual,omitempty"`

	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set.
	GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"`

	// ID of the ElastiCache Replication Group.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
	IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"`

	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	LogDeliveryConfiguration []LogDeliveryConfigurationObservation `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"`

	// ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// Identifiers of all the nodes that are part of this replication group.
	// +listType=set
	MemberClusters []*string `json:"memberClusters,omitempty" tf:"member_clusters,omitempty"`

	// Specifies whether to enable Multi-AZ Support for the replication group.
	// If true, automatic_failover_enabled must also be enabled.
	// Defaults to false.
	MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"`

	// The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack.
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// Instance class to be used.
	// See AWS documentation for information on supported node types and guidance on selecting node types.
	// Required unless global_replication_group_id is set.
	// Cannot be set if global_replication_group_id is set.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// east-1:012345678999:my_sns_topic
	NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"`

	// 00#.
	NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"`

	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Conflicts with num_cache_clusters.
	NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"`

	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true.
	ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"`

	// –  Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
	PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,omitempty"`

	// (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress *string `json:"primaryEndpointAddress,omitempty" tf:"primary_endpoint_address,omitempty"`

	// (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
	ReaderEndpointAddress *string `json:"readerEndpointAddress,omitempty" tf:"reader_endpoint_address,omitempty"`

	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	// Conflicts with num_cache_clusters.
	// Can only be set if num_node_groups is set.
	ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"`

	// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// –  List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	// +listType=set
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.
	SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"`

	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"`

	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// Name of the cache subnet group to be used for the replication group.
	SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Whether to enable encryption in transit.
	// Changing this argument with an engine_version < 7.0.5 will force a replacement.
	// Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"`

	// A setting that enables clients to migrate to in-transit encryption with no downtime.
	// Valid values are preferred and required.
	// When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply.
	// See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
	TransitEncryptionMode *string `json:"transitEncryptionMode,omitempty" tf:"transit_encryption_mode,omitempty"`

	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	// +listType=set
	UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"`
}

func (*ReplicationGroupObservation) DeepCopy

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

func (*ReplicationGroupObservation) DeepCopyInto

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

type ReplicationGroupParameters

type ReplicationGroupParameters struct {

	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is false.
	// +kubebuilder:validation:Optional
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"`

	// Whether to enable encryption at rest.
	// +kubebuilder:validation:Optional
	AtRestEncryptionEnabled *bool `json:"atRestEncryptionEnabled,omitempty" tf:"at_rest_encryption_enabled,omitempty"`

	// Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
	// If you set autoGenerateAuthToken to true, the Secret referenced here will be created or updated with generated auth token if it does not already contain one.
	// +kubebuilder:validation:Optional
	AuthTokenSecretRef *v1.SecretKeySelector `json:"authTokenSecretRef,omitempty" tf:"-"`

	// Strategy to use when updating the auth_token. Valid values are SET, ROTATE, and DELETE. Defaults to ROTATE.
	// +kubebuilder:validation:Optional
	AuthTokenUpdateStrategy *string `json:"authTokenUpdateStrategy,omitempty" tf:"auth_token_update_strategy,omitempty"`

	// Password used to access a password protected server. Can be specified only if transit_encryption_enabled = true.
	// If true, the auth token will be auto-generated and stored in the Secret referenced by the authTokenSecretRef field.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Optional
	AutoGenerateAuthToken *bool `json:"autoGenerateAuthToken,omitempty" tf:"-"`

	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine types "redis" and "valkey" and if the engine version is 6 or higher.
	// Defaults to true.
	// +kubebuilder:validation:Optional
	AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"`

	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, num_cache_clusters must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to false.
	// +kubebuilder:validation:Optional
	AutomaticFailoverEnabled *bool `json:"automaticFailoverEnabled,omitempty" tf:"automatic_failover_enabled,omitempty"`

	// Specifies whether cluster mode is enabled or disabled. Valid values are enabled or disabled or compatible
	// +kubebuilder:validation:Optional
	ClusterMode *string `json:"clusterMode,omitempty" tf:"cluster_mode,omitempty"`

	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to true when using r6gd nodes.
	// +kubebuilder:validation:Optional
	DataTieringEnabled *bool `json:"dataTieringEnabled,omitempty" tf:"data_tiering_enabled,omitempty"`

	// created description for the replication group. Must not be empty.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Name of the cache engine to be used for the clusters in this replication group. Valid values are redis or valkey.
	// +kubebuilder:validation:Optional
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 7 or higher, the major and minor version should be set, e.g., 7.2.
	// If the version is 6, the major and minor version can be set, e.g., 6.2,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., 6.x.
	// Otherwise, specify the full version desired, e.g., 5.0.6.
	// The actual engine version used is returned in the attribute engine_version_actual, see Attribute Reference below.
	// +kubebuilder:validation:Optional
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	// +kubebuilder:validation:Optional
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If global_replication_group_id is set, the num_node_groups parameter cannot be set.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.GlobalReplicationGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("global_replication_group_id",true)
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"`

	// Reference to a GlobalReplicationGroup in elasticache to populate globalReplicationGroupId.
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupIDRef *v1.Reference `json:"globalReplicationGroupIdRef,omitempty" tf:"-"`

	// Selector for a GlobalReplicationGroup in elasticache to populate globalReplicationGroupId.
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupIDSelector *v1.Selector `json:"globalReplicationGroupIdSelector,omitempty" tf:"-"`

	// The IP version to advertise in the discovery protocol. Valid values are ipv4 or ipv6.
	// +kubebuilder:validation:Optional
	IPDiscovery *string `json:"ipDiscovery,omitempty" tf:"ip_discovery,omitempty"`

	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if at_rest_encryption_enabled = true.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Reference to a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDRef *v1.Reference `json:"kmsKeyIdRef,omitempty" tf:"-"`

	// Selector for a Key in kms to populate kmsKeyId.
	// +kubebuilder:validation:Optional
	KMSKeyIDSelector *v1.Selector `json:"kmsKeyIdSelector,omitempty" tf:"-"`

	// Specifies the destination and format of Redis OSS/Valkey SLOWLOG or Redis OSS/Valkey Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	// +kubebuilder:validation:Optional
	LogDeliveryConfiguration []LogDeliveryConfigurationParameters `json:"logDeliveryConfiguration,omitempty" tf:"log_delivery_configuration,omitempty"`

	// ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: sun:05:00-sun:09:00
	// +kubebuilder:validation:Optional
	MaintenanceWindow *string `json:"maintenanceWindow,omitempty" tf:"maintenance_window,omitempty"`

	// Specifies whether to enable Multi-AZ Support for the replication group.
	// If true, automatic_failover_enabled must also be enabled.
	// Defaults to false.
	// +kubebuilder:validation:Optional
	MultiAzEnabled *bool `json:"multiAzEnabled,omitempty" tf:"multi_az_enabled,omitempty"`

	// The IP versions for cache cluster connections. Valid values are ipv4, ipv6 or dual_stack.
	// +kubebuilder:validation:Optional
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// Instance class to be used.
	// See AWS documentation for information on supported node types and guidance on selecting node types.
	// Required unless global_replication_group_id is set.
	// Cannot be set if global_replication_group_id is set.
	// +kubebuilder:validation:Optional
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// east-1:012345678999:my_sns_topic
	// +kubebuilder:validation:Optional
	NotificationTopicArn *string `json:"notificationTopicArn,omitempty" tf:"notification_topic_arn,omitempty"`

	// 00#.
	// +kubebuilder:validation:Optional
	NumCacheClusters *float64 `json:"numCacheClusters,omitempty" tf:"num_cache_clusters,omitempty"`

	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Conflicts with num_cache_clusters.
	// +kubebuilder:validation:Optional
	NumNodeGroups *float64 `json:"numNodeGroups,omitempty" tf:"num_node_groups,omitempty"`

	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter cluster-enabled set to true.
	// +kubebuilder:validation:Optional
	ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"`

	// –  Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.
	// +kubebuilder:validation:Optional
	PreferredCacheClusterAzs []*string `json:"preferredCacheClusterAzs,omitempty" tf:"preferred_cache_cluster_azs,omitempty"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	// Conflicts with num_cache_clusters.
	// Can only be set if num_node_groups is set.
	// +kubebuilder:validation:Optional
	ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"`

	// References to SecurityGroup in ec2 to populate securityGroupIds.
	// +kubebuilder:validation:Optional
	SecurityGroupIDRefs []v1.Reference `json:"securityGroupIdRefs,omitempty" tf:"-"`

	// Selector for a list of SecurityGroup in ec2 to populate securityGroupIds.
	// +kubebuilder:validation:Optional
	SecurityGroupIDSelector *v1.Selector `json:"securityGroupIdSelector,omitempty" tf:"-"`

	// IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud.
	// +kubebuilder:validation:Optional
	// +listType=set
	SecurityGroupNames []*string `json:"securityGroupNames,omitempty" tf:"security_group_names,omitempty"`

	// –  List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	// +kubebuilder:validation:Optional
	// +listType=set
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing the snapshot_name forces a new resource.
	// +kubebuilder:validation:Optional
	SnapshotName *string `json:"snapshotName,omitempty" tf:"snapshot_name,omitempty"`

	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of snapshot_retention_limit is set to zero (0), backups are turned off. Please note that setting a snapshot_retention_limit is not supported on cache.t1.micro cache nodes
	// +kubebuilder:validation:Optional
	SnapshotRetentionLimit *float64 `json:"snapshotRetentionLimit,omitempty" tf:"snapshot_retention_limit,omitempty"`

	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: 05:00-09:00
	// +kubebuilder:validation:Optional
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// Name of the cache subnet group to be used for the replication group.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/elasticache/v1beta1.SubnetGroup
	// +kubebuilder:validation:Optional
	SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"`

	// Reference to a SubnetGroup in elasticache to populate subnetGroupName.
	// +kubebuilder:validation:Optional
	SubnetGroupNameRef *v1.Reference `json:"subnetGroupNameRef,omitempty" tf:"-"`

	// Selector for a SubnetGroup in elasticache to populate subnetGroupName.
	// +kubebuilder:validation:Optional
	SubnetGroupNameSelector *v1.Selector `json:"subnetGroupNameSelector,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// Whether to enable encryption in transit.
	// Changing this argument with an engine_version < 7.0.5 will force a replacement.
	// Engine versions prior to 7.0.5 only allow this transit encryption to be configured during creation of the replication group.
	// +kubebuilder:validation:Optional
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,omitempty"`

	// A setting that enables clients to migrate to in-transit encryption with no downtime.
	// Valid values are preferred and required.
	// When enabling encryption on an existing replication group, this must first be set to preferred before setting it to required in a subsequent apply.
	// See the TransitEncryptionMode field in the CreateReplicationGroup API documentation for additional details.
	// +kubebuilder:validation:Optional
	TransitEncryptionMode *string `json:"transitEncryptionMode,omitempty" tf:"transit_encryption_mode,omitempty"`

	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. NOTE: This argument is a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	// +kubebuilder:validation:Optional
	// +listType=set
	UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"`
}

func (*ReplicationGroupParameters) DeepCopy

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

func (*ReplicationGroupParameters) DeepCopyInto

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

type ReplicationGroupSpec

type ReplicationGroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ReplicationGroupParameters `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 ReplicationGroupInitParameters `json:"initProvider,omitempty"`
}

ReplicationGroupSpec defines the desired state of ReplicationGroup

func (*ReplicationGroupSpec) DeepCopy

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

func (*ReplicationGroupSpec) DeepCopyInto

func (in *ReplicationGroupSpec) DeepCopyInto(out *ReplicationGroupSpec)

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

type ReplicationGroupStatus

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

ReplicationGroupStatus defines the observed state of ReplicationGroup.

func (*ReplicationGroupStatus) DeepCopy

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

func (*ReplicationGroupStatus) DeepCopyInto

func (in *ReplicationGroupStatus) DeepCopyInto(out *ReplicationGroupStatus)

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

type User added in v1.7.0

type User 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.accessString) || (has(self.initProvider) && has(self.initProvider.accessString))",message="spec.forProvider.accessString is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.engine) || (has(self.initProvider) && has(self.initProvider.engine))",message="spec.forProvider.engine is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.userName) || (has(self.initProvider) && has(self.initProvider.userName))",message="spec.forProvider.userName is a required parameter"
	Spec   UserSpec   `json:"spec"`
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the Users API. Provides an ElastiCache user. +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,aws}

func (*User) DeepCopy added in v1.7.0

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto added in v1.7.0

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject added in v1.7.0

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

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

func (*User) GetCondition added in v1.7.0

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

GetCondition of this User.

func (*User) GetConnectionDetailsMapping added in v1.7.0

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

GetConnectionDetailsMapping for this User

func (*User) GetDeletionPolicy added in v1.7.0

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

GetDeletionPolicy of this User.

func (*User) GetID added in v1.7.0

func (tr *User) GetID() string

GetID returns ID of underlying Terraform resource of this User

func (*User) GetInitParameters added in v1.7.0

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

GetInitParameters of this User

func (*User) GetManagementPolicies added in v1.7.0

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

GetManagementPolicies of this User.

func (*User) GetMergedParameters added in v1.7.0

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

GetInitParameters of this User

func (*User) GetObservation added in v1.7.0

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

GetObservation of this User

func (*User) GetParameters added in v1.7.0

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

GetParameters of this User

func (*User) GetProviderConfigReference added in v1.7.0

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

GetProviderConfigReference of this User.

func (*User) GetPublishConnectionDetailsTo added in v1.7.0

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

GetPublishConnectionDetailsTo of this User.

func (*User) GetTerraformResourceType added in v1.7.0

func (mg *User) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this User

func (*User) GetTerraformSchemaVersion added in v1.7.0

func (tr *User) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*User) GetWriteConnectionSecretToReference added in v1.7.0

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

GetWriteConnectionSecretToReference of this User.

func (*User) Hub added in v1.7.0

func (tr *User) Hub()

Hub marks this type as a conversion hub.

func (*User) LateInitialize added in v1.7.0

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

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

func (*User) SetConditions added in v1.7.0

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

SetConditions of this User.

func (*User) SetDeletionPolicy added in v1.7.0

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

SetDeletionPolicy of this User.

func (*User) SetManagementPolicies added in v1.7.0

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

SetManagementPolicies of this User.

func (*User) SetObservation added in v1.7.0

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

SetObservation for this User

func (*User) SetParameters added in v1.7.0

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

SetParameters for this User

func (*User) SetProviderConfigReference added in v1.7.0

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

SetProviderConfigReference of this User.

func (*User) SetPublishConnectionDetailsTo added in v1.7.0

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

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference added in v1.7.0

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

SetWriteConnectionSecretToReference of this User.

type UserInitParameters added in v1.7.0

type UserInitParameters struct {

	// Access permissions string used for this user. See Specifying Permissions Using an Access String for more details.
	AccessString *string `json:"accessString,omitempty" tf:"access_string,omitempty"`

	// Denotes the user's authentication properties. Detailed below.
	AuthenticationMode *AuthenticationModeInitParameters `json:"authenticationMode,omitempty" tf:"authentication_mode,omitempty"`

	// The current supported value is REDIS.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// Indicates a password is not required for this user.
	NoPasswordRequired *bool `json:"noPasswordRequired,omitempty" tf:"no_password_required,omitempty"`

	Passwords []*string `json:"passwordsSecretRef,omitempty" tf:"-"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The username of the user.
	UserName *string `json:"userName,omitempty" tf:"user_name,omitempty"`
}

func (*UserInitParameters) DeepCopy added in v1.7.0

func (in *UserInitParameters) DeepCopy() *UserInitParameters

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

func (*UserInitParameters) DeepCopyInto added in v1.7.0

func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters)

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

type UserList added in v1.7.0

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

UserList contains a list of Users

func (*UserList) DeepCopy added in v1.7.0

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto added in v1.7.0

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject added in v1.7.0

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

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

func (*UserList) GetItems added in v1.7.0

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

GetItems of this UserList.

type UserObservation added in v1.7.0

type UserObservation struct {

	// Access permissions string used for this user. See Specifying Permissions Using an Access String for more details.
	AccessString *string `json:"accessString,omitempty" tf:"access_string,omitempty"`

	// The ARN of the created ElastiCache User.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// Denotes the user's authentication properties. Detailed below.
	AuthenticationMode *AuthenticationModeObservation `json:"authenticationMode,omitempty" tf:"authentication_mode,omitempty"`

	// The current supported value is REDIS.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Indicates a password is not required for this user.
	NoPasswordRequired *bool `json:"noPasswordRequired,omitempty" tf:"no_password_required,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// The username of the user.
	UserName *string `json:"userName,omitempty" tf:"user_name,omitempty"`
}

func (*UserObservation) DeepCopy added in v1.7.0

func (in *UserObservation) DeepCopy() *UserObservation

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

func (*UserObservation) DeepCopyInto added in v1.7.0

func (in *UserObservation) DeepCopyInto(out *UserObservation)

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

type UserParameters added in v1.7.0

type UserParameters struct {

	// Access permissions string used for this user. See Specifying Permissions Using an Access String for more details.
	// +kubebuilder:validation:Optional
	AccessString *string `json:"accessString,omitempty" tf:"access_string,omitempty"`

	// Denotes the user's authentication properties. Detailed below.
	// +kubebuilder:validation:Optional
	AuthenticationMode *AuthenticationModeParameters `json:"authenticationMode,omitempty" tf:"authentication_mode,omitempty"`

	// The current supported value is REDIS.
	// +kubebuilder:validation:Optional
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// Indicates a password is not required for this user.
	// +kubebuilder:validation:Optional
	NoPasswordRequired *bool `json:"noPasswordRequired,omitempty" tf:"no_password_required,omitempty"`

	// Passwords used for this user. You can create up to two passwords for each user.
	// +kubebuilder:validation:Optional
	PasswordsSecretRef *[]v1.SecretKeySelector `json:"passwordsSecretRef,omitempty" tf:"-"`

	// Region is the region you'd like your resource to be created in.
	// +upjet:crd:field:TFTag=-
	// +kubebuilder:validation:Required
	Region *string `json:"region" tf:"-"`

	// Key-value map of resource tags.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The username of the user.
	// +kubebuilder:validation:Optional
	UserName *string `json:"userName,omitempty" tf:"user_name,omitempty"`
}

func (*UserParameters) DeepCopy added in v1.7.0

func (in *UserParameters) DeepCopy() *UserParameters

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

func (*UserParameters) DeepCopyInto added in v1.7.0

func (in *UserParameters) DeepCopyInto(out *UserParameters)

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

type UserSpec added in v1.7.0

type UserSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UserParameters `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 UserInitParameters `json:"initProvider,omitempty"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy added in v1.7.0

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto added in v1.7.0

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus added in v1.7.0

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

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy added in v1.7.0

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto added in v1.7.0

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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