Documentation ¶
Overview ¶
Package types/v56 provider all types which are used by govcd package in order to perform API requests and parse responses
Index ¶
- Constants
- Variables
- type AccessSetting
- type AccessSettingList
- type AdfsAuthErrorEnvelope
- type AdfsAuthResponseEnvelope
- type AdminCatalog
- type AdminCatalogRecord
- type AdminOrg
- type AdminVdc
- type AdminVdcStorageProfile
- type AvailableNetworks
- type BodyType
- type Capabilities
- type CapacityWithUsage
- type Catalog
- type CatalogItem
- type CatalogItems
- type CatalogRecord
- type CatalogStorageProfiles
- type CatalogsList
- type ComposeVAppParams
- type ComputeCapacity
- type ComputePolicy
- type ControlAccessParams
- type CpuResourceMhz
- type CreateItem
- type CustomOrgLdapSettings
- type CustomizationSection
- type DefaultStorageProfileSection
- type DeleteItem
- type DeployVAppParams
- type DhcpPoolService
- type DhcpService
- type Disk
- type DiskAttachOrDetachParams
- type DiskCreateParams
- type DiskRecordType
- type DiskSection
- type DiskSettings
- type EdgeDhcpLease
- type EdgeDhcpLeaseInfo
- type EdgeDhcpRelay
- type EdgeDhcpRelayAgent
- type EdgeDhcpRelayAgents
- type EdgeDhcpRelayServer
- type EdgeFirewallApplication
- type EdgeFirewallApplicationService
- type EdgeFirewallEndpoint
- type EdgeFirewallRule
- type EdgeGateway
- type EdgeGatewayInterfaces
- type EdgeGatewayServiceConfiguration
- type EdgeGatewayUplinks
- type EdgeGatewayVnics
- type EdgeIpSet
- type EdgeIpSets
- type EdgeNatRule
- type Entity
- type Error
- type Extension
- type ExternalCatalogSubscription
- type ExternalNetwork
- type ExternalNetworkReference
- type ExternalNetworkReferences
- type ExternalNetworkV2
- type ExternalNetworkV2Backing
- type ExternalNetworkV2Backings
- type ExternalNetworkV2IPRange
- type ExternalNetworkV2IPRanges
- type ExternalNetworkV2Subnet
- type ExternalNetworkV2Subnets
- type ExternalSubject
- type File
- type FilesList
- type FirewallConfigWithXml
- type FirewallDefaultPolicy
- type FirewallRule
- type FirewallRuleProtocols
- type FirewallService
- type GatewayConfiguration
- type GatewayDhcpService
- type GatewayFeatures
- type GatewayInterface
- type GatewayInterfaces
- type GatewayIpsecVpnEndpoint
- type GatewayIpsecVpnService
- type GatewayIpsecVpnTunnel
- type GatewayNatRule
- type Group
- type GroupReference
- type GuestCustomizationSection
- type GuestCustomizationStatusSection
- type HardwareVersion
- type IPAddresses
- type IPRange
- type IPRanges
- type IPScope
- type IPScopes
- type InnerXML
- type InstantiateVAppTemplateParams
- type InstantiationParams
- type IpsecVpnLocalPeer
- type IpsecVpnSubnet
- type IpsecVpnThirdPartyPeer
- type LbAppProfile
- type LbAppProfileHttpRedirect
- type LbAppProfilePersistence
- type LbAppProfiles
- type LbAppRule
- type LbAppRules
- type LbGeneralParamsWithXml
- type LbLogging
- type LbMonitor
- type LbMonitors
- type LbPool
- type LbPoolMember
- type LbPoolMembers
- type LbPools
- type LbVirtualServer
- type LeaseSettingsSection
- type Link
- type LinkList
- type LinkPredicate
- type LocalSubject
- type LocalityParams
- type Media
- type MediaInsertOrEjectParams
- type MediaRecordType
- type MediaSection
- type MediaSettings
- type MemoryResourceMb
- type Metadata
- type MetadataEntry
- type MetadataValue
- type NSXError
- type NatOneToOneBasicRule
- type NatOneToOneVMRule
- type NatPortForwardingRule
- type NatRule
- type NatService
- type NatVMRule
- type NetworkAssignment
- type NetworkConfigSection
- type NetworkConfiguration
- type NetworkConnection
- type NetworkConnectionSection
- type NetworkFeatures
- type NetworkProvider
- type NetworksList
- type NsxtEdgeCluster
- type NsxtTier0Router
- type OVFItem
- type OpenAPIEdgeGateway
- type OpenAPIEdgeGatewayBacking
- type OpenAPIEdgeGatewayEdgeCluster
- type OpenAPIEdgeGatewayEdgeClusterConfig
- type OpenAPIEdgeGatewaySubnetValue
- type OpenAPIEdgeGatewaySubnets
- type OpenApiError
- type OpenApiIPRangeValues
- type OpenApiIPRanges
- type OpenApiPages
- type OpenApiReference
- type Org
- type OrgFederationSettings
- type OrgGeneralSettings
- type OrgGroupList
- type OrgLdapGroupAttributes
- type OrgLdapSettingsType
- type OrgLdapUserAttributes
- type OrgList
- type OrgRoleType
- type OrgSettings
- type OrgUserList
- type OrgVDCNetwork
- type Owner
- type PortGroupRecordType
- type ProductSection
- type ProductSectionList
- type Property
- type PublishExternalCatalogParams
- type QueryResultCatalogItemType
- type QueryResultEdgeGatewayRecordType
- type QueryResultEdgeGatewayRecordsType
- type QueryResultNetworkPoolRecordType
- type QueryResultNsxtManagerRecordType
- type QueryResultOrgVdcNetworkRecordType
- type QueryResultOrgVdcStorageProfileRecordType
- type QueryResultProviderVdcStorageProfileRecordType
- type QueryResultRecordsType
- type QueryResultVAppRecordType
- type QueryResultVMRecordType
- type QueryResultVMWProviderVdcRecordType
- type QueryResultVappTemplateType
- type QueryResultVirtualCenterRecordType
- type ReComposeVAppParams
- type RecomposeVAppParamsForEmptyVm
- type Reference
- type ResourceEntities
- type ResourceReference
- type RightsType
- type Role
- type SnapshotItem
- type SnapshotSection
- type SourcedCompositionItemParam
- type StaticRoute
- type StaticRoutingService
- type SubAllocation
- type SubAllocations
- type SubnetParticipation
- type SupportedHardwareVersions
- type Task
- type TasksInProgress
- type TasksList
- type TypedValue
- type UndeployVAppParams
- type User
- type VApp
- type VAppChildren
- type VAppLeaseSettings
- type VAppNetwork
- type VAppNetworkConfiguration
- type VAppTemplate
- type VAppTemplateChildren
- type VAppTemplateLeaseSettings
- type VCloud
- type VCloudExtension
- type VDCList
- type VM
- type VMDiskChange
- type VMGeneralParams
- type VMSelection
- type VMWNetworkPool
- type VMs
- type Value
- type VcdSamlMetadata
- type Vdc
- type VdcComputePolicy
- type VdcComputePolicyReferences
- type VdcConfiguration
- type VdcStorageProfile
- type VdcStorageProfileConfiguration
- type VdcStorageProfileIopsSettings
- type VdcStorageProfiles
- type VendorTemplate
- type VimObjectRef
- type VimObjectRefs
- type VirtualHardwareConnection
- type VirtualHardwareHostResource
- type VirtualHardwareItem
- type VirtualHardwareSection
- type VmAffinityRule
- type VmAffinityRules
- type VmCapabilities
- type VmPendingQuestion
- type VmQueryFilter
- type VmQuestionAnswer
- type VmQuestionAnswerChoiceType
- type VmSpecSection
- type Vms
Constants ¶
const ( // PublicCatalog Name PublicCatalog = "Public Catalog" // DefaultCatalog Name DefaultCatalog = "Default Catalog" // JSONMimeV57 the json mime for version 5.7 of the API JSONMimeV57 = "application/json;version=5.7" // AnyXMLMime511 the wildcard xml mime for version 5.11 of the API AnyXMLMime511 = "application/*+xml;version=5.11" AnyXMLMime = "application/xml" // Version511 the 5.11 version Version511 = "5.11" // Version is the default version number Version = Version511 // SoapXML mime type SoapXML = "application/soap+xml" // JSONMime JSONMime = "application/json" )
const ( // MimeOrgList mime for org list MimeOrgList = "application/vnd.vmware.vcloud.orgList+xml" // MimeOrg mime for org MimeOrg = "application/vnd.vmware.vcloud.org+xml" // MimeAdminOrg mime for admin org MimeAdminOrg = "application/vnd.vmware.admin.organization+xml" // MimeCatalog mime for catalog MimeCatalog = "application/vnd.vmware.vcloud.catalog+xml" // MimeCatalogItem mime for catalog item MimeCatalogItem = "application/vnd.vmware.vcloud.catalogItem+xml" // MimeVDC mime for a VDC MimeVDC = "application/vnd.vmware.vcloud.vdc+xml" // MimeVDC mime for a admin VDC MimeAdminVDC = "application/vnd.vmware.admin.vdc+xml" // MimeEdgeGateway mime for an Edge Gateway MimeEdgeGateway = "application/vnd.vmware.admin.edgeGateway+xml" // MimeVAppTemplate mime for a vapp template MimeVAppTemplate = "application/vnd.vmware.vcloud.vAppTemplate+xml" // MimeVApp mime for a vApp MimeVApp = "application/vnd.vmware.vcloud.vApp+xml" // MimeQueryRecords mime for the query records MimeQueryRecords = "application/vnd.vmware.vcloud.query.records+xml" // MimeAPIExtensibility mime for api extensibility MimeAPIExtensibility = "application/vnd.vmware.vcloud.apiextensibility+xml" // MimeEntity mime for vcloud entity MimeEntity = "application/vnd.vmware.vcloud.entity+xml" // MimeQueryList mime for query list MimeQueryList = "application/vnd.vmware.vcloud.query.queryList+xml" // MimeSession mime for a session MimeSession = "application/vnd.vmware.vcloud.session+xml" // MimeTask mime for task MimeTask = "application/vnd.vmware.vcloud.task+xml" // MimeError mime for error MimeError = "application/vnd.vmware.vcloud.error+xml" // MimeNetwork mime for a network MimeNetwork = "application/vnd.vmware.vcloud.network+xml" // MimeOrgVdcNetwork mime for an Org VDC network MimeOrgVdcNetwork = "application/vnd.vmware.vcloud.orgVdcNetwork+xml" //MimeDiskCreateParams mime for create independent disk MimeDiskCreateParams = "application/vnd.vmware.vcloud.diskCreateParams+xml" // Mime for VMs MimeVMs = "application/vnd.vmware.vcloud.vms+xml" // Mime for attach or detach independent disk MimeDiskAttachOrDetachParams = "application/vnd.vmware.vcloud.diskAttachOrDetachParams+xml" // Mime for Disk MimeDisk = "application/vnd.vmware.vcloud.disk+xml" // Mime for insert or eject media MimeMediaInsertOrEjectParams = "application/vnd.vmware.vcloud.mediaInsertOrEjectParams+xml" // Mime for catalog MimeAdminCatalog = "application/vnd.vmware.admin.catalog+xml" // Mime for virtual hardware section MimeVirtualHardwareSection = "application/vnd.vmware.vcloud.virtualHardwareSection+xml" // Mime for networkConnectionSection MimeNetworkConnectionSection = "application/vnd.vmware.vcloud.networkConnectionSection+xml" // Mime for Item MimeRasdItem = "application/vnd.vmware.vcloud.rasdItem+xml" // Mime for guest customization section MimeGuestCustomizationSection = "application/vnd.vmware.vcloud.guestCustomizationSection+xml" // Mime for guest customization status MimeGuestCustomizationStatus = "application/vnd.vmware.vcloud.guestcustomizationstatussection" // Mime for network config section MimeNetworkConfigSection = "application/vnd.vmware.vcloud.networkconfigsection+xml" // Mime for recompose vApp params MimeRecomposeVappParams = "application/vnd.vmware.vcloud.recomposeVAppParams+xml" // Mime for compose vApp params MimeComposeVappParams = "application/vnd.vmware.vcloud.composeVAppParams+xml" // Mime for undeploy vApp params MimeUndeployVappParams = "application/vnd.vmware.vcloud.undeployVAppParams+xml" // Mime for deploy vApp params MimeDeployVappParams = "application/vnd.vmware.vcloud.deployVAppParams+xml" // Mime for VM MimeVM = "application/vnd.vmware.vcloud.vm+xml" // Mime for instantiate vApp template params MimeInstantiateVappTemplateParams = "application/vnd.vmware.vcloud.instantiateVAppTemplateParams+xml" // Mime for product section MimeProductSection = "application/vnd.vmware.vcloud.productSections+xml" // Mime for metadata MimeMetaData = "application/vnd.vmware.vcloud.metadata+xml" // Mime for metadata value MimeMetaDataValue = "application/vnd.vmware.vcloud.metadata.value+xml" // Mime for a admin network MimeExtensionNetwork = "application/vnd.vmware.admin.extension.network+xml" // Mime for an external network MimeExternalNetwork = "application/vnd.vmware.admin.vmwexternalnet+xml" // Mime of an Org User MimeAdminUser = "application/vnd.vmware.admin.user+xml" // MimeAdminGroup specifies groups MimeAdminGroup = "application/vnd.vmware.admin.group+xml" // MimeOrgLdapSettings MimeOrgLdapSettings = "application/vnd.vmware.admin.organizationldapsettings+xml" // Mime of vApp network MimeVappNetwork = "application/vnd.vmware.vcloud.vAppNetwork+xml" // Mime of access control MimeControlAccess = "application/vnd.vmware.vcloud.controlAccess+xml" // Mime of VM capabilities MimeVmCapabilities = "application/vnd.vmware.vcloud.vmCapabilitiesSection+xml" // Mime of Vdc Compute Policy References MimeVdcComputePolicyReferences = "application/vnd.vmware.vcloud.vdcComputePolicyReferences+xml" // Mime for Storage profile MimeStorageProfile = "application/vnd.vmware.admin.vdcStorageProfile+xml " )
const ( ResourceTypeOther int = 0 ResourceTypeProcessor int = 3 ResourceTypeMemory int = 4 ResourceTypeIDE int = 5 ResourceTypeSCSI int = 6 ResourceTypeEthernet int = 10 ResourceTypeFloppy int = 14 ResourceTypeCD int = 15 ResourceTypeDVD int = 16 ResourceTypeDisk int = 17 ResourceTypeUSB int = 23 )
const ( FenceModeIsolated = "isolated" FenceModeBridged = "bridged" FenceModeNAT = "natRouted" )
const ( IPAllocationModeDHCP = "DHCP" IPAllocationModeManual = "MANUAL" IPAllocationModeNone = "NONE" IPAllocationModePool = "POOL" )
const ( XMLNamespaceVCloud = "http://www.vmware.com/vcloud/v1.5" XMLNamespaceOVF = "http://schemas.dmtf.org/ovf/envelope/1" XMLNamespaceVMW = "http://www.vmware.com/schema/ovf" XMLNamespaceXSI = "http://www.w3.org/2001/XMLSchema-instance" XMLNamespaceRASD = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" XMLNamespaceVSSD = "http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" XMLNamespaceExtension = "http://www.vmware.com/vcloud/extension/v1.5" )
const ( EdgeNatPath = "/nat/config" EdgeCreateNatPath = "/nat/config/rules" EdgeFirewallPath = "/firewall/config" EdgeCreateFirewallPath = "/firewall/config/rules" EdgeVnicConfig = "/vnics" EdgeVdcVnicConfig = "/vdcNetworks" EdgeDhcpRelayPath = "/dhcp/config/relay" EdgeDhcpLeasePath = "/dhcp/leaseInfo" LbConfigPath = "/loadbalancer/config/" LbMonitorPath = "/loadbalancer/config/monitors/" LbServerPoolPath = "/loadbalancer/config/pools/" LbAppProfilePath = "/loadbalancer/config/applicationprofiles/" LbAppRulePath = "/loadbalancer/config/applicationrules/" LbVirtualServerPath = "/loadbalancer/config/virtualservers/" )
NSX-V Edge gateway API endpoints
const ( GuestCustStatusPending = "GC_PENDING" GuestCustStatusPostPending = "POST_GC_PENDING" GuestCustStatusComplete = "GC_COMPLETE" GuestCustStatusFailed = "GC_FAILED" GuestCustStatusRebootPending = "REBOOT_PENDING" )
Guest customization statuses. These are all known possible statuses
const ( EdgeGatewayVnicTypeUplink = "uplink" EdgeGatewayVnicTypeInternal = "internal" EdgeGatewayVnicTypeTrunk = "trunk" EdgeGatewayVnicTypeSubinterface = "subinterface" EdgeGatewayVnicTypeAny = "any" )
Edge gateway vNic types
const ( FilterNameRegex = "name_regex" // a name, searched by regular expression FilterDate = "date" // a date expression (>|<|==|>=|<= date) FilterIp = "ip" // An IP, searched by regular expression FilterLatest = "latest" // gets the newest element FilterEarliest = "earliest" // gets the oldest element FilterParent = "parent" // matches the entity parent FilterParentId = "parent_id" // matches the entity parent ID )
Names of the filters allowed in the search engine
const ( // The Qt* (Query Type) constants are the names used with Query requests to retrieve the corresponding entities QtVappTemplate = "vAppTemplate" // vApp template QtAdminVappTemplate = "adminVAppTemplate" // vApp template as admin QtEdgeGateway = "edgeGateway" // edge gateway QtOrgVdcNetwork = "orgVdcNetwork" // Org VDC network QtCatalog = "catalog" // catalog QtAdminCatalog = "adminCatalog" // catalog as admin QtCatalogItem = "catalogItem" // catalog item QtAdminCatalogItem = "adminCatalogItem" // catalog item as admin QtAdminMedia = "adminMedia" // media item as admin QtMedia = "media" // media item QtVm = "vm" // Virtual machine QtAdminVm = "adminVM" // Virtual machine as admin QtVapp = "vApp" // vApp QtAdminVapp = "adminVApp" // vApp as admin )
const ( // Affinity and anti affinity definitions PolarityAffinity = "Affinity" PolarityAntiAffinity = "Anti-Affinity" )
const ( LdapModeNone = "NONE" LdapModeSystem = "SYSTEM" LdapModeCustom = "CUSTOM" )
LDAP modes for Organization
const ( ControlAccessReadOnly = "ReadOnly" ControlAccessReadWrite = "Change" ControlAccessFullControl = "FullControl" )
Access control modes
const ( OpenApiPathVersion1_0_0 = "1.0.0/" OpenApiEndpointRoles = "roles/" OpenApiEndpointAuditTrail = "auditTrail/" OpenApiEndpointImportableTier0Routers = "nsxTResources/importableTier0Routers" OpenApiEndpointEdgeClusters = "nsxTResources/edgeClusters" OpenApiEndpointExternalNetworks = "externalNetworks/" OpenApiEndpointVdcComputePolicies = "vdcComputePolicies/" OpenApiEndpointVdcAssignedComputePolicies = "vdcs/%s/computePolicies" OpenApiEndpointEdgeGateways = "edgeGateways/" )
These constants allow to construct OpenAPI endpoint paths and avoid strings in code for easy replacement in future.
const ( // HeaderTenantContext requires the Org ID of the tenant HeaderTenantContext = "X-VMWARE-VCLOUD-TENANT-CONTEXT" // HeaderAuthContext requires the Org name of the tenant HeaderAuthContext = "X-VMWARE-VCLOUD-AUTH-CONTEXT" )
Header keys to run operations in tenant context
const ( // ExternalNetworkBackingTypeNsxtTier0Router defines backing type of NSX-T Tier-0 router ExternalNetworkBackingTypeNsxtTier0Router = "NSXT_TIER0" // ExternalNetworkBackingTypeNsxtVrfTier0Router defines backing type of NSX-T Tier-0 VRF router ExternalNetworkBackingTypeNsxtVrfTier0Router = "NSXT_VRF_TIER0" // ExternalNetworkBackingTypeNetwork defines vSwitch portgroup ExternalNetworkBackingTypeNetwork = "NETWORK" // ExternalNetworkBackingDvPortgroup refers distributed switch portgroup ExternalNetworkBackingDvPortgroup = "DV_PORTGROUP" )
const ( // DFWOn is needed to check if vdc is a valid object for network api or to enable Distributed Firewall DFWOn = "/network/firewall/vdc/" //DFWRequest is needed to get information about the DFW in VDC or add rules to DFW DFWRequest = "/network/firewall/globalroot-0/config/layer3sections/" )
const ( RelDown = "down" RelAdd = "add" RelUp = "up" RelEdit = "edit" RelRemove = "remove" RelCopy = "copy" RelMove = "move" RelAlternate = "alternate" RelTaskCancel = "task:cancel" RelDeploy = "deploy" RelUndeploy = "undeploy" RelDiscardState = "discardState" RelPowerOn = "power:powerOn" RelPowerOff = "power:powerOff" RelPowerReset = "power:reset" RelPowerReboot = "power:reboot" RelPowerSuspend = "power:suspend" RelPowerShutdown = "power:shutdown" RelScreenThumbnail = "screen:thumbnail" RelScreenAcquireTicket = "screen:acquireTicket" RelScreenAcquireMksTicket = "screen:acquireMksTicket" RelMediaInsertMedia = "media:insertMedia" RelMediaEjectMedia = "media:ejectMedia" RelDiskAttach = "disk:attach" RelDiskDetach = "disk:detach" RelUploadDefault = "upload:default" RelUploadAlternate = "upload:alternate" RelDownloadDefault = "download:default" RelDownloadAlternate = "download:alternate" RelDownloadIdentity = "download:identity" RelSnapshotCreate = "snapshot:create" RelSnapshotRevertToCurrent = "snapshot:revertToCurrent" RelSnapshotRemoveAll = "snapshot:removeAll" RelOVF = "ovf" RelOVA = "ova" RelControlAccess = "controlAccess" RelPublish = "publish" RelPublishExternal = "publishToExternalOrganizations" RelSubscribeExternal = "subscribeToExternalCatalog" RelExtension = "extension" RelEnable = "enable" RelDisable = "disable" RelMerge = "merge" RelCatalogItem = "catalogItem" RelRecompose = "recompose" RelRegister = "register" RelUnregister = "unregister" RelRepair = "repair" RelReconnect = "reconnect" RelDisconnect = "disconnect" RelUpgrade = "upgrade" RelAnswer = "answer" RelAddOrgs = "addOrgs" RelRemoveOrgs = "removeOrgs" RelSync = "sync" RelVSphereWebClientURL = "vSphereWebClientUrl" RelVimServerDvSwitches = "vimServerDvSwitches" RelCollaborationResume = "resume" RelCollaborationFail = "fail" RelEnterMaintenanceMode = "enterMaintenanceMode" RelExitMaintenanceMode = "exitMaintenanceMode" RelTask = "task" RelTaskOwner = "task:owner" RelPreviousPage = "previousPage" RelNextPage = "nextPage" RelFirstPage = "firstPage" RelLastPage = "lastPage" RelInstallVMWareTools = "installVmwareTools" RelConsolidate = "consolidate" RelEntity = "entity" RelEntityResolver = "entityResolver" RelRelocate = "relocate" RelBlockingTasks = "blockingTasks" RelUpdateProgress = "updateProgress" RelSyncSyslogSettings = "syncSyslogSettings" RelTakeOwnership = "takeOwnership" RelUnlock = "unlock" RelShadowVMs = "shadowVms" RelTest = "test" RelUpdateResourcePools = "update:resourcePools" RelRemoveForce = "remove:force" RelStorageClass = "storageProfile" RelRefreshStorageClasses = "refreshStorageProfile" RelRefreshVirtualCenter = "refreshVirtualCenter" RelCheckCompliance = "checkCompliance" RelForceFullCustomization = "customizeAtNextPowerOn" RelReloadFromVC = "reloadFromVc" RelMetricsDayView = "interval:day" RelMetricsWeekView = "interval:week" RelMetricsMonthView = "interval:month" RelMetricsYearView = "interval:year" RelMetricsPreviousRange = "range:previous" RelMetricsNextRange = "range:next" RelMetricsLatestRange = "range:latest" RelRights = "rights" RelMigratVMs = "migrateVms" RelResourcePoolVMList = "resourcePoolVmList" RelCreateEvent = "event:create" RelCreateTask = "task:create" RelUploadBundle = "bundle:upload" RelCleanupBundles = "bundles:cleanup" RelAuthorizationCheck = "authorization:check" RelCleanupRights = "rights:cleanup" RelEdgeGatewayRedeploy = "edgeGateway:redeploy" RelEdgeGatewayReapplyServices = "edgeGateway:reapplyServices" RelEdgeGatewayConfigureServices = "edgeGateway:configureServices" RelEdgeGatewayConfigureSyslog = "edgeGateway:configureSyslogServerSettings" RelEdgeGatewaySyncSyslogSettings = "edgeGateway:syncSyslogSettings" RelEdgeGatewayUpgrade = "edgeGateway:upgrade" RelEdgeGatewayUpgradeNetworking = "edgeGateway:convertToAdvancedNetworking" RelVDCManageFirewall = "manageFirewall" RelCertificateUpdate = "certificate:update" RelCertificateReset = "certificate:reset" RelTruststoreUpdate = "truststore:update" RelTruststoreReset = "truststore:reset" RelKeyStoreUpdate = "keystore:update" RelKeystoreReset = "keystore:reset" RelKeytabUpdate = "keytab:update" RelKeytabReset = "keytab:reset" RelServiceLinks = "down:serviceLinks" RelAPIFilters = "down:apiFilters" RelResourceClasses = "down:resourceClasses" RelResourceClassActions = "down:resourceClassActions" RelServices = "down:services" RelACLRules = "down:aclRules" RelFileDescriptors = "down:fileDescriptors" RelAPIDefinitions = "down:apiDefinitions" RelServiceResources = "down:serviceResources" RelExtensibility = "down:extensibility" RelAPIServiceQuery = "down:service" RelAPIDefinitionsQuery = "down:apidefinitions" RelAPIFilesQuery = "down:files" RelServiceOfferings = "down:serviceOfferings" RelServiceOfferingInstances = "down:serviceOfferingInstances" RelHybrid = "down:hybrid" RelServiceRefresh = "service:refresh" RelServiceAssociate = "service:associate" RelServiceDisassociate = "service:disassociate" RelReconfigureVM = "reconfigureVM" RelOrgVDCGateways = "edgeGateways" RelOrgVDCNetworks = "orgVdcNetworks" RelHybridAcquireControlTicket = "hybrid:acquireControlTicket" RelHybridAcquireTicket = "hybrid:acquireTicket" RelHybridRefreshTunnel = "hybrid:refreshTunnel" RelMetrics = "metrics" RelFederationRegenerateCertificate = "federation:regenerateFederationCertificate" RelTemplateInstantiate = "instantiate" )
const (
// FiqlQueryTimestampFormat is the format accepted by Cloud API time comparison operator in FIQL query filters
FiqlQueryTimestampFormat = "2006-01-02T15:04:05.000Z"
)
const (
NoneNetwork = "none"
)
NoneNetwork is a special type of network in vCD which represents a network card which is not attached to any network.
const (
NsxvIpSetServicePath = "/ipset"
)
NSX-V proxied services API endpoints
const (
VMsCDResourceSubType = "vmware.cdrom.iso"
)
Variables ¶
var AdminQueryTypes = map[string]string{ QtEdgeGateway: QtEdgeGateway, QtOrgVdcNetwork: QtOrgVdcNetwork, QtVappTemplate: QtAdminVappTemplate, QtCatalog: QtAdminCatalog, QtCatalogItem: QtAdminCatalogItem, QtMedia: QtAdminMedia, QtVm: QtAdminVm, QtVapp: QtAdminVapp, }
AdminQueryTypes returns the corresponding "admin" query type for each regular type
var VAppStatuses = map[int]string{
-1: "FAILED_CREATION",
0: "UNRESOLVED",
1: "RESOLVED",
2: "DEPLOYED",
3: "SUSPENDED",
4: "POWERED_ON",
5: "WAITING_FOR_INPUT",
6: "UNKNOWN",
7: "UNRECOGNIZED",
8: "POWERED_OFF",
9: "INCONSISTENT_STATE",
10: "MIXED",
11: "DESCRIPTOR_PENDING",
12: "COPYING_CONTENTS",
13: "DISK_CONTENTS_PENDING",
14: "QUARANTINED",
15: "QUARANTINE_EXPIRED",
16: "REJECTED",
17: "TRANSFER_TIMEOUT",
18: "VAPP_UNDEPLOYED",
19: "VAPP_PARTIALLY_DEPLOYED",
}
Maps status Attribute Values for VAppTemplate, VApp, Vm, and Media Objects
var VDCStatuses = map[int]string{
-1: "FAILED_CREATION",
0: "NOT_READY",
1: "READY",
2: "UNKNOWN",
3: "UNRECOGNIZED",
}
Maps status Attribute Values for VDC Objects
Functions ¶
This section is empty.
Types ¶
type AccessSetting ¶
type AccessSetting struct { XMLName xml.Name `xml:"AccessSetting"` Subject *LocalSubject `xml:"Subject,omitempty"` // The user or group to which these settings apply. ExternalSubject *ExternalSubject `xml:"ExternalSubject,omitempty"` // Subject existing external of VCD, to which these settings apply. AccessLevel string `xml:"AccessLevel"` // The access level for the subject. One of: FullControl Change ReadOnly Deny (only for a VDC resource) }
AccessSetting controls access to the resource.
type AccessSettingList ¶
type AccessSettingList struct {
AccessSetting []*AccessSetting `xml:"AccessSetting"`
}
AccessSettingList is a tagged list of AccessSetting
type AdfsAuthErrorEnvelope ¶
type AdfsAuthErrorEnvelope struct { XMLName xml.Name `xml:"Envelope"` Body struct { Text string `xml:",chardata"` Fault struct { Text string `xml:",chardata"` Code struct { Text string `xml:",chardata"` Value string `xml:"Value"` Subcode struct { Text string `xml:",chardata"` Value struct { Text string `xml:",chardata"` A string `xml:"a,attr"` } `xml:"Value"` } `xml:"Subcode"` } `xml:"Code"` Reason struct { Chardata string `xml:",chardata"` Text struct { Text string `xml:",chardata"` Lang string `xml:"lang,attr"` } `xml:"Text"` } `xml:"Reason"` } `xml:"Fault"` } `xml:"Body"` }
AdfsAuthErrorEnvelope helps to parse ADFS authentication error with help of Error() method
Note. This structure is not complete and has many more fields.
func (AdfsAuthErrorEnvelope) Error ¶
func (samlErr AdfsAuthErrorEnvelope) Error() string
Error satisfies Go's default `error` interface for AdfsAuthErrorEnvelope and formats error for humand readable output
type AdfsAuthResponseEnvelope ¶
type AdfsAuthResponseEnvelope struct { XMLName xml.Name `xml:"Envelope"` Body struct { RequestSecurityTokenResponseCollection struct { RequestSecurityTokenResponse struct { // RequestedSecurityTokenTxt returns data which is accepted by vCD as a SIGN token RequestedSecurityTokenTxt InnerXML `xml:"RequestedSecurityToken"` } `xml:"RequestSecurityTokenResponse"` } `xml:"RequestSecurityTokenResponseCollection"` } `xml:"Body"` }
AdfsAuthResponseEnvelope helps to marshal ADFS reponse to authentication request.
Note. This structure is not complete and has many more fields.
type AdminCatalog ¶
type AdminCatalog struct { Catalog XMLName xml.Name `xml:"AdminCatalog"` Xmlns string `xml:"xmlns,attr"` PublishExternalCatalogParams *PublishExternalCatalogParams `xml:"PublishExternalCatalogParams,omitempty"` CatalogStorageProfiles *CatalogStorageProfiles `xml:"CatalogStorageProfiles,omitempty"` ExternalCatalogSubscription *ExternalCatalogSubscription `xml:"ExternalCatalogSubscriptionParams,omitempty"` IsPublished bool `xml:"IsPublished,omitempty"` }
AdminCatalog represents the Admin view of a Catalog object. Type: AdminCatalogType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the Admin view of a Catalog object. https://code.vmware.com/apis/287/vcloud#/doc/doc/types/AdminCatalogType.html Since: 0.9
type AdminCatalogRecord ¶
type AdminCatalogRecord CatalogRecord
type AdminOrg ¶
type AdminOrg struct { XMLName xml.Name `xml:"AdminOrg"` Xmlns string `xml:"xmlns,attr"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Description string `xml:"Description,omitempty"` FullName string `xml:"FullName"` IsEnabled bool `xml:"IsEnabled,omitempty"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` Users *OrgUserList `xml:"Users,omitempty"` Groups *OrgGroupList `xml:"Groups,omitempty"` Catalogs *CatalogsList `xml:"Catalogs,omitempty"` OrgSettings *OrgSettings `xml:"Settings,omitempty"` Vdcs *VDCList `xml:"Vdcs,omitempty"` Networks *NetworksList `xml:"Networks,omitempty"` RightReferences *OrgRoleType `xml:"RightReferences,omitempty"` RoleReferences *OrgRoleType `xml:"RoleReferences,omitempty"` }
AdminOrg represents the admin view of a vCloud Director organization. Type: AdminOrgType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the admin view of a vCloud Director organization. Since: 0.9
type AdminVdc ¶
type AdminVdc struct { Xmlns string `xml:"xmlns,attr"` Vdc VCpuInMhz2 *int64 `xml:"VCpuInMhz2,omitempty"` ResourceGuaranteedMemory *float64 `xml:"ResourceGuaranteedMemory,omitempty"` ResourceGuaranteedCpu *float64 `xml:"ResourceGuaranteedCpu,omitempty"` VCpuInMhz *int64 `xml:"VCpuInMhz,omitempty"` IsThinProvision *bool `xml:"IsThinProvision,omitempty"` NetworkPoolReference *Reference `xml:"NetworkPoolReference,omitempty"` ProviderVdcReference *Reference `xml:"ProviderVdcReference"` ResourcePoolRefs *VimObjectRefs `xml:"vmext:ResourcePoolRefs,omitempty"` UsesFastProvisioning *bool `xml:"UsesFastProvisioning,omitempty"` OverCommitAllowed bool `xml:"OverCommitAllowed,omitempty"` VmDiscoveryEnabled bool `xml:"VmDiscoveryEnabled,omitempty"` IsElastic *bool `xml:"IsElastic,omitempty"` // Supported from 32.0 for the Flex model IncludeMemoryOverhead *bool `xml:"IncludeMemoryOverhead,omitempty"` // Supported from 32.0 for the Flex model UniversalNetworkPoolReference *Reference `xml:"UniversalNetworkPoolReference,omitempty"` // Reference to a universal network pool }
AdminVdc represents the admin view of an organization VDC. Type: AdminVdcType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the admin view of an organization VDC. Since: 0.9
type AdminVdcStorageProfile ¶
type AdminVdcStorageProfile struct { Xmlns string `xml:"xmlns,attr"` Name string `xml:"name,attr"` Enabled *bool `xml:"Enabled,omitempty"` Units string `xml:"Units"` Limit int64 `xml:"Limit"` Default bool `xml:"Default"` IopsSettings *VdcStorageProfileIopsSettings `xml:"IopsSettingsint64"` StorageUsedMB int64 `xml:"StorageUsedMB"` IopsAllocated int64 `xml:"IopsAllocated"` ProviderVdcStorageProfile *Reference `xml:"ProviderVdcStorageProfile"` }
AdminVdcStorageProfile represents the parameters for fetched storage profile Type: AdminVdcStorageProfileType Namespace: http://www.vmware.com/vcloud/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/71e12563-bc11-4d64-821d-92d30f8fcfa1/7424bf8e-aec2-44ad-be7d-b98feda7bae0/doc/doc/types/AdminVdcStorageProfileType.html
type AvailableNetworks ¶
type AvailableNetworks struct {
Network []*Reference `xml:"Network,omitempty"`
}
AvailableNetworks is a container for references to available organization vDC networks. Type: AvailableNetworksType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for references to available organization vDC networks. Since: 0.9
type Capabilities ¶
type Capabilities struct {
SupportedHardwareVersions *SupportedHardwareVersions `xml:"SupportedHardwareVersions,omitempty"` // Read-only list of virtual hardware versions supported by this vDC.
}
Capabilities collection of supported hardware capabilities. Type: CapabilitiesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Collection of supported hardware capabilities. Since: 1.5
type CapacityWithUsage ¶
type CapacityWithUsage struct { Units string `xml:"Units"` Allocated int64 `xml:"Allocated"` Limit int64 `xml:"Limit"` Reserved int64 `xml:"Reserved,omitempty"` Used int64 `xml:"Used,omitempty"` }
CapacityWithUsage represents a capacity and usage of a given resource. Type: CapacityWithUsageType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a capacity and usage of a given resource. Since: 0.9
type Catalog ¶
type Catalog struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` CatalogItems []*CatalogItems `xml:"CatalogItems,omitempty"` DateCreated string `xml:"DateCreated,omitempty"` Description string `xml:"Description,omitempty"` IsPublished bool `xml:"IsPublished,omitempty"` Link LinkList `xml:"Link,omitempty"` Owner *Owner `xml:"Owner,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` VersionNumber int64 `xml:"VersionNumber,omitempty"` }
Catalog represents the user view of a Catalog object. Type: CatalogType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the user view of a Catalog object. https://code.vmware.com/apis/287/vcloud#/doc/doc/types/CatalogType.html Since: 0.9
type CatalogItem ¶
type CatalogItem struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Size int64 `xml:"size,attr,omitempty"` DateCreated string `xml:"DateCreated,omitempty"` Description string `xml:"Description,omitempty"` Entity *Entity `xml:"Entity"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` VersionNumber int64 `xml:"VersionNumber,omitempty"` }
CatalogItem contains a reference to a VappTemplate or Media object and related metadata. Type: CatalogItemType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Contains a reference to a VappTemplate or Media object and related metadata. Since: 0.9
type CatalogItems ¶
type CatalogItems struct {
CatalogItem []*Reference `xml:"CatalogItem"`
}
CatalogItems is a container for references to catalog items. Type: CatalogItemsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for references to catalog items. Since: 0.9
type CatalogRecord ¶
type CatalogRecord struct { HREF string `xml:"href,attr,omitempty"` ID string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` Description string `xml:"description,attr,omitempty"` IsPublished bool `xml:"isPublished,attr,omitempty"` CreationDate string `xml:"creationDate,attr,omitempty"` OrgName string `xml:"orgName,attr,omitempty"` OwnerName string `xml:"ownerName,attr,omitempty"` NumberOfVAppTemplates int64 `xml:"numberOfVAppTemplates,attr,omitempty"` NumberOfMedia int64 `xml:"numberOfMedia,attr,omitempty"` Owner string `xml:"owner,attr,omitempty"` PublishSubscriptionType string `xml:"publishSubscriptionType,attr,omitempty"` Version int64 `xml:"version,attr,omitempty"` Status string `xml:"status,attr,omitempty"` Link *Link `xml:"Link,omitempty"` Metadata *Metadata `xml:"Metadata,omitempty"` }
Type: AdminCatalogRecord Namespace: http://www.vmware.com/vcloud/v1.5 https://code.vmware.com/apis/287/vcloud#/doc/doc/types/QueryResultCatalogRecordType.html Issue that description partly matches with what is returned Description: Represents Catalog record Since: 1.5
type CatalogStorageProfiles ¶
type CatalogStorageProfiles struct {
VdcStorageProfile []*Reference `xml:"VdcStorageProfile,omitempty"`
}
CatalogStorageProfiles represents a container for storage profiles used by this catalog Type: CatalogStorageProfiles Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a container for storage profiles used by this catalog Since: 5.5
type CatalogsList ¶
type CatalogsList struct {
Catalog []*Reference `xml:"CatalogReference,omitempty"`
}
CatalogsList contains a list of references to Org Catalogs Type: CatalogsListType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of organization Catalogs. Since: 0.9
type ComposeVAppParams ¶
type ComposeVAppParams struct { XMLName xml.Name `xml:"ComposeVAppParams"` Ovf string `xml:"xmlns:ovf,attr"` Xsi string `xml:"xmlns:xsi,attr"` Xmlns string `xml:"xmlns,attr"` // Attributes Name string `xml:"name,attr,omitempty"` // Typically used to name or identify the subject of the request. For example, the name of the object being created or modified. Deploy bool `xml:"deploy,attr"` // True if the vApp should be deployed at instantiation. Defaults to true. PowerOn bool `xml:"powerOn,attr"` // True if the vApp should be powered-on at instantiation. Defaults to true. LinkedClone bool `xml:"linkedClone,attr,omitempty"` // Reserved. Unimplemented. // Elements Description string `xml:"Description,omitempty"` // Optional description. VAppParent *Reference `xml:"VAppParent,omitempty"` // Reserved. Unimplemented. InstantiationParams *InstantiationParams `xml:"InstantiationParams,omitempty"` // Instantiation parameters for the composed vApp. SourcedItem *SourcedCompositionItemParam `xml:"SourcedItem,omitempty"` // Composition item. One of: vApp vAppTemplate Vm. AllEULAsAccepted bool `xml:"AllEULAsAccepted,omitempty"` // True confirms acceptance of all EULAs in a vApp template. Instantiation fails if this element is missing, empty, or set to false and one or more EulaSection elements are present. }
ComposeVAppParams represents vApp composition parameters Type: ComposeVAppParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents vApp composition parameters. Since: 0.9
type ComputeCapacity ¶
type ComputeCapacity struct { CPU *CapacityWithUsage `xml:"Cpu"` Memory *CapacityWithUsage `xml:"Memory"` }
ComputeCapacity represents VDC compute capacity. Type: ComputeCapacityType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents VDC compute capacity. Since: 0.9
type ComputePolicy ¶
type ComputePolicy struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Link *Link `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. VmPlacementPolicy *Reference `xml:"VmPlacementPolicy,omitempty"` // VdcComputePolicy that defines VM's placement on a host through various affinity constraints. VmPlacementPolicyFinal *bool `xml:"VmPlacementPolicyFinal,omitempty"` // True indicates that the placement policy cannot be removed from a VM that is instantiated with it. This value defaults to false. VmSizingPolicy *Reference `xml:"VmSizingPolicy,omitempty"` // VdcComputePolicy that defines VM's sizing and resource allocation. VmSizingPolicyFinal *bool `xml:"VmSizingPolicyFinal,omitempty"` // True indicates that the sizing policy cannot be removed from a VM that is instantiated with it. This value defaults to false. }
ComputePolicy represents structure to manage VM compute polices, part of RecomposeVAppParams structure.
type ControlAccessParams ¶
type ControlAccessParams struct { XMLName xml.Name `xml:"ControlAccessParams"` Xmlns string `xml:"xmlns,attr"` EveryoneAccessLevel *string `xml:"EveryoneAccessLevel,omitempty"` // If IsSharedToEveryone is true, this element must be present to specify the access level. for all members of the organization. One of: FullControl Change ReadOnly AccessSettings *AccessSettingList `xml:"AccessSettings,omitempty"` // The access settings to be applied if IsSharedToEveryone is false. Required on create and modify if IsSharedToEveryone is false. }
ControlAccessParams specifies access controls for a resource.
type CpuResourceMhz ¶
type CpuResourceMhz struct { Configured int64 `xml:"Configured"` // The amount of resource configured on the virtual machine. Reservation *int64 `xml:"Reservation,omitempty"` // The amount of reservation of this resource on the underlying virtualization infrastructure. Limit *int64 `xml:"Limit,omitempty"` // The limit for how much of this resource can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. }
CpuResourceMhz from VM/VmSpecSection struct
type CreateItem ¶
type CreateItem struct { Name string `xml:"name,attr,omitempty"` Description string `xml:"Description,omitempty"` GuestCustomizationSection *GuestCustomizationSection `xml:"GuestCustomizationSection,omitempty"` NetworkConnectionSection *NetworkConnectionSection `xml:"NetworkConnectionSection,omitempty"` VmSpecSection *VmSpecSection `xml:"VmSpecSection,omitempty"` StorageProfile *Reference `xml:"StorageProfile,omitempty"` ComputePolicy *ComputePolicy `xml:"ComputePolicy,omitempty"` // accessible only from version API 33.0 BootImage *Media `xml:"Media,omitempty"` // boot image as vApp template. Href, Id and name needed. }
CreateItem represents structure to create VM, part of RecomposeVAppParams structure.
type CustomOrgLdapSettings ¶
type CustomOrgLdapSettings struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. HostName string `xml:"HostName,omitempty"` Port int `xml:"Port"` IsSsl bool `xml:"IsSsl,omitempty"` IsSslAcceptAll bool `xml:"IsSslAcceptAll,omitempty"` SearchBase string `xml:"SearchBase,omitempty"` Username string `xml:"UserName,omitempty"` Password string `xml:"Password,omitempty"` AuthenticationMechanism string `xml:"AuthenticationMechanism"` IsGroupSearchBaseEnabled bool `xml:"IsGroupSearchBaseEnabled"` GroupSearchBase string `xml:"GroupSearchBase,omitempty"` ConnectorType string `xml:"ConnectorType"` // Defines LDAP service implementation type UserAttributes *OrgLdapUserAttributes `xml:"UserAttributes"` // Defines how LDAP attributes are used when importing a user. GroupAttributes *OrgLdapGroupAttributes `xml:"GroupAttributes"` // Defines how LDAP attributes are used when importing a group. UseExternalKerberos bool `xml:"UseExternalKerberos"` Realm string `xml:"Realm,omitempty"` }
CustomOrgLdapSettings represents the custom ldap settings for a vCloud Director organization. Type: CustomOrgLdapSettingsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the custom ldap settings of a vCloud Director organization. Since: 0.9 Note. Order of these fields matter and API will error if it is changed
type CustomizationSection ¶
type CustomizationSection struct { // FIXME: OVF Section needs to be laid down correctly Info string `xml:"ovf:Info"` // GoldMaster bool `xml:"goldMaster,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` CustomizeOnInstantiate bool `xml:"CustomizeOnInstantiate"` Link LinkList `xml:"Link,omitempty"` }
CustomizationSection represents a vApp template customization settings. Type: CustomizationSectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp template customization settings. Since: 1.0
type DefaultStorageProfileSection ¶
type DefaultStorageProfileSection struct {
StorageProfile string `xml:"StorageProfile,omitempty"`
}
DefaultStorageProfileSection is the name of the storage profile that will be specified for this virtual machine. The named storage profile must exist in the organization vDC that contains the virtual machine. If not specified, the default storage profile for the vDC is used. Type: DefaultStorageProfileSection_Type Namespace: http://www.vmware.com/vcloud/v1.5 Description: Name of the storage profile that will be specified for this virtual machine. The named storage profile must exist in the organization vDC that contains the virtual machine. If not specified, the default storage profile for the vDC is used. Since: 5.1
type DeleteItem ¶
type DeleteItem struct {
HREF string `xml:"href,attr,omitempty"`
}
type DeployVAppParams ¶
type DeployVAppParams struct { XMLName xml.Name `xml:"DeployVAppParams"` Xmlns string `xml:"xmlns,attr"` // Attributes PowerOn bool `xml:"powerOn,attr"` // Used to specify whether to power on vapp on deployment, if not set default value is true. DeploymentLeaseSeconds int `xml:"deploymentLeaseSeconds,attr,omitempty"` // Lease in seconds for deployment. A value of 0 is replaced by the organization default deploymentLeaseSeconds value. ForceCustomization bool `xml:"forceCustomization,attr,omitempty"` // Used to specify whether to force customization on deployment, if not set default value is false }
DeployVAppParams are the parameters to a deploy vApp request Type: DeployVAppParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Parameters to a deploy vApp request. Since: 0.9
type DhcpPoolService ¶
type DhcpPoolService struct { IsEnabled bool `xml:"IsEnabled,omitempty"` // True if this DHCP Pool is enabled. Network *Reference `xml:"Network"` // Org vDC network to which the DHCP range is applicable. DefaultLeaseTime int `xml:"DefaultLeaseTime,omitempty"` // Default lease period for DHCP range. MaxLeaseTime int `xml:"MaxLeaseTime"` // Maximum lease period for DHCP range. LowIPAddress string `xml:"LowIpAddress"` // Low IP address in DHCP range. HighIPAddress string `xml:"HighIpAddress"` // High IP address in DHCP range. }
DhcpPoolService represents DHCP pool service. Type: DhcpPoolServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents DHCP pool service. Since: 5.1
type DhcpService ¶
type DhcpService struct { IsEnabled bool `xml:"IsEnabled"` // Enable or disable the service using this flag DefaultLeaseTime int `xml:"DefaultLeaseTime,omitempty"` // Default lease in seconds for DHCP addresses. MaxLeaseTime int `xml:"MaxLeaseTime"` // Max lease in seconds for DHCP addresses. IPRange *IPRange `xml:"IpRange"` // IP range for DHCP addresses. RouterIP string `xml:"RouterIp,omitempty"` // Router IP. SubMask string `xml:"SubMask,omitempty"` // The subnet mask. PrimaryNameServer string `xml:"PrimaryNameServer,omitempty"` // The primary name server. SecondaryNameServer string `xml:"SecondaryNameServer,omitempty"` // The secondary name server. DomainName string `xml:"DomainName,omitempty"` // The domain name. }
DhcpService represents a DHCP network service. Type: DhcpServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a DHCP network service. Since:
type Disk ¶
type Disk struct { XMLName xml.Name `xml:"Disk"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Id string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Status int `xml:"status,attr,omitempty"` Size int64 `xml:"size,attr"` Iops *int `xml:"iops,attr,omitempty"` BusType string `xml:"busType,attr,omitempty"` BusSubType string `xml:"busSubType,attr,omitempty"` Description string `xml:"Description,omitempty"` Files *FilesList `xml:"Files,omitempty"` Link []*Link `xml:"Link,omitempty"` Owner *Owner `xml:"Owner,omitempty"` StorageProfile *Reference `xml:"StorageProfile,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` }
Represents an independent disk Reference: vCloud API 30.0 - DiskType https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/types/DiskType.html
type DiskAttachOrDetachParams ¶
type DiskAttachOrDetachParams struct { XMLName xml.Name `xml:"DiskAttachOrDetachParams"` Xmlns string `xml:"xmlns,attr,omitempty"` Disk *Reference `xml:"Disk"` BusNumber *int `xml:"BusNumber,omitempty"` UnitNumber *int `xml:"UnitNumber,omitempty"` VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` }
Parameters for attaching or detaching an independent disk Reference: vCloud API 30.0 - DiskAttachOrDetachParamsType https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/types/DiskAttachOrDetachParamsType.html
type DiskCreateParams ¶
type DiskCreateParams struct { XMLName xml.Name `xml:"DiskCreateParams"` Xmlns string `xml:"xmlns,attr,omitempty"` Disk *Disk `xml:"Disk"` Locality *Reference `xml:"Locality,omitempty"` VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` }
DiskCreateParams element for create independent disk Reference: vCloud API 30.0 - DiskCreateParamsType https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/types/DiskCreateParamsType.html
type DiskRecordType ¶
type DiskRecordType struct { Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Id string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` Vdc string `xml:"vdc,attr,omitempty"` SizeB int64 `xml:"sizeB,attr,omitempty"` DataStore string `xml:"dataStore,attr,omitempty"` DataStoreName string `xml:"datastoreName,attr,omitempty"` OwnerName string `xml:"ownerName,attr,omitempty"` VdcName string `xml:"vdcName,attr,omitempty"` Task string `xml:"task,attr,omitempty"` StorageProfile string `xml:"storageProfile,attr,omitempty"` StorageProfileName string `xml:"storageProfileName,attr,omitempty"` Status string `xml:"status,attr,omitempty"` BusType string `xml:"busType,attr,omitempty"` BusSubType string `xml:"busSubType,attr,omitempty"` BusTypeDesc string `xml:"busTypeDesc,attr,omitempty"` IsAttached bool `xml:"isAttached,attr,omitempty"` Description string `xml:"description,attr,omitempty"` Link []*Link `xml:"Link,omitempty"` }
Represents an independent disk record Reference: vCloud API 27.0 - DiskType https://code.vmware.com/apis/287/vcloud#/doc/doc/types/QueryResultDiskRecordType.html
type DiskSection ¶
type DiskSection struct {
DiskSettings []*DiskSettings `xml:"DiskSettings"`
}
DiskSection from VM/VmSpecSection struct
type DiskSettings ¶
type DiskSettings struct { DiskId string `xml:"DiskId,omitempty"` // Specifies a unique identifier for this disk in the scope of the corresponding VM. This element is optional when creating a VM, but if it is provided it should be unique. This element is mandatory when updating an existing disk. SizeMb int64 `xml:"SizeMb"` // The size of the disk in MB. UnitNumber int `xml:"UnitNumber"` // The device number on the SCSI or IDE controller of the disk. BusNumber int `xml:"BusNumber"` // The number of the SCSI or IDE controller itself. AdapterType string `xml:"AdapterType"` // The type of disk controller, e.g. IDE vs SCSI and if SCSI bus-logic vs LSI logic. ThinProvisioned *bool `xml:"ThinProvisioned,omitempty"` // Specifies whether the disk storage is pre-allocated or allocated on demand. Disk *Reference `xml:"Disk,omitempty"` // Specifies reference to a named disk. StorageProfile *Reference `xml:"StorageProfile,omitempty"` // Specifies reference to a storage profile to be associated with the disk. OverrideVmDefault bool `xml:"overrideVmDefault"` // Specifies that the disk storage profile overrides the VM's default storage profile. Iops *int64 `xml:"iops,omitempty"` // Specifies the IOPS for the disk. VirtualQuantity *int64 `xml:"VirtualQuantity,omitempty"` // The actual size of the disk. VirtualQuantityUnit string `xml:"VirtualQuantityUnit,omitempty"` // The units in which VirtualQuantity is measured. }
DiskSettings from VM/VmSpecSection/DiskSection struct
type EdgeDhcpLease ¶
type EdgeDhcpLease struct { XMLName xml.Name `xml:"dhcpLeaseInfo"` DhcpLeaseInfos []*EdgeDhcpLeaseInfo `xml:"leaseInfo"` }
EdgeDhcpLease holds a list of EdgeDhcpLeaseInfo
type EdgeDhcpLeaseInfo ¶
type EdgeDhcpLeaseInfo struct { // Uid statement records the client identifier used by the client to acquire the lease. Clients // are not required to send client identifiers, and this statement only appears if the client // did in fact send one. Uid string `xml:"uid"` // MacAddress holds hardware (MAC) address of requester (e.g. "00:50:56:01:29:c8") MacAddress string `xml:"macAddress"` // IpAddress holds the IP address assigned to a particular MAC address (e.g. "10.10.10.100") IpAddress string `xml:"ipAddress"` // ClientHostname Most DHCP clients will send their hostname in the host-name option. If a // client sends its hostname in this way, the hostname is recorded on the lease with a // client-hostname statement. This is not required by the protocol, however, so many specialized // DHCP clients do not send a host-name option. ClientHostname string `xml:"clientHostname"` // BindingState declares the lease’s binding state. When the DHCP server is not configured to // use the failover protocol, a lease’s binding state may be active, free or abandoned. The // failover protocol adds some additional transitional states, as well as the backup state, // which indicates that the lease is available for allocation by the failover secondary BindingState string `xml:"bindingState"` // NextBindingState statement indicates what state the lease will move to when the current state // expires. The time when the current state expires is specified in the ends statement. NextBindingState string `xml:"nextBindingState"` // Cltt holds value of clients last transaction time (format is "weekday year/month/day // hour:minute:second", e.g. "2 2019/12/17 06:12:03") Cltt string `xml:"cltt"` // Starts holds the start time of a lease (format is "weekday year/month/day // hour:minute:second", e.g. "2 2019/12/17 06:12:03") Starts string `xml:"starts"` // Ends holds the end time of a lease (format is "weekday year/month/day hour:minute:second", // e.g. "3 2019/12/18 06:12:03") Ends string `xml:"ends"` // HardwareType holds type of hardware, usually "ethernet" HardwareType string `xml:"hardwareType"` }
EdgeDhcpLeaseInfo contains information about DHCP leases provided by NSX-V edge gateway
type EdgeDhcpRelay ¶
type EdgeDhcpRelay struct { XMLName xml.Name `xml:"relay"` // RelayServer specifies external relay server(s) to which DHCP messages are to be relayed to. // The relay server can be an IP set, IP address block, domain, or a combination of all of // these. Messages are relayed to each listed DHCP server. RelayServer *EdgeDhcpRelayServer `xml:"relayServer"` // EdgeDhcRelayAgents specifies a list of edge gateway interfaces (vNics) from which DHCP // messages are to be relayed to the external DHCP relay server(s) with optional gateway // interface addresses. RelayAgents *EdgeDhcpRelayAgents `xml:"relayAgents"` }
EdgeDhcpRelay - Dynamic Host Configuration Protocol (DHCP) relay enables you to leverage your existing DHCP infrastructure from within NSX without any interruption to the IP address management in your environment. DHCP messages are relayed from virtual machine(s) to the designated DHCP server(s) in the physical world. This enables IP addresses within NSX to continue to be in sync with IP addresses in other environments.
type EdgeDhcpRelayAgent ¶
type EdgeDhcpRelayAgent struct { // VnicIndex must specify vNic adapter index on the edge gateway VnicIndex *int `xml:"vnicIndex"` // GatewayInterfaceAddress holds a gateway interface address. Optional, defaults to the vNic // primary address. GatewayInterfaceAddress string `xml:"giAddress,omitempty"` }
EdgeDhcpRelayAgent specifies which edge gateway interface (vNic) from which DHCP messages are to be relayed to the external DHCP relay server(s) with an optional gateway interface address.
type EdgeDhcpRelayAgents ¶
type EdgeDhcpRelayAgents struct {
Agents []EdgeDhcpRelayAgent `xml:"relayAgent"`
}
EdgeDhcpRelayAgents holds a slice of EdgeDhcpRelayAgent
type EdgeDhcpRelayServer ¶
type EdgeDhcpRelayServer struct { // GroupingObjectIds is a general concept in NSX which allows to pass in many types of objects // (like VM IDs, IP set IDs, org networks, security groups) howether in this case it accepts // only IP sets which have IDs specified as 'f9daf2da-b4f9-4921-a2f4-d77a943a381c:ipset-2' where // first part is vDC ID and the second part is unique IP set ID GroupingObjectId []string `xml:"groupingObjectId,omitempty"` // IpAddresses holds a list of IP addresses for DHCP servers IpAddress []string `xml:"ipAddress,omitempty"` // Fqdn holds a list of FQDNs (fully qualified domain names) Fqdns []string `xml:"fqdn,omitempty"` }
type EdgeFirewallApplication ¶
type EdgeFirewallApplication struct { ID string `xml:"applicationId,omitempty"` Services []EdgeFirewallApplicationService `xml:"service,omitempty"` }
EdgeFirewallApplication Wraps []EdgeFirewallApplicationService for multiple protocol/port specification
type EdgeFirewallApplicationService ¶
type EdgeFirewallApplicationService struct { Protocol string `xml:"protocol,omitempty"` Port string `xml:"port,omitempty"` SourcePort string `xml:"sourcePort,omitempty"` }
EdgeFirewallApplicationService defines port/protocol details for one service in EdgeFirewallRule
type EdgeFirewallEndpoint ¶
type EdgeFirewallEndpoint struct { Exclude bool `xml:"exclude"` VnicGroupIds []string `xml:"vnicGroupId,omitempty"` GroupingObjectIds []string `xml:"groupingObjectId,omitempty"` IpAddresses []string `xml:"ipAddress,omitempty"` }
EdgeFirewallEndpoint can contains slices of objects for source or destination in EdgeFirewall
type EdgeFirewallRule ¶
type EdgeFirewallRule struct { XMLName xml.Name `xml:"firewallRule" ` ID string `xml:"id,omitempty"` Name string `xml:"name,omitempty"` RuleType string `xml:"ruleType,omitempty"` RuleTag string `xml:"ruleTag,omitempty"` Source EdgeFirewallEndpoint `xml:"source" ` Destination EdgeFirewallEndpoint `xml:"destination"` Application EdgeFirewallApplication `xml:"application"` MatchTranslated *bool `xml:"matchTranslated,omitempty"` Direction string `xml:"direction,omitempty"` Action string `xml:"action,omitempty"` Enabled bool `xml:"enabled"` LoggingEnabled bool `xml:"loggingEnabled"` }
EdgeFirewall holds data for creating firewall rule using proxied NSX-V API https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type EdgeGateway ¶
type EdgeGateway struct { // Attributes Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. ID string `xml:"id,attr,omitempty"` // The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused OperationKey string `xml:"operationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations. Name string `xml:"name,attr"` // The name of the entity. Status int `xml:"status,attr,omitempty"` // Creation status of the gateway. One of: 0 (The gateway is still being created) 1 (The gateway is ready) -1 (There was an error while creating the gateway). // Elements Link LinkList `xml:"Link,omitempty"` // A link to an operation on this section. Description string `xml:"Description,omitempty"` // Optional description. Tasks *TasksInProgress `xml:"Tasks,omitempty"` // A list of queued, running, or recently completed tasks associated with this entity. Configuration *GatewayConfiguration `xml:"Configuration"` // Gateway configuration. }
EdgeGateway represents a gateway. Element: EdgeGateway Type: GatewayType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a gateway. Since: 5.1
type EdgeGatewayInterfaces ¶
type EdgeGatewayInterfaces struct { XMLName xml.Name `xml:"edgeInterfaces"` EdgeInterface []struct { Name string `xml:"name"` Type string `xml:"type"` Index *int `xml:"index"` NetworkReference struct { ID string `xml:"id"` Name string `xml:"name"` Type string `xml:"type"` } `xml:"networkReference"` AddressGroups struct { AddressGroup struct { PrimaryAddress string `xml:"primaryAddress"` SubnetMask string `xml:"subnetMask"` SubnetPrefixLength string `xml:"subnetPrefixLength"` SecondaryAddresses struct { IpAddress []string `xml:"ipAddress"` } `xml:"secondaryAddresses"` } `xml:"addressGroup"` } `xml:"addressGroups"` PortgroupId string `xml:"portgroupId"` PortgroupName string `xml:"portgroupName"` IsConnected string `xml:"isConnected"` TunnelId string `xml:"tunnelId"` } `xml:"edgeInterface"` }
EdgeGatewayInterfaces is a data structure holding information of vNic configuration in NSX-V edge gateway using "/network/edges/edge_id/vdcNetworks" endpoint
type EdgeGatewayServiceConfiguration ¶
type EdgeGatewayServiceConfiguration struct { XMLName xml.Name `xml:"EdgeGatewayServiceConfiguration"` Xmlns string `xml:"xmlns,attr,omitempty"` GatewayDhcpService *GatewayDhcpService `xml:"GatewayDhcpService,omitempty"` FirewallService *FirewallService `xml:"FirewallService,omitempty"` NatService *NatService `xml:"NatService,omitempty"` GatewayIpsecVpnService *GatewayIpsecVpnService `xml:"GatewayIpsecVpnService,omitempty"` // Substitute for NetworkService. Gateway Ipsec VPN service settings }
type EdgeGatewayUplinks ¶ added in v2.11.9
type EdgeGatewayUplinks struct { // UplinkID contains ID of external network UplinkID string `json:"uplinkId,omitempty"` // UplinkID contains Name of external network UplinkName string `json:"uplinkName,omitempty"` // Subnets contain subnets to be used on edge gateway Subnets OpenAPIEdgeGatewaySubnets `json:"subnets,omitempty"` Connected bool `json:"connected,omitempty"` // QuickAddAllocatedIPCount allows to allocate additional IPs during update QuickAddAllocatedIPCount int `json:"quickAddAllocatedIpCount,omitempty"` // Dedicated defines if the external network is dedicated. Dedicating the External Network will enable Route // Advertisement for this Edge Gateway Dedicated bool `json:"dedicated,omitempty"` }
EdgeGatewayUplink defines uplink connections for the edge gateway.
type EdgeGatewayVnics ¶
type EdgeGatewayVnics struct { XMLName xml.Name `xml:"vnics"` Vnic []struct { Label string `xml:"label"` Name string `xml:"name"` AddressGroups struct { AddressGroup struct { PrimaryAddress string `xml:"primaryAddress,omitempty"` SecondaryAddresses struct { IpAddress []string `xml:"ipAddress,omitempty"` } `xml:"secondaryAddresses,omitempty"` SubnetMask string `xml:"subnetMask,omitempty"` SubnetPrefixLength string `xml:"subnetPrefixLength,omitempty"` } `xml:"addressGroup,omitempty"` } `xml:"addressGroups,omitempty"` Mtu string `xml:"mtu,omitempty"` Type string `xml:"type,omitempty"` IsConnected string `xml:"isConnected,omitempty"` Index *int `xml:"index"` PortgroupId string `xml:"portgroupId,omitempty"` PortgroupName string `xml:"portgroupName,omitempty"` EnableProxyArp string `xml:"enableProxyArp,omitempty"` EnableSendRedirects string `xml:"enableSendRedirects,omitempty"` SubInterfaces struct { SubInterface []struct { IsConnected string `xml:"isConnected,omitempty"` Label string `xml:"label,omitempty"` Name string `xml:"name,omitempty"` Index *int `xml:"index,omitempty"` TunnelId string `xml:"tunnelId,omitempty"` LogicalSwitchId string `xml:"logicalSwitchId,omitempty"` LogicalSwitchName string `xml:"logicalSwitchName,omitempty"` EnableSendRedirects string `xml:"enableSendRedirects,omitempty"` Mtu string `xml:"mtu,omitempty"` AddressGroups struct { AddressGroup struct { PrimaryAddress string `xml:"primaryAddress,omitempty"` SubnetMask string `xml:"subnetMask,omitempty"` SubnetPrefixLength string `xml:"subnetPrefixLength,omitempty"` } `xml:"addressGroup,omitempty"` } `xml:"addressGroups,omitempty"` } `xml:"subInterface,omitempty"` } `xml:"subInterfaces,omitempty"` } `xml:"vnic,omitempty"` }
EdgeGatewayVnics is a data structure holding information of vNic configuration in NSX-V edge gateway using "/network/edges/edge_id/vnics" endpoint
type EdgeIpSet ¶
type EdgeIpSet struct { XMLName xml.Name `xml:"ipset"` // ID holds composite ID of IP set which is formatted as // 'f9daf2da-b4f9-4921-a2f4-d77a943a381c:ipset-4' where the first segment before colon is vDC id // and the second one is IP set ID ID string `xml:"objectId,omitempty"` // Name is mandatory and must be unique Name string `xml:"name"` // Description - optional Description string `xml:"description,omitempty"` // IPAddresses is a mandatory field with comma separated values. The API is known to re-order // data after submiting and may shuffle components even if re-submitted as it was return from // API itself // (eg: "192.168.200.1,192.168.200.1/24,192.168.200.1-192.168.200.24") IPAddresses string `xml:"value"` // InheritanceAllowed defines visibility at underlying scopes InheritanceAllowed *bool `xml:"inheritanceAllowed"` // Revision is a "version" of IP set configuration. During read current revision is being // returned and when update is performed this latest version must be sent as it validates if no // updates ocurred in between. When not the latest version is being sent during update one can // expect similar error response from API: "The object ipset-27 used in this operation has an // older version 0 than the current system version 1. Refresh UI or fetch the latest copy of the // object and retry operation." Revision *int `xml:"revision,omitempty"` }
EdgeIpSet defines a group of IP addresses that you can add as the source or destination in a firewall rule or in DHCP relay configuration. The object itself has more fields in API response, however vCD UI only uses the below mentioned. It looks as if the other fields are used in NSX internally and are simply proxied back.
Note. Only advanced edge gateways support IP sets
type EdgeNatRule ¶
type EdgeNatRule struct { XMLName xml.Name `xml:"natRule"` ID string `xml:"ruleId,omitempty"` RuleType string `xml:"ruleType,omitempty"` RuleTag string `xml:"ruleTag,omitempty"` Action string `xml:"action"` Vnic *int `xml:"vnic,omitempty"` OriginalAddress string `xml:"originalAddress"` TranslatedAddress string `xml:"translatedAddress"` LoggingEnabled bool `xml:"loggingEnabled"` Enabled bool `xml:"enabled"` Description string `xml:"description,omitempty"` Protocol string `xml:"protocol,omitempty"` OriginalPort string `xml:"originalPort,omitempty"` TranslatedPort string `xml:"translatedPort,omitempty"` IcmpType string `xml:"icmpType,omitempty"` }
EdgeNatRule contains shared structure for SNAT and DNAT rule configuration using NSX-V proxied edge gateway endpoint https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type Entity ¶
type Entity struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Description string `xml:"Description,omitempty"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` }
Entity is a basic entity type in the vCloud object model. Includes a name, an optional description, and an optional list of links. Type: EntityType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Basic entity type in the vCloud object model. Includes a name, an optional description, and an optional list of links. Since: 0.9
type Error ¶
type Error struct { Message string `xml:"message,attr"` MajorErrorCode int `xml:"majorErrorCode,attr"` MinorErrorCode string `xml:"minorErrorCode,attr"` VendorSpecificErrorCode string `xml:"vendorSpecificErrorCode,attr,omitempty"` StackTrace string `xml:"stackTrace,attr,omitempty"` }
Error is the standard error message type used in the vCloud REST API. Type: ErrorType Namespace: http://www.vmware.com/vcloud/v1.5 Description: The standard error message type used in the vCloud REST API. Since: 0.9
type Extension ¶
type Extension struct {
Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object.
}
Namespace: http://www.vmware.com/vcloud/v1.5 Retrieve a list of extension objects and operations. Since: 1.0
type ExternalCatalogSubscription ¶
type ExternalCatalogSubscription struct { ExpectedSslThumbprint bool `xml:"ExpectedSslThumbprint,omitempty"` LocalCopy bool `xml:"LocalCopy,omitempty"` Password string `xml:"Password,omitempty"` SubscribeToExternalFeeds bool `xml:"SubscribeToExternalFeeds,omitempty"` Location string `xml:"Location,omitempty"` }
ExternalCatalogSubscription represents the configuration parameters for a catalog that has an external subscription Type: ExternalCatalogSubscriptionParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the configuration parameters for a catalog that has an external subscription. Since: 5.5
type ExternalNetwork ¶
type ExternalNetwork struct { XMLName xml.Name `xml:"VMWExternalNetwork"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Link []*Link `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` Configuration *NetworkConfiguration `xml:"Configuration,omitempty"` VimPortGroupRef *VimObjectRef `xml:"VimPortGroupRef,omitempty"` VimPortGroupRefs *VimObjectRefs `xml:"VimPortGroupRefs,omitempty"` VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` }
Type: VMWExternalNetworkType Namespace: http://www.vmware.com/vcloud/extension/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/types/VMWExternalNetworkType.html Description: External network type. Since: 1.0
type ExternalNetworkReferences ¶
type ExternalNetworkReferences struct {
ExternalNetworkReference []*ExternalNetworkReference `xml:"ExternalNetworkReference,omitempty"` // A reference to an entity or operation associated with this object.
}
type ExternalNetworkV2 ¶
type ExternalNetworkV2 struct { // ID is unique for the network. This field is read-only. ID string `json:"id,omitempty"` // Name of the network. Name string `json:"name"` // Description of the network Description string `json:"description"` // Subnets define one or more subnets and IP allocation pools in edge gateway Subnets ExternalNetworkV2Subnets `json:"subnets"` // NetworkBackings for this external network. Describes if this external network is backed by // port groups, vCenter standard switch or an NSX-T Tier-0 router. NetworkBackings ExternalNetworkV2Backings `json:"networkBackings"` }
ExternalNetworkV2 defines a struct for OpenAPI endpoint which is capable of creating NSX-V or NSX-T external network based on provided NetworkBackings.
type ExternalNetworkV2Backing ¶
type ExternalNetworkV2Backing struct { // BackingID must contain either Tier-0 router ID for NSX-T or PortGroup ID for NSX-V BackingID string `json:"backingId"` Name string `json:"name,omitempty"` // BackingType can be either ExternalNetworkBackingTypeNsxtTier0Router in case of NSX-T or one // of ExternalNetworkBackingTypeNetwork or ExternalNetworkBackingDvPortgroup in case of NSX-V BackingType string `json:"backingType"` // NetworkProvider defines backing network manager NetworkProvider NetworkProvider `json:"networkProvider"` }
ExternalNetworkV2Backing defines which networking subsystem is used for external network (NSX-T or NSX-V)
type ExternalNetworkV2Backings ¶
type ExternalNetworkV2Backings struct {
Values []ExternalNetworkV2Backing `json:"values"`
}
type ExternalNetworkV2IPRange ¶
type ExternalNetworkV2IPRange struct { // StartAddress holds starting IP address in the range StartAddress string `json:"startAddress"` // EndAddress holds ending IP address in the range EndAddress string `json:"endAddress"` }
ExternalNetworkV2IPRange defines allocated IP pools for a subnet in external network
type ExternalNetworkV2IPRanges ¶
type ExternalNetworkV2IPRanges struct {
Values []ExternalNetworkV2IPRange `json:"values"`
}
ExternalNetworkV2IPRanges contains slice of ExternalNetworkV2IPRange
type ExternalNetworkV2Subnet ¶
type ExternalNetworkV2Subnet struct { // Gateway for the subnet Gateway string `json:"gateway"` // PrefixLength holds prefix length of the subnet PrefixLength int `json:"prefixLength"` // DNSSuffix is the DNS suffix that VMs attached to this network will use (NSX-V only) DNSSuffix string `json:"dnsSuffix"` // DNSServer1 - first DNS server that VMs attached to this network will use (NSX-V only) DNSServer1 string `json:"dnsServer1"` // DNSServer2 - second DNS server that VMs attached to this network will use (NSX-V only) DNSServer2 string `json:"dnsServer2"` // Enabled indicates whether the external network subnet is currently enabled Enabled bool `json:"enabled"` // UsedIPCount shows number of IP addresses defined by the static IP ranges UsedIPCount int `json:"usedIpCount,omitempty"` // TotalIPCount shows number of IP address used from the static IP ranges TotalIPCount int `json:"totalIpCount,omitempty"` // IPRanges define allocated static IP pools allocated from a defined subnet IPRanges ExternalNetworkV2IPRanges `json:"ipRanges"` }
ExternalNetworkV2Subnet defines one subnet for external network with assigned static IP ranges
type ExternalNetworkV2Subnets ¶
type ExternalNetworkV2Subnets struct {
Values []ExternalNetworkV2Subnet `json:"values"`
}
ExternalNetworkV2Subnets contains slice of ExternalNetworkV2Subnet
type ExternalSubject ¶
type ExternalSubject struct { IdpType string `xml:"IdpType"` // The type of identity provider for example: OAUTH, SAML, LDAP etc for this SubjectID. IsUser bool `xml:"IsUser"` // If true, SubjectID is a reference to a user defined by this organization's identity provider. If false or empty, SubjectID is a reference to a group defined by this organization's identity provider. SubjectId string `xml:"SubjectId"` // The primary key that your identity provider uses to uniquely identify the user or group referenced in SubjectId. }
ExternalSubjectType is a reference to a user or group managed by an identity provider configured for use in this organization.
type File ¶
type File struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Size int64 `xml:"size,attr,omitempty"` BytesTransferred int64 `xml:"bytesTransferred,attr,omitempty"` Checksum string `xml:"checksum,attr,omitempty"` Description string `xml:"Description,omitempty"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` }
File represents a file to be transferred (uploaded or downloaded). Type: FileType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a file to be transferred (uploaded or downloaded). Since: 0.9
type FilesList ¶
type FilesList struct {
File []*File `xml:"File"`
}
FilesList represents a list of files to be transferred (uploaded or downloaded). Type: FilesListType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of files to be transferred (uploaded or downloaded). Since: 0.9
type FirewallConfigWithXml ¶
type FirewallConfigWithXml struct { XMLName xml.Name `xml:"firewall"` Enabled bool `xml:"enabled"` DefaultPolicy FirewallDefaultPolicy `xml:"defaultPolicy"` // Each configuration change has a version number Version string `xml:"version,omitempty"` // The below field has `innerxml` tag so that it is not processed but instead // sent verbatim FirewallRules InnerXML `xml:"firewallRules,omitempty"` GlobalConfig InnerXML `xml:"globalConfig,omitempty"` }
FirewallConfigWithXml allows to enable/disable firewall on a specific edge gateway Reference: vCloud Director API for NSX Programming Guide https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
Warning. It nests all firewall rules because Edge Gateway API is done so that if this data is not sent while enabling it would wipe all firewall rules. InnerXML type field is used with struct tag `innerxml` to prevent any manipulation of configuration and sending it verbatim
type FirewallDefaultPolicy ¶
type FirewallDefaultPolicy struct { LoggingEnabled bool `xml:"loggingEnabled"` Action string `xml:"action"` }
FirewallDefaultPolicy represent default rule
type FirewallRule ¶
type FirewallRule struct { ID string `xml:"Id,omitempty"` // Firewall rule identifier. IsEnabled bool `xml:"IsEnabled"` // Used to enable or disable the firewall rule. Default value is true. MatchOnTranslate bool `xml:"MatchOnTranslate"` // For DNATed traffic, match the firewall rules only after the destination IP is translated. Description string `xml:"Description,omitempty"` // A description of the rule. Policy string `xml:"Policy,omitempty"` // One of: drop (drop packets that match the rule), allow (allow packets that match the rule to pass through the firewall) Protocols *FirewallRuleProtocols `xml:"Protocols,omitempty"` // Specify the protocols to which the rule should be applied. IcmpSubType string `xml:"IcmpSubType,omitempty"` // ICMP subtype. One of: address-mask-request, address-mask-reply, destination-unreachable, echo-request, echo-reply, parameter-problem, redirect, router-advertisement, router-solicitation, source-quench, time-exceeded, timestamp-request, timestamp-reply, any. Port int `xml:"Port,omitempty"` // The port to which this rule applies. A value of -1 matches any port. DestinationPortRange string `xml:"DestinationPortRange,omitempty"` // Destination port range to which this rule applies. DestinationIP string `xml:"DestinationIp,omitempty"` // Destination IP address to which the rule applies. A value of Any matches any IP address. DestinationVM *VMSelection `xml:"DestinationVm,omitempty"` // Details of the destination VM SourcePort int `xml:"SourcePort,omitempty"` // Destination port to which this rule applies. A value of -1 matches any port. SourcePortRange string `xml:"SourcePortRange,omitempty"` // Source port range to which this rule applies. SourceIP string `xml:"SourceIp,omitempty"` // Source IP address to which the rule applies. A value of Any matches any IP address. SourceVM *VMSelection `xml:"SourceVm,omitempty"` // Details of the source Vm Direction string `xml:"Direction,omitempty"` // Direction of traffic to which rule applies. One of: in (rule applies to incoming traffic. This is the default value), out (rule applies to outgoing traffic). EnableLogging bool `xml:"EnableLogging"` // Used to enable or disable firewall rule logging. Default value is false. }
FirewallRule represents a firewall rule Type: FirewallRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a firewall rule. Since: 0.9
type FirewallRuleProtocols ¶
type FirewallRuleProtocols struct { ICMP bool `xml:"Icmp,omitempty"` // True if the rule applies to the ICMP protocol. Any bool `xml:"Any,omitempty"` // True if the rule applies to any protocol. TCP bool `xml:"Tcp,omitempty"` // True if the rule applies to the TCP protocol. UDP bool `xml:"Udp,omitempty"` // True if the rule applies to the UDP protocol. }
FirewallRuleProtocols flags for a network protocol in a firewall rule Type: FirewallRuleType/Protocols Namespace: http://www.vmware.com/vcloud/v1.5 Description: Since:
type FirewallService ¶
type FirewallService struct { IsEnabled bool `xml:"IsEnabled"` // Enable or disable the service using this flag DefaultAction string `xml:"DefaultAction,omitempty"` // Default action of the firewall. One of: drop (Default. Drop packets that match the rule.), allow (Allow packets that match the rule to pass through the firewall) LogDefaultAction bool `xml:"LogDefaultAction"` // Flag to enable logging for default action. Default value is false. FirewallRule []*FirewallRule `xml:"FirewallRule,omitempty"` // A firewall rule. }
FirewallService represent a network firewall service. Type: FirewallServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a network firewall service. Since:
type GatewayConfiguration ¶
type GatewayConfiguration struct { Xmlns string `xml:"xmlns,attr,omitempty"` // BackwardCompatibilityMode. Default is false. If set to true, will allow users to write firewall // rules in the old 1.5 format. The new format does not require to use direction in firewall // rules. Also, for firewall rules to allow NAT traffic the filter is applied on the original IP // addresses. Once set to true cannot be reverted back to false. BackwardCompatibilityMode bool `xml:"BackwardCompatibilityMode,omitempty"` // GatewayBackingConfig defines configuration of the vShield edge VM for this gateway. One of: // compact, full. GatewayBackingConfig string `xml:"GatewayBackingConfig"` // GatewayInterfaces holds configuration for edge gateway interfaces, ip allocations, traffic // rate limits and ip sub-allocations GatewayInterfaces *GatewayInterfaces `xml:"GatewayInterfaces"` // EdgeGatewayServiceConfiguration represents Gateway Features. EdgeGatewayServiceConfiguration *GatewayFeatures `xml:"EdgeGatewayServiceConfiguration,omitempty"` // True if this gateway is highly available. (Requires two vShield edge VMs.) HaEnabled *bool `xml:"HaEnabled,omitempty"` // UseDefaultRouteForDNSRelay defines if the default gateway on the external network selected // for default route should be used as the DNS relay. UseDefaultRouteForDNSRelay *bool `xml:"UseDefaultRouteForDnsRelay,omitempty"` // AdvancedNetworkingEnabled allows to use NSX capabilities such dynamic routing (BGP, OSPF), // zero trust networking (DLR), enchanced VPN support (IPsec VPN, SSL VPN-Plus). AdvancedNetworkingEnabled *bool `xml:"AdvancedNetworkingEnabled,omitempty"` // DistributedRoutingEnabled enables distributed routing on the gateway to allow creation of // many more organization VDC networks. Traffic in those networks is optimized for VM-to-VM // communication. DistributedRoutingEnabled *bool `xml:"DistributedRoutingEnabled,omitempty"` // FipsModeEnabled allows any secure communication to or from the NSX Edge uses cryptographic // algorithms or protocols that are allowed by United States Federal Information Processing // Standards (FIPS). FIPS mode turns on the cipher suites that comply with FIPS. FipsModeEnabled *bool `xml:"FipsModeEnabled,omitempty"` }
GatewayConfiguration is the gateway configuration Type: GatewayConfigurationType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Gateway Configuration. Since: 5.1
type GatewayDhcpService ¶
type GatewayDhcpService struct { IsEnabled bool `xml:"IsEnabled,omitempty"` // Enable or disable the service using this flag Pool []*DhcpPoolService `xml:"Pool,omitempty"` // A DHCP pool. }
GatewayDhcpService represents Gateway DHCP service. Type: GatewayDhcpServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents Gateway DHCP service. Since: 5.1
type GatewayFeatures ¶
type GatewayFeatures struct { XMLName xml.Name Xmlns string `xml:"xmlns,attr,omitempty"` FirewallService *FirewallService `xml:"FirewallService,omitempty"` // Substitute for NetworkService. Firewall service settings NatService *NatService `xml:"NatService,omitempty"` // Substitute for NetworkService. NAT service settings GatewayDhcpService *GatewayDhcpService `xml:"GatewayDhcpService,omitempty"` // Substitute for NetworkService. Gateway DHCP service settings GatewayIpsecVpnService *GatewayIpsecVpnService `xml:"GatewayIpsecVpnService,omitempty"` // Substitute for NetworkService. Gateway Ipsec VPN service settings StaticRoutingService *StaticRoutingService `xml:"StaticRoutingService,omitempty"` // Substitute for NetworkService. Static Routing service settings }
GatewayFeatures represents edge gateway services. Element: EdgeGatewayServiceConfiguration Type: GatewayFeaturesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents edge gateway services. Since: 5.1
type GatewayInterface ¶
type GatewayInterface struct { Name string `xml:"Name,omitempty"` // Internally generated name for the Gateway Interface. DisplayName string `xml:"DisplayName,omitempty"` // Gateway Interface display name. Network *Reference `xml:"Network"` // A reference to the network connected to the gateway interface. InterfaceType string `xml:"InterfaceType"` // The type of interface: One of: Uplink, Internal SubnetParticipation []*SubnetParticipation `xml:"SubnetParticipation,omitempty"` // Slice of subnets for IP allocations. ApplyRateLimit bool `xml:"ApplyRateLimit,omitempty"` // True if rate limiting is applied on this interface. InRateLimit float64 `xml:"InRateLimit,omitempty"` // Incoming rate limit expressed as Gbps. OutRateLimit float64 `xml:"OutRateLimit,omitempty"` // Outgoing rate limit expressed as Gbps. UseForDefaultRoute bool `xml:"UseForDefaultRoute,omitempty"` // True if this network is default route for the gateway. }
GatewayInterface is a gateway interface configuration. Type: GatewayInterfaceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Gateway Interface configuration. Since: 5.1
func (*GatewayInterface) SortBySubnetParticipationGateway ¶
func (g *GatewayInterface) SortBySubnetParticipationGateway()
SortBySubnetParticipationGateway allows to sort SubnetParticipation property slice by gateway address
type GatewayInterfaces ¶
type GatewayInterfaces struct {
GatewayInterface []*GatewayInterface `xml:"GatewayInterface"` // Gateway Interface.
}
GatewayInterfaces is a list of Gateway Interfaces. Type: GatewayInterfacesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A list of Gateway Interfaces. Since: 5.1
type GatewayIpsecVpnEndpoint ¶
type GatewayIpsecVpnEndpoint struct { Network *Reference `xml:"Network"` // External network reference. PublicIP string `xml:"PublicIp,omitempty"` // Public IP for IPSec endpoint. }
GatewayIpsecVpnEndpoint represents an IPSec VPN endpoint. Type: GatewayIpsecVpnEndpointType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents an IPSec VPN endpoint. Since: 5.1
type GatewayIpsecVpnService ¶
type GatewayIpsecVpnService struct { IsEnabled bool `xml:"IsEnabled"` // Enable or disable the service using this flag Endpoint *GatewayIpsecVpnEndpoint `xml:"Endpoint,omitempty"` // List of IPSec VPN Service Endpoints. Tunnel []*GatewayIpsecVpnTunnel `xml:"Tunnel"` // List of IPSec VPN tunnels. }
GatewayIpsecVpnService represents gateway IPsec VPN service. Type: GatewayIpsecVpnServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents gateway IPsec VPN service. Since: 5.1
type GatewayIpsecVpnTunnel ¶
type GatewayIpsecVpnTunnel struct { Name string `xml:"Name"` // The name of the tunnel. Description string `xml:"Description,omitempty"` // A description of the tunnel. // TODO: Fix this in a better way IpsecVpnThirdPartyPeer *IpsecVpnThirdPartyPeer `xml:"IpsecVpnThirdPartyPeer,omitempty"` // Details about the peer network. IpsecVpnLocalPeer *IpsecVpnLocalPeer `xml:"IpsecVpnLocalPeer"` // Details about the local peer network. PeerIPAddress string `xml:"PeerIpAddress"` // IP address of the peer endpoint. PeerID string `xml:"PeerId"` // Id for the peer end point LocalIPAddress string `xml:"LocalIpAddress"` // Address of the local network. LocalID string `xml:"LocalId"` // Id for local end point LocalSubnet []*IpsecVpnSubnet `xml:"LocalSubnet"` // List of local subnets in the tunnel. PeerSubnet []*IpsecVpnSubnet `xml:"PeerSubnet"` // List of peer subnets in the tunnel. EncryptionProtocol string `xml:"EncryptionProtocol"` // Encryption protocol to be used. One of: AES, AES256, TRIPLEDES Mtu int `xml:"Mtu"` // MTU for the tunnel. IsEnabled bool `xml:"IsEnabled,omitempty"` // True if the tunnel is enabled. IsOperational bool `xml:"IsOperational,omitempty"` // True if the tunnel is operational. ErrorDetails string `xml:"ErrorDetails,omitempty"` // Error details of the tunnel. }
GatewayIpsecVpnTunnel represents an IPSec VPN tunnel. Type: GatewayIpsecVpnTunnelType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents an IPSec VPN tunnel. Since: 5.1
type GatewayNatRule ¶
type GatewayNatRule struct { Xmlns string `xml:"xmlns,attr,omitempty"` // Elements Interface *Reference `xml:"Interface,omitempty"` // Interface to which rule is applied. OriginalIP string `xml:"OriginalIp"` // Original IP for rule. OriginalPort string `xml:"OriginalPort,omitempty"` // Original port for rule. TranslatedIP string `xml:"TranslatedIp"` // Translated IP for rule. TranslatedPort string `xml:"TranslatedPort,omitempty"` // Translated port for rule. Protocol string `xml:"Protocol,omitempty"` // Protocol for rule. IcmpSubType string `xml:"IcmpSubType,omitempty"` // ICMP subtype. One of: address-mask-request, address-mask-reply, destination-unreachable, echo-request, echo-reply, parameter-problem, redirect, router-advertisement, router-solicitation, source-quench, time-exceeded, timestamp-request, timestamp-reply, any. }
GatewayNatRule represents the SNAT and DNAT rules. Type: GatewayNatRuleType represents the SNAT and DNAT rules. Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the SNAT and DNAT rules. Since: 5.1
type Group ¶
type Group struct { XMLName xml.Name `xml:"Group"` Xmlns string `xml:"xmlns,attr"` // Id holds ID in format urn:vcloud:group:252fe08e-ae1b-409c-9dda-a531bb1ed69a ID string `xml:"id,attr,omitempty"` // Href holds reference to group object Href string `xml:"href,attr,omitempty"` // Type holds mime type for group Type string `xml:"type,attr"` // Description sets description for group Description string `xml:"Description"` // Name of the group. Cannot be updated. Name string `xml:"name,attr"` // ProviderType - 'SAML', 'INTEGRATED' ProviderType string `xml:"ProviderType"` // Role - reference to existing role Role *Reference `xml:"Role,omitempty"` }
Group represents Org group definition
type GroupReference ¶
type GroupReference struct {
GroupReference []*Reference `xml:"GroupReference,omitempty"`
}
type GuestCustomizationSection ¶
type GuestCustomizationSection struct { // Extends OVF Section_Type // Attributes Ovf string `xml:"xmlns:ovf,attr,omitempty"` Xsi string `xml:"xmlns:xsi,attr,omitempty"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // A reference to the section in URL format. Type string `xml:"type,attr,omitempty"` // The MIME type of the section. // FIXME: Fix the OVF section Info string `xml:"ovf:Info"` // Elements Enabled *bool `xml:"Enabled,omitempty"` // True if guest customization is enabled. ChangeSid *bool `xml:"ChangeSid,omitempty"` // True if customization can change the Windows SID of this virtual machine. VirtualMachineID string `xml:"VirtualMachineId,omitempty"` // Virtual machine ID to apply. JoinDomainEnabled *bool `xml:"JoinDomainEnabled,omitempty"` // True if this virtual machine can join a Windows Domain. UseOrgSettings *bool `xml:"UseOrgSettings,omitempty"` // True if customization should use organization settings (OrgGuestPersonalizationSettings) when joining a Windows Domain. DomainName string `xml:"DomainName,omitempty"` // The name of the Windows Domain to join. DomainUserName string `xml:"DomainUserName,omitempty"` // User name to specify when joining a Windows Domain. DomainUserPassword string `xml:"DomainUserPassword,omitempty"` // Password to use with DomainUserName. MachineObjectOU string `xml:"MachineObjectOU,omitempty"` // The name of the Windows Domain Organizational Unit (OU) in which the computer account for this virtual machine will be created. AdminPasswordEnabled *bool `xml:"AdminPasswordEnabled,omitempty"` // True if guest customization can modify administrator password settings for this virtual machine. AdminPasswordAuto *bool `xml:"AdminPasswordAuto,omitempty"` // True if the administrator password for this virtual machine should be automatically generated. AdminPassword string `xml:"AdminPassword,omitempty"` // True if the administrator password for this virtual machine should be set to this string. (AdminPasswordAuto must be false.) AdminAutoLogonEnabled *bool `xml:"AdminAutoLogonEnabled,omitempty"` // True if guest administrator should automatically log into this virtual machine. AdminAutoLogonCount int `xml:"AdminAutoLogonCount,omitempty"` // Number of times administrator can automatically log into this virtual machine. In case AdminAutoLogon is set to True, this value should be between 1 and 100. Otherwise, it should be 0. ResetPasswordRequired *bool `xml:"ResetPasswordRequired,omitempty"` // True if the administrator password for this virtual machine must be reset after first use. CustomizationScript string `xml:"CustomizationScript,omitempty"` // Script to run on guest customization. The entire script must appear in this element. Use the XML entity to represent a newline. Unicode characters can be represented in the form &#xxxx; where xxxx is the character number. ComputerName string `xml:"ComputerName,omitempty"` // Computer name to assign to this virtual machine. Link LinkList `xml:"Link,omitempty"` // A link to an operation on this section. }
GuestCustomizationSection represents guest customization settings Type: GuestCustomizationSectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a guest customization settings. Since: 1.0
type GuestCustomizationStatusSection ¶
type GuestCustomizationStatusSection struct { XMLName xml.Name `xml:"GuestCustomizationStatusSection"` Xmlns string `xml:"xmlns,attr"` GuestCustStatus string `xml:"GuestCustStatus"` }
GuestCustomizationStatusSection holds information about guest customization status https://vdc-repo.vmware.com/vmwb-repository/dcr-public/76f491b4-679c-4e1e-8428-f813d668297a/a2555a1b-22f1-4cca-b481-2a98ab874022/doc/doc/operations/GET-GuestCustStatus.html
type HardwareVersion ¶
type HardwareVersion struct { HREF string `xml:"href,attr"` Type string `xml:"type,attr,omitempty"` Value string `xml:",chardata"` }
HardwareVersion from VM/VmSpecSection struct
type IPAddresses ¶
type IPAddresses struct {
IPAddress []string `xml:"IpAddress,omitempty"` // A list of IP addresses.
}
IPAddresses a list of IP addresses Type: IpAddressesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A list of IP addresses. Since: 0.9
type IPRange ¶
type IPRange struct { StartAddress string `xml:"StartAddress"` // Start address of the IP range. EndAddress string `xml:"EndAddress"` // End address of the IP range. }
IPRange represents a range of IP addresses, start and end inclusive. Type: IpRangeType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a range of IP addresses, start and end inclusive. Since: 0.9
type IPRanges ¶
type IPRanges struct {
IPRange []*IPRange `xml:"IpRange,omitempty"` // IP range.
}
IPRanges represents a list of IP ranges. Type: IpRangesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of IP ranges. Since: 0.9
type IPScope ¶
type IPScope struct { IsInherited bool `xml:"IsInherited"` // True if the IP scope is inherit from parent network. Gateway string `xml:"Gateway,omitempty"` // Gateway of the network. Netmask string `xml:"Netmask,omitempty"` // Network mask. DNS1 string `xml:"Dns1,omitempty"` // Primary DNS server. DNS2 string `xml:"Dns2,omitempty"` // Secondary DNS server. DNSSuffix string `xml:"DnsSuffix,omitempty"` // DNS suffix. IsEnabled bool `xml:"IsEnabled,omitempty"` // Indicates if subnet is enabled or not. Default value is True. IPRanges *IPRanges `xml:"IpRanges,omitempty"` // IP ranges used for static pool allocation in the network. AllocatedIPAddresses *IPAddresses `xml:"AllocatedIpAddresses,omitempty"` // Read-only list of allocated IP addresses in the network. SubAllocations *SubAllocations `xml:"SubAllocations,omitempty"` // Read-only list of IP addresses that are sub allocated to edge gateways. }
IPScope specifies network settings like gateway, network mask, DNS servers IP ranges etc Type: IpScopeType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Specify network settings like gateway, network mask, DNS servers, IP ranges, etc. Since: 0.9
type IPScopes ¶
type IPScopes struct {
IPScope []*IPScope `xml:"IpScope"` // IP scope.
}
IPScopes represents a list of IP scopes. Type: IpScopesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of IP scopes. Since: 5.1
type InnerXML ¶
type InnerXML struct {
Text string `xml:",innerxml"`
}
InnerXML is meant to be used when unmarshaling a field into text rather than struct It helps to avoid missing out any fields which may not have been specified in the struct.
type InstantiateVAppTemplateParams ¶
type InstantiateVAppTemplateParams struct { XMLName xml.Name `xml:"InstantiateVAppTemplateParams"` Ovf string `xml:"xmlns:ovf,attr"` Xsi string `xml:"xmlns:xsi,attr,omitempty"` Xmlns string `xml:"xmlns,attr"` // Attributes Name string `xml:"name,attr,omitempty"` // Typically used to name or identify the subject of the request. For example, the name of the object being created or modified. Deploy bool `xml:"deploy,attr"` // True if the vApp should be deployed at instantiation. Defaults to true. PowerOn bool `xml:"powerOn,attr"` // True if the vApp should be powered-on at instantiation. Defaults to true. LinkedClone bool `xml:"linkedClone,attr,omitempty"` // Reserved. Unimplemented. // Elements Description string `xml:"Description,omitempty"` // Optional description. VAppParent *Reference `xml:"VAppParent,omitempty"` // Reserved. Unimplemented. InstantiationParams *InstantiationParams `xml:"InstantiationParams,omitempty"` // Instantiation parameters for the composed vApp. Source *Reference `xml:"Source"` // A reference to a source object such as a vApp or vApp template. IsSourceDelete bool `xml:"IsSourceDelete,omitempty"` // Set to true to delete the source object after the operation completes. SourcedItem *SourcedCompositionItemParam `xml:"SourcedItem,omitempty"` // Composition item. One of: vApp vAppTemplate Vm. AllEULAsAccepted bool `xml:"AllEULAsAccepted,omitempty"` // True confirms acceptance of all EULAs in a vApp template. Instantiation fails if this element is missing, empty, or set to false and one or more EulaSection elements are present. }
InstantiateVAppTemplateParams represents vApp template instantiation parameters. Type: InstantiateVAppTemplateParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents vApp template instantiation parameters. Since: 0.9
type InstantiationParams ¶
type InstantiationParams struct { CustomizationSection *CustomizationSection `xml:"CustomizationSection,omitempty"` DefaultStorageProfileSection *DefaultStorageProfileSection `xml:"DefaultStorageProfileSection,omitempty"` GuestCustomizationSection *GuestCustomizationSection `xml:"GuestCustomizationSection,omitempty"` LeaseSettingsSection *LeaseSettingsSection `xml:"LeaseSettingsSection,omitempty"` NetworkConfigSection *NetworkConfigSection `xml:"NetworkConfigSection,omitempty"` NetworkConnectionSection *NetworkConnectionSection `xml:"NetworkConnectionSection,omitempty"` ProductSection *ProductSection `xml:"ProductSection,omitempty"` }
InstantiationParams is a container for ovf:Section_Type elements that specify vApp configuration on instantiate, compose, or recompose. Type: InstantiationParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for ovf:Section_Type elements that specify vApp configuration on instantiate, compose, or recompose. Since: 0.9
type IpsecVpnLocalPeer ¶
type IpsecVpnLocalPeer struct { ID string `xml:"Id"` // Id for the peer end point Name string `xml:"Name"` // Name for the peer }
IpsecVpnThirdPartyPeer represents details about a peer network
type IpsecVpnSubnet ¶
type IpsecVpnSubnet struct { Name string `xml:"Name"` // Gateway Name. Gateway string `xml:"Gateway"` // Subnet Gateway. Netmask string `xml:"Netmask"` // Subnet Netmask. }
IpsecVpnSubnet represents subnet details. Type: IpsecVpnSubnetType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents subnet details. Since: 5.1
type IpsecVpnThirdPartyPeer ¶
type IpsecVpnThirdPartyPeer struct {
PeerID string `xml:"PeerId,omitempty"` // Id for the peer end point
}
IpsecVpnThirdPartyPeer represents details about a peer network
type LbAppProfile ¶
type LbAppProfile struct { XMLName xml.Name `xml:"applicationProfile"` ID string `xml:"applicationProfileId,omitempty"` Name string `xml:"name,omitempty"` SslPassthrough bool `xml:"sslPassthrough"` Template string `xml:"template,omitempty"` HttpRedirect *LbAppProfileHttpRedirect `xml:"httpRedirect,omitempty"` Persistence *LbAppProfilePersistence `xml:"persistence,omitempty"` InsertXForwardedForHttpHeader bool `xml:"insertXForwardedFor"` ServerSslEnabled bool `xml:"serverSslEnabled"` }
LbAppProfile represents a load balancer application profile as per "vCloud Director API for NSX Programming Guide" https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type LbAppProfileHttpRedirect ¶
type LbAppProfileHttpRedirect struct { XMLName xml.Name `xml:"httpRedirect"` To string `xml:"to,omitempty"` }
LbAppProfileHttpRedirect defines http redirect settings in LbAppProfile
type LbAppProfilePersistence ¶
type LbAppProfilePersistence struct { XMLName xml.Name `xml:"persistence"` Method string `xml:"method,omitempty"` CookieName string `xml:"cookieName,omitempty"` CookieMode string `xml:"cookieMode,omitempty"` Expire int `xml:"expire,omitempty"` }
LbAppProfilePersistence defines persistence profile settings in LbAppProfile
type LbAppProfiles ¶
type LbAppProfiles []LbAppProfile
type LbAppRule ¶
type LbAppRule struct { XMLName xml.Name `xml:"applicationRule"` ID string `xml:"applicationRuleId,omitempty"` Name string `xml:"name,omitempty"` Script string `xml:"script,omitempty"` }
LbAppRule represents a load balancer application rule as per "vCloud Director API for NSX Programming Guide" https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type LbAppRules ¶
type LbAppRules []LbAppRule
type LbGeneralParamsWithXml ¶
type LbGeneralParamsWithXml struct { XMLName xml.Name `xml:"loadBalancer"` Enabled bool `xml:"enabled"` AccelerationEnabled bool `xml:"accelerationEnabled"` Logging *LbLogging `xml:"logging"` // This field is not used anywhere but needs to be passed through EnableServiceInsertion bool `xml:"enableServiceInsertion"` // Each configuration change has a version number Version string `xml:"version,omitempty"` // The below fields have `innerxml` tag so that they are not processed but instead // sent verbatim VirtualServers []InnerXML `xml:"virtualServer,omitempty"` Pools []InnerXML `xml:"pool,omitempty"` AppProfiles []InnerXML `xml:"applicationProfile,omitempty"` Monitors []InnerXML `xml:"monitor,omitempty"` AppRules []InnerXML `xml:"applicationRule,omitempty"` }
LbGeneralParamsWithXml allows to enable/disable load balancing capabilities on specific edge gateway Reference: vCloud Director API for NSX Programming Guide https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
Warning. It nests all components (LbMonitor, LbPool, LbAppProfile, LbAppRule, LbVirtualServer) because Edge Gateway API is done so that if this data is not sent while enabling it would wipe all load balancer configurations. InnerXML type fields are used with struct tag `innerxml` to prevent any manipulation of configuration and sending it verbatim
type LbMonitor ¶
type LbMonitor struct { XMLName xml.Name `xml:"monitor"` ID string `xml:"monitorId,omitempty"` Type string `xml:"type"` Interval int `xml:"interval,omitempty"` Timeout int `xml:"timeout,omitempty"` MaxRetries int `xml:"maxRetries,omitempty"` Method string `xml:"method,omitempty"` URL string `xml:"url,omitempty"` Expected string `xml:"expected,omitempty"` Name string `xml:"name,omitempty"` Send string `xml:"send,omitempty"` Receive string `xml:"receive,omitempty"` Extension string `xml:"extension,omitempty"` }
LbMonitor defines health check parameters for a particular type of network traffic Reference: vCloud Director API for NSX Programming Guide https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type LbMonitors ¶
type LbMonitors []LbMonitor
type LbPool ¶
type LbPool struct { XMLName xml.Name `xml:"pool"` ID string `xml:"poolId,omitempty"` Name string `xml:"name"` Description string `xml:"description,omitempty"` Algorithm string `xml:"algorithm"` AlgorithmParameters string `xml:"algorithmParameters,omitempty"` Transparent bool `xml:"transparent"` MonitorId string `xml:"monitorId,omitempty"` Members LbPoolMembers `xml:"member,omitempty"` }
LbPool represents a load balancer server pool as per "vCloud Director API for NSX Programming Guide" Type: LBPoolHealthCheckType https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type LbPoolMember ¶
type LbPoolMember struct { ID string `xml:"memberId,omitempty"` Name string `xml:"name"` IpAddress string `xml:"ipAddress"` Weight int `xml:"weight,omitempty"` MonitorPort int `xml:"monitorPort,omitempty"` Port int `xml:"port"` MaxConn int `xml:"maxConn,omitempty"` MinConn int `xml:"minConn,omitempty"` Condition string `xml:"condition,omitempty"` }
LbPoolMember represents a single member inside LbPool
type LbPoolMembers ¶
type LbPoolMembers []LbPoolMember
type LbVirtualServer ¶
type LbVirtualServer struct { XMLName xml.Name `xml:"virtualServer"` ID string `xml:"virtualServerId,omitempty"` Name string `xml:"name,omitempty"` Description string `xml:"description,omitempty"` Enabled bool `xml:"enabled"` IpAddress string `xml:"ipAddress"` Protocol string `xml:"protocol"` Port int `xml:"port"` AccelerationEnabled bool `xml:"accelerationEnabled"` ConnectionLimit int `xml:"connectionLimit,omitempty"` ConnectionRateLimit int `xml:"connectionRateLimit,omitempty"` ApplicationProfileId string `xml:"applicationProfileId,omitempty"` DefaultPoolId string `xml:"defaultPoolId,omitempty"` ApplicationRuleIds []string `xml:"applicationRuleId,omitempty"` }
LbVirtualServer represents a load balancer virtual server as per "vCloud Director API for NSX Programming Guide" https://code.vmware.com/docs/6900/vcloud-director-api-for-nsx-programming-guide
type LeaseSettingsSection ¶
type LeaseSettingsSection struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` DeploymentLeaseExpiration string `xml:"DeploymentLeaseExpiration,omitempty"` DeploymentLeaseInSeconds int `xml:"DeploymentLeaseInSeconds,omitempty"` Link *Link `xml:"Link,omitempty"` StorageLeaseExpiration string `xml:"StorageLeaseExpiration,omitempty"` StorageLeaseInSeconds int `xml:"StorageLeaseInSeconds,omitempty"` }
LeaseSettingsSection represents vApp lease settings. Type: LeaseSettingsSectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents vApp lease settings. Since: 0.9
type Link ¶
type Link struct { HREF string `xml:"href,attr"` ID string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` Rel string `xml:"rel,attr"` }
Link extends reference type by adding relation attribute. Defines a hyper-link with a relationship, hyper-link reference, and an optional MIME type. Type: LinkType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Extends reference type by adding relation attribute. Defines a hyper-link with a relationship, hyper-link reference, and an optional MIME type. Since: 0.9
type LinkList ¶
type LinkList []*Link
LinkList represents a list of links
func (LinkList) Find ¶
func (l LinkList) Find(predicate LinkPredicate) *Link
Find the first occurrence that matches the predicate
type LinkPredicate ¶
LinkPredicate is a predicate for finding links in a link list
type LocalSubject ¶
type LocalSubject struct { HREF string `xml:"href,attr"` // Required - The URL with the full identification of the subject Name string `xml:"name,attr"` // The name of the subject. Not needed in input, but it is returned on reading Type string `xml:"type,attr"` // Required - The MIME type of the subject. So far, we are using users, groups, and organizations }
LocalSubject is the user, group, or organization to which control access settings apply.
type LocalityParams ¶
type LocalityParams struct { // Elements ResourceEntity *Reference `xml:"ResourceEntity,omitempty"` // Reference to a Disk, or a VM. }
LocalityParams represents locality parameters. Locality parameters provide a hint that may help the placement engine optimize placement of a VM with respect to another VM or an independent disk. Type: LocalityParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents locality parameters. Locality parameters provide a hint that may help the placement engine optimize placement of a VM with respect to another VM or an independent disk. Since: 5.1
type Media ¶
type Media struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Status int64 `xml:"status,attr,omitempty"` ImageType string `xml:"imageType,attr,omitempty"` Size int64 `xml:"size,attr,omitempty"` Description string `xml:"Description,omitempty"` Files *FilesList `xml:"Files,omitempty"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` Owner *Reference `xml:"Owner,omitempty"` Entity *Entity `xml:"Entity"` }
Type: MediaType Namespace: http://www.vmware.com/vcloud/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/ca48e1bb-282b-4fdc-b827-649b819249ed/55142cf1-5bb8-4ab1-8d09-b84f717af5ec/doc/doc/types/MediaType.html Description: Represents Media image Since: 0.9
type MediaInsertOrEjectParams ¶
type MediaInsertOrEjectParams struct { XMLName xml.Name `xml:"MediaInsertOrEjectParams"` Xmlns string `xml:"xmlns,attr,omitempty"` Media *Reference `xml:"Media"` VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` }
Parameters for inserting and ejecting virtual media for VM as CD/DVD Reference: vCloud API 30.0 - MediaInsertOrEjectParamsType https://code.vmware.com/apis/287/vcloud#/doc/doc/types/MediaInsertOrEjectParamsType.html
type MediaRecordType ¶
type MediaRecordType struct { HREF string `xml:"href,attr,omitempty"` ID string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` OwnerName string `xml:"ownerName,attr,omitempty"` CatalogName string `xml:"catalogName,attr,omitempty"` IsPublished bool `xml:"isPublished,attr,omitempty"` Name string `xml:"name,attr"` Vdc string `xml:"vdc,attr,omitempty"` VdcName string `xml:"vdcName,attr,omitempty"` Org string `xml:"org,attr,omitempty"` CreationDate string `xml:"creationDate,attr,omitempty"` IsBusy bool `xml:"isBusy,attr,omitempty"` StorageB int64 `xml:"storageB,attr,omitempty"` Owner string `xml:"owner,attr,omitempty"` Catalog string `xml:"catalog,attr,omitempty"` CatalogItem string `xml:"catalogItem,attr,omitempty"` Status string `xml:"status,attr,omitempty"` StorageProfileName string `xml:"storageProfileName,attr,omitempty"` Version int64 `xml:"version,attr,omitempty"` LastSuccessfulSync string `xml:"lastSuccessfulSync,attr,omitempty"` TaskStatusName string `xml:"taskStatusName,attr,omitempty"` IsInCatalog bool `xml:"isInCatalog,attr,omitempty"` Task string `xml:"task,attr,omitempty"` IsIso bool `xml:"isIso,attr,omitempty"` IsVdcEnabled bool `xml:"isVdcEnabled,attr,omitempty"` TaskStatus string `xml:"taskStatus,attr,omitempty"` TaskDetails string `xml:"taskDetails,attr,omitempty"` Link *Link `xml:"Link,omitempty"` Metadata *Metadata `xml:"Metadata,omitempty"` }
Type: MediaRecord Namespace: http://www.vmware.com/vcloud/v1.5 https://code.vmware.com/apis/287/vcloud#/doc/doc/operations/GET-MediasFromQuery.html Issue that description partly matches with what is returned Description: Represents Media record Since: 1.5
type MediaSection ¶
type MediaSection struct {
MediaSettings []*MediaSettings `xml:"MediaSettings"`
}
MediaSection from VM/VmSpecSection struct
type MediaSettings ¶
type MediaSettings struct { DeviceId string `xml:"DeviceId,omitempty"` // Describes the media device whose media mount is being specified here. This deviceId must match the RASD.InstanceID attribute in the VirtualHardwareSection of the vApp's OVF description. MediaImage *Reference `xml:"MediaImage,omitempty"` // The media image that is mounted onto the device. This property can be 'null' which represents that no media is mounted on the device. MediaType string `xml:"MediaType,omitempty"` // Specified the type of media that is mounted onto the device. MediaState string `xml:"MediaState,omitempty"` // Specifies the state of the media device. UnitNumber int `xml:"UnitNumber"` // Specified the type of media that is mounted onto the device. BusNumber int `xml:"BusNumber"` // The bus number of the media device controller. AdapterType string `xml:"AdapterType,omitempty"` // The type of controller, e.g. IDE vs SCSI and if SCSI bus-logic vs LSI logic }
MediaSettings from VM/VmSpecSection/MediaSection struct
type MemoryResourceMb ¶
type MemoryResourceMb struct { Configured int64 `xml:"Configured"` // The amount of resource configured on the virtual machine. Reservation *int64 `xml:"Reservation,omitempty"` // The amount of reservation of this resource on the underlying virtualization infrastructure. Limit *int64 `xml:"Limit,omitempty"` // The limit for how much of this resource can be consumed on the underlying virtualization infrastructure. This is only valid when the resource allocation is not unlimited. }
MemoryResourceMb from VM/VmSpecSection struct
type Metadata ¶
type Metadata struct { XMLName xml.Name `xml:"Metadata"` Xmlns string `xml:"xmlns,attr"` HREF string `xml:"href,attr"` Type string `xml:"type,attr,omitempty"` Xsi string `xml:"xmlns:xsi,attr"` Link []*Link `xml:"Link,omitempty"` MetadataEntry []*MetadataEntry `xml:"MetadataEntry,omitempty"` }
Type: MetadataType Namespace: http://www.vmware.com/vcloud/v1.5 Description: User-defined metadata associated with with an object. Since: 1.5
type MetadataEntry ¶
type MetadataEntry struct { Xmlns string `xml:"xmlns,attr"` HREF string `xml:"href,attr"` Type string `xml:"type,attr,omitempty"` Xsi string `xml:"xmlns:xsi,attr"` Domain string `xml:"Domain,omitempty"` // A value of SYSTEM places this MetadataEntry in the SYSTEM domain. Omit or leave empty to place this MetadataEntry in the GENERAL domain. Key string `xml:"Key"` // An arbitrary key name. Length cannot exceed 256 UTF-8 characters. Link []*Link `xml:"Link,omitempty"` //A reference to an entity or operation associated with this object. TypedValue *TypedValue `xml:"TypedValue"` }
Type: MetadataEntryType Namespace: http://www.vmware.com/vcloud/v1.5
type MetadataValue ¶
type MetadataValue struct { XMLName xml.Name `xml:"MetadataValue"` Xsi string `xml:"xmlns:xsi,attr"` Xmlns string `xml:"xmlns,attr"` TypedValue *TypedValue `xml:"TypedValue"` }
type NSXError ¶
type NSXError struct { XMLName xml.Name `xml:"error"` ErrorCode string `xml:"errorCode"` Details string `xml:"details"` ModuleName string `xml:"moduleName"` }
NSXError is the standard error message type used in the NSX API which is proxied by vCD. It has attached method `Error() string` and implements Go's default `type error` interface.
type NatOneToOneBasicRule ¶
type NatOneToOneBasicRule struct { Xmlns string `xml:"xmlns,attr,omitempty"` // Elements MappingMode string `xml:"MappingMode"` // One of: automatic (map IP addresses automatically), manual (map IP addresses manually using ExternalIpAddress and InternalIpAddress) ExternalIPAddress string `xml:"ExternalIpAddress"` // External IP address to map. InternalIPAddress string `xml:"InternalIpAddress"` // Internal IP address to map. }
NatOneToOneBasicRule represents the NAT basic rule for one to one mapping of internal and external IP addresses from a network. Type: NatOneToOneBasicRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the NAT basic rule for one to one mapping of internal and external IP addresses from a network. Since: 0.9
type NatOneToOneVMRule ¶
type NatOneToOneVMRule struct { Xmlns string `xml:"xmlns,attr,omitempty"` // Elements MappingMode string `xml:"MappingMode"` // Mapping mode. ExternalIPAddress *string `xml:"ExternalIpAddress"` // External IP address to map. VAppScopedVMID string `xml:"VAppScopedVmId"` // VAppScopedVmId of VM to which this rule applies. VMNicID int `xml:"VmNicId"` // VM NIC ID to which this rule applies. }
NatOneToOneVMRule represents the NAT rule for one to one mapping of VM NIC and external IP addresses from a network. Type: NatOneToOneVmRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the NAT rule for one to one mapping of VM NIC and external IP addresses from a network. Since: 0.9
type NatPortForwardingRule ¶
type NatPortForwardingRule struct { ExternalIPAddress string `xml:"ExternalIpAddress"` // External IP address to map. ExternalPort int `xml:"ExternalPort"` // External port to forward to. InternalIPAddress string `xml:"InternalIpAddress"` // Internal IP address to map. InternalPort int `xml:"InternalPort"` // Internal port to forward to. Protocol string `xml:"Protocol,omitempty"` // Protocol to forward. One of: TCP (forward TCP packets), UDP (forward UDP packets), TCP_UDP (forward TCP and UDP packets). }
NatPortForwardingRule represents the NAT rule for port forwarding between internal IP/port and external IP/port. Type: NatPortForwardingRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the NAT rule for port forwarding between internal IP/port and external IP/port. Since: 0.9
type NatRule ¶
type NatRule struct { Xmlns string `xml:"xmlns,attr,omitempty"` // Elements Description string `xml:"Description,omitempty"` // A description of the rule. RuleType string `xml:"RuleType,omitempty"` // Type of NAT rule. One of: SNAT (source NAT), DNAT (destination NAT) IsEnabled *bool `xml:"IsEnabled"` // Used to enable or disable the firewall rule. ID string `xml:"Id,omitempty"` // Firewall rule identifier. GatewayNatRule *GatewayNatRule `xml:"GatewayNatRule,omitempty"` // Defines SNAT and DNAT types. OneToOneBasicRule *NatOneToOneBasicRule `xml:"OneToOneBasicRule,omitempty"` // Maps one internal IP address to one external IP address. OneToOneVMRule *NatOneToOneVMRule `xml:"OneToOneVmRule,omitempty"` // Maps one VM NIC to one external IP addresses. PortForwardingRule *NatPortForwardingRule `xml:"PortForwardingRule,omitempty"` // Port forwarding internal to external IP addresses. VMRule *NatVMRule `xml:"VmRule,omitempty"` // Port forwarding VM NIC to external IP addresses. }
NatRule represents a NAT rule. Type: NatRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a NAT rule. Since: 0.9
type NatService ¶
type NatService struct { Xmlns string `xml:"xmlns,attr,omitempty"` IsEnabled bool `xml:"IsEnabled"` // Enable or disable the service using this flag NatType string `xml:"NatType,omitempty"` // One of: ipTranslation (use IP translation), portForwarding (use port forwarding) Policy string `xml:"Policy,omitempty"` // One of: allowTraffic (Allow all traffic), allowTrafficIn (Allow inbound traffic only) NatRule []*NatRule `xml:"NatRule,omitempty"` // A NAT rule. ExternalIP string `xml:"ExternalIp,omitempty"` // External IP address for rule. }
NatService represents a NAT network service. Type: NatServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a NAT network service. Since:
type NatVMRule ¶
type NatVMRule struct { ExternalIPAddress string `xml:"ExternalIpAddress,omitempty"` // External IP address to map. ExternalPort int `xml:"ExternalPort"` // External port to forward to. VAppScopedVMID string `xml:"VAppScopedVmId"` // VAppScopedVmId of VM to which this rule applies. VMNicID int `xml:"VmNicId"` // VM NIC ID to which this rule applies. InternalPort int `xml:"InternalPort"` // Internal port to forward to. Protocol string `xml:"Protocol,omitempty"` // Protocol to forward. One of: TCP (forward TCP packets), UDP (forward UDP packets), TCP_UDP (forward TCP and UDP packets). }
NatVMRule represents the NAT rule for port forwarding between VM NIC/port and external IP/port. Type: NatVmRuleType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the NAT rule for port forwarding between VM NIC/port and external IP/port. Since: 0.9
type NetworkAssignment ¶
type NetworkAssignment struct { // Attributes InnerNetwork string `xml:"innerNetwork,attr"` // Name of the network as specified in the Vm. ContainerNetwork string `xml:"containerNetwork,attr"` // Name of the vApp network to map to. }
NetworkAssignment maps a network name specified in a Vm to the network name of a vApp network defined in the VApp that contains the Vm Type: NetworkAssignmentType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Maps a network name specified in a Vm to the network name of a vApp network defined in the VApp that contains the Vm Since: 0.9
type NetworkConfigSection ¶
type NetworkConfigSection struct { // Extends OVF Section_Type // FIXME: Fix the OVF section XMLName xml.Name `xml:"NetworkConfigSection"` Xmlns string `xml:"xmlns,attr,omitempty"` Ovf string `xml:"xmlns:ovf,attr,omitempty"` Info string `xml:"ovf:Info"` // HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Link *Link `xml:"Link,omitempty"` NetworkConfig []VAppNetworkConfiguration `xml:"NetworkConfig,omitempty"` }
NetworkConfigSection is container for vApp networks. Type: NetworkConfigSectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for vApp networks. Since: 0.9
func (NetworkConfigSection) NetworkNames ¶
func (n NetworkConfigSection) NetworkNames() []string
NetworkNames allows to extract network names
type NetworkConfiguration ¶
type NetworkConfiguration struct { Xmlns string `xml:"xmlns,attr,omitempty"` BackwardCompatibilityMode bool `xml:"BackwardCompatibilityMode"` IPScopes *IPScopes `xml:"IpScopes,omitempty"` ParentNetwork *Reference `xml:"ParentNetwork,omitempty"` FenceMode string `xml:"FenceMode"` RetainNetInfoAcrossDeployments *bool `xml:"RetainNetInfoAcrossDeployments,omitempty"` Features *NetworkFeatures `xml:"Features,omitempty"` // SubInterface and DistributedInterface are mutually exclusive // When they are both nil, it means the "internal" interface (the default) will be used. // When one of them is set, the corresponding interface will be used. // They cannot be both set (we'll get an API error if we do). SubInterface *bool `xml:"SubInterface,omitempty"` DistributedInterface *bool `xml:"DistributedInterface,omitempty"` GuestVlanAllowed *bool `xml:"GuestVlanAllowed,omitempty"` }
NetworkConfiguration is the configuration applied to a network. This is an abstract base type. The concrete types include those for vApp and Organization wide networks. Type: NetworkConfigurationType Namespace: http://www.vmware.com/vcloud/v1.5 Description: The configurations applied to a network. This is an abstract base type. The concrete types include those for vApp and Organization wide networks. Since: 0.9
type NetworkConnection ¶
type NetworkConnection struct { Network string `xml:"network,attr"` // Name of the network to which this NIC is connected. NeedsCustomization bool `xml:"needsCustomization,attr,omitempty"` // True if this NIC needs customization. NetworkConnectionIndex int `xml:"NetworkConnectionIndex"` // Virtual slot number associated with this NIC. First slot number is 0. IPAddress string `xml:"IpAddress,omitempty"` // IP address assigned to this NIC. ExternalIPAddress string `xml:"ExternalIpAddress,omitempty"` // If the network to which this NIC connects provides NAT services, the external address assigned to this NIC appears here. IsConnected bool `xml:"IsConnected"` // If the virtual machine is undeployed, this value specifies whether the NIC should be connected upon deployment. If the virtual machine is deployed, this value reports the current status of this NIC's connection, and can be updated to change that connection status. MACAddress string `xml:"MACAddress,omitempty"` // MAC address associated with the NIC. IPAddressAllocationMode string `xml:"IpAddressAllocationMode"` // IP address allocation mode for this connection. One of: POOL (A static IP address is allocated automatically from a pool of addresses.) DHCP (The IP address is obtained from a DHCP service.) MANUAL (The IP address is assigned manually in the IpAddress element.) NONE (No IP addressing mode specified.) NetworkAdapterType string `xml:"NetworkAdapterType,omitempty"` }
NetworkConnection represents a network connection in the virtual machine. Type: NetworkConnectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a network connection in the virtual machine. Since: 0.9
type NetworkConnectionSection ¶
type NetworkConnectionSection struct { // Extends OVF Section_Type // FIXME: Fix the OVF section XMLName xml.Name `xml:"NetworkConnectionSection"` Xmlns string `xml:"xmlns,attr,omitempty"` Ovf string `xml:"xmlns:ovf,attr,omitempty"` Info string `xml:"ovf:Info"` // HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` PrimaryNetworkConnectionIndex int `xml:"PrimaryNetworkConnectionIndex"` NetworkConnection []*NetworkConnection `xml:"NetworkConnection,omitempty"` Link *Link `xml:"Link,omitempty"` }
NetworkConnectionSection the container for the network connections of this virtual machine. Type: NetworkConnectionSectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for the network connections of this virtual machine. Since: 0.9
type NetworkFeatures ¶
type NetworkFeatures struct { DhcpService *DhcpService `xml:"DhcpService,omitempty"` // Substitute for NetworkService. DHCP service settings FirewallService *FirewallService `xml:"FirewallService,omitempty"` // Substitute for NetworkService. Firewall service settings NatService *NatService `xml:"NatService,omitempty"` // Substitute for NetworkService. NAT service settings StaticRoutingService *StaticRoutingService `xml:"StaticRoutingService,omitempty"` // Substitute for NetworkService. Static Routing service settings }
NetworkFeatures represents features of a network. Type: NetworkFeaturesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents features of a network. Since:
type NetworkProvider ¶
NetworkProvider can be NSX-T manager or vCenter. ID is sufficient for creation purpose.
type NetworksList ¶
type NetworksList struct {
Networks []*Reference `xml:"Network,omitempty"`
}
NetworksListType contains a list of references to Org Networks Type: NetworksListType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of organization Networks. Since: 0.9
type NsxtEdgeCluster ¶ added in v2.11.9
type NsxtEdgeCluster struct { // ID contains edge cluster ID (UUID format) ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` // NodeCount shows number of nodes in the edge cluster NodeCount int `json:"nodeCount"` // NodeType usually holds "EDGE_NODE" NodeType string `json:"nodeType"` // DeploymentType (e.g. "VIRTUAL_MACHINE") DeploymentType string `json:"deploymentType"` }
NsxtEdgeCluster is a struct to represent logical grouping of NSX-T Edge virtual machines.
type NsxtTier0Router ¶
type NsxtTier0Router struct { ID string `json:"id,omitempty"` Description string `json:"description"` DisplayName string `json:"displayName"` }
NsxtTier0Router defines NSX-T Tier 0 router
type OVFItem ¶
type OVFItem struct { XMLName xml.Name `xml:"vcloud:Item"` XmlnsRasd string `xml:"xmlns:rasd,attr"` XmlnsVCloud string `xml:"xmlns:vcloud,attr"` XmlnsXsi string `xml:"xmlns:xsi,attr"` XmlnsVmw string `xml:"xmlns:vmw,attr,omitempty"` VCloudHREF string `xml:"vcloud:href,attr"` VCloudType string `xml:"vcloud:type,attr"` AllocationUnits string `xml:"rasd:AllocationUnits"` Description string `xml:"rasd:Description"` ElementName string `xml:"rasd:ElementName"` InstanceID int `xml:"rasd:InstanceID"` Reservation int `xml:"rasd:Reservation"` ResourceType int `xml:"rasd:ResourceType"` VirtualQuantity int `xml:"rasd:VirtualQuantity"` Weight int `xml:"rasd:Weight"` CoresPerSocket *int `xml:"vmw:CoresPerSocket,omitempty"` Link *Link `xml:"vcloud:Link"` }
OVFItem is a horrible kludge to process OVF, needs to be fixed with proper types.
type OpenAPIEdgeGateway ¶ added in v2.11.9
type OpenAPIEdgeGateway struct { Status string `json:"status,omitempty"` ID string `json:"id,omitempty"` // Name of edge gateway Name string `json:"name"` // Description of edge gateway Description string `json:"description"` // OrgVdc holds the organization vDC or vDC Group that this edge gateway belongs to. If the ownerRef is set to a VDC // Group, this gateway will be available across all the participating Organization vDCs in the VDC Group. OrgVdc *OpenApiReference `json:"orgVdc,omitempty"` // Org holds the organization to which the gateway belongs. Org *OpenApiReference `json:"orgRef,omitempty"` // EdgeGatewayUplink defines uplink connections for the edge gateway. EdgeGatewayUplinks []EdgeGatewayUplinks `json:"edgeGatewayUplinks"` // DistributedRoutingEnabled is a flag indicating whether distributed routing is enabled or not. The default is false. DistributedRoutingEnabled *bool `json:"distributedRoutingEnabled,omitempty"` // EdgeClusterConfig holds Edge Cluster Configuration for the Edge Gateway. Can be specified if a gateway needs to be // placed on a specific set of Edge Clusters. For NSX-T Edges, user should specify the ID of the NSX-T edge cluster as // the value of primaryEdgeCluster's backingId. The gateway defaults to the Edge Cluster of the connected External // Network's backing Tier-0 router, if nothing is specified. // // Note. The value of secondaryEdgeCluster will be set to NULL for NSX-T edge gateways. For NSX-V Edges, this is // read-only and the legacy API must be used for edge specific placement. EdgeClusterConfig *OpenAPIEdgeGatewayEdgeClusterConfig `json:"edgeClusterConfig,omitempty"` // OrgVdcNetworkCount holds the number of Org VDC networks connected to the gateway. OrgVdcNetworkCount *int `json:"orgVdcNetworkCount,omitempty"` // GatewayBacking must contain backing details of the edge gateway only if importing an NSX-T router. GatewayBacking *OpenAPIEdgeGatewayBacking `json:"gatewayBacking,omitempty"` // ServiceNetworkDefinition holds network definition in CIDR form that DNS and DHCP service on an NSX-T edge will run // on. The subnet prefix length must be 27. This property applies to creating or importing an NSX-T Edge. This is not // supported for VMC. If nothing is set, the default is 192.168.255.225/27. The DHCP listener IP network is on // 192.168.255.225/30. The DNS listener IP network is on 192.168.255.228/32. This field cannot be updated. ServiceNetworkDefinition string `json:"serviceNetworkDefinition,omitempty"` }
OpenAPIEdgeGateway structure supports marshalling both - NSX-V and NSX-T edge gateways as returned by OpenAPI endpoint (cloudapi/1.0.0edgeGateways/), but the endpoint only allows to create NSX-T edge gateways.
type OpenAPIEdgeGatewayBacking ¶ added in v2.11.9
type OpenAPIEdgeGatewayBacking struct { BackingID string `json:"backingId,omitempty"` GatewayType string `json:"gatewayType,omitempty"` NetworkProvider NetworkProvider `json:"networkProvider"` }
OpenAPIEdgeGatewayBacking specifies edge gateway backing details
type OpenAPIEdgeGatewayEdgeCluster ¶ added in v2.11.9
type OpenAPIEdgeGatewayEdgeCluster struct { EdgeClusterRef OpenApiReference `json:"edgeClusterRef"` BackingID string `json:"backingId"` }
OpenAPIEdgeGatewayEdgeCluster allows to specify edge cluster reference
type OpenAPIEdgeGatewayEdgeClusterConfig ¶ added in v2.11.9
type OpenAPIEdgeGatewayEdgeClusterConfig struct { PrimaryEdgeCluster OpenAPIEdgeGatewayEdgeCluster `json:"primaryEdgeCluster,omitempty"` SecondaryEdgeCluster OpenAPIEdgeGatewayEdgeCluster `json:"secondaryEdgeCluster,omitempty"` }
type OpenAPIEdgeGatewaySubnetValue ¶ added in v2.11.9
type OpenAPIEdgeGatewaySubnetValue struct { // Gateway specified subnet gateway Gateway string `json:"gateway"` // PrefixLength from CIDR format (e.g. 24 from 192.168.1.1/24) PrefixLength int `json:"prefixLength"` // DNSSuffix can only be used for reading NSX-V edge gateway DNSSuffix string `json:"dnsSuffix,omitempty"` // DNSServer1 can only be used for reading NSX-V edge gateway DNSServer1 string `json:"dnsServer1,omitempty"` // DNSServer2 can only be used for reading NSX-V edge gateway DNSServer2 string `json:"dnsServer2,omitempty"` // IPRanges contain IP allocations IPRanges *OpenApiIPRanges `json:"ipRanges,omitempty"` // Enabled toggles if the subnet is enabled Enabled bool `json:"enabled"` TotalIPCount int `json:"totalIpCount,omitempty"` UsedIPCount int `json:"usedIpCount,omitempty"` PrimaryIP string `json:"primaryIp,omitempty"` AutoAllocateIPRanges bool `json:"autoAllocateIpRanges,omitempty"` }
OpenAPIEdgeGatewaySubnetValue holds one subnet definition in external network
type OpenAPIEdgeGatewaySubnets ¶ added in v2.11.9
type OpenAPIEdgeGatewaySubnets struct {
Values []OpenAPIEdgeGatewaySubnetValue `json:"values"`
}
OpenAPIEdgeGatewaySubnets lists slice of OpenAPIEdgeGatewaySubnetValue values
type OpenApiError ¶
type OpenApiError struct { MinorErrorCode string `json:"minorErrorCode"` Message string `json:"message"` StackTrace string `json:"stackTrace"` }
OpenApiError helps to marshal and provider meaningful `Error` for
func (OpenApiError) Error ¶
func (openApiError OpenApiError) Error() string
Error method implements Go's default `error` interface for CloudAPI errors formats them for human readable output.
func (OpenApiError) ErrorWithStack ¶
func (openApiError OpenApiError) ErrorWithStack() string
ErrorWithStack is the same as `Error()`, but also includes stack trace returned by API which is usually lengthy.
type OpenApiIPRangeValues ¶ added in v2.11.9
type OpenApiIPRangeValues = ExternalNetworkV2IPRange
OpenApiIPRangeValues is a type alias to reuse the same definitions with appropriate names
type OpenApiIPRanges ¶ added in v2.11.9
type OpenApiIPRanges = ExternalNetworkV2IPRanges
OpenApiIPRanges is a type alias to reuse the same definitions with appropriate names
type OpenApiPages ¶
type OpenApiPages struct { // ResultTotal reports total results available ResultTotal int `json:"resultTotal,omitempty"` // PageCount reports total result pages available PageCount int `json:"pageCount,omitempty"` // Page reports current page of result Page int `json:"page,omitempty"` // PageSize reports page size PageSize int `json:"pageSize,omitempty"` // Associations ... Associations interface{} `json:"associations,omitempty"` // Values holds types depending on the endpoint therefore `json.RawMessage` is used to dynamically unmarshal into // specific type as required Values json.RawMessage `json:"values,omitempty"` }
OpenApiPages unwraps pagination for "Get All" endpoints in OpenAPI. Values kept in json.RawMessage helps to decouple marshalling paging related information from exact type related information. Paging can be handled dynamically this way while values can be marshaled into exact types.
type OpenApiReference ¶ added in v2.11.9
type OpenApiReference struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` }
OpenApiReference is a generic reference type commonly used throughout OpenAPI endpoints
type Org ¶
type Org struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Description string `xml:"Description,omitempty"` FullName string `xml:"FullName"` IsEnabled bool `xml:"IsEnabled,omitempty"` Link LinkList `xml:"Link,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` }
Org represents the user view of a vCloud Director organization. Type: OrgType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the user view of a vCloud Director organization. Since: 0.9
type OrgFederationSettings ¶
type OrgFederationSettings struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. Enabled bool `xml:"Enabled,omitempty"` }
type OrgGeneralSettings ¶
type OrgGeneralSettings struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. CanPublishCatalogs bool `xml:"CanPublishCatalogs,omitempty"` DeployedVMQuota int `xml:"DeployedVMQuota,omitempty"` StoredVMQuota int `xml:"StoredVmQuota,omitempty"` UseServerBootSequence bool `xml:"UseServerBootSequence,omitempty"` DelayAfterPowerOnSeconds int `xml:"DelayAfterPowerOnSeconds,omitempty"` }
OrgGeneralSettingsType represents the general settings for a vCloud Director organization. Type: OrgGeneralSettingsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the user view of a vCloud Director organization. Since: 0.9
type OrgGroupList ¶
type OrgGroupList struct {
Group []*Reference `xml:"GroupReference,omitempty"`
}
type OrgLdapGroupAttributes ¶
type OrgLdapGroupAttributes struct { ObjectClass string `xml:"ObjectClass"` ObjectIdentifier string `xml:"ObjectIdentifier"` GroupName string `xml:"GroupName"` Membership string `xml:"Membership"` BackLinkIdentifier string `xml:"BackLinkIdentifier,omitempty"` MembershipIdentifier string `xml:"MembershipIdentifier"` }
OrgLdapGroupAttributes represents the ldap group attribute settings for a vCloud Director organization. Type: OrgLdapGroupAttributesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the ldap group attribute settings of a vCloud Director organization. Since: 0.9 Note. Order of these fields matter and API will error if it is changed
type OrgLdapSettingsType ¶
type OrgLdapSettingsType struct { XMLName xml.Name `xml:"OrgLdapSettings"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. CustomUsersOu string `xml:"CustomUsersOu,omitempty"` // If OrgLdapMode is SYSTEM, specifies an LDAP attribute=value pair to use for OU (organizational unit). OrgLdapMode string `xml:"OrgLdapMode,omitempty"` // LDAP mode you want CustomOrgLdapSettings *CustomOrgLdapSettings `xml:"CustomOrgLdapSettings,omitempty"` // Needs to be set if user chooses custom mode }
OrgLdapSettingsType represents the ldap settings for a vCloud Director organization. Type: OrgLdapSettingsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the ldap settings of a vCloud Director organization. Since: 0.9
type OrgLdapUserAttributes ¶
type OrgLdapUserAttributes struct { ObjectClass string `xml:"ObjectClass"` ObjectIdentifier string `xml:"ObjectIdentifier"` Username string `xml:"UserName,omitempty"` Email string `xml:"Email"` FullName string `xml:"FullName"` GivenName string `xml:"GivenName"` Surname string `xml:"Surname"` Telephone string `xml:"Telephone"` GroupMembershipIdentifier string `xml:"GroupMembershipIdentifier"` GroupBackLinkIdentifier string `xml:"GroupBackLinkIdentifier,omitempty"` }
OrgLdapUserAttributesType represents the ldap user attribute settings for a vCloud Director organization. Type: OrgLdapUserAttributesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the ldap user attribute settings of a vCloud Director organization. Since: 0.9 Note. Order of these fields matter and API will error if it is changed.
type OrgList ¶
OrgList represents a lists of Organizations Type: OrgType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of vCloud Director organizations. Since: 0.9
type OrgRoleType ¶
type OrgRoleType struct {
RoleReference []*Reference `xml:"RoleReference,omitempty"`
}
List of available roles in the organization
type OrgSettings ¶
type OrgSettings struct { //attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. //elements Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. OrgGeneralSettings *OrgGeneralSettings `xml:"OrgGeneralSettings,omitempty"` // General Settings for the org, not-required OrgVAppLeaseSettings *VAppLeaseSettings `xml:"VAppLeaseSettings,omitempty"` OrgVAppTemplateSettings *VAppTemplateLeaseSettings `xml:"VAppTemplateLeaseSettings,omitempty"` // Vapp template lease settings, not required OrgLdapSettings *OrgLdapSettingsType `xml:"OrgLdapSettings,omitempty"` //LDAP settings, not-requried, defaults to none }
OrgSettingsType represents the settings for a vCloud Director organization. Type: OrgSettingsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the settings of a vCloud Director organization. Since: 0.9
type OrgUserList ¶
type OrgUserList struct {
User []*Reference `xml:"UserReference,omitempty"`
}
List of the users within the organization
type OrgVDCNetwork ¶
type OrgVDCNetwork struct { XMLName xml.Name `xml:"OrgVdcNetwork"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Status string `xml:"status,attr,omitempty"` Link []Link `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` Configuration *NetworkConfiguration `xml:"Configuration,omitempty"` EdgeGateway *Reference `xml:"EdgeGateway,omitempty"` ServiceConfig *GatewayFeatures `xml:"ServiceConfig,omitempty"` // Specifies the service configuration for an isolated Org VDC networks VimPortGroupRef []*VimObjectRef `xml:"VimPortGroupRef,omitempty"` // Needed to set up DHCP inside ServiceConfig Tasks *TasksInProgress `xml:"Tasks,omitempty"` }
OrgVDCNetwork represents an Org VDC network in the vCloud model. Type: OrgVdcNetworkType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents an Org VDC network in the vCloud model. Since: 5.1
type Owner ¶
type Owner struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Link LinkList `xml:"Link,omitempty"` User *Reference `xml:"User"` }
Owner represents the owner of this entity. Type: OwnerType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the owner of this entity. Since: 1.5
type PortGroupRecordType ¶
type PortGroupRecordType struct { Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Id string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` MoRef string `xml:"moref,attr,omitempty"` Name string `xml:"name,attr,omitempty"` PortgroupType string `xml:"portgroupType,attr,omitempty"` Vc string `xml:"vc,attr,omitempty"` VcName string `xml:"vcName,attr,omitempty"` IsVCEnabled bool `xml:"isVCEnabled,attr,omitempty"` Network string `xml:"network,attr,omitempty"` NetworkName string `xml:"networkName,attr,omitempty"` ScopeType int `xml:"scopeType,attr,omitempty"` // Scope of network using the portgroup(1=Global, 2=Organization, 3=vApp) Link []*Link `xml:"Link,omitempty"` }
Represents port group Reference: vCloud API 27.0 - Port group type https://code.vmware.com/apis/72/doc/doc/types/QueryResultPortgroupRecordType.html
type ProductSection ¶
type ProductSectionList ¶
type ProductSectionList struct { XMLName xml.Name `xml:"ProductSectionList"` Ovf string `xml:"xmlns:ovf,attr,omitempty"` Xmlns string `xml:"xmlns,attr"` ProductSection *ProductSection `xml:"http://schemas.dmtf.org/ovf/envelope/1 ProductSection,omitempty"` }
func (*ProductSectionList) SortByPropertyKeyName ¶
func (p *ProductSectionList) SortByPropertyKeyName()
SortByPropertyKeyName allows to sort ProductSectionList property slice by key name as the API is does not always return an ordered slice
type Property ¶
type Property struct { Key string `xml:"http://schemas.dmtf.org/ovf/envelope/1 key,attr,omitempty"` Label string `xml:"http://schemas.dmtf.org/ovf/envelope/1 Label,omitempty"` Description string `xml:"http://schemas.dmtf.org/ovf/envelope/1 Description,omitempty"` DefaultValue string `xml:"http://schemas.dmtf.org/ovf/envelope/1 value,attr"` Value *Value `xml:"http://schemas.dmtf.org/ovf/envelope/1 Value,omitempty"` Type string `xml:"http://schemas.dmtf.org/ovf/envelope/1 type,attr,omitempty"` UserConfigurable bool `xml:"http://schemas.dmtf.org/ovf/envelope/1 userConfigurable,attr"` }
type PublishExternalCatalogParams ¶
type PublishExternalCatalogParams struct { IsCachedEnabled bool `xml:"IsCacheEnabled,omitempty"` IsPublishedExternally bool `xml:"IsPublishedExternally,omitempty"` Password string `xml:"Password,omitempty"` PreserveIdentityInfoFlag bool `xml:"PreserveIdentityInfoFlag,omitempty"` CatalogPublishedUrl string `xml:"catalogPublishedUrl,omitempty"` }
PublishExternalCatalogParamsType represents the configuration parameters of a catalog published externally Type: PublishExternalCatalogParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the configuration parameters of a catalog published externally. Since: 5.5
type QueryResultCatalogItemType ¶
type QueryResultCatalogItemType struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. ID string `xml:"id,attr,omitempty"` // Catalog Item ID. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Entity string `xml:"entity,attr,omitempty"` // Entity reference or ID EntityName string `xml:"entityName,attr,omitempty"` // Entity name EntityType string `xml:"entityType,attr,omitempty"` // Entity name Catalog string `xml:"catalog,attr,omitempty"` // Catalog reference or ID CatalogName string `xml:"catalogName,attr,omitempty"` // Catalog name OwnerName string `xml:"ownerName,attr,omitempty"` // Owner name Owner string `xml:"owner,attr,omitempty"` // Owner reference or ID IsPublished bool `xml:"isPublished,attr,omitempty"` // True if this entity is in a published catalog Vdc string `xml:"vdc,attr,omitempty"` // VDC reference or ID VdcName string `xml:"vdcName,attr,omitempty"` // VDC name IsVdcEnabled bool `xml:"isVdcEnabled,attr,omitempty"` // True if the containing VDC is enabled CreationDate string `xml:"creationDate,attr,omitempty"` // Creation date IsExpired bool `xml:"isExpired,attr,omitempty"` // True if this entity is expired Status string `xml:"status,attr,omitempty"` // Status Name string `xml:"name,attr,omitempty"` // Catalog Item name. Link *Link `xml:"Link,omitempty"` Metadata *Metadata `xml:"Metadata,omitempty"` }
QueryResultCatalogItemType represents a catalog item as query result
type QueryResultEdgeGatewayRecordType ¶
type QueryResultEdgeGatewayRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Name string `xml:"name,attr,omitempty"` // EdgeGateway name. Vdc string `xml:"vdc,attr,omitempty"` // VDC Reference or ID OrgVdcName string `xml:"orgVdcName,attr,omitempty"` // VDC name NumberOfExtNetworks int `xml:"numberOfExtNetworks,attr,omitempty"` // Number of external networks connected to the edgeGateway. Yes Yes NumberOfOrgNetworks int `xml:"numberOfOrgNetworks,attr,omitempty"` // Number of org VDC networks connected to the edgeGateway Yes Yes IsBusy bool `xml:"isBusy,attr"` // True if this Edge Gateway is busy. Yes Yes GatewayStatus string `xml:"gatewayStatus,attr,omitempty"` // HaStatus string `xml:"haStatus,attr,omitempty"` // High Availability Status of the edgeGateway Yes Yes }
QueryResultEdgeGatewayRecordType represents an edge gateway record as query result.
type QueryResultEdgeGatewayRecordsType ¶
type QueryResultEdgeGatewayRecordsType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Name string `xml:"name,attr,omitempty"` // The name of the entity. Page int `xml:"page,attr,omitempty"` // Page of the result set that this container holds. The first page is page number 1. PageSize int `xml:"pageSize,attr,omitempty"` // Page size, as a number of records or references. Total float64 `xml:"total,attr,omitempty"` // Total number of records or references in the container. // Elements Link []*Link `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. EdgeGatewayRecord []*QueryResultEdgeGatewayRecordType `xml:"EdgeGatewayRecord"` // A record representing a EdgeGateway result. }
QueryResultEdgeGatewayRecordsType is a container for query results in records format. Type: QueryResultRecordsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for query results in records format. Since: 1.5
type QueryResultNetworkPoolRecordType ¶
type QueryResultNetworkPoolRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Name string `xml:"name,attr,omitempty"` // Network pool name. IsBusy bool `xml:"isBusy,attr,omitempty"` NetworkPoolType int `xml:"networkPoolType,attr,omitempty"` }
QueryResultNetworkPoolRecordType represents a network pool as query result.
type QueryResultNsxtManagerRecordType ¶
type QueryResultNsxtManagerRecordType struct { Xmlns string `xml:"xmlns,attr,omitempty"` Name string `xml:"name,attr"` URL string `xml:"url,attr"` HREF string `xml:"href,attr"` Site string `xml:"site,attr"` LocationId string `xml:"locationId,attr"` SiteName string `xml:"siteName,attr"` Link []*Link `xml:"Link,omitempty"` }
type QueryResultOrgVdcNetworkRecordType ¶
type QueryResultOrgVdcNetworkRecordType struct { Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Id string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` DefaultGateway string `xml:"defaultGateway,attr,omitempty"` Netmask string `xml:"netmask,attr,omitempty"` Dns1 string `xml:"dns1,attr,omitempty"` Dns2 string `xml:"dns2,attr,omitempty"` DnsSuffix string `xml:"dnsSuffix,attr,omitempty"` LinkType int `xml:"linkType,attr,omitempty"` // 0 = direct, 1 = routed, 2 = isolated ConnectedTo string `xml:"connectedTo,attr,omitempty"` Vdc string `xml:"vdc,attr,omitempty"` IsBusy bool `xml:"isBusy,attr,omitempty"` VdcName string `xml:"vdcName,attr,omitempty"` IsIpScopeInherited bool `xml:"isIpScopeInherited,attr,omitempty"` Link []*Link `xml:"Link,omitempty"` Metadata *Metadata `xml:"Metadata,omitempty"` }
Represents org VDC Network Reference: vCloud API 27.0 - Org VDC Network https://code.vmware.com/apis/72/doc/doc/types/QueryResultOrgVdcNetworkRecordType.html
type QueryResultOrgVdcStorageProfileRecordType ¶
type QueryResultOrgVdcStorageProfileRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Name string `xml:"name,attr,omitempty"` // Storage Profile name. VdcHREF string `xml:"vdc,attr,omitempty"` VdcName string `xml:"vdcName,attr,omitempty"` IsDefaultStorageProfile bool `xml:"isDefaultStorageProfile,attr,omitempty"` IsEnabled bool `xml:"isEnabled,attr,omitempty"` IsVdcBusy bool `xml:"isVdcBusy,attr,omitempty"` NumberOfConditions int `xml:"numberOfConditions,attr,omitempty"` StorageUsedMB int `xml:"storageUsedMB,attr,omitempty"` StorageLimitMB int `xml:"storageLimitMB,attr,omitempty"` }
QueryResultOrgVdcStorageProfileRecordType represents a storage profile as query result.
type QueryResultProviderVdcStorageProfileRecordType ¶
type QueryResultProviderVdcStorageProfileRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Name string `xml:"name,attr,omitempty"` // Provider VDC Storage Profile name. ProviderVdcHREF string `xml:"providerVdc,attr,omitempty"` VcHREF string `xml:"vc,attr,omitempty"` StorageProfileMoref string `xml:"storageProfileMoref,attr,omitempty"` IsEnabled bool `xml:"isEnabled,attr,omitempty"` StorageProvisionedMB int64 `xml:"storageProvisionedMB,attr,omitempty"` StorageRequestedMB int64 `xml:"storageRequestedMB,attr,omitempty"` StorageTotalMB int64 `xml:"storageTotalMB,attr,omitempty"` StorageUsedMB int64 `xml:"storageUsedMB,attr,omitempty"` NumberOfConditions int `xml:"numberOfConditions,attr,omitempty"` }
QueryResultProviderVdcStorageProfileRecordType represents a Provider VDC storage profile as query result.
type QueryResultRecordsType ¶
type QueryResultRecordsType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Name string `xml:"name,attr,omitempty"` // The name of the entity. Page int `xml:"page,attr,omitempty"` // Page of the result set that this container holds. The first page is page number 1. PageSize int `xml:"pageSize,attr,omitempty"` // Page size, as a number of records or references. Total float64 `xml:"total,attr,omitempty"` // Total number of records or references in the container. // Elements Link []*Link `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. EdgeGatewayRecord []*QueryResultEdgeGatewayRecordType `xml:"EdgeGatewayRecord"` // A record representing a EdgeGateway result. VMRecord []*QueryResultVMRecordType `xml:"VMRecord"` // A record representing a VM result. AdminVMRecord []*QueryResultVMRecordType `xml:"AdminVMRecord"` // A record representing a Admin VM result. VAppRecord []*QueryResultVAppRecordType `xml:"VAppRecord"` // A record representing a VApp result. AdminVAppRecord []*QueryResultVAppRecordType `xml:"AdminVAppRecord"` // A record representing a VApp result as admin. OrgVdcStorageProfileRecord []*QueryResultOrgVdcStorageProfileRecordType `xml:"OrgVdcStorageProfileRecord"` // A record representing storage profiles MediaRecord []*MediaRecordType `xml:"MediaRecord"` // A record representing media AdminMediaRecord []*MediaRecordType `xml:"AdminMediaRecord"` // A record representing Admin media VMWProviderVdcRecord []*QueryResultVMWProviderVdcRecordType `xml:"VMWProviderVdcRecord"` // A record representing a Provider VDC result. ProviderVdcStorageProfileRecord []*QueryResultProviderVdcStorageProfileRecordType `xml:"ProviderVdcStorageProfileRecord"` // A record representing a Provider VDC storage profile result NetworkPoolRecord []*QueryResultNetworkPoolRecordType `xml:"NetworkPoolRecord"` // A record representing a network pool DiskRecord []*DiskRecordType `xml:"DiskRecord"` // A record representing a independent Disk. AdminDiskRecord []*DiskRecordType `xml:"AdminDiskRecord"` // A record representing a independent Disk. VirtualCenterRecord []*QueryResultVirtualCenterRecordType `xml:"VirtualCenterRecord"` // A record representing a vSphere server PortGroupRecord []*PortGroupRecordType `xml:"PortgroupRecord"` // A record representing a port group OrgVdcNetworkRecord []*QueryResultOrgVdcNetworkRecordType `xml:"OrgVdcNetworkRecord"` // A record representing a org VDC network CatalogRecord []*CatalogRecord `xml:"CatalogRecord"` // A record representing a catalog AdminCatalogRecord []*CatalogRecord `xml:"AdminCatalogRecord"` // A record representing an admin catalog CatalogItemRecord []*QueryResultCatalogItemType `xml:"CatalogItemRecord"` // A record representing a catalog item AdminCatalogItemRecord []*QueryResultCatalogItemType `xml:"AdminCatalogItemRecord"` // A record representing an admin catalog item VappTemplateRecord []*QueryResultVappTemplateType `xml:"VAppTemplateRecord"` // A record representing a vApp template AdminVappTemplateRecord []*QueryResultVappTemplateType `xml:"AdminVAppTemplateRecord"` // A record representing an admin vApp template NsxtManagerRecord []*QueryResultNsxtManagerRecordType `xml:"NsxTManagerRecord"` // A record representing NSX-T manager }
type QueryResultVAppRecordType ¶
type QueryResultVAppRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Name string `xml:"name,attr"` // The name of the entity. CreationDate string `xml:"creationDate,attr,omitempty"` // Creation date/time of the vApp. Busy bool `xml:"isBusy,attr,omitempty"` Deployed bool `xml:"isDeployed,attr,omitempty"` // True if the vApp is deployed. Enabled bool `xml:"isEnabled,attr,omitempty"` Expired bool `xml:"isExpired,attr,omitempty"` MaintenanceMode bool `xml:"isInMaintenanceMode,attr,omitempty"` Public bool `xml:"isPublic,attr,omitempty"` OwnerName string `xml:"ownerName,attr,omitempty"` Status string `xml:"status,attr,omitempty"` VdcHREF string `xml:"vdc,attr,omitempty"` VdcName string `xml:"vdcName,attr,omitempty"` NumberOfVMs int `xml:"numberOfVMs,attr,omitempty"` NumberOfCPUs int `xml:"numberOfCpus,attr,omitempty"` CpuAllocationMhz int `xml:"cpuAllocationMhz,attr,omitempty"` CpuAllocationInMhz int `xml:"cpuAllocationInMhz,attr,omitempty"` StorageKB int `xml:"storageKB,attr,omitempty"` MemoryAllocationMB int `xml:"memoryAllocationMB,attr,omitempty"` AutoDeleteNotified bool `xml:"isAutoDeleteNotified,attr,omitempty"` AutoUndeployNotified bool `xml:"isAutoUndeployNotified,attr,omitempty"` VdcEnabled bool `xml:"isVdcEnabled,attr,omitempty"` HonorBootOrder bool `xml:"honorBookOrder,attr,omitempty"` HighestSupportedVersion int `xml:"pvdcHighestSupportedHardwareVersion,attr,omitempty"` LowestHardwareVersion int `xml:"lowestHardwareVersionInVApp,attr,omitempty"` TaskHREF string `xml:"task,attr,omitempty"` TaskStatusName string `xml:"taskStatusName,attr,omitempty"` TaskStatus string `xml:"TaskStatus,attr,omitempty"` TaskDetails string `xml:"taskDetails,attr,omitempty"` MetaData *Metadata `xml:"Metadata,omitempty"` }
QueryResultVAppRecordType represents a VM record as query result.
type QueryResultVMRecordType ¶
type QueryResultVMRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. ID string `xml:"id,attr,omitempty"` Name string `xml:"name,attr,omitempty"` // VM name. Type string `xml:"type,attr,omitempty"` // Contains the type of the resource. ContainerName string `xml:"containerName,attr,omitempty"` // The name of the vApp or vApp template that contains this VM. ContainerID string `xml:"container,attr,omitempty"` // The ID of the vApp or vApp template that contains this VM. OwnerName string `xml:"ownerName,attr,omitempty"` Owner string `xml:"owner,attr,omitempty"` VdcHREF string `xml:"vdc,attr,omitempty"` VAppTemplate bool `xml:"isVAppTemplate,attr,omitempty"` Deleted bool `xml:"isDeleted,attr,omitempty"` GuestOS string `xml:"guestOs,attr,omitempty"` Cpus int `xml:"numberOfCpus,attr,omitempty"` MemoryMB int `xml:"memoryMB,attr,omitempty"` Status string `xml:"status,attr,omitempty"` NetworkName string `xml:"networkName,attr,omitempty"` NetworkHref string `xml:"network,attr,omitempty"` IpAddress string `xml:"ipAddress,attr,omitempty"` // If configured, the IP Address of the VM on the primary network, otherwise empty. Busy bool `xml:"isBusy,attr,omitempty"` Deployed bool `xml:"isDeployed,attr,omitempty"` // True if the virtual machine is deployed. Published bool `xml:"isPublished,attr,omitempty"` CatalogName string `xml:"catalogName,attr,omitempty"` HardwareVersion int `xml:"hardwareVersion,attr,omitempty"` VmToolsStatus string `xml:"vmToolsStatus,attr,omitempty"` MaintenanceMode bool `xml:"isInMaintenanceMode,attr,omitempty"` AutoNature bool `xml:"isAutoNature,attr,omitempty"` // True if the parent vApp is a managed vApp StorageProfileName string `xml:"storageProfileName,attr,omitempty"` GcStatus string `xml:"gcStatus,attr,omitempty"` // GC status of this VM. AutoUndeployDate string `xml:"autoUndeployDate,attr,omitempty"` AutoDeleteDate string `xml:"autoDeleteDate,attr,omitempty"` AutoUndeployNotified bool `xml:"isAutoUndeployNotified,attr,omitempty"` AutoDeleteNotified bool `xml:"isAutoDeleteNotified,attr,omitempty"` IsComputePolicyCompliant bool `xml:"isComputePolicyCompliant,attr,omitempty"` VmSizingPolicyId string `xml:"vmSizingPolicyId,attr,omitempty"` VmPlacementPolicyId string `xml:"vmPlacementPolicyId,attr,omitempty"` Encrypted bool `xml:"encrypted,attr,omitempty"` DateCreated string `xml:"dateCreated,attr,omitempty"` TotalStorageAllocatedMb string `xml:"totalStorageAllocatedMb,attr,omitempty"` IsExpired bool `xml:"isExpired,attr,omitempty"` Link []*Link `xml:"Link,omitempty"` MetaData *Metadata `xml:"Metadata,omitempty"` }
QueryResultVMRecordType represents a VM record as query result.
type QueryResultVMWProviderVdcRecordType ¶
type QueryResultVMWProviderVdcRecordType struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Name string `xml:"name,attr,omitempty"` // Provider VDC name. Status string `xml:"status,attr,omitempty"` IsBusy bool `xml:"isBusy,attr,omitempty"` IsDeleted bool `xml:"isDeleted,attr,omitempty"` IsEnabled bool `xml:"isEnabled,attr,omitempty"` CpuAllocationMhz int `xml:"cpuAllocationMhz,attr,omitempty"` CpuLimitMhz int `xml:"cpuLimitMhz,attr,omitempty"` CpuUsedMhz int `xml:"cpuUsedMhz,attr,omitempty"` NumberOfDatastores int `xml:"numberOfDatastores,attr,omitempty"` NumberOfStorageProfiles int `xml:"numberOfStorageProfiles,attr,omitempty"` NumberOfVdcs int `xml:"numberOfVdcs,attr,omitempty"` MemoryAllocationMB int64 `xml:"memoryAllocationMB,attr,omitempty"` MemoryLimitMB int64 `xml:"memoryLimitMB,attr,omitempty"` MemoryUsedMB int64 `xml:"memoryUsedMB,attr,omitempty"` StorageAllocationMB int64 `xml:"storageAllocationMB,attr,omitempty"` StorageLimitMB int64 `xml:"storageLimitMB,attr,omitempty"` StorageUsedMB int64 `xml:"storageUsedMB,attr,omitempty"` CpuOverheadMhz int64 `xml:"cpuOverheadMhz,attr,omitempty"` StorageOverheadMB int64 `xml:"storageOverheadMB,attr,omitempty"` MemoryOverheadMB int64 `xml:"memoryOverheadMB,attr,omitempty"` }
QueryResultVMWProviderVdcRecordType represents a Provider VDC as query result.
type QueryResultVappTemplateType ¶
type QueryResultVappTemplateType struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. ID string `xml:"id,attr,omitempty"` // vApp template ID. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. OwnerName string `xml:"ownerName,attr,omitempty"` // Owner name CatalogName string `xml:"catalogName,attr,omitempty"` // Catalog name IsPublished bool `xml:"isPublished,attr,omitempty"` // True if this entity is in a published catalog Name string `xml:"name,attr,omitempty"` // vApp template name. Description string `xml:"description,attr,omitempty"` // vApp template description. Vdc string `xml:"vdc,attr,omitempty"` // VDC reference or ID VdcName string `xml:"vdcName,attr,omitempty"` // VDC name Org string `xml:"org,attr,omitempty"` // Organization reference or ID CreationDate string `xml:"creationDate,attr,omitempty"` // Creation date IsBusy bool `xml:"isBusy,attr,omitempty"` // True if the vApp template is busy IsGoldMaster bool `xml:"isGoldMaster,attr,omitempty"` // True if the vApp template is a gold master IsEnabled bool `xml:"isEnabled,attr,omitempty"` // True if the vApp template is enabled Status string `xml:"status,attr,omitempty"` // Status IsDeployed bool `xml:"isDeployed,attr,omitempty"` // True if this entity is deployed IsExpired bool `xml:"isExpired,attr,omitempty"` // True if this entity is expired StorageProfileName string `xml:"storageProfileName,attr,omitempty"` // Storage profile name Version string `xml:"version,attr,omitempty"` // Storage profile name LastSuccessfulSync string `xml:"lastSuccessfulSync,attr,omitempty"` // Date of last successful sync Link *Link `xml:"Link,omitempty"` Metadata *Metadata `xml:"Metadata,omitempty"` }
QueryResultVappTemplateType represents a vApp template as query result
type QueryResultVirtualCenterRecordType ¶
type QueryResultVirtualCenterRecordType struct { HREF string `xml:"href,attr,omitempty"` Name string `xml:"name,attr,omitempty"` IsBusy bool `xml:"isBusy,attr,omitempty"` IsEnabled bool `xml:"isEnabled,attr,omitempty"` IsSupported bool `xml:"isSupported,attr,omitempty"` ListenerState string `xml:"listenerState,attr,omitempty"` Status string `xml:"status,attr,omitempty"` Url string `xml:"url,attr,omitempty"` UserName string `xml:"userName,attr,omitempty"` VcVersion string `xml:"vcVersion,attr,omitempty"` UUID string `xml:"uuid,attr,omitempty"` VsmIP string `xml:"vsmIP,attr,omitempty"` }
Type: QueryResultVirtualCenterRecordType Namespace: http://www.vmware.com/vcloud/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/types/QueryResultVirtualCenterRecordType.html Description: Type for a single virtualCenter query result in records format. Since: 1.5
type ReComposeVAppParams ¶
type ReComposeVAppParams struct { XMLName xml.Name `xml:"RecomposeVAppParams"` Ovf string `xml:"xmlns:ovf,attr"` Xsi string `xml:"xmlns:xsi,attr"` Xmlns string `xml:"xmlns,attr"` // Attributes Name string `xml:"name,attr,omitempty"` // Typically used to name or identify the subject of the request. For example, the name of the object being created or modified. Deploy bool `xml:"deploy,attr"` // True if the vApp should be deployed at instantiation. Defaults to true. PowerOn bool `xml:"powerOn,attr"` // True if the vApp should be powered-on at instantiation. Defaults to true. LinkedClone bool `xml:"linkedClone,attr,omitempty"` // Reserved. Unimplemented. // Elements Description string `xml:"Description,omitempty"` // Optional description. VAppParent *Reference `xml:"VAppParent,omitempty"` // Reserved. Unimplemented. InstantiationParams *InstantiationParams `xml:"InstantiationParams,omitempty"` // Instantiation parameters for the composed vApp. SourcedItem *SourcedCompositionItemParam `xml:"SourcedItem,omitempty"` // Composition item. One of: vApp vAppTemplate Vm. AllEULAsAccepted bool `xml:"AllEULAsAccepted,omitempty"` DeleteItem *DeleteItem `xml:"DeleteItem,omitempty"` }
type RecomposeVAppParamsForEmptyVm ¶
type RecomposeVAppParamsForEmptyVm struct { XMLName xml.Name `xml:"RecomposeVAppParams"` XmlnsVcloud string `xml:"xmlns,attr"` XmlnsOvf string `xml:"xmlns:ovf,attr"` CreateItem *CreateItem `xml:"CreateItem,omitempty"` AllEULAsAccepted bool `xml:"AllEULAsAccepted,omitempty"` }
RecomposeVAppParamsForEmptyVm represents a vApp structure which allows to create VM.
type Reference ¶
type Reference struct { HREF string `xml:"href,attr,omitempty"` ID string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` }
Reference is a reference to a resource. Contains an href attribute and optional name and type attributes. Type: ReferenceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A reference to a resource. Contains an href attribute and optional name and type attributes. Since: 0.9
type ResourceEntities ¶
type ResourceEntities struct {
ResourceEntity []*ResourceReference `xml:"ResourceEntity,omitempty"`
}
ResourceEntities is a container for references to ResourceEntity objects in this vDC. Type: ResourceEntitiesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for references to ResourceEntity objects in this vDC. Since: 0.9
type ResourceReference ¶
type ResourceReference struct { HREF string `xml:"href,attr"` ID string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr,omitempty"` Status string `xml:"status,attr,omitempty"` }
ResourceReference represents a reference to a resource. Contains an href attribute, a resource status attribute, and optional name and type attributes. Type: ResourceReferenceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a reference to a resource. Contains an href attribute, a resource status attribute, and optional name and type attributes. Since: 0.9
type RightsType ¶
type RightsType struct { Links LinkList `xml:"Link,omitempty"` RightReference []*Reference `xml:"RightReference,omitempty"` }
List of available rights in the organization
type Role ¶
type Role struct { ID string `json:"id,omitempty"` Name string `json:"name"` Description string `json:"description"` BundleKey string `json:"bundleKey"` ReadOnly bool `json:"readOnly"` }
Role defines access roles in VCD
type SnapshotItem ¶
type SnapshotItem struct { Created string `xml:"created,attr,omitempty"` PoweredOn bool `xml:"poweredOn,attr,omitempty"` Size int `xml:"size,attr,omitempty"` }
Each snapshot listed in the SnapshotSection
type SnapshotSection ¶
type SnapshotSection struct { // Extends OVF Section_Type XMLName xml.Name `xml:"SnapshotSection"` Info string `xml:"Info"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Snapshot []*SnapshotItem `xml:"Snapshot,omitempty"` }
SnapshotSection from VM struct
type SourcedCompositionItemParam ¶
type SourcedCompositionItemParam struct { // Attributes SourceDelete bool `xml:"sourceDelete,attr,omitempty"` // True if the source item should be deleted after composition is complete. // Elements Source *Reference `xml:"Source"` // Reference to a vApp, vApp template or virtual machine to include in the composition. Changing the name of the newly created VM by specifying name attribute is deprecated. Include VmGeneralParams element instead. VMGeneralParams *VMGeneralParams `xml:"VmGeneralParams,omitempty"` // Specify name, description, and other properties of a VM during instantiation. VAppScopedLocalID string `xml:"VAppScopedLocalId,omitempty"` // If Source references a Vm, this value provides a unique identifier for the Vm in the scope of the composed vApp. InstantiationParams *InstantiationParams `xml:"InstantiationParams,omitempty"` // If Source references a Vm this can include any of the following OVF sections: VirtualHardwareSection OperatingSystemSection NetworkConnectionSection GuestCustomizationSection. NetworkAssignment []*NetworkAssignment `xml:"NetworkAssignment,omitempty"` // If Source references a Vm, this element maps a network name specified in the Vm to the network name of a vApp network defined in the composed vApp. StorageProfile *Reference `xml:"StorageProfile,omitempty"` // If Source references a Vm, this element contains a reference to a storage profile to be used for the Vm. The specified storage profile must exist in the organization vDC that contains the composed vApp. If not specified, the default storage profile for the vDC is used. LocalityParams *LocalityParams `xml:"LocalityParams,omitempty"` // Represents locality parameters. Locality parameters provide a hint that may help the placement engine optimize placement of a VM and an independent a Disk so that the VM can make efficient use of the disk. ComputePolicy *ComputePolicy `xml:"ComputePolicy,omitempty"` // accessible only from version API 33.0 }
SourcedCompositionItemParam represents a vApp, vApp template or Vm to include in a composed vApp. Type: SourcedCompositionItemParamType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp, vApp template or Vm to include in a composed vApp. Since: 0.9
type StaticRoute ¶
type StaticRoute struct { Name string `xml:"Name"` // Name for the static route. Network string `xml:"Network"` // Network specification in CIDR. NextHopIP string `xml:"NextHopIp"` // IP Address of Next Hop router/gateway. Interface string `xml:"Interface,omitempty"` // Interface to use for static routing. Internal and External are the supported values. GatewayInterface *Reference `xml:"GatewayInterface,omitempty"` // Gateway interface to which static route is bound. }
StaticRoute represents a static route entry Type: StaticRouteType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Since:
type StaticRoutingService ¶
type StaticRoutingService struct { IsEnabled bool `xml:"IsEnabled"` // Enable or disable the service using this flag StaticRoute []*StaticRoute `xml:"StaticRoute,omitempty"` // Details of each Static Route. }
StaticRoutingService represents Static Routing network service. Type: StaticRoutingServiceType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents Static Routing network service. Since: 1.5
type SubAllocation ¶
type SubAllocation struct { EdgeGateway *Reference `xml:"EdgeGateway,omitempty"` // Edge gateway that uses this sub allocation. IPRanges *IPRanges `xml:"IpRanges,omitempty"` // IP range sub allocated to the edge gateway. }
SubAllocation IP range sub allocated to an edge gateway. Type: SubAllocationType Namespace: http://www.vmware.com/vcloud/v1.5 Description: IP range sub allocated to an edge gateway. Since: 5.1
type SubAllocations ¶
type SubAllocations struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. // Elements Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. SubAllocation *SubAllocation `xml:"SubAllocation,omitempty"` // IP Range sub allocated to a edge gateway. }
SubAllocations a list of IP addresses that are sub allocated to edge gateways. Type: SubAllocationsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A list of IP addresses that are sub allocated to edge gateways. Since: 5.1
type SubnetParticipation ¶
type SubnetParticipation struct { Gateway string `xml:"Gateway"` // Gateway for subnet Netmask string `xml:"Netmask"` // Netmask for the subnet. IPAddress string `xml:"IpAddress,omitempty"` // Ip Address to be assigned. Keep empty or omit element for auto assignment IPRanges *IPRanges `xml:"IpRanges,omitempty"` // Range of IP addresses available for external interfaces. UseForDefaultRoute bool `xml:"UseForDefaultRoute,omitempty"` // True if this network is default route for the gateway. }
SubnetParticipation allows to chose which subnets a gateway can be a part of Type: SubnetParticipationType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Allows to chose which subnets a gateway can be part of Since: 5.1
Note. Field order is important and should not be changed as API returns errors if IPRanges come before Gateway and Netmask
type SupportedHardwareVersions ¶
type SupportedHardwareVersions struct {
SupportedHardwareVersion []string `xml:"SupportedHardwareVersion,omitempty"` // A virtual hardware version supported in this vDC.
}
SupportedHardwareVersions contains a list of VMware virtual hardware versions supported in this vDC. Type: SupportedHardwareVersionsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Contains a list of VMware virtual hardware versions supported in this vDC. Since: 1.5
type Task ¶
type Task struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. ID string `xml:"id,attr,omitempty"` // The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused. OperationKey string `xml:"operationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations. Name string `xml:"name,attr"` // The name of the entity. Status string `xml:"status,attr"` // The execution status of the task. One of queued, preRunning, running, success, error, aborted Operation string `xml:"operation,attr,omitempty"` // A message describing the operation that is tracked by this task. OperationName string `xml:"operationName,attr,omitempty"` // The short name of the operation that is tracked by this task. ServiceNamespace string `xml:"serviceNamespace,attr,omitempty"` // Identifier of the service that created the task. It must not start with com.vmware.vcloud and the length must be between 1 and 128 symbols. StartTime string `xml:"startTime,attr,omitempty"` // The date and time the system started executing the task. May not be present if the task has not been executed yet. EndTime string `xml:"endTime,attr,omitempty"` // The date and time that processing of the task was completed. May not be present if the task is still being executed. ExpiryTime string `xml:"expiryTime,attr,omitempty"` // The date and time at which the task resource will be destroyed and no longer available for retrieval. May not be present if the task has not been executed or is still being executed. CancelRequested bool `xml:"cancelRequested,attr,omitempty"` // Whether user has requested this processing to be canceled. Description string `xml:"Description,omitempty"` // Optional description. Details string `xml:"Details,omitempty"` // Detailed message about the task. Also contained by the Owner entity when task status is preRunning. Error *Error `xml:"Error,omitempty"` // Represents error information from a failed task. Link *Link `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. Organization *Reference `xml:"Organization,omitempty"` // The organization to which the User belongs. Owner *Reference `xml:"Owner,omitempty"` // Reference to the owner of the task. This is typically the object that the task is creating or updating. Progress int `xml:"Progress,omitempty"` // Read-only indicator of task progress as an approximate percentage between 0 and 100. Not available for all tasks. Tasks *TasksInProgress `xml:"Tasks,omitempty"` // A list of queued, running, or recently completed tasks associated with this entity. User *Reference `xml:"User,omitempty"` // The user who started the task. }
Task represents an asynchronous operation in vCloud Director. Type: TaskType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents an asynchronous operation in vCloud Director. Since: 0.9 Comments added from https://code.vmware.com/apis/912/vmware-cloud-director/doc/doc/types/TaskType.html
type TasksInProgress ¶
type TasksInProgress struct { // Elements Task []*Task `xml:"Task"` // A task. }
TasksInProgress is a list of queued, running, or recently completed tasks. Type: TasksInProgressType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A list of queued, running, or recently completed tasks. Since: 0.9
type TasksList ¶
Namespace: http://www.vmware.com/vcloud/v1.5 Retrieve a list of tasks
type TypedValue ¶
type UndeployVAppParams ¶
type UndeployVAppParams struct { Xmlns string `xml:"xmlns,attr"` UndeployPowerAction string `xml:"UndeployPowerAction,omitempty"` }
UndeployVAppParams parameters to an undeploy vApp request. Type: UndeployVAppParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Parameters to an undeploy vApp request. Since: 0.9
type User ¶
type User struct { XMLName xml.Name `xml:"User"` Xmlns string `xml:"xmlns,attr"` Href string `xml:"href,attr"` Type string `xml:"type,attr"` ID string `xml:"id,attr"` OperationKey string `xml:"operationKey,attr"` Name string `xml:"name,attr"` Links LinkList `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` FullName string `xml:"FullName,omitempty"` EmailAddress string `xml:"EmailAddress,omitempty"` Telephone string `xml:"Telephone,omitempty"` IsEnabled bool `xml:"IsEnabled,omitempty"` IsLocked bool `xml:"IsLocked,omitempty"` IM string `xml:"IM,omitempty"` NameInSource string `xml:"NameInSource,omitempty"` IsExternal bool `xml:"IsExternal,omitempty"` ProviderType string `xml:"ProviderType,omitempty"` IsGroupRole bool `xml:"IsGroupRole,omitempty"` StoredVmQuota int `xml:"StoredVmQuota,omitempty"` DeployedVmQuota int `xml:"DeployedVmQuota,omitempty"` Role *Reference `xml:"Role,omitempty"` GroupReferences *GroupReference `xml:"GroupReferences,omitempty"` Password string `xml:"Password,omitempty"` Tasks *TasksInProgress `xml:"Tasks"` }
Represents an org user Reference: vCloud API 27.0 - UserType https://code.vmware.com/apis/442/vcloud-director#/doc/doc/types/UserType.html Note that the order of fields is important. If this structure needs to change, the field order must be preserved.
type VApp ¶
type VApp struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. ID string `xml:"id,attr,omitempty"` // The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused. OperationKey string `xml:"operationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations. Name string `xml:"name,attr"` // The name of the entity. Status int `xml:"status,attr,omitempty"` // Creation status of the resource entity. Deployed bool `xml:"deployed,attr,omitempty"` // True if the virtual machine is deployed. OvfDescriptorUploaded bool `xml:"ovfDescriptorUploaded,attr,omitempty"` // Read-only indicator that the OVF descriptor for this vApp has been uploaded. // Elements Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. NetworkConfigSection *NetworkConfigSection `xml:"NetworkConfigSection,omitempty"` // Represents vAPP network configuration Description string `xml:"Description,omitempty"` // Optional description. Tasks *TasksInProgress `xml:"Tasks,omitempty"` // A list of queued, running, or recently completed tasks associated with this entity. Files *FilesList `xml:"Files,omitempty"` // Represents a list of files to be transferred (uploaded or downloaded). Each File in the list is part of the ResourceEntity. VAppParent *Reference `xml:"VAppParent,omitempty"` // Reserved. Unimplemented. // TODO: OVF Sections to be implemented // Section OVF_Section `xml:"Section"` DateCreated string `xml:"DateCreated,omitempty"` // Creation date/time of the vApp. Owner *Owner `xml:"Owner,omitempty"` // vApp owner. InMaintenanceMode bool `xml:"InMaintenanceMode,omitempty"` // True if this vApp is in maintenance mode. Prevents users from changing vApp metadata. Children *VAppChildren `xml:"Children,omitempty"` // Container for virtual machines included in this vApp. ProductSection *ProductSection `xml:"ProductSection,omitempty"` }
VApp represents a vApp Type: VAppType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp. Since: 0.9
type VAppChildren ¶
type VAppChildren struct {
VM []*VM `xml:"Vm,omitempty"` // Represents a virtual machine.
}
VAppChildren is a container for virtual machines included in this vApp. Type: VAppChildrenType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for virtual machines included in this vApp. Since: 0.9
type VAppLeaseSettings ¶
type VAppLeaseSettings struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. DeleteOnStorageLeaseExpiration *bool `xml:"DeleteOnStorageLeaseExpiration,omitempty"` DeploymentLeaseSeconds *int `xml:"DeploymentLeaseSeconds,omitempty"` StorageLeaseSeconds *int `xml:"StorageLeaseSeconds,omitempty"` PowerOffOnRuntimeLeaseExpiration *bool `xml:"PowerOffOnRuntimeLeaseExpiration,omitempty"` }
type VAppNetwork ¶
type VAppNetwork struct { Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` Name string `xml:"name,attr"` Deployed *bool `xml:"deployed,attr"` // True if the network is deployed. Link *Link `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` Configuration *NetworkConfiguration `xml:"Configuration"` }
VAppNetwork represents a vApp network configuration Used as input PUT /network/{id} Type: VAppNetworkType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp network configuration. Since: 0.9
type VAppNetworkConfiguration ¶
type VAppNetworkConfiguration struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` NetworkName string `xml:"networkName,attr"` Link *Link `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` Configuration *NetworkConfiguration `xml:"Configuration"` IsDeployed bool `xml:"IsDeployed"` }
VAppNetworkConfiguration represents a vApp network configuration Used in vApp network configuration actions as part of vApp type, VApp.NetworkConfigSection.NetworkConfig or directly as NetworkConfigSection.NetworkConfig for various API calls. Type: VAppNetworkConfigurationType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp network configuration. Since: 0.9
type VAppTemplate ¶
type VAppTemplate struct { // Attributes HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. ID string `xml:"id,attr,omitempty"` // The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused. OperationKey string `xml:"operationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations. Name string `xml:"name,attr"` // The name of the entity. Status int `xml:"status,attr,omitempty"` // Creation status of the resource entity. OvfDescriptorUploaded string `xml:"ovfDescriptorUploaded,attr,omitempty"` // True if the OVF descriptor for this template has been uploaded. GoldMaster bool `xml:"goldMaster,attr,omitempty"` // True if this template is a gold master. // Elements Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. Description string `xml:"Description,omitempty"` // Optional description. Tasks *TasksInProgress `xml:"Tasks,omitempty"` // A list of queued, running, or recently completed tasks associated with this entity. Files *FilesList `xml:"Files,omitempty"` // Represents a list of files to be transferred (uploaded or downloaded). Each File in the list is part of the ResourceEntity. Owner *Owner `xml:"Owner,omitempty"` // vAppTemplate owner. Children *VAppTemplateChildren `xml:"Children,omitempty"` // Container for virtual machines included in this vApp template. VAppScopedLocalID string `xml:"VAppScopedLocalId"` // A unique identifier for the Vm in the scope of the vApp template. DefaultStorageProfile string `xml:"DefaultStorageProfile,omitempty"` // The name of the storage profile to be used for this object. The named storage profile must exist in the organization vDC that contains the object. If not specified, the default storage profile for the vDC is used. DateCreated string `xml:"DateCreated,omitempty"` // Creation date/time of the template. // FIXME: Upstream bug? Missing NetworkConfigSection, LeaseSettingSection and // CustomizationSection at least, NetworkConnectionSection is required when // using ComposeVApp action in the context of a Children VM (still // referenced by VAppTemplateType). NetworkConfigSection *NetworkConfigSection `xml:"NetworkConfigSection,omitempty"` NetworkConnectionSection *NetworkConnectionSection `xml:"NetworkConnectionSection,omitempty"` LeaseSettingsSection *LeaseSettingsSection `xml:"LeaseSettingsSection,omitempty"` CustomizationSection *CustomizationSection `xml:"CustomizationSection,omitempty"` }
VAppTemplate represents a vApp template. Type: VAppTemplateType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a vApp template. Since: 0.9
type VAppTemplateChildren ¶
type VAppTemplateChildren struct { // Elements VM []*VAppTemplate `xml:"Vm"` // Represents a virtual machine in this vApp template. }
VAppTemplateChildren is a container for virtual machines included in this vApp template. Type: VAppTemplateChildrenType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for virtual machines included in this vApp template. Since: 0.9
type VAppTemplateLeaseSettings ¶
type VAppTemplateLeaseSettings struct { HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. DeleteOnStorageLeaseExpiration *bool `xml:"DeleteOnStorageLeaseExpiration,omitempty"` StorageLeaseSeconds *int `xml:"StorageLeaseSeconds,omitempty"` }
VAppTemplateLeaseSettings represents the vapp template lease settings for a vCloud Director organization. Type: VAppTemplateLeaseSettingsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the vapp template lease settings of a vCloud Director organization. Since: 0.9
type VCloud ¶
type VCloud struct { XMLName xml.Name `xml:"VCloud"` Xmlns string `xml:"xmlns,attr,omitempty"` Name string `xml:"name,attr"` HREF string `xml:"href,attr"` Type string `xml:"type,attr,omitempty"` Description string `xml:"Description"` // Contains VCD version, build number and build timestamp Link *Link `xml:"Link,omitempty"` }
Structure returned by /api/admin call
type VCloudExtension ¶
type VCloudExtension struct {
Required bool `xml:"required,attr,omitempty"`
}
General purpose extension element Not related to extension services Reference: vCloud API 30.0 - DiskAttachOrDetachParamsType https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/types/VCloudExtensionType.html
type VDCList ¶
type VDCList struct {
Vdcs []*Reference `xml:"Vdc,omitempty"`
}
VDCList contains a list of references to Org VDCs Type: VdcListType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of organization vDCs. Since: 0.9
type VM ¶
type VM struct { // Attributes XMLName xml.Name `xml:"Vm"` Ovf string `xml:"xmlns:ovf,attr,omitempty"` Xsi string `xml:"xmlns:xsi,attr,omitempty"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // The URI of the entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity. ID string `xml:"id,attr,omitempty"` // The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused OperationKey string `xml:"operationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations. Name string `xml:"name,attr"` // The name of the entity. Status int `xml:"status,attr,omitempty"` // Creation status of the resource entity. Deployed bool `xml:"deployed,attr,omitempty"` // True if the virtual machine is deployed. NeedsCustomization bool `xml:"needsCustomization,attr,omitempty"` // True if this virtual machine needs customization. NestedHypervisorEnabled bool `xml:"nestedHypervisorEnabled,attr,omitempty"` // True if hardware-assisted CPU virtualization capabilities in the host should be exposed to the guest operating system. // Elements Link LinkList `xml:"Link,omitempty"` // A reference to an entity or operation associated with this object. Description string `xml:"Description,omitempty"` // Optional description. Tasks *TasksInProgress `xml:"Tasks,omitempty"` // A list of queued, running, or recently completed tasks associated with this entity. Files *FilesList `xml:"FilesList,omitempty"` // Represents a list of files to be transferred (uploaded or downloaded). Each File in the list is part of the ResourceEntity. VAppParent *Reference `xml:"VAppParent,omitempty"` // Reserved. Unimplemented. // TODO: OVF Sections to be implemented // Section OVF_Section `xml:"Section,omitempty" DateCreated string `xml:"DateCreated,omitempty"` // Creation date/time of the vApp. // Section ovf:VirtualHardwareSection VirtualHardwareSection *VirtualHardwareSection `xml:"VirtualHardwareSection,omitempty"` // FIXME: Upstream bug? Missing NetworkConnectionSection NetworkConnectionSection *NetworkConnectionSection `xml:"NetworkConnectionSection,omitempty"` VAppScopedLocalID string `xml:"VAppScopedLocalId,omitempty"` // A unique identifier for the virtual machine in the scope of the vApp. Snapshots *SnapshotSection `xml:"SnapshotSection,omitempty"` VmSpecSection *VmSpecSection `xml:"VmSpecSection,omitempty"` // GuestCustomizationSection contains settings for VM customization like admin password, SID // changes, domain join configuration, etc GuestCustomizationSection *GuestCustomizationSection `xml:"GuestCustomizationSection,omitempty"` VMCapabilities *VmCapabilities `xml:"VmCapabilities,omitempty"` // Allows you to specify certain capabilities of this virtual machine. StorageProfile *Reference `xml:"StorageProfile,omitempty"` // A reference to a storage profile to be used for this object. The specified storage profile must exist in the organization vDC that contains the object. If not specified, the default storage profile for the vDC is used. ProductSection *ProductSection `xml:"ProductSection,omitempty"` ComputePolicy *ComputePolicy `xml:"ComputePolicy,omitempty"` // accessible only from version API 33.0 Media *Reference `xml:"Media,omitempty"` // Reference to the media object to insert in a new VM. }
VM represents a virtual machine Type: VmType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a virtual machine. Since: 0.9
type VMDiskChange ¶
type VMDiskChange struct { XMLName xml.Name `xml:"Vm"` Ovf string `xml:"xmlns:ovf,attr,omitempty"` Xsi string `xml:"xmlns:xsi,attr,omitempty"` Xmlns string `xml:"xmlns,attr,omitempty"` HREF string `xml:"href,attr,omitempty"` // The URI of the VM entity. Type string `xml:"type,attr,omitempty"` // The MIME type of the entity - application/vnd.vmware.vcloud.vm+xml Name string `xml:"name,attr"` // VM name ID string `xml:"id,attr,omitempty"` // VM ID. The entity identifier, expressed in URN format. The value of this attribute uniquely identifies the entity, persists for the life of the entity, and is never reused. VmSpecSection *VmSpecSection `xml:"VmSpecSection,omitempty"` // Container for the specification of this virtual machine. This is an alternative to using ovf:VirtualHardwareSection + ovf:OperatingSystemSection }
VMDiskChange represents a virtual machine only with Disk setting update part
type VMGeneralParams ¶
type VMGeneralParams struct { // Elements Name string `xml:"Name,omitempty"` // Name of VM Description string `xml:"Description,omitempty"` // VM description NeedsCustomization bool `xml:"NeedsCustomization,omitempty"` // True if this VM needs guest customization RegenerateBiosUuid bool `xml:"RegenerateBiosUuid,omitempty"` // True if BIOS UUID of the virtual machine should be regenerated so that it is unique, and not the same as the source virtual machine's BIOS UUID. }
VMGeneralParams a set of overrides to source VM properties to apply to target VM during copying. Type: VmGeneralParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: A set of overrides to source VM properties to apply to target VM during copying. Since: 5.6
type VMSelection ¶
type VMSelection struct { VAppScopedVMID string `xml:"VAppScopedVmId"` // VAppScopedVmId of VM to which this rule applies. VMNicID int `xml:"VmNicId"` // VM NIC ID to which this rule applies. IPType string `xml:"IpType"` // The value can be one of:- assigned: assigned internal IP be automatically choosen. NAT: NATed external IP will be automatically choosen. }
VMSelection represents details of an vm+nic+iptype selection. Type: VmSelectionType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents details of an vm+nic+iptype selection. Since: 5.1
type VMWNetworkPool ¶
type VMWNetworkPool struct { HREF string `xml:"href,attr,omitempty"` Id string `xml:"id,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Name string `xml:"name,attr"` Status int `xml:"status,attr,omitempty"` Description string `xml:"netmask,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` }
Represents org VDC Network Reference: vCloud API 27.0 - Network Pool https://code.vmware.com/apis/72/vcloud-director#/doc/doc/types/VMWNetworkPoolType.html
type VMs ¶
type VMs struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Link LinkList `xml:"Link,omitempty"` VMReference []*Reference `xml:"VmReference,omitempty"` }
VMs represents a list of virtual machines. Type: VmsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents a list of virtual machines. Since: 5.1
type Value ¶
type Value struct {
Value string `xml:"http://schemas.dmtf.org/ovf/envelope/1 value,attr,omitempty"`
}
type VcdSamlMetadata ¶
type VcdSamlMetadata struct { XMLName xml.Name `xml:"EntityDescriptor"` Text string `xml:",chardata"` ID string `xml:"ID,attr"` // EntityID is the configured vCD Entity ID which is used in ADFS authentication request EntityID string `xml:"entityID,attr"` }
VcdSamlMetadata helps to marshal vCD SAML Metadata endpoint response https://1.1.1.1/cloud/org/my-org/saml/metadata/alias/vcd
Note. This structure is not complete and has many more fields.
type Vdc ¶
type Vdc struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` ID string `xml:"id,attr,omitempty"` OperationKey string `xml:"operationKey,attr,omitempty"` Name string `xml:"name,attr"` Status int `xml:"status,attr,omitempty"` Link LinkList `xml:"Link,omitempty"` Description string `xml:"Description,omitempty"` Tasks *TasksInProgress `xml:"Tasks,omitempty"` AllocationModel string `xml:"AllocationModel"` ComputeCapacity []*ComputeCapacity `xml:"ComputeCapacity"` ResourceEntities []*ResourceEntities `xml:"ResourceEntities,omitempty"` AvailableNetworks []*AvailableNetworks `xml:"AvailableNetworks,omitempty"` Capabilities []*Capabilities `xml:"Capabilities,omitempty"` NicQuota int `xml:"NicQuota"` NetworkQuota int `xml:"NetworkQuota"` UsedNetworkCount int `xml:"UsedNetworkCount,omitempty"` VMQuota int `xml:"VmQuota"` IsEnabled bool `xml:"IsEnabled"` VdcStorageProfiles *VdcStorageProfiles `xml:"VdcStorageProfiles"` DefaultComputePolicy *Reference `xml:"DefaultComputePolicy"` }
Vdc represents the user view of an organization VDC. Type: VdcType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the user view of an organization VDC. Since: 0.9
type VdcComputePolicy ¶
type VdcComputePolicy struct { ID string `json:"id,omitempty"` Description string `json:"description,omitempty"` Name string `json:"name"` CPUSpeed *int `json:"cpuSpeed,omitempty"` Memory *int `json:"memory,omitempty"` CPUCount *int `json:"cpuCount,omitempty"` CoresPerSocket *int `json:"coresPerSocket,omitempty"` MemoryReservationGuarantee *float64 `json:"memoryReservationGuarantee,omitempty"` CPUReservationGuarantee *float64 `json:"cpuReservationGuarantee,omitempty"` CPULimit *int `json:"cpuLimit,omitempty"` MemoryLimit *int `json:"memoryLimit,omitempty"` ExtraConfigs *struct { AdditionalProp1 string `json:"additionalProp1,omitempty"` AdditionalProp2 string `json:"additionalProp2,omitempty"` AdditionalProp3 string `json:"additionalProp3,omitempty"` } `json:"extraConfigs,omitempty"` PvdcComputePolicyRef *struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` } `json:"pvdcComputePolicyRef,omitempty"` PvdcComputePolicy *struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` } `json:"pvdcComputePolicy,omitempty"` CompatibleVdcTypes []string `json:"compatibleVdcTypes,omitempty"` IsSizingOnly bool `json:"isSizingOnly,omitempty"` PvdcID string `json:"pvdcId,omitempty"` NamedVMGroups [][]struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` } `json:"namedVmGroups,omitempty"` LogicalVMGroupReferences []struct { Name string `json:"name,omitempty"` ID string `json:"id,omitempty"` } `json:"logicalVmGroupReferences,omitempty"` IsAutoGenerated bool `json:"isAutoGenerated,omitempty"` }
VdcComputePolicy is represented as VM sizing policy in UI
type VdcConfiguration ¶
type VdcConfiguration struct { XMLName xml.Name `xml:"CreateVdcParams"` Xmlns string `xml:"xmlns,attr"` Name string `xml:"name,attr"` Description string `xml:"Description,omitempty"` AllocationModel string `xml:"AllocationModel"` // Flex supported from 32.0 ComputeCapacity []*ComputeCapacity `xml:"ComputeCapacity"` NicQuota int `xml:"NicQuota,omitempty"` NetworkQuota int `xml:"NetworkQuota,omitempty"` VmQuota int `xml:"VmQuota,omitempty"` IsEnabled bool `xml:"IsEnabled,omitempty"` // Create uses VdcStorageProfileConfiguration and fetch AdminVdcStorageProfile or VdcStorageProfile VdcStorageProfile []*VdcStorageProfileConfiguration `xml:"VdcStorageProfile"` ResourceGuaranteedMemory *float64 `xml:"ResourceGuaranteedMemory,omitempty"` ResourceGuaranteedCpu *float64 `xml:"ResourceGuaranteedCpu,omitempty"` VCpuInMhz int64 `xml:"VCpuInMhz,omitempty"` IsThinProvision bool `xml:"IsThinProvision,omitempty"` NetworkPoolReference *Reference `xml:"NetworkPoolReference,omitempty"` ProviderVdcReference *Reference `xml:"ProviderVdcReference"` UsesFastProvisioning bool `xml:"UsesFastProvisioning,omitempty"` OverCommitAllowed bool `xml:"OverCommitAllowed,omitempty"` VmDiscoveryEnabled bool `xml:"VmDiscoveryEnabled,omitempty"` IsElastic *bool `xml:"IsElastic,omitempty"` // Supported from 32.0 for the Flex model IncludeMemoryOverhead *bool `xml:"IncludeMemoryOverhead,omitempty"` // Supported from 32.0 for the Flex model }
VdcConfiguration models the payload for creating a VDC. Type: CreateVdcParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Parameters for creating an organization VDC Since: 5.1 https://code.vmware.com/apis/220/vcloud#/doc/doc/types/CreateVdcParamsType.html
type VdcStorageProfile ¶
type VdcStorageProfile struct { Xmlns string `xml:"xmlns,attr"` Name string `xml:"name,attr"` Enabled bool `xml:"Enabled,omitempty"` Units string `xml:"Units"` Limit int64 `xml:"Limit"` Default bool `xml:"Default"` IopsSettings *VdcStorageProfileIopsSettings `xml:"IopsSettingsint64"` StorageUsedMB int64 `xml:"StorageUsedMB"` IopsAllocated int64 `xml:"IopsAllocated"` ProviderVdcStorageProfile *Reference `xml:"ProviderVdcStorageProfile"` }
VdcStorageProfile represents the parameters for fetched storage profile Type: VdcStorageProfileParamsType Namespace: http://www.vmware.com/vcloud/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/types/VdcStorageProfileType.html https://vdc-repo.vmware.com/vmwb-repository/dcr-public/71e12563-bc11-4d64-821d-92d30f8fcfa1/7424bf8e-aec2-44ad-be7d-b98feda7bae0/doc/doc/types/AdminVdcStorageProfileType.html
type VdcStorageProfileConfiguration ¶
type VdcStorageProfileConfiguration struct { Enabled bool `xml:"Enabled,omitempty"` Units string `xml:"Units"` Limit int64 `xml:"Limit"` Default bool `xml:"Default"` ProviderVdcStorageProfile *Reference `xml:"ProviderVdcStorageProfile"` }
VdcStorageProfileConfiguration represents the parameters to assign a storage profile in creation of organization vDC. Type: VdcStorageProfileParamsType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Represents the parameters to create a storage profile in an organization vDC. Since: 5.1 https://code.vmware.com/apis/220/vcloud#/doc/doc/types/VdcStorageProfileParamsType.html
type VdcStorageProfileIopsSettings ¶
type VdcStorageProfileIopsSettings struct { Xmlns string `xml:"xmlns,attr"` Enabled bool `xml:"enabled"` DiskIopsMax int64 `xml:"diskIopsMax,"` DiskIopsDefault int64 `xml:"diskIopsDefault"` StorageProfileIopsLimit int64 `xml:"storageProfileIopsLimit,omitempty"` DiskIopsPerGbMax int64 `xml:"diskIopsPerGbMax"` }
VdcStorageProfileIopsSettings represents the parameters for VDC storage profiles Iops settings. Type: VdcStorageProfileIopsSettings https://vdc-repo.vmware.com/vmwb-repository/dcr-public/71e12563-bc11-4d64-821d-92d30f8fcfa1/7424bf8e-aec2-44ad-be7d-b98feda7bae0/doc/doc/types/VdcStorageProfileIopsSettingsType.html
type VdcStorageProfiles ¶
type VdcStorageProfiles struct {
VdcStorageProfile []*Reference `xml:"VdcStorageProfile,omitempty"`
}
VdcStorageProfiles is a container for references to storage profiles associated with a vDC. Element: VdcStorageProfiles Type: VdcStorageProfilesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Container for references to storage profiles associated with a vDC. Since: 5.1
type VendorTemplate ¶
type VendorTemplate struct { Name string `xml:"Name"` // Name of the vendor template. This is required. ID string `xml:"Id"` // ID of the vendor template. This is required. }
VendorTemplate is information about a vendor service template. This is optional. Type: VendorTemplateType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Information about a vendor service template. This is optional. Since: 5.1
type VimObjectRef ¶
type VimObjectRef struct { VimServerRef *Reference `xml:"VimServerRef"` MoRef string `xml:"MoRef"` VimObjectType string `xml:"VimObjectType"` }
Type: VimObjectRefType Namespace: http://www.vmware.com/vcloud/extension/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/types/VimObjectRefsType.html Description: Represents the Managed Object Reference (MoRef) and the type of a vSphere object. Since: 0.9
type VimObjectRefs ¶
type VimObjectRefs struct {
VimObjectRef []*VimObjectRef `xml:"VimObjectRef"`
}
Type: VimObjectRefsType Namespace: http://www.vmware.com/vcloud/extension/v1.5 https://vdc-repo.vmware.com/vmwb-repository/dcr-public/7a028e78-bd37-4a6a-8298-9c26c7eeb9aa/09142237-dd46-4dee-8326-e07212fb63a8/doc/doc/types/VimObjectRefsType.html Description: List of VimObjectRef elements. Since: 0.9
type VirtualHardwareConnection ¶
type VirtualHardwareConnection struct { IPAddress string `xml:"ipAddress,attr,omitempty"` PrimaryConnection bool `xml:"primaryNetworkConnection,attr,omitempty"` IpAddressingMode string `xml:"ipAddressingMode,attr,omitempty"` NetworkName string `xml:",chardata"` }
Connection info from ResourceType=10 (Network Interface)
type VirtualHardwareHostResource ¶
type VirtualHardwareHostResource struct { BusType int `xml:"busType,attr,omitempty"` BusSubType string `xml:"busSubType,attr,omitempty"` Capacity int `xml:"capacity,attr,omitempty"` StorageProfile string `xml:"storageProfileHref,attr,omitempty"` OverrideVmDefault bool `xml:"storageProfileOverrideVmDefault,attr,omitempty"` Disk string `xml:"disk,attr,omitempty"` }
HostResource info from ResourceType=17 (Hard Disk) Reference: vCloud API Programming Guide for Service Providers vCloud API 30.0, Page 188 - 189 https://vdc-download.vmware.com/vmwb-repository/dcr-public/1b6cf07d-adb3-4dba-8c47-9c1c92b04857/ def8435d-a54a-4923-b26a-e2d1915b09c3/vcloud_sp_api_guide_30_0.pdf
type VirtualHardwareItem ¶
type VirtualHardwareItem struct { XMLName xml.Name `xml:"Item"` ResourceType int `xml:"ResourceType,omitempty"` ResourceSubType string `xml:"ResourceSubType,omitempty"` ElementName string `xml:"ElementName,omitempty"` Description string `xml:"Description,omitempty"` InstanceID int `xml:"InstanceID,omitempty"` AutomaticAllocation bool `xml:"AutomaticAllocation,omitempty"` Address string `xml:"Address,omitempty"` AddressOnParent int `xml:"AddressOnParent,omitempty"` AllocationUnits string `xml:"AllocationUnits,omitempty"` Reservation int `xml:"Reservation,omitempty"` VirtualQuantity int `xml:"VirtualQuantity,omitempty"` Weight int `xml:"Weight,omitempty"` CoresPerSocket int `xml:"CoresPerSocket,omitempty"` Connection []*VirtualHardwareConnection `xml:"Connection,omitempty"` HostResource []*VirtualHardwareHostResource `xml:"HostResource,omitempty"` Link []*Link `xml:"Link,omitempty"` // Reference: https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/operations/GET-DisksRasdItemsList-vApp.html Parent int `xml:"Parent,omitempty"` }
Each ovf:Item parsed from the ovf:VirtualHardwareSection
type VirtualHardwareSection ¶
type VirtualHardwareSection struct { // Extends OVF Section_Type XMLName xml.Name `xml:"VirtualHardwareSection"` Xmlns string `xml:"vcloud,attr,omitempty"` Info string `xml:"Info"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Item []*VirtualHardwareItem `xml:"Item,omitempty"` }
ovf:VirtualHardwareSection from VM struct
type VmAffinityRule ¶
type VmAffinityRule struct { XMLName xml.Name `xml:"VmAffinityRule"` Xmlns string `xml:"xmlns,attr"` HREF string `xml:"href,attr,omitempty"` ID string `xml:"id,attr,omitempty"` Name string `xml:"Name"` OperationKey string `xml:"OperationKey,attr,omitempty"` // Optional unique identifier to support idempotent semantics for create and delete operations IsEnabled *bool `xml:"IsEnabled"` // True if the affinity rule is enabled IsMandatory *bool `xml:"IsMandatory"` // True if this affinity rule is mandatory. When a rule is mandatory, a host failover will not power on the VM if doing so would violate the rule Polarity string `xml:"Polarity"` // The polarity of this rule. One of: Affinity, Anti-Affinity VmReferences []*VMs `xml:"VmReferences"` // A list of VmReferences under a specific VM affinity rule. Link []*Link `xml:"Link,omitempty"` // VCloudExtension *VCloudExtension `xml:"VCloudExtension,omitempty"` // An optional extension element that can contain an arbitrary number of elements and attributes }
VmAffinityRule defines an affinity (or anti-affinity) rule for a group of VmReferences` https://code.vmware.com/apis/722/doc/doc/types/VmAffinityRuleType.html
type VmAffinityRules ¶
type VmAffinityRules struct { HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` Link *Link `xml:"Link,omitempty"` // VmAffinityRule []*VmAffinityRule `xml:"VmAffinityRule,omitempty"` }
VmAffinityRules defines a list of VmAffinityRule
type VmCapabilities ¶
type VmCapabilities struct { Xmlns string `xml:"xmlns,attr"` HREF string `xml:"href,attr,omitempty"` Type string `xml:"type,attr,omitempty"` MemoryHotAddEnabled bool `xml:"MemoryHotAddEnabled,omitempty"` CPUHotAddEnabled bool `xml:"CpuHotAddEnabled,omitempty"` Link LinkList `xml:"Link,omitempty"` }
VmCapabilities allows you to specify certain capabilities of this virtual machine. Type: VmCapabilitiesType Namespace: http://www.vmware.com/vcloud/v1.5 Description: Allows you to specify certain capabilities of this virtual machine. Since: 5.1
type VmPendingQuestion ¶
type VmPendingQuestion struct { XMLName xml.Name `xml:"VmPendingQuestion"` Xmlns string `xml:"xmlns,attr,omitempty"` Type string `xml:"type,attr"` HREF string `xml:"href,attr"` Link LinkList `xml:"Link,omitempty"` Question string `xml:"Question"` QuestionId string `xml:"QuestionId"` Choices []*VmQuestionAnswerChoiceType `xml:"Choices"` }
Parameters for VM pending questions Reference: vCloud API 27.0 - VmPendingQuestionType https://code.vmware.com/apis/287/vcloud#/doc/doc/types/VmPendingQuestionType.html
type VmQueryFilter ¶
type VmQueryFilter int
VmQueryFilter defines how we search VMs
const ( // VmQueryFilterAll defines a no-filter search, i.e. will return all elements VmQueryFilterAll VmQueryFilter = iota // VmQueryFilterOnlyDeployed defines a filter for deployed VMs VmQueryFilterOnlyDeployed // VmQueryFilterOnlyTemplates defines a filter for VMs inside a template VmQueryFilterOnlyTemplates )
func (VmQueryFilter) String ¶
func (qf VmQueryFilter) String() string
String converts a VmQueryFilter into the corresponding filter needed by the query to get the wanted result
type VmQuestionAnswer ¶
type VmQuestionAnswer struct { XMLName xml.Name `xml:"VmQuestionAnswer"` Xmlns string `xml:"xmlns,attr,omitempty"` ChoiceId int `xml:"ChoiceId"` QuestionId string `xml:"QuestionId"` }
Parameters for VM question answer Reference: vCloud API 27.0 - VmQuestionAnswerType https://code.vmware.com/apis/287/vcloud#/doc/doc/types/VmQuestionAnswerType.html
type VmQuestionAnswerChoiceType ¶
Parameters for VM question answer choice Reference: vCloud API 27.0 - VmQuestionAnswerChoiceType https://code.vmware.com/apis/287/vcloud#/doc/doc/types/VmQuestionAnswerChoiceType.html
type VmSpecSection ¶
type VmSpecSection struct { Modified *bool `xml:"Modified,attr,omitempty"` Info string `xml:"ovf:Info"` OsType string `xml:"OsType,omitempty"` // The type of the OS. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. NumCpus *int `xml:"NumCpus,omitempty"` // Number of CPUs. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. NumCoresPerSocket *int `xml:"NumCoresPerSocket,omitempty"` // Number of cores among which to distribute CPUs in this virtual machine. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. CpuResourceMhz *CpuResourceMhz `xml:"CpuResourceMhz,omitempty"` // CPU compute resources. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. MemoryResourceMb *MemoryResourceMb `xml:"MemoryResourceMb"` // Memory compute resources. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. MediaSection *MediaSection `xml:"MediaSection,omitempty"` // The media devices of this VM. DiskSection *DiskSection `xml:"DiskSection,omitempty"` // virtual disks of this VM. HardwareVersion *HardwareVersion `xml:"HardwareVersion"` // vSphere name of Virtual Hardware Version of this VM. Example: vmx-13 - This parameter may be omitted when using the VmSpec to update the contents of an existing VM. VmToolsVersion string `xml:"VmToolsVersion,omitempty"` // VMware tools version of this VM. VirtualCpuType string `xml:"VirtualCpuType,omitempty"` // The capabilities settings for this VM. This parameter may be omitted when using the VmSpec to update the contents of an existing VM. TimeSyncWithHost *bool `xml:"TimeSyncWithHost,omitempty"` // Synchronize the VM's time with the host. }
VmSpecSection from VM struct
type Vms ¶
type Vms struct { XMLName xml.Name `xml:"Vms"` Xmlns string `xml:"xmlns,attr,omitempty"` Type string `xml:"type,attr"` HREF string `xml:"href,attr"` VmReference *Reference `xml:"VmReference,omitempty"` }
Represents a list of virtual machines Reference: vCloud API 30.0 - VmsType https://code.vmware.com/apis/287/vcloud?h=Director#/doc/doc/types/FilesListType.html