provider

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2025 License: MPL-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(version string, defaultRemoteAddr string) func() provider.Provider

func NewClusterResource added in v0.10.0

func NewClusterResource() resource.Resource

func NewMachineDataSource added in v0.10.0

func NewMachineDataSource() datasource.DataSource

func NewMachineResource added in v0.10.0

func NewMachineResource() resource.Resource

func NewNetworkDataSource added in v0.2.0

func NewNetworkDataSource() datasource.DataSource

func NewNetworkResource added in v0.1.3

func NewNetworkResource() resource.Resource

func NewSecurityGroupDataSource added in v0.2.0

func NewSecurityGroupDataSource() datasource.DataSource

func NewSecurityGroupResource added in v0.1.3

func NewSecurityGroupResource() resource.Resource

func NewStorageDiskDataSource added in v0.3.0

func NewStorageDiskDataSource() datasource.DataSource

func NewStorageDiskResource added in v0.3.0

func NewStorageDiskResource() resource.Resource

func NewVMDataCentersDataSource added in v0.2.0

func NewVMDataCentersDataSource() datasource.DataSource

func NewVMDataSource added in v0.2.0

func NewVMDataSource() datasource.DataSource

func NewVMImageResource added in v0.2.0

func NewVMImageResource() resource.Resource

func NewVMImagesDataSource added in v0.2.0

func NewVMImagesDataSource() datasource.DataSource

func NewVMResource

func NewVMResource() resource.Resource

Types

type ClusterMachineResourceModel added in v0.10.0

type ClusterMachineResourceModel struct {
	ID                types.String `tfsdk:"id"`
	ExternalIPAddress types.String `tfsdk:"external_ip_address"`
	InternalIPAddress types.String `tfsdk:"internal_ip_address"`
	PowerState        types.String `tfsdk:"power_state"`
	State             types.String `tfsdk:"state"`
}

type ClusterResource added in v0.10.0

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

ClusterResource defines the resource implementation.

func (*ClusterResource) Configure added in v0.10.0

func (*ClusterResource) Create added in v0.10.0

func (*ClusterResource) Delete added in v0.10.0

func (*ClusterResource) ImportState added in v0.10.0

func (*ClusterResource) Metadata added in v0.10.0

func (*ClusterResource) ModifyPlan added in v0.10.0

func (*ClusterResource) Read added in v0.10.0

func (*ClusterResource) Schema added in v0.10.0

func (*ClusterResource) Update added in v0.10.0

type ClusterResourceModel added in v0.10.0

type ClusterResourceModel struct {
	CommitmentMonths types.Int32    `tfsdk:"commitment_months"`
	DataCenterID     types.String   `tfsdk:"data_center_id"`
	ID               types.String   `tfsdk:"id"`
	MachineCount     types.Int32    `tfsdk:"machine_count"`
	MachineType      types.String   `tfsdk:"machine_type"`
	ProjectID        types.String   `tfsdk:"project_id"`
	SSHKeys          []types.String `tfsdk:"ssh_keys"`
	SSHKeySource     types.String   `tfsdk:"ssh_key_source"`
	StartScript      types.String   `tfsdk:"start_script"`

	State types.String `tfsdk:"state"`
}

ClusterResourceModel describes the resource data model.

type CudoClientData

type CudoClientData struct {
	BareMetalClient         baremetal.BareMetalServiceClient
	VMClient                vm.VMServiceClient
	NetworkClient           network.NetworkServiceClient
	DefaultBillingAccountID string
	DefaultProjectID        string
}

type CudoProvider

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

CudoProvider defines the provider implementation.

func (*CudoProvider) Configure

func (*CudoProvider) DataSources

func (p *CudoProvider) DataSources(ctx context.Context) []func() datasource.DataSource

func (*CudoProvider) Metadata

func (*CudoProvider) Resources

func (p *CudoProvider) Resources(ctx context.Context) []func() resource.Resource

func (*CudoProvider) Schema

type CudoProviderModel

type CudoProviderModel struct {
	APIKey           types.String `tfsdk:"api_key"`
	DisableTLS       types.Bool   `tfsdk:"disable_tls"`
	RemoteAddr       types.String `tfsdk:"remote_addr"`
	ProjectID        types.String `tfsdk:"project_id"`
	BillingAccountID types.String `tfsdk:"billing_account_id"`
}

CudoProviderModel describes the provider data model.

type MachineDataSource added in v0.10.0

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

MachineDataSource defines the data source implementation.

func (*MachineDataSource) Configure added in v0.10.0

func (*MachineDataSource) Metadata added in v0.10.0

func (*MachineDataSource) Read added in v0.10.0

func (*MachineDataSource) Schema added in v0.10.0

type MachineDataSourceModel added in v0.10.0

type MachineDataSourceModel struct {
	DataCenterID types.String `tfsdk:"data_center_id"`
	ID           types.String `tfsdk:"id"`
	MachineType  types.String `tfsdk:"machine_type"`
	ProjectID    types.String `tfsdk:"project_id"`
	OS           types.String `tfsdk:"os"`

	ExternalIPAddresses types.List   `tfsdk:"external_ip_addresses"`
	State               types.String `tfsdk:"state"`
	PowerState          types.String `tfsdk:"power_state"`
}

type MachineResource added in v0.10.0

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

MachineResource defines the resource implementation.

func (*MachineResource) Configure added in v0.10.0

func (*MachineResource) Create added in v0.10.0

func (*MachineResource) Delete added in v0.10.0

func (*MachineResource) ImportState added in v0.10.0

func (*MachineResource) Metadata added in v0.10.0

func (*MachineResource) ModifyPlan added in v0.10.0

func (*MachineResource) Read added in v0.10.0

func (*MachineResource) Schema added in v0.10.0

func (*MachineResource) Update added in v0.10.0

type MachineResourceModel added in v0.10.0

type MachineResourceModel struct {
	CommitmentMonths types.Int32  `tfsdk:"commitment_months"`
	DataCenterID     types.String `tfsdk:"data_center_id"`
	ID               types.String `tfsdk:"id"`
	MachineType      types.String `tfsdk:"machine_type"`
	ProjectID        types.String `tfsdk:"project_id"`
	OS               types.String `tfsdk:"os"`
	UserData         types.String `tfsdk:"user_data"`

	ExternalIPAddresses types.List   `tfsdk:"external_ip_addresses"`
	State               types.String `tfsdk:"state"`
	PowerState          types.String `tfsdk:"power_state"`
}

MachineResourceModel describes the resource data model.

type NetworkDataSource added in v0.2.0

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

NetworkDataSource defines the data source implementation.

func (*NetworkDataSource) Configure added in v0.2.0

func (*NetworkDataSource) Metadata added in v0.2.0

func (*NetworkDataSource) Read added in v0.2.0

func (*NetworkDataSource) Schema added in v0.2.0

type NetworkDataSourceModel added in v0.2.0

type NetworkDataSourceModel struct {
	DataCenterID      types.String `tfsdk:"data_center_id"`
	ExternalIPAddress types.String `tfsdk:"external_ip_address"`
	Gateway           types.String `tfsdk:"gateway"`
	ID                types.String `tfsdk:"id"`
	InternalIPAddress types.String `tfsdk:"internal_ip_address"`
	IPRange           types.String `tfsdk:"ip_range"`
	ProjectID         types.String `tfsdk:"project_id"`
}

NetworkDataSourceModel describes the data source data model.

type NetworkResource added in v0.1.3

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

NetworkResource defines the resource implementation.

func (*NetworkResource) Configure added in v0.1.3

func (*NetworkResource) Create added in v0.1.3

func (*NetworkResource) Delete added in v0.1.3

func (*NetworkResource) ImportState added in v0.1.3

func (*NetworkResource) Metadata added in v0.1.3

func (*NetworkResource) ModifyPlan added in v0.10.0

func (*NetworkResource) Read added in v0.1.3

func (*NetworkResource) Schema added in v0.1.3

func (*NetworkResource) Update added in v0.1.3

type NetworkResourceModel added in v0.1.3

type NetworkResourceModel struct {
	DataCenterID      types.String `tfsdk:"data_center_id"`
	ExternalIPAddress types.String `tfsdk:"external_ip_address"`
	Gateway           types.String `tfsdk:"gateway"`
	ID                types.String `tfsdk:"id"`
	InternalIPAddress types.String `tfsdk:"internal_ip_address"`
	IPRange           types.String `tfsdk:"ip_range"`
	ProjectID         types.String `tfsdk:"project_id"`
}

NetworkResourceModel describes the resource data model.

type RuleDataSourceModel added in v0.2.0

type RuleDataSourceModel struct {
	IcmpType    types.String `tfsdk:"icmp_type"`
	Id          types.String `tfsdk:"id"`
	IpRangeCidr types.String `tfsdk:"ip_range"`
	Ports       types.String `tfsdk:"ports"`
	Protocol    types.String `tfsdk:"protocol"`
	RuleType    types.String `tfsdk:"rule_type"`
}

type RuleModel added in v0.1.3

type RuleModel struct {
	IcmpType    types.String `tfsdk:"icmp_type"`
	Id          types.String `tfsdk:"id"`
	IpRangeCidr types.String `tfsdk:"ip_range"`
	Ports       types.String `tfsdk:"ports"`
	Protocol    types.String `tfsdk:"protocol"`
	RuleType    types.String `tfsdk:"rule_type"`
}

type SecurityGroupDataSource added in v0.2.0

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

SecurityGroupsDataSource defines the data source implementation.

func (*SecurityGroupDataSource) Configure added in v0.2.0

func (*SecurityGroupDataSource) Metadata added in v0.2.0

func (*SecurityGroupDataSource) Read added in v0.2.0

func (*SecurityGroupDataSource) Schema added in v0.2.0

type SecurityGroupDataSourceModel added in v0.2.0

type SecurityGroupDataSourceModel struct {
	DataCenterID types.String `tfsdk:"data_center_id"`
	Description  types.String `tfsdk:"description"`
	ID           types.String `tfsdk:"id"`
	ProjectID    types.String `tfsdk:"project_id"`
	Rules        []RuleModel  `tfsdk:"rules"`
}

SecurityGroupDataSourceModel describes the resource data model.

type SecurityGroupResource added in v0.1.3

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

SecurityGroupResource defines the resource implementation.

func (*SecurityGroupResource) Configure added in v0.1.3

func (*SecurityGroupResource) Create added in v0.1.3

func (*SecurityGroupResource) Delete added in v0.1.3

func (*SecurityGroupResource) ImportState added in v0.1.3

func (*SecurityGroupResource) Metadata added in v0.1.3

func (*SecurityGroupResource) ModifyPlan added in v0.10.0

func (*SecurityGroupResource) Read added in v0.1.3

func (*SecurityGroupResource) Schema added in v0.1.3

func (*SecurityGroupResource) Update added in v0.1.3

type SecurityGroupResourceModel added in v0.1.3

type SecurityGroupResourceModel struct {
	DataCenterID types.String `tfsdk:"data_center_id"`
	Description  types.String `tfsdk:"description"`
	ID           types.String `tfsdk:"id"`
	ProjectID    types.String `tfsdk:"project_id"`
	Rules        []RuleModel  `tfsdk:"rules"`
}

SecurityGroupResourceModel describes the resource data model.

type StorageDiskDataSource added in v0.3.0

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

SecurityGroupsDataSource defines the data source implementation.

func (*StorageDiskDataSource) Configure added in v0.3.0

func (*StorageDiskDataSource) Metadata added in v0.3.0

func (*StorageDiskDataSource) Read added in v0.3.0

func (*StorageDiskDataSource) Schema added in v0.3.0

type StorageDiskDataSourceModel added in v0.3.0

type StorageDiskDataSourceModel struct {
	DataCenterID types.String `tfsdk:"data_center_id"`
	ID           types.String `tfsdk:"id"`
	ProjectID    types.String `tfsdk:"project_id"`
	SizeGib      types.Int64  `tfsdk:"size_gib"`
}

SecurityGroupDataSourceModel describes the resource data model.

type StorageDiskResource added in v0.3.0

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

DiskResource defines the resource implementation.

func (*StorageDiskResource) Configure added in v0.3.0

func (*StorageDiskResource) Create added in v0.3.0

func (*StorageDiskResource) Delete added in v0.3.0

func (*StorageDiskResource) ImportState added in v0.3.0

func (*StorageDiskResource) Metadata added in v0.3.0

func (*StorageDiskResource) ModifyPlan added in v0.10.0

func (*StorageDiskResource) Read added in v0.3.0

func (*StorageDiskResource) Schema added in v0.3.0

func (*StorageDiskResource) Update added in v0.3.0

type StorageDiskResourceModel added in v0.3.0

type StorageDiskResourceModel struct {
	DataCenterID types.String `tfsdk:"data_center_id"`
	ID           types.String `tfsdk:"id"`
	ProjectID    types.String `tfsdk:"project_id"`
	SizeGib      types.Int64  `tfsdk:"size_gib"`
}

SecurityGroupResourceModel describes the resource data model.

type VMBootDiskResourceModel added in v0.2.0

type VMBootDiskResourceModel struct {
	ImageID types.String `tfsdk:"image_id"`
	SizeGib types.Int64  `tfsdk:"size_gib"`
}

type VMDataCenterDataSourceModel added in v0.2.0

type VMDataCenterDataSourceModel struct {
	ID types.String `tfsdk:"id"`
}

type VMDataCentersDataSource added in v0.2.0

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

VMDataCentersDataSource defines the data source implementation.

func (*VMDataCentersDataSource) Configure added in v0.2.0

func (*VMDataCentersDataSource) Metadata added in v0.2.0

func (*VMDataCentersDataSource) Read added in v0.2.0

func (*VMDataCentersDataSource) Schema added in v0.2.0

type VMDataCentersDataSourceModel added in v0.2.0

type VMDataCentersDataSourceModel struct {
	DataCenters []VMDataCenterDataSourceModel `tfsdk:"data_centers"`
	ID          types.String                  `tfsdk:"id"`
}

VMDataCentersDataSourceModelModel describes the data source data model.

type VMDataSource added in v0.2.0

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

VMDataSource defines the data source implementation.

func (*VMDataSource) Configure added in v0.2.0

func (*VMDataSource) Metadata added in v0.2.0

func (*VMDataSource) Read added in v0.2.0

func (*VMDataSource) Schema added in v0.2.0

type VMDataSourceModel added in v0.2.0

type VMDataSourceModel struct {
	BootDiskSizeGib   types.Int64  `tfsdk:"boot_disk_size_gib"`
	DatacenterID      types.String `tfsdk:"data_center_id"`
	ExternalIPAddress types.String `tfsdk:"external_ip_address"`
	Gpus              types.Int64  `tfsdk:"gpus"`
	Id                types.String `tfsdk:"id"`
	ImageID           types.String `tfsdk:"image_id"`
	InternalIPAddress types.String `tfsdk:"internal_ip_address"`
	MachineType       types.String `tfsdk:"machine_type"`
	MemoryGib         types.Int64  `tfsdk:"memory_gib"`
	Metadata          types.Map    `tfsdk:"metadata"`
	ProjectID         types.String `tfsdk:"project_id"`
	Vcpus             types.Int64  `tfsdk:"vcpus"`
}

type VMImageResource added in v0.2.0

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

VMImageResource defines the resource implementation.

func (*VMImageResource) Configure added in v0.2.0

func (*VMImageResource) Create added in v0.2.0

func (*VMImageResource) Delete added in v0.2.0

func (*VMImageResource) ImportState added in v0.2.0

func (*VMImageResource) Metadata added in v0.2.0

func (*VMImageResource) Read added in v0.2.0

func (*VMImageResource) Schema added in v0.2.0

func (*VMImageResource) Update added in v0.2.0

type VMImageResourceModel added in v0.2.0

type VMImageResourceModel struct {
	DataCenterId types.String               `tfsdk:"data_center_id"`
	ID           types.String               `tfsdk:"id"`
	SizeGib      types.Int64                `tfsdk:"size_gib"`
	Source       VMImageSourceResourceModel `tfsdk:"source"`
}

VMImageResourceModel describes the resource data model.

type VMImageSourceResourceModel added in v0.2.0

type VMImageSourceResourceModel struct {
	// SnapshotID types.String `tfsdk:"snapshot_id"`
	VmID types.String `tfsdk:"vm_id"`
}

type VMImagesDataSource added in v0.2.0

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

VMImagesDataSource defines the data source implementation.

func (*VMImagesDataSource) Configure added in v0.2.0

func (*VMImagesDataSource) Metadata added in v0.2.0

func (*VMImagesDataSource) Read added in v0.2.0

func (*VMImagesDataSource) Schema added in v0.2.0

type VMImagesDataSourceModel added in v0.2.0

type VMImagesDataSourceModel struct {
	VmImages []vmImagesModel `tfsdk:"images"`
	ID       types.String    `tfsdk:"id"`
}

VMImagesDataSourceModel describes the data source data model.

type VMNICResourceModel added in v0.2.0

type VMNICResourceModel struct {
	AssignPublicIP    types.Bool   `tfsdk:"assign_public_ip"`
	ExternalIPAddress types.String `tfsdk:"external_ip_address"`
	InternalIPAddress types.String `tfsdk:"internal_ip_address"`
	NetworkID         types.String `tfsdk:"network_id"`
	SecurityGroupIDs  types.Set    `tfsdk:"security_group_ids"`
}

type VMResource

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

VMResource defines the resource implementation.

func (*VMResource) Configure

func (*VMResource) Create

func (*VMResource) Delete

func (*VMResource) ImportState

func (*VMResource) Metadata

func (*VMResource) ModifyPlan added in v0.10.0

func (*VMResource) Read

func (*VMResource) Schema

func (*VMResource) Update

type VMResourceModel

type VMResourceModel struct {
	BootDisk          *VMBootDiskResourceModel      `tfsdk:"boot_disk"`
	CommitmentMonths  types.Int32                   `tfsdk:"commitment_months"`
	DataCenterID      types.String                  `tfsdk:"data_center_id"`
	ExternalIPAddress types.String                  `tfsdk:"external_ip_address"`
	GPUs              types.Int64                   `tfsdk:"gpus"`
	ID                types.String                  `tfsdk:"id"`
	InternalIPAddress types.String                  `tfsdk:"internal_ip_address"`
	MachineType       types.String                  `tfsdk:"machine_type"`
	MemoryGib         types.Int64                   `tfsdk:"memory_gib"`
	Metadata          types.Map                     `tfsdk:"metadata"`
	Networks          []*VMNICResourceModel         `tfsdk:"networks"`
	Password          types.String                  `tfsdk:"password"`
	ProjectID         types.String                  `tfsdk:"project_id"`
	SecurityGroupIDs  types.Set                     `tfsdk:"security_group_ids"`
	SSHKeys           []types.String                `tfsdk:"ssh_keys"`
	SSHKeySource      types.String                  `tfsdk:"ssh_key_source"`
	StartScript       types.String                  `tfsdk:"start_script"`
	StorageDisks      []*VMStorageDiskResourceModel `tfsdk:"storage_disks"`
	VCPUs             types.Int64                   `tfsdk:"vcpus"`
}

VMResourceModel describes the resource data model.

type VMStorageDiskResourceModel added in v0.3.0

type VMStorageDiskResourceModel struct {
	DiskID types.String `tfsdk:"disk_id"`
}

Jump to

Keyboard shortcuts

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