v1alpha1

package
v0.27.1 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 contains managed resources for AWS Redshift services such as Cluster. +kubebuilder:object:generate=true +groupName=redshift.aws.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	// The cluster is healthy and available
	StateAvailable = "available"
	// The cluster is being created. The cluster is inaccessible while it is being created.
	StateCreating = "creating"
	// The cluster is being deleted.
	StateDeleting = "deleting"
	// The cluster is being modified.
	StateModifying = "modifying"
	// The cluster has failed and Amazon Redshift can't recover it. Perform a point-in-time restore to the latest restorable time of the Cluster to recover the data.
	StateFailed = "failed"
)

Redshift cluster states.

View Source
const (
	Group   = "redshift.aws.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	ClusterKind             = reflect.TypeOf(Cluster{}).Name()
	ClusterGroupKind        = schema.GroupKind{Group: Group, Kind: ClusterKind}.String()
	ClusterKindAPIVersion   = ClusterKind + "." + SchemeGroupVersion.String()
	ClusterGroupVersionKind = SchemeGroupVersion.WithKind(ClusterKind)
)

Cluster type metadata.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterSpec   `json:"spec"`
	Status ClusterStatus `json:"status,omitempty"`
}

A Cluster is a managed resource that represents an AWS Redshift cluster. +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="STATE",type="string",JSONPath=".status.atProvider.clusterStatus" +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) GetDeletionPolicy added in v0.12.0

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

GetDeletionPolicy of this Cluster.

func (*Cluster) GetProviderConfigReference added in v0.12.0

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

GetProviderConfigReference of this Cluster.

func (*Cluster) GetProviderReference

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

GetProviderReference of this Cluster. Deprecated: Use GetProviderConfigReference.

func (*Cluster) GetPublishConnectionDetailsTo added in v0.26.0

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

GetPublishConnectionDetailsTo of this Cluster.

func (*Cluster) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Cluster.

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

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

SetDeletionPolicy of this Cluster.

func (*Cluster) SetProviderConfigReference added in v0.12.0

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

SetProviderConfigReference of this Cluster.

func (*Cluster) SetProviderReference

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

SetProviderReference of this Cluster. Deprecated: Use SetProviderConfigReference.

func (*Cluster) SetPublishConnectionDetailsTo added in v0.26.0

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 ClusterList

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

ClusterList contains a list of Cluster

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 ClusterNode

type ClusterNode struct {

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

	// The private IP address of a node within a cluster.
	PrivateIPAddress string `json:"privateIPAddress,omitempty"`

	// The public IP address of a node within a cluster.
	PublicIPAddress string `json:"publicIPAddress,omitempty"`
}

ClusterNode is the identifier of a node in a cluster.

func (*ClusterNode) DeepCopy

func (in *ClusterNode) DeepCopy() *ClusterNode

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

func (*ClusterNode) DeepCopyInto

func (in *ClusterNode) DeepCopyInto(out *ClusterNode)

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

type ClusterObservation

type ClusterObservation struct {
	// ClusterAvailabilityStatus is the availability status of the cluster.
	ClusterAvailabilityStatus string `json:"clusterAvailabilityStatus,omitempty"`

	// ClusterCreateTime is the date and time that the cluster was created.
	ClusterCreateTime *metav1.Time `json:"clusterCreateTime,omitempty"`

	// The nodes in the cluster.
	ClusterNodes []ClusterNode `json:"clusterNodes,omitempty"`

	// The list of cluster parameter groups that are associated with this cluster.
	// Each parameter group in the list is returned with its status.
	ClusterParameterGroups []ClusterParameterGroupStatus `json:"clusterParameterGroups,omitempty"`

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

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

	// A value that returns the destination region and retention period that are
	// configured for cross-region snapshot copy.
	ClusterSnapshotCopyStatus ClusterSnapshotCopyStatus `json:"clusterSnapshotCopyStatus,omitempty"`

	// ClusterStatus is the current state of the cluster.
	ClusterStatus string `json:"clusterStatus,omitempty"`

	// Describes the status of a cluster while it is in the process of resizing
	// with an incremental resize.
	DataTransferProgress DataTransferProgress `json:"dataTransferProgress,omitempty"`

	// Describes a group of DeferredMaintenanceWindow objects.
	DeferredMaintenanceWindows []DeferredMaintenanceWindow `json:"deferredMaintenanceWindows,omitempty"`

	// The status of the elastic IP (EIP) address.
	ElasticIPStatus ElasticIPStatus `json:"elasticIPStatus,omitempty"`

	// The number of nodes that you can resize the cluster to with the elastic resize
	// method.
	ElasticResizeNumberOfNodeOptions string `json:"elasticResizeNumberOfNodeOptions,omitempty"`

	// Endpoint specifies the connection endpoint.
	Endpoint Endpoint `json:"endpoint,omitempty"`

	// The date and time when the next snapshot is expected to be taken for clusters
	// with a valid snapshot schedule and backups enabled.
	ExpectedNextSnapshotScheduleTime *metav1.Time `json:"expectedNextSnapshotScheduleTime,omitempty"`

	// The status of next expected snapshot for clusters having a valid snapshot
	// schedule and backups enabled. Possible values are the following:
	//
	//    * OnTrack - The next snapshot is expected to be taken on time.
	//
	//    * Pending - The next snapshot is pending to be taken.
	ExpectedNextSnapshotScheduleTimeStatus string `json:"expectedNextSnapshotScheduleTimeStatus,omitempty"`

	// A value that reports whether the Amazon Redshift cluster has finished applying
	// any hardware security module (HSM) settings changes specified in a modify
	// cluster command.
	//
	// Values: active, applying
	HSMStatus HSMStatus `json:"hsmStatus,omitempty"`

	// The status of a modify operation, if any, initiated for the cluster.
	ModifyStatus string `json:"modifyStatus,omitempty"`

	// The date and time in UTC when system maintenance can begin.
	NextMaintenanceWindowStartTime *metav1.Time `json:"nextMaintenanceWindowStartTime,omitempty"`

	// Cluster operations that are waiting to be started.
	PendingActions []string `json:"pendingActions,omitempty"`

	// The current state of the cluster snapshot schedule.
	SnapshotScheduleState string `json:"snapshotScheduleState,omitempty"`

	// The identifier of the VPC the cluster is in, if the cluster is in a VPC.
	VPCID string `json:"vpcId,omitempty"`
}

ClusterObservation is the representation of the current state that is observed.

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 ClusterParameterGroupStatus

type ClusterParameterGroupStatus struct {

	// The list of parameter statuses.
	//
	// For more information about parameters and parameter groups, go to Amazon
	// Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	// in the Amazon Redshift Cluster Management Guide.
	ClusterParameterStatusList []ClusterParameterStatus `json:"clusterParameterStatusList,omitempty"`

	// The status of parameter updates.
	ParameterApplyStatus string `json:"parameterApplyStatus,omitempty"`

	// The name of the cluster parameter group.
	ParameterGroupName string `json:"parameterGroupName,omitempty"`
}

ClusterParameterGroupStatus is the status of the Cluster parameter group.

func (*ClusterParameterGroupStatus) DeepCopy

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

func (*ClusterParameterGroupStatus) DeepCopyInto

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

type ClusterParameterStatus

type ClusterParameterStatus struct {

	// The error that prevented the parameter from being applied to the database.
	ParameterApplyErrorDescription string `json:"parameterApplyErrorDescription,omitempty"`

	// The status of the parameter that indicates whether the parameter is in sync
	// with the database, waiting for a cluster reboot, or encountered an error
	// when being applied.
	//
	// The following are possible statuses and descriptions.
	//
	//    * in-sync: The parameter value is in sync with the database.
	//
	//    * pending-reboot: The parameter value will be applied after the cluster
	//    reboots.
	//
	//    * applying: The parameter value is being applied to the database.
	//
	//    * invalid-parameter: Cannot apply the parameter value because it has an
	//    invalid value or syntax.
	//
	//    * apply-deferred: The parameter contains static property changes. The
	//    changes are deferred until the cluster reboots.
	//
	//    * apply-error: Cannot connect to the cluster. The parameter change will
	//    be applied after the cluster reboots.
	//
	//    * unknown-error: Cannot apply the parameter change right now. The change
	//    will be applied after the cluster reboots.
	ParameterApplyStatus string `json:"parameterApplyStatus,omitempty"`

	// The name of the parameter.
	ParameterName string `json:"parameterName,omitempty"`
}

ClusterParameterStatus describes the status of a Cluster parameter.

func (*ClusterParameterStatus) DeepCopy

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

func (*ClusterParameterStatus) DeepCopyInto

func (in *ClusterParameterStatus) DeepCopyInto(out *ClusterParameterStatus)

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

type ClusterParameters

type ClusterParameters struct {
	// Region is the region you'd like the Cluster to be created in.
	Region string `json:"region"`

	// NodeType is the node type defining its size and compute capacity to be
	// provisioned for the cluster. For information about node types,
	// go to Working with Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
	// in the Amazon Redshift Cluster Management Guide.
	NodeType string `json:"nodeType"`

	// MasterUsername is the user name associated with the master user account for the cluster that
	// is being created.
	// Constraints:
	//    * Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC.
	//    * First character must be a letter.
	//    * Cannot be a reserved word. A list of reserved words can be found in
	//    Reserved Words (https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
	//    in the Amazon Redshift Database Developer Guide.
	// +immutable
	MasterUsername string `json:"masterUsername"`

	// AllowVersionUpgrade indicates that major engine upgrades are applied automatically to the
	// cluster during the maintenance window.
	// default=true
	// +optional
	AllowVersionUpgrade *bool `json:"allowVersionUpgrade,omitempty"`

	// AutomatedSnapshotRetentionPeriod is the number of days for which
	// automated backups are retained. Setting this parameter to a positive
	// number enables backups. Setting this parameter to  0 disables automated backups.
	// default=1
	// +kubebuilder:validation:Maximum=35
	// +kubebuilder:validation:Minimum=0
	// +optional
	AutomatedSnapshotRetentionPeriod *int32 `json:"automatedSnapshotRetentionPeriod,omitempty"`

	// AvailabilityZone is the EC2 Availability Zone in which you want
	// Amazon Redshift to provision the cluster.
	// Default: A random, system-chosen Availability Zone in the region that is
	// specified by the endpoint.
	// Example: us-east-2d
	// Constraint: The specified Availability Zone must be in the same region as
	// the current endpoint. The Availability Zone parameter can't be specified
	// if the MultiAZ parameter is set to true.
	// The specified Availability Zone must be in the same AWS Region as the current endpoint.
	// +optional
	AvailabilityZone *string `json:"availabilityZone,omitempty"`

	// ClusterParameterGroupName is the name of the cluster parameter group to use for the cluster.
	// Default: The default Amazon Redshift cluster parameter group. For information
	// about the default parameter group, go to Working with Amazon Redshift Parameter
	// Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html)
	// +optional
	ClusterParameterGroupName *string `json:"clusterParameterGroupName,omitempty"`

	// SecurityGroups is a list of security groups to associate with this cluster.
	// Default: The default cluster security group for Amazon Redshift.
	// +optional
	ClusterSecurityGroups []string `json:"clusterSecurityGroups,omitempty"`

	// ClusterSecurityGroupRefs are references to ClusterSecurityGroups used to set
	// the ClusterSecurityGroups.
	// +immutable
	// +optional
	ClusterSecurityGroupRefs []xpv1.Reference `json:"clusterSecurityGroupRefs,omitempty"`

	// ClusterSecurityGroupSelector selects references to ClusterSecurityGroups used
	// to set the ClusterSecurityGroups.
	// +immutable
	// +optional
	ClusterSecurityGroupSelector *xpv1.Selector `json:"clusterSecurityGroupSelector,omitempty"`

	// ClusterSubnetGroupName is 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).
	// +optional
	ClusterSubnetGroupName *string `json:"clusterSubnetGroupName,omitempty"`

	// ClusterType is the type of the cluster you want.
	// When cluster type is specified as
	//    * single-node, the NumberOfNodes parameter is not required.
	//    * multi-node, the NumberOfNodes parameter is required.
	// default=multi-node
	// +kubebuilder:validation:Enum=multi-node;single-node
	// +optional
	ClusterType *string `json:"clusterType,omitempty"`

	// ClusterVersion is 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.
	// Constraints: Only version 1.0 is currently available.
	// +optional
	ClusterVersion *string `json:"clusterVersion,omitempty"`

	// DBName is the name of the first database to be created when the cluster is created.
	// To create additional databases after the cluster is created, connect to the
	// cluster with a SQL client and use SQL commands to create a database. For
	// more information, go to Create a Database (https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html)
	// in the Amazon Redshift Database Developer Guide.
	// Constraints:
	//    * Must contain 1 to 64 alphanumeric characters.
	//    * Must contain only lowercase letters.
	//    * Cannot be a word that is reserved by the service. A list of reserved
	//    words can be found in Reserved Words (https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html)
	//    in the Amazon Redshift Database Developer Guide.
	// default=dev
	// +optional
	DBName *string `json:"dbName,omitempty"`

	// The Elastic IP (EIP) address for the cluster.
	// Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible
	// through an Internet gateway. For more information about provisioning clusters
	// in EC2-VPC, go to Supported Platforms to Launch Your Cluster (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms)
	// in the Amazon Redshift Cluster Management Guide.
	// +optional
	ElasticIP *string `json:"elasticIP,omitempty"`

	// Encrypted defines whether your data in the cluster will be encrypted at rest or not.
	// default=false
	// +optional
	Encrypted *bool `json:"encrypted,omitempty"`

	// EnhancedVPCRouting specifies whether to create the cluster with enhanced VPC
	// routing enabled. To create a cluster that uses enhanced VPC routing, the
	// cluster must be in a VPC. For more information, see Enhanced VPC Routing
	// (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html)
	// in the Amazon Redshift Cluster Management Guide.
	// If this option is true, enhanced VPC routing is enabled.
	// default=false
	// +optional
	EnhancedVPCRouting *bool `json:"enhancedVPCRouting,omitempty"`

	// FinalClusterSnapshotIdentifier is the identifier of the final snapshot
	// that is to be created immediately before deleting the cluster.
	// If this parameter is provided, SkipFinalClusterSnapshot must be false.
	// Constraints:
	//    * Must be 1 to 255 alphanumeric characters.
	//    * First character must be a letter.
	//    * Cannot end with a hyphen or contain two consecutive hyphens.
	// +optional
	FinalClusterSnapshotIdentifier *string `json:"finalClusterSnapshotIdentifier,omitempty"`

	// FinalClusterSnapshotRetentionPeriod is the number of days that
	// a manual snapshot is retained.
	// If the value is -1, the manual snapshot is retained indefinitely.
	// The value must be either -1 or an integer between 1 and 3,653.
	// default -1
	// +optional
	FinalClusterSnapshotRetentionPeriod *int32 `json:"finalClusterSnapshotRetentionPeriod,omitempty"`

	// HSMClientCertificateIdentifier specifies the name of the HSM client certificate
	// the Amazon Redshift cluster uses to retrieve the data encryption keys stored in an HSM.
	// +optional
	HSMClientCertificateIdentifier *string `json:"hsmClientCertificateIdentifier,omitempty"`

	// HSMConfigurationIdentifier specifies the name of the HSM configuration that
	// contains the information the Amazon Redshift cluster can use to retrieve
	// and store keys in an HSM.
	// +optional
	HSMConfigurationIdentifier *string `json:"hsmConfigurationIdentifier,omitempty"`

	// IAMRoles is a list of AWS Identity and Access Management (IAM) roles that can be used
	// by the cluster to access other AWS services. You must supply the IAM roles
	// in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles
	// in a single request.
	// A cluster can have up to 10 IAM roles associated with it at any time.
	// kubebuilder:validation:MaxItems=10
	// +optional
	IAMRoles []string `json:"iamRoles,omitempty"`

	// IAMRoleRefs are references to IAMRoles used to set
	// the IAMRoles.
	// +immutable
	// +optional
	IAMRoleRefs []xpv1.Reference `json:"iamRoleRefs,omitempty"`

	// IAMRoleSelector selects references to IAMRoles used
	// to set the IAMRoles.
	// +immutable
	// +optional
	IAMRoleSelector *xpv1.Selector `json:"iamRoleSelector,omitempty"`

	// KMSKeyID is the Amazon Resource Name (ARN) for the KMS encryption
	// key. If you are creating a cluster with the same AWS account that owns
	// the KMS encryption key used to encrypt the new cluster, then you can
	// use the KMS key alias instead of the ARN for the KM encryption key.
	// +optional
	KMSKeyID *string `json:"kmsKeyID,omitempty"`

	// MaintenanceTrackName an optional parameter for the name of the maintenance track for the cluster.
	// +optional
	MaintenanceTrackName *string `json:"maintenanceTrackName,omitempty"`

	// ManualSnapshotRetentionPeriod is 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.
	// default=1
	// +kubebuilder:validation:Maximum=3653
	// +optional
	ManualSnapshotRetentionPeriod *int32 `json:"manualSnapshotRetentionPeriod,omitempty"`

	// NewMasterUserPassword is the new password to be associated with the master user account
	// for the cluster that has being created.
	// Set this value if you want to change the existing password of the cluster.
	// Constraints:
	//    * Must be between 8 and 64 characters in length.
	//    * Must contain at least one uppercase letter.
	//    * Must contain at least one lowercase letter.
	//    * Must contain one number.
	//    * Can be any printable ASCII character (ASCII code 33 to 126) except '
	//    (single quote), " (double quote), \, /, @, or space.
	// +optional
	NewMasterUserPassword *string `json:"newMasterUserPassword,omitempty"`

	// NewClusterIdentifier is the new identifier you want to use for the cluster.
	// +optional
	NewClusterIdentifier *string `json:"newClusterIdentifier,omitempty"`

	// NumberOfNodes defines the number of compute nodes in the cluster.
	// This parameter is required when the ClusterType parameter is specified as multi-node.
	// For information about determining how many nodes you need, go to Working
	// with Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes)
	// in the Amazon Redshift Cluster Management Guide.
	// If you don't specify this parameter, you get a single-node cluster. When
	// requesting a multi-node cluster, you must specify the number of nodes that
	// you want in the cluster.
	// default=1
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:validation:Minimum=1
	// +optional
	NumberOfNodes *int32 `json:"numberOfNodes,omitempty"`

	// Port specifies the port number on which the cluster accepts incoming connections.
	// 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=5439
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:validation:Minimum=1150
	// +optional
	Port *int32 `json:"port,omitempty"`

	// PreferredMaintenanceWindow is the weekly time range (in UTC) during which
	// automated cluster maintenance can occur.
	// Default: A 30-minute window selected at random from an 8-hour block of time
	// per region, occurring on a random day of the week. For more information about
	// the time blocks for each region, see Maintenance Windows (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows)
	// in Amazon Redshift Cluster Management Guide.
	// Constraints: Minimum 30-minute window.
	// +optional
	PreferredMaintenanceWindow *string `json:"preferredMaintenanceWindow,omitempty"`

	// PubliclyAccessible is to specify if the cluster can be accessed from a public network.
	// +optional
	PubliclyAccessible *bool `json:"publiclyAccessible,omitempty"`

	// SkipFinalClusterSnapshot 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.
	// The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot
	// is false.
	// Default: false
	// +optional
	SkipFinalClusterSnapshot *bool `json:"skipFinalClusterSnapshot,omitempty"`

	// SnapshotScheduleIdentifier is a unique identifier for the snapshot schedule.
	// +optional
	SnapshotScheduleIdentifier *string `json:"snapshotScheduleIdentifier,omitempty"`

	// Tags indicates a list of tags for the clusters.
	// +optional
	Tags []Tag `json:"tags,omitempty"`

	// VPCSecurityGroupIDs a list of Virtual Private Cloud (VPC) security groups to be associated with
	// the cluster.
	// +optional
	VPCSecurityGroupIDs []string `json:"vpcSecurityGroupIds,omitempty"`

	// VPCSecurityGroupIDRefs are references to VPCSecurityGroups used to set
	// the VPCSecurityGroupIDs.
	// +immutable
	// +optional
	VPCSecurityGroupIDRefs []xpv1.Reference `json:"vpcSecurityGroupIDRefs,omitempty"`

	// VPCSecurityGroupIDSelector selects references to VPCSecurityGroups used
	// to set the VPCSecurityGroupIDs.
	// +immutable
	// +optional
	VPCSecurityGroupIDSelector *xpv1.Selector `json:"vpcSecurityGroupIDSelector,omitempty"`
}

ClusterParameters define the parameters available for an AWS Redshift cluster

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 ClusterSecurityGroupMembership

type ClusterSecurityGroupMembership struct {
	// The name of the cluster security group.
	ClusterSecurityGroupName string `json:"clusterSecurityGroupName,omitempty"`

	// The status of the cluster security group.
	Status string `json:"status,omitempty"`
}

ClusterSecurityGroupMembership is used as a response element for queries on Cluster security.

func (*ClusterSecurityGroupMembership) DeepCopy

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

func (*ClusterSecurityGroupMembership) DeepCopyInto

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

type ClusterSnapshotCopyStatus

type ClusterSnapshotCopyStatus struct {

	// The destination region that snapshots are automatically copied to when cross-region
	// snapshot copy is enabled.
	DestinationRegion string `json:"destinationRegion,omitempty"`

	// The number of days that automated snapshots are retained in the destination
	// region after they are copied from a source region. If the value is -1, the
	// manual snapshot is retained indefinitely.
	//
	// The value must be either -1 or an integer between 1 and 3,653.
	ManualSnapshotRetentionPeriod int32 `json:"manualSnapshotRetentionPeriod,omitempty"`

	// The number of days that automated snapshots are retained in the destination
	// region after they are copied from a source region.
	RetentionPeriod int64 `json:"retentionPeriod,omitempty"`

	// The name of the snapshot copy grant.
	SnapshotCopyGrantName string `json:"snapshotCopyGrantName,omitempty"`
}

ClusterSnapshotCopyStatus returns the destination region and retention period that are configured for cross-region snapshot copy.

func (*ClusterSnapshotCopyStatus) DeepCopy

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

func (*ClusterSnapshotCopyStatus) DeepCopyInto

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

type ClusterSpec

type ClusterSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       ClusterParameters `json:"forProvider"`
}

ClusterSpec defines the desired state of an AWS Redshift 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 {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          ClusterObservation `json:"atProvider,omitempty"`
}

ClusterStatus represents the observed state of an AWS Redshift 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 DataTransferProgress

type DataTransferProgress struct {

	// Describes the data transfer rate in MB's per second.
	CurrentRateInMegaBytesPerSecond int `json:"currentRateInMegaBytesPerSecond,omitempty"`

	// Describes the total amount of data that has been transferred in MB's.
	DataTransferredInMegaBytes int64 `json:"dataTransferredInMegaBytes,omitempty"`

	// Describes the number of seconds that have elapsed during the data transfer.
	ElapsedTimeInSeconds int64 `json:"elapsedTimeInSeconds,omitempty"`

	// Describes the estimated number of seconds remaining to complete the transfer.
	EstimatedTimeToCompletionInSeconds int64 `json:"estimatedTimeToCompletionInSeconds,omitempty"`

	// Describes the status of the cluster. While the transfer is in progress the
	// status is transferringdata.
	Status string `json:"status,omitempty"`

	// Describes the total amount of data to be transferred in megabytes.
	TotalDataInMegaBytes int64 `json:"totalDataInMegaBytes,omitempty"`
}

DataTransferProgress describes the status of a cluster while it is in the process of resizing with an incremental resize.

func (*DataTransferProgress) DeepCopy

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

func (*DataTransferProgress) DeepCopyInto

func (in *DataTransferProgress) DeepCopyInto(out *DataTransferProgress)

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

type DeferredMaintenanceWindow

type DeferredMaintenanceWindow struct {

	// A timestamp for the end of the time period when we defer maintenance.
	DeferMaintenanceEndTime *metav1.Time `json:"deferMaintenanceEndTime,omitempty"`

	// A unique identifier for the maintenance window.
	DeferMaintenanceIdentifier string `json:"deferMaintenanceIdentifier,omitempty"`

	// A timestamp for the beginning of the time period when we defer maintenance.
	DeferMaintenanceStartTime *metav1.Time `json:"deferMaintenanceStartTime,omitempty"`
}

DeferredMaintenanceWindow describes a deferred maintenance window

func (*DeferredMaintenanceWindow) DeepCopy

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

func (*DeferredMaintenanceWindow) DeepCopyInto

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

type ElasticIPStatus

type ElasticIPStatus struct {

	// The elastic IP (EIP) address for the cluster.
	ElasticIP string `json:"elasticIP,omitempty"`

	// The status of the elastic IP (EIP) address.
	Status string `json:"status,omitempty"`
}

ElasticIPStatus describes the status of the elastic IP (EIP) address.

func (*ElasticIPStatus) DeepCopy

func (in *ElasticIPStatus) DeepCopy() *ElasticIPStatus

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

func (*ElasticIPStatus) DeepCopyInto

func (in *ElasticIPStatus) DeepCopyInto(out *ElasticIPStatus)

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

type Endpoint

type Endpoint struct {
	// Address specifies the DNS address of the cluster.
	Address string `json:"address,omitempty"`

	// Port specifies the port that the database engine is listening on.
	Port int32 `json:"port,omitempty"`
}

Endpoint is used as a response element in the following actions:

  • CreateCluster
  • DescribeClusters
  • DeleteCluster

Please also see https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/Endpoint

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type HSMStatus

type HSMStatus struct {

	// Specifies the name of the HSM client certificate the Amazon Redshift cluster
	// uses to retrieve the data encryption keys stored in an HSM.
	HSMClientCertificateIdentifier string `json:"hsmClientCertificateIdentifier,omitempty"`

	// Specifies the name of the HSM configuration that contains the information
	// the Amazon Redshift cluster can use to retrieve and store keys in an HSM.
	HSMConfigurationIdentifier string `json:"hsmConfigurationIdentifier,omitempty"`

	// Reports whether the Amazon Redshift cluster has finished applying any HSM
	// settings changes specified in a modify cluster command.
	//
	// Values: active, applying
	Status string `json:"status,omitempty"`
}

HSMStatus describes the status of changes to HSM settings.

func (*HSMStatus) DeepCopy

func (in *HSMStatus) DeepCopy() *HSMStatus

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

func (*HSMStatus) DeepCopyInto

func (in *HSMStatus) DeepCopyInto(out *HSMStatus)

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

type RestoreStatus

type RestoreStatus struct {

	// The number of megabytes per second being transferred from the backup storage.
	// Returns the average rate for a completed backup. This field is only updated
	// when you restore to DC2 and DS2 node types.
	CurrentRestoreRateInMegaBytesPerSecond float64 `json:"currentRestoreRateInMegaBytesPerSecond,omitempty"`

	// The amount of time an in-progress restore has been running, or the amount
	// of time it took a completed restore to finish. This field is only updated
	// when you restore to DC2 and DS2 node types.
	ElapsedTimeInSeconds int64 `json:"elapsedTimeInSeconds,omitempty"`

	// The estimate of the time remaining before the restore will complete. Returns
	// 0 for a completed restore. This field is only updated when you restore to
	// DC2 and DS2 node types.
	EstimatedTimeToCompletionInSeconds int64 `json:"estimatedTimeToCompletionInSeconds,omitempty"`

	// The number of megabytes that have been transferred from snapshot storage.
	// This field is only updated when you restore to DC2 and DS2 node types.
	ProgressInMegaBytes int64 `json:"progressInMegaBytes,omitempty"`

	// The size of the set of snapshot data used to restore the cluster. This field
	// is only updated when you restore to DC2 and DS2 node types.
	SnapshotSizeInMegaBytes int64 `json:"snapshotSizeInMegaBytes,omitempty"`

	// The status of the restore action. Returns starting, restoring, completed,
	// or failed.
	Status string `json:"status,omitempty"`
}

RestoreStatus describes the status of a cluster restore action. Returns null if the cluster was not created by restoring a snapshot.

func (*RestoreStatus) DeepCopy

func (in *RestoreStatus) DeepCopy() *RestoreStatus

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

func (*RestoreStatus) DeepCopyInto

func (in *RestoreStatus) DeepCopyInto(out *RestoreStatus)

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

type Tag

type Tag struct {

	// The key of the tag.
	Key string `json:"tag"`

	// The value of the tag.
	Value string `json:"value"`
}

Tag represetnt a key-pair metadata assigned to a Redshift Cluster

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

type VPCSecurityGroupMembership

type VPCSecurityGroupMembership struct {

	// The status of the VPC security group.
	Status string `json:"status"`

	// The identifier of the VPC security group.
	VPCSecurityGroupID string `json:"vpcSecurityGroupID"`
}

VPCSecurityGroupMembership is used as a response element for queries on VPC security Can be removed after moving to v1beta1

func (*VPCSecurityGroupMembership) DeepCopy

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

func (*VPCSecurityGroupMembership) DeepCopyInto

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

Jump to

Keyboard shortcuts

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