v1beta2

package
v1.8.0 Latest Latest
Warning

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

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

Documentation

Overview

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

Index

Constants

View Source
const (
	CRDGroup   = "redshift.aws.upbound.io"
	CRDVersion = "v1beta2"
)

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 (
	ScheduledAction_Kind             = "ScheduledAction"
	ScheduledAction_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ScheduledAction_Kind}.String()
	ScheduledAction_KindAPIVersion   = ScheduledAction_Kind + "." + CRDGroupVersion.String()
	ScheduledAction_GroupVersionKind = CRDGroupVersion.WithKind(ScheduledAction_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

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

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

func (*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

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

GetInitParameters of this Cluster

func (*Cluster) GetManagementPolicies

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

GetManagementPolicies of this Cluster.

func (*Cluster) GetMergedParameters

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

func (tr *Cluster) Hub()

Hub marks this type as a conversion hub.

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

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

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

type ClusterInitParameters struct {

	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true.
	AllowVersionUpgrade *bool `json:"allowVersionUpgrade,omitempty" tf:"allow_version_upgrade,omitempty"`

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

	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored.
	// No longer supported by the AWS API.
	// Always returns auto.
	AquaConfigurationStatus *string `json:"aquaConfigurationStatus,omitempty" tf:"aqua_configuration_status,omitempty"`

	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	AutomatedSnapshotRetentionPeriod *float64 `json:"automatedSnapshotRetentionPeriod,omitempty" tf:"automated_snapshot_retention_period,omitempty"`

	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if availability_zone_relocation_enabled is true.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is false. Available for use on clusters from the RA3 instance family.
	AvailabilityZoneRelocationEnabled *bool `json:"availabilityZoneRelocationEnabled,omitempty" tf:"availability_zone_relocation_enabled,omitempty"`

	// The name of the parameter group to be associated with this cluster.
	ClusterParameterGroupName *string `json:"clusterParameterGroupName,omitempty" tf:"cluster_parameter_group_name,omitempty"`

	// The public key for the cluster
	ClusterPublicKey *string `json:"clusterPublicKey,omitempty" tf:"cluster_public_key,omitempty"`

	// The specific revision number of the database in the cluster
	ClusterRevisionNumber *string `json:"clusterRevisionNumber,omitempty" tf:"cluster_revision_number,omitempty"`

	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	ClusterSubnetGroupName *string `json:"clusterSubnetGroupName,omitempty" tf:"cluster_subnet_group_name,omitempty"`

	// The cluster type to use. Either single-node or multi-node.
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	ClusterVersion *string `json:"clusterVersion,omitempty" tf:"cluster_version,omitempty"`

	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called dev.
	DatabaseName *string `json:"databaseName,omitempty" tf:"database_name,omitempty"`

	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	DefaultIAMRoleArn *string `json:"defaultIamRoleArn,omitempty" tf:"default_iam_role_arn,omitempty"`

	// Reference to a Role in iam to populate defaultIamRoleArn.
	// +kubebuilder:validation:Optional
	DefaultIAMRoleArnRef *v1.Reference `json:"defaultIamRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate defaultIamRoleArn.
	// +kubebuilder:validation:Optional
	DefaultIAMRoleArnSelector *v1.Selector `json:"defaultIamRoleArnSelector,omitempty" tf:"-"`

	// The Elastic IP (EIP) address for the cluster.
	ElasticIP *string `json:"elasticIp,omitempty" tf:"elastic_ip,omitempty"`

	// If true , the data in the cluster is encrypted at rest.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The connection endpoint
	Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"`

	// If true , enhanced VPC routing is enabled.
	EnhancedVPCRouting *bool `json:"enhancedVpcRouting,omitempty" tf:"enhanced_vpc_routing,omitempty"`

	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, skip_final_snapshot must be false.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// References to Role in iam to populate iamRoles.
	// +kubebuilder:validation:Optional
	IAMRoleRefs []v1.Reference `json:"iamRoleRefs,omitempty" tf:"-"`

	// Selector for a list of Role in iam to populate iamRoles.
	// +kubebuilder:validation:Optional
	IAMRoleSelector *v1.Selector `json:"iamRoleSelector,omitempty" tf:"-"`

	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:refFieldName=IAMRoleRefs
	// +crossplane:generate:reference:selectorFieldName=IAMRoleSelector
	// +listType=set
	IAMRoles []*string `json:"iamRoles,omitempty" tf:"iam_roles,omitempty"`

	// The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

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

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

	// Logging, documented below.
	Logging *LoggingInitParameters `json:"logging,omitempty" tf:"logging,omitempty"`

	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is current.
	MaintenanceTrackName *string `json:"maintenanceTrackName,omitempty" tf:"maintenance_track_name,omitempty"`

	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with master_password.
	// One of master_password or manage_master_password is required unless snapshot_identifier is provided.
	ManageMasterPassword *bool `json:"manageMasterPassword,omitempty" tf:"manage_master_password,omitempty"`

	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between -1 and 3653. Default value is -1.
	ManualSnapshotRetentionPeriod *float64 `json:"manualSnapshotRetentionPeriod,omitempty" tf:"manual_snapshot_retention_period,omitempty"`

	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	MasterPasswordSecretKMSKeyID *string `json:"masterPasswordSecretKmsKeyId,omitempty" tf:"master_password_secret_kms_key_id,omitempty"`

	// Password for the master DB user.
	// Conflicts with manage_master_password.
	// One of master_password or manage_master_password is required unless snapshot_identifier is provided.
	// Note that this may show up in logs, and it will be stored in the state file.
	// Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.
	MasterPasswordSecretRef *v1.SecretKeySelector `json:"masterPasswordSecretRef,omitempty" tf:"-"`

	// Username for the master DB user.
	MasterUsername *string `json:"masterUsername,omitempty" tf:"master_username,omitempty"`

	// Specifies if the Redshift cluster is multi-AZ.
	MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"`

	// The node type to be provisioned for the cluster.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`

	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	OwnerAccount *string `json:"ownerAccount,omitempty" tf:"owner_account,omitempty"`

	// The port number on which the cluster accepts incoming connections. Valid values are between 1115 and 65535.
	// The cluster is accessible only via the JDBC and ODBC connection strings.
	// Part of the connection string requires the port on which the cluster will listen for incoming connections.
	// Default port is 5439.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty" tf:"preferred_maintenance_window,omitempty"`

	// If true, the cluster can be accessed from a public network. Default is true.
	PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,omitempty"`

	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"`

	// The ARN of the snapshot from which to create the new cluster. Conflicts with snapshot_identifier.
	SnapshotArn *string `json:"snapshotArn,omitempty" tf:"snapshot_arn,omitempty"`

	// The name of the cluster the source snapshot was created from.
	SnapshotClusterIdentifier *string `json:"snapshotClusterIdentifier,omitempty" tf:"snapshot_cluster_identifier,omitempty"`

	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	SnapshotCopy *SnapshotCopyInitParameters `json:"snapshotCopy,omitempty" tf:"snapshot_copy,omitempty"`

	// The name of the snapshot from which to create the new cluster.  Conflicts with snapshot_arn.
	SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"`

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

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

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

	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,omitempty"`
}

func (*ClusterInitParameters) DeepCopy

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

func (*ClusterInitParameters) DeepCopyInto

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 ClusterNodesInitParameters

type ClusterNodesInitParameters struct {
}

func (*ClusterNodesInitParameters) DeepCopy

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

func (*ClusterNodesInitParameters) DeepCopyInto

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

type ClusterNodesObservation

type ClusterNodesObservation struct {

	// Whether the node is a leader node or a compute node
	NodeRole *string `json:"nodeRole,omitempty" tf:"node_role,omitempty"`

	// The private IP address of a node within a cluster
	PrivateIPAddress *string `json:"privateIpAddress,omitempty" tf:"private_ip_address,omitempty"`

	// The public IP address of a node within a cluster
	PublicIPAddress *string `json:"publicIpAddress,omitempty" tf:"public_ip_address,omitempty"`
}

func (*ClusterNodesObservation) DeepCopy

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

func (*ClusterNodesObservation) DeepCopyInto

func (in *ClusterNodesObservation) DeepCopyInto(out *ClusterNodesObservation)

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

type ClusterNodesParameters

type ClusterNodesParameters struct {
}

func (*ClusterNodesParameters) DeepCopy

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

func (*ClusterNodesParameters) DeepCopyInto

func (in *ClusterNodesParameters) DeepCopyInto(out *ClusterNodesParameters)

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

type ClusterObservation

type ClusterObservation struct {

	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true.
	AllowVersionUpgrade *bool `json:"allowVersionUpgrade,omitempty" tf:"allow_version_upgrade,omitempty"`

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

	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored.
	// No longer supported by the AWS API.
	// Always returns auto.
	AquaConfigurationStatus *string `json:"aquaConfigurationStatus,omitempty" tf:"aqua_configuration_status,omitempty"`

	// Amazon Resource Name (ARN) of cluster
	Arn *string `json:"arn,omitempty" tf:"arn,omitempty"`

	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	AutomatedSnapshotRetentionPeriod *float64 `json:"automatedSnapshotRetentionPeriod,omitempty" tf:"automated_snapshot_retention_period,omitempty"`

	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if availability_zone_relocation_enabled is true.
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is false. Available for use on clusters from the RA3 instance family.
	AvailabilityZoneRelocationEnabled *bool `json:"availabilityZoneRelocationEnabled,omitempty" tf:"availability_zone_relocation_enabled,omitempty"`

	// The namespace Amazon Resource Name (ARN) of the cluster
	ClusterNamespaceArn *string `json:"clusterNamespaceArn,omitempty" tf:"cluster_namespace_arn,omitempty"`

	// The nodes in the cluster. Cluster node blocks are documented below
	ClusterNodes []ClusterNodesObservation `json:"clusterNodes,omitempty" tf:"cluster_nodes,omitempty"`

	// The name of the parameter group to be associated with this cluster.
	ClusterParameterGroupName *string `json:"clusterParameterGroupName,omitempty" tf:"cluster_parameter_group_name,omitempty"`

	// The public key for the cluster
	ClusterPublicKey *string `json:"clusterPublicKey,omitempty" tf:"cluster_public_key,omitempty"`

	// The specific revision number of the database in the cluster
	ClusterRevisionNumber *string `json:"clusterRevisionNumber,omitempty" tf:"cluster_revision_number,omitempty"`

	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	ClusterSubnetGroupName *string `json:"clusterSubnetGroupName,omitempty" tf:"cluster_subnet_group_name,omitempty"`

	// The cluster type to use. Either single-node or multi-node.
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	ClusterVersion *string `json:"clusterVersion,omitempty" tf:"cluster_version,omitempty"`

	// The DNS name of the cluster
	DNSName *string `json:"dnsName,omitempty" tf:"dns_name,omitempty"`

	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called dev.
	DatabaseName *string `json:"databaseName,omitempty" tf:"database_name,omitempty"`

	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	DefaultIAMRoleArn *string `json:"defaultIamRoleArn,omitempty" tf:"default_iam_role_arn,omitempty"`

	// The Elastic IP (EIP) address for the cluster.
	ElasticIP *string `json:"elasticIp,omitempty" tf:"elastic_ip,omitempty"`

	// If true , the data in the cluster is encrypted at rest.
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The connection endpoint
	Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"`

	// If true , enhanced VPC routing is enabled.
	EnhancedVPCRouting *bool `json:"enhancedVpcRouting,omitempty" tf:"enhanced_vpc_routing,omitempty"`

	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, skip_final_snapshot must be false.
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	// +listType=set
	IAMRoles []*string `json:"iamRoles,omitempty" tf:"iam_roles,omitempty"`

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

	// The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

	// Logging, documented below.
	Logging *LoggingObservation `json:"logging,omitempty" tf:"logging,omitempty"`

	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is current.
	MaintenanceTrackName *string `json:"maintenanceTrackName,omitempty" tf:"maintenance_track_name,omitempty"`

	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with master_password.
	// One of master_password or manage_master_password is required unless snapshot_identifier is provided.
	ManageMasterPassword *bool `json:"manageMasterPassword,omitempty" tf:"manage_master_password,omitempty"`

	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between -1 and 3653. Default value is -1.
	ManualSnapshotRetentionPeriod *float64 `json:"manualSnapshotRetentionPeriod,omitempty" tf:"manual_snapshot_retention_period,omitempty"`

	// ARN of the cluster admin credentials secret
	MasterPasswordSecretArn *string `json:"masterPasswordSecretArn,omitempty" tf:"master_password_secret_arn,omitempty"`

	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	MasterPasswordSecretKMSKeyID *string `json:"masterPasswordSecretKmsKeyId,omitempty" tf:"master_password_secret_kms_key_id,omitempty"`

	// Username for the master DB user.
	MasterUsername *string `json:"masterUsername,omitempty" tf:"master_username,omitempty"`

	// Specifies if the Redshift cluster is multi-AZ.
	MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"`

	// The node type to be provisioned for the cluster.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`

	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	OwnerAccount *string `json:"ownerAccount,omitempty" tf:"owner_account,omitempty"`

	// The port number on which the cluster accepts incoming connections. Valid values are between 1115 and 65535.
	// The cluster is accessible only via the JDBC and ODBC connection strings.
	// Part of the connection string requires the port on which the cluster will listen for incoming connections.
	// Default port is 5439.
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty" tf:"preferred_maintenance_window,omitempty"`

	// If true, the cluster can be accessed from a public network. Default is true.
	PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,omitempty"`

	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"`

	// The ARN of the snapshot from which to create the new cluster. Conflicts with snapshot_identifier.
	SnapshotArn *string `json:"snapshotArn,omitempty" tf:"snapshot_arn,omitempty"`

	// The name of the cluster the source snapshot was created from.
	SnapshotClusterIdentifier *string `json:"snapshotClusterIdentifier,omitempty" tf:"snapshot_cluster_identifier,omitempty"`

	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	SnapshotCopy *SnapshotCopyObservation `json:"snapshotCopy,omitempty" tf:"snapshot_copy,omitempty"`

	// The name of the snapshot from which to create the new cluster.  Conflicts with snapshot_arn.
	SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"`

	// Key-value map of resource tags.
	// +mapType=granular
	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.
	// +mapType=granular
	TagsAll map[string]*string `json:"tagsAll,omitempty" tf:"tags_all,omitempty"`

	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,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 {

	// If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true.
	// +kubebuilder:validation:Optional
	AllowVersionUpgrade *bool `json:"allowVersionUpgrade,omitempty" tf:"allow_version_upgrade,omitempty"`

	// Specifies whether any cluster 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"`

	// The value represents how the cluster is configured to use AQUA (Advanced Query Accelerator) after the cluster is restored.
	// No longer supported by the AWS API.
	// Always returns auto.
	// +kubebuilder:validation:Optional
	AquaConfigurationStatus *string `json:"aquaConfigurationStatus,omitempty" tf:"aqua_configuration_status,omitempty"`

	// The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.
	// +kubebuilder:validation:Optional
	AutomatedSnapshotRetentionPeriod *float64 `json:"automatedSnapshotRetentionPeriod,omitempty" tf:"automated_snapshot_retention_period,omitempty"`

	// The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency. Can only be changed if availability_zone_relocation_enabled is true.
	// +kubebuilder:validation:Optional
	AvailabilityZone *string `json:"availabilityZone,omitempty" tf:"availability_zone,omitempty"`

	// If true, the cluster can be relocated to another availabity zone, either automatically by AWS or when requested. Default is false. Available for use on clusters from the RA3 instance family.
	// +kubebuilder:validation:Optional
	AvailabilityZoneRelocationEnabled *bool `json:"availabilityZoneRelocationEnabled,omitempty" tf:"availability_zone_relocation_enabled,omitempty"`

	// The name of the parameter group to be associated with this cluster.
	// +kubebuilder:validation:Optional
	ClusterParameterGroupName *string `json:"clusterParameterGroupName,omitempty" tf:"cluster_parameter_group_name,omitempty"`

	// The public key for the cluster
	// +kubebuilder:validation:Optional
	ClusterPublicKey *string `json:"clusterPublicKey,omitempty" tf:"cluster_public_key,omitempty"`

	// The specific revision number of the database in the cluster
	// +kubebuilder:validation:Optional
	ClusterRevisionNumber *string `json:"clusterRevisionNumber,omitempty" tf:"cluster_revision_number,omitempty"`

	// The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).
	// +kubebuilder:validation:Optional
	ClusterSubnetGroupName *string `json:"clusterSubnetGroupName,omitempty" tf:"cluster_subnet_group_name,omitempty"`

	// The cluster type to use. Either single-node or multi-node.
	// +kubebuilder:validation:Optional
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The version of the Amazon Redshift engine software that you want to deploy on the cluster.
	// The version selected runs on all the nodes in the cluster.
	// +kubebuilder:validation:Optional
	ClusterVersion *string `json:"clusterVersion,omitempty" tf:"cluster_version,omitempty"`

	// The name of the first database to be created when the cluster is created.
	// If you do not provide a name, Amazon Redshift will create a default database called dev.
	// +kubebuilder:validation:Optional
	DatabaseName *string `json:"databaseName,omitempty" tf:"database_name,omitempty"`

	// The Amazon Resource Name (ARN) for the IAM role that was set as default for the cluster when the cluster was created.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/upbound/provider-aws/config/common.ARNExtractor()
	// +kubebuilder:validation:Optional
	DefaultIAMRoleArn *string `json:"defaultIamRoleArn,omitempty" tf:"default_iam_role_arn,omitempty"`

	// Reference to a Role in iam to populate defaultIamRoleArn.
	// +kubebuilder:validation:Optional
	DefaultIAMRoleArnRef *v1.Reference `json:"defaultIamRoleArnRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate defaultIamRoleArn.
	// +kubebuilder:validation:Optional
	DefaultIAMRoleArnSelector *v1.Selector `json:"defaultIamRoleArnSelector,omitempty" tf:"-"`

	// The Elastic IP (EIP) address for the cluster.
	// +kubebuilder:validation:Optional
	ElasticIP *string `json:"elasticIp,omitempty" tf:"elastic_ip,omitempty"`

	// If true , the data in the cluster is encrypted at rest.
	// +kubebuilder:validation:Optional
	Encrypted *bool `json:"encrypted,omitempty" tf:"encrypted,omitempty"`

	// The connection endpoint
	// +kubebuilder:validation:Optional
	Endpoint *string `json:"endpoint,omitempty" tf:"endpoint,omitempty"`

	// If true , enhanced VPC routing is enabled.
	// +kubebuilder:validation:Optional
	EnhancedVPCRouting *bool `json:"enhancedVpcRouting,omitempty" tf:"enhanced_vpc_routing,omitempty"`

	// The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, skip_final_snapshot must be false.
	// +kubebuilder:validation:Optional
	FinalSnapshotIdentifier *string `json:"finalSnapshotIdentifier,omitempty" tf:"final_snapshot_identifier,omitempty"`

	// References to Role in iam to populate iamRoles.
	// +kubebuilder:validation:Optional
	IAMRoleRefs []v1.Reference `json:"iamRoleRefs,omitempty" tf:"-"`

	// Selector for a list of Role in iam to populate iamRoles.
	// +kubebuilder:validation:Optional
	IAMRoleSelector *v1.Selector `json:"iamRoleSelector,omitempty" tf:"-"`

	// A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:refFieldName=IAMRoleRefs
	// +crossplane:generate:reference:selectorFieldName=IAMRoleSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	IAMRoles []*string `json:"iamRoles,omitempty" tf:"iam_roles,omitempty"`

	// The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/kms/v1beta1.Key
	// +kubebuilder:validation:Optional
	KMSKeyID *string `json:"kmsKeyId,omitempty" tf:"kms_key_id,omitempty"`

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

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

	// Logging, documented below.
	// +kubebuilder:validation:Optional
	Logging *LoggingParameters `json:"logging,omitempty" tf:"logging,omitempty"`

	// The name of the maintenance track for the restored cluster. When you take a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. The snapshot might be on a different track than the cluster that was the source for the snapshot. For example, suppose that you take a snapshot of  a cluster that is on the current track and then change the cluster to be on the trailing track. In this case, the snapshot and the source cluster are on different tracks. Default value is current.
	// +kubebuilder:validation:Optional
	MaintenanceTrackName *string `json:"maintenanceTrackName,omitempty" tf:"maintenance_track_name,omitempty"`

	// Whether to use AWS SecretsManager to manage the cluster admin credentials.
	// Conflicts with master_password.
	// One of master_password or manage_master_password is required unless snapshot_identifier is provided.
	// +kubebuilder:validation:Optional
	ManageMasterPassword *bool `json:"manageMasterPassword,omitempty" tf:"manage_master_password,omitempty"`

	// The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values are between -1 and 3653. Default value is -1.
	// +kubebuilder:validation:Optional
	ManualSnapshotRetentionPeriod *float64 `json:"manualSnapshotRetentionPeriod,omitempty" tf:"manual_snapshot_retention_period,omitempty"`

	// ID of the KMS key used to encrypt the cluster admin credentials secret.
	// +kubebuilder:validation:Optional
	MasterPasswordSecretKMSKeyID *string `json:"masterPasswordSecretKmsKeyId,omitempty" tf:"master_password_secret_kms_key_id,omitempty"`

	// Password for the master DB user.
	// Conflicts with manage_master_password.
	// One of master_password or manage_master_password is required unless snapshot_identifier is provided.
	// Note that this may show up in logs, and it will be stored in the state file.
	// Password must contain at least 8 characters and contain at least one uppercase letter, one lowercase letter, and one number.
	// +kubebuilder:validation:Optional
	MasterPasswordSecretRef *v1.SecretKeySelector `json:"masterPasswordSecretRef,omitempty" tf:"-"`

	// Username for the master DB user.
	// +kubebuilder:validation:Optional
	MasterUsername *string `json:"masterUsername,omitempty" tf:"master_username,omitempty"`

	// Specifies if the Redshift cluster is multi-AZ.
	// +kubebuilder:validation:Optional
	MultiAz *bool `json:"multiAz,omitempty" tf:"multi_az,omitempty"`

	// The node type to be provisioned for the cluster.
	// +kubebuilder:validation:Optional
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.
	// +kubebuilder:validation:Optional
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`

	// The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.
	// +kubebuilder:validation:Optional
	OwnerAccount *string `json:"ownerAccount,omitempty" tf:"owner_account,omitempty"`

	// The port number on which the cluster accepts incoming connections. Valid values are between 1115 and 65535.
	// The cluster is accessible only via the JDBC and ODBC connection strings.
	// Part of the connection string requires the port on which the cluster will listen for incoming connections.
	// Default port is 5439.
	// +kubebuilder:validation:Optional
	Port *float64 `json:"port,omitempty" tf:"port,omitempty"`

	// The weekly time range (in UTC) during which automated cluster maintenance can occur.
	// Format: ddd:hh24:mi-ddd:hh24:mi
	// +kubebuilder:validation:Optional
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty" tf:"preferred_maintenance_window,omitempty"`

	// If true, the cluster can be accessed from a public network. Default is true.
	// +kubebuilder:validation:Optional
	PubliclyAccessible *bool `json:"publiclyAccessible,omitempty" tf:"publicly_accessible,omitempty"`

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

	// Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.
	// +kubebuilder:validation:Optional
	SkipFinalSnapshot *bool `json:"skipFinalSnapshot,omitempty" tf:"skip_final_snapshot,omitempty"`

	// The ARN of the snapshot from which to create the new cluster. Conflicts with snapshot_identifier.
	// +kubebuilder:validation:Optional
	SnapshotArn *string `json:"snapshotArn,omitempty" tf:"snapshot_arn,omitempty"`

	// The name of the cluster the source snapshot was created from.
	// +kubebuilder:validation:Optional
	SnapshotClusterIdentifier *string `json:"snapshotClusterIdentifier,omitempty" tf:"snapshot_cluster_identifier,omitempty"`

	// Configuration of automatic copy of snapshots from one region to another. Documented below.
	// +kubebuilder:validation:Optional
	SnapshotCopy *SnapshotCopyParameters `json:"snapshotCopy,omitempty" tf:"snapshot_copy,omitempty"`

	// The name of the snapshot from which to create the new cluster.  Conflicts with snapshot_arn.
	// +kubebuilder:validation:Optional
	SnapshotIdentifier *string `json:"snapshotIdentifier,omitempty" tf:"snapshot_identifier,omitempty"`

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

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

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

	// A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/ec2/v1beta1.SecurityGroup
	// +crossplane:generate:reference:refFieldName=VPCSecurityGroupIDRefs
	// +crossplane:generate:reference:selectorFieldName=VPCSecurityGroupIDSelector
	// +kubebuilder:validation:Optional
	// +listType=set
	VPCSecurityGroupIds []*string `json:"vpcSecurityGroupIds,omitempty" tf:"vpc_security_group_ids,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 LoggingInitParameters

type LoggingInitParameters struct {

	// The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions.
	// For more information on the permissions required for the bucket, please read the AWS documentation
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// The log destination type. An enum with possible values of s3 and cloudwatch.
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The collection of exported log types. Log types include the connection log, user log and user activity log. Required when log_destination_type is cloudwatch. Valid log types are connectionlog, userlog, and useractivitylog.
	// +listType=set
	LogExports []*string `json:"logExports,omitempty" tf:"log_exports,omitempty"`

	// The prefix applied to the log file names.
	S3KeyPrefix *string `json:"s3KeyPrefix,omitempty" tf:"s3_key_prefix,omitempty"`
}

func (*LoggingInitParameters) DeepCopy

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

func (*LoggingInitParameters) DeepCopyInto

func (in *LoggingInitParameters) DeepCopyInto(out *LoggingInitParameters)

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

type LoggingObservation

type LoggingObservation struct {

	// The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions.
	// For more information on the permissions required for the bucket, please read the AWS documentation
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// The log destination type. An enum with possible values of s3 and cloudwatch.
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The collection of exported log types. Log types include the connection log, user log and user activity log. Required when log_destination_type is cloudwatch. Valid log types are connectionlog, userlog, and useractivitylog.
	// +listType=set
	LogExports []*string `json:"logExports,omitempty" tf:"log_exports,omitempty"`

	// The prefix applied to the log file names.
	S3KeyPrefix *string `json:"s3KeyPrefix,omitempty" tf:"s3_key_prefix,omitempty"`
}

func (*LoggingObservation) DeepCopy

func (in *LoggingObservation) DeepCopy() *LoggingObservation

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

func (*LoggingObservation) DeepCopyInto

func (in *LoggingObservation) DeepCopyInto(out *LoggingObservation)

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

type LoggingParameters

type LoggingParameters struct {

	// The name of an existing S3 bucket where the log files are to be stored. Must be in the same region as the cluster and the cluster must have read bucket and put object permissions.
	// For more information on the permissions required for the bucket, please read the AWS documentation
	// +kubebuilder:validation:Optional
	BucketName *string `json:"bucketName,omitempty" tf:"bucket_name,omitempty"`

	// Enables logging information such as queries and connection attempts, for the specified Amazon Redshift cluster.
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable" tf:"enable,omitempty"`

	// The log destination type. An enum with possible values of s3 and cloudwatch.
	// +kubebuilder:validation:Optional
	LogDestinationType *string `json:"logDestinationType,omitempty" tf:"log_destination_type,omitempty"`

	// The collection of exported log types. Log types include the connection log, user log and user activity log. Required when log_destination_type is cloudwatch. Valid log types are connectionlog, userlog, and useractivitylog.
	// +kubebuilder:validation:Optional
	// +listType=set
	LogExports []*string `json:"logExports,omitempty" tf:"log_exports,omitempty"`

	// The prefix applied to the log file names.
	// +kubebuilder:validation:Optional
	S3KeyPrefix *string `json:"s3KeyPrefix,omitempty" tf:"s3_key_prefix,omitempty"`
}

func (*LoggingParameters) DeepCopy

func (in *LoggingParameters) DeepCopy() *LoggingParameters

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

func (*LoggingParameters) DeepCopyInto

func (in *LoggingParameters) DeepCopyInto(out *LoggingParameters)

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

type PauseClusterInitParameters

type PauseClusterInitParameters struct {

	// The identifier of the cluster to be paused.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`
}

func (*PauseClusterInitParameters) DeepCopy

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

func (*PauseClusterInitParameters) DeepCopyInto

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

type PauseClusterObservation

type PauseClusterObservation struct {

	// The identifier of the cluster to be paused.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`
}

func (*PauseClusterObservation) DeepCopy

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

func (*PauseClusterObservation) DeepCopyInto

func (in *PauseClusterObservation) DeepCopyInto(out *PauseClusterObservation)

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

type PauseClusterParameters

type PauseClusterParameters struct {

	// The identifier of the cluster to be paused.
	// +kubebuilder:validation:Optional
	ClusterIdentifier *string `json:"clusterIdentifier" tf:"cluster_identifier,omitempty"`
}

func (*PauseClusterParameters) DeepCopy

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

func (*PauseClusterParameters) DeepCopyInto

func (in *PauseClusterParameters) DeepCopyInto(out *PauseClusterParameters)

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

type ResizeClusterInitParameters

type ResizeClusterInitParameters struct {

	// A boolean value indicating whether the resize operation is using the classic resize process. Default: false.
	Classic *bool `json:"classic,omitempty" tf:"classic,omitempty"`

	// The unique identifier for the cluster to resize.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`

	// The new cluster type for the specified cluster.
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The new node type for the nodes you are adding.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The new number of nodes for the cluster.
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`
}

func (*ResizeClusterInitParameters) DeepCopy

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

func (*ResizeClusterInitParameters) DeepCopyInto

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

type ResizeClusterObservation

type ResizeClusterObservation struct {

	// A boolean value indicating whether the resize operation is using the classic resize process. Default: false.
	Classic *bool `json:"classic,omitempty" tf:"classic,omitempty"`

	// The unique identifier for the cluster to resize.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`

	// The new cluster type for the specified cluster.
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The new node type for the nodes you are adding.
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The new number of nodes for the cluster.
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`
}

func (*ResizeClusterObservation) DeepCopy

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

func (*ResizeClusterObservation) DeepCopyInto

func (in *ResizeClusterObservation) DeepCopyInto(out *ResizeClusterObservation)

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

type ResizeClusterParameters

type ResizeClusterParameters struct {

	// A boolean value indicating whether the resize operation is using the classic resize process. Default: false.
	// +kubebuilder:validation:Optional
	Classic *bool `json:"classic,omitempty" tf:"classic,omitempty"`

	// The unique identifier for the cluster to resize.
	// +kubebuilder:validation:Optional
	ClusterIdentifier *string `json:"clusterIdentifier" tf:"cluster_identifier,omitempty"`

	// The new cluster type for the specified cluster.
	// +kubebuilder:validation:Optional
	ClusterType *string `json:"clusterType,omitempty" tf:"cluster_type,omitempty"`

	// The new node type for the nodes you are adding.
	// +kubebuilder:validation:Optional
	NodeType *string `json:"nodeType,omitempty" tf:"node_type,omitempty"`

	// The new number of nodes for the cluster.
	// +kubebuilder:validation:Optional
	NumberOfNodes *float64 `json:"numberOfNodes,omitempty" tf:"number_of_nodes,omitempty"`
}

func (*ResizeClusterParameters) DeepCopy

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

func (*ResizeClusterParameters) DeepCopyInto

func (in *ResizeClusterParameters) DeepCopyInto(out *ResizeClusterParameters)

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

type ResumeClusterInitParameters

type ResumeClusterInitParameters struct {

	// The identifier of the cluster to be resumed.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`
}

func (*ResumeClusterInitParameters) DeepCopy

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

func (*ResumeClusterInitParameters) DeepCopyInto

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

type ResumeClusterObservation

type ResumeClusterObservation struct {

	// The identifier of the cluster to be resumed.
	ClusterIdentifier *string `json:"clusterIdentifier,omitempty" tf:"cluster_identifier,omitempty"`
}

func (*ResumeClusterObservation) DeepCopy

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

func (*ResumeClusterObservation) DeepCopyInto

func (in *ResumeClusterObservation) DeepCopyInto(out *ResumeClusterObservation)

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

type ResumeClusterParameters

type ResumeClusterParameters struct {

	// The identifier of the cluster to be resumed.
	// +kubebuilder:validation:Optional
	ClusterIdentifier *string `json:"clusterIdentifier" tf:"cluster_identifier,omitempty"`
}

func (*ResumeClusterParameters) DeepCopy

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

func (*ResumeClusterParameters) DeepCopyInto

func (in *ResumeClusterParameters) DeepCopyInto(out *ResumeClusterParameters)

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

type ScheduledAction

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

ScheduledAction is the Schema for the ScheduledActions API. Provides a Redshift Scheduled Action resource. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*ScheduledAction) DeepCopy

func (in *ScheduledAction) DeepCopy() *ScheduledAction

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

func (*ScheduledAction) DeepCopyInto

func (in *ScheduledAction) DeepCopyInto(out *ScheduledAction)

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

func (*ScheduledAction) DeepCopyObject

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

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

func (*ScheduledAction) GetCondition

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

GetCondition of this ScheduledAction.

func (*ScheduledAction) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this ScheduledAction

func (*ScheduledAction) GetDeletionPolicy

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

GetDeletionPolicy of this ScheduledAction.

func (*ScheduledAction) GetID

func (tr *ScheduledAction) GetID() string

GetID returns ID of underlying Terraform resource of this ScheduledAction

func (*ScheduledAction) GetInitParameters

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

GetInitParameters of this ScheduledAction

func (*ScheduledAction) GetManagementPolicies

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

GetManagementPolicies of this ScheduledAction.

func (*ScheduledAction) GetMergedParameters

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

GetInitParameters of this ScheduledAction

func (*ScheduledAction) GetObservation

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

GetObservation of this ScheduledAction

func (*ScheduledAction) GetParameters

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

GetParameters of this ScheduledAction

func (*ScheduledAction) GetProviderConfigReference

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

GetProviderConfigReference of this ScheduledAction.

func (*ScheduledAction) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this ScheduledAction.

func (*ScheduledAction) GetTerraformResourceType

func (mg *ScheduledAction) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ScheduledAction

func (*ScheduledAction) GetTerraformSchemaVersion

func (tr *ScheduledAction) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ScheduledAction) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this ScheduledAction.

func (*ScheduledAction) Hub

func (tr *ScheduledAction) Hub()

Hub marks this type as a conversion hub.

func (*ScheduledAction) LateInitialize

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

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

func (*ScheduledAction) ResolveReferences

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

ResolveReferences of this ScheduledAction.

func (*ScheduledAction) SetConditions

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

SetConditions of this ScheduledAction.

func (*ScheduledAction) SetDeletionPolicy

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

SetDeletionPolicy of this ScheduledAction.

func (*ScheduledAction) SetManagementPolicies

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

SetManagementPolicies of this ScheduledAction.

func (*ScheduledAction) SetObservation

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

SetObservation for this ScheduledAction

func (*ScheduledAction) SetParameters

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

SetParameters for this ScheduledAction

func (*ScheduledAction) SetProviderConfigReference

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

SetProviderConfigReference of this ScheduledAction.

func (*ScheduledAction) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this ScheduledAction.

func (*ScheduledAction) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this ScheduledAction.

type ScheduledActionInitParameters

type ScheduledActionInitParameters struct {

	// The description of the scheduled action.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Whether to enable the scheduled action. Default is true .
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`

	// The IAM role to assume to run the scheduled action.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	IAMRole *string `json:"iamRole,omitempty" tf:"iam_role,omitempty"`

	// Reference to a Role in iam to populate iamRole.
	// +kubebuilder:validation:Optional
	IAMRoleRef *v1.Reference `json:"iamRoleRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate iamRole.
	// +kubebuilder:validation:Optional
	IAMRoleSelector *v1.Selector `json:"iamRoleSelector,omitempty" tf:"-"`

	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example at(2016-03-04T17:27:00) or cron(0 10 ? * MON *). See Scheduled Action for more information.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Target action. Documented below.
	TargetAction *TargetActionInitParameters `json:"targetAction,omitempty" tf:"target_action,omitempty"`
}

func (*ScheduledActionInitParameters) DeepCopy

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

func (*ScheduledActionInitParameters) DeepCopyInto

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

type ScheduledActionList

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

ScheduledActionList contains a list of ScheduledActions

func (*ScheduledActionList) DeepCopy

func (in *ScheduledActionList) DeepCopy() *ScheduledActionList

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

func (*ScheduledActionList) DeepCopyInto

func (in *ScheduledActionList) DeepCopyInto(out *ScheduledActionList)

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

func (*ScheduledActionList) DeepCopyObject

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

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

func (*ScheduledActionList) GetItems

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

GetItems of this ScheduledActionList.

type ScheduledActionObservation

type ScheduledActionObservation struct {

	// The description of the scheduled action.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Whether to enable the scheduled action. Default is true .
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`

	// The IAM role to assume to run the scheduled action.
	IAMRole *string `json:"iamRole,omitempty" tf:"iam_role,omitempty"`

	// The Redshift Scheduled Action name.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example at(2016-03-04T17:27:00) or cron(0 10 ? * MON *). See Scheduled Action for more information.
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Target action. Documented below.
	TargetAction *TargetActionObservation `json:"targetAction,omitempty" tf:"target_action,omitempty"`
}

func (*ScheduledActionObservation) DeepCopy

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

func (*ScheduledActionObservation) DeepCopyInto

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

type ScheduledActionParameters

type ScheduledActionParameters struct {

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

	// Whether to enable the scheduled action. Default is true .
	// +kubebuilder:validation:Optional
	Enable *bool `json:"enable,omitempty" tf:"enable,omitempty"`

	// The end time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	// +kubebuilder:validation:Optional
	EndTime *string `json:"endTime,omitempty" tf:"end_time,omitempty"`

	// The IAM role to assume to run the scheduled action.
	// +crossplane:generate:reference:type=github.com/upbound/provider-aws/apis/iam/v1beta1.Role
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("arn",true)
	// +kubebuilder:validation:Optional
	IAMRole *string `json:"iamRole,omitempty" tf:"iam_role,omitempty"`

	// Reference to a Role in iam to populate iamRole.
	// +kubebuilder:validation:Optional
	IAMRoleRef *v1.Reference `json:"iamRoleRef,omitempty" tf:"-"`

	// Selector for a Role in iam to populate iamRole.
	// +kubebuilder:validation:Optional
	IAMRoleSelector *v1.Selector `json:"iamRoleSelector,omitempty" tf:"-"`

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

	// The schedule of action. The schedule is defined format of "at expression" or "cron expression", for example at(2016-03-04T17:27:00) or cron(0 10 ? * MON *). See Scheduled Action for more information.
	// +kubebuilder:validation:Optional
	Schedule *string `json:"schedule,omitempty" tf:"schedule,omitempty"`

	// The start time in UTC when the schedule is active, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ).
	// +kubebuilder:validation:Optional
	StartTime *string `json:"startTime,omitempty" tf:"start_time,omitempty"`

	// Target action. Documented below.
	// +kubebuilder:validation:Optional
	TargetAction *TargetActionParameters `json:"targetAction,omitempty" tf:"target_action,omitempty"`
}

func (*ScheduledActionParameters) DeepCopy

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

func (*ScheduledActionParameters) DeepCopyInto

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

type ScheduledActionSpec

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

ScheduledActionSpec defines the desired state of ScheduledAction

func (*ScheduledActionSpec) DeepCopy

func (in *ScheduledActionSpec) DeepCopy() *ScheduledActionSpec

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

func (*ScheduledActionSpec) DeepCopyInto

func (in *ScheduledActionSpec) DeepCopyInto(out *ScheduledActionSpec)

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

type ScheduledActionStatus

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

ScheduledActionStatus defines the observed state of ScheduledAction.

func (*ScheduledActionStatus) DeepCopy

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

func (*ScheduledActionStatus) DeepCopyInto

func (in *ScheduledActionStatus) DeepCopyInto(out *ScheduledActionStatus)

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

type SnapshotCopyInitParameters

type SnapshotCopyInitParameters struct {

	// The destination region that you want to copy snapshots to.
	DestinationRegion *string `json:"destinationRegion,omitempty" tf:"destination_region,omitempty"`

	// The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	GrantName *string `json:"grantName,omitempty" tf:"grant_name,omitempty"`

	// The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to 7.
	RetentionPeriod *float64 `json:"retentionPeriod,omitempty" tf:"retention_period,omitempty"`
}

func (*SnapshotCopyInitParameters) DeepCopy

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

func (*SnapshotCopyInitParameters) DeepCopyInto

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

type SnapshotCopyObservation

type SnapshotCopyObservation struct {

	// The destination region that you want to copy snapshots to.
	DestinationRegion *string `json:"destinationRegion,omitempty" tf:"destination_region,omitempty"`

	// The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	GrantName *string `json:"grantName,omitempty" tf:"grant_name,omitempty"`

	// The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to 7.
	RetentionPeriod *float64 `json:"retentionPeriod,omitempty" tf:"retention_period,omitempty"`
}

func (*SnapshotCopyObservation) DeepCopy

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

func (*SnapshotCopyObservation) DeepCopyInto

func (in *SnapshotCopyObservation) DeepCopyInto(out *SnapshotCopyObservation)

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

type SnapshotCopyParameters

type SnapshotCopyParameters struct {

	// The destination region that you want to copy snapshots to.
	// +kubebuilder:validation:Optional
	DestinationRegion *string `json:"destinationRegion" tf:"destination_region,omitempty"`

	// The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted cluster are copied to the destination region.
	// +kubebuilder:validation:Optional
	GrantName *string `json:"grantName,omitempty" tf:"grant_name,omitempty"`

	// The number of days to retain automated snapshots in the destination region after they are copied from the source region. Defaults to 7.
	// +kubebuilder:validation:Optional
	RetentionPeriod *float64 `json:"retentionPeriod,omitempty" tf:"retention_period,omitempty"`
}

func (*SnapshotCopyParameters) DeepCopy

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

func (*SnapshotCopyParameters) DeepCopyInto

func (in *SnapshotCopyParameters) DeepCopyInto(out *SnapshotCopyParameters)

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

type TargetActionInitParameters

type TargetActionInitParameters struct {

	// An action that runs a PauseCluster API operation. Documented below.
	PauseCluster *PauseClusterInitParameters `json:"pauseCluster,omitempty" tf:"pause_cluster,omitempty"`

	// An action that runs a ResizeCluster API operation. Documented below.
	ResizeCluster *ResizeClusterInitParameters `json:"resizeCluster,omitempty" tf:"resize_cluster,omitempty"`

	// An action that runs a ResumeCluster API operation. Documented below.
	ResumeCluster *ResumeClusterInitParameters `json:"resumeCluster,omitempty" tf:"resume_cluster,omitempty"`
}

func (*TargetActionInitParameters) DeepCopy

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

func (*TargetActionInitParameters) DeepCopyInto

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

type TargetActionObservation

type TargetActionObservation struct {

	// An action that runs a PauseCluster API operation. Documented below.
	PauseCluster *PauseClusterObservation `json:"pauseCluster,omitempty" tf:"pause_cluster,omitempty"`

	// An action that runs a ResizeCluster API operation. Documented below.
	ResizeCluster *ResizeClusterObservation `json:"resizeCluster,omitempty" tf:"resize_cluster,omitempty"`

	// An action that runs a ResumeCluster API operation. Documented below.
	ResumeCluster *ResumeClusterObservation `json:"resumeCluster,omitempty" tf:"resume_cluster,omitempty"`
}

func (*TargetActionObservation) DeepCopy

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

func (*TargetActionObservation) DeepCopyInto

func (in *TargetActionObservation) DeepCopyInto(out *TargetActionObservation)

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

type TargetActionParameters

type TargetActionParameters struct {

	// An action that runs a PauseCluster API operation. Documented below.
	// +kubebuilder:validation:Optional
	PauseCluster *PauseClusterParameters `json:"pauseCluster,omitempty" tf:"pause_cluster,omitempty"`

	// An action that runs a ResizeCluster API operation. Documented below.
	// +kubebuilder:validation:Optional
	ResizeCluster *ResizeClusterParameters `json:"resizeCluster,omitempty" tf:"resize_cluster,omitempty"`

	// An action that runs a ResumeCluster API operation. Documented below.
	// +kubebuilder:validation:Optional
	ResumeCluster *ResumeClusterParameters `json:"resumeCluster,omitempty" tf:"resume_cluster,omitempty"`
}

func (*TargetActionParameters) DeepCopy

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

func (*TargetActionParameters) DeepCopyInto

func (in *TargetActionParameters) DeepCopyInto(out *TargetActionParameters)

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