v1alpha1

package
v0.9.0-rc.3 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=elasticache.aws.kubedb.com +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "elasticache.aws.kubedb.com"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Cluster_Kind             = "Cluster"
	Cluster_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Cluster_Kind}.String()
	Cluster_KindAPIVersion   = Cluster_Kind + "." + CRDGroupVersion.String()
	Cluster_GroupVersionKind = CRDGroupVersion.WithKind(Cluster_Kind)
)

Repository type metadata.

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 (
	ParameterGroup_Kind             = "ParameterGroup"
	ParameterGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ParameterGroup_Kind}.String()
	ParameterGroup_KindAPIVersion   = ParameterGroup_Kind + "." + CRDGroupVersion.String()
	ParameterGroup_GroupVersionKind = CRDGroupVersion.WithKind(ParameterGroup_Kind)
)

Repository type metadata.

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 (
	SubnetGroup_Kind             = "SubnetGroup"
	SubnetGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: SubnetGroup_Kind}.String()
	SubnetGroup_KindAPIVersion   = SubnetGroup_Kind + "." + CRDGroupVersion.String()
	SubnetGroup_GroupVersionKind = CRDGroupVersion.WithKind(SubnetGroup_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.

View Source
var (
	UserGroup_Kind             = "UserGroup"
	UserGroup_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: UserGroup_Kind}.String()
	UserGroup_KindAPIVersion   = UserGroup_Kind + "." + CRDGroupVersion.String()
	UserGroup_GroupVersionKind = CRDGroupVersion.WithKind(UserGroup_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AuthenticationModeInitParameters added in v0.0.2

type AuthenticationModeInitParameters struct {

	// 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 v0.0.2

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

func (*AuthenticationModeInitParameters) DeepCopyInto added in v0.0.2

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

type AuthenticationModeObservation

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

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

func (*AuthenticationModeObservation) DeepCopyInto

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

type AuthenticationModeParameters

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

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

func (*AuthenticationModeParameters) DeepCopyInto

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

type CacheNodesInitParameters added in v0.0.2

type CacheNodesInitParameters struct {
}

func (*CacheNodesInitParameters) DeepCopy added in v0.0.2

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

func (*CacheNodesInitParameters) DeepCopyInto added in v0.0.2

func (in *CacheNodesInitParameters) DeepCopyInto(out *CacheNodesInitParameters)

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

type CacheNodesObservation

type CacheNodesObservation struct {
	Address *string `json:"address,omitempty" tf:"address,omitempty"`

	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

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

	// The ARN of the created ElastiCache Cluster.
	OutpostArn *string `json:"outpostArn,omitempty" tf:"outpost_arn,omitempty"`

	// create the resource.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`
}

func (*CacheNodesObservation) DeepCopy

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

func (*CacheNodesObservation) DeepCopyInto

func (in *CacheNodesObservation) DeepCopyInto(out *CacheNodesObservation)

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

type CacheNodesParameters

type CacheNodesParameters struct {
}

func (*CacheNodesParameters) DeepCopy

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

func (*CacheNodesParameters) DeepCopyInto

func (in *CacheNodesParameters) DeepCopyInto(out *CacheNodesParameters)

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

type Cluster

type Cluster 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.region)",message="spec.forProvider.region is a required parameter"
	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

Cluster is the Schema for the Clusters API. Provides an ElastiCache Cluster resource. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

func (*Cluster) GetCondition

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

GetCondition of this Cluster.

func (*Cluster) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Cluster

func (*Cluster) GetDeletionPolicy

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

GetDeletionPolicy of this Cluster.

func (*Cluster) GetID

func (tr *Cluster) GetID() string

GetID returns ID of underlying Terraform resource of this Cluster

func (*Cluster) GetInitParameters added in v0.0.2

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

GetInitParameters of this Cluster

func (*Cluster) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this Cluster.

func (*Cluster) GetMergedParameters added in v0.0.2

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

GetInitParameters of this Cluster

func (*Cluster) GetObservation

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

GetObservation of this Cluster

func (*Cluster) GetParameters

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

GetParameters of this Cluster

func (*Cluster) GetProviderConfigReference

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

GetProviderConfigReference of this Cluster.

func (*Cluster) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetTerraformResourceType

func (mg *Cluster) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Cluster

func (*Cluster) GetTerraformSchemaVersion

func (tr *Cluster) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Cluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Cluster.

func (*Cluster) LateInitialize

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

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

func (*Cluster) ResolveReferences

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

ResolveReferences of this Cluster.

func (*Cluster) SetConditions

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

SetConditions of this Cluster.

func (*Cluster) SetDeletionPolicy

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

SetDeletionPolicy of this Cluster.

func (*Cluster) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this Cluster.

func (*Cluster) SetObservation

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

SetObservation for this Cluster

func (*Cluster) SetParameters

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

SetParameters for this Cluster

func (*Cluster) SetProviderConfigReference

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

SetProviderConfigReference of this Cluster.

func (*Cluster) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Cluster.

type ClusterInitParameters added in v0.0.2

type ClusterInitParameters struct {

	// Whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon ElastiCache Documentation for more information..
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,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 type "redis" and if the engine version is 6 or higher.
	// Defaults to true.
	AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"`

	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are single-az or cross-az, default is single-az. If you want to choose cross-az, num_cache_nodes must be greater than 1.
	AzMode *string `json:"azMode,omitempty" tf:"az_mode,omitempty"`

	// –  Name of the cache engine to be used for this cache cluster. Valid values are memcached or redis.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// –  Version number of the cache engine to be used.
	// If not set, defaults to the latest version.
	// See Describe Cache Engine Versions in the AWS Documentation for supported versions.
	// When engine is redis and the version is 6 or higher, 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 Attributes Reference below.
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,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"`

	// Specifies the destination and format of Redis SLOWLOG or Redis 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"`

	// The IP versions for cache cluster connections. IPv6 is supported with Redis engine 6.2 onword or Memcached version 1.6.6 for all Nitro system instances. Valid values are ipv4, ipv6 or dual_stack.
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// create the resource.
	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"`

	// –  The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	NumCacheNodes *float64 `json:"numCacheNodes,omitempty" tf:"num_cache_nodes,omitempty"`

	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are "single-outpost" and "cross-outpost", however AWS currently only supports "single-outpost" mode.
	OutpostMode *string `json:"outpostMode,omitempty" tf:"outpost_mode,omitempty"`

	// create the resource.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of num_cache_nodes. If you want all the nodes in the same Availability Zone, use availability_zone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones []*string `json:"preferredAvailabilityZones,omitempty" tf:"preferred_availability_zones,omitempty"`

	// The outpost ARN in which the cache cluster will be created.
	PreferredOutpostArn *string `json:"preferredOutpostArn,omitempty" tf:"preferred_outpost_arn,omitempty"`

	// element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing snapshot_arns forces a new resource.
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing 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 SnapshotRetentionLimit 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. Example: 05:00-09:00
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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.
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}

func (*ClusterInitParameters) DeepCopy added in v0.0.2

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

func (*ClusterInitParameters) DeepCopyInto added in v0.0.2

func (in *ClusterInitParameters) DeepCopyInto(out *ClusterInitParameters)

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

type ClusterList

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

ClusterList contains a list of Clusters

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

func (*ClusterList) GetItems

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

GetItems of this ClusterList.

type ClusterObservation

type ClusterObservation struct {

	// Whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon ElastiCache Documentation for more information..
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,omitempty"`

	// The ARN of the created ElastiCache Cluster.
	Arn *string `json:"arn,omitempty" tf:"arn,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 type "redis" and if the engine version is 6 or higher.
	// Defaults to true.
	AutoMinorVersionUpgrade *string `json:"autoMinorVersionUpgrade,omitempty" tf:"auto_minor_version_upgrade,omitempty"`

	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are single-az or cross-az, default is single-az. If you want to choose cross-az, num_cache_nodes must be greater than 1.
	AzMode *string `json:"azMode,omitempty" tf:"az_mode,omitempty"`

	// List of node objects including id, address, port and availability_zone.
	CacheNodes []CacheNodesObservation `json:"cacheNodes,omitempty" tf:"cache_nodes,omitempty"`

	// (Memcached only) DNS name of the cache cluster without the port appended.
	ClusterAddress *string `json:"clusterAddress,omitempty" tf:"cluster_address,omitempty"`

	// (Memcached only) Configuration endpoint to allow host discovery.
	ConfigurationEndpoint *string `json:"configurationEndpoint,omitempty" tf:"configuration_endpoint,omitempty"`

	// –  Name of the cache engine to be used for this cache cluster. Valid values are memcached or redis.
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// –  Version number of the cache engine to be used.
	// If not set, defaults to the latest version.
	// See Describe Cache Engine Versions in the AWS Documentation for supported versions.
	// When engine is redis and the version is 6 or higher, 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 Attributes 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"`

	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	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"`

	// Specifies the destination and format of Redis SLOWLOG or Redis 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"`

	// The IP versions for cache cluster connections. IPv6 is supported with Redis engine 6.2 onword or Memcached version 1.6.6 for all Nitro system instances. Valid values are ipv4, ipv6 or dual_stack.
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// create the resource.
	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"`

	// –  The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	NumCacheNodes *float64 `json:"numCacheNodes,omitempty" tf:"num_cache_nodes,omitempty"`

	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are "single-outpost" and "cross-outpost", however AWS currently only supports "single-outpost" mode.
	OutpostMode *string `json:"outpostMode,omitempty" tf:"outpost_mode,omitempty"`

	// –  The name of the parameter group to associate with this cache cluster.
	ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"`

	// create the resource.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of num_cache_nodes. If you want all the nodes in the same Availability Zone, use availability_zone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones []*string `json:"preferredAvailabilityZones,omitempty" tf:"preferred_availability_zones,omitempty"`

	// The outpost ARN in which the cache cluster will be created.
	PreferredOutpostArn *string `json:"preferredOutpostArn,omitempty" tf:"preferred_outpost_arn,omitempty"`

	// ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
	ReplicationGroupID *string `json:"replicationGroupId,omitempty" tf:"replication_group_id,omitempty"`

	// –  One or more VPC security groups associated with the cache cluster
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing snapshot_arns forces a new resource.
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing 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 SnapshotRetentionLimit 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. Example: 05:00-09:00
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// create the resource.
	SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"`

	// Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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.
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}

func (*ClusterObservation) DeepCopy

func (in *ClusterObservation) DeepCopy() *ClusterObservation

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

func (*ClusterObservation) DeepCopyInto

func (in *ClusterObservation) DeepCopyInto(out *ClusterObservation)

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

type ClusterParameters

type ClusterParameters struct {

	// Whether any database modifications are applied immediately, or during the next maintenance window. Default is false. See Amazon ElastiCache Documentation for more information..
	// +kubebuilder:validation:Optional
	ApplyImmediately *bool `json:"applyImmediately,omitempty" tf:"apply_immediately,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 type "redis" 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"`

	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are single-az or cross-az, default is single-az. If you want to choose cross-az, num_cache_nodes must be greater than 1.
	// +kubebuilder:validation:Optional
	AzMode *string `json:"azMode,omitempty" tf:"az_mode,omitempty"`

	// –  Name of the cache engine to be used for this cache cluster. Valid values are memcached or redis.
	// +kubebuilder:validation:Optional
	Engine *string `json:"engine,omitempty" tf:"engine,omitempty"`

	// –  Version number of the cache engine to be used.
	// If not set, defaults to the latest version.
	// See Describe Cache Engine Versions in the AWS Documentation for supported versions.
	// When engine is redis and the version is 6 or higher, 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 Attributes Reference below.
	// +kubebuilder:validation:Optional
	EngineVersion *string `json:"engineVersion,omitempty" tf:"engine_version,omitempty"`

	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	// +kubebuilder:validation:Optional
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// 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"`

	// Specifies the destination and format of Redis SLOWLOG or Redis 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"`

	// The IP versions for cache cluster connections. IPv6 is supported with Redis engine 6.2 onword or Memcached version 1.6.6 for all Nitro system instances. Valid values are ipv4, ipv6 or dual_stack.
	// +kubebuilder:validation:Optional
	NetworkType *string `json:"networkType,omitempty" tf:"network_type,omitempty"`

	// create the resource.
	// +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"`

	// –  The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	// +kubebuilder:validation:Optional
	NumCacheNodes *float64 `json:"numCacheNodes,omitempty" tf:"num_cache_nodes,omitempty"`

	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are "single-outpost" and "cross-outpost", however AWS currently only supports "single-outpost" mode.
	// +kubebuilder:validation:Optional
	OutpostMode *string `json:"outpostMode,omitempty" tf:"outpost_mode,omitempty"`

	// –  The name of the parameter group to associate with this cache cluster.
	// +crossplane:generate:reference:type=kubedb.dev/provider-aws/apis/elasticache/v1alpha1.ParameterGroup
	// +kubebuilder:validation:Optional
	ParameterGroupName *string `json:"parameterGroupName,omitempty" tf:"parameter_group_name,omitempty"`

	// Reference to a ParameterGroup in elasticache to populate parameterGroupName.
	// +kubebuilder:validation:Optional
	ParameterGroupNameRef *v1.Reference `json:"parameterGroupNameRef,omitempty" tf:"-"`

	// Selector for a ParameterGroup in elasticache to populate parameterGroupName.
	// +kubebuilder:validation:Optional
	ParameterGroupNameSelector *v1.Selector `json:"parameterGroupNameSelector,omitempty" tf:"-"`

	// create the resource.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of num_cache_nodes. If you want all the nodes in the same Availability Zone, use availability_zone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	// +kubebuilder:validation:Optional
	PreferredAvailabilityZones []*string `json:"preferredAvailabilityZones,omitempty" tf:"preferred_availability_zones,omitempty"`

	// The outpost ARN in which the cache cluster will be created.
	// +kubebuilder:validation:Optional
	PreferredOutpostArn *string `json:"preferredOutpostArn,omitempty" tf:"preferred_outpost_arn,omitempty"`

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

	// ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
	// +crossplane:generate:reference:type=kubedb.dev/provider-aws/apis/elasticache/v1alpha1.ReplicationGroup
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractResourceID()
	// +kubebuilder:validation:Optional
	ReplicationGroupID *string `json:"replicationGroupId,omitempty" tf:"replication_group_id,omitempty"`

	// Reference to a ReplicationGroup in elasticache to populate replicationGroupId.
	// +kubebuilder:validation:Optional
	ReplicationGroupIDRef *v1.Reference `json:"replicationGroupIdRef,omitempty" tf:"-"`

	// Selector for a ReplicationGroup in elasticache to populate replicationGroupId.
	// +kubebuilder:validation:Optional
	ReplicationGroupIDSelector *v1.Selector `json:"replicationGroupIdSelector,omitempty" tf:"-"`

	// 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:"-"`

	// –  One or more VPC security groups associated with the cache cluster
	// +crossplane:generate:reference:type=kubedb.dev/provider-aws/apis/ec2/v1alpha1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing snapshot_arns forces a new resource.
	// +kubebuilder:validation:Optional
	SnapshotArns []*string `json:"snapshotArns,omitempty" tf:"snapshot_arns,omitempty"`

	// Name of a snapshot from which to restore data into the new node group. Changing 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 SnapshotRetentionLimit 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. Example: 05:00-09:00
	// +kubebuilder:validation:Optional
	SnapshotWindow *string `json:"snapshotWindow,omitempty" tf:"snapshot_window,omitempty"`

	// create the resource.
	// +crossplane:generate:reference:type=kubedb.dev/provider-aws/apis/elasticache/v1alpha1.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:"-"`

	// Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	// +kubebuilder:validation:Optional
	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.
	// +kubebuilder:validation:Optional
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}

func (*ClusterParameters) DeepCopy

func (in *ClusterParameters) DeepCopy() *ClusterParameters

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

func (*ClusterParameters) DeepCopyInto

func (in *ClusterParameters) DeepCopyInto(out *ClusterParameters)

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

type ClusterSpec

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

ClusterSpec defines the desired state of Cluster

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type ClusterStatus

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

ClusterStatus defines the observed state of Cluster.

func (*ClusterStatus) DeepCopy

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type LogDeliveryConfigurationInitParameters added in v0.0.2

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 added in v0.0.2

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

func (*LogDeliveryConfigurationInitParameters) DeepCopyInto added in v0.0.2

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 ParameterGroup

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

ParameterGroup is the Schema for the ParameterGroups API. Provides an ElastiCache parameter group resource. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*ParameterGroup) DeepCopy

func (in *ParameterGroup) DeepCopy() *ParameterGroup

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

func (*ParameterGroup) DeepCopyInto

func (in *ParameterGroup) DeepCopyInto(out *ParameterGroup)

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

func (*ParameterGroup) DeepCopyObject

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

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

func (*ParameterGroup) GetCondition

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

GetCondition of this ParameterGroup.

func (*ParameterGroup) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ParameterGroup

func (*ParameterGroup) GetDeletionPolicy

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

GetDeletionPolicy of this ParameterGroup.

func (*ParameterGroup) GetID

func (tr *ParameterGroup) GetID() string

GetID returns ID of underlying Terraform resource of this ParameterGroup

func (*ParameterGroup) GetInitParameters added in v0.0.2

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

GetInitParameters of this ParameterGroup

func (*ParameterGroup) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this ParameterGroup.

func (*ParameterGroup) GetMergedParameters added in v0.0.2

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

GetInitParameters of this ParameterGroup

func (*ParameterGroup) GetObservation

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

GetObservation of this ParameterGroup

func (*ParameterGroup) GetParameters

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

GetParameters of this ParameterGroup

func (*ParameterGroup) GetProviderConfigReference

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

GetProviderConfigReference of this ParameterGroup.

func (*ParameterGroup) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ParameterGroup.

func (*ParameterGroup) GetTerraformResourceType

func (mg *ParameterGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ParameterGroup

func (*ParameterGroup) GetTerraformSchemaVersion

func (tr *ParameterGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ParameterGroup) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ParameterGroup.

func (*ParameterGroup) LateInitialize

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

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

func (*ParameterGroup) SetConditions

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

SetConditions of this ParameterGroup.

func (*ParameterGroup) SetDeletionPolicy

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

SetDeletionPolicy of this ParameterGroup.

func (*ParameterGroup) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this ParameterGroup.

func (*ParameterGroup) SetObservation

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

SetObservation for this ParameterGroup

func (*ParameterGroup) SetParameters

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

SetParameters for this ParameterGroup

func (*ParameterGroup) SetProviderConfigReference

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

SetProviderConfigReference of this ParameterGroup.

func (*ParameterGroup) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ParameterGroup.

func (*ParameterGroup) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ParameterGroup.

type ParameterGroupInitParameters added in v0.0.2

type ParameterGroupInitParameters struct {

	// The description of the ElastiCache parameter group.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The family of the ElastiCache parameter group.
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// The name of the ElastiCache parameter group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of ElastiCache parameters to apply.
	Parameter []ParameterInitParameters `json:"parameter,omitempty" tf:"parameter,omitempty"`

	// Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

func (*ParameterGroupInitParameters) DeepCopy added in v0.0.2

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

func (*ParameterGroupInitParameters) DeepCopyInto added in v0.0.2

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

type ParameterGroupList

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

ParameterGroupList contains a list of ParameterGroups

func (*ParameterGroupList) DeepCopy

func (in *ParameterGroupList) DeepCopy() *ParameterGroupList

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

func (*ParameterGroupList) DeepCopyInto

func (in *ParameterGroupList) DeepCopyInto(out *ParameterGroupList)

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

func (*ParameterGroupList) DeepCopyObject

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

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

func (*ParameterGroupList) GetItems

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

GetItems of this ParameterGroupList.

type ParameterGroupObservation

type ParameterGroupObservation struct {

	// The AWS ARN associated with the parameter group.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// The description of the ElastiCache parameter group.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The family of the ElastiCache parameter group.
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// The ElastiCache parameter group name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the ElastiCache parameter group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of ElastiCache parameters to apply.
	Parameter []ParameterObservation `json:"parameter,omitempty" tf:"parameter,omitempty"`

	// Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

func (*ParameterGroupObservation) DeepCopy

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

func (*ParameterGroupObservation) DeepCopyInto

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

type ParameterGroupParameters

type ParameterGroupParameters struct {

	// The description of the ElastiCache parameter group.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The family of the ElastiCache parameter group.
	// +kubebuilder:validation:Optional
	Family *string `json:"family,omitempty" tf:"family,omitempty"`

	// The name of the ElastiCache parameter group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of ElastiCache parameters to apply.
	// +kubebuilder:validation:Optional
	Parameter []ParameterParameters `json:"parameter,omitempty" tf:"parameter,omitempty"`

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

	// Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}

func (*ParameterGroupParameters) DeepCopy

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

func (*ParameterGroupParameters) DeepCopyInto

func (in *ParameterGroupParameters) DeepCopyInto(out *ParameterGroupParameters)

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

type ParameterGroupSpec

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

ParameterGroupSpec defines the desired state of ParameterGroup

func (*ParameterGroupSpec) DeepCopy

func (in *ParameterGroupSpec) DeepCopy() *ParameterGroupSpec

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

func (*ParameterGroupSpec) DeepCopyInto

func (in *ParameterGroupSpec) DeepCopyInto(out *ParameterGroupSpec)

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

type ParameterGroupStatus

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

ParameterGroupStatus defines the observed state of ParameterGroup.

func (*ParameterGroupStatus) DeepCopy

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

func (*ParameterGroupStatus) DeepCopyInto

func (in *ParameterGroupStatus) DeepCopyInto(out *ParameterGroupStatus)

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

type ParameterInitParameters added in v0.0.2

type ParameterInitParameters struct {

	// The name of the ElastiCache parameter group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the ElastiCache parameter.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*ParameterInitParameters) DeepCopy added in v0.0.2

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

func (*ParameterInitParameters) DeepCopyInto added in v0.0.2

func (in *ParameterInitParameters) DeepCopyInto(out *ParameterInitParameters)

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

type ParameterObservation

type ParameterObservation struct {

	// The name of the ElastiCache parameter group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The value of the ElastiCache parameter.
	Value *string `json:"value,omitempty" tf:"value,omitempty"`
}

func (*ParameterObservation) DeepCopy

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

func (*ParameterObservation) DeepCopyInto

func (in *ParameterObservation) DeepCopyInto(out *ParameterObservation)

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

type ParameterParameters

type ParameterParameters struct {

	// The name of the ElastiCache parameter group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name" tf:"name,omitempty"`

	// The value of the ElastiCache parameter.
	// +kubebuilder:validation:Optional
	Value *string `json:"value" tf:"value,omitempty"`
}

func (*ParameterParameters) DeepCopy

func (in *ParameterParameters) DeepCopy() *ParameterParameters

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

func (*ParameterParameters) DeepCopyInto

func (in *ParameterParameters) DeepCopyInto(out *ParameterParameters)

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.region)",message="spec.forProvider.region 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +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 added in v0.0.2

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

GetInitParameters of this ReplicationGroup

func (*ReplicationGroup) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this ReplicationGroup.

func (*ReplicationGroup) GetMergedParameters added in v0.0.2

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) 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

ResolveReferences of this ReplicationGroup.

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 added in v0.0.2

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 added in v0.0.2

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"`

	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type "redis" 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"`

	// 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. The only valid value is redis.
	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 6 or higher, 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 Attributes 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.
	GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,omitempty"`

	// Specifies the destination and format of Redis SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	LogDeliveryConfiguration []ReplicationGroupLogDeliveryConfigurationInitParameters `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"`

	// 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.
	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.
	ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"`

	// List of cache security group names to associate with this replication group.
	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.
	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"`

	// Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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.
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Whether to enable encryption in transit.
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,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.
	UserGroupIds []*string `json:"userGroupIds,omitempty" tf:"user_group_ids,omitempty"`
}

func (*ReplicationGroupInitParameters) DeepCopy added in v0.0.2

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

func (*ReplicationGroupInitParameters) DeepCopyInto added in v0.0.2

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 ReplicationGroupLogDeliveryConfigurationInitParameters added in v0.0.2

type ReplicationGroupLogDeliveryConfigurationInitParameters 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 (*ReplicationGroupLogDeliveryConfigurationInitParameters) DeepCopy added in v0.0.2

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

func (*ReplicationGroupLogDeliveryConfigurationInitParameters) DeepCopyInto added in v0.0.2

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

type ReplicationGroupLogDeliveryConfigurationObservation

type ReplicationGroupLogDeliveryConfigurationObservation 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 (*ReplicationGroupLogDeliveryConfigurationObservation) DeepCopy

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

func (*ReplicationGroupLogDeliveryConfigurationObservation) DeepCopyInto

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

type ReplicationGroupLogDeliveryConfigurationParameters

type ReplicationGroupLogDeliveryConfigurationParameters 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 (*ReplicationGroupLogDeliveryConfigurationParameters) DeepCopy

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

func (*ReplicationGroupLogDeliveryConfigurationParameters) DeepCopyInto

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

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"`

	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type "redis" 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"`

	// 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. The only valid value is redis.
	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 6 or higher, 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 Attributes 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 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 SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	LogDeliveryConfiguration []ReplicationGroupLogDeliveryConfigurationObservation `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.
	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"`

	// 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.
	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.
	ReplicasPerNodeGroup *float64 `json:"replicasPerNodeGroup,omitempty" tf:"replicas_per_node_group,omitempty"`

	// 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
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// List of cache security group names to associate with this replication group.
	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.
	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"`

	// Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	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.
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Whether to enable encryption in transit.
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,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.
	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.
	// +kubebuilder:validation:Optional
	AuthTokenSecretRef *v1.SecretKeySelector `json:"authTokenSecretRef,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 type "redis" 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"`

	// 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. The only valid value is redis.
	// +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 6 or higher, 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 Attributes 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.
	// +kubebuilder:validation:Optional
	GlobalReplicationGroupID *string `json:"globalReplicationGroupId,omitempty" tf:"global_replication_group_id,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=kubedb.dev/provider-aws/apis/kms/v1alpha1.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 SLOWLOG or Redis Engine Log. See the documentation on Amazon ElastiCache. See Log Delivery Configuration below for more details.
	// +kubebuilder:validation:Optional
	LogDeliveryConfiguration []ReplicationGroupLogDeliveryConfigurationParameters `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"`

	// 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.
	// +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:Optional
	Region *string `json:"region,omitempty" 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.
	// +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:"-"`

	// 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=kubedb.dev/provider-aws/apis/ec2/v1alpha1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=SecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=SecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	SecurityGroupIds []*string `json:"securityGroupIds,omitempty" tf:"security_group_ids,omitempty"`

	// List of cache security group names to associate with this replication group.
	// +kubebuilder:validation:Optional
	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
	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=SubnetGroup
	// +kubebuilder:validation:Optional
	SubnetGroupName *string `json:"subnetGroupName,omitempty" tf:"subnet_group_name,omitempty"`

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

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

	// Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	// +kubebuilder:validation:Optional
	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.
	// +kubebuilder:validation:Optional
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// Whether to enable encryption in transit.
	// +kubebuilder:validation:Optional
	TransitEncryptionEnabled *bool `json:"transitEncryptionEnabled,omitempty" tf:"transit_encryption_enabled,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
	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 SubnetGroup

type SubnetGroup 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.region)",message="spec.forProvider.region is a required parameter"
	Spec   SubnetGroupSpec   `json:"spec"`
	Status SubnetGroupStatus `json:"status,omitempty"`
}

SubnetGroup is the Schema for the SubnetGroups API. Provides an ElastiCache Subnet Group resource. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*SubnetGroup) DeepCopy

func (in *SubnetGroup) DeepCopy() *SubnetGroup

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

func (*SubnetGroup) DeepCopyInto

func (in *SubnetGroup) DeepCopyInto(out *SubnetGroup)

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

func (*SubnetGroup) DeepCopyObject

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

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

func (*SubnetGroup) GetCondition

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

GetCondition of this SubnetGroup.

func (*SubnetGroup) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this SubnetGroup

func (*SubnetGroup) GetDeletionPolicy

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

GetDeletionPolicy of this SubnetGroup.

func (*SubnetGroup) GetID

func (tr *SubnetGroup) GetID() string

GetID returns ID of underlying Terraform resource of this SubnetGroup

func (*SubnetGroup) GetInitParameters added in v0.0.2

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

GetInitParameters of this SubnetGroup

func (*SubnetGroup) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this SubnetGroup.

func (*SubnetGroup) GetMergedParameters added in v0.0.2

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

GetInitParameters of this SubnetGroup

func (*SubnetGroup) GetObservation

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

GetObservation of this SubnetGroup

func (*SubnetGroup) GetParameters

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

GetParameters of this SubnetGroup

func (*SubnetGroup) GetProviderConfigReference

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

GetProviderConfigReference of this SubnetGroup.

func (*SubnetGroup) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this SubnetGroup.

func (*SubnetGroup) GetTerraformResourceType

func (mg *SubnetGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this SubnetGroup

func (*SubnetGroup) GetTerraformSchemaVersion

func (tr *SubnetGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*SubnetGroup) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this SubnetGroup.

func (*SubnetGroup) LateInitialize

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

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

func (*SubnetGroup) ResolveReferences added in v0.0.2

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

ResolveReferences of this SubnetGroup.

func (*SubnetGroup) SetConditions

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

SetConditions of this SubnetGroup.

func (*SubnetGroup) SetDeletionPolicy

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

SetDeletionPolicy of this SubnetGroup.

func (*SubnetGroup) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this SubnetGroup.

func (*SubnetGroup) SetObservation

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

SetObservation for this SubnetGroup

func (*SubnetGroup) SetParameters

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

SetParameters for this SubnetGroup

func (*SubnetGroup) SetProviderConfigReference

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

SetProviderConfigReference of this SubnetGroup.

func (*SubnetGroup) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this SubnetGroup.

func (*SubnetGroup) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this SubnetGroup.

type SubnetGroupInitParameters added in v0.0.2

type SubnetGroupInitParameters struct {

	// –  Description for the cache subnet group.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

func (*SubnetGroupInitParameters) DeepCopy added in v0.0.2

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

func (*SubnetGroupInitParameters) DeepCopyInto added in v0.0.2

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

type SubnetGroupList

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

SubnetGroupList contains a list of SubnetGroups

func (*SubnetGroupList) DeepCopy

func (in *SubnetGroupList) DeepCopy() *SubnetGroupList

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

func (*SubnetGroupList) DeepCopyInto

func (in *SubnetGroupList) DeepCopyInto(out *SubnetGroupList)

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

func (*SubnetGroupList) DeepCopyObject

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

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

func (*SubnetGroupList) GetItems

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

GetItems of this SubnetGroupList.

type SubnetGroupObservation

type SubnetGroupObservation struct {
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// –  Description for the cache subnet group.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

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

	// –  List of VPC Subnet IDs for the cache subnet group
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

func (*SubnetGroupObservation) DeepCopy

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

func (*SubnetGroupObservation) DeepCopyInto

func (in *SubnetGroupObservation) DeepCopyInto(out *SubnetGroupObservation)

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

type SubnetGroupParameters

type SubnetGroupParameters struct {

	// –  Description for the cache subnet group.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

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

	// References to Subnet in ec2 to populate subnetIds.
	// +kubebuilder:validation:Optional
	SubnetIDRefs []v1.Reference `json:"subnetIdRefs,omitempty" tf:"-"`

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

	// –  List of VPC Subnet IDs for the cache subnet group
	// +crossplane:generate:reference:type=kubedb.dev/provider-aws/apis/ec2/v1alpha1.Subnet
	// +crossplane:generate:reference:refFieldName=SubnetIDRefs
	// +crossplane:generate:reference:selectorFieldName=SubnetIDSelector
	// +kubebuilder:validation:Optional
	SubnetIds []*string `json:"subnetIds,omitempty" tf:"subnet_ids,omitempty"`

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.
	// +kubebuilder:validation:Optional
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`
}

func (*SubnetGroupParameters) DeepCopy

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

func (*SubnetGroupParameters) DeepCopyInto

func (in *SubnetGroupParameters) DeepCopyInto(out *SubnetGroupParameters)

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

type SubnetGroupSpec

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

SubnetGroupSpec defines the desired state of SubnetGroup

func (*SubnetGroupSpec) DeepCopy

func (in *SubnetGroupSpec) DeepCopy() *SubnetGroupSpec

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

func (*SubnetGroupSpec) DeepCopyInto

func (in *SubnetGroupSpec) DeepCopyInto(out *SubnetGroupSpec)

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

type SubnetGroupStatus

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

SubnetGroupStatus defines the observed state of SubnetGroup.

func (*SubnetGroupStatus) DeepCopy

func (in *SubnetGroupStatus) DeepCopy() *SubnetGroupStatus

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

func (*SubnetGroupStatus) DeepCopyInto

func (in *SubnetGroupStatus) DeepCopyInto(out *SubnetGroupStatus)

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

type User

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.region)",message="spec.forProvider.region 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="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

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

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

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

func (*User) GetCondition

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

GetCondition of this User.

func (*User) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this User

func (*User) GetDeletionPolicy

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

GetDeletionPolicy of this User.

func (*User) GetID

func (tr *User) GetID() string

GetID returns ID of underlying Terraform resource of this User

func (*User) GetInitParameters added in v0.0.2

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

GetInitParameters of this User

func (*User) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this User.

func (*User) GetMergedParameters added in v0.0.2

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

GetInitParameters of this User

func (*User) GetObservation

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

GetObservation of this User

func (*User) GetParameters

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

GetParameters of this User

func (*User) GetProviderConfigReference

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

GetProviderConfigReference of this User.

func (*User) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this User.

func (*User) GetTerraformResourceType

func (mg *User) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this User

func (*User) GetTerraformSchemaVersion

func (tr *User) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*User) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this User.

func (*User) LateInitialize

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

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

SetConditions of this User.

func (*User) SetDeletionPolicy

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

SetDeletionPolicy of this User.

func (*User) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this User.

func (*User) SetObservation

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

SetObservation for this User

func (*User) SetParameters

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

SetParameters for this User

func (*User) SetProviderConfigReference

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

SetProviderConfigReference of this User.

func (*User) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this User.

type UserGroup

type UserGroup 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.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.region)",message="spec.forProvider.region is a required parameter"
	Spec   UserGroupSpec   `json:"spec"`
	Status UserGroupStatus `json:"status,omitempty"`
}

UserGroup is the Schema for the UserGroups API. Provides an ElastiCache user group. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*UserGroup) DeepCopy

func (in *UserGroup) DeepCopy() *UserGroup

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

func (*UserGroup) DeepCopyInto

func (in *UserGroup) DeepCopyInto(out *UserGroup)

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

func (*UserGroup) DeepCopyObject

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

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

func (*UserGroup) GetCondition

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

GetCondition of this UserGroup.

func (*UserGroup) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this UserGroup

func (*UserGroup) GetDeletionPolicy

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

GetDeletionPolicy of this UserGroup.

func (*UserGroup) GetID

func (tr *UserGroup) GetID() string

GetID returns ID of underlying Terraform resource of this UserGroup

func (*UserGroup) GetInitParameters added in v0.0.2

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

GetInitParameters of this UserGroup

func (*UserGroup) GetManagementPolicies added in v0.0.2

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

GetManagementPolicies of this UserGroup.

func (*UserGroup) GetMergedParameters added in v0.0.2

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

GetInitParameters of this UserGroup

func (*UserGroup) GetObservation

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

GetObservation of this UserGroup

func (*UserGroup) GetParameters

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

GetParameters of this UserGroup

func (*UserGroup) GetProviderConfigReference

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

GetProviderConfigReference of this UserGroup.

func (*UserGroup) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this UserGroup.

func (*UserGroup) GetTerraformResourceType

func (mg *UserGroup) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this UserGroup

func (*UserGroup) GetTerraformSchemaVersion

func (tr *UserGroup) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*UserGroup) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this UserGroup.

func (*UserGroup) LateInitialize

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

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

func (*UserGroup) ResolveReferences

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

ResolveReferences of this UserGroup.

func (*UserGroup) SetConditions

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

SetConditions of this UserGroup.

func (*UserGroup) SetDeletionPolicy

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

SetDeletionPolicy of this UserGroup.

func (*UserGroup) SetManagementPolicies added in v0.0.2

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

SetManagementPolicies of this UserGroup.

func (*UserGroup) SetObservation

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

SetObservation for this UserGroup

func (*UserGroup) SetParameters

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

SetParameters for this UserGroup

func (*UserGroup) SetProviderConfigReference

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

SetProviderConfigReference of this UserGroup.

func (*UserGroup) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this UserGroup.

func (*UserGroup) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this UserGroup.

type UserGroupInitParameters added in v0.0.2

type UserGroupInitParameters struct {

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

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

func (*UserGroupInitParameters) DeepCopy added in v0.0.2

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

func (*UserGroupInitParameters) DeepCopyInto added in v0.0.2

func (in *UserGroupInitParameters) DeepCopyInto(out *UserGroupInitParameters)

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

type UserGroupList

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

UserGroupList contains a list of UserGroups

func (*UserGroupList) DeepCopy

func (in *UserGroupList) DeepCopy() *UserGroupList

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

func (*UserGroupList) DeepCopyInto

func (in *UserGroupList) DeepCopyInto(out *UserGroupList)

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

func (*UserGroupList) DeepCopyObject

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

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

func (*UserGroupList) GetItems

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

GetItems of this UserGroupList.

type UserGroupObservation

type UserGroupObservation struct {

	// The ARN that identifies the user group.
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

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

	// The user group identifier.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

	// The list of user IDs that belong to the user group.
	UserIds []*string `json:"userIds,omitempty" tf:"user_ids,omitempty"`
}

func (*UserGroupObservation) DeepCopy

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

func (*UserGroupObservation) DeepCopyInto

func (in *UserGroupObservation) DeepCopyInto(out *UserGroupObservation)

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

type UserGroupParameters

type UserGroupParameters struct {

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

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

	// Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

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

	// References to User to populate userIds.
	// +kubebuilder:validation:Optional
	UserIDRefs []v1.Reference `json:"userIdRefs,omitempty" tf:"-"`

	// Selector for a list of User to populate userIds.
	// +kubebuilder:validation:Optional
	UserIDSelector *v1.Selector `json:"userIdSelector,omitempty" tf:"-"`

	// The list of user IDs that belong to the user group.
	// +crossplane:generate:reference:type=User
	// +crossplane:generate:reference:refFieldName=UserIDRefs
	// +crossplane:generate:reference:selectorFieldName=UserIDSelector
	// +kubebuilder:validation:Optional
	UserIds []*string `json:"userIds,omitempty" tf:"user_ids,omitempty"`
}

func (*UserGroupParameters) DeepCopy

func (in *UserGroupParameters) DeepCopy() *UserGroupParameters

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

func (*UserGroupParameters) DeepCopyInto

func (in *UserGroupParameters) DeepCopyInto(out *UserGroupParameters)

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

type UserGroupSpec

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

UserGroupSpec defines the desired state of UserGroup

func (*UserGroupSpec) DeepCopy

func (in *UserGroupSpec) DeepCopy() *UserGroupSpec

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

func (*UserGroupSpec) DeepCopyInto

func (in *UserGroupSpec) DeepCopyInto(out *UserGroupSpec)

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

type UserGroupStatus

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

UserGroupStatus defines the observed state of UserGroup.

func (*UserGroupStatus) DeepCopy

func (in *UserGroupStatus) DeepCopy() *UserGroupStatus

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

func (*UserGroupStatus) DeepCopyInto

func (in *UserGroupStatus) DeepCopyInto(out *UserGroupStatus)

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

type UserInitParameters added in v0.0.2

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"`

	// A list of tags to be added to this resource. A tag is a key-value pair.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	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 (*UserInitParameters) DeepCopy added in v0.0.2

func (in *UserInitParameters) DeepCopy() *UserInitParameters

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

func (*UserInitParameters) DeepCopyInto added in v0.0.2

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

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

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

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

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

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

func (*UserList) GetItems

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

GetItems of this UserList.

type UserObservation

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"`

	// A list of tags to be added to this resource. A tag is a key-value pair.
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	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

func (in *UserObservation) DeepCopy() *UserObservation

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

func (*UserObservation) DeepCopyInto

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

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:Optional
	Region *string `json:"region,omitempty" tf:"-"`

	// A list of tags to be added to this resource. A tag is a key-value pair.
	// +kubebuilder:validation:Optional
	Tags map[string]*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// +kubebuilder:validation:Optional
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

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

func (*UserParameters) DeepCopy

func (in *UserParameters) DeepCopy() *UserParameters

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

func (*UserParameters) DeepCopyInto

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

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

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

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

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

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

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