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