provider

package module
v0.0.0-...-bac7d8c Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Provider

func Provider() p.Provider

Provider data and resources

func RunProvider

func RunProvider(providerName, Version string) error

RunProvider runs the pulumi provider and adds its resources

Types

type Backend

type Backend struct {
	Address   string `pulumi:"address"`
	Namespace string `pulumi:"namespace"`
	Password  string `pulumi:"password"`
}

Backend is a zos backend

type Config

type Config struct {
	Mnemonic     string `pulumi:"mnemonic,optional"  provider:"secret"`
	Network      string `pulumi:"network,optional"`
	KeyType      string `pulumi:"key_type,optional"`
	SubstrateURL string `pulumi:"substrate_url,optional"`
	RelayURL     string `pulumi:"relay_url,optional"`
	RmbTimeout   string `pulumi:"rmb_timeout,optional"`

	TFPluginClient deployer.TFPluginClient
}

Config struct holds the configuration fields for the provider

func (*Config) Annotate

func (c *Config) Annotate(a infer.Annotator)

Annotate sets description and default values for configs

func (*Config) Configure

func (c *Config) Configure(ctx p.Context) error

Configure checks configuration for the provider

type Deployment

type Deployment struct{}

Deployment controlling struct

func (*Deployment) Create

func (*Deployment) Create(
	ctx p.Context,
	id string,
	input DeploymentArgs,
	preview bool) (string, DeploymentState, error)

Create creates a deployment

func (*Deployment) Delete

func (*Deployment) Delete(ctx p.Context, id string, oldState DeploymentState) error

Delete deletes a deployment resource

func (*Deployment) Read

func (*Deployment) Read(ctx p.Context, id string, oldState DeploymentState) (string, DeploymentState, error)

Read gets the state of the deployment resource

func (*Deployment) Update

func (*Deployment) Update(
	ctx p.Context,
	id string,
	oldState DeploymentState,
	input DeploymentArgs,
	preview bool) (string, DeploymentState, error)

Update updates the arguments of the deployment resource

type DeploymentArgs

type DeploymentArgs struct {
	NodeID           interface{} `pulumi:"node_id"`
	Name             string      `pulumi:"name"`
	NetworkName      string      `pulumi:"network_name,optional"`
	SolutionType     string      `pulumi:"solution_type,optional"`
	SolutionProvider int64       `pulumi:"solution_provider,optional"`
	Disks            []Disk      `pulumi:"disks,optional"`
	ZdbsInputs       []ZDBInput  `pulumi:"zdbs,optional"`
	VmsInputs        []VMInput   `pulumi:"vms,optional"`
	QSFSInputs       []QSFSInput `pulumi:"qsfs,optional"`
}

DeploymentArgs is defining what arguments it accepts

type DeploymentState

type DeploymentState struct {
	DeploymentArgs

	NodeDeploymentID map[string]int64 `pulumi:"node_deployment_id"`
	ContractID       int64            `pulumi:"contract_id"`
	IPrange          string           `pulumi:"ip_range"`
	ZdbsComputed     []ZDBComputed    `pulumi:"zdbs_computed"`
	VmsComputed      []VMComputed     `pulumi:"vms_computed"`
	QsfsComputed     []QSFSComputed   `pulumi:"qsfs_computed"`
}

DeploymentState is describing the fields that exist on the created resource

type Disk

type Disk struct {
	Name        string `pulumi:"name"`
	Size        int    `pulumi:"size"`
	Description string `pulumi:"description,optional"`
}

Disk represents the disk struct

type GatewayFQDN

type GatewayFQDN struct{}

GatewayFQDN controlling struct

func (*GatewayFQDN) Create

func (*GatewayFQDN) Create(
	ctx p.Context,
	id string,
	input GatewayFQDNArgs,
	preview bool) (string, GatewayFQDNState, error)

Create creates a fqdn gateway

func (*GatewayFQDN) Delete

func (*GatewayFQDN) Delete(ctx p.Context, id string, oldState GatewayFQDNState) error

Delete deletes a fqdn gateway resource

func (*GatewayFQDN) Read

Read gets the state of the fqdn gateway resource

func (*GatewayFQDN) Update

func (*GatewayFQDN) Update(
	ctx p.Context,
	id string,
	oldState GatewayFQDNState,
	input GatewayFQDNArgs,
	preview bool) (string, GatewayFQDNState, error)

Update updates the arguments of a fqdn gateway resource

type GatewayFQDNArgs

type GatewayFQDNArgs struct {
	NodeID         interface{}   `pulumi:"node_id"`
	Name           string        `pulumi:"name"`
	FQDN           string        `pulumi:"fqdn"`
	Backends       []zos.Backend `pulumi:"backends"`
	NetworkName    string        `pulumi:"network_name,optional"`
	Description    string        `pulumi:"description,optional"`
	TLSPassthrough bool          `pulumi:"tls_pass_through,optional"`
	SolutionType   string        `pulumi:"solution_type,optional"`
}

GatewayFQDNArgs is defining what arguments it accepts

type GatewayFQDNState

type GatewayFQDNState struct {
	GatewayFQDNArgs

	ContractID       int64            `pulumi:"contract_id"`
	NodeDeploymentID map[string]int64 `pulumi:"node_deployment_id"`
}

GatewayFQDNState is describing the fields that exist on the fqdn gateway resource

type GatewayName

type GatewayName struct{}

GatewayName controlling struct

func (*GatewayName) Create

func (*GatewayName) Create(
	ctx p.Context,
	id string,
	input GatewayNameArgs,
	preview bool) (string, GatewayNameState, error)

Create creates GatewayName and deploy it

func (*GatewayName) Delete

func (*GatewayName) Delete(ctx p.Context, id string, oldState GatewayNameState) error

Delete deletes the GatewayName resource

func (*GatewayName) Read

Read gets the state of the GatewayName resource

func (*GatewayName) Update

func (*GatewayName) Update(
	ctx p.Context,
	id string,
	oldState GatewayNameState,
	input GatewayNameArgs,
	preview bool) (GatewayNameState, error)

Update updates the GatewayName resource

type GatewayNameArgs

type GatewayNameArgs struct {
	Name           string      `pulumi:"name"`
	NodeID         interface{} `pulumi:"node_id"`
	Backends       []string    `pulumi:"backends"`
	TLSPassthrough bool        `pulumi:"tls_passthrough,optional"`
	Network        string      `pulumi:"network,optional"`
	Description    string      `pulumi:"description,optional"`
	SolutionType   string      `pulumi:"solution_type,optional"`
}

GatewayNameArgs is defining what arguments it accepts

type GatewayNameState

type GatewayNameState struct {
	GatewayNameArgs

	NodeDeploymentID map[string]int64 `pulumi:"node_deployment_id"`
	FQDN             string           `pulumi:"fqdn"`
	NameContractID   int64            `pulumi:"name_contract_id"`
	ContractID       int64            `pulumi:"contract_id"`
}

GatewayNameState is describing the fields that exist on the created resource.

type Group

type Group struct {
	Backends []Backend `pulumi:"backends,optional"`
}

Group is a zos group

type K8sNodeComputed

type K8sNodeComputed struct {
	ComputedIP  string `pulumi:"computed_ip"`
	ComputedIP6 string `pulumi:"computed_ip6"`
	IP          string `pulumi:"ip"`
	YggIP       string `pulumi:"ygg_ip"`
	ConsoleURL  string `pulumi:"console_url"`
	SSHKey      string `pulumi:"ssh_key"`
	Token       string `pulumi:"token"`
	NetworkName string `pulumi:"network_name"`
}

K8sNodeComputed struct of computed data

type K8sNodeInput

type K8sNodeInput struct {
	Name          string      `pulumi:"name"`
	Node          interface{} `pulumi:"node"`
	DiskSize      int         `pulumi:"disk_size"`
	Flist         string      `pulumi:"flist,optional"`
	CPU           int         `pulumi:"cpu"`
	Memory        int         `pulumi:"memory"`
	PublicIP      bool        `pulumi:"public_ip,optional"`
	PublicIP6     bool        `pulumi:"public_ip6,optional"`
	Planetary     bool        `pulumi:"planetary,optional"`
	FlistChecksum string      `pulumi:"flist_checksum,optional"`
}

K8sNodeInput struct of input data

type Kubernetes

type Kubernetes struct{}

Kubernetes controlling struct

func (*Kubernetes) Create

func (*Kubernetes) Create(
	ctx p.Context,
	id string,
	input KubernetesArgs,
	preview bool) (string, KubernetesState, error)

Create creates Kubernetes cluster and deploy it

func (*Kubernetes) Delete

func (*Kubernetes) Delete(ctx p.Context, id string, oldState KubernetesState) error

Delete deletes the Kubernetes resource

func (*Kubernetes) Read

func (*Kubernetes) Read(ctx p.Context, id string, oldState KubernetesState) (string, KubernetesState, error)

Read get the state of the Kubernetes resource

func (*Kubernetes) Update

func (*Kubernetes) Update(
	ctx p.Context,
	id string,
	oldState KubernetesState,
	input KubernetesArgs,
	preview bool) (KubernetesState, error)

Update updates the arguments of the Kubernetes resource

type KubernetesArgs

type KubernetesArgs struct {
	Master       *K8sNodeInput  `pulumi:"master"`
	Workers      []K8sNodeInput `pulumi:"workers"`
	Token        string         `pulumi:"token"`
	NetworkName  string         `pulumi:"network_name"`
	SolutionType string         `pulumi:"solution_type,optional"`
	SSHKey       string         `pulumi:"ssh_key,optional"`
}

KubernetesArgs is defining what arguments it accepts

type KubernetesState

type KubernetesState struct {
	KubernetesArgs

	MasterComputed   *K8sNodeComputed           `pulumi:"master_computed"`
	WorkersComputed  map[string]K8sNodeComputed `pulumi:"workers_computed"`
	NodesIPRange     map[string]string          `pulumi:"nodes_ip_range"`
	NodeDeploymentID map[string]int64           `pulumi:"node_deployment_id"`
}

KubernetesState is describing the fields that exist on the created resource.

type Metadata

type Metadata struct {
	EncryptionKey       string    `pulumi:"encryption_key"`
	Prefix              string    `pulumi:"prefix"`
	EncryptionAlgorithm string    `pulumi:"encryption_algorithm,optional"`
	Type                string    `pulumi:"type,optional"`
	Backends            []Backend `pulumi:"backends,optional"`
}

Metadata for QSFS

type Mount

type Mount struct {
	DiskName   string `pulumi:"disk_name"`
	MountPoint string `pulumi:"mount_point"`
}

Mount represents mounting of disks

type Network

type Network struct{}

Network controlling struct

func (*Network) Create

func (*Network) Create(ctx p.Context, id string, input NetworkArgs, preview bool) (string, NetworkState, error)

Create creates network and deploy it

func (*Network) Delete

func (*Network) Delete(ctx p.Context, id string, oldState NetworkState) error

Delete deletes the network resource

func (*Network) Read

func (*Network) Read(ctx p.Context, id string, oldState NetworkState) (string, NetworkState, error)

Read get the state of the network resource

func (*Network) Update

func (*Network) Update(
	ctx p.Context,
	id string,
	oldState NetworkState,
	input NetworkArgs,
	preview bool) (NetworkState, error)

Update updates the arguments of the network resource

type NetworkArgs

type NetworkArgs struct {
	Name         string        `pulumi:"name"`
	Description  string        `pulumi:"description"`
	Nodes        []interface{} `pulumi:"nodes"`
	IPRange      string        `pulumi:"ip_range"`
	AddWGAccess  bool          `pulumi:"add_wg_access,optional"`
	SolutionType string        `pulumi:"solution_type,optional"`
}

NetworkArgs is defining what arguments it accepts

type NetworkState

type NetworkState struct {
	NetworkArgs

	AccessWGConfig   string            `pulumi:"access_wg_config"`
	ExternalIP       string            `pulumi:"external_ip"`
	ExternalSK       string            `pulumi:"external_sk"`
	PublicNodeID     int32             `pulumi:"public_node_id"`
	NodesIPRange     map[string]string `pulumi:"nodes_ip_range"`
	NodeDeploymentID map[string]int64  `pulumi:"node_deployment_id"`
}

NetworkState is describing the fields that exist on the created resource.

type QSFSComputed

type QSFSComputed struct {
	MetricsEndpoint string `pulumi:"metrics_endpoint"`
}

QSFSComputed is the QSFS Computed struct

type QSFSInput

type QSFSInput struct {
	Name                 string   `pulumi:"name"`
	Description          string   `pulumi:"description,optional"`
	Cache                int      `pulumi:"cache"`
	MinimalShards        int32    `pulumi:"minimal_shards"`
	ExpectedShards       int32    `pulumi:"expected_shards"`
	RedundantGroups      int32    `pulumi:"redundant_groups"`
	RedundantNodes       int32    `pulumi:"redundant_nodes"`
	MaxZDBDataDirSize    int32    `pulumi:"max_zdb_data_dir_size"`
	EncryptionAlgorithm  string   `pulumi:"encryption_algorithm,optional"`
	EncryptionKey        string   `pulumi:"encryption_key"`
	CompressionAlgorithm string   `pulumi:"compression_algorithm,optional"`
	Metadata             Metadata `pulumi:"metadata"`
	Groups               []Group  `pulumi:"groups"`
}

QSFSInput is the QSFS input struct

type Scheduler

type Scheduler struct{}

Scheduler controlling struct

func (*Scheduler) Create

func (*Scheduler) Create(ctx p.Context, id string, input SchedulerArgs, preview bool) (string, SchedulerState, error)

Create creates scheduler

func (*Scheduler) Delete

func (*Scheduler) Delete(ctx p.Context, id string, oldState SchedulerState) error

Delete deletes the scheduler resource

func (*Scheduler) Read

func (*Scheduler) Read(ctx p.Context, id string, oldState SchedulerState) (string, SchedulerState, error)

Read get the state of the scheduler resource

func (*Scheduler) Update

func (*Scheduler) Update(
	ctx p.Context,
	id string,
	oldState SchedulerState,
	input SchedulerArgs,
	preview bool) (SchedulerState, error)

Update updates the arguments of the scheduler resource

type SchedulerArgs

type SchedulerArgs struct {
	MRU               int64   `pulumi:"mru,optional"`
	HRU               int64   `pulumi:"hru,optional"`
	SRU               int64   `pulumi:"sru,optional"`
	Country           string  `pulumi:"country,optional"`
	City              string  `pulumi:"city,optional"`
	FarmName          string  `pulumi:"farm_name,optional"`
	FarmIDs           []int64 `pulumi:"farm_ids,optional"`
	FreeIPs           int64   `pulumi:"free_ips,optional"`
	IPv4              bool    `pulumi:"ipv4,optional"`
	IPv6              bool    `pulumi:"ipv6,optional"`
	Domain            bool    `pulumi:"domain,optional"`
	Dedicated         bool    `pulumi:"dedicated,optional"`
	Rented            bool    `pulumi:"rented,optional"`
	Rentable          bool    `pulumi:"rentable,optional"`
	NodeID            int64   `pulumi:"node_id,optional"`
	TwinID            int64   `pulumi:"twin_id,optional"`
	CertificationType string  `pulumi:"certification_type,optional"`
	HasGPU            bool    `pulumi:"has_gpu,optional"`
	GpuDeviceID       string  `pulumi:"gpu_device_id,optional"`
	GpuDeviceName     string  `pulumi:"gpu_device_name,optional"`
	GpuVendorID       string  `pulumi:"gpu_vendor_id,optional"`
	GpuVendorName     string  `pulumi:"gpu_vendor_name,optional"`
	GpuAvailable      bool    `pulumi:"gpu_available,optional"`
}

SchedulerArgs is defining what arguments it accepts

type SchedulerState

type SchedulerState struct {
	SchedulerArgs

	Nodes []int32 `pulumi:"nodes"`
}

SchedulerState is describing the fields that exist on the created resource.

type VMComputed

type VMComputed struct {
	ComputedIP  string `pulumi:"computed_ip"`
	ComputedIP6 string `pulumi:"computed_ip6"`
	YggIP       string `pulumi:"ygg_ip"`
	ConsoleURL  string `pulumi:"console_url"`
	IP          string `pulumi:"ip,optional"`
}

VMComputed is a virtual machine computed struct

type VMInput

type VMInput struct {
	Name          string            `pulumi:"name"`
	Flist         string            `pulumi:"flist"`
	NetworkName   string            `pulumi:"network_name"`
	CPU           int               `pulumi:"cpu"`
	Memory        int               `pulumi:"memory"`
	FlistChecksum string            `pulumi:"flist_checksum,optional"`
	PublicIP      bool              `pulumi:"public_ip,optional"`
	PublicIP6     bool              `pulumi:"public_ip6,optional"`
	Planetary     bool              `pulumi:"planetary,optional"`
	Description   string            `pulumi:"description,optional"`
	GPUs          []zos.GPU         `pulumi:"gpus,optional"`
	RootfsSize    int               `pulumi:"rootfs_size,optional"`
	Entrypoint    string            `pulumi:"entrypoint,optional"`
	Mounts        []Mount           `pulumi:"mounts,optional"`
	Zlogs         []Zlog            `pulumi:"zlogs,optional"`
	EnvVars       map[string]string `pulumi:"env_vars,optional"`
}

VMInput is a virtual machine inputs struct

type ZDBComputed

type ZDBComputed struct {
	IPs       []string `pulumi:"ips"`
	Port      int32    `pulumi:"port"`
	Namespace string   `pulumi:"namespace"`
}

ZDBComputed is the ZDB workload Computed struct

type ZDBInput

type ZDBInput struct {
	Name        string `pulumi:"name"`
	Size        int    `pulumi:"size"`
	Password    string `pulumi:"password"`
	Public      bool   `pulumi:"public,optional"`
	Description string `pulumi:"description,optional"`
	Mode        string `pulumi:"mode,optional"`
}

ZDBInput is the ZDB workload inputs struct

func (*ZDBInput) Annotate

func (z *ZDBInput) Annotate(a infer.Annotator)

Annotate sets defaults and descriptions for zdb resource

type Zlog

type Zlog struct {
	Zmachine string `pulumi:"zmachine"`
	Output   string `pulumi:"output"`
}

Zlog logger struct

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

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