Documentation
¶
Index ¶
- Constants
- type ComputeService
- type Error
- type OSImage
- type RegionName
- type ResourceStatus
- type SSHKeyParam
- type StorageType
- type VM
- type VMCPUConfig
- type VMList
- type VMMemoryConfig
- type VMNewParams
- type VMNewParamsBootVolume
- type VMNewParamsCPUConfig
- type VMNewParamsDataVolume
- type VMNewParamsMemoryConfig
- type VMOSImageService
- type VMService
- func (r *VMService) Delete(ctx context.Context, vmID string, opts ...option.RequestOption) (res *operations.Operation, err error)
- func (r *VMService) Get(ctx context.Context, vmID string, opts ...option.RequestOption) (res *VM, err error)
- func (r *VMService) List(ctx context.Context, opts ...option.RequestOption) (res *VMList, err error)
- func (r *VMService) New(ctx context.Context, body VMNewParams, opts ...option.RequestOption) (res *operations.Operation, err error)
- func (r *VMService) Update(ctx context.Context, vmID string, body VMUpdateParams, ...) (res *operations.Operation, err error)
- type VMUpdateParams
- type VMUpdateParamsCPUConfig
- type VMUpdateParamsMemoryConfig
- type Volume
- type VolumeKind
- type VolumeListResponse
- type VolumeNewParams
- type VolumeService
- func (r *VolumeService) Delete(ctx context.Context, volumeID string, opts ...option.RequestOption) (res *operations.Operation, err error)
- func (r *VolumeService) Get(ctx context.Context, volumeID string, opts ...option.RequestOption) (res *Volume, err error)
- func (r *VolumeService) List(ctx context.Context, opts ...option.RequestOption) (res *VolumeListResponse, err error)
- func (r *VolumeService) New(ctx context.Context, body VolumeNewParams, opts ...option.RequestOption) (res *operations.Operation, err error)
- func (r *VolumeService) Update(ctx context.Context, volumeID string, body VolumeUpdateParams, ...) (res *operations.Operation, err error)
- type VolumeUpdateParams
Constants ¶
const RegionNameApMum1 = shared.RegionNameApMum1
This is an alias to an internal value.
const RegionNameApSin1 = shared.RegionNameApSin1
This is an alias to an internal value.
const RegionNameApTyo1 = shared.RegionNameApTyo1
This is an alias to an internal value.
const RegionNameEuAms1 = shared.RegionNameEuAms1
This is an alias to an internal value.
const RegionNameEuFrk1 = shared.RegionNameEuFrk1
This is an alias to an internal value.
const RegionNameEuLon1 = shared.RegionNameEuLon1
This is an alias to an internal value.
const RegionNameUsChi1 = shared.RegionNameUsChi1
This is an alias to an internal value.
const RegionNameUsSea1 = shared.RegionNameUsSea1
This is an alias to an internal value.
const RegionNameUsSva1 = shared.RegionNameUsSva1
This is an alias to an internal value.
const RegionNameUsWdc1 = shared.RegionNameUsWdc1
This is an alias to an internal value.
const ResourceStatusCreating = shared.ResourceStatusCreating
This is an alias to an internal value.
const ResourceStatusDeleted = shared.ResourceStatusDeleted
This is an alias to an internal value.
const ResourceStatusDeleting = shared.ResourceStatusDeleting
This is an alias to an internal value.
const ResourceStatusFailed = shared.ResourceStatusFailed
This is an alias to an internal value.
const ResourceStatusPending = shared.ResourceStatusPending
This is an alias to an internal value.
const ResourceStatusReady = shared.ResourceStatusReady
This is an alias to an internal value.
const ResourceStatusUpdating = shared.ResourceStatusUpdating
This is an alias to an internal value.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComputeService ¶
type ComputeService struct {
Options []option.RequestOption
VMs *VMService
Volumes *VolumeService
}
ComputeService contains methods and other services that help with interacting with the Nirvana Labs API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewComputeService method instead.
func NewComputeService ¶
func NewComputeService(opts ...option.RequestOption) (r *ComputeService)
NewComputeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
type OSImage ¶
type OSImage struct {
CreatedAt string `json:"created_at,required"`
DisplayName string `json:"display_name,required"`
Name string `json:"name,required"`
JSON osImageJSON `json:"-"`
}
func (*OSImage) UnmarshalJSON ¶
type ResourceStatus ¶
type ResourceStatus = shared.ResourceStatus
This is an alias to an internal type.
type SSHKeyParam ¶
SSH key details.
func (SSHKeyParam) MarshalJSON ¶
func (r SSHKeyParam) MarshalJSON() (data []byte, err error)
type StorageType ¶
type StorageType string
Storage type.
const (
StorageTypeNvme StorageType = "nvme"
)
func (StorageType) IsKnown ¶
func (r StorageType) IsKnown() bool
type VM ¶
type VM struct {
ID string `json:"id,required"`
BootVolumeID string `json:"boot_volume_id,required"`
// CPU config details.
CPUConfig VMCPUConfig `json:"cpu_config,required"`
CreatedAt string `json:"created_at,required"`
DataVolumeIDs []string `json:"data_volume_ids,required"`
// Memory config details.
MemoryConfig VMMemoryConfig `json:"memory_config,required"`
Name string `json:"name,required"`
PrivateIP string `json:"private_ip,required"`
PublicIP string `json:"public_ip,required"`
Region shared.RegionName `json:"region,required"`
Status shared.ResourceStatus `json:"status,required"`
UpdatedAt string `json:"updated_at,required"`
VPCID string `json:"vpc_id,required"`
JSON vmJSON `json:"-"`
}
VM details.
func (*VM) UnmarshalJSON ¶
type VMCPUConfig ¶
type VMCPUConfig struct {
// virtual CPUs
Vcpu int64 `json:"vcpu,required"`
JSON vmcpuConfigJSON `json:"-"`
}
CPU config details.
func (*VMCPUConfig) UnmarshalJSON ¶
func (r *VMCPUConfig) UnmarshalJSON(data []byte) (err error)
type VMList ¶
type VMList struct {
Items []VM `json:"items,required"`
JSON vmListJSON `json:"-"`
}
func (*VMList) UnmarshalJSON ¶
type VMMemoryConfig ¶
type VMMemoryConfig struct {
// memory size
Size int64 `json:"size,required"`
JSON vmMemoryConfigJSON `json:"-"`
}
Memory config details.
func (*VMMemoryConfig) UnmarshalJSON ¶
func (r *VMMemoryConfig) UnmarshalJSON(data []byte) (err error)
type VMNewParams ¶
type VMNewParams struct {
// Boot volume create request.
BootVolume param.Field[VMNewParamsBootVolume] `json:"boot_volume,required"`
// CPU config details.
CPUConfig param.Field[VMNewParamsCPUConfig] `json:"cpu_config,required"`
// Memory config details.
MemoryConfig param.Field[VMNewParamsMemoryConfig] `json:"memory_config,required"`
Name param.Field[string] `json:"name,required"`
OSImageName param.Field[string] `json:"os_image_name,required"`
PublicIPEnabled param.Field[bool] `json:"public_ip_enabled,required"`
Region param.Field[shared.RegionName] `json:"region,required"`
// SSH key details.
SSHKey param.Field[SSHKeyParam] `json:"ssh_key,required"`
DataVolumes param.Field[[]VMNewParamsDataVolume] `json:"data_volumes"`
SubnetID param.Field[string] `json:"subnet_id"`
}
func (VMNewParams) MarshalJSON ¶
func (r VMNewParams) MarshalJSON() (data []byte, err error)
type VMNewParamsBootVolume ¶
Boot volume create request.
func (VMNewParamsBootVolume) MarshalJSON ¶
func (r VMNewParamsBootVolume) MarshalJSON() (data []byte, err error)
type VMNewParamsCPUConfig ¶
CPU config details.
func (VMNewParamsCPUConfig) MarshalJSON ¶
func (r VMNewParamsCPUConfig) MarshalJSON() (data []byte, err error)
type VMNewParamsDataVolume ¶
VM data volume create request.
func (VMNewParamsDataVolume) MarshalJSON ¶
func (r VMNewParamsDataVolume) MarshalJSON() (data []byte, err error)
type VMNewParamsMemoryConfig ¶
type VMNewParamsMemoryConfig struct {
// memory size
Size param.Field[int64] `json:"size,required"`
}
Memory config details.
func (VMNewParamsMemoryConfig) MarshalJSON ¶
func (r VMNewParamsMemoryConfig) MarshalJSON() (data []byte, err error)
type VMOSImageService ¶
type VMOSImageService struct {
Options []option.RequestOption
}
VMOSImageService contains methods and other services that help with interacting with the Nirvana Labs API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVMOSImageService method instead.
func NewVMOSImageService ¶
func NewVMOSImageService(opts ...option.RequestOption) (r *VMOSImageService)
NewVMOSImageService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VMOSImageService) List ¶
func (r *VMOSImageService) List(ctx context.Context, opts ...option.RequestOption) (res *[]OSImage, err error)
List all OS Images
type VMService ¶
type VMService struct {
Options []option.RequestOption
OSImages *VMOSImageService
}
VMService contains methods and other services that help with interacting with the Nirvana Labs API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVMService method instead.
func NewVMService ¶
func NewVMService(opts ...option.RequestOption) (r *VMService)
NewVMService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VMService) Delete ¶
func (r *VMService) Delete(ctx context.Context, vmID string, opts ...option.RequestOption) (res *operations.Operation, err error)
Delete a VM
func (*VMService) Get ¶
func (r *VMService) Get(ctx context.Context, vmID string, opts ...option.RequestOption) (res *VM, err error)
Get details about a VM
func (*VMService) List ¶
func (r *VMService) List(ctx context.Context, opts ...option.RequestOption) (res *VMList, err error)
List all VMs
func (*VMService) New ¶
func (r *VMService) New(ctx context.Context, body VMNewParams, opts ...option.RequestOption) (res *operations.Operation, err error)
Create a VM
func (*VMService) Update ¶
func (r *VMService) Update(ctx context.Context, vmID string, body VMUpdateParams, opts ...option.RequestOption) (res *operations.Operation, err error)
Update a VM
type VMUpdateParams ¶
type VMUpdateParams struct {
// CPU config details.
CPUConfig param.Field[VMUpdateParamsCPUConfig] `json:"cpu_config"`
// Memory config details.
MemoryConfig param.Field[VMUpdateParamsMemoryConfig] `json:"memory_config"`
}
func (VMUpdateParams) MarshalJSON ¶
func (r VMUpdateParams) MarshalJSON() (data []byte, err error)
type VMUpdateParamsCPUConfig ¶
type VMUpdateParamsCPUConfig struct {
// virtual CPUs
Vcpu param.Field[int64] `json:"vcpu,required"`
}
CPU config details.
func (VMUpdateParamsCPUConfig) MarshalJSON ¶
func (r VMUpdateParamsCPUConfig) MarshalJSON() (data []byte, err error)
type VMUpdateParamsMemoryConfig ¶
type VMUpdateParamsMemoryConfig struct {
// memory size
Size param.Field[int64] `json:"size,required"`
}
Memory config details.
func (VMUpdateParamsMemoryConfig) MarshalJSON ¶
func (r VMUpdateParamsMemoryConfig) MarshalJSON() (data []byte, err error)
type Volume ¶
type Volume struct {
ID string `json:"id,required"`
CreatedAt string `json:"created_at,required"`
// Volume kind.
Kind VolumeKind `json:"kind,required"`
Size int64 `json:"size,required"`
// Storage type.
Type StorageType `json:"type,required"`
UpdatedAt string `json:"updated_at,required"`
VMID string `json:"vm_id"`
JSON volumeJSON `json:"-"`
}
Volume details.
func (*Volume) UnmarshalJSON ¶
type VolumeKind ¶
type VolumeKind string
Volume kind.
const ( VolumeKindBoot VolumeKind = "boot" VolumeKindData VolumeKind = "data" )
func (VolumeKind) IsKnown ¶
func (r VolumeKind) IsKnown() bool
type VolumeListResponse ¶
type VolumeListResponse struct {
Items []Volume `json:"items,required"`
JSON volumeListResponseJSON `json:"-"`
}
func (*VolumeListResponse) UnmarshalJSON ¶
func (r *VolumeListResponse) UnmarshalJSON(data []byte) (err error)
type VolumeNewParams ¶
type VolumeNewParams struct {
Size param.Field[int64] `json:"size,required"`
VMID param.Field[string] `json:"vm_id,required"`
}
func (VolumeNewParams) MarshalJSON ¶
func (r VolumeNewParams) MarshalJSON() (data []byte, err error)
type VolumeService ¶
type VolumeService struct {
Options []option.RequestOption
}
VolumeService contains methods and other services that help with interacting with the Nirvana Labs API.
Note, unlike clients, this service does not read variables from the environment automatically. You should not instantiate this service directly, and instead use the NewVolumeService method instead.
func NewVolumeService ¶
func NewVolumeService(opts ...option.RequestOption) (r *VolumeService)
NewVolumeService generates a new service that applies the given options to each request. These options are applied after the parent client's options (if there is one), and before any request-specific options.
func (*VolumeService) Delete ¶
func (r *VolumeService) Delete(ctx context.Context, volumeID string, opts ...option.RequestOption) (res *operations.Operation, err error)
Delete a Volume. Boot or data volumes can be deleted.
func (*VolumeService) Get ¶
func (r *VolumeService) Get(ctx context.Context, volumeID string, opts ...option.RequestOption) (res *Volume, err error)
Get a Volume.
func (*VolumeService) List ¶
func (r *VolumeService) List(ctx context.Context, opts ...option.RequestOption) (res *VolumeListResponse, err error)
List all volumes
func (*VolumeService) New ¶
func (r *VolumeService) New(ctx context.Context, body VolumeNewParams, opts ...option.RequestOption) (res *operations.Operation, err error)
Create a Volume. Only data volumes can be created.
func (*VolumeService) Update ¶
func (r *VolumeService) Update(ctx context.Context, volumeID string, body VolumeUpdateParams, opts ...option.RequestOption) (res *operations.Operation, err error)
Update a Volume. Boot or data volumes can be updated.
type VolumeUpdateParams ¶
func (VolumeUpdateParams) MarshalJSON ¶
func (r VolumeUpdateParams) MarshalJSON() (data []byte, err error)