models

package
Version: v0.0.0-...-9b43c5c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2021 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package models Copyright 2020-2021 Author.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Mustafa mbayramo@vmware.com

Package models Copyright 2020-2021 Author.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Mustafa mbayramo@vmware.com

Package models Copyright 2020-2021 Author.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Mustafa mbayramo@vmware.com

Package models Copyright 2020-2021 Author.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Mustafa mbayramo@vmware.com

Index

Constants

View Source
const (
	PropertyDescriptorId           = "descriptorId"
	PropertyProvider               = "provider"
	PropertyDescriptorVersion      = "descriptorVersion"
	PropertyFlavourId              = "flavourId,"
	PropertyFlavourDescription     = "flavourDescription"
	PropertyProductName            = "productName"
	PropertyVersion                = "version"
	PropertyId                     = "id"
	PropertySoftwareVersion        = "softwareVersion"
	PropertyChartName              = "chartName"
	PropertyChartVersion           = "chartVersion"
	PropertyHelmVersion            = "helmVersion"
	PropertyName                   = "name"
	PropertyDescription            = "description"
	PropertyConfigurableProperties = "configurableProperties"
	PropertyVnfmInfo               = "vnfm_info"
)
View Source
const (
	// ExtensionNokiaSubType - extinction types for nokia CBAM
	ExtensionNokiaSubType = "Nokia-CBAM"

	// ExtensionHarborSubType  - extinction types for nokia Harbor
	ExtensionHarborSubType = "Harbor"

	// ExtensionTypeRepository extinction type
	ExtensionTypeRepository = "Repository"

	// ExtensionTypeSVNFM extension type for SVNFM
	ExtensionTypeSVNFM = "SVNFM"
)
View Source
const (
	// NetworkActive is active or not
	NetworkActive = "ACTIVE"

	// DvsPortGroupType type for DVS port group
	DvsPortGroupType = "DistributedVirtualPortgroup"
)
View Source
const (
	// VimTypeVmware vim type vc ( vmware)
	VimTypeVmware = "vc"

	// VimTypeKubernetes vim type kubernetes
	VimTypeKubernetes = "kubernetes"

	// CniTypeAntrea
	CniTypeAntrea = "antrea"

	// CniTypeMultus
	CniTypeMultus = "multus"

	// CniTypeCalico - calico cni
	CniTypeCalico = "calico"

	// CniTypeWhereAbouts - cni CniTypeWhereAbouts
	CniTypeWhereAbouts = "whereabouts"

	CsiVmware = "vsphere-csi"

	CsiNfs = "nfs_client"

	TemplateMgmt string = "MANAGEMENT"

	TemplateWorkload string = "WORKLOAD"
)
View Source
const (
	// TypeFolder vc folder
	TypeFolder VmwareTypeFolder = "Folder"

	// TypeDataStore vc datastore
	TypeDataStore VmwareDatastore = "Datastore"

	TypeResourcePool VmwareResourcePool = "ResourcePool"

	// TypeClusterComputeResource vc cluster name
	TypeClusterComputeResource ClusterComputeResource = "IsValidClusterCompute"

	// TypeNetworkIdPrefix VC dvs port-group prefix
	TypeNetworkIdPrefix = "dvportgroup"

	// TypeNetworkVlan vc network type
	TypeNetworkVlan = "vlan"

	// TypeNetworkVirtualPortGroup vc dvs pg
	TypeNetworkVirtualPortGroup = "DistributedVirtualPortgroup"

	// EntityTypeFolder VMware VC contain entity folder
	EntityTypeFolder = "folder"

	// EntityTypeResourcePool - VMware VC resource pool
	EntityTypeResourcePool = "resourcePool"

	// EntityTypeCluster - VMware VC resource pool
	EntityTypeCluster = "cluster"

	// EntityTypeComputeResource - VMware VC compute resource
	EntityTypeComputeResource = "computeResource"

	// ChildVirtualTypeMachine VMware VC child element VM
	ChildVirtualTypeMachine = "VirtualMachine"

	// ChildTypeVirtualApp VMware VC child element VApp
	ChildTypeVirtualApp = "VirtualApp"
)

Variables

This section is empty.

Functions

func VimType

func VimType() []string

Types

type AccessInfo

type AccessInfo struct {
	Username string `json:"username" yaml:"username"`
	Password string `json:"password" yaml:"password"`
}

type AdditionalVnfcConfigurableProperties

type AdditionalVnfcConfigurableProperties struct {
}

AdditionalVnfcConfigurableProperties =

type AdditionalVnfcScalableProperties

type AdditionalVnfcScalableProperties struct {
}

type CSAR

type CSAR struct {
	ToscaDefinitionsVersion string                `yaml:"tosca_definitions_version"`
	Description             string                `yaml:"description"`
	Imports                 []string              `yaml:"imports"`
	NodeType                map[string]ToscaNodes `yaml:"node_types"`
	TopologyTemplate        TopologyTemplate      `yaml:"topology_template"`
}

type CloudNetworks

type CloudNetworks struct {
	Network []NetworkSpec `json:"networks" yaml:"type"`
}

func (*CloudNetworks) FindFullNetwork

func (n *CloudNetworks) FindFullNetwork(name string) (*NetworkSpec, error)

FindFullNetwork return network spec as NetworkSpec

func (*CloudNetworks) GetNetwork

func (n *CloudNetworks) GetNetwork(name string) (*NetworkSpec, error)

GetNetwork return network spec as NetworkSpec

func (*CloudNetworks) NormalizeName

func (n *CloudNetworks) NormalizeName(name string) (string, error)

type ClusterComputeResource

type ClusterComputeResource string

ClusterComputeResource - type vmware compute resource

type ClusterCpuManagerPolicy

type ClusterCpuManagerPolicy struct {
	Type       string          `json:"type,omitempty" yaml:"type,omitempty"`
	Policy     string          `json:"policy,omitempty" yaml:"policy,omitempty"`
	Properties *NodeProperties `json:"properties,omitempty" yaml:"properties,omitempty"`
}

type ClusterTask

type ClusterTask struct {
	Items  []TaskItems `json:"items" yaml:"items"`
	Paging struct {
		PageSize   int `json:"pageSize" yaml:"page_size"`
		Offset     int `json:"offset" yaml:"offset"`
		TotalSize  int `json:"totalSize" yaml:"totalSize"`
		PageNumber int `json:"pageNumber" yaml:"pageNumber"`
	} `json:"paging" yaml:"paging"`
}

func (*ClusterTask) FindEntity

func (t *ClusterTask) FindEntity(eid string) (*TaskItems, error)

func (*ClusterTask) FindEntityByName

func (t *ClusterTask) FindEntityByName(name string) (*TaskItems, error)

type CnfPolicyUri

type CnfPolicyUri struct {
	Href string `json:"href,omitempty"`
}

CnfPolicyUri CNF policy URI

type ConfigurableProperties

type ConfigurableProperties struct {
	AdditionalVnfcConfigurableProperties AdditionalVnfcConfigurableProperties `yaml:"additional_vnfc_configurable_properties"`
	AdditionalVnfcScalableProperties     AdditionalVnfcScalableProperties     `yaml:"additional_vnfc_scalable_properties"`
}

ConfigurableProperties ConfigurableProperties

type CpuManagerPolicy

type CpuManagerPolicy struct {
	Type       string              `json:"type,omitempty" yaml:"type,omitempty"`
	Policy     string              `json:"policy,omitempty" yaml:"policy,omitempty"`
	Properties *NodePoolProperties `json:"properties,omitempty" yaml:"properties,omitempty"`
}

type ExtensionTypes

type ExtensionTypes struct {
	Types []struct {
		SubTypes []string `json:"subTypes" yaml:"sub_types"`
		Uri      string   `json:"uri" yaml:"uri"`
		Type     string   `json:"type" yaml:"type"`
	} `json:"types"`
}

ExtensionTypes - Extension abstraction used by TCA type is type and under sub-type

type Folders

type Folders struct {
	Success   bool  `json:"success" yaml:"success"`
	Completed bool  `json:"completed" yaml:"completed"`
	Time      int64 `json:"time" yaml:"time"`
	Data      struct {
		Items []struct {
			EntityId          string `json:"entity_id" yaml:"entity_id"`
			VcenterInstanceId string `json:"vcenter_instanceId" yaml:"vcenter_instance_id"`
			Name              string `json:"name" yaml:"name"`
			Parent            struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"server_guid"`
				XsiType    string `json:"@xsi:type" yaml:"xsi_type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"parent" yaml:"parent"`
			EntityType       string `json:"entityType" yaml:"entity_type"`
			Id               string `json:"id" yaml:"id"`
			DisplayName      string `json:"displayName" yaml:"display_name"`
			ObjectAttributes struct {
				ChildType []string `json:"childType" yaml:"child_type"`
			} `json:"objectAttributes" yaml:"object_attributes"`
			Origin struct {
				EndpointId   string `json:"endpointId" yaml:"endpoint_id"`
				EndpointType string `json:"endpointType" yaml:"endpoint_type"`
				EndpointName string `json:"endpointName" yaml:"endpoint_name"`
				ResourceId   string `json:"resourceId" yaml:"resource_id"`
				ResourceType string `json:"resourceType" yaml:"resource_type"`
				ResourceName string `json:"resourceName" yaml:"resource_name"`
			} `json:"_origin" yaml:"origin"`
			Source struct {
				Version    string `json:"version" yaml:"version"`
				Uuid       string `json:"uuid" yaml:"uuid"`
				HcspUUID   string `json:"hcspUUID" yaml:"hcsp_uuid"`
				SystemType string `json:"systemType" yaml:"system_type"`
			} `json:"_source" yaml:"source"`
		} `json:"items" yaml:"items"`
	} `json:"data" yaml:"data"`
}

Folders VMware VC folder container view.

func (*Folders) IsValidFolder

func (f *Folders) IsValidFolder(name string) bool

IsValidFolder return true if name is valid folder

type HealthCheck

type HealthCheck struct {
	NodeStartupTimeout  string `json:"nodeStartupTimeout,omitempty" yaml:"nodeStartupTimeout,omitempty"`
	UnhealthyConditions []struct {
		Type    string `json:"type" yaml:"type"`
		Status  string `json:"status" yaml:"status"`
		Timeout string `json:"timeout" yaml:"timeout"`
	} `json:"unhealthyConditions,omitempty" yaml:"unhealthyConditions,omitempty"`
}

type Infra

type Infra struct {
	InfraRequirements InfraRequirements `yaml:"infra_requirements"`
}

Infra infrastructure requirement section

type InfraRequirements

type InfraRequirements struct {
	NodeComponents NodeComponents `yaml:"node_components"`
}

InfraRequirements - infrastructure requirements

type Interfaces

type Interfaces struct {
	Vnflcm Vnflcm `yaml:"Vnflcm,omitempty"`
}

Interfaces - Vnflcm interfaces

type InternalManagedBy

type InternalManagedBy struct {
	ExtensionSubtype string `json:"extensionSubtype" yaml:"extension_subtype"`
	ExtensionName    string `json:"extensionName" yaml:"extension_name"`
}

type Kernel

type Kernel struct {
	KernelType KernelType `yaml:"kernel_type"`
}

Kernel kernel type

type KernelType

type KernelType struct {
	Name    string `yaml:"name"`
	Version string `yaml:"version"`
}

KernelType - kernel type name and version

type LcmInterfaces

type LcmInterfaces struct {
	InterfaceName string `json:"interfaceName" yaml:"interfaceName"`
	Parameters    []struct {
		Name string `json:"name" yaml:"name"`
		Type string `json:"type" yaml:"type"`
	} `json:"parameters" yaml:"parameters"`
}

type Location

type Location struct {
	City      string  `json:"city" yaml:"city"`
	Country   string  `json:"country" yaml:"country"`
	CityASCII string  `json:"cityAscii" yaml:"cityAscii"`
	Latitude  float64 `json:"latitude" yaml:"latitude"`
	Longitude float64 `json:"longitude" yaml:"longitude"`
}

Location location details

type Network

type Network struct {
	Label       string   `json:"label" yaml:"label"`
	NetworkName string   `json:"networkName" yaml:"networkName"`
	Nameservers []string `json:"nameservers" yaml:"nameservers"`
}

Network Generic Network json struct. it used in many specs

type NetworkNotFound

type NetworkNotFound struct {
	// contains filtered or unexported fields
}

NetworkNotFound error raised if network not found

func (*NetworkNotFound) Error

func (m *NetworkNotFound) Error() string

type NetworkSpec

type NetworkSpec struct {
	Status string `json:"status" yaml:"status"`

	//tenantId is in format 20210212053126765-51947d48-91b1-447e-ba40-668eb411f545
	TenantId string `json:"tenantId" yaml:"tenantId"`

	//Id is vc id dvportgroup-69009
	Id string `json:"id" yaml:"id"`

	//Name is port-group name for example tkg-dhcp-vlan100x-10.x.x.0
	Name string `json:"name" yaml:"name"`

	// dvsName for example core02-services
	DvsName string `json:"dvsName" yaml:"dvsName"`

	FullNetworkPath string `json:"fullNetworkPath" yaml:"fullNetworkPath"`

	// NetworkType vlan is vlan type
	NetworkType string `json:"networkType" yaml:"networkType"`

	IsShared bool `json:"isShared" yaml:"isShared"`

	// Type DistributedVirtualPortgroup
	Type string `json:"type" yaml:"type"`
}

NetworkSpec is network spec returned by API Example

"status" : "ACTIVE",
"tenantId" : "20210212053126765-51947d48-91b1-447e-ba40-668eb411f545",
"id" : "dvportgroup-69009",
"name" : "tkg-dhcp-vlan1007-10.241.7.0",
"dvsName" : "core02-services",
"fullNetworkPath" : "/Datacenter/network/tkg-dhcp-vlan1007-10.241.7.0",
"networkType" : "vlan",
"isShared" : false,
"type" : "DistributedVirtualPortgroup"

func (*NetworkSpec) IsActive

func (s *NetworkSpec) IsActive() bool

IsActive if network is active

func (*NetworkSpec) IsDvsPortGroup

func (s *NetworkSpec) IsDvsPortGroup() bool

IsDvsPortGroup - return true if network backend is port-group

type Networks

type Networks struct {
	Label       string   `json:"label" yaml:"label"`
	NetworkName string   `json:"networkName" yaml:"networkName"`
	Nameservers []string `json:"nameservers" yaml:"nameservers"`
}

func NewNetworks

func NewNetworks(label string, networkName string, nameservers []string) *Networks

type NodeComponents

type NodeComponents struct {
	Kernel Kernel `yaml:"kernel"`
}

NodeComponents - kernel key

type NodeConfig

type NodeConfig struct {
	CpuManagerPolicy *ClusterCpuManagerPolicy `json:"cpuManagerPolicy,omitempty" yaml:"cpuManagerPolicy,omitempty"`
	HealthCheck      *HealthCheck             `json:"healthCheck,omitempty" yaml:"healthCheck,omitempty"`
}

type NodePoolConfig

type NodePoolConfig struct {
	CpuManagerPolicy *CpuManagerPolicy `json:"cpuManagerPolicy,omitempty" yaml:"cpuManagerPolicy,omitempty"`
	HealthCheck      *HealthCheck      `json:"healthCheck,omitempty" yaml:"healthCheck,omitempty"`
}

NodePoolConfig - hold all metadata about node pools

type NodePoolProperties

type NodePoolProperties struct {
	KubeReserved   *Reservation `json:"kubeReserved,omitempty" yaml:"kubeReserved,omitempty"`
	SystemReserved *Reservation `json:"systemReserved,omitempty" yaml:"systemReserved,omitempty"`
}

type NodeProperties

type NodeProperties struct {
	KubeReserved struct {
		Cpu         int `json:"cpu,omitempty" yaml:"cpu,omitempty"`
		MemoryInGiB int `json:"memoryInGiB,omitempty" yaml:"memoryInGiB,omitempty"`
	} `json:"kubeReserved,omitempty" yaml:"kubeReserved,omitempty"`
	SystemReserved struct {
		Cpu         int `json:"cpu,omitempty" yaml:"cpu,omitempty"`
		MemoryInGiB int `json:"memoryInGiB" yaml:"memoryInGiB"`
	} `json:"systemReserved,omitempty" yaml:"system_reserved,omitempty"`
}

type NodeTemplates

type NodeTemplates struct {
	NodeType          string            `yaml:"node_type,omitempty"`
	Properties        ToscaProperties   `yaml:"properties"`
	Type              string            `yaml:"type,omitempty"`
	InfraRequirements InfraRequirements `yaml:"infra_requirements,omitempty"`
}

NodeTemplates - node template section

type Nodes

type Nodes struct {
	Ip     string `json:"ip,omitempty" yaml:"ip,omitempty"`
	VmName string `json:"vmName,omitempty" yaml:"vmName,omitempty"`
}

type PlacementParams

type PlacementParams struct {
	Name string `json:"name" yaml:"name"`
	Type string `json:"type" yaml:"type"`
}

PlacementParams Node Placement

func NewPlacementParams

func NewPlacementParams(name string, Type string) *PlacementParams

type Policies

type Policies struct {
	PolicyScale          PolicyScale          `yaml:"policy_scale"`
	PolicyWorkflow       PolicyWorkflow       `yaml:"policy_workflow"`
	PolicyReconfigure    PolicyReconfigure    `yaml:"policy_reconfigure"`
	PolicyUpdate         PolicyUpdate         `yaml:"policy_update"`
	PolicyUpgrade        PolicyUpgrade        `yaml:"policy_upgrade"`
	PolicyUpgradePackage PolicyUpgradePackage `yaml:"policy_upgrade_package"`
}
type PolicyLinks struct {
	Self           CnfPolicyUri `json:"self,omitempty" yaml:"self"`
	Indicators     CnfPolicyUri `json:"indicators,omitempty" yaml:"indicators"`
	Instantiate    CnfPolicyUri `json:"instantiate,omitempty" yaml:"instantiate"`
	Retry          CnfPolicyUri `json:"retry,omitempty" yaml:"retry"`
	Rollback       CnfPolicyUri `json:"rollback,omitempty" yaml:"rollback"`
	UpdateState    CnfPolicyUri `json:"update_state,omitempty" yaml:"update_state"`
	Terminate      CnfPolicyUri `json:"terminate,omitempty" yaml:"terminate"`
	Scale          CnfPolicyUri `json:"scale,omitempty" yaml:"scale"`
	ScaleToLevel   CnfPolicyUri `json:"scaleToLevel,omitempty" yaml:"scaleToLevel"`
	Heal           CnfPolicyUri `json:"heal,omitempty" yaml:"heal"`
	Update         CnfPolicyUri `json:"update,omitempty" yaml:"update"`
	UpgradePackage CnfPolicyUri `json:"upgrade_package,omitempty" yaml:"upgrade_package"`
	Upgrade        CnfPolicyUri `json:"upgrade,omitempty" yaml:"upgrade"`
	Reconfigure    CnfPolicyUri `json:"reconfigure,omitempty" yaml:"reconfigure"`
	ChangeFlavour  CnfPolicyUri `json:"changeFlavour,omitempty" yaml:"changeFlavour"`
	Operate        CnfPolicyUri `json:"operate,omitempty" yaml:"operate"`
	ChangeExtConn  CnfPolicyUri `json:"changeExtConn,omitempty" yaml:"changeExtConn"`
}

type PolicyReconfigure

type PolicyReconfigure struct {
	Type       string                      `yaml:"type"`
	Properties PolicyReconfigureProperties `yaml:"properties"`
}

type PolicyReconfigureProperties

type PolicyReconfigureProperties struct {
	InterfaceName string `yaml:"interface_name"`
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
}

type PolicyScale

type PolicyScale struct {
	Properties Properties `yaml:"properties"`
	Type       string     `yaml:"type"`
}

type PolicyUpdate

type PolicyUpdate struct {
	Type       string                 `yaml:"type"`
	Properties PolicyUpdateProperties `yaml:"properties"`
}

type PolicyUpdateProperties

type PolicyUpdateProperties struct {
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
	InterfaceName string `yaml:"interface_name"`
}

type PolicyUpgrade

type PolicyUpgrade struct {
	Type       string                  `yaml:"type"`
	Properties PolicyUpgradeProperties `yaml:"properties"`
}

type PolicyUpgradePackage

type PolicyUpgradePackage struct {
	Type       string                         `yaml:"type"`
	Properties PolicyUpgradePackageProperties `yaml:"properties"`
}

type PolicyUpgradePackageProperties

type PolicyUpgradePackageProperties struct {
	InterfaceName string `yaml:"interface_name"`
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
}

type PolicyUpgradeProperties

type PolicyUpgradeProperties struct {
	InterfaceName string `yaml:"interface_name"`
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
}

type PolicyWorkflow

type PolicyWorkflow struct {
	Type       string                   `yaml:"type"`
	Properties PolicyWorkflowProperties `yaml:"properties"`
}

type PolicyWorkflowProperties

type PolicyWorkflowProperties struct {
	InterfaceName string `yaml:"interface_name"`
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
}

type Properties

type Properties struct {
	InterfaceName string `yaml:"interface_name"`
	InterfaceType string `yaml:"interface_type"`
	IsEnabled     bool   `yaml:"isEnabled"`
}

type Reservation

type Reservation struct {
	Cpu         int `json:"cpu,omitempty" yaml:"cpu,omitempty"`
	MemoryInGiB int `json:"memoryInGiB,omitempty" yaml:"memoryInGiB,omitempty"`
}

type ResourcePool

type ResourcePool struct {
	Success   bool  `json:"success" yaml:"success"`
	Completed bool  `json:"completed" yaml:"completed"`
	Time      int64 `json:"time" yaml:"time"`
	Data      struct {
		Items []struct {
			EntityId          string `json:"entity_id" yaml:"entity_id"`
			VcenterInstanceId string `json:"vcenter_instanceId" yaml:"vcenter_instance_id"`
			Name              string `json:"name" yaml:"name"`
			Owner             struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"server_guid"`
				XsiType    string `json:"@xsi:type" yaml:"xsi_type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"owner" yaml:"owner"`
			Parent struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"server_guid"`
				XsiType    string `json:"@xsi:type" yaml:"xsi_type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"parent" yaml:"parent"`
			ResourcePool []struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"server_guid"`
				XsiType    string `json:"@xsi:type" yaml:"xsi_type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"resourcePool,omitempty" yaml:"resource_pool"`
			EntityType string `json:"entityType" yaml:"entity_type"`
			Origin     struct {
				EndpointId   string `json:"endpointId" yaml:"endpoint_id"`
				EndpointType string `json:"endpointType" yaml:"endpoint_type"`
				EndpointName string `json:"endpointName" yaml:"endpoint_name"`
				ResourceId   string `json:"resourceId" yaml:"resource_id"`
				ResourceType string `json:"resourceType" yaml:"resource_type"`
				ResourceName string `json:"resourceName" yaml:"resource_name"`
			} `json:"_origin" yaml:"origin"`
			Source struct {
				Version    string `json:"version" yaml:"version"`
				Uuid       string `json:"uuid" yaml:"uuid"`
				HcspUUID   string `json:"hcspUUID" yaml:"hcsp_uuid"`
				SystemType string `json:"systemType" yaml:"system_type"`
			} `json:"_source" yaml:"source"`
		} `json:"items" yaml:"items"`
	} `json:"data" yaml:"data"`
}

ResourcePool VMware resource pool container view

func (*ResourcePool) IsValidResource

func (r *ResourcePool) IsValidResource(name string) bool

IsValidResource return if name is valid resource pool

type SubstitutionMappings

type SubstitutionMappings struct {
	NodeType string `yaml:"node_type"`
}

SubstitutionMappings - csar file contains a substitution sub-section each section model based based on node_type

type TaskAdditionalParameters

type TaskAdditionalParameters struct {
	TrustAllCerts bool             `json:"trustAllCerts" yaml:"trust_all_certs"`
	RepoSyncVim   *TaskRepoSyncVim `json:"repoSyncVim,omitempty" yaml:"repo_sync_vim"`
}

type TaskErrors

type TaskErrors struct {
	InternalMessage string `json:"internalMessage" yaml:"internal_message"`
	ErrorCode       string `json:"errorCode" yaml:"error_code"`
	Message         string `json:"message" yaml:"message"`
}

TaskErrors error for give task

type TaskInterfaceInfo

type TaskInterfaceInfo struct {
	Url                string `json:"url" yaml:"url"`
	Description        string `json:"description" yaml:"description"`
	TrustedCertificate string `json:"trustedCertificate" yaml:"trusted_certificate"`
}

type TaskItems

type TaskItems struct {
	EntityDetails struct {
		Id   string `json:"id" yaml:"id" yaml:"id"`
		Type string `json:"type" yaml:"type" yaml:"type"`
		Name string `json:"name" yaml:"name" yaml:"name"`
	} `json:"entityDetails" yaml:"entity_details"`
	Type      string       `json:"type" yaml:"type"`
	Status    string       `json:"status" yaml:"status"`
	Progress  int          `json:"progress" yaml:"progress"`
	Message   string       `json:"message" yaml:"message"`
	StartTime int64        `json:"startTime" yaml:"startTime"`
	EndTime   int64        `json:"endTime" yaml:"endTime"`
	Request   *TaskRequest `json:"request" yaml:"request"`
	Steps     []TaskSteps  `json:"steps" yaml:"steps"`
	TaskId    string       `json:"taskId" yaml:"taskId"`
}

type TaskOldEntry

type TaskOldEntry struct {
	ExtensionId   string             `json:"extensionId" yaml:"extension_id"`
	Name          string             `json:"name" yaml:"name"`
	Type          string             `json:"type" yaml:"type"`
	ExtensionKey  string             `json:"extensionKey" yaml:"extension_key"`
	Description   string             `json:"description" yaml:"description"`
	InterfaceInfo *TaskInterfaceInfo `json:"interfaceInfo" yaml:"interface_info"`
	AccessInfo    struct {
		Username string `json:"username" yaml:"username"`
		Password string `json:"password" yaml:"password"`
	} `json:"accessInfo" yaml:"access_info"`
	AdditionalParameters struct {
		TrustAllCerts bool `json:"trustAllCerts" yaml:"trust_all_certs"`
		RepoSyncVim   struct {
			VimName       string `json:"vimName" yaml:"vim_name"`
			VimId         string `json:"vimId" yaml:"vim_id"`
			VimSystemUUID string `json:"vimSystemUUID" yaml:"vim_system_uuid"`
		} `json:"repoSyncVim" yaml:"repo_sync_vim"`
	} `json:"additionalParameters" yaml:"additional_parameters"`
	State            string        `json:"state" yaml:"state"`
	ExtensionSubtype string        `json:"extensionSubtype" yaml:"extension_subtype"`
	Products         []interface{} `json:"products" yaml:"products"`
	VimInfo          []struct {
		VimName       string `json:"vimName" yaml:"vim_name"`
		VimId         string `json:"vimId" yaml:"vim_id"`
		VimSystemUUID string `json:"vimSystemUUID" yaml:"vim_system_uuid"`
	} `json:"vimInfo" yaml:"vim_info"`
	Version         string `json:"version" yaml:"version"`
	VnfCount        int    `json:"vnfCount" yaml:"vnf_count"`
	VnfCatalogCount int    `json:"vnfCatalogCount" yaml:"vnf_catalog_count"`
	Error           string `json:"error,omitempty" yaml:"error"`
}

type TaskPayload

type TaskPayload struct {
	ClusterPassword   string `json:"clusterPassword" yaml:"cluster_password"`
	ClusterTemplateId string `json:"clusterTemplateId" yaml:"cluster_template_id"`
	ClusterType       string `json:"clusterType" yaml:"cluster_type"`
	ClusterConfig     struct {
		Csi []struct {
			Name       string `json:"name" yaml:"name"`
			Properties struct {
				ServerIP     string `json:"serverIP,omitempty" yaml:"server_ip"`
				MountPath    string `json:"mountPath,omitempty" yaml:"mount_path"`
				DatastoreUrl string `json:"datastoreUrl,omitempty" yaml:"datastore_url"`
			} `json:"properties" yaml:"properties"`
		} `json:"csi" yaml:"csi"`
		Tools []TaskTools `json:"tools" yaml:"tools"`
	} `json:"clusterConfig" yaml:"cluster_config"`
	HcxCloudUrl         string `json:"hcxCloudUrl" yaml:"hcx_cloud_url"`
	EndpointIP          string `json:"endpointIP" yaml:"endpoint_ip"`
	ManagementClusterId string `json:"managementClusterId" yaml:"management_cluster_id"`
	MasterNodes         []struct {
		Name     string `json:"name" yaml:"name"`
		Networks []struct {
			Label       string   `json:"label" yaml:"label"`
			NetworkName string   `json:"networkName" yaml:"networkName"`
			Nameservers []string `json:"nameservers" yaml:"nameservers"`
		} `json:"networks" yaml:"networks"`
		PlacementParams []struct {
			Name string `json:"name" yaml:"name"`
			Type string `json:"type" yaml:"type"`
		} `json:"placementParams" yaml:"placementParams"`
	} `json:"masterNodes" yaml:"master_nodes"`
	Name            string `json:"name" yaml:"name"`
	PlacementParams []struct {
		Name string `json:"name" yaml:"name"`
		Type string `json:"type" yaml:"type"`
	} `json:"placementParams" yaml:"placement_params"`
	VmTemplate  string `json:"vmTemplate" yaml:"vm_template"`
	WorkerNodes []struct {
		Name     string `json:"name" yaml:"name"`
		Networks []struct {
			Label       string   `json:"label" yaml:"label"`
			NetworkName string   `json:"networkName" yaml:"networkName"`
			Nameservers []string `json:"nameservers" yaml:"nameservers"`
		} `json:"networks" yaml:"networks"`
		PlacementParams []struct {
			Name string `json:"name" yaml:"name"`
			Type string `json:"type" yaml:"type"`
		} `json:"placementParams" yaml:"placementParams"`
		Id string `json:"id" yaml:"id"`
	} `json:"workerNodes" yaml:"worker_nodes"`
	Location `json:"location" yaml:"location"`
}

TaskPayload task payload

type TaskRepoSyncVim

type TaskRepoSyncVim struct {
	VimName       string `json:"vimName" yaml:"vim_name"`
	VimId         string `json:"vimId" yaml:"vim_id"`
	VimSystemUUID string `json:"vimSystemUUID" yaml:"vim_system_uuid"`
}

type TaskRequest

type TaskRequest struct {
	Name             string        `json:"name,omitempty" yaml:"name"`
	Version          string        `json:"version,omitempty" yaml:"version"`
	Type             string        `json:"type,omitempty" yaml:"type"`
	ExtensionKey     string        `json:"extensionKey,omitempty" yaml:"extension_key"`
	ExtensionSubtype string        `json:"extensionSubtype,omitempty" yaml:"extension_subtype"`
	Products         []interface{} `json:"products,omitempty" yaml:"products"`
	VimInfo          []struct {
		VimName       string `json:"vimName" yaml:"vim_name"`
		VimId         string `json:"vimId" yaml:"vim_id"`
		VimSystemUUID string `json:"vimSystemUUID" yaml:"vim_system_uuid"`
	} `json:"vimInfo,omitempty" yaml:"vimInfo"`
	InterfaceInfo        *TaskInterfaceInfo        `json:"interfaceInfo,omitempty" yaml:"interface_info"`
	AdditionalParameters *TaskAdditionalParameters `json:"additionalParameters,omitempty" yaml:"additional_parameters"`
	AutoScaleEnabled     bool                      `json:"autoScaleEnabled,omitempty" yaml:"auto_scale_enabled"`
	AutoHealEnabled      bool                      `json:"autoHealEnabled,omitempty" yaml:"auto_heal_enabled"`
	AccessInfo           *AccessInfo
	ExtensionId          string        `json:"extensionId,omitempty" yaml:"extension_id"`
	VimId                string        `json:"vimId,omitempty" yaml:"vim_id"`
	AssociatedVims       []string      `json:"associatedVims,omitempty" yaml:"associated_vims"`
	Id                   string        `json:"id" yaml:"id"`
	HcxUUID              string        `json:"hcxUUID,omitempty" yaml:"hcx_uuid"`
	ClusterName          string        `json:"clusterName,omitempty" yaml:"cluster_name"`
	IntentJobId          string        `json:"intentJobId,omitempty" yaml:"intent_job_id"`
	Intent               string        `json:"intent" yaml:"intent"`
	Request              *TaskRequest  `json:"request,omitempty" yaml:"request"`
	OldEntry             *TaskOldEntry `json:"oldEntry,omitempty" yaml:"old_entry"`
	DissociatedVims      []string      `json:"dissociatedVims,omitempty" yaml:"dissociated_vims"`
	RetainedVims         []interface{} `json:"retainedVims,omitempty" yaml:"retained_vims"`
	IsDelete             bool          `json:"isDelete,omitempty" yaml:"is_delete"`
	HcxCloudUrl          string        `json:"hcxCloudUrl,omitempty" yaml:"hcx_cloud_url"`
	VimUrl               string        `json:"vimUrl,omitempty" yaml:"vim_url"`
	ClusterType          string        `json:"clusterType,omitempty" yaml:"cluster_type"`
	Payload              *TaskPayload  `json:"payload,omitempty" yaml:"payload"`
}

type TaskSteps

type TaskSteps struct {
	Title     string         `json:"title" yaml:"title"`
	Status    string         `json:"status" yaml:"status"`
	Progress  int            `json:"progress" yaml:"progress"`
	StartTime int64          `json:"startTime" yaml:"start_time"`
	EndTime   int64          `json:"endTime" yaml:"end_time"`
	Message   string         `json:"message" yaml:"message"`
	Children  *[]interface{} `json:"children" yaml:"children"`
	Response  struct {
		Warnings []interface{} `json:"warnings" yaml:"warnings"`
	} `json:"response,omitempty" yaml:"response"`
	Errors *[]TaskErrors `json:"errors,omitempty" yaml:"errors,omitempty"`
}

TaskSteps Current execution or executed task list.

type TaskTools

type TaskTools struct {
	Name       string `json:"name" yaml:"name"`
	Properties struct {
		Password string `json:"password" yaml:"password"`
		Type     string `json:"type" yaml:"type"`
		Url      string `json:"url" yaml:"url"`
		Username string `json:"username" yaml:"username"`
	} `json:"properties" yaml:"properties"`
}

TaskTools tool provision for task

type TcaTask

type TcaTask struct {
	Id          string `json:"id" yaml:"id"`
	OperationId string `json:"operationId" yaml:"operationId"`
}

TcaTask - generic task respond

type TopologyTemplate

type TopologyTemplate struct {
	SubstitutionMappings SubstitutionMappings      `yaml:"substitution_mappings"`
	NodeTemplates        map[string]*NodeTemplates `yaml:"node_templates"`
}

TopologyTemplate - topology template section of csar

type ToscaInterface

type ToscaInterface struct {
	DerivedFrom string     `yaml:"derived_from,omitempty"`
	Interfaces  Interfaces `yaml:"interfaces,omitempty"`
}

ToscaInterface -

type ToscaNodes

type ToscaNodes struct {
	DerivedFrom string     `yaml:"derived_from"`
	Interfaces  Interfaces `yaml:"interfaces"`
}

type ToscaPolicies

type ToscaPolicies struct {
	Policies []Policies `yaml:"policies"`
}

type ToscaProperties

type ToscaProperties struct {
	DescriptorId           string                 `yaml:"descriptor_id,omitempty"`
	Provider               string                 `yaml:"provider,omitempty"`
	DescriptorVersion      string                 `yaml:"descriptor_version,omitempty"`
	FlavourId              string                 `yaml:"flavour_id,omitempty"`
	FlavourDescription     string                 `yaml:"flavour_description,omitempty"`
	ProductName            string                 `yaml:"product_name,omitempty"`
	Version                string                 `yaml:"version,omitempty"`
	Id                     string                 `yaml:"id,omitempty"`
	SoftwareVersion        string                 `yaml:"software_version,omitempty"`
	ChartName              string                 `yaml:"chartName,omitempty"`
	ChartVersion           string                 `yaml:"chartVersion,omitempty"`
	HelmVersion            string                 `yaml:"helmVersion,omitempty"`
	Name                   string                 `yaml:"name,omitempty"`
	Description            string                 `yaml:"description,omitempty"`
	ConfigurableProperties ConfigurableProperties `yaml:"configurable_properties,omitempty"`
	VnfmInfo               []string               `yaml:"vnfm_info,omitempty"`
}

ToscaProperties Properties

func (*ToscaProperties) GetField

func (t *ToscaProperties) GetField(field string) reflect.Value

func (*ToscaProperties) UpdateField

func (t *ToscaProperties) UpdateField(field string, val string)

type TypeNode

type TypeNode struct {
	Name            string            `json:"name" yaml:"name"`
	Networks        []Networks        `json:"networks" yaml:"networks"`
	PlacementParams []PlacementParams `json:"placementParams" yaml:"placementParams"`
}

Networks

func NewTypeNode

func NewTypeNode(name string, networks []Networks, placementParams []PlacementParams) *TypeNode

type UserDefinedData

type UserDefinedData struct {
	Name                   string            `json:"name" yaml:"name"`
	Tags                   []interface{}     `json:"tags" yaml:"tags"`
	NfType                 string            `json:"nfType" yaml:"nf_type"`
	ManagedBy              InternalManagedBy `json:"managedBy" yaml:"managed_by"`
	LocalFilePath          string            `json:"localFilePath" yaml:"localFilePath"`
	LastUpdated            time.Time         `json:"lastUpdated" yaml:"lastUpdated"`
	LastUpdateEnterprise   string            `json:"lastUpdateEnterprise" yaml:"lastUpdateEnterprise"`
	LastUpdateOrganization string            `json:"lastUpdateOrganization" yaml:"lastUpdateOrganization"`
	LastUpdateUser         string            `json:"lastUpdateUser" yaml:"lastUpdateUser"`
	CreationDate           time.Time         `json:"creationDate" yaml:"creationDate"`
	CreationEnterprise     string            `json:"creationEnterprise" yaml:"creationEnterprise"`
	CreationOrganization   string            `json:"creationOrganization" yaml:"creationOrganization"`
	CreationUser           string            `json:"creationUser" yaml:"creation_user"`
	IsDeleted              bool              `json:"isDeleted" yaml:"isDeleted"`
}

type VMwareClusters

type VMwareClusters struct {
	Items []struct {
		EntityId                      string                `json:"entity_id" yaml:"entity_id"`
		Name                          string                `json:"name" yaml:"name"`
		EntityType                    string                `json:"entityType" yaml:"entity_type"`
		NumOfHosts                    int                   `json:"numOfHosts" yaml:"num_of_hosts"`
		Datastore                     []VmwareDatastoreSpec `json:"datastore" yaml:"datastore"`
		Memory                        int64                 `json:"memory" yaml:"memory"`
		Cpu                           int                   `json:"cpu" yaml:"cpu"`
		K8ClusterDeployed             int                   `json:"k8ClusterDeployed" yaml:"k8ClusterDeployed"`
		NumK8SMgmtClusterDeployed     int                   `json:"numK8sMgmtClusterDeployed" yaml:"numK8sMgmtClusterDeployed"`
		NumK8SWorkloadClusterDeployed int                   `json:"numK8sWorkloadClusterDeployed" yaml:"numK8sWorkloadClusterDeployed"`
	} `json:"items"`
}

VMwareClusters Vmware Clusters Container

func (*VMwareClusters) GetDatastoreByUrl

func (c *VMwareClusters) GetDatastoreByUrl(url string) (*VmwareDatastoreSpec, error)

GetDatastoreByUrl find datastore VmwareDatastoreSpec based on full datastore ur ds:///vmfs/volumes/60254cec-cb11aa98-a02e-e4434bf999aa/

func (*VMwareClusters) IsValidClusterCompute

func (c *VMwareClusters) IsValidClusterCompute(name string) bool

IsValidClusterCompute return true if name exists

func (*VMwareClusters) IsValidDatastore

func (c *VMwareClusters) IsValidDatastore(name string) bool

IsValidDatastore return true if datastore exists

func (*VMwareClusters) IsValidDatastoreUrl

func (c *VMwareClusters) IsValidDatastoreUrl(url string) bool

IsValidDatastoreUrl return true if datastore exists

func (*VMwareClusters) ResourcePool

func (c *VMwareClusters) ResourcePool(name string) bool

ResourcePool return true if resource pool exists

type VMwareDisks

type VMwareDisks struct {
	DeviceInfo struct {
		Label string `json:"label" yaml:"label"`
	} `json:"deviceInfo" yaml:"device_info"`
	Capacity     int64  `json:"capacity" yaml:"capacity"`
	DiskObjectId string `json:"diskObjectId" yaml:"diskobjectid"`
	Backing      struct {
		Datastore struct {
			Type  string `json:"type" yaml:"type"`
			Value string `json:"value" yaml:"value"`
		} `json:"datastore" yaml:"datastore"`
		FileName        string `json:"fileName" yaml:"filename"`
		BackingObjectId string `json:"backingObjectId" yaml:"backingObjectId"`
		DiskMode        string `json:"diskMode" yaml:"diskMode"`
		Split           bool   `json:"split" yaml:"split"`
		WriteThrough    bool   `json:"writeThrough" yaml:"writeThrough"`
		ThinProvisioned bool   `json:"thinProvisioned" yaml:"thinProvisioned"`
		Uuid            string `json:"uuid" yaml:"uuid"`
		ContentId       string `json:"contentId" yaml:"contentId"`
		DigestEnabled   bool   `json:"digestEnabled" yaml:"digestEnabled"`
		Sharing         string `json:"sharing" yaml:"sharing"`
	} `json:"backing:" yaml:"backing"`
}

VMwareDisks VM template Disk information

type VMwareInventoryItem

type VMwareInventoryItem struct {
	Disks             []VMwareDisks `json:"disks" yaml:"disks"`
	Id                string        `json:"id" yaml:"id"`
	EntityId          string        `json:"entity_id" yaml:"entity_id"`
	EntityType        string        `json:"entityType" yaml:"entity_type"`
	Name              string        `json:"name" yaml:"name"`
	InstanceUuid      string        `json:"instanceUuid" yaml:"instance_uuid"`
	Uuid              string        `json:"uuid" yaml:"uuid"`
	VcenterInstanceId string        `json:"vcenter_instanceId" yaml:"vcenter_instanceId"`
	Parent            struct {
		Type  string `json:"type" yaml:"type"`
		Value string `json:"value" yaml:"value"`
	} `json:"parent" yaml:"parent"`
	Host struct {
		Type  string `json:"type" yaml:"type"`
		Value string `json:"value" yaml:"value"`
	} `json:"host" yaml:"host"`
	Summary         *VmwareSummary       `json:"summary" yaml:"summary"`
	IsTemplate      bool                 `json:"isTemplate" yaml:"isTemplate"`
	SnapshotsCount  int                  `json:"snapshotsCount" yaml:"snapshotsCount"`
	MountedISOCount int                  `json:"mountedISOCount" yaml:"mountedISOCount"`
	PowerState      string               `json:"powerState" yaml:"powerState"`
	HybridityTags   *VmwareHybridityTags `json:"hybridityTags" yaml:"hybridity_tags"`
	Containers      []struct {
		Type       string `json:"type" yaml:"type"`
		ServerGuid string `json:"serverGuid" yaml:"server_guid"`
		XsiType    string `json:"@xsi:type" yaml:"xsi_type"`
		Value      string `json:"value" yaml:"value"`
	} `json:"containers" yaml:"containers"`
	NetworkDevices []struct {
		XsiType    string `json:"@xsi:type" yaml:"xsi:type"`
		Key        int    `json:"key" yaml:"key"`
		DeviceInfo struct {
			Label   string `json:"label" yaml:"label"`
			Summary string `json:"summary" yaml:"summary"`
		} `json:"deviceInfo" yaml:"deviceInfo"`
		Backing struct {
			XsiType string `json:"@xsi:type" yaml:"xsi_type"`
			Port    struct {
				SwitchUuid       string `json:"switchUuid" yaml:"switchUuid"`
				PortgroupKey     string `json:"portgroupKey" yaml:"portgroupKey"`
				PortKey          string `json:"portKey" yaml:"portKey"`
				ConnectionCookie int    `json:"connectionCookie" yaml:"connectionCookie"`
			} `json:"port" yaml:"port"`
		} `json:"backing" yaml:"backing"`
		Connectable struct {
			MigrateConnect    string `json:"migrateConnect" yaml:"migrateConnect"`
			StartConnected    bool   `json:"startConnected" yaml:"startConnected"`
			AllowGuestControl bool   `json:"allowGuestControl" yaml:"allowGuestControl"`
			Connected         bool   `json:"connected" yaml:"connected"`
			Status            string `json:"status" yaml:"status"`
		} `json:"connectable" yaml:"connectable"`
		SlotInfo struct {
			XsiType       string `json:"@xsi:type" yaml:"xsi_type"`
			PciSlotNumber int    `json:"pciSlotNumber" yaml:"pciSlotNumber"`
		} `json:"slotInfo" yaml:"slot_info"`
		ControllerKey      int    `json:"controllerKey" yaml:"controllerKey"`
		UnitNumber         int    `json:"unitNumber" yaml:"unitNumber"`
		AddressType        string `json:"addressType" yaml:"addressType"`
		MacAddress         string `json:"macAddress" yaml:"macAddress"`
		WakeOnLanEnabled   bool   `json:"wakeOnLanEnabled" yaml:"wakeOnLanEnabled"`
		ResourceAllocation struct {
			Reservation int `json:"reservation" yaml:"reservation"`
			Share       struct {
				Shares int    `json:"shares" yaml:"shares"`
				Level  string `json:"level" yaml:"level"`
			} `json:"share" yaml:"share"`
			Limit int `json:"limit" yaml:"limit"`
		} `json:"resourceAllocation" yaml:"resourceAllocation"`
		UptCompatibilityEnabled bool `json:"uptCompatibilityEnabled" yaml:"upt_compatibility_enabled"`
	} `json:"networkDevices" yaml:"network_devices"`
	Product []struct {
		XsiType     string `json:"@xsi:type" yaml:"xsi_type"`
		Key         int    `json:"key" yaml:"key"`
		ClassId     string `json:"classId" yaml:"classid"`
		InstanceId  string `json:"instanceId" yaml:"instanceid"`
		Name        string `json:"name" yaml:"name"`
		Vendor      string `json:"vendor" yaml:"vendor"`
		Version     string `json:"version" yaml:"version"`
		FullVersion string `json:"fullVersion" yaml:"fullversion"`
		VendorUrl   string `json:"vendorUrl" yaml:"vendorurl"`
		ProductUrl  string `json:"productUrl" yaml:"product_url"`
		AppUrl      string `json:"appUrl" yaml:"app_url"`
	} `json:"product" yaml:"product"`
	Property []struct {
		XsiType          string `json:"@xsi:type" yaml:"xsi:type"`
		Key              int    `json:"key" yaml:"key"`
		ClassId          string `json:"classId" yaml:"classId"`
		InstanceId       string `json:"instanceId" yaml:"instanceId"`
		Id               string `json:"id" yaml:"id"`
		Category         string `json:"category" yaml:"category"`
		Label            string `json:"label" yaml:"label"`
		Type             string `json:"type" yaml:"type"`
		TypeReference    string `json:"typeReference" yaml:"typeReference"`
		UserConfigurable bool   `json:"userConfigurable" yaml:"userConfigurable"`
		DefaultValue     string `json:"defaultValue" yaml:"defaultValue"`
		Value            string `json:"value" yaml:"value"`
		Description      string `json:"description" yaml:"description"`
	} `json:"property" yaml:"property"`
	Origin struct {
		EndpointId   string `json:"endpointId" yaml:"endpointId"`
		EndpointType string `json:"endpointType" yaml:"endpointType"`
		EndpointName string `json:"endpointName" yaml:"endpointName"`
		ResourceId   string `json:"resourceId" yaml:"resourceId"`
		ResourceType string `json:"resourceType" yaml:"resourceType"`
		ResourceName string `json:"resourceName" yaml:"resourceName"`
	} `json:"_origin" yaml:"origin"`
	Source struct {
		Version    string `json:"version" yaml:"version"`
		Uuid       string `json:"uuid" yaml:"uuid"`
		HcspUUID   string `json:"hcspUUID" yaml:"hcspUUID"`
		SystemType string `json:"systemType" yaml:"system_type"`
	} `json:"_source" yaml:"source"`
	FullPath string `json:"fullPath" yaml:"full_path"`
}

type VcInventory

type VcInventory struct {
	Items []VMwareInventoryItem `json:"items"`
}

VcInventory list of vc inventory

type VimConnection

type VimConnection struct {
	Status              string `json:"status" yaml:"status"`
	RemoteStatus        string `json:"remoteStatus" yaml:"remoteStatus"`
	VimConnectionStatus string `json:"vimConnectionStatus" yaml:"vimConnectionStatus"`
}

VimConnection Connection status

type VimConnectionInfo

type VimConnectionInfo struct {
	Id            string `json:"id" yaml:"id"`
	VimId         string `json:"vimId" yaml:"vimId"`
	VimType       string `json:"vimType" yaml:"vimType"`
	InterfaceInfo struct {
	} `json:"interfaceInfo,omitempty" yaml:"interfaceInfo,omitempty"`
	AccessInfo struct {
	} `json:"accessInfo,omitempty" yaml:"accessInfo,omitempty"`
	Extra *VimExtra `json:"extra,omitempty" yaml:"extra,omitempty"`
}

VimConnectionInfo - Contains extra information including vim id , type

type VimExtra

type VimExtra struct {
	DeploymentProfileId string `json:"deploymentProfileId,omitempty" yaml:"deploymentProfileId,omitempty"`
	NodeProfileName     string `json:"nodeProfileName,omitempty" yaml:"nodeProfileName,omitempty"`
	NodePoolId          string `json:"nodePoolId,omitempty" yaml:"nodePoolId,omitempty"`
	NodePoolName        string `json:"nodePoolName,omitempty" yaml:"nodePoolName,omitempty"`
	VimName             string `json:"vimName,omitempty" yaml:"vimName,omitempty"`
}

type VmwareContainerView

type VmwareContainerView struct {
	Success   bool  `json:"success" yaml:"success"`
	Completed bool  `json:"completed" yaml:"completed"`
	Time      int64 `json:"time" yaml:"time"`
	Data      struct {
		Items []struct {
			EntityId          string `json:"entity_id" yaml:"entity_id"`
			VcenterInstanceId string `json:"vcenter_instanceId" yaml:"vcenter_instanceId"`
			Name              string `json:"name" yaml:"name"`
			Owner             struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"serverGuid"`
				XsiType    string `json:"@xsi:type" yaml:"@xsi:type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"owner" yaml:"owner"`
			Parent struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"serverGuid"`
				XsiType    string `json:"@xsi:type" yaml:"@xsi:type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"parent" yaml:"parent"`
			EntityType string `json:"entityType" yaml:"entityType"`
			Origin     struct {
				EndpointId   string `json:"endpointId" yaml:"endpointId"`
				EndpointType string `json:"endpointType" yaml:"endpointType"`
				EndpointName string `json:"endpointName" yaml:"endpointName"`
				ResourceId   string `json:"resourceId" yaml:"resourceId"`
				ResourceType string `json:"resourceType" yaml:"resourceType"`
				ResourceName string `json:"resourceName" yaml:"resourceName"`
			} `json:"_origin" yaml:"_origin"`
			Source struct {
				Version    string `json:"version" yaml:"version"`
				Uuid       string `json:"uuid" yaml:"uuid"`
				HcspUUID   string `json:"hcspUUID" yaml:"hcspUUID"`
				SystemType string `json:"systemType" yaml:"systemType"`
			} `json:"_source" yaml:"_source"`
			ResourcePool []struct {
				Type       string `json:"type" yaml:"type"`
				ServerGuid string `json:"serverGuid" yaml:"serverGuid"`
				XsiType    string `json:"@xsi:type" yaml:"@xsi:type"`
				Value      string `json:"value" yaml:"value"`
			} `json:"resourcePool,omitempty" yaml:"resourcePool"`
		} `json:"items" yaml:"items"`
	} `json:"data" yaml:"data"`
}

VmwareContainerView - tca encapsulates all VMware view to very large json

type VmwareDatastore

type VmwareDatastore string

VmwareDatastore - type vmware datastore

type VmwareDatastoreSpec

type VmwareDatastoreSpec struct {
	EntityId string `json:"entity_id" yaml:"entity_id"`
	Name     string `json:"name" yaml:"name"`
	Summary  struct {
		Accessible         string `json:"accessible" yaml:"accessible"`
		Capacity           int64  `json:"capacity" yaml:"capacity"`
		FreeSpace          int64  `json:"freeSpace" yaml:"free_space"`
		MaintenanceMode    string `json:"maintenanceMode" yaml:"maintenanceMode"`
		MultipleHostAccess string `json:"multipleHostAccess" yaml:"multipleHostAccess"`
		Type               string `json:"type" yaml:"type"`
		Url                string `json:"url" yaml:"url"`
		Uncommitted        int64  `json:"uncommitted,omitempty" yaml:"uncommitted"`
	}
}

type VmwareHybridityTags

type VmwareHybridityTags struct {
	VMWITHSNAPSHOTS struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"VM_WITH_SNAPSHOTS" yaml:"vmwithsnapshots"`
	SYSTEMRESOURCE struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"SYSTEM_RESOURCE" yaml:"systemresource"`
	SYSTEMWITHISO struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"SYSTEM_WITH_ISO" yaml:"systemwithiso"`
	VMUNDERTRANSFER struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"VM_UNDER_TRANSFER" yaml:"vmundertransfer"`
	VMUNDERSWITCHOVER struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"VM_UNDER_SWITCHOVER" yaml:"vmunderswitchover"`
	BACKUPVMAFTERMIGRATION struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"BACKUP_VM_AFTER_MIGRATION" yaml:"backupvmaftermigration"`
	VMMIGRATIONREQUESTED struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"VM_MIGRATION_REQUESTED" yaml:"vmmigrationrequested"`
	VMUNDERMIGRATION struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"VM_UNDER_MIGRATION" yaml:"vmundermigration"`
	MULEVMFORHCXRAV struct {
		Value       bool   `json:"value" yaml:"value"`
		Description string `json:"description" yaml:"description"`
	} `json:"MULE_VM_FOR_HCX_RAV" yaml:"mulevmforhcxrav"`
}

type VmwareResourcePool

type VmwareResourcePool string

VmwareResourcePool - type vmware resource pool

type VmwareSummary

type VmwareSummary struct {
	GuestFullName      string `json:"guestFullName" yaml:"guestFullName"`
	GuestId            string `json:"guestId" yaml:"guest_id"`
	MemorySizeMB       int    `json:"memorySizeMB" yaml:"memorySizeMb"`
	NumCpu             int    `json:"numCpu" yaml:"num_cpu"`
	CpuReservation     int    `json:"cpuReservation" yaml:"cpuReservation"`
	MemoryReservation  int    `json:"memoryReservation" yaml:"memoryReservation"`
	LatencySensitivity string `json:"latencySensitivity" yaml:"latencySensitivity"`
	DiskSize           int64  `json:"diskSize" yaml:"diskSize"`
	Annotation         struct {
		Description string `json:"description" yaml:"description"`
	} `json:"annotation" yaml:"annotation"`
}

type VmwareTypeFolder

type VmwareTypeFolder string

VmwareTypeFolder - type vmware folder

type Vnflcm

type Vnflcm struct {
	Type string `yaml:"type,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL