provider

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 11, 2023 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ref

func Ref[T any](v T) *T

func RunProvider

func RunProvider(providerName, Version string) error

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
}

func (*Config) Annotate

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

func (*Config) Configure

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

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)

type Zlog

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

Zlog logger struct

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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