Documentation
¶
Index ¶
- Constants
- type CPU
- type CPUParam
- type Error
- type OSImage
- type OSImageService
- type Ram
- type RamParam
- type RegionName
- type ResourceStatus
- type SSHKeyParam
- type VM
- type VMList
- type VMNewParams
- type VMNewParamsBootVolume
- type VMNewParamsDataVolume
- 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 VMUpdateParamsBootVolume
- type VMUpdateParamsDataVolume
Constants ¶
const RegionNameAmsterdam = shared.RegionNameAmsterdam
This is an alias to an internal value.
const RegionNameChicago = shared.RegionNameChicago
This is an alias to an internal value.
const RegionNameFrankfurt = shared.RegionNameFrankfurt
This is an alias to an internal value.
const RegionNameHongkong = shared.RegionNameHongkong
This is an alias to an internal value.
const RegionNameLondon = shared.RegionNameLondon
This is an alias to an internal value.
const RegionNameMumbai = shared.RegionNameMumbai
This is an alias to an internal value.
const RegionNameSaopaulo = shared.RegionNameSaopaulo
This is an alias to an internal value.
const RegionNameSeattle = shared.RegionNameSeattle
This is an alias to an internal value.
const RegionNameSiliconvalley = shared.RegionNameSiliconvalley
This is an alias to an internal value.
const RegionNameSingapore = shared.RegionNameSingapore
This is an alias to an internal value.
const RegionNameStockholm = shared.RegionNameStockholm
This is an alias to an internal value.
const RegionNameSydney = shared.RegionNameSydney
This is an alias to an internal value.
const RegionNameTokyo = shared.RegionNameTokyo
This is an alias to an internal value.
const RegionNameWashingtondc = shared.RegionNameWashingtondc
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 CPU ¶
type CPU struct {
Cores int64 `json:"cores,required"`
JSON cpuJSON `json:"-"`
}
CPU details.
func (*CPU) UnmarshalJSON ¶
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 OSImageService ¶
type OSImageService struct {
Options []option.RequestOption
}
OSImageService 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 NewOSImageService method instead.
func NewOSImageService ¶
func NewOSImageService(opts ...option.RequestOption) (r *OSImageService)
NewOSImageService 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 (*OSImageService) List ¶
func (r *OSImageService) List(ctx context.Context, opts ...option.RequestOption) (res *[]OSImage, err error)
List all OS Images
type Ram ¶
type Ram struct {
// RAM size
Size int64 `json:"size,required"`
JSON ramJSON `json:"-"`
}
RAM details.
func (*Ram) 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 VM ¶
type VM struct {
ID string `json:"id,required"`
// Volume details.
BootVolume volumes.Volume `json:"boot_volume,required"`
// CPU details.
CPUConfig CPU `json:"cpu_config,required"`
CreatedAt string `json:"created_at,required"`
DataVolumes []volumes.Volume `json:"data_volumes,required"`
// RAM details.
MemConfig Ram `json:"mem_config,required"`
Name string `json:"name,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 VMList ¶
type VMList struct {
Items []VM `json:"items,required"`
JSON vmListJSON `json:"-"`
}
func (*VMList) UnmarshalJSON ¶
type VMNewParams ¶
type VMNewParams struct {
// Boot volume create request.
BootVolume param.Field[VMNewParamsBootVolume] `json:"boot_volume,required"`
// CPU details.
CPU param.Field[CPUParam] `json:"cpu,required"`
Name param.Field[string] `json:"name,required"`
NeedPublicIP param.Field[bool] `json:"need_public_ip,required"`
OSImageName param.Field[string] `json:"os_image_name,required"`
Ports param.Field[[]string] `json:"ports,required"`
// RAM details.
Ram param.Field[RamParam] `json:"ram,required"`
Region param.Field[shared.RegionName] `json:"region,required"`
SourceAddress param.Field[string] `json:"source_address,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 VMNewParamsDataVolume ¶
type VMNewParamsDataVolume struct {
Size param.Field[int64] `json:"size,required"`
// Storage type.
Type param.Field[volumes.StorageType] `json:"type"`
}
VM data volume create request.
func (VMNewParamsDataVolume) MarshalJSON ¶
func (r VMNewParamsDataVolume) MarshalJSON() (data []byte, err error)
type VMService ¶
type VMService struct {
Options []option.RequestOption
OSImages *OSImageService
}
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 {
// Boot volume create request.
BootVolume param.Field[VMUpdateParamsBootVolume] `json:"boot_volume"`
// CPU details.
CPU param.Field[CPUParam] `json:"cpu"`
DataVolumes param.Field[[]VMUpdateParamsDataVolume] `json:"data_volumes"`
// RAM details.
Ram param.Field[RamParam] `json:"ram"`
}
func (VMUpdateParams) MarshalJSON ¶
func (r VMUpdateParams) MarshalJSON() (data []byte, err error)
type VMUpdateParamsBootVolume ¶
Boot volume create request.
func (VMUpdateParamsBootVolume) MarshalJSON ¶
func (r VMUpdateParamsBootVolume) MarshalJSON() (data []byte, err error)
type VMUpdateParamsDataVolume ¶
type VMUpdateParamsDataVolume struct {
Size param.Field[int64] `json:"size,required"`
// Storage type.
Type param.Field[volumes.StorageType] `json:"type"`
}
VM data volume create request.
func (VMUpdateParamsDataVolume) MarshalJSON ¶
func (r VMUpdateParamsDataVolume) MarshalJSON() (data []byte, err error)