Documentation ¶
Overview ¶
Package govcd provides a simple binding for vCloud Director REST APIs.
Contains auxiliary functions to show library entities structure. Used for debugging and testing.
Index ¶
- Constants
- Variables
- func ContainsNotFound(err error) bool
- func GetExternalNetworkByName(vcdClient *VCDClient, networkName string) (*types.ExternalNetworkReference, error)deprecated
- func GetNetworkPoolByHREF(client *VCDClient, href string) (*types.VMWNetworkPool, error)
- func GetStorageProfileByHref(vcdClient *VCDClient, url string) (*types.VdcStorageProfile, error)
- func IsNotFound(err error) bool
- func LogAdminCatalog(catalog types.AdminCatalog)
- func LogAdminOrg(org types.AdminOrg)
- func LogCatalog(catalog types.Catalog)
- func LogCatalogItem(catalogItem types.CatalogItem)
- func LogDisk(disk types.Disk)
- func LogExternalNetwork(network types.ExternalNetwork)
- func LogNetwork(conf types.OrgVDCNetwork)
- func LogOrg(org types.Org)
- func LogTask(task *types.Task, howManyTimes int, elapsed time.Duration, first, last bool)
- func LogUser(user types.User)
- func LogVapp(vapp types.VApp)
- func LogVdc(vdc types.Vdc)
- func ParseErr(resp *http.Response, errType error) error
- func QueryDistributedPortGroup(vcdCli *VCDClient, name string) ([]*types.PortGroupRecordType, error)
- func QueryNetworkPoolByName(vcdCli *VCDClient, name string) ([]*types.QueryResultNetworkPoolRecordType, error)
- func QueryNetworkPortGroup(vcdCli *VCDClient, name string) ([]*types.PortGroupRecordType, error)
- func QueryOrgVdcNetworkByName(vcdCli *VCDClient, name string) ([]*types.QueryResultOrgVdcNetworkRecordType, error)
- func QueryPortGroups(vcdCli *VCDClient, filter string) ([]*types.PortGroupRecordType, error)
- func QueryProviderVdcByName(vcdCli *VCDClient, name string) ([]*types.QueryResultVMWProviderVdcRecordType, error)
- func QueryProviderVdcStorageProfileByName(vcdCli *VCDClient, name string) ([]*types.QueryResultProviderVdcStorageProfileRecordType, error)
- func QueryVirtualCenters(vcdClient *VCDClient, filter string) ([]*types.QueryResultVirtualCenterRecordType, error)
- func RemoveMediaImageIfExists(vdc Vdc, mediaName string) error
- func RemoveOrgVdcNetworkIfExists(vdc Vdc, networkName string) error
- func ShowAdminCatalog(catalog types.AdminCatalog)
- func ShowAdminOrg(org types.AdminOrg)
- func ShowCatalog(catalog types.Catalog)
- func ShowCatalogItem(catalogItem types.CatalogItem)
- func ShowDisk(disk types.Disk)
- func ShowExternalNetwork(network types.ExternalNetwork)
- func ShowNetwork(conf types.OrgVDCNetwork)
- func ShowOrg(org types.Org)
- func ShowTask(task *types.Task, howManyTimes int, elapsed time.Duration, first, last bool)
- func ShowUser(user types.User)
- func ShowVapp(vapp types.VApp)
- func ShowVdc(vdc types.Vdc)
- func SimpleLogTask(task *types.Task, howManyTimes int, elapsed time.Duration, first, last bool)
- func SimpleShowTask(task *types.Task, howManyTimes int, elapsed time.Duration, first, last bool)
- type AdminCatalog
- func (adminCatalog *AdminCatalog) Delete(force, recursive bool) error
- func (adminCatalog *AdminCatalog) GetMediaByHref(mediaHref string) (*Media, error)
- func (adminCatalog *AdminCatalog) GetMediaById(mediaId string) (*Media, error)
- func (adminCatalog *AdminCatalog) GetMediaByName(mediaName string, refresh bool) (*Media, error)
- func (adminCatalog *AdminCatalog) GetMediaByNameOrId(identifier string, refresh bool) (*Media, error)
- func (adminCatalog *AdminCatalog) QueryMedia(mediaName string) (*MediaRecord, error)
- func (adminCatalog *AdminCatalog) Refresh() error
- func (adminCatalog *AdminCatalog) RemoveMediaIfExists(mediaName string) error
- func (adminCatalog *AdminCatalog) Update() error
- func (adminCatalog *AdminCatalog) UploadOvf(ovaFileName, itemName, description string, uploadPieceSize int64) (UploadTask, error)
- type AdminOrg
- func (adminOrg *AdminOrg) CreateCatalog(name, description string) (AdminCatalog, error)
- func (adminOrg *AdminOrg) CreateUser(userConfiguration *types.User) (*OrgUser, error)
- func (adminOrg *AdminOrg) CreateUserSimple(userData OrgUserConfiguration) (*OrgUser, error)
- func (adminOrg *AdminOrg) CreateVdc(vdcConfiguration *types.VdcConfiguration) (Task, error)
- func (adminOrg *AdminOrg) CreateVdcWait(vdcDefinition *types.VdcConfiguration) error
- func (adminOrg *AdminOrg) Delete(force bool, recursive bool) error
- func (adminOrg *AdminOrg) Disable() error
- func (adminOrg *AdminOrg) FetchUserByHref(href string) (*OrgUser, error)
- func (adminOrg *AdminOrg) FetchUserById(id string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) FetchUserByName(name string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) FetchUserByNameOrId(identifier string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) FindAdminCatalog(catalogName string) (AdminCatalog, error)
- func (adminOrg *AdminOrg) FindAdminCatalogRecords(name string) ([]*types.AdminCatalogRecord, error)
- func (adminOrg *AdminOrg) FindCatalog(catalogName string) (Catalog, error)
- func (adminOrg *AdminOrg) GetAdminCatalogByHref(catalogHref string) (*AdminCatalog, error)
- func (adminOrg *AdminOrg) GetAdminCatalogById(catalogId string, refresh bool) (*AdminCatalog, error)
- func (adminOrg *AdminOrg) GetAdminCatalogByName(catalogName string, refresh bool) (*AdminCatalog, error)
- func (adminOrg *AdminOrg) GetAdminCatalogByNameOrId(identifier string, refresh bool) (*AdminCatalog, error)
- func (adminOrg *AdminOrg) GetAdminVDCByHref(vdcHref string) (*AdminVdc, error)
- func (adminOrg *AdminOrg) GetAdminVDCById(vdcId string, refresh bool) (*AdminVdc, error)
- func (adminOrg *AdminOrg) GetAdminVDCByName(vdcName string, refresh bool) (*AdminVdc, error)
- func (adminOrg *AdminOrg) GetAdminVDCByNameOrId(identifier string, refresh bool) (*AdminVdc, error)
- func (adminOrg *AdminOrg) GetAdminVdcByName(vdcname string) (AdminVdc, error)
- func (adminOrg *AdminOrg) GetCatalogByHref(catalogHref string) (*Catalog, error)
- func (adminOrg *AdminOrg) GetCatalogById(catalogId string, refresh bool) (*Catalog, error)
- func (adminOrg *AdminOrg) GetCatalogByName(catalogName string, refresh bool) (*Catalog, error)
- func (adminOrg *AdminOrg) GetCatalogByNameOrId(identifier string, refresh bool) (*Catalog, error)
- func (adminOrg *AdminOrg) GetRole(roleName string) (*types.Reference, error)
- func (adminOrg *AdminOrg) GetRoleReference(roleName string) (*types.Reference, error)
- func (adminOrg *AdminOrg) GetUserByHref(href string) (*OrgUser, error)
- func (adminOrg *AdminOrg) GetUserById(id string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) GetUserByName(name string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) GetUserByNameOrId(identifier string, refresh bool) (*OrgUser, error)
- func (adminOrg *AdminOrg) GetVDCByHref(vdcHref string) (*Vdc, error)
- func (adminOrg *AdminOrg) GetVDCById(vdcId string, refresh bool) (*Vdc, error)
- func (adminOrg *AdminOrg) GetVDCByName(vdcName string, refresh bool) (*Vdc, error)
- func (adminOrg *AdminOrg) GetVDCByNameOrId(identifier string, refresh bool) (*Vdc, error)
- func (adminOrg *AdminOrg) GetVdcByName(vdcname string) (Vdc, error)
- func (adminOrg *AdminOrg) Refresh() error
- func (adminOrg *AdminOrg) Update() (Task, error)
- type AdminVdc
- type Catalog
- func (catalog *Catalog) Delete(force, recursive bool) error
- func (cat *Catalog) FindCatalogItem(catalogItemName string) (CatalogItem, error)
- func (cat *Catalog) GetCatalogItemByHref(catalogItemHref string) (*CatalogItem, error)
- func (cat *Catalog) GetCatalogItemById(catalogItemId string, refresh bool) (*CatalogItem, error)
- func (cat *Catalog) GetCatalogItemByName(catalogItemName string, refresh bool) (*CatalogItem, error)
- func (cat *Catalog) GetCatalogItemByNameOrId(identifier string, refresh bool) (*CatalogItem, error)
- func (cat *Catalog) GetMediaByHref(mediaHref string) (*Media, error)
- func (catalog *Catalog) GetMediaById(mediaId string) (*Media, error)
- func (cat *Catalog) GetMediaByName(mediaName string, refresh bool) (*Media, error)
- func (cat *Catalog) GetMediaByNameOrId(identifier string, refresh bool) (*Media, error)
- func (catalog *Catalog) QueryMedia(mediaName string) (*MediaRecord, error)
- func (cat *Catalog) Refresh() error
- func (cat *Catalog) UploadMediaImage(mediaName, mediaDescription, filePath string, uploadPieceSize int64) (UploadTask, error)
- func (cat *Catalog) UploadOvf(ovaFileName, itemName, description string, uploadPieceSize int64) (UploadTask, error)
- type CatalogItem
- type Client
- func (client *Client) ExecuteParamRequestWithCustomError(pathURL string, params map[string]string, ...) (*http.Response, error)
- func (client *Client) ExecuteRequest(pathURL, requestType, contentType, errorMessage string, ...) (*http.Response, error)
- func (client *Client) ExecuteRequestWithCustomError(pathURL, requestType, contentType, errorMessage string, payload interface{}, ...) (*http.Response, error)
- func (client *Client) ExecuteRequestWithoutResponse(pathURL, requestType, contentType, errorMessage string, payload interface{}) error
- func (client *Client) ExecuteTaskRequest(pathURL, requestType, contentType, errorMessage string, payload interface{}) (Task, error)
- func (cli *Client) FindVMByHREF(vmHREF string) (VM, error)deprecated
- func (client *Client) GetVMByHref(vmHref string) (*VM, error)
- func (cli *Client) NewRequest(params map[string]string, method string, reqUrl url.URL, body io.Reader) *http.Request
- func (cli *Client) NewRequestWitNotEncodedParams(params map[string]string, notEncodedParams map[string]string, method string, ...) *http.Request
- func (client *Client) QueryWithNotEncodedParams(params map[string]string, notEncodedParams map[string]string) (Results, error)
- type DhcpSettings
- type Disk
- type DiskRecord
- type EdgeGateway
- func (egw *EdgeGateway) AddDNATRule(ruleDetails NatRule) (*types.NatRule, error)
- func (egw *EdgeGateway) AddDhcpPool(network *types.OrgVDCNetwork, dhcppool []interface{}) (Task, error)
- func (egw *EdgeGateway) AddIpsecVPN(ipsecVPNConfig *types.EdgeGatewayServiceConfiguration) (Task, error)
- func (egw *EdgeGateway) AddNATMapping(natType, externalIP, internalIP string) (Task, error)deprecated
- func (egw *EdgeGateway) AddNATPortMapping(...) (Task, error)deprecated
- func (egw *EdgeGateway) AddNATPortMappingWithUplink(network *types.OrgVDCNetwork, ...) (Task, error)deprecated
- func (egw *EdgeGateway) AddNATRule(network *types.OrgVDCNetwork, natType, externalIP, internalIP string) (Task, error)deprecated
- func (egw *EdgeGateway) AddNATRuleAsync(ruleDetails NatRule) (Task, error)
- func (egw *EdgeGateway) AddSNATRule(networkHref, externalIP, internalIP, description string) (*types.NatRule, error)
- func (egw *EdgeGateway) Create1to1Mapping(internal, external, description string) (Task, error)
- func (egw *EdgeGateway) CreateFirewallRules(defaultAction string, rules []*types.FirewallRule) (Task, error)
- func (egw *EdgeGateway) CreateLbAppProfile(lbAppProfileConfig *types.LbAppProfile) (*types.LbAppProfile, error)
- func (egw *EdgeGateway) CreateLbAppRule(lbAppRuleConfig *types.LbAppRule) (*types.LbAppRule, error)
- func (egw *EdgeGateway) CreateLbServerPool(lbPoolConfig *types.LbPool) (*types.LbPool, error)
- func (egw *EdgeGateway) CreateLbServiceMonitor(lbMonitorConfig *types.LbMonitor) (*types.LbMonitor, error)
- func (egw *EdgeGateway) CreateLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) (*types.LbVirtualServer, error)
- func (egw *EdgeGateway) CreateNsxvFirewallRule(firewallRuleConfig *types.EdgeFirewallRule, aboveRuleId string) (*types.EdgeFirewallRule, error)
- func (egw *EdgeGateway) CreateNsxvNatRule(natRuleConfig *types.EdgeNatRule) (*types.EdgeNatRule, error)
- func (egw *EdgeGateway) Delete(force bool, recursive bool) error
- func (egw *EdgeGateway) DeleteAsync(force bool, recursive bool) (Task, error)
- func (egw *EdgeGateway) DeleteLbAppProfile(lbAppProfileConfig *types.LbAppProfile) error
- func (egw *EdgeGateway) DeleteLbAppProfileById(id string) error
- func (egw *EdgeGateway) DeleteLbAppProfileByName(name string) error
- func (egw *EdgeGateway) DeleteLbAppRule(lbAppRuleConfig *types.LbAppRule) error
- func (egw *EdgeGateway) DeleteLbAppRuleById(id string) error
- func (egw *EdgeGateway) DeleteLbAppRuleByName(name string) error
- func (egw *EdgeGateway) DeleteLbServerPool(lbPoolConfig *types.LbPool) error
- func (egw *EdgeGateway) DeleteLbServerPoolById(id string) error
- func (egw *EdgeGateway) DeleteLbServerPoolByName(name string) error
- func (egw *EdgeGateway) DeleteLbServiceMonitor(lbMonitorConfig *types.LbMonitor) error
- func (egw *EdgeGateway) DeleteLbServiceMonitorById(id string) error
- func (egw *EdgeGateway) DeleteLbServiceMonitorByName(name string) error
- func (egw *EdgeGateway) DeleteLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) error
- func (egw *EdgeGateway) DeleteLbVirtualServerById(id string) error
- func (egw *EdgeGateway) DeleteLbVirtualServerByName(name string) error
- func (egw *EdgeGateway) DeleteNsxvFirewallRuleById(id string) error
- func (egw *EdgeGateway) DeleteNsxvNatRuleById(id string) error
- func (egw *EdgeGateway) GetAllNsxvFirewallRules() ([]*types.EdgeFirewallRule, error)
- func (egw *EdgeGateway) GetAnyVnicIndexByNetworkName(networkName string) (*int, string, error)
- func (egw *EdgeGateway) GetFirewallConfig() (*types.FirewallConfigWithXml, error)
- func (egw *EdgeGateway) GetLBGeneralParams() (*types.LbGeneralParamsWithXml, error)
- func (egw *EdgeGateway) GetLbAppProfileById(id string) (*types.LbAppProfile, error)
- func (egw *EdgeGateway) GetLbAppProfileByName(name string) (*types.LbAppProfile, error)
- func (egw *EdgeGateway) GetLbAppRuleById(id string) (*types.LbAppRule, error)
- func (egw *EdgeGateway) GetLbAppRuleByName(name string) (*types.LbAppRule, error)
- func (egw *EdgeGateway) GetLbServerPoolById(id string) (*types.LbPool, error)
- func (egw *EdgeGateway) GetLbServerPoolByName(name string) (*types.LbPool, error)
- func (egw *EdgeGateway) GetLbServiceMonitorById(id string) (*types.LbMonitor, error)
- func (egw *EdgeGateway) GetLbServiceMonitorByName(name string) (*types.LbMonitor, error)
- func (egw *EdgeGateway) GetLbVirtualServerById(id string) (*types.LbVirtualServer, error)
- func (egw *EdgeGateway) GetLbVirtualServerByName(name string) (*types.LbVirtualServer, error)
- func (egw *EdgeGateway) GetNatRule(id string) (*types.NatRule, error)
- func (egw *EdgeGateway) GetNetworkNameAndTypeByVnicIndex(vNicIndex int) (string, string, error)
- func (egw *EdgeGateway) GetNetworks() ([]SimpleNetworkIdentifier, error)
- func (egw *EdgeGateway) GetNsxvFirewallRuleById(id string) (*types.EdgeFirewallRule, error)
- func (egw *EdgeGateway) GetNsxvNatRuleById(id string) (*types.EdgeNatRule, error)
- func (egw *EdgeGateway) GetVnicIndexByNetworkNameAndType(networkName, networkType string) (*int, error)
- func (egw *EdgeGateway) HasAdvancedNetworking() bool
- func (egw *EdgeGateway) HasDefaultGateway() bool
- func (egw *EdgeGateway) Refresh() error
- func (egw *EdgeGateway) Remove1to1Mapping(internal, external string) (Task, error)
- func (egw *EdgeGateway) RemoveIpsecVPN() (Task, error)
- func (egw *EdgeGateway) RemoveNATMapping(natType, externalIP, internalIP, port string) (Task, error)deprecated
- func (egw *EdgeGateway) RemoveNATPortMapping(natType, externalIP, externalPort, internalIP, internalPort string) (Task, error)deprecated
- func (egw *EdgeGateway) RemoveNATRule(id string) error
- func (egw *EdgeGateway) RemoveNATRuleAsync(id string) (Task, error)
- func (egw *EdgeGateway) UpdateFirewallConfig(enabled, defaultLoggingEnabled bool, defaultAction string) (*types.FirewallConfigWithXml, error)
- func (egw *EdgeGateway) UpdateLBGeneralParams(enabled, accelerationEnabled, loggingEnabled bool, logLevel string) (*types.LbGeneralParamsWithXml, error)
- func (egw *EdgeGateway) UpdateLbAppProfile(lbAppProfileConfig *types.LbAppProfile) (*types.LbAppProfile, error)
- func (egw *EdgeGateway) UpdateLbAppRule(lbAppRuleConfig *types.LbAppRule) (*types.LbAppRule, error)
- func (egw *EdgeGateway) UpdateLbServerPool(lbPoolConfig *types.LbPool) (*types.LbPool, error)
- func (egw *EdgeGateway) UpdateLbServiceMonitor(lbMonitorConfig *types.LbMonitor) (*types.LbMonitor, error)
- func (egw *EdgeGateway) UpdateLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) (*types.LbVirtualServer, error)
- func (egw *EdgeGateway) UpdateNatRule(natRule *types.NatRule) (*types.NatRule, error)
- func (egw *EdgeGateway) UpdateNatRuleAsync(natRule *types.NatRule) (Task, error)
- func (egw *EdgeGateway) UpdateNsxvFirewallRule(firewallRuleConfig *types.EdgeFirewallRule) (*types.EdgeFirewallRule, error)
- func (egw *EdgeGateway) UpdateNsxvNatRule(natRuleConfig *types.EdgeNatRule) (*types.EdgeNatRule, error)
- type EdgeGatewayCreation
- type EjectTask
- type Envelope
- type ExternalNetwork
- type InspectionFunc
- type Media
- func (media *Media) AddMetadata(key string, value string) (*Media, error)
- func (media *Media) AddMetadataAsync(key string, value string) (Task, error)
- func (media *Media) Delete() (Task, error)
- func (media *Media) DeleteMetadata(key string) error
- func (media *Media) DeleteMetadataAsync(key string) (Task, error)
- func (media *Media) GetMetadata() (*types.Metadata, error)
- func (media *Media) Refresh() error
- type MediaItemdeprecated
- func NewMediaItem(vdc *Vdc) *MediaItemdeprecated
- func (mediaItem *MediaItem) AddMetadata(key string, value string) (*MediaItem, error)
- func (mediaItem *MediaItem) AddMetadataAsync(key string, value string) (Task, error)
- func (mediaItem *MediaItem) Delete() (Task, error)
- func (mediaItem *MediaItem) DeleteMetadata(key string) error
- func (mediaItem *MediaItem) DeleteMetadataAsync(key string) (Task, error)
- func (mediaItem *MediaItem) GetMetadata() (*types.Metadata, error)
- func (mediaItem *MediaItem) Refresh() error
- type MediaRecord
- func (mediaRecord *MediaRecord) AddMetadata(key string, value string) (*MediaRecord, error)
- func (mediaRecord *MediaRecord) AddMetadataAsync(key string, value string) (Task, error)
- func (mediaRecord *MediaRecord) Delete() (Task, error)
- func (mediaRecord *MediaRecord) DeleteMetadata(key string) error
- func (mediaRecord *MediaRecord) DeleteMetadataAsync(key string) (Task, error)
- func (mediaRecord *MediaRecord) GetMetadata() (*types.Metadata, error)
- func (mediaRecord *MediaRecord) Refresh() error
- type NatRule
- type Org
- func (org *Org) CreateCatalog(name, description string) (Catalog, error)
- func (org *Org) FindCatalog(catalogName string) (Catalog, error)
- func (org *Org) GetCatalogByHref(catalogHref string) (*Catalog, error)
- func (org *Org) GetCatalogById(catalogId string, refresh bool) (*Catalog, error)
- func (org *Org) GetCatalogByName(catalogName string, refresh bool) (*Catalog, error)
- func (org *Org) GetCatalogByNameOrId(identifier string, refresh bool) (*Catalog, error)
- func (org *Org) GetVDCByHref(vdcHref string) (*Vdc, error)
- func (org *Org) GetVDCById(vdcId string, refresh bool) (*Vdc, error)
- func (org *Org) GetVDCByName(vdcName string, refresh bool) (*Vdc, error)
- func (org *Org) GetVDCByNameOrId(identifier string, refresh bool) (*Vdc, error)
- func (org *Org) GetVdcByName(vdcname string) (Vdc, error)
- func (org *Org) Refresh() error
- type OrgUser
- func (user *OrgUser) ChangePassword(newPass string) error
- func (user *OrgUser) ChangeRole(roleName string) error
- func (user *OrgUser) Delete(takeOwnership bool) error
- func (user *OrgUser) Disable() error
- func (user *OrgUser) Enable() error
- func (user *OrgUser) GetRoleName() string
- func (user *OrgUser) TakeOwnership() error
- func (user *OrgUser) Unlock() error
- func (user *OrgUser) Update() error
- func (user *OrgUser) UpdateSimple(userData OrgUserConfiguration) error
- type OrgUserConfiguration
- type OrgVDCNetwork
- type OrgVdcRecord
- type Results
- type SimpleNetworkIdentifier
- type SupportedVersions
- type Task
- func CreateAndConfigureEdgeGatewayAsync(vcdClient *VCDClient, orgName, vdcName, egwName string, ...) (Task, error)
- func CreateEdgeGatewayAsync(vcdClient *VCDClient, egwc EdgeGatewayCreation) (Task, error)
- func CreateExternalNetwork(vcdClient *VCDClient, externalNetworkData *types.ExternalNetwork) (Task, error)
- func CreateOrg(vcdClient *VCDClient, name string, fullName string, description string, ...) (Task, error)
- func NewTask(cli *Client) *Task
- type UploadTask
- type VApp
- func (vapp *VApp) AddIsolatedNetwork(newIsolatedNetworkSettings *VappNetworkSettings) (Task, error)
- func (vapp *VApp) AddMetadata(key string, value string) (Task, error)
- func (vapp *VApp) AddNewVM(name string, vappTemplate VAppTemplate, ...) (Task, error)
- func (vapp *VApp) AddRAWNetworkConfig(orgvdcnetworks []*types.OrgVDCNetwork) (Task, error)
- func (vapp *VApp) AddVM(orgVdcNetworks []*types.OrgVDCNetwork, vappNetworkName string, ...) (Task, error)deprecated
- func (vapp *VApp) BlockWhileStatus(unwantedStatus string, timeOutAfterSeconds int) error
- func (vapp *VApp) ChangeCPUCount(virtualCpuCount int) (Task, error)
- func (vapp *VApp) ChangeCPUCountWithCore(virtualCpuCount int, coresPerSocket *int) (Task, error)
- func (vapp *VApp) ChangeMemorySize(size int) (Task, error)
- func (vapp *VApp) ChangeNetworkConfig(networks []map[string]interface{}, ip string) (Task, error)
- func (vapp *VApp) ChangeStorageProfile(name string) (Task, error)
- func (vapp *VApp) ChangeVMName(name string) (Task, error)
- func (vapp *VApp) Customize(computername, script string, changeSid bool) (Task, error)
- func (vapp *VApp) Delete() (Task, error)
- func (vapp *VApp) DeleteMetadata(key string) (Task, error)
- func (vapp *VApp) Deploy() (Task, error)
- func (vapp *VApp) GetMetadata() (*types.Metadata, error)
- func (vapp *VApp) GetNetworkConfig() (*types.NetworkConfigSection, error)
- func (vapp *VApp) GetNetworkConnectionSection() (*types.NetworkConnectionSection, error)
- func (vapp *VApp) GetProductSectionList() (*types.ProductSectionList, error)
- func (vapp *VApp) GetStatus() (string, error)
- func (vapp *VApp) GetVMById(id string, refresh bool) (*VM, error)
- func (vapp *VApp) GetVMByName(vmName string, refresh bool) (*VM, error)
- func (vapp *VApp) GetVMByNameOrId(identifier string, refresh bool) (*VM, error)
- func (vapp *VApp) PowerOff() (Task, error)
- func (vapp *VApp) PowerOn() (Task, error)
- func (vapp *VApp) Reboot() (Task, error)
- func (vapp *VApp) Refresh() error
- func (vapp *VApp) RemoveAllNetworks() (Task, error)
- func (vapp *VApp) RemoveIsolatedNetwork(networkName string) (Task, error)
- func (vapp *VApp) RemoveVM(vm VM) error
- func (vapp *VApp) Reset() (Task, error)
- func (vapp *VApp) RunCustomizationScript(computername, script string) (Task, error)
- func (vapp *VApp) SetOvf(parameters map[string]string) (Task, error)deprecated
- func (vapp *VApp) SetProductSectionList(productSection *types.ProductSectionList) (*types.ProductSectionList, error)
- func (vapp *VApp) Shutdown() (Task, error)
- func (vapp *VApp) Suspend() (Task, error)
- func (vapp *VApp) Undeploy() (Task, error)
- type VAppTemplate
- func (vAppTemplate *VAppTemplate) AddMetadata(key string, value string) (*VAppTemplate, error)
- func (vAppTemplate *VAppTemplate) AddMetadataAsync(key string, value string) (Task, error)
- func (vAppTemplate *VAppTemplate) DeleteMetadata(key string) error
- func (vAppTemplate *VAppTemplate) DeleteMetadataAsync(key string) (Task, error)
- func (vAppTemplate *VAppTemplate) GetMetadata() (*types.Metadata, error)
- func (vAppTemplate *VAppTemplate) Refresh() error
- type VCDClient
- func (vcdCli *VCDClient) APIClientVersionIs(versionConstraint string) bool
- func (vcdCli *VCDClient) APIVCDMaxVersionIs(versionConstraint string) bool
- func (vcdCli *VCDClient) Authenticate(username, password, org string) error
- func (vcdCli *VCDClient) Disconnect() error
- func (vcdClient *VCDClient) GetAdminOrgById(orgId string) (*AdminOrg, error)
- func (vcdClient *VCDClient) GetAdminOrgByName(orgName string) (*AdminOrg, error)
- func (vcdClient *VCDClient) GetAdminOrgByNameOrId(identifier string) (*AdminOrg, error)
- func (vcdClient *VCDClient) GetExternalNetworkById(id string) (*ExternalNetwork, error)
- func (vcdClient *VCDClient) GetExternalNetworkByName(networkName string) (*ExternalNetwork, error)
- func (vcdClient *VCDClient) GetExternalNetworkByNameOrId(identifier string) (*ExternalNetwork, error)
- func (vcdClient *VCDClient) GetExternalNetworks() (*types.ExternalNetworkReferences, error)
- func (vcdClient *VCDClient) GetOrgById(orgId string) (*Org, error)
- func (vcdClient *VCDClient) GetOrgByName(orgName string) (*Org, error)
- func (vcdClient *VCDClient) GetOrgByNameOrId(identifier string) (*Org, error)
- func (vcdCli *VCDClient) NewVApp(client *Client) VApp
- func (vcdCli *VCDClient) Query(params map[string]string) (Results, error)
- func (vcdClient *VCDClient) QueryNetworkPools() ([]*types.QueryResultNetworkPoolRecordType, error)
- func (vcdClient *VCDClient) QueryProviderVdcStorageProfiles() ([]*types.QueryResultProviderVdcStorageProfileRecordType, error)
- func (vcdClient *VCDClient) QueryProviderVdcs() ([]*types.QueryResultVMWProviderVdcRecordType, error)
- func (vcdCli *VCDClient) QueryWithNotEncodedParams(params map[string]string, notEncodedParams map[string]string) (Results, error)
- type VCDClientOption
- type VM
- func (vm *VM) AddMetadata(key string, value string) (Task, error)
- func (vm *VM) AnswerQuestion(questionId string, choiceId int) error
- func (vm *VM) AttachDisk(diskParams *types.DiskAttachOrDetachParams) (Task, error)
- func (vm *VM) BlockWhileGuestCustomizationStatus(unwantedStatus string, timeOutAfterSeconds int) error
- func (vm *VM) ChangeCPUCount(virtualCpuCount int) (Task, error)
- func (vm *VM) ChangeCPUCountWithCore(virtualCpuCount int, coresPerSocket *int) (Task, error)
- func (vm *VM) ChangeMemorySize(size int) (Task, error)
- func (vm *VM) ChangeNetworkConfig(networks []map[string]interface{}) (Task, error)
- func (vm *VM) Customize(computername, script string, changeSid bool) (Task, error)
- func (vm *VM) DeleteMetadata(key string) (Task, error)
- func (vm *VM) DetachDisk(diskParams *types.DiskAttachOrDetachParams) (Task, error)
- func (vm *VM) EjectMedia(mediaParams *types.MediaInsertOrEjectParams) (EjectTask, error)
- func (vm *VM) GetGuestCustomizationSection() (*types.GuestCustomizationSection, error)
- func (vm *VM) GetGuestCustomizationStatus() (string, error)
- func (vm *VM) GetMetadata() (*types.Metadata, error)
- func (vm *VM) GetNetworkConnectionSection() (*types.NetworkConnectionSection, error)
- func (vm *VM) GetProductSectionList() (*types.ProductSectionList, error)
- func (vm *VM) GetQuestion() (types.VmPendingQuestion, error)
- func (vm *VM) GetStatus() (string, error)
- func (vm *VM) GetVirtualHardwareSection() (*types.VirtualHardwareSection, error)
- func (vm *VM) HandleEjectMedia(org *Org, catalogName, mediaName string) (EjectTask, error)
- func (vm *VM) HandleEjectMediaAndAnswer(org *Org, catalogName, mediaName string, answerYes bool) (*VM, error)
- func (vm *VM) HandleInsertMedia(org *Org, catalogName, mediaName string) (Task, error)
- func (vm *VM) InsertMedia(mediaParams *types.MediaInsertOrEjectParams) (Task, error)
- func (vm *VM) IsDeployed() (bool, error)
- func (vm *VM) PowerOff() (Task, error)
- func (vm *VM) PowerOn() (Task, error)
- func (vm *VM) PowerOnAndForceCustomization() error
- func (vm *VM) Refresh() error
- func (vm *VM) RunCustomizationScript(computername, script string) (Task, error)
- func (vm *VM) SetGuestCustomizationSection(guestCustomizationSection *types.GuestCustomizationSection) (*types.GuestCustomizationSection, error)
- func (vm *VM) SetProductSectionList(productSection *types.ProductSectionList) (*types.ProductSectionList, error)
- func (vm *VM) ToggleHardwareVirtualization(isEnabled bool) (Task, error)
- func (vm *VM) Undeploy() (Task, error)
- func (vm *VM) UpdateNetworkConnectionSection(networks *types.NetworkConnectionSection) error
- type VMRecord
- type VappNetworkSettings
- type Vdc
- func (vdc *Vdc) AddMetadata(key string, value string) (Vdc, error)
- func (vdc *Vdc) AddMetadataAsync(key string, value string) (Task, error)
- func (vdc *Vdc) ComposeRawVApp(name string) error
- func (vdc *Vdc) ComposeVApp(orgvdcnetworks []*types.OrgVDCNetwork, vapptemplate VAppTemplate, ...) (Task, error)
- func (vdc *Vdc) CreateDisk(diskCreateParams *types.DiskCreateParams) (Task, error)
- func (vdc *Vdc) CreateOrgVDCNetwork(networkConfig *types.OrgVDCNetwork) (Task, error)
- func (vdc *Vdc) CreateOrgVDCNetworkWait(networkConfig *types.OrgVDCNetwork) error
- func (vdc *Vdc) Delete(force bool, recursive bool) (Task, error)
- func (vdc *Vdc) DeleteMetadata(key string) (Vdc, error)
- func (vdc *Vdc) DeleteMetadataAsync(key string) (Task, error)
- func (vdc *Vdc) DeleteWait(force bool, recursive bool) error
- func (vdc *Vdc) FindDiskByHREF(href string) (*Disk, error)
- func (vdc *Vdc) FindEdgeGateway(edgegateway string) (EdgeGateway, error)deprecated
- func (vdc *Vdc) FindMediaImage(mediaName string) (MediaItem, error)
- func (vdc *Vdc) FindStorageProfileReference(name string) (types.Reference, error)
- func (vdc *Vdc) FindVAppByID(vappid string) (VApp, error)deprecated
- func (vdc *Vdc) FindVAppByName(vapp string) (VApp, error)deprecated
- func (vdc *Vdc) FindVDCNetwork(network string) (OrgVDCNetwork, error)deprecated
- func (vdc *Vdc) FindVMByName(vapp VApp, vm string) (VM, error)deprecated
- func (vdc *Vdc) GetDefaultStorageProfileReference(storageprofiles *types.QueryResultRecordsType) (types.Reference, error)
- func (vdc *Vdc) GetDiskByHref(diskHref string) (*Disk, error)
- func (vdc *Vdc) GetDiskById(diskId string, refresh bool) (*Disk, error)
- func (vdc *Vdc) GetDisksByName(diskName string, refresh bool) (*[]Disk, error)
- func (vdc *Vdc) GetEdgeGatewayById(id string, refresh bool) (*EdgeGateway, error)
- func (vdc *Vdc) GetEdgeGatewayByName(name string, refresh bool) (*EdgeGateway, error)
- func (vdc *Vdc) GetEdgeGatewayByNameOrId(identifier string, refresh bool) (*EdgeGateway, error)
- func (vdc *Vdc) GetMetadata() (*types.Metadata, error)
- func (vdc *Vdc) GetOrgVdcNetworkByHref(href string) (*OrgVDCNetwork, error)
- func (vdc *Vdc) GetOrgVdcNetworkById(id string, refresh bool) (*OrgVDCNetwork, error)
- func (vdc *Vdc) GetOrgVdcNetworkByName(name string, refresh bool) (*OrgVDCNetwork, error)
- func (vdc *Vdc) GetOrgVdcNetworkByNameOrId(identifier string, refresh bool) (*OrgVDCNetwork, error)
- func (vdc *Vdc) GetVAppByHref(vappHref string) (*VApp, error)
- func (vdc *Vdc) GetVAppById(id string, refresh bool) (*VApp, error)
- func (vdc *Vdc) GetVAppByName(vappName string, refresh bool) (*VApp, error)
- func (vdc *Vdc) GetVAppByNameOrId(identifier string, refresh bool) (*VApp, error)
- func (vdc *Vdc) InstantiateVAppTemplate(template *types.InstantiateVAppTemplateParams) error
- func (vdc *Vdc) Query(params map[string]string) (Results, error)
- func (vdc *Vdc) QueryDisk(diskName string) (DiskRecord, error)
- func (vdc *Vdc) QueryDisks(diskName string) (*[]*types.DiskRecordType, error)
- func (vdc *Vdc) QueryVM(vappName, vmName string) (VMRecord, error)
- func (vdc *Vdc) QueryWithNotEncodedParams(params map[string]string, notEncodedParams map[string]string) (Results, error)
- func (vdc *Vdc) Refresh() error
- func (vdc *Vdc) UploadMediaImage(mediaName, mediaDescription, filePath string, uploadPieceSize int64) (UploadTask, error)
- type VersionInfo
- type VersionInfos
Constants ¶
const ( OrgUserRoleOrganizationAdministrator = "Organization Administrator" OrgUserRoleCatalogAuthor = "Catalog Author" OrgUserRoleVappAuthor = "vApp Author" OrgUserRoleVappUser = "vApp User" OrgUserRoleConsoleAccessOnly = "Console Access Only" OrgUserRoleDeferToIdentityProvider = "Defer to Identity Provider" // Allowed values for provider types OrgUserProviderIntegrated = "INTEGRATED" // The user is created locally or imported from LDAP OrgUserProviderSAML = "SAML" // The user is imported from a SAML identity provider. OrgUserProviderOAUTH = "OAUTH" // The user is imported from an OAUTH identity provider )
const MinimumDiskSize int64 = 1048576 // = 1Mb
While theoretically we can use smaller amounts, there is an issue when updating disks with size < 1MB
Variables ¶
var ErrorEntityNotFound = fmt.Errorf(errorEntityNotFoundMessage)
var OrgUserProviderTypes = []string{ OrgUserProviderIntegrated, OrgUserProviderSAML, OrgUserProviderOAUTH, }
Used to check the validity of provider type on creation
Functions ¶
func ContainsNotFound ¶
ContainsNotFound is a convenience function, similar to os.IsNotExist that checks whether a given error contains a "Not found" error. It is almost the same as `IsNotFound` but checks if an error contains substring ErrorEntityNotFound
func GetExternalNetworkByName
deprecated
func GetNetworkPoolByHREF ¶
GetNetworkPoolByHREF functions fetches an network pool using VDC client and network pool href
func GetStorageProfileByHref ¶
GetStorageProfileByHref fetches storage profile using provided HREF.
func IsNotFound ¶
Convenience function, similar to os.IsNotExist that checks whether a given error is a "Not found" error, such as
if isNotFound(err) { // do what is needed in case of not found }
func LogAdminCatalog ¶
func LogAdminCatalog(catalog types.AdminCatalog)
func LogAdminOrg ¶
func LogAdminOrg(org types.AdminOrg)
func LogCatalog ¶
func LogCatalog(catalog types.Catalog)
func LogCatalogItem ¶
func LogCatalogItem(catalogItem types.CatalogItem)
func LogExternalNetwork ¶
func LogExternalNetwork(network types.ExternalNetwork)
func LogNetwork ¶
func LogNetwork(conf types.OrgVDCNetwork)
func ParseErr ¶
ParseErr takes an error XML resp, error interface for unmarshaling and returns a single string for use in error messages.
func QueryDistributedPortGroup ¶
func QueryDistributedPortGroup(vcdCli *VCDClient, name string) ([]*types.PortGroupRecordType, error)
Find a Distributed port group by name
func QueryNetworkPoolByName ¶
func QueryNetworkPoolByName(vcdCli *VCDClient, name string) ([]*types.QueryResultNetworkPoolRecordType, error)
QueryNetworkPoolByName finds a network pool by name
func QueryNetworkPortGroup ¶
Find a Network port group by name
func QueryOrgVdcNetworkByName ¶
func QueryOrgVdcNetworkByName(vcdCli *VCDClient, name string) ([]*types.QueryResultOrgVdcNetworkRecordType, error)
QueryOrgVdcNetworkByName finds a org VDC network by name which has edge gateway as reference
func QueryPortGroups ¶
Find a list of Port groups matching the filter parameter.
func QueryProviderVdcByName ¶
func QueryProviderVdcByName(vcdCli *VCDClient, name string) ([]*types.QueryResultVMWProviderVdcRecordType, error)
QueryProviderVdcByName finds a provider VDC by name
func QueryProviderVdcStorageProfileByName ¶
func QueryProviderVdcStorageProfileByName(vcdCli *VCDClient, name string) ([]*types.QueryResultProviderVdcStorageProfileRecordType, error)
QueryProviderVdcStorageProfileByName finds a provider VDC storage profile by name
func QueryVirtualCenters ¶
func QueryVirtualCenters(vcdClient *VCDClient, filter string) ([]*types.QueryResultVirtualCenterRecordType, error)
Find a list of Virtual Centers matching the filter parameter. Filter constructing guide: https://pubs.vmware.com/vcloud-api-1-5/wwhelp/wwhimpl/js/html/wwhelp.htm#href=api_prog/GUID-CDF04296-5EB5-47E1-9BEC-228837C584CE.html Possible parameters are any attribute from QueryResultVirtualCenterRecordType struct E.g. filter could look like: (name==vC1)
func RemoveMediaImageIfExists ¶
Looks for media and, if found, will delete it. Deprecated: Use catalog.RemoveMediaIfExist
func RemoveOrgVdcNetworkIfExists ¶
Looks for an Org Vdc network and, if found, will delete it.
func ShowAdminCatalog ¶
func ShowAdminCatalog(catalog types.AdminCatalog)
func ShowAdminOrg ¶
func ShowAdminOrg(org types.AdminOrg)
func ShowCatalog ¶
func ShowCatalog(catalog types.Catalog)
func ShowCatalogItem ¶
func ShowCatalogItem(catalogItem types.CatalogItem)
func ShowExternalNetwork ¶
func ShowExternalNetwork(network types.ExternalNetwork)
func ShowNetwork ¶
func ShowNetwork(conf types.OrgVDCNetwork)
func SimpleLogTask ¶
Types ¶
type AdminCatalog ¶
type AdminCatalog struct { AdminCatalog *types.AdminCatalog // contains filtered or unexported fields }
AdminCatalog is a admin view of a vCloud Director Catalog To be able to get an AdminCatalog representation, users must have admin credentials to the System org. AdminCatalog is used for creating, updating, and deleting a Catalog. Definition: https://code.vmware.com/apis/220/vcloud#/doc/doc/types/AdminCatalogType.html
func CreateCatalog ¶
func CreateCatalog(client *Client, links types.LinkList, Name, Description string) (AdminCatalog, error)
func NewAdminCatalog ¶
func NewAdminCatalog(client *Client) *AdminCatalog
func (*AdminCatalog) Delete ¶
func (adminCatalog *AdminCatalog) Delete(force, recursive bool) error
Deletes the Catalog, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Catalog.html
func (*AdminCatalog) GetMediaByHref ¶
func (adminCatalog *AdminCatalog) GetMediaByHref(mediaHref string) (*Media, error)
GetMediaByHref finds a Media by HREF On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*AdminCatalog) GetMediaById ¶
func (adminCatalog *AdminCatalog) GetMediaById(mediaId string) (*Media, error)
GetMediaById finds a Media by ID On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*AdminCatalog) GetMediaByName ¶
func (adminCatalog *AdminCatalog) GetMediaByName(mediaName string, refresh bool) (*Media, error)
GetMediaByName finds a Media by Name On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*AdminCatalog) GetMediaByNameOrId ¶
func (adminCatalog *AdminCatalog) GetMediaByNameOrId(identifier string, refresh bool) (*Media, error)
GetMediaByNameOrId finds a Media by Name or ID On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*AdminCatalog) QueryMedia ¶
func (adminCatalog *AdminCatalog) QueryMedia(mediaName string) (*MediaRecord, error)
QueryMedia returns media image found in system using `name` and `catalog name` as query.
func (*AdminCatalog) Refresh ¶
func (adminCatalog *AdminCatalog) Refresh() error
func (*AdminCatalog) RemoveMediaIfExists ¶
func (adminCatalog *AdminCatalog) RemoveMediaIfExists(mediaName string) error
Looks for media and, if found, will delete it.
func (*AdminCatalog) Update ¶
func (adminCatalog *AdminCatalog) Update() error
Updates the Catalog definition from current Catalog struct contents. Any differences that may be legally applied will be updated. Returns an error if the call to vCD fails. Update automatically performs a refresh with the admin catalog it gets back from the rest api Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/PUT-Catalog.html
func (*AdminCatalog) UploadOvf ¶
func (adminCatalog *AdminCatalog) UploadOvf(ovaFileName, itemName, description string, uploadPieceSize int64) (UploadTask, error)
Uploads an ova file to a catalog. This method only uploads bits to vCD spool area. Returns errors if any occur during upload from vCD or upload process. On upload fail client may need to remove vCD catalog item which waits for files to be uploaded. Files from ova are extracted to system temp folder "govcd+random number" and left for inspection on error.
type AdminOrg ¶
type AdminOrg struct { AdminOrg *types.AdminOrg // contains filtered or unexported fields }
AdminOrg gives an admin representation of an org. Administrators can delete and update orgs with an admin org object. AdminOrg includes all members of the Org element, and adds several elements that can be viewed and modified only by system administrators. Definition: https://code.vmware.com/apis/220/vcloud#/doc/doc/types/AdminOrgType.html
func GetAdminOrgByName ¶
If user specifies valid organization name, then this returns an admin organization object. If no valid org is found, it returns an empty org and no error. Otherwise returns an empty AdminOrg and an error. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/GET-Organization-AdminView.html Deprecated: Use vcdClient.GetAdminOrgByName instead
func NewAdminOrg ¶
func (*AdminOrg) CreateCatalog ¶
func (adminOrg *AdminOrg) CreateCatalog(name, description string) (AdminCatalog, error)
CreateCatalog creates a catalog with given name and description under the the given organization. Returns an AdminCatalog that contains a creation task. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/POST-CreateCatalog.html
func (*AdminOrg) CreateUser ¶
CreateUser creates an OrgUser from a full configuration structure The timeOut variable is the maximum time we wait for the user to be ready (This operation does not return a task) This function returns as soon as the user has been created, which could be as little as 200ms or as much as Client.MaxRetryTimeout Mandatory fields are: Name, Role, Password. https://code.vmware.com/apis/442/vcloud-director#/doc/doc/operations/POST-CreateUser.html
func (*AdminOrg) CreateUserSimple ¶
func (adminOrg *AdminOrg) CreateUserSimple(userData OrgUserConfiguration) (*OrgUser, error)
CreateUserSimple creates an org user from a simplified structure
func (*AdminOrg) CreateVdc ¶
CreateVdc creates a VDC with the given params under the given organization. Returns an AdminVdc. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/POST-VdcConfiguration.html
func (*AdminOrg) CreateVdcWait ¶
Creates the vdc and waits for the asynchronous task to complete.
func (*AdminOrg) Delete ¶
Deletes the org, returning an error if the vCD call fails. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Organization.html
func (*AdminOrg) Disable ¶
Disables the org. Returns an error if the call to vCD fails. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/POST-DisableOrg.html
func (*AdminOrg) FetchUserByHref ¶
FetchUserByHref returns a user by its HREF Deprecated: use GetUserByHref instead
func (*AdminOrg) FetchUserById ¶
FetchUserById returns a user by its ID Deprecated: use GetUserById instead
func (*AdminOrg) FetchUserByName ¶
FetchUserByName returns a user by its Name Deprecated: use GetUserByName instead
func (*AdminOrg) FetchUserByNameOrId ¶
FetchUserById returns a user by its Name or ID Deprecated: use GetUserByNameOrId instead
func (*AdminOrg) FindAdminCatalog ¶
func (adminOrg *AdminOrg) FindAdminCatalog(catalogName string) (AdminCatalog, error)
Given a valid catalog name, FindAdminCatalog returns an AdminCatalog object. If no catalog is found, then returns an empty AdminCatalog and no error. Otherwise it returns an error. Function allows user to use an AdminOrg to also fetch a Catalog. If user does not have proper credentials to perform administrator tasks then function returns an error. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/GET-Catalog-AdminView.html Deprecated: Use adminOrg.GetAdminCatalog instead
func (*AdminOrg) FindAdminCatalogRecords ¶
FindAdminCatalogRecords uses catalog name to return AdminCatalogRecord information.
func (*AdminOrg) FindCatalog ¶
Given a valid catalog name, FindCatalog returns a Catalog object. If no catalog is found, then returns an empty catalog and no error. Otherwise it returns an error. Function allows user to use an AdminOrg to also fetch a Catalog. Deprecated: Use adminOrg.GetCatalogByName instead
func (*AdminOrg) GetAdminCatalogByHref ¶
func (adminOrg *AdminOrg) GetAdminCatalogByHref(catalogHref string) (*AdminCatalog, error)
GetAdminCatalogByHref finds an AdminCatalog by HREF On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminCatalogById ¶
func (adminOrg *AdminOrg) GetAdminCatalogById(catalogId string, refresh bool) (*AdminCatalog, error)
GetCatalogById finds an AdminCatalog by ID On success, returns a pointer to the AdminCatalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminCatalogByName ¶
func (adminOrg *AdminOrg) GetAdminCatalogByName(catalogName string, refresh bool) (*AdminCatalog, error)
GetCatalogByName finds an AdminCatalog by Name On success, returns a pointer to the AdminCatalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminCatalogByNameOrId ¶
func (adminOrg *AdminOrg) GetAdminCatalogByNameOrId(identifier string, refresh bool) (*AdminCatalog, error)
GetAdminCatalogByNameOrId finds an AdminCatalog by name or ID On success, returns a pointer to the AdminCatalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminVDCByHref ¶
GetVDCByHref retrieves a VDC using a direct call with the HREF
func (*AdminOrg) GetAdminVDCById ¶
GetAdminVDCById finds an Admin VDC by ID On success, returns a pointer to the AdminVdc structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminVDCByName ¶
GetAdminVDCByName finds an Admin VDC by Name On success, returns a pointer to the AdminVdc structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminVDCByNameOrId ¶
GetAdminVDCByNameOrId finds an Admin VDC by Name Or ID On success, returns a pointer to the AdminVdc structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetAdminVdcByName ¶
GetAdminVdcByName function uses a valid VDC name and returns a admin VDC object. If no VDC is found, then it returns an empty VDC and no error. Otherwise it returns an empty VDC and an error. Deprecated: Use adminOrg.GetAdminVDCByName
func (*AdminOrg) GetCatalogByHref ¶
GetCatalogByHref finds a Catalog by HREF On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetCatalogById ¶
GetCatalogById finds a Catalog by ID On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetCatalogByName ¶
GetCatalogByName finds a Catalog by Name On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetCatalogByNameOrId ¶
GetCatalogByNameOrId finds a Catalog by name or ID On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetRole ¶
GetRole finds a role within the organization Deprecated: use GetRoleReference
func (*AdminOrg) GetRoleReference ¶
GetRoleReference finds a role within the organization
func (*AdminOrg) GetUserByHref ¶
GetUserByHref returns a user by its HREF, without need for searching in the adminOrg user list
func (*AdminOrg) GetUserById ¶
GetUserById retrieves a user within an admin organization by ID Returns a valid user if it exists. If it doesn't, returns nil and ErrorEntityNotFound If argument refresh is true, the AdminOrg will be refreshed before searching. This is usually done after creating, modifying, or deleting users. If it is false, it will search within the data already in memory (useful when looping through the users and we know that no changes have occurred in the meantime)
func (*AdminOrg) GetUserByName ¶
GetUserByName retrieves a user within an admin organization by name Returns a valid user if it exists. If it doesn't, returns nil and ErrorEntityNotFound If argument refresh is true, the AdminOrg will be refreshed before searching. This is usually done after creating, modifying, or deleting users. If it is false, it will search within the data already in memory (useful when looping through the users and we know that no changes have occurred in the meantime)
func (*AdminOrg) GetUserByNameOrId ¶
GetUserByNameOrId retrieves a user within an admin organization by either name or ID Returns a valid user if it exists. If it doesn't, returns nil and ErrorEntityNotFound If argument refresh is true, the AdminOrg will be refreshed before searching. This is usually done after creating, modifying, or deleting users. If it is false, it will search within the data already in memory (useful when looping through the users and we know that no changes have occurred in the meantime)
func (*AdminOrg) GetVDCByHref ¶
GetVDCByHref retrieves a VDC using a direct call with the HREF
func (*AdminOrg) GetVDCById ¶
GetVDCById finds a VDC by ID On success, returns a pointer to the Vdc structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetVDCByName ¶
GetVDCByName finds a VDC by Name On success, returns a pointer to the Vdc structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetVDCByNameOrId ¶
GetVDCByNameOrId finds a VDC by name or ID On success, returns a pointer to the VDC structure and a nil error On failure, returns a nil pointer and an error
func (*AdminOrg) GetVdcByName ¶
If user specifies valid vdc name then this returns a vdc object. If no vdc is found, then it returns an empty vdc and no error. Otherwise it returns an empty vdc and an error. This function allows users to use an AdminOrg to fetch a vdc as well. Deprecated: Use adminOrg.GetVDCByName instead
func (*AdminOrg) Refresh ¶
Given an adminorg with a valid HREF, the function refetches the adminorg and updates the user's adminorg data. Otherwise if the function fails, it returns an error. Users should use refresh whenever they have a stale org due to the creation/update/deletion of a resource within the org or the org itself.
func (*AdminOrg) Update ¶
Updates the Org definition from current org struct contents. Any differences that may be legally applied will be updated. Returns an error if the call to vCD fails. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/PUT-Organization.html
type AdminVdc ¶
type AdminVdc struct { AdminVdc *types.AdminVdc // contains filtered or unexported fields }
func NewAdminVdc ¶
func (*AdminVdc) Refresh ¶
Given an adminVdc with a valid HREF, the function refresh the adminVdc and updates the adminVdc data. Returns an error on failure Users should use refresh whenever they suspect a stale VDC due to the creation/update/deletion of a resource within the the VDC itself.
func (*AdminVdc) Update ¶
Update function updates an Admin VDC from current VDC struct contents. Any differences that may be legally applied will be updated. Returns an empty AdminVdc struct and error if the call to vCD fails. API Documentation: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/operations/PUT-Vdc.html
func (*AdminVdc) UpdateAsync ¶
UpdateAsync updates VDC from current VDC struct contents. Any differences that may be legally applied will be updated. Returns an error if the call to vCD fails. API Documentation: https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/operations/PUT-Vdc.html
type Catalog ¶
type Catalog struct { Catalog *types.Catalog // contains filtered or unexported fields }
func NewCatalog ¶
func (*Catalog) Delete ¶
Deletes the Catalog, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Catalog.html
func (*Catalog) FindCatalogItem ¶
func (cat *Catalog) FindCatalogItem(catalogItemName string) (CatalogItem, error)
If catalog item is a valid CatalogItem and the call succeeds, then the function returns a CatalogItem. If the item does not exist, then it returns an empty CatalogItem. If the call fails at any point, it returns an error. Deprecated: use GetCatalogItemByName instead
func (*Catalog) GetCatalogItemByHref ¶
func (cat *Catalog) GetCatalogItemByHref(catalogItemHref string) (*CatalogItem, error)
GetCatalogItemByHref finds a CatalogItem by HREF On success, returns a pointer to the CatalogItem structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetCatalogItemById ¶
func (cat *Catalog) GetCatalogItemById(catalogItemId string, refresh bool) (*CatalogItem, error)
GetCatalogItemById finds a Catalog Item by ID On success, returns a pointer to the CatalogItem structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetCatalogItemByName ¶
func (cat *Catalog) GetCatalogItemByName(catalogItemName string, refresh bool) (*CatalogItem, error)
GetCatalogItemByName finds a CatalogItem by Name On success, returns a pointer to the CatalogItem structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetCatalogItemByNameOrId ¶
func (cat *Catalog) GetCatalogItemByNameOrId(identifier string, refresh bool) (*CatalogItem, error)
GetCatalogItemByNameOrId finds a Catalog Item by Name or ID On success, returns a pointer to the CatalogItem structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetMediaByHref ¶
GetMediaByHref finds a Media by HREF On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetMediaById ¶
GetMediaById finds a Media by ID On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetMediaByName ¶
GetMediaByName finds a Media by Name On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) GetMediaByNameOrId ¶
GetMediaByNameOrId finds a Media by Name or ID On success, returns a pointer to the Media structure and a nil error On failure, returns a nil pointer and an error
func (*Catalog) QueryMedia ¶
func (catalog *Catalog) QueryMedia(mediaName string) (*MediaRecord, error)
QueryMedia returns media image found in system using `name` and `catalog name` as query.
func (*Catalog) UploadMediaImage ¶
func (cat *Catalog) UploadMediaImage(mediaName, mediaDescription, filePath string, uploadPieceSize int64) (UploadTask, error)
func (*Catalog) UploadOvf ¶
func (cat *Catalog) UploadOvf(ovaFileName, itemName, description string, uploadPieceSize int64) (UploadTask, error)
Uploads an ova file to a catalog. This method only uploads bits to vCD spool area. Returns errors if any occur during upload from vCD or upload process. On upload fail client may need to remove vCD catalog item which waits for files to be uploaded. Files from ova are extracted to system temp folder "govcd+random number" and left for inspection on error.
type CatalogItem ¶
type CatalogItem struct { CatalogItem *types.CatalogItem // contains filtered or unexported fields }
func FindMediaAsCatalogItem ¶
func FindMediaAsCatalogItem(org *Org, catalogName, mediaName string) (CatalogItem, error)
Finds media in catalog and returns catalog item Deprecated: Use catalog.GetMediaByName()
func NewCatalogItem ¶
func NewCatalogItem(cli *Client) *CatalogItem
func (*CatalogItem) Delete ¶
func (catalogItem *CatalogItem) Delete() error
Deletes the Catalog Item, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-CatalogItem.html
func (*CatalogItem) GetVAppTemplate ¶
func (catalogItem *CatalogItem) GetVAppTemplate() (VAppTemplate, error)
type Client ¶
type Client struct { APIVersion string // The API version required VCDToken string // Access Token (authorization header) VCDAuthHeader string // Authorization header VCDHREF url.URL // VCD API ENDPOINT Http http.Client // HttpClient is the client to use. Default will be used if not provided. IsSysAdmin bool // flag if client is connected as system administrator // MaxRetryTimeout specifies a time limit (in seconds) for retrying requests made by the SDK // where vCloud director may take time to respond and retry mechanism is needed. // This must be >0 to avoid instant timeout errors. MaxRetryTimeout int }
Client provides a client to vCloud Director, values can be populated automatically using the Authenticate method.
func (*Client) ExecuteParamRequestWithCustomError ¶
func (client *Client) ExecuteParamRequestWithCustomError(pathURL string, params map[string]string, requestType, contentType, errorMessage string, payload interface{}, errType error) (*http.Response, error)
ExecuteParamRequestWithCustomError behaves exactly like ExecuteRequestWithCustomError but accepts query parameter specification
func (*Client) ExecuteRequest ¶
func (client *Client) ExecuteRequest(pathURL, requestType, contentType, errorMessage string, payload, out interface{}) (*http.Response, error)
Helper function creates request, runs it, check responses and parses out interface from response. pathURL - request URL requestType - HTTP method type contentType - value to set for "Content-Type" errorMessage - error message to return when error happens payload - XML struct which will be marshalled and added as body/payload out - structure to be used for unmarshalling xml E.g. unmarshalledAdminOrg := &types.AdminOrg{} client.ExecuteRequest(adminOrg.AdminOrg.HREF, http.MethodGet, "", "error refreshing organization: %s", nil, unmarshalledAdminOrg)
func (*Client) ExecuteRequestWithCustomError ¶
func (client *Client) ExecuteRequestWithCustomError(pathURL, requestType, contentType, errorMessage string, payload interface{}, errType error) (*http.Response, error)
ExecuteRequestWithCustomError sends the request and checks for 2xx response. If the returned status code was not as expected - the returned error will be unmarshaled to `errType` which implements Go's standard `error` interface.
func (*Client) ExecuteRequestWithoutResponse ¶
func (client *Client) ExecuteRequestWithoutResponse(pathURL, requestType, contentType, errorMessage string, payload interface{}) error
Helper function creates request, runs it, checks response and do not expect any values from it. pathURL - request URL requestType - HTTP method type contentType - value to set for "Content-Type" errorMessage - error message to return when error happens payload - XML struct which will be marshalled and added as body/payload E.g. client.ExecuteRequestWithoutResponse(catalogItemHREF.String(), http.MethodDelete, "", "error deleting Catalog item: %s", nil)
func (*Client) ExecuteTaskRequest ¶
func (client *Client) ExecuteTaskRequest(pathURL, requestType, contentType, errorMessage string, payload interface{}) (Task, error)
Helper function creates request, runs it, checks response and parses task from response. pathURL - request URL requestType - HTTP method type contentType - value to set for "Content-Type" errorMessage - error message to return when error happens payload - XML struct which will be marshalled and added as body/payload E.g. client.ExecuteTaskRequest(updateDiskLink.HREF, http.MethodPut, updateDiskLink.Type, "error updating disk: %s", xmlPayload)
func (*Client) FindVMByHREF
deprecated
func (*Client) GetVMByHref ¶
GetVMByHref returns a VM reference by running a vCD API call If no valid VM is found, it returns a nil VM reference and an error Note that the pointer receiver here is a Client instead of a VApp, because there are cases where we know the VM HREF but not which VApp it belongs to.
func (*Client) NewRequest ¶
func (cli *Client) NewRequest(params map[string]string, method string, reqUrl url.URL, body io.Reader) *http.Request
NewRequest creates a new HTTP request and applies necessary auth headers if set.
func (*Client) NewRequestWitNotEncodedParams ¶
func (cli *Client) NewRequestWitNotEncodedParams(params map[string]string, notEncodedParams map[string]string, method string, reqUrl url.URL, body io.Reader) *http.Request
Function allow to pass complex values params which shouldn't be encoded like for queries. e.g. /query?filter=(name=foo)
type DhcpSettings ¶
type DhcpSettings struct { IsEnabled bool MaxLeaseTime int DefaultLeaseTime int IPRange *types.IPRange }
struct type used to pass information for vApp network DHCP
type Disk ¶
type Disk struct { Disk *types.Disk // contains filtered or unexported fields }
Independent disk
func FindDiskByHREF ¶
Find an independent disk by VDC client and disk href Deprecated: Use VDC.GetDiskByHref()
func (*Disk) AttachedVM ¶
Get a VM that is attached the disk An independent disk can be attached to at most one virtual machine. If the disk isn't attached to any VM, return empty VM reference and no error. Otherwise return the first VM reference and no error. Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 107, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
func (*Disk) Delete ¶
Remove an independent disk 1 Verify the independent disk is not connected to any VM 2 Delete the independent disk. Make a DELETE request to the URL in the rel="remove" link in the Disk 3 Return task of independent disk deletion If the independent disk is connected to a VM, the task will be failed. Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 106 - 107, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
func (*Disk) Update ¶
Update an independent disk 1 Verify the independent disk is not connected to any VM 2 Use newDiskInfo to change update the independent disk 3 Return task of independent disk update If the independent disk is connected to a VM, the task will be failed. Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 104 - 106, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
type DiskRecord ¶
type DiskRecord struct { Disk *types.DiskRecordType // contains filtered or unexported fields }
Independent disk query record
func NewDiskRecord ¶
func NewDiskRecord(cli *Client) *DiskRecord
Create instance with reference to types.DiskRecordType
type EdgeGateway ¶
type EdgeGateway struct { EdgeGateway *types.EdgeGateway // contains filtered or unexported fields }
func CreateAndConfigureEdgeGateway ¶
func CreateAndConfigureEdgeGateway(vcdClient *VCDClient, orgName, vdcName, egwName string, egwConfiguration *types.EdgeGateway) (EdgeGateway, error)
CreateAndConfigureEdgeGateway creates an edge gateway using a full configuration structure
func CreateEdgeGateway ¶
func CreateEdgeGateway(vcdClient *VCDClient, egwc EdgeGatewayCreation) (EdgeGateway, error)
CreateEdgeGateway creates an edge gateway using a simplified configuration structure
func NewEdgeGateway ¶
func NewEdgeGateway(cli *Client) *EdgeGateway
func (*EdgeGateway) AddDNATRule ¶
func (egw *EdgeGateway) AddDNATRule(ruleDetails NatRule) (*types.NatRule, error)
AddDNATRule creates DNAT rule and returns the NAT struct that was created or an error. Allows assigning a specific Org VDC or an external network. When edge gateway is advanced vCD API uses element <tag> to map with NSX edge gateway ID. A known issue is that updating rule using User interface resets <tag> and as result mapping is lost. Getting using NatRule.ID won't be valid anymore. Old functions AddNATPortMapping and AddNATMapping assigned rule only to first external network
func (*EdgeGateway) AddDhcpPool ¶
func (egw *EdgeGateway) AddDhcpPool(network *types.OrgVDCNetwork, dhcppool []interface{}) (Task, error)
func (*EdgeGateway) AddIpsecVPN ¶
func (egw *EdgeGateway) AddIpsecVPN(ipsecVPNConfig *types.EdgeGatewayServiceConfiguration) (Task, error)
func (*EdgeGateway) AddNATMapping
deprecated
func (egw *EdgeGateway) AddNATMapping(natType, externalIP, internalIP string) (Task, error)
Deprecated: Use eGW.AddNATRule()
func (*EdgeGateway) AddNATPortMapping
deprecated
func (egw *EdgeGateway) AddNATPortMapping(natType, externalIP, externalPort, internalIP, internalPort, protocol, icmpSubType string) (Task, error)
Deprecated: Use eGW.AddNATPortMappingWithUplink()
func (*EdgeGateway) AddNATPortMappingWithUplink
deprecated
func (egw *EdgeGateway) AddNATPortMappingWithUplink(network *types.OrgVDCNetwork, natType, externalIP, externalPort, internalIP, internalPort, protocol, icmpSubType string) (Task, error)
Deprecated: Use eGW.AddNATFirewallRule()
func (*EdgeGateway) AddNATRule
deprecated
func (egw *EdgeGateway) AddNATRule(network *types.OrgVDCNetwork, natType, externalIP, internalIP string) (Task, error)
Deprecated: Use eGW.AddSNATRule() or eGW.AddDNATRule()
func (*EdgeGateway) AddNATRuleAsync ¶
func (egw *EdgeGateway) AddNATRuleAsync(ruleDetails NatRule) (Task, error)
AddNATRuleAsync creates NAT rule and return task or err Allows assigning specific network Org VDC or external. Old function AddNATPortMapping and AddNATMapping function shouldn't be used because assigns rule to first external network
func (*EdgeGateway) AddSNATRule ¶
func (egw *EdgeGateway) AddSNATRule(networkHref, externalIP, internalIP, description string) (*types.NatRule, error)
AddSNATRule creates SNAT rule and returns created NAT rule or error. Allows assigning a specific Org VDC or an external network. Old functions AddNATPortMapping and AddNATMapping aren't correct as assigned rule only to first external network
func (*EdgeGateway) Create1to1Mapping ¶
func (egw *EdgeGateway) Create1to1Mapping(internal, external, description string) (Task, error)
func (*EdgeGateway) CreateFirewallRules ¶
func (egw *EdgeGateway) CreateFirewallRules(defaultAction string, rules []*types.FirewallRule) (Task, error)
func (*EdgeGateway) CreateLbAppProfile ¶
func (egw *EdgeGateway) CreateLbAppProfile(lbAppProfileConfig *types.LbAppProfile) (*types.LbAppProfile, error)
CreateLbAppProfile creates a load balancer application profile based on mandatory fields. It is a synchronous operation. It returns created object with all fields (including ID) populated or an error.
func (*EdgeGateway) CreateLbAppRule ¶
func (egw *EdgeGateway) CreateLbAppRule(lbAppRuleConfig *types.LbAppRule) (*types.LbAppRule, error)
CreateLbAppRule creates a load balancer application rule based on mandatory fields. It is a synchronous operation. It returns created object with all fields (including ID) populated or an error.
func (*EdgeGateway) CreateLbServerPool ¶
func (egw *EdgeGateway) CreateLbServerPool(lbPoolConfig *types.LbPool) (*types.LbPool, error)
CreateLbServerPool creates a load balancer server pool based on mandatory fields. It is a synchronous operation. It returns created object with all fields (including ID) populated or an error. Name and Algorithm fields must be populated.
func (*EdgeGateway) CreateLbServiceMonitor ¶
func (egw *EdgeGateway) CreateLbServiceMonitor(lbMonitorConfig *types.LbMonitor) (*types.LbMonitor, error)
CreateLbServiceMonitor creates a load balancer service monitor based on mandatory fields. It is a synchronous operation. It returns created object with all fields (including ID) populated or an error.
func (*EdgeGateway) CreateLbVirtualServer ¶
func (egw *EdgeGateway) CreateLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) (*types.LbVirtualServer, error)
CreateLbVirtualServer creates a load balancer virtual server based on mandatory fields. It is a synchronous operation. It returns created object with all fields (including ID) populated or an error. Name, Protocol, Port and IpAddress fields must be populated
func (*EdgeGateway) CreateNsxvFirewallRule ¶
func (egw *EdgeGateway) CreateNsxvFirewallRule(firewallRuleConfig *types.EdgeFirewallRule, aboveRuleId string) (*types.EdgeFirewallRule, error)
CreateNsxvFirewallRule creates firewall rule using proxied NSX-V API. It is a synchronuous operation. It returns an object with all fields populated (including ID) If aboveRuleId is not empty, it will send a query parameter aboveRuleId= which instructs NSX to place this rule above the specified rule ID
func (*EdgeGateway) CreateNsxvNatRule ¶
func (egw *EdgeGateway) CreateNsxvNatRule(natRuleConfig *types.EdgeNatRule) (*types.EdgeNatRule, error)
CreateNsxvNatRule creates NAT rule using proxied NSX-V API. It is a synchronuous operation. It returns an object with all fields populated (including ID)
func (*EdgeGateway) Delete ¶
func (egw *EdgeGateway) Delete(force bool, recursive bool) error
Deletes the edge gateway, returning an error with the operation result. https://code.vmware.com/apis/442/vcloud-director/doc/doc/operations/DELETE-EdgeGateway.html
func (*EdgeGateway) DeleteAsync ¶
func (egw *EdgeGateway) DeleteAsync(force bool, recursive bool) (Task, error)
Deletes the edge gateway, returning a task and an error with the operation result. https://code.vmware.com/apis/442/vcloud-director/doc/doc/operations/DELETE-EdgeGateway.html
func (*EdgeGateway) DeleteLbAppProfile ¶
func (egw *EdgeGateway) DeleteLbAppProfile(lbAppProfileConfig *types.LbAppProfile) error
DeleteLbAppProfile is able to delete the types.LbAppProfile type by Name and/or ID. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) DeleteLbAppProfileById ¶
func (egw *EdgeGateway) DeleteLbAppProfileById(id string) error
DeleteLbAppProfileById wraps DeleteLbAppProfile and requires only ID for deletion
func (*EdgeGateway) DeleteLbAppProfileByName ¶
func (egw *EdgeGateway) DeleteLbAppProfileByName(name string) error
DeleteLbAppProfileByName wraps DeleteLbAppProfile and requires only Name for deletion
func (*EdgeGateway) DeleteLbAppRule ¶
func (egw *EdgeGateway) DeleteLbAppRule(lbAppRuleConfig *types.LbAppRule) error
DeleteLbAppRule is able to delete the types.LbAppRule type by Name and/or ID. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) DeleteLbAppRuleById ¶
func (egw *EdgeGateway) DeleteLbAppRuleById(id string) error
DeleteLBAppRuleById wraps DeleteLbAppRule and requires only ID for deletion
func (*EdgeGateway) DeleteLbAppRuleByName ¶
func (egw *EdgeGateway) DeleteLbAppRuleByName(name string) error
DeleteLbAppRuleByName wraps DeleteLbAppRule and requires only Name for deletion
func (*EdgeGateway) DeleteLbServerPool ¶
func (egw *EdgeGateway) DeleteLbServerPool(lbPoolConfig *types.LbPool) error
DeleteLbServerPool is able to delete the types.LbPool type by Name and/or ID. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) DeleteLbServerPoolById ¶
func (egw *EdgeGateway) DeleteLbServerPoolById(id string) error
DeleteLbServerPoolById wraps DeleteLbServerPool and requires only ID for deletion
func (*EdgeGateway) DeleteLbServerPoolByName ¶
func (egw *EdgeGateway) DeleteLbServerPoolByName(name string) error
DeleteLbServerPoolByName wraps DeleteLbServerPool and requires only Name for deletion
func (*EdgeGateway) DeleteLbServiceMonitor ¶
func (egw *EdgeGateway) DeleteLbServiceMonitor(lbMonitorConfig *types.LbMonitor) error
DeleteLbServiceMonitor is able to delete the types.LbMonitor type by Name and/or ID. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) DeleteLbServiceMonitorById ¶
func (egw *EdgeGateway) DeleteLbServiceMonitorById(id string) error
DeleteLbServiceMonitorById wraps DeleteLbServiceMonitor and requires only ID for deletion
func (*EdgeGateway) DeleteLbServiceMonitorByName ¶
func (egw *EdgeGateway) DeleteLbServiceMonitorByName(name string) error
DeleteLbServiceMonitorByName wraps DeleteLbServiceMonitor and requires only Name for deletion
func (*EdgeGateway) DeleteLbVirtualServer ¶
func (egw *EdgeGateway) DeleteLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) error
DeleteLbVirtualServer is able to delete the types.LbVirtualServer type by Name and/or ID. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) DeleteLbVirtualServerById ¶
func (egw *EdgeGateway) DeleteLbVirtualServerById(id string) error
DeleteLbVirtualServerById wraps DeleteLbVirtualServer and requires only ID for deletion
func (*EdgeGateway) DeleteLbVirtualServerByName ¶
func (egw *EdgeGateway) DeleteLbVirtualServerByName(name string) error
DeleteLbVirtualServerByName wraps DeleteLbVirtualServer and requires only Name for deletion
func (*EdgeGateway) DeleteNsxvFirewallRuleById ¶
func (egw *EdgeGateway) DeleteNsxvFirewallRuleById(id string) error
DeleteNsxvFirewallRuleById deletes types.EdgeFirewallRule by real (not the number shown in UI) firewall rule ID as shown in the UI using proxied NSX-V API. It returns and error `ErrorEntityNotFound` if the firewall rule is not found.
func (*EdgeGateway) DeleteNsxvNatRuleById ¶
func (egw *EdgeGateway) DeleteNsxvNatRuleById(id string) error
DeleteNsxvNatRuleById deletes types.EdgeNatRule by NAT rule ID as shown in the UI using proxied NSX-V API. It returns and error `ErrorEntityNotFound` if the NAT rule is now found.
func (*EdgeGateway) GetAllNsxvFirewallRules ¶
func (egw *EdgeGateway) GetAllNsxvFirewallRules() ([]*types.EdgeFirewallRule, error)
GetAllNsxvFirewallRules retrieves all firewall rules and returns []*types.EdgeFirewallRule or an error of type ErrorEntityNotFound if there are no firewall rules
func (*EdgeGateway) GetAnyVnicIndexByNetworkName ¶
func (egw *EdgeGateway) GetAnyVnicIndexByNetworkName(networkName string) (*int, string, error)
GetAnyVnicIndexByNetworkName parses XML structure of vNic mapping to networks in edge gateway XML and returns *int of vNic index and network type by network name networkName cannot be empty networkType will be one of: 'internal', 'uplink', 'trunk', 'subinterface'
Warning: this function assumes that there are no duplicate network names attached. If it is so this function will return the first network
func (*EdgeGateway) GetFirewallConfig ¶
func (egw *EdgeGateway) GetFirewallConfig() (*types.FirewallConfigWithXml, error)
GetFirewallConfig retrieves firewall configuration and can be used to alter master configuration options. These are 3 fields only: FirewallConfigWithXml.Enabled, FirewallConfigWithXml.DefaultPolicy.LoggingEnabled and FirewallConfigWithXml.DefaultPolicy.Action
func (*EdgeGateway) GetLBGeneralParams ¶
func (egw *EdgeGateway) GetLBGeneralParams() (*types.LbGeneralParamsWithXml, error)
GetLBGeneralParams retrieves load balancer configuration of `&types.LoadBalancer` and can be used to access global configuration options. These are 4 fields only: LoadBalancer.Enabled, LoadBalancer.AccelerationEnabled, LoadBalancer.Logging.Enable, LoadBalancer.Logging.LogLevel
func (*EdgeGateway) GetLbAppProfileById ¶
func (egw *EdgeGateway) GetLbAppProfileById(id string) (*types.LbAppProfile, error)
GetLbAppProfileById wraps getLbAppProfile and needs only an ID for lookup
func (*EdgeGateway) GetLbAppProfileByName ¶
func (egw *EdgeGateway) GetLbAppProfileByName(name string) (*types.LbAppProfile, error)
GetLbAppProfileByName wraps getLbAppProfile and needs only a Name for lookup
func (*EdgeGateway) GetLbAppRuleById ¶
func (egw *EdgeGateway) GetLbAppRuleById(id string) (*types.LbAppRule, error)
ReadLBAppRuleById wraps getLbAppRule and needs only an ID for lookup
func (*EdgeGateway) GetLbAppRuleByName ¶
func (egw *EdgeGateway) GetLbAppRuleByName(name string) (*types.LbAppRule, error)
GetLbAppRuleByName wraps getLbAppRule and needs only a Name for lookup
func (*EdgeGateway) GetLbServerPoolById ¶
func (egw *EdgeGateway) GetLbServerPoolById(id string) (*types.LbPool, error)
GetLbServerPoolByName wraps getLbServerPool and needs only an ID for lookup
func (*EdgeGateway) GetLbServerPoolByName ¶
func (egw *EdgeGateway) GetLbServerPoolByName(name string) (*types.LbPool, error)
GetLbServerPoolByName wraps getLbServerPool and needs only a Name for lookup
func (*EdgeGateway) GetLbServiceMonitorById ¶
func (egw *EdgeGateway) GetLbServiceMonitorById(id string) (*types.LbMonitor, error)
GetLbServiceMonitorById wraps getLbServiceMonitor and needs only an ID for lookup
func (*EdgeGateway) GetLbServiceMonitorByName ¶
func (egw *EdgeGateway) GetLbServiceMonitorByName(name string) (*types.LbMonitor, error)
GetLbServiceMonitorByName wraps getLbServiceMonitor and needs only a Name for lookup
func (*EdgeGateway) GetLbVirtualServerById ¶
func (egw *EdgeGateway) GetLbVirtualServerById(id string) (*types.LbVirtualServer, error)
GetLbVirtualServerById wraps getLbVirtualServer and needs only an ID for lookup
func (*EdgeGateway) GetLbVirtualServerByName ¶
func (egw *EdgeGateway) GetLbVirtualServerByName(name string) (*types.LbVirtualServer, error)
GetLbVirtualServerByName wraps getLbVirtualServer and needs only a Name for lookup
func (*EdgeGateway) GetNatRule ¶
func (egw *EdgeGateway) GetNatRule(id string) (*types.NatRule, error)
GetNatRule returns NAT rule or error.
func (*EdgeGateway) GetNetworkNameAndTypeByVnicIndex ¶
func (egw *EdgeGateway) GetNetworkNameAndTypeByVnicIndex(vNicIndex int) (string, string, error)
GetNetworkNameAndTypeByVnicIndex returns network name and network type for given vNic index returned networkType can be one of: 'internal', 'uplink', 'trunk', 'subinterface'
func (*EdgeGateway) GetNetworks ¶
func (egw *EdgeGateway) GetNetworks() ([]SimpleNetworkIdentifier, error)
GetNetworks returns the list of networks associated with an edge gateway In the return structure, an interfaceType of "uplink" indicates an external network, while "internal" is for Org VDC routed networks
func (*EdgeGateway) GetNsxvFirewallRuleById ¶
func (egw *EdgeGateway) GetNsxvFirewallRuleById(id string) (*types.EdgeFirewallRule, error)
GetNsxvFirewallRuleById retrieves types.EdgeFirewallRule by real (not the number shown in UI) firewall rule ID as shown in the UI using proxied NSX-V API. It returns and error `ErrorEntityNotFound` if the firewall rule is not found
func (*EdgeGateway) GetNsxvNatRuleById ¶
func (egw *EdgeGateway) GetNsxvNatRuleById(id string) (*types.EdgeNatRule, error)
GetNsxvNatRuleById retrieves types.EdgeNatRule by NAT rule ID as shown in the UI using proxied NSX-V API. It returns and error `ErrorEntityNotFound` if the NAT rule is now found.
func (*EdgeGateway) GetVnicIndexByNetworkNameAndType ¶
func (egw *EdgeGateway) GetVnicIndexByNetworkNameAndType(networkName, networkType string) (*int, error)
GetVnicIndexByNetworkNameAndType returns *int of vNic index for specified network name and network type networkType one of: 'internal', 'uplink', 'trunk', 'subinterface' networkName cannot be empty
func (*EdgeGateway) HasAdvancedNetworking ¶
func (egw *EdgeGateway) HasAdvancedNetworking() bool
HasAdvancedNetworking returns true if the edge gateway has advanced network configuration enabled
func (*EdgeGateway) HasDefaultGateway ¶
func (egw *EdgeGateway) HasDefaultGateway() bool
HasDefaultGateway returns true if the edge gateway uses one of the external networks as default gateway
func (*EdgeGateway) Refresh ¶
func (egw *EdgeGateway) Refresh() error
func (*EdgeGateway) Remove1to1Mapping ¶
func (egw *EdgeGateway) Remove1to1Mapping(internal, external string) (Task, error)
func (*EdgeGateway) RemoveIpsecVPN ¶
func (egw *EdgeGateway) RemoveIpsecVPN() (Task, error)
Removes an Edge Gateway VPN, by passing an empty configuration
func (*EdgeGateway) RemoveNATMapping
deprecated
func (egw *EdgeGateway) RemoveNATMapping(natType, externalIP, internalIP, port string) (Task, error)
Deprecated: use one of RemoveNATRuleAsync, RemoveNATRule
func (*EdgeGateway) RemoveNATPortMapping
deprecated
func (egw *EdgeGateway) RemoveNATPortMapping(natType, externalIP, externalPort, internalIP, internalPort string) (Task, error)
Deprecated: use one of RemoveNATRuleAsync, RemoveNATRule
func (*EdgeGateway) RemoveNATRule ¶
func (egw *EdgeGateway) RemoveNATRule(id string) error
RemoveNATRule removes NAT removes NAT rule identified by ID and handles task. Returns error if issues rise. Old functions RemoveNATPortMapping and RemoveNATMapping removed using rule details and expected interface to be of external network type.
func (*EdgeGateway) RemoveNATRuleAsync ¶
func (egw *EdgeGateway) RemoveNATRuleAsync(id string) (Task, error)
RemoveNATRuleAsync removes NAT rule or returns an error. Old functions RemoveNATPortMapping and RemoveNATMapping removed using rule details and expected interface to be of external network type.
func (*EdgeGateway) UpdateFirewallConfig ¶
func (egw *EdgeGateway) UpdateFirewallConfig(enabled, defaultLoggingEnabled bool, defaultAction string) (*types.FirewallConfigWithXml, error)
UpdateFirewallConfig allows to update firewall configuration. It accepts three fields (Enabled, DefaultLoggingEnabled, DefaultAction) and uses them to construct types.FirewallConfigWithXml without altering other options to prevent config corruption. They are represented in firewall configuration page in the UI.
func (*EdgeGateway) UpdateLBGeneralParams ¶
func (egw *EdgeGateway) UpdateLBGeneralParams(enabled, accelerationEnabled, loggingEnabled bool, logLevel string) (*types.LbGeneralParamsWithXml, error)
UpdateLBGeneralParams allows to update global load balancer configuration. It accepts four fields (Enabled, AccelerationEnabled, Logging.Enable, Logging.LogLevel) and uses them to construct types.LbGeneralParamsWithXml without altering other options to prevent config corruption. They are represented in load balancer global configuration tab in the UI.
func (*EdgeGateway) UpdateLbAppProfile ¶
func (egw *EdgeGateway) UpdateLbAppProfile(lbAppProfileConfig *types.LbAppProfile) (*types.LbAppProfile, error)
UpdateLbAppProfile updates types.LbAppProfile with all fields. At least name or ID must be specified. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) UpdateLbAppRule ¶
func (egw *EdgeGateway) UpdateLbAppRule(lbAppRuleConfig *types.LbAppRule) (*types.LbAppRule, error)
UpdateLbAppRule updates types.LbAppRule with all fields. At least name or ID must be specified. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) UpdateLbServerPool ¶
func (egw *EdgeGateway) UpdateLbServerPool(lbPoolConfig *types.LbPool) (*types.LbPool, error)
UpdateLbServerPool updates types.LbPool with all fields. At least name or ID must be specified. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match. Name and Algorithm fields must be populated.
func (*EdgeGateway) UpdateLbServiceMonitor ¶
func (egw *EdgeGateway) UpdateLbServiceMonitor(lbMonitorConfig *types.LbMonitor) (*types.LbMonitor, error)
UpdateLbServiceMonitor updates types.LbMonitor with all fields. At least name or ID must be specified. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match.
func (*EdgeGateway) UpdateLbVirtualServer ¶
func (egw *EdgeGateway) UpdateLbVirtualServer(lbVirtualServerConfig *types.LbVirtualServer) (*types.LbVirtualServer, error)
UpdateLbVirtualServer updates types.LbVirtualServer with all fields. At least name or ID must be specified. If both - Name and ID are specified it performs a lookup by ID and returns an error if the specified name and found name do not match. Name, Protocol, Port and IpAddress fields must be populated
func (*EdgeGateway) UpdateNatRule ¶
func (egw *EdgeGateway) UpdateNatRule(natRule *types.NatRule) (*types.NatRule, error)
UpdateNatRule updates NAT rule and handles task. Returns updated NAT rule or error.
func (*EdgeGateway) UpdateNatRuleAsync ¶
func (egw *EdgeGateway) UpdateNatRuleAsync(natRule *types.NatRule) (Task, error)
UpdateNatRuleAsync updates NAT rule and returns task or error.
func (*EdgeGateway) UpdateNsxvFirewallRule ¶
func (egw *EdgeGateway) UpdateNsxvFirewallRule(firewallRuleConfig *types.EdgeFirewallRule) (*types.EdgeFirewallRule, error)
UpdateNsxvFirewallRule updates types.EdgeFirewallRule with all fields using proxied NSX-V API. Real firewall rule ID (not the number shown in UI) is mandatory to perform the update.
func (*EdgeGateway) UpdateNsxvNatRule ¶
func (egw *EdgeGateway) UpdateNsxvNatRule(natRuleConfig *types.EdgeNatRule) (*types.EdgeNatRule, error)
UpdateNsxvNatRule updates types.EdgeNatRule with all fields using proxied NSX-V API. ID is mandatory to perform the update.
type EdgeGatewayCreation ¶
type EdgeGatewayCreation struct { ExternalNetworks []string // List of external networks to be linked to this gateway DefaultGateway string // Which network should be used as default gateway (empty name = no default gateway) OrgName string // parent Org VdcName string // parent VDC Name string // edge gateway name Description string // Optional description BackingConfiguration string // Type of backing configuration (compact, full) AdvancedNetworkingEnabled bool // enable advanced gateway HAEnabled bool // enable HA UseDefaultRouteForDNSRelay bool // True if the default gateway should be used as the DNS relay DistributedRoutingEnabled bool // If advanced networking enabled, also enable distributed routing }
Simple structure to pass Edge Gateway creation parameters.
type EjectTask ¶
type EjectTask struct { *Task // contains filtered or unexported fields }
func NewEjectTask ¶
Creates wrapped Task which is dedicated for eject media functionality and provides additional functionality to answer VM questions
func (*EjectTask) WaitInspectTaskCompletion ¶
function which handles answers for ejecting
func (*EjectTask) WaitTaskCompletion ¶
Checks the status of the task every 3 seconds and returns when the eject task is either completed or failed
type Envelope ¶
type Envelope struct { File []struct { HREF string `xml:"href,attr"` ID string `xml:"id,attr"` Size int `xml:"size,attr"` ChunkSize int `xml:"chunkSize,attr"` } `xml:"References>File"` }
Envelope is a ovf description root element. File contains information for vmdk files. Namespace: http://schemas.dmtf.org/ovf/envelope/1 Description: Envelope is a ovf description root element. File contains information for vmdk files..
type ExternalNetwork ¶
type ExternalNetwork struct { ExternalNetwork *types.ExternalNetwork // contains filtered or unexported fields }
func GetExternalNetwork ¶
func GetExternalNetwork(vcdClient *VCDClient, networkName string) (*ExternalNetwork, error)
GetExternalNetwork returns an ExternalNetwork reference if user the network name matches an existing one. If no valid external network is found, it returns an empty ExternalNetwork reference and an error Deprecated: use vcdClient.GetExternalNetworkByName instead
func NewExternalNetwork ¶
func NewExternalNetwork(cli *Client) *ExternalNetwork
func (*ExternalNetwork) Delete ¶
func (externalNetwork *ExternalNetwork) Delete() (Task, error)
func (*ExternalNetwork) DeleteWait ¶
func (externalNetwork *ExternalNetwork) DeleteWait() error
func (ExternalNetwork) Refresh ¶
func (externalNetwork ExternalNetwork) Refresh() error
type InspectionFunc ¶
type InspectionFunc func(task *types.Task, howManyTimes int, elapsed time.Duration, first, last bool)
This callback function can be passed to task.WaitInspectTaskCompletion to perform user defined operations * task is the task object being processed * howManyTimes is the number of times the task has been refreshed * elapsed is how much time since the task was initially processed * first is true if this is the first refresh of the task * last is true if the function is being called for the last time.
type Media ¶
type Media struct { Media *types.Media // contains filtered or unexported fields }
func (*Media) AddMetadata ¶
AddMetadata adds metadata key/value pair provided as input.
func (*Media) AddMetadataAsync ¶
AddMetadataAsync calls private function addMetadata() with Media.client and Media.Media.HREF which adds metadata key/value pair provided as input.
func (*Media) Delete ¶
Deletes the Media Item, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Media.html
func (*Media) DeleteMetadata ¶
DeleteMetadata deletes metadata depending on key provided as input from media item.
func (*Media) DeleteMetadataAsync ¶
DeleteMetadataAsync calls private function deleteMetadata() with Media.client and Media.Media.HREF which deletes metadata depending on key provided as input from media item.
func (*Media) GetMetadata ¶
GetMetadata calls private function getMetadata() with Media.client and Media.Media.HREF which returns a *types.Metadata struct for provided media item input.
type MediaItem
deprecated
type MediaItem struct { MediaItem *types.MediaRecordType // contains filtered or unexported fields }
Deprecated: use MediaRecord
func NewMediaItem
deprecated
func (*MediaItem) AddMetadata ¶
AddMetadata adds metadata key/value pair provided as input. Deprecated: Use MediaRecord.AddMetadata
func (*MediaItem) AddMetadataAsync ¶
AddMetadataAsync calls private function addMetadata() with mediaItem.client and mediaItem.MediaItem.HREF which adds metadata key/value pair provided as input. Deprecated: Use MediaRecord.AddMetadataAsync
func (*MediaItem) Delete ¶
Deletes the Media Item, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Media.html Deprecated: Use MediaRecord.Delete
func (*MediaItem) DeleteMetadata ¶
DeleteMetadata deletes metadata depending on key provided as input from media item. Deprecated: Use MediaRecord.DeleteMetadata
func (*MediaItem) DeleteMetadataAsync ¶
DeleteMetadataAsync calls private function deleteMetadata() with mediaItem.client and mediaItem.MediaItem.HREF which deletes metadata depending on key provided as input from media item. Deprecated: Use MediaRecord.DeleteMetadataAsync
func (*MediaItem) GetMetadata ¶
GetMetadata calls private function getMetadata() with mediaItem.client and mediaItem.MediaItem.HREF which returns a *types.Metadata struct for provided media item input. Deprecated: Use MediaRecord.GetMetadata
type MediaRecord ¶
type MediaRecord struct { MediaRecord *types.MediaRecordType // contains filtered or unexported fields }
func NewMediaRecord ¶
func NewMediaRecord(cli *Client) *MediaRecord
func (*MediaRecord) AddMetadata ¶
func (mediaRecord *MediaRecord) AddMetadata(key string, value string) (*MediaRecord, error)
AddMetadata adds metadata key/value pair provided as input.
func (*MediaRecord) AddMetadataAsync ¶
func (mediaRecord *MediaRecord) AddMetadataAsync(key string, value string) (Task, error)
AddMetadataAsync calls private function addMetadata() with MediaRecord.client and MediaRecord.MediaRecord.HREF which adds metadata key/value pair provided as input.
func (*MediaRecord) Delete ¶
func (mediaRecord *MediaRecord) Delete() (Task, error)
Deletes the Media Item, returning an error if the vCD call fails. Link to API call: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Media.html
func (*MediaRecord) DeleteMetadata ¶
func (mediaRecord *MediaRecord) DeleteMetadata(key string) error
DeleteMetadata deletes metadata depending on key provided as input from media item.
func (*MediaRecord) DeleteMetadataAsync ¶
func (mediaRecord *MediaRecord) DeleteMetadataAsync(key string) (Task, error)
DeleteMetadataAsync calls private function deleteMetadata() with MediaRecord.client and MediaRecord.MediaRecord.HREF which deletes metadata depending on key provided as input from media item.
func (*MediaRecord) GetMetadata ¶
func (mediaRecord *MediaRecord) GetMetadata() (*types.Metadata, error)
GetMetadata calls private function getMetadata() with MediaRecord.client and MediaRecord.MediaRecord.HREF which returns a *types.Metadata struct for provided media item input.
func (*MediaRecord) Refresh ¶
func (mediaRecord *MediaRecord) Refresh() error
Refresh refreshes the media information by href
type NatRule ¶
type NatRule struct { NatType string NetworkHref string ExternalIP string ExternalPort string InternalIP string InternalPort string Protocol string IcmpSubType string Description string }
Struct which covers NAT rule fields
type Org ¶
type Org struct { Org *types.Org // contains filtered or unexported fields }
func GetOrgByName ¶
If user specifies a valid organization name, then this returns a organization object. If no valid org is found, it returns an empty org and no error. Otherwise it returns an error and an empty Org object Deprecated: Use vcdClient.GetOrgByName instead
func (*Org) CreateCatalog ¶
CreateCatalog creates a catalog with given name and description under the given organization. Returns an Catalog that contains a creation task. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/POST-CreateCatalog.html
func (*Org) FindCatalog ¶
Given a valid catalog name, FindCatalog returns a Catalog object. If no catalog is found, then returns an empty catalog and no error. Otherwise it returns an error. Deprecated: use org.GetCatalogByName instead
func (*Org) GetCatalogByHref ¶
GetCatalogByHref finds a Catalog by HREF On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetCatalogById ¶
GetCatalogById finds a Catalog by ID On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetCatalogByName ¶
GetCatalogByName finds a Catalog by Name On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetCatalogByNameOrId ¶
GetCatalogByNameOrId finds a Catalog by name or ID On success, returns a pointer to the Catalog structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetVDCByHref ¶
GetVDCByHref finds a VDC by HREF On success, returns a pointer to the VDC structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetVDCById ¶
GetVDCById finds a VDC by ID On success, returns a pointer to the VDC structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetVDCByName ¶
GetVDCByName finds a VDC by Name On success, returns a pointer to the VDC structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetVDCByNameOrId ¶
GetVDCByNameOrId finds a VDC by name or ID On success, returns a pointer to the VDC structure and a nil error On failure, returns a nil pointer and an error
func (*Org) GetVdcByName ¶
If user specifies valid vdc name then this returns a vdc object. If no vdc is found, then it returns an empty vdc and no error. Otherwise it returns an empty vdc and an error. Deprecated: use org.GetVDCByName instead
func (*Org) Refresh ¶
Given an org with a valid HREF, the function refetches the org and updates the user's org data. Otherwise if the function fails, it returns an error. Users should use refresh whenever they have a stale org due to the creation/update/deletion of a resource within the org or the org itself.
type OrgUser ¶
type OrgUser struct { User *types.User AdminOrg *AdminOrg // needed to be able to update, as the list of roles is found in the Org // contains filtered or unexported fields }
Definition of an OrgUser
func (*OrgUser) ChangePassword ¶
ChangePassword changes user's password Constraints: the password must be non-empty, with a minimum of 6 characters
func (*OrgUser) ChangeRole ¶
ChangeRole changes a user's role Fails is we try to set the same role as the current one. Also fails if the provided role name is not found.
func (*OrgUser) Delete ¶
Delete removes the user, returning an error if the call fails. if requested, it will attempt to take ownership before the removal. API Documentation: https://code.vmware.com/apis/442/vcloud-director#/doc/doc/operations/DELETE-User.html Note: in the GUI we need to disable the user before deleting. There is no such constraint with the API.
Expected behaviour: with takeOwnership = true, all entities owned by the user being deleted will be transferred to the caller. with takeOwnership = false, if the user own catalogs, networks, or running VMs/vApps, the call will fail.
If the user owns only powered-off VMs/vApps, the call will succeeds and the VMs/vApps will be removed.
func (*OrgUser) GetRoleName ¶
GetRoleName retrieves the name of the role currently assigned to the user
func (*OrgUser) TakeOwnership ¶
TakeOwnership takes ownership of the user's objects. Ownership is transferred to the caller. This is a call to make before deleting. Calling user.DeleteTakeOwnership() will run TakeOwnership before the actual user removal. API Documentation: https://code.vmware.com/apis/442/vcloud-director#/doc/doc/operations/POST-TakeOwnership.html
func (*OrgUser) Unlock ¶
Unlock unlocks a user that was locked out by the system. Note that there is no procedure to LOCK a user: it is locked by the system when it exceeds the number of unauthorized access attempts
func (*OrgUser) Update ¶
Update updates the user, using its own configuration data returning an error if the call fails. API Documentation: https://code.vmware.com/apis/442/vcloud-director#/doc/doc/operations/PUT-User.html
func (*OrgUser) UpdateSimple ¶
func (user *OrgUser) UpdateSimple(userData OrgUserConfiguration) error
UpdateSimple updates the user, using ALL the fields in userData structure returning an error if the call fails. Careful: DeployedVmQuota and StoredVmQuota use a `0` value to mean "unlimited"
type OrgUserConfiguration ¶
type OrgUserConfiguration struct { Name string // Mandatory Password string // Mandatory RoleName string // Mandatory ProviderType string // Optional: defaults to "INTEGRATED" IsEnabled bool // Optional: defaults to false IsLocked bool // Only used for updates DeployedVmQuota int // Optional: 0 means "unlimited" StoredVmQuota int // Optional: 0 means "unlimited" FullName string // Optional Description string // Optional EmailAddress string // Optional Telephone string // Optional IM string // Optional }
Simplified structure to insert or modify an organization user
type OrgVDCNetwork ¶
type OrgVDCNetwork struct { OrgVDCNetwork *types.OrgVDCNetwork // contains filtered or unexported fields }
OrgVDCNetwork an org vdc network client
func NewOrgVDCNetwork ¶
func NewOrgVDCNetwork(cli *Client) *OrgVDCNetwork
NewOrgVDCNetwork creates an org vdc network client
func (*OrgVDCNetwork) Delete ¶
func (orgVdcNet *OrgVDCNetwork) Delete() (Task, error)
Delete a network. Fails if the network is busy. Returns a task to monitor the deletion.
func (*OrgVDCNetwork) Refresh ¶
func (orgVdcNet *OrgVDCNetwork) Refresh() error
type OrgVdcRecord ¶
type OrgVdcRecord struct { OrgVdc *types.QueryResultOrgVdcRecordType // contains filtered or unexported fields }
func NewOrgVdcRecord ¶
func NewOrgVdcRecord(cli *Client) *OrgVdcRecord
create instance with reference to types.OrgVdcRecord
type Results ¶
type Results struct { Results *types.QueryResultRecordsType // contains filtered or unexported fields }
func NewResults ¶
type SimpleNetworkIdentifier ¶
Simplified structure used to list networks connected to an edge gateway
type SupportedVersions ¶
type SupportedVersions struct {
VersionInfos `xml:"VersionInfo"`
}
type Task ¶
type Task struct { Task *types.Task // contains filtered or unexported fields }
func CreateAndConfigureEdgeGatewayAsync ¶
func CreateAndConfigureEdgeGatewayAsync(vcdClient *VCDClient, orgName, vdcName, egwName string, egwConfiguration *types.EdgeGateway) (Task, error)
CreateAndConfigureEdgeGatewayAsync creates an edge gateway using a full configuration structure
func CreateEdgeGatewayAsync ¶
func CreateEdgeGatewayAsync(vcdClient *VCDClient, egwc EdgeGatewayCreation) (Task, error)
CreateEdgeGatewayAsync creates an edge gateway using a simplified configuration structure https://code.vmware.com/apis/442/vcloud-director/doc/doc/operations/POST-CreateEdgeGateway.html
func CreateExternalNetwork ¶
func CreateExternalNetwork(vcdClient *VCDClient, externalNetworkData *types.ExternalNetwork) (Task, error)
CreateExternalNetwork allows create external network and returns Task or error. types.ExternalNetwork struct is general and used for various types of networks. But for external network fence mode is always isolated, isInherited is false, parentNetwork is empty.
func CreateOrg ¶
func CreateOrg(vcdClient *VCDClient, name string, fullName string, description string, settings *types.OrgSettings, isEnabled bool) (Task, error)
Creates an Admin Organization based on settings, description, and org name. The Organization created will have these settings specified in the settings parameter. The settings variable is defined in types.go. Method will fail unless user has an admin token. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/POST-CreateOrganization.html Organization creation in vCD has two bugs BZ 2177355, BZ 2228936 (fixes are in 9.1.0.3 and 9.5.0.2) which require organization settings to be provided as workarounds. At least one element among DelayAfterPowerOnSeconds, DeployedVMQuota, StoredVmQuota, UseServerBootSequence, getVdcQuota should be set when providing generalOrgSettings. If either VAppLeaseSettings or VAppTemplateLeaseSettings is provided then all elements need to have values, otherwise don't provide them at all. Overall elements must be in the correct order.
func (*Task) CancelTask ¶
func (*Task) GetTaskProgress ¶
func (*Task) WaitInspectTaskCompletion ¶
func (task *Task) WaitInspectTaskCompletion(inspectionFunc InspectionFunc, delay time.Duration) error
Customizable version of WaitTaskCompletion. Users can define the sleeping duration and an optional callback function for extra monitoring.
func (*Task) WaitTaskCompletion ¶
Checks the status of the task every 3 seconds and returns when the task is either completed or failed
type UploadTask ¶
type UploadTask struct { *Task // contains filtered or unexported fields }
func NewUploadTask ¶
func NewUploadTask(task *Task, uploadProgress *float64, uploadError *error) *UploadTask
Creates wrapped Task which is dedicated for upload functionality and provides additional functionality to monitor upload progress.
func (*UploadTask) GetUploadError ¶
func (uploadTask *UploadTask) GetUploadError() error
func (*UploadTask) GetUploadProgress ¶
func (uploadTask *UploadTask) GetUploadProgress() string
func (*UploadTask) ShowUploadProgress ¶
func (uploadTask *UploadTask) ShowUploadProgress() error
type VApp ¶
type VApp struct { VApp *types.VApp // contains filtered or unexported fields }
func (*VApp) AddIsolatedNetwork ¶
func (vapp *VApp) AddIsolatedNetwork(newIsolatedNetworkSettings *VappNetworkSettings) (Task, error)
Function allows to create isolated network for vApp. This is equivalent to vCD UI function - vApp network creation.
func (*VApp) AddMetadata ¶
AddMetadata calls private function addMetadata() with vapp.client and vapp.VApp.HREF which adds metadata key/value pair provided as input
func (*VApp) AddNewVM ¶
func (vapp *VApp) AddNewVM(name string, vappTemplate VAppTemplate, network *types.NetworkConnectionSection, acceptAllEulas bool) (Task, error)
AddNewVM adds VM from vApp template with custom NetworkConnectionSection
func (*VApp) AddRAWNetworkConfig ¶
AddRAWNetworkConfig adds existing VDC network to vApp
func (*VApp) AddVM
deprecated
func (vapp *VApp) AddVM(orgVdcNetworks []*types.OrgVDCNetwork, vappNetworkName string, vappTemplate VAppTemplate, name string, acceptAllEulas bool) (Task, error)
AddVM create vm in vApp using vApp template orgVdcNetworks - adds org VDC networks to be available for vApp. Can be empty. vappNetworkName - adds vApp network to be available for vApp. Can be empty. vappTemplate - vApp Template which will be used for VM creation. name - name for VM. acceptAllEulas - setting allows to automatically accept or not Eulas.
Deprecated: Use vapp.AddNewVM instead for more sophisticated network handling
func (*VApp) BlockWhileStatus ¶
BlockWhileStatus blocks until the status of vApp exits unwantedStatus. It sleeps 200 milliseconds between iterations and times out after timeOutAfterSeconds of seconds.
func (*VApp) ChangeCPUCount ¶
Sets number of available virtual logical processors (i.e. CPUs x cores per socket) https://communities.vmware.com/thread/576209 Deprecated: Use vm.ChangeCPUcount()
func (*VApp) ChangeCPUCountWithCore ¶
Sets number of available virtual logical processors (i.e. CPUs x cores per socket) and cores per socket. Socket count is a result of: virtual logical processors/cores per socket https://communities.vmware.com/thread/576209 Deprecated: Use vm.ChangeCPUCountWithCore()
func (*VApp) ChangeMemorySize ¶
Deprecated as it changes only first VM's memory
func (*VApp) ChangeNetworkConfig ¶
func (*VApp) ChangeStorageProfile ¶
func (*VApp) ChangeVMName ¶
Deprecated as it changes only first VM's name
func (*VApp) DeleteMetadata ¶
DeleteMetadata() function calls private function deleteMetadata() with vapp.client and vapp.VApp.HREF which deletes metadata depending on key provided as input from vApp.
func (*VApp) GetMetadata ¶
GetMetadata calls private function getMetadata() with vapp.client and vapp.VApp.HREF which returns a *types.Metadata struct for provided vapp input.
func (*VApp) GetNetworkConfig ¶
func (*VApp) GetNetworkConnectionSection ¶
func (*VApp) GetProductSectionList ¶
GetProductSectionList retrieves product section for a vApp. It allows to read vApp guest properties.
The slice of properties "ProductSectionList.ProductSection.Property" is not necessarily ordered or returned as set before
func (*VApp) GetVMById ¶
GetVMById returns a VM reference if the VM ID matches an existing one. If no valid VM is found, it returns a nil VM reference and an error
func (*VApp) GetVMByName ¶
GetVMByName returns a VM reference if the VM name matches an existing one. If no valid VM is found, it returns a nil VM reference and an error
func (*VApp) GetVMByNameOrId ¶
GetVMByNameOrId returns a VM reference if either the VM name or ID matches an existing one. If no valid VM is found, it returns a nil VM reference and an error
func (*VApp) RemoveAllNetworks ¶
RemoveAllNetworks detaches all networks from vApp
func (*VApp) RemoveIsolatedNetwork ¶
Removes vApp isolated network
func (*VApp) RunCustomizationScript ¶
func (*VApp) SetProductSectionList ¶
func (vapp *VApp) SetProductSectionList(productSection *types.ProductSectionList) (*types.ProductSectionList, error)
SetProductSectionList sets product section for a vApp. It allows to change vApp guest properties.
The slice of properties "ProductSectionList.ProductSection.Property" is not necessarily ordered or returned as set before
type VAppTemplate ¶
type VAppTemplate struct { VAppTemplate *types.VAppTemplate // contains filtered or unexported fields }
func NewVAppTemplate ¶
func NewVAppTemplate(cli *Client) *VAppTemplate
func (*VAppTemplate) AddMetadata ¶
func (vAppTemplate *VAppTemplate) AddMetadata(key string, value string) (*VAppTemplate, error)
AddMetadata adds metadata key/value pair provided as input and returned update VAppTemplate
func (*VAppTemplate) AddMetadataAsync ¶
func (vAppTemplate *VAppTemplate) AddMetadataAsync(key string, value string) (Task, error)
AddMetadataAsync calls private function addMetadata() with vAppTemplate.client and vAppTemplate.VAppTemplate.HREF which adds metadata key/value pair provided as input.
func (*VAppTemplate) DeleteMetadata ¶
func (vAppTemplate *VAppTemplate) DeleteMetadata(key string) error
DeleteMetadata deletes metadata depending on key provided as input from media item.
func (*VAppTemplate) DeleteMetadataAsync ¶
func (vAppTemplate *VAppTemplate) DeleteMetadataAsync(key string) (Task, error)
DeleteMetadataAsync calls private function deleteMetadata() with vAppTemplate.client and vAppTemplate.VAppTemplate.HREF which deletes metadata depending on key provided as input from catalog item.
func (*VAppTemplate) GetMetadata ¶
func (vAppTemplate *VAppTemplate) GetMetadata() (*types.Metadata, error)
GetMetadata calls private function getMetadata() with catalogItem.client and catalogItem.CatalogItem.HREF which returns a *types.Metadata struct for provided catalog item input.
func (*VAppTemplate) Refresh ¶
func (vAppTemplate *VAppTemplate) Refresh() error
Refresh refreshes the vApp template item information by href
type VCDClient ¶
type VCDClient struct { Client Client // Client for the underlying VCD instance QueryHREF url.URL // HREF for the query API Mutex sync.Mutex // contains filtered or unexported fields }
func NewVCDClient ¶
func NewVCDClient(vcdEndpoint url.URL, insecure bool, options ...VCDClientOption) *VCDClient
NewVCDClient initializes VMware vCloud Director client with reasonable defaults. It accepts functions of type VCDClientOption for adjusting defaults.
func (*VCDClient) APIClientVersionIs ¶
APIClientVersionIs allows to compare against currently used API version VCDClient.Client.APIVersion. Can be useful to validate if a certain feature can be used or not. It does not require for the client to be authenticated.
Format: ">= 27.0, < 32.0", ">= 30.0", "= 27.0"
vCD version mapping to API version support https://code.vmware.com/doc/preview?id=8072
func (*VCDClient) APIVCDMaxVersionIs ¶
APIVCDMaxVersionIs compares against maximum vCD supported API version from /api/versions (not necessarily the currently used one). This allows to check what is the maximum API version that vCD instance supports and can be used to guess vCD product version. API 31.0 support was first introduced in vCD 9.5 (as per https://code.vmware.com/doc/preview?id=8072). Therefore APIMaxVerIs(">= 31.0") implies that you have vCD 9.5 or newer running inside. It does not require for the client to be authenticated.
Format: ">= 27.0, < 32.0", ">= 30.0", "= 27.0"
vCD version mapping to API version support https://code.vmware.com/doc/preview?id=8072
func (*VCDClient) Authenticate ¶
Authenticate is an helper function that performs a login in vCloud Director.
func (*VCDClient) Disconnect ¶
Disconnect performs a disconnection from the vCloud Director API endpoint.
func (*VCDClient) GetAdminOrgById ¶
GetAdminOrgById finds an Admin Organization by ID On success, returns a pointer to the Admin Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) GetAdminOrgByName ¶
GetAdminOrgByName finds an Admin Organization by name On success, returns a pointer to the Admin Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) GetAdminOrgByNameOrId ¶
GetAdminOrgByNameOrId finds an Admin Organization by name or ID On success, returns a pointer to the Admin Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) GetExternalNetworkById ¶
func (vcdClient *VCDClient) GetExternalNetworkById(id string) (*ExternalNetwork, error)
GetExternalNetworkById returns an ExternalNetwork reference if the network ID matches an existing one. If no valid external network is found, it returns a nil ExternalNetwork reference and an error
func (*VCDClient) GetExternalNetworkByName ¶
func (vcdClient *VCDClient) GetExternalNetworkByName(networkName string) (*ExternalNetwork, error)
GetExternalNetworkByName returns an ExternalNetwork reference if the network name matches an existing one. If no valid external network is found, it returns a nil ExternalNetwork reference and an error
func (*VCDClient) GetExternalNetworkByNameOrId ¶
func (vcdClient *VCDClient) GetExternalNetworkByNameOrId(identifier string) (*ExternalNetwork, error)
GetExternalNetworkByNameOrId returns an ExternalNetwork reference if either the network name or ID matches an existing one. If no valid external network is found, it returns a nil ExternalNetwork reference and an error
func (*VCDClient) GetExternalNetworks ¶
GetExternalNetworks returns a list of available external networks
func (*VCDClient) GetOrgById ¶
GetOrgById finds an Organization by ID On success, returns a pointer to the Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) GetOrgByName ¶
GetOrgByName finds an Organization by name On success, returns a pointer to the Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) GetOrgByNameOrId ¶
GetOrgByNameOrId finds an Organization by name or ID On success, returns a pointer to the Org structure and a nil error On failure, returns a nil pointer and an error
func (*VCDClient) QueryNetworkPools ¶
QueryNetworkPools gets the list of network pools
func (*VCDClient) QueryProviderVdcStorageProfiles ¶
func (vcdClient *VCDClient) QueryProviderVdcStorageProfiles() ([]*types.QueryResultProviderVdcStorageProfileRecordType, error)
QueryProviderVdcStorageProfiles gets the list of provider VDC storage profiles
func (*VCDClient) QueryProviderVdcs ¶
func (vcdClient *VCDClient) QueryProviderVdcs() ([]*types.QueryResultVMWProviderVdcRecordType, error)
QueryProviderVdcs gets the list of available provider VDCs
type VCDClientOption ¶
VCDClientOption defines signature for customizing VCDClient using functional options pattern.
func WithAPIVersion ¶
func WithAPIVersion(version string) VCDClientOption
WithAPIVersion allows to override default API version. Please be cautious about changing the version as the default specified is the most tested.
func WithHttpTimeout ¶
func WithHttpTimeout(timeout int64) VCDClientOption
WithHttpTimeout allows to override default http timeout
func WithMaxRetryTimeout ¶
func WithMaxRetryTimeout(timeoutSeconds int) VCDClientOption
WithMaxRetryTimeout allows default vCDClient MaxRetryTimeout value override
type VM ¶
type VM struct { VM *types.VM // contains filtered or unexported fields }
func (*VM) AddMetadata ¶
AddMetadata calls private function addMetadata() with vm.client and vm.VM.HREF which adds metadata key/value pair provided as input to VM.
func (*VM) AnswerQuestion ¶
Use the provide answer to existing VM question for operation which need additional response Reference: https://code.vmware.com/apis/287/vcloud#/doc/doc/operations/POST-AnswerVmPendingQuestion.html
func (*VM) AttachDisk ¶
Attach an independent disk Call attachOrDetachDisk with disk and types.RelDiskAttach to attach an independent disk. Please verify the independent disk is not connected to any VM before calling this function. If the independent disk is connected to a VM, the task will be failed. Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 164 - 165, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
func (*VM) BlockWhileGuestCustomizationStatus ¶
func (vm *VM) BlockWhileGuestCustomizationStatus(unwantedStatus string, timeOutAfterSeconds int) error
BlockWhileGuestCustomizationStatus blocks until the customization status of VM exits unwantedStatus. It sleeps 3 seconds between iterations and times out after timeOutAfterSeconds of seconds.
timeOutAfterSeconds must be more than 4 and less than 2 hours (60s*120)
func (*VM) ChangeCPUCount ¶
Sets number of available virtual logical processors (i.e. CPUs x cores per socket) Cpu cores count is inherited from template. https://communities.vmware.com/thread/576209
func (*VM) ChangeCPUCountWithCore ¶
Sets number of available virtual logical processors (i.e. CPUs x cores per socket) and cores per socket. Socket count is a result of: virtual logical processors/cores per socket https://communities.vmware.com/thread/576209
func (*VM) ChangeNetworkConfig ¶
ChangeNetworkConfig allows to update existing VM NIC configuration.f
func (*VM) DeleteMetadata ¶
DeleteMetadata() function calls private function deleteMetadata() with vm.client and vm.VM.HREF which deletes metadata depending on key provided as input from VM.
func (*VM) DetachDisk ¶
Detach an independent disk Call attachOrDetachDisk with disk and types.RelDiskDetach to detach an independent disk. Please verify the independent disk is connected the VM before calling this function. If the independent disk is not connected to the VM, the task will be failed. Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 164 - 165, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
func (*VM) EjectMedia ¶
Eject media from VM Call insertOrEjectMedia with media and types.RelMediaEjectMedia to eject media from VM. If media isn't inserted then task still will be successful.
func (*VM) GetGuestCustomizationSection ¶
GetGuestCustomizationSection retrieves guest customization section for a VM. It allows to read VM guest customization properties.
func (*VM) GetGuestCustomizationStatus ¶
GetGuestCustomizationStatus retrieves guest customization status. It can be one of "GC_PENDING", "REBOOT_PENDING", "GC_FAILED", "POST_GC_PENDING", "GC_COMPLETE"
func (*VM) GetMetadata ¶
GetMetadata calls private function getMetadata() with vm.client and vm.VM.HREF which returns a *types.Metadata struct for provided VM input.
func (*VM) GetNetworkConnectionSection ¶
GetNetworkConnectionSection returns current networks attached to VM
The slice of NICs is not necessarily ordered by NIC index
func (*VM) GetProductSectionList ¶
GetProductSectionList retrieves product section for a VM. It allows to read VM guest properties.
The slice of properties "ProductSectionList.ProductSection.Property" is not necessarily ordered or returned as set before
func (*VM) GetQuestion ¶
Use the get existing VM question for operation which need additional response Reference: https://code.vmware.com/apis/287/vcloud#/doc/doc/operations/GET-VmPendingQuestion.html
func (*VM) GetVirtualHardwareSection ¶
GetVirtualHardwareSection returns the virtual hardware items attached to a VM
func (*VM) HandleEjectMedia ¶
Helper function which finds media and calls EjectMedia
func (*VM) HandleEjectMediaAndAnswer ¶
func (vm *VM) HandleEjectMediaAndAnswer(org *Org, catalogName, mediaName string, answerYes bool) (*VM, error)
HandleEjectMediaAndAnswer helper function which finds media, calls EjectMedia, waits for task to complete and answer question. Also waits until VM status refreshes - this added as 9.7-10.0 vCD versions has lag in status update. answerYes - handles question risen when VM is running. True value enforces ejection.
func (*VM) HandleInsertMedia ¶
Helper function which finds media and calls InsertMedia
func (*VM) InsertMedia ¶
Insert media for VM Call insertOrEjectMedia with media and types.RelMediaInsertMedia to insert media from VM.
func (*VM) IsDeployed ¶
IsDeployed checks if the VM is deployed or not
func (*VM) PowerOnAndForceCustomization ¶
PowerOnAndForceCustomization is a synchronous function which is equivalent to the functionality one has in UI. It triggers customization which may be useful in some cases (like altering NICs)
The VM _must_ be un-deployed for this action to actually work.
func (*VM) RunCustomizationScript ¶
func (*VM) SetGuestCustomizationSection ¶
func (vm *VM) SetGuestCustomizationSection(guestCustomizationSection *types.GuestCustomizationSection) (*types.GuestCustomizationSection, error)
SetGuestCustomizationSection sets guest customization section for a VM. It allows to change VM guest customization properties.
func (*VM) SetProductSectionList ¶
func (vm *VM) SetProductSectionList(productSection *types.ProductSectionList) (*types.ProductSectionList, error)
SetProductSectionList sets product section for a VM. It allows to change VM guest properties.
The slice of properties "ProductSectionList.ProductSection.Property" is not necessarily ordered or returned as set before
func (*VM) ToggleHardwareVirtualization ¶
ToggleHardwareVirtualization allows to either enable or disable hardware assisted CPU virtualization for the VM. It can only be performed on a powered off VM and will return an error otherwise. This is mainly useful for hypervisor nesting.
func (*VM) Undeploy ¶
Undeploy triggers a VM undeploy and power off action. "Power off" action in UI behaves this way.
func (*VM) UpdateNetworkConnectionSection ¶
UpdateNetworkConnectionSection applies network configuration of types.NetworkConnectionSection for the VM Runs synchronously, VM is ready for another operation after this function returns.
type VMRecord ¶
type VMRecord struct { VM *types.QueryResultVMRecordType // contains filtered or unexported fields }
func NewVMRecord ¶
create instance with reference to types.QueryResultVMRecordType
type VappNetworkSettings ¶
type VappNetworkSettings struct { Name string Gateway string NetMask string DNS1 string DNS2 string DNSSuffix string GuestVLANAllowed *bool StaticIPRanges []*types.IPRange DhcpSettings *DhcpSettings }
struct type used to pass information for vApp network creation
type Vdc ¶
type Vdc struct { Vdc *types.Vdc VApp *types.VApp // contains filtered or unexported fields }
func (*Vdc) AddMetadata ¶
AddMetadata adds metadata key/value pair provided as input to VDC.
func (*Vdc) AddMetadataAsync ¶
AddMetadata adds metadata key/value pair provided as input to VDC. and returns task
func (*Vdc) ComposeRawVApp ¶
func (*Vdc) ComposeVApp ¶
func (vdc *Vdc) ComposeVApp(orgvdcnetworks []*types.OrgVDCNetwork, vapptemplate VAppTemplate, storageprofileref types.Reference, name string, description string, acceptalleulas bool) (Task, error)
ComposeVApp creates a vapp with the given template, name, and description that uses the storageprofile and networks given. If you want all eulas to be accepted set acceptalleulas to true. Returns a successful task if completed successfully, otherwise returns an error and an empty task.
func (*Vdc) CreateDisk ¶
Create an independent disk in VDC Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0 PDF Page 102 - 103, https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ 241956dd-e128-4fcc-8131-bf66e1edd895/vcloud_sp_api_guide_30_0.pdf
func (*Vdc) CreateOrgVDCNetwork ¶
Fine tuning network creation function. Return an error (the result of the network creation) and a task (used to monitor the network configuration) This function can create any type of Org Vdc network. The exact type is determined by the combination of properties given with the network configuration structure.
func (*Vdc) CreateOrgVDCNetworkWait ¶
A wrapper call around CreateOrgVDCNetwork. Creates a network and then uses the associated task to monitor its configuration
func (*Vdc) Delete ¶
Deletes the vdc, returning an error of the vCD call fails. API Documentation: https://code.vmware.com/apis/220/vcloud#/doc/doc/operations/DELETE-Vdc.html
func (*Vdc) DeleteMetadata ¶
DeleteMetadata() function deletes metadata by key provided as input
func (*Vdc) DeleteMetadataAsync ¶
DeleteMetadata() function deletes metadata by key provided as input and returns task
func (*Vdc) DeleteWait ¶
Deletes the vdc and waits for the asynchronous task to complete.
func (*Vdc) FindDiskByHREF ¶
Find an independent disk by disk href in VDC Deprecated: Use VDC.GetDiskByHref()
func (*Vdc) FindEdgeGateway
deprecated
func (vdc *Vdc) FindEdgeGateway(edgegateway string) (EdgeGateway, error)
Deprecated: use GetEdgeGatewayByName
func (*Vdc) FindMediaImage ¶
FindMediaImage returns media image found in system using `name` as query. Can find a few of them if media with same name exist in different catalogs. Deprecated: Use catalog.GetMediaByName()
func (*Vdc) FindStorageProfileReference ¶
func (*Vdc) FindVAppByID
deprecated
func (*Vdc) FindVAppByName
deprecated
func (*Vdc) FindVDCNetwork
deprecated
func (vdc *Vdc) FindVDCNetwork(network string) (OrgVDCNetwork, error)
Deprecated: use GetOrgVdcNetworkByName
func (*Vdc) GetDefaultStorageProfileReference ¶
func (*Vdc) GetDiskByHref ¶
GetDiskByHref finds a Disk by HREF On success, returns a pointer to the Disk structure and a nil error On failure, returns a nil pointer and an error
func (*Vdc) GetDiskById ¶
GetDiskById finds a Disk by ID On success, returns a pointer to the Disk structure and a nil error On failure, returns a nil pointer and an error
func (*Vdc) GetDisksByName ¶
GetDisksByName finds one or more Disks by Name On success, returns a pointer to the Disk list and a nil error On failure, returns a nil pointer and an error
func (*Vdc) GetEdgeGatewayById ¶
func (vdc *Vdc) GetEdgeGatewayById(id string, refresh bool) (*EdgeGateway, error)
GetEdgeGatewayById search VDC list of edge gateways for a given ID. If the id matches, it returns a pointer to an edge gateway object. On failure, it returns a nil object and an error
func (*Vdc) GetEdgeGatewayByName ¶
func (vdc *Vdc) GetEdgeGatewayByName(name string, refresh bool) (*EdgeGateway, error)
GetEdgeGatewayByName search the VDC list of edge gateways for a given name. If the name matches, it returns a pointer to an edge gateway object. On failure, it returns a nil object and an error
func (*Vdc) GetEdgeGatewayByNameOrId ¶
func (vdc *Vdc) GetEdgeGatewayByNameOrId(identifier string, refresh bool) (*EdgeGateway, error)
GetEdgeGatewayByNameOrId search the VDC list of edge gateways for a given name or ID. If the name or the ID match, it returns a pointer to an edge gateway object. On failure, it returns a nil object and an error
func (*Vdc) GetMetadata ¶
GetMetadata returns meta data for VDC.
func (*Vdc) GetOrgVdcNetworkByHref ¶
func (vdc *Vdc) GetOrgVdcNetworkByHref(href string) (*OrgVDCNetwork, error)
GetOrgVdcNetworkByHref returns an Org VDC Network reference if the network HREF matches an existing one. If no valid external network is found, it returns a nil Network reference and an error
func (*Vdc) GetOrgVdcNetworkById ¶
func (vdc *Vdc) GetOrgVdcNetworkById(id string, refresh bool) (*OrgVDCNetwork, error)
GetOrgVdcNetworkById returns an Org VDC Network reference if the network ID matches an existing one. If no valid external network is found, it returns a nil Network reference and an error
func (*Vdc) GetOrgVdcNetworkByName ¶
func (vdc *Vdc) GetOrgVdcNetworkByName(name string, refresh bool) (*OrgVDCNetwork, error)
GetOrgVdcNetworkByName returns an Org VDC Network reference if the network name matches an existing one. If no valid external network is found, it returns a nil Network reference and an error
func (*Vdc) GetOrgVdcNetworkByNameOrId ¶
func (vdc *Vdc) GetOrgVdcNetworkByNameOrId(identifier string, refresh bool) (*OrgVDCNetwork, error)
GetOrgVdcNetworkByNameOrId returns a VDC Network reference if either the network name or ID matches an existing one. If no valid external network is found, it returns a nil ExternalNetwork reference and an error
func (*Vdc) GetVAppByHref ¶
GetVappByHref returns a vApp reference by running a vCD API call If no valid vApp is found, it returns a nil VApp reference and an error
func (*Vdc) GetVAppById ¶
GetVappById returns a vApp reference if the vApp ID matches an existing one. If no valid vApp is found, it returns a nil VApp reference and an error
func (*Vdc) GetVAppByName ¶
GetVappByName returns a vApp reference if the vApp Name matches an existing one. If no valid vApp is found, it returns a nil VApp reference and an error
func (*Vdc) GetVAppByNameOrId ¶
GetVappByNameOrId returns a vApp reference if either the vApp name or ID matches an existing one. If no valid vApp is found, it returns a nil VApp reference and an error
func (*Vdc) InstantiateVAppTemplate ¶
func (*Vdc) QueryDisk ¶
func (vdc *Vdc) QueryDisk(diskName string) (DiskRecord, error)
QueryDisk find independent disk using disk name. Returns DiskRecord type
func (*Vdc) QueryDisks ¶
QueryDisks find independent disks using disk name. Returns list of DiskRecordType
func (*Vdc) QueryWithNotEncodedParams ¶
func (*Vdc) UploadMediaImage ¶
func (vdc *Vdc) UploadMediaImage(mediaName, mediaDescription, filePath string, uploadPieceSize int64) (UploadTask, error)
Uploads an ISO file as media. This method only uploads bits to vCD spool area. Returns errors if any occur during upload from vCD or upload process. On upload fail client may need to remove vCD catalog item which waits for files to be uploaded. Recommend to use catalog.UploadMediaImage which let's expect in which catalog file will be placed
type VersionInfo ¶
type VersionInfos ¶
type VersionInfos []VersionInfo
Source Files ¶
- admincatalog.go
- adminorg.go
- adminvdc.go
- api.go
- api_vcd.go
- api_vcd_versions.go
- catalog.go
- catalogitem.go
- disk.go
- edgegateway.go
- ejecttask.go
- entity.go
- extension.go
- externalnetwork.go
- lb.go
- lbappprofile.go
- lbapprule.go
- lbserverpool.go
- lbservicemonitor.go
- lbvirtualserver.go
- media.go
- metadata.go
- monitor.go
- nat.go
- nsxv_firewall.go
- org.go
- orgvdcnetwork.go
- productsection.go
- query.go
- system.go
- task.go
- upload.go
- uploadtask.go
- user.go
- vapp.go
- vapptemplate.go
- vdc.go
- vm.go