Documentation
¶
Index ¶
- Constants
- type AdditionalParams
- type Deploy
- type Deployment
- type DeploymentError
- type DeploymentOption
- type DeploymentSpec
- type Error
- type ExtraConfig
- type FilterRequest
- type FilterResponse
- type Manager
- type NetworkMapping
- type OVFError
- type ParseIssue
- type Property
- type ResourceID
- type StorageGroupMapping
- type StorageMapping
- type Target
- type UnknownSection
Constants ¶
const ( ClassOvfParams = "com.vmware.vcenter.ovf.ovf_params" TypeDeploymentOptionParams = "DeploymentOptionParams" TypeExtraConfigParams = "ExtraConfigParams" TypeExtraConfigs = "ExtraConfigs" TypeIPAllocationParams = "IpAllocationParams" TypePropertyParams = "PropertyParams" TypeSizeParams = "SizeParams" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdditionalParams ¶
type AdditionalParams struct { Class string `json:"@class"` Type string `json:"type"` // DeploymentOptionParams SelectedKey string `json:"selected_key,omitempty"` DeploymentOptions []DeploymentOption `json:"deployment_options,omitempty"` // ExtraConfigs ExtraConfig []ExtraConfig `json:"extra_configs,omitempty"` // PropertyParams Properties []Property `json:"properties,omitempty"` // SizeParams ApproximateSparseDeploymentSize int64 `json:"approximate_sparse_deployment_size,omitempty"` VariableDiskSize bool `json:"variable_disk_size,omitempty"` ApproximateDownloadSize int64 `json:"approximate_download_size,omitempty"` ApproximateFlatDeploymentSize int64 `json:"approximate_flat_deployment_size,omitempty"` // IpAllocationParams SupportedAllocationScheme []string `json:"supported_allocation_scheme,omitempty"` SupportedIPProtocol []string `json:"supported_ip_protocol,omitempty"` SupportedIPAllocationPolicy []string `json:"supported_ip_allocation_policy,omitempty"` IPAllocationPolicy string `json:"ip_allocation_policy,omitempty"` IPProtocol string `json:"ip_protocol,omitempty"` // UnknownSections UnknownSections []UnknownSection `json:"unknown_sections,omitempty"` }
AdditionalParams are additional OVF parameters which can be specified for a deployment target. This structure is a union where based on Type, only one of each commented section will be set.
type Deploy ¶
type Deploy struct { DeploymentSpec `json:"deployment_spec,omitempty"` Target `json:"target,omitempty"` }
Deploy contains the information to start the deployment of a library OVF
type Deployment ¶
type Deployment struct { Succeeded bool `json:"succeeded,omitempty"` ResourceID *ResourceID `json:"resource_id,omitempty"` Error *DeploymentError `json:"error,omitempty"` }
Deployment is the results from issuing a library OVF deployment
type DeploymentError ¶
type DeploymentError struct {
Errors []OVFError `json:"errors,omitempty"`
}
DeploymentError is an error that occurs when deploying and OVF from a library item.
func (*DeploymentError) Error ¶
func (e *DeploymentError) Error() string
Error implements the error interface
type DeploymentOption ¶
type DeploymentOption struct { Key string `json:"key,omitempty"` Label string `json:"label,omitempty"` Description string `json:"description,omitempty"` DefaultChoice bool `json:"default_choice,omitempty"` }
DeploymentOption contains the information about a deployment option as defined in the OVF specification
type DeploymentSpec ¶
type DeploymentSpec struct { Name string `json:"name,omitempty"` Annotation string `json:"annotation,omitempty"` AcceptAllEULA bool `json:"accept_all_EULA,omitempty"` NetworkMappings []NetworkMapping `json:"network_mappings,omitempty"` StorageMappings []StorageMapping `json:"storage_mappings,omitempty"` StorageProvisioning string `json:"storage_provisioning,omitempty"` StorageProfileID string `json:"storage_profile_id,omitempty"` Locale string `json:"locale,omitempty"` Flags []string `json:"flags,omitempty"` AdditionalParams []AdditionalParams `json:"additional_parameters,omitempty"` DefaultDatastoreID string `json:"default_datastore_id,omitempty"` }
DeploymentSpec is the deployment specification for the deployment
type Error ¶
type Error struct { Class string `json:"@class,omitempty"` Messages []rest.LocalizableMessage `json:"messages,omitempty"` }
Error is a SERVER error
type ExtraConfig ¶
type ExtraConfig struct { Key string `json:"key,omitempty"` Value string `json:"value,omitempty"` VirtualSystemID string `json:"virtual_system_id,omitempty"` }
ExtraConfig contains information about a vmw:ExtraConfig OVF element
type FilterRequest ¶
type FilterRequest struct {
Target `json:"target,omitempty"`
}
FilterRequest contains the information to start a vcenter filter call
type FilterResponse ¶
type FilterResponse struct { EULAs []string `json:"EULAs,omitempty"` AdditionalParams []AdditionalParams `json:"additional_params,omitempty"` Annotation string `json:"Annotation,omitempty"` Name string `json:"name,omitempty"` Networks []string `json:"Networks,omitempty"` StorageGroups []string `json:"storage_groups,omitempty"` }
FilterResponse returns information from the vcenter filter call
type Manager ¶
Manager extends rest.Client, adding content library related methods.
func NewManager ¶
NewManager creates a new Manager instance with the given client.
func (*Manager) DeployLibraryItem ¶
func (c *Manager) DeployLibraryItem(ctx context.Context, libraryItemID string, deploy Deploy) (*types.ManagedObjectReference, error)
DeployLibraryItem deploys a library OVF
func (*Manager) FilterLibraryItem ¶
func (c *Manager) FilterLibraryItem(ctx context.Context, libraryItemID string, filter FilterRequest) (FilterResponse, error)
FilterLibraryItem deploys a library OVF
type NetworkMapping ¶
NetworkMapping specifies the target network to use for sections of type ovf:NetworkSection in the OVF descriptor
type OVFError ¶
type OVFError struct { Category string `json:"category,omitempty"` Error *Error `json:"error,omitempty"` Issues []ParseIssue `json:"issues,omitempty"` Message *rest.LocalizableMessage `json:"message,omitempty"` }
OVFError is a list of errors from create or deploy
type ParseIssue ¶
type ParseIssue struct { Category string `json:"@classcategory,omitempty"` File string `json:"file,omitempty"` LineNumber int64 `json:"line_number,omitempty"` ColumnNumber int64 `json:"column_number,omitempty"` Message rest.LocalizableMessage `json:"message,omitempty"` }
ParseIssue is a parse issue struct
type Property ¶
type Property struct { Category string `json:"category,omitempty"` ClassID string `json:"class_id,omitempty"` Description string `json:"description,omitempty"` ID string `json:"id,omitempty"` InstanceID string `json:"instance_id,omitempty"` Label string `json:"label,omitempty"` Type string `json:"type,omitempty"` UIOptional bool `json:"ui_optional,omitempty"` Value string `json:"value,omitempty"` }
Property contains information about a property in an OVF package
type ResourceID ¶
ResourceID is a managed object reference for a deployed resource.
type StorageGroupMapping ¶
type StorageGroupMapping struct { Type string `json:"type"` StorageProfileID string `json:"storage_profile_id,omitempty"` DatastoreID string `json:"datastore_id,omitempty"` Provisioning string `json:"provisioning,omitempty"` }
StorageGroupMapping defines the storage deployment target and storage provisioning type for a section of type vmw:StorageGroupSection in the OVF descriptor
type StorageMapping ¶
type StorageMapping struct { Key string `json:"key"` Value StorageGroupMapping `json:"value"` }
StorageMapping specifies the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor
type Target ¶
type Target struct { ResourcePoolID string `json:"resource_pool_id,omitempty"` HostID string `json:"host_id,omitempty"` FolderID string `json:"folder_id,omitempty"` }
Target is the target for the deployment
type UnknownSection ¶
type UnknownSection struct { Tag string `json:"tag,omitempty"` Info string `json:"info,omitempty"` }
UnknownSection contains information about an unknown section in an OVF package