v1alpha1

package
v0.2.1 Latest Latest
Warning

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

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

Documentation

Overview

+kubebuilder:object:generate=true +groupName=droplet.digitalocean.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "droplet.digitalocean.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Droplet_Kind             = "Droplet"
	Droplet_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Droplet_Kind}.String()
	Droplet_KindAPIVersion   = Droplet_Kind + "." + CRDGroupVersion.String()
	Droplet_GroupVersionKind = CRDGroupVersion.WithKind(Droplet_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 (
	Snapshot_Kind             = "Snapshot"
	Snapshot_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Snapshot_Kind}.String()
	Snapshot_KindAPIVersion   = Snapshot_Kind + "." + CRDGroupVersion.String()
	Snapshot_GroupVersionKind = CRDGroupVersion.WithKind(Snapshot_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Droplet

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

Droplet is the Schema for the Droplets API. +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,do}

func (*Droplet) DeepCopy

func (in *Droplet) DeepCopy() *Droplet

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

func (*Droplet) DeepCopyInto

func (in *Droplet) DeepCopyInto(out *Droplet)

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

func (*Droplet) DeepCopyObject

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

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

func (*Droplet) GetCondition

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

GetCondition of this Droplet.

func (*Droplet) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Droplet

func (*Droplet) GetDeletionPolicy

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

GetDeletionPolicy of this Droplet.

func (*Droplet) GetID

func (tr *Droplet) GetID() string

GetID returns ID of underlying Terraform resource of this Droplet

func (*Droplet) GetInitParameters

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

GetInitParameters of this Droplet

func (*Droplet) GetManagementPolicies

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

GetManagementPolicies of this Droplet.

func (*Droplet) GetMergedParameters added in v0.2.0

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

GetInitParameters of this Droplet

func (*Droplet) GetObservation

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

GetObservation of this Droplet

func (*Droplet) GetParameters

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

GetParameters of this Droplet

func (*Droplet) GetProviderConfigReference

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

GetProviderConfigReference of this Droplet.

func (*Droplet) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Droplet.

func (*Droplet) GetTerraformResourceType

func (mg *Droplet) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Droplet

func (*Droplet) GetTerraformSchemaVersion

func (tr *Droplet) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Droplet) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Droplet.

func (*Droplet) Hub added in v0.2.0

func (tr *Droplet) Hub()

Hub marks this type as a conversion hub.

func (*Droplet) LateInitialize

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

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

func (*Droplet) ResolveReferences

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

ResolveReferences of this Droplet.

func (*Droplet) SetConditions

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

SetConditions of this Droplet.

func (*Droplet) SetDeletionPolicy

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

SetDeletionPolicy of this Droplet.

func (*Droplet) SetManagementPolicies

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

SetManagementPolicies of this Droplet.

func (*Droplet) SetObservation

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

SetObservation for this Droplet

func (*Droplet) SetParameters

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

SetParameters for this Droplet

func (*Droplet) SetProviderConfigReference

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

SetProviderConfigReference of this Droplet.

func (*Droplet) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Droplet.

func (*Droplet) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Droplet.

type DropletInitParameters

type DropletInitParameters struct {

	// Boolean controlling if backups are made. Defaults to
	// false.
	Backups *bool `json:"backups,omitempty" tf:"backups,omitempty"`

	// A boolean indicating whether to install the
	// DigitalOcean agent used for providing access to the Droplet web console in
	// the control panel. By default, the agent is installed on new Droplets but
	// installation errors (i.e. OS not supported) are ignored. To prevent it from
	// being installed, set to false. To make installation errors fatal, explicitly
	// set it to true.
	DropletAgent *bool `json:"dropletAgent,omitempty" tf:"droplet_agent,omitempty"`

	// A boolean indicating whether the droplet
	// should be gracefully shut down before it is deleted.
	GracefulShutdown *bool `json:"gracefulShutdown,omitempty" tf:"graceful_shutdown,omitempty"`

	// Boolean controlling if IPv6 is enabled. Defaults to false.
	// Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on
	// an existing Droplet, additional OS-level configuration
	// is required.
	IPv6 *bool `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The IPv6 address
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// The Droplet image ID or slug. This could be either image ID or droplet snapshot ID.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/custom/v1alpha1.Image
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in custom to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in custom to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	// Boolean controlling whether monitoring agent is installed.
	// Defaults to false. If set to true, you can configure monitor alert policies
	// monitor alert resource
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The Droplet name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Deprecated Boolean controlling if private networking
	// is enabled. This parameter has been deprecated. Use vpc_uuid instead to specify a VPC network for the Droplet. If no vpc_uuid is provided, the Droplet will be placed in your account's default VPC for the region.
	PrivateNetworking *bool `json:"privateNetworking,omitempty" tf:"private_networking,omitempty"`

	// The region where the Droplet will be created.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Boolean controlling whether to increase the disk
	// size when resizing a Droplet. It defaults to true. When set to false,
	// only the Droplet's RAM and CPU will be resized. Increasing a Droplet's disk
	// size is a permanent change. Increasing only RAM and CPU is reversible.
	ResizeDisk *bool `json:"resizeDisk,omitempty" tf:"resize_disk,omitempty"`

	// A list of SSH key IDs or fingerprints to enable in
	// the format [12345, 123456]. To retrieve this info, use the
	// DigitalOcean API
	// or CLI (doctl compute ssh-key list). Once a Droplet is created keys can not
	// be added or removed via this provider. Modifying this field will prompt you
	// to destroy and recreate the Droplet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/ssh/v1alpha1.Key
	// +listType=set
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// References to Key in ssh to populate sshKeys.
	// +kubebuilder:validation:Optional
	SSHKeysRefs []v1.Reference `json:"sshKeysRefs,omitempty" tf:"-"`

	// Selector for a list of Key in ssh to populate sshKeys.
	// +kubebuilder:validation:Optional
	SSHKeysSelector *v1.Selector `json:"sshKeysSelector,omitempty" tf:"-"`

	// The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of the tags to be applied to this Droplet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/digitalocean/v1alpha1.Tag
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// References to Tag in digitalocean to populate tags.
	// +kubebuilder:validation:Optional
	TagsRefs []v1.Reference `json:"tagsRefs,omitempty" tf:"-"`

	// Selector for a list of Tag in digitalocean to populate tags.
	// +kubebuilder:validation:Optional
	TagsSelector *v1.Selector `json:"tagsSelector,omitempty" tf:"-"`

	// A string of the desired User Data for the Droplet.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The ID of the VPC where the Droplet will be located.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/vpc/v1alpha1.VPC
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// Reference to a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDRef *v1.Reference `json:"vpcUuidRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDSelector *v1.Selector `json:"vpcUuidSelector,omitempty" tf:"-"`

	// A list of the IDs of each block storage volume to be attached to the Droplet.
	// +listType=set
	VolumeIds []*string `json:"volumeIds,omitempty" tf:"volume_ids,omitempty"`
}

func (*DropletInitParameters) DeepCopy

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

func (*DropletInitParameters) DeepCopyInto

func (in *DropletInitParameters) DeepCopyInto(out *DropletInitParameters)

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

type DropletList

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

DropletList contains a list of Droplets

func (*DropletList) DeepCopy

func (in *DropletList) DeepCopy() *DropletList

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

func (*DropletList) DeepCopyInto

func (in *DropletList) DeepCopyInto(out *DropletList)

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

func (*DropletList) DeepCopyObject

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

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

func (*DropletList) GetItems

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

GetItems of this DropletList.

type DropletObservation

type DropletObservation struct {

	// Boolean controlling if backups are made. Defaults to
	// false.
	Backups *bool `json:"backups,omitempty" tf:"backups,omitempty"`

	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// The size of the instance's disk in GB
	Disk *float64 `json:"disk,omitempty" tf:"disk,omitempty"`

	// A boolean indicating whether to install the
	// DigitalOcean agent used for providing access to the Droplet web console in
	// the control panel. By default, the agent is installed on new Droplets but
	// installation errors (i.e. OS not supported) are ignored. To prevent it from
	// being installed, set to false. To make installation errors fatal, explicitly
	// set it to true.
	DropletAgent *bool `json:"dropletAgent,omitempty" tf:"droplet_agent,omitempty"`

	// A boolean indicating whether the droplet
	// should be gracefully shut down before it is deleted.
	GracefulShutdown *bool `json:"gracefulShutdown,omitempty" tf:"graceful_shutdown,omitempty"`

	// The ID of the Droplet
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The IPv4 address
	IPv4Address *string `json:"ipv4Address,omitempty" tf:"ipv4_address,omitempty"`

	// The private networking IPv4 address
	IPv4AddressPrivate *string `json:"ipv4AddressPrivate,omitempty" tf:"ipv4_address_private,omitempty"`

	// Boolean controlling if IPv6 is enabled. Defaults to false.
	// Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on
	// an existing Droplet, additional OS-level configuration
	// is required.
	IPv6 *bool `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The IPv6 address
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// The Droplet image ID or slug. This could be either image ID or droplet snapshot ID.
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Is the Droplet locked
	Locked *bool `json:"locked,omitempty" tf:"locked,omitempty"`

	Memory *float64 `json:"memory,omitempty" tf:"memory,omitempty"`

	// Boolean controlling whether monitoring agent is installed.
	// Defaults to false. If set to true, you can configure monitor alert policies
	// monitor alert resource
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The Droplet name.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Droplet hourly price
	PriceHourly *float64 `json:"priceHourly,omitempty" tf:"price_hourly,omitempty"`

	// Droplet monthly price
	PriceMonthly *float64 `json:"priceMonthly,omitempty" tf:"price_monthly,omitempty"`

	// Deprecated Boolean controlling if private networking
	// is enabled. This parameter has been deprecated. Use vpc_uuid instead to specify a VPC network for the Droplet. If no vpc_uuid is provided, the Droplet will be placed in your account's default VPC for the region.
	PrivateNetworking *bool `json:"privateNetworking,omitempty" tf:"private_networking,omitempty"`

	// The region where the Droplet will be created.
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Boolean controlling whether to increase the disk
	// size when resizing a Droplet. It defaults to true. When set to false,
	// only the Droplet's RAM and CPU will be resized. Increasing a Droplet's disk
	// size is a permanent change. Increasing only RAM and CPU is reversible.
	ResizeDisk *bool `json:"resizeDisk,omitempty" tf:"resize_disk,omitempty"`

	// A list of SSH key IDs or fingerprints to enable in
	// the format [12345, 123456]. To retrieve this info, use the
	// DigitalOcean API
	// or CLI (doctl compute ssh-key list). Once a Droplet is created keys can not
	// be added or removed via this provider. Modifying this field will prompt you
	// to destroy and recreate the Droplet.
	// +listType=set
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// The status of the Droplet
	Status *string `json:"status,omitempty" tf:"status,omitempty"`

	// A list of the tags to be applied to this Droplet.
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// The uniform resource name of the Droplet
	Urn *string `json:"urn,omitempty" tf:"urn,omitempty"`

	// A string of the desired User Data for the Droplet.
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The ID of the VPC where the Droplet will be located.
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// The number of the instance's virtual CPUs
	Vcpus *float64 `json:"vcpus,omitempty" tf:"vcpus,omitempty"`

	// A list of the IDs of each block storage volume to be attached to the Droplet.
	// +listType=set
	VolumeIds []*string `json:"volumeIds,omitempty" tf:"volume_ids,omitempty"`
}

func (*DropletObservation) DeepCopy

func (in *DropletObservation) DeepCopy() *DropletObservation

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

func (*DropletObservation) DeepCopyInto

func (in *DropletObservation) DeepCopyInto(out *DropletObservation)

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

type DropletParameters

type DropletParameters struct {

	// Boolean controlling if backups are made. Defaults to
	// false.
	// +kubebuilder:validation:Optional
	Backups *bool `json:"backups,omitempty" tf:"backups,omitempty"`

	// A boolean indicating whether to install the
	// DigitalOcean agent used for providing access to the Droplet web console in
	// the control panel. By default, the agent is installed on new Droplets but
	// installation errors (i.e. OS not supported) are ignored. To prevent it from
	// being installed, set to false. To make installation errors fatal, explicitly
	// set it to true.
	// +kubebuilder:validation:Optional
	DropletAgent *bool `json:"dropletAgent,omitempty" tf:"droplet_agent,omitempty"`

	// A boolean indicating whether the droplet
	// should be gracefully shut down before it is deleted.
	// +kubebuilder:validation:Optional
	GracefulShutdown *bool `json:"gracefulShutdown,omitempty" tf:"graceful_shutdown,omitempty"`

	// Boolean controlling if IPv6 is enabled. Defaults to false.
	// Once enabled for a Droplet, IPv6 can not be disabled. When enabling IPv6 on
	// an existing Droplet, additional OS-level configuration
	// is required.
	// +kubebuilder:validation:Optional
	IPv6 *bool `json:"ipv6,omitempty" tf:"ipv6,omitempty"`

	// The IPv6 address
	// +kubebuilder:validation:Optional
	IPv6Address *string `json:"ipv6Address,omitempty" tf:"ipv6_address,omitempty"`

	// The Droplet image ID or slug. This could be either image ID or droplet snapshot ID.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/custom/v1alpha1.Image
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" tf:"image,omitempty"`

	// Reference to a Image in custom to populate image.
	// +kubebuilder:validation:Optional
	ImageRef *v1.Reference `json:"imageRef,omitempty" tf:"-"`

	// Selector for a Image in custom to populate image.
	// +kubebuilder:validation:Optional
	ImageSelector *v1.Selector `json:"imageSelector,omitempty" tf:"-"`

	// Boolean controlling whether monitoring agent is installed.
	// Defaults to false. If set to true, you can configure monitor alert policies
	// monitor alert resource
	// +kubebuilder:validation:Optional
	Monitoring *bool `json:"monitoring,omitempty" tf:"monitoring,omitempty"`

	// The Droplet name.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// Deprecated Boolean controlling if private networking
	// is enabled. This parameter has been deprecated. Use vpc_uuid instead to specify a VPC network for the Droplet. If no vpc_uuid is provided, the Droplet will be placed in your account's default VPC for the region.
	// +kubebuilder:validation:Optional
	PrivateNetworking *bool `json:"privateNetworking,omitempty" tf:"private_networking,omitempty"`

	// The region where the Droplet will be created.
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" tf:"region,omitempty"`

	// Boolean controlling whether to increase the disk
	// size when resizing a Droplet. It defaults to true. When set to false,
	// only the Droplet's RAM and CPU will be resized. Increasing a Droplet's disk
	// size is a permanent change. Increasing only RAM and CPU is reversible.
	// +kubebuilder:validation:Optional
	ResizeDisk *bool `json:"resizeDisk,omitempty" tf:"resize_disk,omitempty"`

	// A list of SSH key IDs or fingerprints to enable in
	// the format [12345, 123456]. To retrieve this info, use the
	// DigitalOcean API
	// or CLI (doctl compute ssh-key list). Once a Droplet is created keys can not
	// be added or removed via this provider. Modifying this field will prompt you
	// to destroy and recreate the Droplet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/ssh/v1alpha1.Key
	// +kubebuilder:validation:Optional
	// +listType=set
	SSHKeys []*string `json:"sshKeys,omitempty" tf:"ssh_keys,omitempty"`

	// References to Key in ssh to populate sshKeys.
	// +kubebuilder:validation:Optional
	SSHKeysRefs []v1.Reference `json:"sshKeysRefs,omitempty" tf:"-"`

	// Selector for a list of Key in ssh to populate sshKeys.
	// +kubebuilder:validation:Optional
	SSHKeysSelector *v1.Selector `json:"sshKeysSelector,omitempty" tf:"-"`

	// The unique slug that indentifies the type of Droplet. You can find a list of available slugs on DigitalOcean API documentation.
	// +kubebuilder:validation:Optional
	Size *string `json:"size,omitempty" tf:"size,omitempty"`

	// A list of the tags to be applied to this Droplet.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/digitalocean/v1alpha1.Tag
	// +kubebuilder:validation:Optional
	// +listType=set
	Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`

	// References to Tag in digitalocean to populate tags.
	// +kubebuilder:validation:Optional
	TagsRefs []v1.Reference `json:"tagsRefs,omitempty" tf:"-"`

	// Selector for a list of Tag in digitalocean to populate tags.
	// +kubebuilder:validation:Optional
	TagsSelector *v1.Selector `json:"tagsSelector,omitempty" tf:"-"`

	// A string of the desired User Data for the Droplet.
	// +kubebuilder:validation:Optional
	UserData *string `json:"userData,omitempty" tf:"user_data,omitempty"`

	// The ID of the VPC where the Droplet will be located.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/vpc/v1alpha1.VPC
	// +kubebuilder:validation:Optional
	VPCUUID *string `json:"vpcUuid,omitempty" tf:"vpc_uuid,omitempty"`

	// Reference to a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDRef *v1.Reference `json:"vpcUuidRef,omitempty" tf:"-"`

	// Selector for a VPC in vpc to populate vpcUuid.
	// +kubebuilder:validation:Optional
	VPCUUIDSelector *v1.Selector `json:"vpcUuidSelector,omitempty" tf:"-"`

	// A list of the IDs of each block storage volume to be attached to the Droplet.
	// +kubebuilder:validation:Optional
	// +listType=set
	VolumeIds []*string `json:"volumeIds,omitempty" tf:"volume_ids,omitempty"`
}

func (*DropletParameters) DeepCopy

func (in *DropletParameters) DeepCopy() *DropletParameters

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

func (*DropletParameters) DeepCopyInto

func (in *DropletParameters) DeepCopyInto(out *DropletParameters)

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

type DropletSpec

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

DropletSpec defines the desired state of Droplet

func (*DropletSpec) DeepCopy

func (in *DropletSpec) DeepCopy() *DropletSpec

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

func (*DropletSpec) DeepCopyInto

func (in *DropletSpec) DeepCopyInto(out *DropletSpec)

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

type DropletStatus

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

DropletStatus defines the observed state of Droplet.

func (*DropletStatus) DeepCopy

func (in *DropletStatus) DeepCopy() *DropletStatus

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

func (*DropletStatus) DeepCopyInto

func (in *DropletStatus) DeepCopyInto(out *DropletStatus)

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

type Snapshot

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

Snapshot is the Schema for the Snapshots API. +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,do}

func (*Snapshot) DeepCopy

func (in *Snapshot) DeepCopy() *Snapshot

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

func (*Snapshot) DeepCopyInto

func (in *Snapshot) DeepCopyInto(out *Snapshot)

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

func (*Snapshot) DeepCopyObject

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

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

func (*Snapshot) GetCondition

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

GetCondition of this Snapshot.

func (*Snapshot) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Snapshot

func (*Snapshot) GetDeletionPolicy

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

GetDeletionPolicy of this Snapshot.

func (*Snapshot) GetID

func (tr *Snapshot) GetID() string

GetID returns ID of underlying Terraform resource of this Snapshot

func (*Snapshot) GetInitParameters

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

GetInitParameters of this Snapshot

func (*Snapshot) GetManagementPolicies

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

GetManagementPolicies of this Snapshot.

func (*Snapshot) GetMergedParameters added in v0.2.0

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

GetInitParameters of this Snapshot

func (*Snapshot) GetObservation

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

GetObservation of this Snapshot

func (*Snapshot) GetParameters

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

GetParameters of this Snapshot

func (*Snapshot) GetProviderConfigReference

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

GetProviderConfigReference of this Snapshot.

func (*Snapshot) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) GetTerraformResourceType

func (mg *Snapshot) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Snapshot

func (*Snapshot) GetTerraformSchemaVersion

func (tr *Snapshot) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Snapshot) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Snapshot.

func (*Snapshot) Hub added in v0.2.0

func (tr *Snapshot) Hub()

Hub marks this type as a conversion hub.

func (*Snapshot) LateInitialize

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

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

func (*Snapshot) ResolveReferences

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

ResolveReferences of this Snapshot.

func (*Snapshot) SetConditions

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

SetConditions of this Snapshot.

func (*Snapshot) SetDeletionPolicy

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

SetDeletionPolicy of this Snapshot.

func (*Snapshot) SetManagementPolicies

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

SetManagementPolicies of this Snapshot.

func (*Snapshot) SetObservation

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

SetObservation for this Snapshot

func (*Snapshot) SetParameters

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

SetParameters for this Snapshot

func (*Snapshot) SetProviderConfigReference

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

SetProviderConfigReference of this Snapshot.

func (*Snapshot) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Snapshot.

func (*Snapshot) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Snapshot.

type SnapshotInitParameters

type SnapshotInitParameters struct {

	// The ID of the Droplet from which the snapshot will be taken.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/droplet/v1alpha1.Droplet
	DropletID *string `json:"dropletId,omitempty" tf:"droplet_id,omitempty"`

	// Reference to a Droplet in droplet to populate dropletId.
	// +kubebuilder:validation:Optional
	DropletIDRef *v1.Reference `json:"dropletIdRef,omitempty" tf:"-"`

	// Selector for a Droplet in droplet to populate dropletId.
	// +kubebuilder:validation:Optional
	DropletIDSelector *v1.Selector `json:"dropletIdSelector,omitempty" tf:"-"`

	// A name for the Droplet snapshot.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*SnapshotInitParameters) DeepCopy

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

func (*SnapshotInitParameters) DeepCopyInto

func (in *SnapshotInitParameters) DeepCopyInto(out *SnapshotInitParameters)

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

type SnapshotList

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

SnapshotList contains a list of Snapshots

func (*SnapshotList) DeepCopy

func (in *SnapshotList) DeepCopy() *SnapshotList

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

func (*SnapshotList) DeepCopyInto

func (in *SnapshotList) DeepCopyInto(out *SnapshotList)

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

func (*SnapshotList) DeepCopyObject

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

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

func (*SnapshotList) GetItems

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

GetItems of this SnapshotList.

type SnapshotObservation

type SnapshotObservation struct {

	// The date and time the Droplet snapshot was created.
	CreatedAt *string `json:"createdAt,omitempty" tf:"created_at,omitempty"`

	// The ID of the Droplet from which the snapshot will be taken.
	DropletID *string `json:"dropletId,omitempty" tf:"droplet_id,omitempty"`

	// The ID of the Droplet snapshot.
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The minimum size in gigabytes required for a Droplet to be created based on this snapshot.
	MinDiskSize *float64 `json:"minDiskSize,omitempty" tf:"min_disk_size,omitempty"`

	// A name for the Droplet snapshot.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// A list of DigitalOcean region "slugs" indicating where the droplet snapshot is available.
	// +listType=set
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// The billable size of the Droplet snapshot in gigabytes.
	Size *float64 `json:"size,omitempty" tf:"size,omitempty"`
}

func (*SnapshotObservation) DeepCopy

func (in *SnapshotObservation) DeepCopy() *SnapshotObservation

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

func (*SnapshotObservation) DeepCopyInto

func (in *SnapshotObservation) DeepCopyInto(out *SnapshotObservation)

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

type SnapshotParameters

type SnapshotParameters struct {

	// The ID of the Droplet from which the snapshot will be taken.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-upjet-digitalocean/apis/droplet/v1alpha1.Droplet
	// +kubebuilder:validation:Optional
	DropletID *string `json:"dropletId,omitempty" tf:"droplet_id,omitempty"`

	// Reference to a Droplet in droplet to populate dropletId.
	// +kubebuilder:validation:Optional
	DropletIDRef *v1.Reference `json:"dropletIdRef,omitempty" tf:"-"`

	// Selector for a Droplet in droplet to populate dropletId.
	// +kubebuilder:validation:Optional
	DropletIDSelector *v1.Selector `json:"dropletIdSelector,omitempty" tf:"-"`

	// A name for the Droplet snapshot.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*SnapshotParameters) DeepCopy

func (in *SnapshotParameters) DeepCopy() *SnapshotParameters

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

func (*SnapshotParameters) DeepCopyInto

func (in *SnapshotParameters) DeepCopyInto(out *SnapshotParameters)

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

type SnapshotSpec

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

SnapshotSpec defines the desired state of Snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

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

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

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

type SnapshotStatus

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

SnapshotStatus defines the observed state of Snapshot.

func (*SnapshotStatus) DeepCopy

func (in *SnapshotStatus) DeepCopy() *SnapshotStatus

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

func (*SnapshotStatus) DeepCopyInto

func (in *SnapshotStatus) DeepCopyInto(out *SnapshotStatus)

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