Skip to content

drewmullen/harvester-go-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API client for harvester

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: v1beta1
  • Package version: 1.0.0
  • Generator version: 7.4.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import harvester "github.com/drewmullen/harvester-go-sdk"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value harvester.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), harvester.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value harvester.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), harvester.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identified by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using harvester.ContextOperationServerIndices and harvester.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), harvester.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), harvester.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
BackupsAPI CreateNamespacedVirtualMachineBackup Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups Create a Namespaced Virtual Machine Backup
BackupsAPI DeleteNamespacedVirtualMachineBackup Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups/{name} Delete a Namespaced Virtual Machine Backup
BackupsAPI ListNamespacedVirtualMachineBackup Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups List Namespaced Virtual Machine Backups
BackupsAPI ListVirtualMachineBackupForAllNamespaces Get /apis/harvesterhci.io/v1beta1/virtualmachinebackups List Virtual Machine Backups For All Namespaces
BackupsAPI PatchNamespacedVirtualMachineBackup Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups/{name} Patch a Namespaced Virtual Machine Backup
BackupsAPI ReadNamespacedVirtualMachineBackup Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups/{name} Read a Namespaced Virtual Machine Backup
BackupsAPI ReplaceNamespacedVirtualMachineBackup Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinebackups/{name} Replace a Namespaced Virtual Machine Backup
ImagesAPI CreateNamespacedVirtualMachineImage Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages Create a Namespaced Virtual Machine Image
ImagesAPI DeleteNamespacedVirtualMachineImage Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages/{name} Delete a Namespaced Virtual Machine Image
ImagesAPI ListNamespacedVirtualMachineImage Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages List Namespaced Virtual Machine Images
ImagesAPI ListVirtualMachineImageForAllNamespaces Get /apis/harvesterhci.io/v1beta1/virtualmachineimages List Virtual Machine Images For All Namespaces
ImagesAPI PatchNamespacedVirtualMachineImage Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages/{name} Patch a Namespaced Virtual Machine Image
ImagesAPI ReadNamespacedVirtualMachineImage Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages/{name} Read a Namespaced Virtual Machine Image
ImagesAPI ReplaceNamespacedVirtualMachineImage Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachineimages/{name} Replace a Namespaced Virtual Machine Image
MigrationsAPI CreateNamespacedVirtualMachineInstanceMigration Post /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations Create a Namespaced Virtual Machine Instance Migration
MigrationsAPI DeleteNamespacedVirtualMachineInstanceMigration Delete /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name} Delete a Namespaced Virtual Machine Instance Migration
MigrationsAPI ListNamespacedVirtualMachineInstanceMigration Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations List Namespaced Virtual Machine Instance Migrations
MigrationsAPI ListVirtualMachineInstanceMigrationForAllNamespaces Get /apis/kubevirt.io/v1/virtualmachineinstancemigrations List Virtual Machine Instance Migrations For All Namespaces
MigrationsAPI PatchNamespacedVirtualMachineInstanceMigration Patch /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name} Patch a Namespaced Virtual Machine Instance Migration
MigrationsAPI ReadNamespacedVirtualMachineInstanceMigration Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name} Read a Namespaced Virtual Machine Instance Migration
MigrationsAPI ReplaceNamespacedVirtualMachineInstanceMigration Put /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstancemigrations/{name} Replace a Namespaced Virtual Machine Instance Migration
NetworksAPI CreateNamespacedClusterNetwork Post /apis/network.harvesterhci.io/v1beta1/clusternetworks Create a Namespaced Cluster Network
NetworksAPI CreateNamespacedNetworkAttachmentDefinition Post /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions Create a Namespaced Network Attachment Definition
NetworksAPI CreateNamespacedNodeNetwork Post /apis/network.harvesterhci.io/v1beta1/nodenetworks Create a Namespaced Node Network
NetworksAPI DeleteNamespacedClusterNetwork Delete /apis/network.harvesterhci.io/v1beta1/clusternetworks/{name} Delete a Namespaced Cluster Network
NetworksAPI DeleteNamespacedNetworkAttachmentDefinition Delete /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name} Delete a Namespaced Network Attachment Definition
NetworksAPI DeleteNamespacedNodeNetwork Delete /apis/network.harvesterhci.io/v1beta1/nodenetworks/{name} Delete a Namespaced Node Network
NetworksAPI ListNamespacedClusterNetwork Get /apis/network.harvesterhci.io/v1beta1/clusternetworks List Namespaced Cluster Networks
NetworksAPI ListNamespacedNetworkAttachmentDefinition Get /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions List Namespaced Network Attachment Definitions
NetworksAPI ListNamespacedNodeNetwork Get /apis/network.harvesterhci.io/v1beta1/nodenetworks List Namespaced Node Networks
NetworksAPI ListNetworkAttachmentDefinitionForAllNamespaces Get /apis/k8s.cni.cncf.io/v1/network-attachment-definitions List Network Attachment Definitions For All Namespaces
NetworksAPI PatchNamespacedClusterNetwork Patch /apis/network.harvesterhci.io/v1beta1/clusternetworks/{name} Patch a Namespaced Cluster Network
NetworksAPI PatchNamespacedNetworkAttachmentDefinition Patch /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name} Patch a Namespaced Network Attachment Definition
NetworksAPI PatchNamespacedNodeNetwork Patch /apis/network.harvesterhci.io/v1beta1/nodenetworks/{name} Patch a Namespaced Node Network
NetworksAPI ReadNamespacedClusterNetwork Get /apis/network.harvesterhci.io/v1beta1/clusternetworks/{name} Read a Namespaced Cluster Network
NetworksAPI ReadNamespacedNetworkAttachmentDefinition Get /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name} Read a Namespaced Network Attachment Definition
NetworksAPI ReadNamespacedNodeNetwork Get /apis/network.harvesterhci.io/v1beta1/nodenetworks/{name} Read a Namespaced Node Network
NetworksAPI ReplaceNamespacedClusterNetwork Put /apis/network.harvesterhci.io/v1beta1/clusternetworks/{name} Replace a Namespaced Cluster Network
NetworksAPI ReplaceNamespacedNetworkAttachmentDefinition Put /apis/k8s.cni.cncf.io/v1/namespaces/{namespace}/network-attachment-definitions/{name} Replace a Namespaced Network Attachment Definition
NetworksAPI ReplaceNamespacedNodeNetwork Put /apis/network.harvesterhci.io/v1beta1/nodenetworks/{name} Replace a Namespaced Node Network
RestoresAPI CreateNamespacedVirtualMachineRestore Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores Create a Namespaced Virtual Machine Restore
RestoresAPI DeleteNamespacedVirtualMachineRestore Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores/{name} Delete a Namespaced Virtual Machine Restore
RestoresAPI ListNamespacedVirtualMachineRestore Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores List Namespaced Virtual Machine Restores
RestoresAPI ListVirtualMachineRestoreForAllNamespaces Get /apis/harvesterhci.io/v1beta1/virtualmachinerestores List Virtual Machine Restores For All Namespaces
RestoresAPI PatchNamespacedVirtualMachineRestore Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores/{name} Patch a Namespaced Virtual Machine Restore
RestoresAPI ReadNamespacedVirtualMachineRestore Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores/{name} Read a Namespaced Virtual Machine Restore
RestoresAPI ReplaceNamespacedVirtualMachineRestore Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinerestores/{name} Replace a Namespaced Virtual Machine Restore
SSHKeysAPI CreateNamespacedKeyPair Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs Create a Namespaced Key Pair
SSHKeysAPI DeleteNamespacedKeyPair Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs/{name} Delete a Namespaced Key Pair
SSHKeysAPI ListKeyPairForAllNamespaces Get /apis/harvesterhci.io/v1beta1/keypairs List Key Pairs For All Namespaces
SSHKeysAPI ListNamespacedKeyPair Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs List Namespaced Key Pairs
SSHKeysAPI PatchNamespacedKeyPair Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs/{name} Patch a Namespaced Key Pair
SSHKeysAPI ReadNamespacedKeyPair Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs/{name} Read a Namespaced Key Pair
SSHKeysAPI ReplaceNamespacedKeyPair Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/keypairs/{name} Replace a Namespaced Key Pair
SupportBundlesAPI CreateNamespacedSupportBundle Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles Create a Namespaced Support Bundle
SupportBundlesAPI DeleteNamespacedSupportBundle Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles/{name} Delete a Namespaced Support Bundle
SupportBundlesAPI ListNamespacedSupportBundle Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles List Namespaced Support Bundles
SupportBundlesAPI ListSupportBundleForAllNamespaces Get /apis/harvesterhci.io/v1beta1/supportbundles List Support Bundles For All Namespaces
SupportBundlesAPI PatchNamespacedSupportBundle Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles/{name} Patch a Namespaced Support Bundle
SupportBundlesAPI ReadNamespacedSupportBundle Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles/{name} Read a Namespaced Support Bundle
SupportBundlesAPI ReplaceNamespacedSupportBundle Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/supportbundles/{name} Replace a Namespaced Support Bundle
UpgradesAPI CreateNamespacedUpgrade Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades Create a Namespaced Upgrade
UpgradesAPI DeleteNamespacedUpgrade Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades/{name} Delete a Namespaced Upgrade
UpgradesAPI ListNamespacedUpgrade Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades List Namespaced Upgrades
UpgradesAPI ListUpgradeForAllNamespaces Get /apis/harvesterhci.io/v1beta1/upgrades List Upgrades For All Namespaces
UpgradesAPI PatchNamespacedUpgrade Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades/{name} Patch a Namespaced Upgrade
UpgradesAPI ReadNamespacedUpgrade Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades/{name} Read a Namespaced Upgrade
UpgradesAPI ReplaceNamespacedUpgrade Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/upgrades/{name} Replace a Namespaced Upgrade
VirtualMachineTemplatesAPI CreateNamespacedVirtualMachineTemplate Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates Create a Namespaced Virtual Machine Template
VirtualMachineTemplatesAPI CreateNamespacedVirtualMachineTemplateVersion Post /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions Create a Namespaced Virtual Machine Template Version
VirtualMachineTemplatesAPI DeleteNamespacedVirtualMachineTemplate Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates/{name} Delete a Namespaced Virtual Machine Template
VirtualMachineTemplatesAPI DeleteNamespacedVirtualMachineTemplateVersion Delete /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions/{name} Delete a Namespaced Virtual Machine Template Version
VirtualMachineTemplatesAPI ListNamespacedVirtualMachineTemplate Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates List Namespaced Virtual Machine Templates
VirtualMachineTemplatesAPI ListNamespacedVirtualMachineTemplateVersion Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions List Namespaced Virtual Machine Template Versions
VirtualMachineTemplatesAPI ListVirtualMachineTemplateForAllNamespaces Get /apis/harvesterhci.io/v1beta1/virtualmachinetemplates List Virtual Machine Templates For All Namespaces
VirtualMachineTemplatesAPI ListVirtualMachineTemplateVersionForAllNamespaces Get /apis/harvesterhci.io/v1beta1/virtualmachinetemplateversions List Virtual Machine Template Versions For All Namespaces
VirtualMachineTemplatesAPI PatchNamespacedVirtualMachineTemplate Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates/{name} Patch a Namespaced Virtual Machine Template
VirtualMachineTemplatesAPI PatchNamespacedVirtualMachineTemplateVersion Patch /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions/{name} Patch a Namespaced Virtual Machine Template Version
VirtualMachineTemplatesAPI ReadNamespacedVirtualMachineTemplate Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates/{name} Read a Namespaced Virtual Machine Template
VirtualMachineTemplatesAPI ReadNamespacedVirtualMachineTemplateVersion Get /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions/{name} Read a Namespaced Virtual Machine Template Version
VirtualMachineTemplatesAPI ReplaceNamespacedVirtualMachineTemplate Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplates/{name} Replace a Namespaced Virtual Machine Template
VirtualMachineTemplatesAPI ReplaceNamespacedVirtualMachineTemplateVersion Put /apis/harvesterhci.io/v1beta1/namespaces/{namespace}/virtualmachinetemplateversions/{name} Replace a Namespaced Virtual Machine Template Version
VirtualMachinesAPI CreateNamespacedVirtualMachine Post /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines Create a Namespaced Virtual Machine
VirtualMachinesAPI DeleteNamespacedVirtualMachine Delete /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name} Delete a Namespaced Virtual Machine
VirtualMachinesAPI ListNamespacedVirtualMachine Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines List Namespaced Virtual Machines
VirtualMachinesAPI ListNamespacedVirtualMachineInstance Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstances List Namespaced Virtual Machine Instances
VirtualMachinesAPI ListVirtualMachineForAllNamespaces Get /apis/kubevirt.io/v1/virtualmachines List Virtual Machines For All Namespaces
VirtualMachinesAPI ListVirtualMachineInstanceForAllNamespaces Get /apis/kubevirt.io/v1/virtualmachineinstances List Virtual Machine Instances For All Namespaces
VirtualMachinesAPI PatchNamespacedVirtualMachine Patch /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name} Patch a Namespaced Virtual Machine
VirtualMachinesAPI ReadNamespacedVirtualMachine Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name} Read a Namespaced Virtual Machine
VirtualMachinesAPI ReadNamespacedVirtualMachineInstance Get /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachineinstances/{name} Read a Namespaced Virtual Machine Instance
VirtualMachinesAPI ReplaceNamespacedVirtualMachine Put /apis/kubevirt.io/v1/namespaces/{namespace}/virtualmachines/{name} Replace a Namespaced Virtual Machine
VolumesAPI CreateNamespacedPersistentVolumeClaim Post /api/v1/namespaces/{namespace}/persistentvolumeclaims Create a Namespaced Persistent Volume Claim
VolumesAPI DeleteNamespacedPersistentVolumeClaim Delete /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} Delete a Namespaced Persistent Volume Claim
VolumesAPI ListNamespacedPersistentVolumeClaim Get /api/v1/namespaces/{namespace}/persistentvolumeclaims List Namespaced Persistent Volume Claims
VolumesAPI ListPersistentVolumeClaimForAllNamespaces Get /api/v1/persistentvolumeclaims List Persistent Volume Claims For All Namespaces
VolumesAPI PatchNamespacedPersistentVolumeClaim Patch /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} Patch a Namespaced Persistent Volume Claim
VolumesAPI ReadNamespacedPersistentVolumeClaim Get /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} Read a Namespaced Persistent Volume Claim
VolumesAPI ReplaceNamespacedPersistentVolumeClaim Put /api/v1/namespaces/{namespace}/persistentvolumeclaims/{name} Replace a Namespaced Persistent Volume Claim

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

Basic

  • Type: HTTP basic authentication

Example

auth := context.WithValue(context.Background(), harvester.ContextBasicAuth, harvester.BasicAuth{
	UserName: "username",
	Password: "password",
})
r, err := client.Service.Operation(auth, args)

Bearer

  • Type: HTTP Bearer token authentication

Example

auth := context.WithValue(context.Background(), harvester.ContextAccessToken, "BEARER_TOKEN_STRING")
r, err := client.Service.Operation(auth, args)

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published