v1alpha1

package
v1.130.2 Latest Latest
Warning

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

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

Documentation

Overview

+kcc:proto=google.spanner.admin.database.v1

+kubebuilder:object:generate=true +groupName=spanner.cnrm.cloud.google.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "spanner.cnrm.cloud.google.com", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SpannerBackupScheduleGVK = GroupVersion.WithKind("SpannerBackupSchedule")
View Source
var SpannerInstanceConfigGVK = GroupVersion.WithKind("SpannerInstanceConfig")

Functions

This section is empty.

Types

type BackupScheduleIdentity

type BackupScheduleIdentity struct {
	// contains filtered or unexported fields
}

BackupScheduleIdentity defines the resource reference to SpannerBackupSchedule, which "External" field holds the GCP identifier for the KRM object.

func NewBackupScheduleIdentity

func NewBackupScheduleIdentity(ctx context.Context, reader client.Reader, obj *SpannerBackupSchedule) (*BackupScheduleIdentity, error)

New builds a BackupScheduleIdentity from the Config Connector BackupSchedule object.

func (*BackupScheduleIdentity) DeepCopy

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

func (*BackupScheduleIdentity) DeepCopyInto

func (in *BackupScheduleIdentity) DeepCopyInto(out *BackupScheduleIdentity)

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

func (*BackupScheduleIdentity) ID

func (*BackupScheduleIdentity) Parent

func (*BackupScheduleIdentity) String

func (i *BackupScheduleIdentity) String() string

type BackupScheduleParent

type BackupScheduleParent struct {
	ProjectID  string
	InstanceID string
	DatabaseID string
}

func ParseBackupScheduleExternal

func ParseBackupScheduleExternal(external string) (parent *BackupScheduleParent, resourceID string, err error)

func (*BackupScheduleParent) DeepCopy

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

func (*BackupScheduleParent) DeepCopyInto

func (in *BackupScheduleParent) DeepCopyInto(out *BackupScheduleParent)

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

func (*BackupScheduleParent) String

func (p *BackupScheduleParent) String() string

type BackupScheduleRef

type BackupScheduleRef struct {
	// A reference to an externally managed SpannerBackupSchedule resource.
	// Should be in the format "projects/{{projectID}}/locations/{{location}}/backupschedules/{{backupscheduleID}}".
	External string `json:"external,omitempty"`

	// The name of a SpannerBackupSchedule resource.
	Name string `json:"name,omitempty"`

	// The namespace of a SpannerBackupSchedule resource.
	Namespace string `json:"namespace,omitempty"`
}

BackupScheduleRef defines the resource reference to SpannerBackupSchedule, which "External" field holds the GCP identifier for the KRM object.

func (*BackupScheduleRef) DeepCopy

func (in *BackupScheduleRef) DeepCopy() *BackupScheduleRef

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

func (*BackupScheduleRef) DeepCopyInto

func (in *BackupScheduleRef) DeepCopyInto(out *BackupScheduleRef)

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

func (*BackupScheduleRef) NormalizedExternal

func (r *BackupScheduleRef) NormalizedExternal(ctx context.Context, reader client.Reader, otherNamespace string) (string, error)

NormalizedExternal provision the "External" value for other resource that depends on SpannerBackupSchedule. If the "External" is given in the other resource's spec.SpannerBackupScheduleRef, the given value will be used. Otherwise, the "Name" and "Namespace" will be used to query the actual SpannerBackupSchedule object from the cluster.

type BackupScheduleSpec

type BackupScheduleSpec struct {
	// Cron style schedule specification.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupScheduleSpec.cron_spec
	CronSpec *CrontabSpec `json:"cronSpec,omitempty"`
}

+kcc:proto=google.spanner.admin.database.v1.BackupScheduleSpec

func (*BackupScheduleSpec) DeepCopy

func (in *BackupScheduleSpec) DeepCopy() *BackupScheduleSpec

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

func (*BackupScheduleSpec) DeepCopyInto

func (in *BackupScheduleSpec) DeepCopyInto(out *BackupScheduleSpec)

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

type BackupScheduleSpecObservedState

type BackupScheduleSpecObservedState struct {
	// Cron style schedule specification.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupScheduleSpec.cron_spec
	CronSpec *CrontabSpecObservedState `json:"cronSpec,omitempty"`
}

+kcc:proto=google.spanner.admin.database.v1.BackupScheduleSpec

func (*BackupScheduleSpecObservedState) DeepCopy

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

func (*BackupScheduleSpecObservedState) DeepCopyInto

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

type CreateBackupEncryptionConfig

type CreateBackupEncryptionConfig struct {
	// Required. The encryption type of the backup.
	// +kcc:proto:field=google.spanner.admin.database.v1.CreateBackupEncryptionConfig.encryption_type
	EncryptionType *string `json:"encryptionType,omitempty"`

	// Optional. The Cloud KMS key that will be used to protect the backup.
	//  This field should be set only when
	//  [encryption_type][google.spanner.admin.database.v1.CreateBackupEncryptionConfig.encryption_type]
	//  is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form
	//  `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
	// +kcc:proto:field=google.spanner.admin.database.v1.CreateBackupEncryptionConfig.kms_key_name
	KMSKeyRef *refs.KMSCryptoKeyRef `json:"kmsKeyRef,omitempty"`

	// Optional. Specifies the KMS configuration for the one or more keys used to
	//  protect the backup. Values are of the form
	//  `projects/<project>/locations/<location>/keyRings/<key_ring>/cryptoKeys/<kms_key_name>`.
	//
	//  The keys referenced by kms_key_names must fully cover all
	//  regions of the backup's instance configuration. Some examples:
	//  * For single region instance configs, specify a single regional
	//  location KMS key.
	//  * For multi-regional instance configs of type GOOGLE_MANAGED,
	//  either specify a multi-regional location KMS key or multiple regional
	//  location KMS keys that cover all regions in the instance config.
	//  * For an instance config of type USER_MANAGED, please specify only
	//  regional location KMS keys to cover each region in the instance config.
	//  Multi-regional location KMS keys are not supported for USER_MANAGED
	//  instance configs.
	// +kcc:proto:field=google.spanner.admin.database.v1.CreateBackupEncryptionConfig.kms_key_names
	KMSKeyRefs []*refs.KMSCryptoKeyRef `json:"kmsKeyRefs,omitempty"`
}

+kcc:proto=google.spanner.admin.database.v1.CreateBackupEncryptionConfig

func (*CreateBackupEncryptionConfig) DeepCopy

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

func (*CreateBackupEncryptionConfig) DeepCopyInto

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

type CrontabSpec

type CrontabSpec struct {
	// Required. Textual representation of the crontab. User can customize the
	//  backup frequency and the backup version time using the cron
	//  expression. The version time must be in UTC timzeone.
	//
	//  The backup will contain an externally consistent copy of the
	//  database at the version time. Allowed frequencies are 12 hour, 1 day,
	//  1 week and 1 month. Examples of valid cron specifications:
	//    * `0 2/12 * * * ` : every 12 hours at (2, 14) hours past midnight in UTC.
	//    * `0 2,14 * * * ` : every 12 hours at (2,14) hours past midnight in UTC.
	//    * `0 2 * * * `    : once a day at 2 past midnight in UTC.
	//    * `0 2 * * 0 `    : once a week every Sunday at 2 past midnight in UTC.
	//    * `0 2 8 * * `    : once a month on 8th day at 2 past midnight in UTC.
	// +kcc:proto:field=google.spanner.admin.database.v1.CrontabSpec.text
	Text *string `json:"text,omitempty"`
}

+kcc:proto=google.spanner.admin.database.v1.CrontabSpec

func (*CrontabSpec) DeepCopy

func (in *CrontabSpec) DeepCopy() *CrontabSpec

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

func (*CrontabSpec) DeepCopyInto

func (in *CrontabSpec) DeepCopyInto(out *CrontabSpec)

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

type CrontabSpecObservedState

type CrontabSpecObservedState struct {
	// Output only. The time zone of the times in `CrontabSpec.text`. Currently
	//  only UTC is supported.
	// +kcc:proto:field=google.spanner.admin.database.v1.CrontabSpec.time_zone
	TimeZone *string `json:"timeZone,omitempty"`

	// Output only. Schedule backups will contain an externally consistent copy
	//  of the database at the version time specified in
	//  `schedule_spec.cron_spec`. However, Spanner may not initiate the creation
	//  of the scheduled backups at that version time. Spanner will initiate
	//  the creation of scheduled backups within the time window bounded by the
	//  version_time specified in `schedule_spec.cron_spec` and version_time +
	//  `creation_window`.
	// +kcc:proto:field=google.spanner.admin.database.v1.CrontabSpec.creation_window
	CreationWindow *string `json:"creationWindow,omitempty"`
}

+kcc:proto=google.spanner.admin.database.v1.CrontabSpec

func (*CrontabSpecObservedState) DeepCopy

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

func (*CrontabSpecObservedState) DeepCopyInto

func (in *CrontabSpecObservedState) DeepCopyInto(out *CrontabSpecObservedState)

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

type FullBackupSpec

type FullBackupSpec struct {
}

+kcc:proto=google.spanner.admin.database.v1.FullBackupSpec

func (*FullBackupSpec) DeepCopy

func (in *FullBackupSpec) DeepCopy() *FullBackupSpec

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

func (*FullBackupSpec) DeepCopyInto

func (in *FullBackupSpec) DeepCopyInto(out *FullBackupSpec)

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

type IncrementalBackupSpec

type IncrementalBackupSpec struct {
}

+kcc:proto=google.spanner.admin.database.v1.IncrementalBackupSpec

func (*IncrementalBackupSpec) DeepCopy

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

func (*IncrementalBackupSpec) DeepCopyInto

func (in *IncrementalBackupSpec) DeepCopyInto(out *IncrementalBackupSpec)

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

type InstanceConfig

type InstanceConfig struct {
	// A unique identifier for the instance configuration.  Values
	//  are of the form
	//  `projects/<project>/instanceConfigs/[a-z][-a-z0-9]*`.
	//
	//  User instance configuration must start with `custom-`.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.name
	Name *string `json:"name,omitempty"`

	// The name of this instance configuration as it appears in UIs.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.display_name
	DisplayName *string `json:"displayName,omitempty"`

	// The geographic placement of nodes in this instance configuration and their
	//  replication properties.
	//
	//  To create user-managed configurations, input
	//  `replicas` must include all replicas in `replicas` of the `base_config`
	//  and include one or more replicas in the `optional_replicas` of the
	//  `base_config`.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.replicas
	Replicas []ReplicaInfo `json:"replicas,omitempty"`

	// Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
	//  based on which this configuration is created. Only set for user-managed
	//  configurations. `base_config` must refer to a configuration of type
	//  `GOOGLE_MANAGED` in the same project as this configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.base_config
	BaseConfig *string `json:"baseConfig,omitempty"`

	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud
	//  resources into groups that reflect a customer's organizational needs and
	//  deployment strategies. Cloud Labels can be used to filter collections of
	//  resources. They can be used to control how resource metrics are aggregated.
	//  And they can be used as arguments to policy management rules (e.g. route,
	//  firewall, load balancing, etc.).
	//
	//   * Label keys must be between 1 and 63 characters long and must conform to
	//     the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
	//   * Label values must be between 0 and 63 characters long and must conform
	//     to the regular expression `[a-z0-9_-]{0,63}`.
	//   * No more than 64 labels can be associated with a given resource.
	//
	//  See https://goo.gl/xmQnxf for more information on and examples of labels.
	//
	//  If you plan to use labels in your own code, please note that additional
	//  characters may be allowed in the future. Therefore, you are advised to use
	//  an internal label representation, such as JSON, which doesn't rely upon
	//  specific characters being disallowed.  For example, representing labels
	//  as the string:  name + "_" + value  would prove problematic if we were to
	//  allow "_" in a future release.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.labels
	Labels map[string]string `json:"labels,omitempty"`

	// etag is used for optimistic concurrency control as a way
	//  to help prevent simultaneous updates of a instance configuration from
	//  overwriting each other. It is strongly suggested that systems make use of
	//  the etag in the read-modify-write cycle to perform instance configuration
	//  updates in order to avoid race conditions: An etag is returned in the
	//  response which contains instance configurations, and systems are expected
	//  to put that etag in the request to update instance configuration to ensure
	//  that their change is applied to the same version of the instance
	//  configuration. If no etag is provided in the call to update the instance
	//  configuration, then the existing instance configuration is overwritten
	//  blindly.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.etag
	Etag *string `json:"etag,omitempty"`

	// Allowed values of the "default_leader" schema option for databases in
	//  instances that use this instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.leader_options
	LeaderOptions []string `json:"leaderOptions,omitempty"`
}

+kcc:proto=google.spanner.admin.instance.v1.InstanceConfig

func (*InstanceConfig) DeepCopy

func (in *InstanceConfig) DeepCopy() *InstanceConfig

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

func (*InstanceConfig) DeepCopyInto

func (in *InstanceConfig) DeepCopyInto(out *InstanceConfig)

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

type InstanceConfigIdentity

type InstanceConfigIdentity struct {
	// contains filtered or unexported fields
}

InstanceConfigIdentity defines the resource reference to SpannerInstanceConfig, which "External" field holds the GCP identifier for the KRM object.

func NewInstanceConfigIdentity

func NewInstanceConfigIdentity(ctx context.Context, reader client.Reader, obj *SpannerInstanceConfig) (*InstanceConfigIdentity, error)

New builds a InstanceConfigIdentity from the Config Connector InstanceConfig object.

func (*InstanceConfigIdentity) DeepCopy

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

func (*InstanceConfigIdentity) DeepCopyInto

func (in *InstanceConfigIdentity) DeepCopyInto(out *InstanceConfigIdentity)

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

func (*InstanceConfigIdentity) ID

func (*InstanceConfigIdentity) Parent

func (*InstanceConfigIdentity) String

func (i *InstanceConfigIdentity) String() string

type InstanceConfigObservedState

type InstanceConfigObservedState struct {
	// Output only. Whether this instance configuration is a Google-managed or
	//  user-managed configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.config_type
	ConfigType *string `json:"configType,omitempty"`

	// Output only. The available optional replicas to choose from for
	//  user-managed configurations. Populated for Google-managed configurations.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.optional_replicas
	OptionalReplicas []ReplicaInfo `json:"optionalReplicas,omitempty"`

	// Output only. If true, the instance configuration is being created or
	//  updated. If false, there are no ongoing operations for the instance
	//  configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.reconciling
	Reconciling *bool `json:"reconciling,omitempty"`

	// Output only. The current instance configuration state. Applicable only for
	//  `USER_MANAGED` configurations.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.state
	State *string `json:"state,omitempty"`

	// Output only. Describes whether free instances are available to be created
	//  in this instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.free_instance_availability
	FreeInstanceAvailability *string `json:"freeInstanceAvailability,omitempty"`

	// Output only. The `QuorumType` of the instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.quorum_type
	QuorumType *string `json:"quorumType,omitempty"`

	// Output only. The storage limit in bytes per processing unit.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.storage_limit_per_processing_unit
	StorageLimitPerProcessingUnit *int64 `json:"storageLimitPerProcessingUnit,omitempty"`
}

+kcc:proto=google.spanner.admin.instance.v1.InstanceConfig

func (*InstanceConfigObservedState) DeepCopy

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

func (*InstanceConfigObservedState) DeepCopyInto

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

type InstanceConfigParent

type InstanceConfigParent struct {
	ProjectID string
}

func ParseInstanceConfigExternal

func ParseInstanceConfigExternal(external string) (parent *InstanceConfigParent, resourceID string, err error)

func (*InstanceConfigParent) DeepCopy

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

func (*InstanceConfigParent) DeepCopyInto

func (in *InstanceConfigParent) DeepCopyInto(out *InstanceConfigParent)

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

func (*InstanceConfigParent) String

func (p *InstanceConfigParent) String() string

type InstanceConfigRef

type InstanceConfigRef struct {
	// A reference to an externally managed SpannerInstanceConfig resource.
	// Should be in the format "projects/{{projectID}}/locations/{{location}}/instanceconfigs/{{instanceconfigID}}".
	External string `json:"external,omitempty"`

	// The name of a SpannerInstanceConfig resource.
	Name string `json:"name,omitempty"`

	// The namespace of a SpannerInstanceConfig resource.
	Namespace string `json:"namespace,omitempty"`
}

InstanceConfigRef defines the resource reference to SpannerInstanceConfig, which "External" field holds the GCP identifier for the KRM object.

func (*InstanceConfigRef) DeepCopy

func (in *InstanceConfigRef) DeepCopy() *InstanceConfigRef

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

func (*InstanceConfigRef) DeepCopyInto

func (in *InstanceConfigRef) DeepCopyInto(out *InstanceConfigRef)

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

func (*InstanceConfigRef) NormalizedExternal

func (r *InstanceConfigRef) NormalizedExternal(ctx context.Context, reader client.Reader, otherNamespace string) (string, error)

NormalizedExternal provision the "External" value for other resource that depends on SpannerInstanceConfig. If the "External" is given in the other resource's spec.SpannerInstanceConfigRef, the given value will be used. Otherwise, the "Name" and "Namespace" will be used to query the actual SpannerInstanceConfig object from the cluster.

type Parent

type Parent struct {
	// +required
	ProjectRef *refv1beta1.ProjectRef `json:"projectRef"`
}

func (*Parent) DeepCopy

func (in *Parent) DeepCopy() *Parent

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

func (*Parent) DeepCopyInto

func (in *Parent) DeepCopyInto(out *Parent)

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

type ReplicaInfo

type ReplicaInfo struct {
	// The location of the serving resources, e.g., "us-central1".
	// +kcc:proto:field=google.spanner.admin.instance.v1.ReplicaInfo.location
	Location *string `json:"location,omitempty"`

	// The type of replica.
	// +kcc:proto:field=google.spanner.admin.instance.v1.ReplicaInfo.type
	Type *string `json:"type,omitempty"`

	// If true, this location is designated as the default leader location where
	//  leader replicas are placed. See the [region types
	//  documentation](https://cloud.google.com/spanner/docs/instances#region_types)
	//  for more details.
	// +kcc:proto:field=google.spanner.admin.instance.v1.ReplicaInfo.default_leader_location
	DefaultLeaderLocation *bool `json:"defaultLeaderLocation,omitempty"`
}

+kcc:proto=google.spanner.admin.instance.v1.ReplicaInfo

func (*ReplicaInfo) DeepCopy

func (in *ReplicaInfo) DeepCopy() *ReplicaInfo

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

func (*ReplicaInfo) DeepCopyInto

func (in *ReplicaInfo) DeepCopyInto(out *ReplicaInfo)

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

type SpannerBackupSchedule

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

	// +required
	Spec   SpannerBackupScheduleSpec   `json:"spec,omitempty"`
	Status SpannerBackupScheduleStatus `json:"status,omitempty"`
}

SpannerBackupSchedule is the Schema for the SpannerBackupSchedule API +k8s:openapi-gen=true

func (*SpannerBackupSchedule) DeepCopy

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

func (*SpannerBackupSchedule) DeepCopyInto

func (in *SpannerBackupSchedule) DeepCopyInto(out *SpannerBackupSchedule)

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

func (*SpannerBackupSchedule) DeepCopyObject

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

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

type SpannerBackupScheduleList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object SpannerBackupScheduleList contains a list of SpannerBackupSchedule

func (*SpannerBackupScheduleList) DeepCopy

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

func (*SpannerBackupScheduleList) DeepCopyInto

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

func (*SpannerBackupScheduleList) DeepCopyObject

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

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

type SpannerBackupScheduleObservedState

type SpannerBackupScheduleObservedState struct {

	// Output only. The timestamp at which the schedule was last updated.
	//  If the schedule has never been updated, this field contains the timestamp
	//  when the schedule was first created.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.update_time
	UpdateTime *string `json:"updateTime,omitempty"`

	// Cron style schedule specification.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupScheduleSpec.cron_spec
	CronSpec *CrontabSpecObservedState `json:"cronSpec,omitempty"`
}

SpannerBackupScheduleObservedState is the state of the SpannerBackupSchedule resource as most recently observed in GCP. +kcc:proto=google.spanner.admin.database.v1.BackupSchedule

func (*SpannerBackupScheduleObservedState) DeepCopy

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

func (*SpannerBackupScheduleObservedState) DeepCopyInto

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

type SpannerBackupScheduleSpec

type SpannerBackupScheduleSpec struct {
	// Optional. The schedule specification based on which the backup creations
	//  are triggered.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.spec
	Spec *BackupScheduleSpec `json:"spec,omitempty"`

	// Optional. The retention duration of a backup that must be at least 6 hours
	//  and at most 366 days. The backup is eligible to be automatically deleted
	//  once the retention period has elapsed.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.retention_duration
	RetentionDuration *string `json:"retentionDuration,omitempty"`

	// Optional. The encryption configuration that will be used to encrypt the
	//  backup. If this field is not specified, the backup will use the same
	//  encryption configuration as the database.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.encryption_config
	EncryptionConfig *CreateBackupEncryptionConfig `json:"encryptionConfig,omitempty"`

	// The schedule creates only full backups.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.full_backup_spec
	FullBackupSpec *FullBackupSpec `json:"fullBackupSpec,omitempty"`

	// The schedule creates incremental backup chains.
	// +kcc:proto:field=google.spanner.admin.database.v1.BackupSchedule.incremental_backup_spec
	IncrementalBackupSpec *IncrementalBackupSpec `json:"incrementalBackupSpec,omitempty"`

	// Required. The spanner database that this backup applies to.
	DatabaseRef *refs.SpannerDatabaseRef `json:"spannerDatabaseRef,omitempty"`

	// The SpannerBackupSchedule name. If not given, the metadata.name will be used.
	ResourceID *string `json:"resourceID,omitempty"`
}

SpannerBackupScheduleSpec defines the desired state of SpannerBackupSchedule +kcc:proto=google.spanner.admin.database.v1.BackupSchedule

func (*SpannerBackupScheduleSpec) DeepCopy

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

func (*SpannerBackupScheduleSpec) DeepCopyInto

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

type SpannerBackupScheduleStatus

type SpannerBackupScheduleStatus struct {
	/* Conditions represent the latest available observations of the
	   object's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// A unique specifier for the SpannerBackupSchedule resource in GCP.
	ExternalRef *string `json:"externalRef,omitempty"`

	// ObservedState is the state of the resource as most recently observed in GCP.
	ObservedState *SpannerBackupScheduleObservedState `json:"observedState,omitempty"`
}

SpannerBackupScheduleStatus defines the config connector machine state of SpannerBackupSchedule

func (*SpannerBackupScheduleStatus) DeepCopy

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

func (*SpannerBackupScheduleStatus) DeepCopyInto

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

type SpannerInstanceConfig

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

	// +required
	Spec   SpannerInstanceConfigSpec   `json:"spec,omitempty"`
	Status SpannerInstanceConfigStatus `json:"status,omitempty"`
}

SpannerInstanceConfig is the Schema for the SpannerInstanceConfig API +k8s:openapi-gen=true

func (*SpannerInstanceConfig) DeepCopy

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

func (*SpannerInstanceConfig) DeepCopyInto

func (in *SpannerInstanceConfig) DeepCopyInto(out *SpannerInstanceConfig)

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

func (*SpannerInstanceConfig) DeepCopyObject

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

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

type SpannerInstanceConfigList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object SpannerInstanceConfigList contains a list of SpannerInstanceConfig

func (*SpannerInstanceConfigList) DeepCopy

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

func (*SpannerInstanceConfigList) DeepCopyInto

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

func (*SpannerInstanceConfigList) DeepCopyObject

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

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

type SpannerInstanceConfigObservedState

type SpannerInstanceConfigObservedState struct {
	// Output only. Whether this instance configuration is a Google-managed or
	//  user-managed configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.config_type
	ConfigType *string `json:"configType,omitempty"`

	// Output only. The available optional replicas to choose from for
	//  user-managed configurations. Populated for Google-managed configurations.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.optional_replicas
	OptionalReplicas []ReplicaInfo `json:"optionalReplicas,omitempty"`

	// Output only. If true, the instance configuration is being created or
	//  updated. If false, there are no ongoing operations for the instance
	//  configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.reconciling
	Reconciling *bool `json:"reconciling,omitempty"`

	// Output only. The current instance configuration state. Applicable only for
	//  `USER_MANAGED` configurations.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.state
	State *string `json:"state,omitempty"`

	// Output only. Describes whether free instances are available to be created
	//  in this instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.free_instance_availability
	FreeInstanceAvailability *string `json:"freeInstanceAvailability,omitempty"`

	// Output only. The `QuorumType` of the instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.quorum_type
	QuorumType *string `json:"quorumType,omitempty"`

	// Output only. The storage limit in bytes per processing unit.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.storage_limit_per_processing_unit
	StorageLimitPerProcessingUnit *int64 `json:"storageLimitPerProcessingUnit,omitempty"`
}

SpannerInstanceConfigObservedState is the state of the SpannerInstanceConfig resource as most recently observed in GCP. +kcc:proto=google.spanner.admin.instance.v1.InstanceConfig

func (*SpannerInstanceConfigObservedState) DeepCopy

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

func (*SpannerInstanceConfigObservedState) DeepCopyInto

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

type SpannerInstanceConfigSpec

type SpannerInstanceConfigSpec struct {
	Parent `json:",inline"`
	// The SpannerInstanceConfig name. If not given, the metadata.name will be used.
	ResourceID *string `json:"resourceID,omitempty"`
	// The name of this instance configuration as it appears in UIs.
	// +required
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.display_name
	DisplayName *string `json:"displayName,omitempty"`

	// The geographic placement of nodes in this instance configuration and their
	//  replication properties.
	//
	//  To create user-managed configurations, input
	//  `replicas` must include all replicas in `replicas` of the `base_config`
	//  and include one or more replicas in the `optional_replicas` of the
	//  `base_config`.
	// +required
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.replicas
	Replicas []ReplicaInfo `json:"replicas,omitempty"`

	// Base configuration name, e.g. projects/<project_name>/instanceConfigs/nam3,
	//  based on which this configuration is created. Only set for user-managed
	//  configurations. `base_config` must refer to a configuration of type
	//  `GOOGLE_MANAGED` in the same project as this configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.base_config
	BaseConfigRef *InstanceConfigRef `json:"baseConfigRef,omitempty"`

	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud
	//  resources into groups that reflect a customer's organizational needs and
	//  deployment strategies. Cloud Labels can be used to filter collections of
	//  resources. They can be used to control how resource metrics are aggregated.
	//  And they can be used as arguments to policy management rules (e.g. route,
	//  firewall, load balancing, etc.).
	//
	//   * Label keys must be between 1 and 63 characters long and must conform to
	//     the following regular expression: `[a-z][a-z0-9_-]{0,62}`.
	//   * Label values must be between 0 and 63 characters long and must conform
	//     to the regular expression: `[a-z0-9_-]{0,63}`.
	//   * No more than 64 labels can be associated with a given resource.
	//
	//  See https://goo.gl/xmQnxf for more information on and examples of labels.
	//
	//  If you plan to use labels in your own code, please note that additional
	//  characters may be allowed in the future. Therefore, you are advised to use
	//  an internal label representation, such as JSON, which doesn't rely upon
	//  specific characters being disallowed.  For example, representing labels
	//  as the string:  name + "_" + value  would prove problematic if we were to
	//  allow "_" in a future release.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.labels
	Labels map[string]string `json:"labels,omitempty"`

	// etag is used for optimistic concurrency control as a way
	//  to help prevent simultaneous updates of a instance configuration from
	//  overwriting each other. It is strongly suggested that systems make use of
	//  the etag in the read-modify-write cycle to perform instance configuration
	//  updates in order to avoid race conditions: An etag is returned in the
	//  response which contains instance configurations, and systems are expected
	//  to put that etag in the request to update instance configuration to ensure
	//  that their change is applied to the same version of the instance
	//  configuration. If no etag is provided in the call to update the instance
	//  configuration, then the existing instance configuration is overwritten
	//  blindly.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.etag
	Etag *string `json:"etag,omitempty"`

	// Allowed values of the "default_leader" schema option for databases in
	//  instances that use this instance configuration.
	// +kcc:proto:field=google.spanner.admin.instance.v1.InstanceConfig.leader_options
	LeaderOptions []string `json:"leaderOptions,omitempty"`
}

SpannerInstanceConfigSpec defines the desired state of SpannerInstanceConfig +kcc:proto=google.spanner.admin.instance.v1.InstanceConfig

func (*SpannerInstanceConfigSpec) DeepCopy

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

func (*SpannerInstanceConfigSpec) DeepCopyInto

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

type SpannerInstanceConfigStatus

type SpannerInstanceConfigStatus struct {
	/* Conditions represent the latest available observations of the
	   object's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// A unique specifier for the SpannerInstanceConfig resource in GCP.
	ExternalRef *string `json:"externalRef,omitempty"`

	// ObservedState is the state of the resource as most recently observed in GCP.
	ObservedState *SpannerInstanceConfigObservedState `json:"observedState,omitempty"`
}

SpannerInstanceConfigStatus defines the config connector machine state of SpannerInstanceConfig

func (*SpannerInstanceConfigStatus) DeepCopy

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

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