 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type NSXComputeManager
- type NSXDomain
- type NSXEdgeTransportNode
- type NSXGatewayPolicy
- type NSXHostSwitch
- type NSXHostSwitchSpec
- type NSXIPInfo
- type NSXIPPool
- type NSXIPPoolRange
- type NSXIPPoolSubnet
- type NSXNetworkProperties
- type NSXNodeDeploymentInfo
- type NSXNodeSettings
- type NSXPhysicalNIC
- type NSXRule
- type NSXSecurityPolicy
- type NSXSegment
- type NSXSegmentPort
- type NSXSegmentPortAttachment
- type NSXSegmentSubnet
- type NSXSourceProperties
- type NSXTransportZone
- type NSXVIF
- type NSXVirtualMachine
- type VCenterNetworkProperties
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type NSXComputeManager ¶
type NSXComputeManager struct {
	Server string `json:"server"      yaml:"server"`
	Type   string `json:"origin_type" yaml:"origin_type"`
}
    NSXComputeManager is an NSX compute manager from /api/v1/fabric/compute-managers.
type NSXDomain ¶
type NSXDomain struct {
	ID   string `json:"id"           yaml:"id"`
	Path string `json:"path"         yaml:"path"`
	Name string `json:"display_name" yaml:"display_name"`
}
    NSXDomain is an NSX domain from /policy/api/v1/infra/domains.
type NSXEdgeTransportNode ¶
type NSXEdgeTransportNode struct {
	Name         string                `json:"display_name"         yaml:"display_name"`
	Info         NSXNodeDeploymentInfo `json:"node_deployment_info" yaml:"node_deployment_info"`
	HostSwitches NSXHostSwitchSpec     `json:"host_switch_spec"     yaml:"host_switch_spec"`
}
    NSXEdgeTransportNode is an NSX edge transport node from /api/v1/transport-nodes.
type NSXGatewayPolicy ¶
type NSXGatewayPolicy struct {
	UUID           uuid.UUID `json:"unique_id"       yaml:"unique_id"`
	Name           string    `json:"display_name"    yaml:"display_name"`
	Path           string    `json:"path"            yaml:"path"`
	SequenceNumber int       `json:"sequence_number" yaml:"sequence_number"`
	Rules          []NSXRule `json:"rules"           yaml:"rules"`
}
    NSXGatewayPolicy is an NSX segment gateway policy from /policy/api/v1/{path/to/segmentID}/gateway-firewall.
type NSXHostSwitch ¶
type NSXHostSwitch struct {
	UUID           string             `json:"host_switch_id"           yaml:"host_switch_id"`
	Name           string             `json:"host_switch_name"         yaml:"host_switch_name"`
	Mode           string             `json:"host_switch_mode"         yaml:"host_switch_mode"`
	Type           string             `json:"host_switch_type"         yaml:"host_switch_type"`
	PhysicalNICs   []NSXPhysicalNIC   `json:"pnics"                    yaml:"pnics"`
	IPPool         NSXIPPool          `json:"ip_assignment_spec"       yaml:"ip_assignment_spec"`
	TransportZones []NSXTransportZone `json:"transport_zone_endpoints" yaml:"transport_zone_endpoints"`
}
    type NSXHostSwitchSpec ¶
type NSXHostSwitchSpec struct {
	Switches []NSXHostSwitch `json:"host_switches" yaml:"host_switches"`
}
    NSXHostSwitchSpec is a sub-property of NSXEdgeTransportNode.
type NSXIPInfo ¶
type NSXIPInfo struct {
	IPs []string `json:"ip_addresses" yaml:"ip_addresses"`
}
    NSXIPInfo is a sub-property of NSXVIF.
type NSXIPPool ¶
type NSXIPPool struct {
	UUID    uuid.UUID         `json:"ip_pool_id,omitempty"     yaml:"ip_pool_id,omitempty"`
	Type    string            `json:"ip_addess_type,omitempty" yaml:"ip_addess_type,omitempty"`
	Subnets []NSXIPPoolSubnet `json:"subnets,omitempty"        yaml:"subnets,omitempty"`
}
    NSXIPPool is an NSX IP pool set from /api/v1/pools/ip-pools.
type NSXIPPoolRange ¶
type NSXIPPoolRange struct {
	Start string `json:"start" yaml:"start"`
	End   string `json:"end"   yaml:"end"`
}
    NSXIPPoolRange is a sub-property of NSXIPPoolSubnet.
type NSXIPPoolSubnet ¶
type NSXIPPoolSubnet struct {
	CIDR           string           `json:"cidr"              yaml:"cidr"`
	GatewayIP      string           `json:"gateway_ip"        yaml:"gateway_ip"`
	DNSNameservers []string         `json:"dns_nameservers"   yaml:"dns_nameservers"`
	Ranges         []NSXIPPoolRange `json:"allocation_ranges" yaml:"allocation_ranges"`
}
    NSXIPPoolSubnet is a sub-property of NSXIPPool.
type NSXNetworkProperties ¶
type NSXNetworkProperties struct {
	Source        string           `json:"source"         yaml:"source"`
	Segment       NSXSegment       `json:"segment"        yaml:"segment"`
	TransportZone NSXTransportZone `json:"transport_zone" yaml:"transport_zone"`
}
    NSXNetworkProperties is the set of network properties we can obtain from an NSX Manager.
type NSXNodeDeploymentInfo ¶
type NSXNodeDeploymentInfo struct {
	UUID     uuid.UUID       `json:"external_id"   yaml:"external_id"`
	Type     string          `json:"resource_type" yaml:"resource_type"`
	IPs      []string        `json:"ip_addresses"  yaml:"ip_addresses"`
	Settings NSXNodeSettings `json:"node_settings" yaml:"node_settings"`
}
    NSXNodeDeploymentInfo is a sub-property of NSXEdgeTransportNode.
type NSXNodeSettings ¶
type NSXNodeSettings struct {
	Hostname      string   `json:"hostname"       yaml:"hostname"`
	DNSServers    []string `json:"dns_servers"    yaml:"dns_servers"`
	SearchDomains []string `json:"search_domains" yaml:"search_domains"`
}
    NSXNodeSettings is a sub-property of NSXNodeDeploymentInfo.
type NSXPhysicalNIC ¶
type NSXPhysicalNIC struct {
	DeviceName string `json:"device_name" yaml:"device_name"`
	UplinkName string `json:"uplink_name" yaml:"uplink_name"`
}
    NSXPhysicalNIC is a sub-property of NSXHostSwitch.
type NSXRule ¶
type NSXRule struct {
	Description       string   `json:"description"                  yaml:"description"`
	ID                string   `json:"id"                           yaml:"id"`
	Name              string   `json:"display_name"                 yaml:"display_name"`
	Path              string   `json:"path"                         yaml:"path"`
	SequenceNumber    int      `json:"sequence_number,omitempty"    yaml:"sequence_number,omitempty"`
	SourceGroups      []string `json:"source_groups,omitempty"      yaml:"source_groups,omitempty"`
	DestinationGroups []string `json:"destination_groups,omitempty" yaml:"destination_groups,omitempty"`
	Services          []string `json:"services,omitempty"           yaml:"services,omitempty"`
	Profiles          []string `json:"profiles,omitempty"           yaml:"profiles,omitempty"`
	Scope             []string `json:"scope"                        yaml:"scope"`
	Overridden        bool     `json:"overridden"                   yaml:"overridden"`
	Default           bool     `json:"is_default"                   yaml:"is_default"`
	TCPStrict         bool     `json:"tcp_strict"                   yaml:"tcp_strict"`
	Category          string   `json:"category,omitempty"           yaml:"category,omitempty"`
	Action            string   `json:"action,omitempty"             yaml:"action,omitempty"`
	Direction         string   `json:"direction,omitempty"          yaml:"direction,omitempty"`
	Disabled          bool     `json:"disabled"                     yaml:"disabled"`
}
    NSXRule is a combined object of all NSX security rules, used by NSXSecurityPolicy and NSXGatewayPolicy.
type NSXSecurityPolicy ¶
type NSXSecurityPolicy struct {
	Domain string    `json:"domain" yaml:"domain"`
	Rules  []NSXRule `json:"rules"  yaml:"rules"`
}
    NSXSecurityPolicy is an NSX security policy from /policy/api/v1/{path/to/domain}/security-policies.
type NSXSegment ¶
type NSXSegment struct {
	UUID             uuid.UUID          `json:"unique_id"                   yaml:"unique_id"`
	Name             string             `json:"display_name"                yaml:"display_name"`
	Path             string             `json:"path"                        yaml:"path"`
	ID               string             `json:"id"                          yaml:"id"`
	ConnectivityPath string             `json:"connectivity_path,omitempty" yaml:"connectivity_path,omitempty"`
	Type             string             `json:"type"                        yaml:"type"`
	Subnets          []NSXSegmentSubnet `json:"subnets"                     yaml:"subnets"`
	VLANs            []string           `json:"vlan_ids,omitempty"          yaml:"vlan_ids,omitempty"`
	// Aggregated types.
	Rules NSXGatewayPolicy    `json:"rules,omitempty" yaml:"rules,omitempty"`
	VMs   []NSXVirtualMachine `json:"vms"             yaml:"vms"`
}
    NSXSegment is an NSX segment from /policy/api/v1/{path/to/segmentID}.
type NSXSegmentPort ¶
type NSXSegmentPort struct {
	UUID       uuid.UUID                `json:"unique_id"  yaml:"unique_id"`
	Path       string                   `json:"path"       yaml:"path"`
	Attachment NSXSegmentPortAttachment `json:"attachment" yaml:"attachment"`
}
    NSXSegmentPort is an NSX segment port from /policy/api/v1/{path/to/segmentID}/ports.
type NSXSegmentPortAttachment ¶
type NSXSegmentPortAttachment struct {
	ID         string `json:"id"          yaml:"id"`
	TrafficTag int    `json:"traffic_tag" yaml:"traffic_tag"`
}
    NSXSegmentPortAttachment is a sub-property of NSXSegmentPort.
type NSXSegmentSubnet ¶
type NSXSegmentSubnet struct {
	GatewayAddress string `json:"gateway_address" yaml:"gateway_address"`
	Networks       string `json:"network"         yaml:"network"`
}
    NSXSegmentSubnet is a sub-property of NSXSegmentPort.
type NSXSourceProperties ¶
type NSXSourceProperties struct {
	api.VMwareProperties `yaml:",inline"`
	ComputeManagers []NSXComputeManager    `json:"compute_managers" yaml:"compute_managers"`
	Segments        []NSXSegment           `json:"segments"         yaml:"segments"`
	EdgeNodes       []NSXEdgeTransportNode `json:"edge_nodes"       yaml:"edge_nodes"`
	Policies        []NSXSecurityPolicy    `json:"policies"         yaml:"policies"`
}
    NSXSourceProperties represent the properties of a Migration Manager source with type NSX.
type NSXTransportZone ¶
type NSXTransportZone struct {
	UUID            uuid.UUID `json:"transport_zone_id" yaml:"transport_zone_id"`
	Nested          bool      `json:"nested_nsx"        yaml:"nested_nsx"`
	AuthorizedVLANs []string  `json:"authorized_vlans"  yaml:"authorized_vlans"`
	Name            string    `json:"display_name"      yaml:"display_name"`
}
    NSXTransportZone is an NSX transport zone from /api/v1/transport-zones.
type NSXVIF ¶
type NSXVIF struct {
	SegmentPortID string      `json:"lport_attachment_id" yaml:"lport_attachment_id"`
	UUID          uuid.UUID   `json:"owner_vm_id"         yaml:"owner_vm_id"`
	IPs           []NSXIPInfo `json:"ip_address_info"     yaml:"ip_address_info"`
	MacAddress    string      `json:"mac_address"         yaml:"mac_address"`
}
    NSXVIF is an NSX registered VIF from /api/v1/fabric/vifs.
type NSXVirtualMachine ¶
type NSXVirtualMachine struct {
	UUID        uuid.UUID `json:"external_id"  yaml:"external_id"`
	DisplayName string    `json:"display_name" yaml:"display_name"`
	VIFs        []NSXVIF  `json:"vifs"         yaml:"vifs"`
}
    NSXVirtualMachine is an NSX registered VM from /api/v1/fabric/virtual-machines.
type VCenterNetworkProperties ¶
type VCenterNetworkProperties struct {
	SegmentPath       string    `json:"segment_id,omitempty"          yaml:"segment_id,omitempty"`
	TransportZoneUUID uuid.UUID `json:"transport_zone_uuid,omitempty" yaml:"transport_zone_uuid,omitempty"`
	VlanID            int       `json:"vlan_id,omitempty"             yaml:"vlan_id,omitempty"`
	VlanRanges        []string  `json:"vlan_ranges,omitempty"         yaml:"vlan_ranges,omitempty"`
}
    VCenterNetworkProperties is the set of network properties we can obtain from vCenter.