Documentation ¶
Index ¶
- Constants
- func CheckConfig(conf *ServiceConfig) error
- func CheckResponse(r *http.Response) error
- func FormatCredentials(a AuthCredentials) string
- type AddressCache
- type AddressValue
- type AlertSummaries
- type AlertSummary
- type Attributes
- type AuthCredentials
- type Boot
- type Cache
- type CacheLock
- type CachedLocalHost
- type ChecksInError
- type Client
- type ClusterDataState
- type ClusterExternalAddress
- type ClusterExternalDataServicesAddress
- type ClusterGetRequest
- type ClusterGetResponse
- type ClusterMasqueradingAddress
- type ClusterRedundancyState
- type ClusterService
- type Credential
- type DetailedCheckSummary
- type DiskAddress
- type DiskHardwareConfig
- type DiskListRequest
- type DiskListResponse
- type DiskService
- func (dsk *DiskService) GetVDisk(reqdata *DiskVirtualGetRequest) (*DiskVirtualGetResponse, *http.Response, error)
- func (dsk *DiskService) List(reqdata *DiskListRequest) (*DiskListResponse, *http.Response, error)
- func (dsk *DiskService) ListVDisk(reqdata *DiskVirtualListRequest) (*DiskVirtualListResponse, *http.Response, error)
- type DiskVirtualGetRequest
- type DiskVirtualGetRequestQuery
- type DiskVirtualGetResponse
- type DiskVirtualListRequest
- type DiskVirtualListResponse
- type EmailStatus
- type Empty
- type Entities
- type EntityTypeSummaries
- type ExternalAddress
- type FilesToInjectList
- type GlobalNfsWhiteListAddress
- type HTTPProxies
- type HealthCheckSummaries
- type HealthSummary
- type Holder
- type HypervisorLldpConfig
- type HypervisorSecurityComplianceConfig
- type Impl
- type InetAddress
- type InternalAddress
- type IscsiConfig
- type Log
- type LookupTable
- type ManagementServers
- type Message
- type Metadata
- type NameServersList
- type NameServices
- type NegativeCache
- type NtpServersList
- type PublicKeys
- type RackableUnits
- type RedundancyStatus
- type SMTPServer
- type SecurityComplianceConfig
- type SegmentedIscsiDataServicesAddress
- type SerialPersistentFields
- type SerialPorts
- type ServerAddress
- type Service
- type ServiceCenters
- type ServiceConfig
- type SourceDiskAddress
- type Stats
- type TheUnsafe
- type UnknownArray
- type Unsafe
- type UsageStats
- type VMCustomizationConfig
- type VMDiskClone
- type VMDiskCloneExternal
- type VMDiskCreate
- type VMDiskInfo
- type VMDiskPassthruExternal
- type VMDisks
- type VMFeatures
- type VMGetRequest
- type VMGetRequestParams
- type VMGetRequestQuery
- type VMGetResponse
- type VMGpus
- type VMListRequest
- type VMListResponse
- type VMNics
- type VMService
- type Value
Constants ¶
const NUTANIX_PE_PASS = "NUTANIX_PE_PASS"
NUTANIX_PE_PASS is the environment variables for the PE password
const NUTANIX_PE_URL = "NUTANIX_PE_URL"
NUTANIX_PE_URL is the environment variables for the PE URL
const NUTANIX_PE_USER = "NUTANIX_PE_USER"
NUTANIX_PE_USER is the environment variable name for the PE username
Variables ¶
This section is empty.
Functions ¶
func CheckConfig ¶
func CheckConfig(conf *ServiceConfig) error
CheckConfig will ensure that the minimal amount of information is present in the config
func CheckResponse ¶
CheckResponse looks for common response errors Need to fill this in at some point
func FormatCredentials ¶
func FormatCredentials(a AuthCredentials) string
FormatCredentials takes in an AuthCredential type and returns a base64 encoded string in the proper format for use by the REST API
Types ¶
type AddressCache ¶
type AddressCache struct { Cache *Cache `json:"cache,omitempty"` Type *string `json:"type,omitempty"` }
AddressCache used for cluster details
type AddressValue ¶
type AddressValue struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
AddressValue used for cluster details
type AlertSummary ¶
type AlertSummary struct { AlertSummaries *AlertSummaries `json:"alert_summaries,omitempty"` Count *int `json:"count,omitempty"` }
AlertSummary used in vdisk get request
type AuthCredentials ¶
AuthCredentials are the username and password received from ENV variables never hard code these values into any code!
func GetCredentials ¶
func GetCredentials(conf *ServiceConfig) (AuthCredentials, error)
GetCredentials gets the username and password from the ENV variables for use in the application
type Boot ¶
type Boot struct { BootDeviceOrder *[]string `json:"boot_device_order,omitempty"` BootDeviceType *string `json:"boot_device_type,omitempty"` DiskAddress *DiskAddress `json:"disk_address,omitempty"` HardwareVirtualization *bool `json:"hardware_virtualization,omitempty"` MacAddr *string `json:"mac_addr,omitempty"` SecureBoot *bool `json:"secure_boot,omitempty"` UefiBoot *bool `json:"uefi_boot,omitempty"` }
Boot provides response on VM GET
type CachedLocalHost ¶
type CachedLocalHost struct { AssertionsDisabled *bool `json:"$assertions_disabled,omitempty"` AddressCache *string `json:"address_cache,omitempty"` AddressCacheInit *bool `json:"address_cache_init,omitempty"` CacheLock *CacheLock `json:"cache_lock,omitempty"` CacheTime *int `json:"cache_time,omitempty"` CachedLocalHost *string `json:"cached_local_host,omitempty"` CanonicalHostName *string `json:"canonical_host_name,omitempty"` FieldsOffset *int `json:"fields_offset,omitempty"` Holder *Holder `json:"holder,omitempty"` Impl *Impl `json:"impl,omitempty"` Ipv4 *int `json:"ipv4,omitempty"` Ipv6 *int `json:"ipv6,omitempty"` LookupTable *LookupTable `json:"lookup_table,omitempty"` MaxCacheTime *int `json:"max_cache_time,omitempty"` NameServices *[]NameServices `json:"name_services,omitempty"` NegativeCache *string `json:"negative_cache,omitempty"` PreferIpv6Address *bool `json:"prefer_ipv6_address,omitempty"` SerialPersistentFields *[]interface{} `json:"serial_persistent_fields,omitempty"` UnknownArray *[]interface{} `json:"unknown_array,omitempty"` Unsafe *Unsafe `json:"unsafe,omitempty"` }
CachedLocalHost used for cluster details
type Client ¶
type Client struct { PEURL *url.URL Login AuthCredentials Cluster *ClusterService Disk *DiskService // User *UserService VM *VMService // contains filtered or unexported fields }
Client is an HTTP Client
func NewClient ¶
func NewClient(httpClient *http.Client, conf *ServiceConfig) (*Client, error)
NewClient is used for Nutanix Prism client instantiation Required:
prismURL: <string value of full URL to Prism Central> httpClient: either nil or an HTTP client with non-default timeouts, etc...
func (*Client) Do ¶
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it. If rate limit is exceeded and reset time is in the future, Do returns *RateLimitError immediately without making a network API call.
type ClusterDataState ¶
type ClusterDataState struct { ClusterAvailable *bool `json:"cluster_available,omitempty"` ClusterDataAvailable *bool `json:"cluster_data_available,omitempty"` ClusterRegisterTimeUsecs *int `json:"cluster_register_time_usecs,omitempty"` ClusterUUID *string `json:"cluster_uuid,omitempty"` LastAlertsDataTransferredUsecs *int `json:"last_alerts_data_transferred_usecs,omitempty"` LastArithmosDataTransferredUsecs *int `json:"last_arithmos_data_transferred_usecs,omitempty"` }
ClusterDataState used for cluster details
type ClusterExternalAddress ¶
type ClusterExternalAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
ClusterExternalAddress used for cluster details
type ClusterExternalDataServicesAddress ¶
type ClusterExternalDataServicesAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
ClusterExternalDataServicesAddress used for cluster details
type ClusterGetResponse ¶
type ClusterGetResponse struct { AlertSummary *AlertSummary `json:"alert_summary,omitempty"` AllHypervNodesInFailoverCluster *bool `json:"all_hyperv_nodes_in_failover_cluster,omitempty"` BlockSerials *[]string `json:"block_serials,omitempty"` Cloudcluster *bool `json:"cloudcluster,omitempty"` ClusterArch *string `json:"cluster_arch,omitempty"` ClusterDataState *ClusterDataState `json:"cluster_data_state,omitempty"` ClusterExternalAddress *[]ClusterExternalAddress `json:"cluster_external_address,omitempty"` ClusterExternalDataServicesAddress *ClusterExternalDataServicesAddress `json:"cluster_external_data_services_address,omitempty"` ClusterExternalDataServicesIpaddress *string `json:"cluster_external_data_services_ipaddress,omitempty"` ClusterExternalIpaddress *string `json:"cluster_external_ipaddress,omitempty"` ClusterFullyQualifiedDomainName *string `json:"cluster_fully_qualified_domain_name,omitempty"` ClusterFunctions *[]string `json:"cluster_functions,omitempty"` ClusterGpus *[]string `json:"cluster_gpus,omitempty"` ClusterIncarnationID *int `json:"cluster_incarnation_id,omitempty"` ClusterMasqueradingAddress *ClusterMasqueradingAddress `json:"cluster_masquerading_address,omitempty"` ClusterMasqueradingIpaddress *string `json:"cluster_masquerading_ipaddress,omitempty"` ClusterMasqueradingPort *int `json:"cluster_masquerading_port,omitempty"` ClusterRedundancyState *ClusterRedundancyState `json:"cluster_redundancy_state,omitempty"` ClusterUsageCriticalAlertThresholdPct *int `json:"cluster_usage_critical_alert_threshold_pct,omitempty"` ClusterUsageWarningAlertThresholdPct *int `json:"cluster_usage_warning_alert_threshold_pct,omitempty"` ClusterUUID *string `json:"cluster_uuid,omitempty"` CommonCriteriaMode *bool `json:"common_criteria_mode,omitempty"` Credential *Credential `json:"credential,omitempty"` DisableDegradedNodeMonitoring *bool `json:"disable_degraded_node_monitoring,omitempty"` Domain *string `json:"domain,omitempty"` EnableEfficientMetricSync *bool `json:"enable_efficient_metric_sync,omitempty"` EnableLockDown *bool `json:"enable_lock_down,omitempty"` EnableOnDiskDedup *bool `json:"enable_on_disk_dedup,omitempty"` EnablePasswordRemoteLoginToCluster *bool `json:"enable_password_remote_login_to_cluster,omitempty"` EnableRf1Container *bool `json:"enable_rf1_container,omitempty"` EnableShadowClones *bool `json:"enable_shadow_clones,omitempty"` Encrypted *bool `json:"encrypted,omitempty"` EnforceRackableUnitAwarePlacement *bool `json:"enforce_rackable_unit_aware_placement,omitempty"` ExternalAddress *[]ExternalAddress `json:"external_address,omitempty"` ExternalSubnet *string `json:"external_subnet,omitempty"` FaultToleranceDomainType *string `json:"fault_tolerance_domain_type,omitempty"` FingerprintContentCachePercentage *int `json:"fingerprint_content_cache_percentage,omitempty"` FullVersion *string `json:"full_version,omitempty"` GlobalNfsWhiteList *[]string `json:"global_nfs_white_list,omitempty"` GlobalNfsWhiteListAddress *[]GlobalNfsWhiteListAddress `json:"global_nfs_white_list_address,omitempty"` GpuDriverVersion *string `json:"gpu_driver_version,omitempty"` HasSelfEncryptingDrive *bool `json:"has_self_encrypting_drive,omitempty"` HealthSummary *HealthSummary `json:"health_summary,omitempty"` HTTPProxies *[]HTTPProxies `json:"http_proxies,omitempty"` HypervisorLldpConfig *HypervisorLldpConfig `json:"hypervisor_lldp_config,omitempty"` HypervisorSecurityComplianceConfig *HypervisorSecurityComplianceConfig `json:"hypervisor_security_compliance_config,omitempty"` HypervisorTypes *[]string `json:"hypervisor_types,omitempty"` ID *string `json:"id,omitempty"` InternalAddress *[]InternalAddress `json:"internal_address,omitempty"` InternalSubnet *string `json:"internal_subnet,omitempty"` IsLts *bool `json:"is_lts,omitempty"` IsNsenabled *bool `json:"is_nsenabled,omitempty"` IsRegisteredToPc *bool `json:"is_registered_to_pc,omitempty"` IsSspEnabled *bool `json:"is_ssp_enabled,omitempty"` IsUpgradeInProgress *bool `json:"is_upgrade_in_progress,omitempty"` IscsiConfig *IscsiConfig `json:"iscsi_config,omitempty"` ManagementServers *[]ManagementServers `json:"management_servers,omitempty"` Multicluster *bool `json:"multicluster,omitempty"` Name *string `json:"name,omitempty"` NameServers *[]string `json:"name_servers,omitempty"` NameServersList *[]NameServersList `json:"name_servers_list,omitempty"` NccVersion *string `json:"ncc_version,omitempty"` NosClusterAndHostsDomainJoined *bool `json:"nos_cluster_and_hosts_domain_joined,omitempty"` NtpServers *[]string `json:"ntp_servers,omitempty"` NtpServersList *[]NtpServersList `json:"ntp_servers_list,omitempty"` NumNodes *int `json:"num_nodes,omitempty"` OperationMode *string `json:"operation_mode,omitempty"` PublicKeys *[]PublicKeys `json:"public_keys,omitempty"` RackableUnits *[]RackableUnits `json:"rackable_units,omitempty"` SecurityComplianceConfig *SecurityComplianceConfig `json:"security_compliance_config,omitempty"` SegmentedIscsiDataServicesAddress *[]SegmentedIscsiDataServicesAddress `json:"segmented_iscsi_data_services_address,omitempty"` SegmentedIscsiDataServicesIpaddress *string `json:"segmented_iscsi_data_services_ipaddress,omitempty"` ServiceCenters *[]ServiceCenters `json:"service_centers,omitempty"` SMTPServer *SMTPServer `json:"smtp_server,omitempty"` SsdPinningPercentageLimit *int `json:"ssd_pinning_percentage_limit,omitempty"` Stats *Stats `json:"stats,omitempty"` StorageType *string `json:"storage_type,omitempty"` SupportVerbosityType *string `json:"support_verbosity_type,omitempty"` TargetVersion *string `json:"target_version,omitempty"` ThresholdForStorageThinProvision *float64 `json:"threshold_for_storage_thin_provision,omitempty"` Timezone *string `json:"timezone,omitempty"` UsageStats *UsageStats `json:"usage_stats,omitempty"` UUID *string `json:"uuid,omitempty"` Version *string `json:"version,omitempty"` }
ClusterGetResponse provides details on a PE cluster
type ClusterMasqueradingAddress ¶
type ClusterMasqueradingAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
ClusterMasqueradingAddress used for cluster details
type ClusterRedundancyState ¶
type ClusterRedundancyState struct { CurrentRedundancyFactor *int `json:"current_redundancy_factor,omitempty"` DesiredRedundancyFactor *int `json:"desired_redundancy_factor,omitempty"` RedundancyStatus *RedundancyStatus `json:"redundancy_status,omitempty"` }
ClusterRedundancyState used for cluster details
type ClusterService ¶
type ClusterService Service
ClusterService handles information on the PE cluster
func (*ClusterService) Get ¶
func (cls *ClusterService) Get(reqdata *ClusterGetRequest) (*ClusterGetResponse, *http.Response, error)
Get makes the call to get one virtual machine by UUID
type Credential ¶
type Credential struct { LogonName *string `json:"logon_name,omitempty"` Password *string `json:"password,omitempty"` }
Credential used for cluster details
type DetailedCheckSummary ¶
type DetailedCheckSummary struct { }
DetailedCheckSummary used in vdisk get request
type DiskAddress ¶
type DiskAddress struct { DeviceBus *string `json:"device_bus,omitempty"` DeviceIndex *int `json:"device_index,omitempty"` DeviceUUID *string `json:"device_uuid,omitempty"` DiskLabel *string `json:"disk_label,omitempty"` IsCdrom *bool `json:"is_cdrom,omitempty"` NdfsFilepath *string `json:"ndfs_filepath,omitempty"` VmdiskUUID *string `json:"vmdisk_uuid,omitempty"` VolumeGroupUUID *string `json:"volume_group_uuid,omitempty"` }
DiskAddress provides response on VM GET
type DiskHardwareConfig ¶
type DiskHardwareConfig struct { SerialNumber *string `json:"serial_number,omitempty"` DiskID *string `json:"disk_id,omitempty"` DiskUUID *string `json:"disk_uuid,omitempty"` Location *int `json:"location,omitempty"` Bad *bool `json:"bad,omitempty"` Mounted *bool `json:"mounted,omitempty"` MountPath *string `json:"mount_path,omitempty"` Model *string `json:"model,omitempty"` Vendor *string `json:"vendor,omitempty"` BootDisk *bool `json:"boot_disk,omitempty"` OnlyBootDisk *bool `json:"only_boot_disk,omitempty"` UnderDiagnosis *bool `json:"under_diagnosis,omitempty"` BackgroundOperation *interface{} `json:"background_operation,omitempty"` CurrentFirmwareVersion *string `json:"current_firmware_version,omitempty"` TargetFirmwareVersion *string `json:"target_firmware_version,omitempty"` CanAddAsNewDisk *bool `json:"can_add_as_new_disk,omitempty"` CanAddAsOldDisk *bool `json:"can_add_as_old_disk,omitempty"` }
DiskHardwareConfig provides HW config for disk-related requests
type DiskListRequest ¶
type DiskListRequest struct { Count int `url:"count,omitempty"` FilterCriteria string `url:"filter_criteria,omitempty"` SortCriteria string `url:"sort_criteria,omitempty"` SearchString string `url:"search_string,omitempty"` SearchAttributeList string `url:"search_attribute_list,omitempty"` Page int `url:"page,omitempty"` Projection string `url:"projection,omitempty"` }
DiskListRequest provides query paramaters for disk list
type DiskListResponse ¶
type DiskListResponse struct { Metadata Metadata `json:"metadata"` Entities []Entities `json:"entities"` }
DiskListResponse provides the response for listing all disk details
type DiskService ¶
type DiskService Service
DiskService handles communication to CVM/PE for disk interactions
func (*DiskService) GetVDisk ¶
func (dsk *DiskService) GetVDisk(reqdata *DiskVirtualGetRequest) (*DiskVirtualGetResponse, *http.Response, error)
GetVDisk provides vdisk information based upon UUID
func (*DiskService) List ¶
func (dsk *DiskService) List(reqdata *DiskListRequest) (*DiskListResponse, *http.Response, error)
List makes the call to list hardware disk items
func (*DiskService) ListVDisk ¶
func (dsk *DiskService) ListVDisk(reqdata *DiskVirtualListRequest) (*DiskVirtualListResponse, *http.Response, error)
ListVDisk makes the call to list virtual disks
type DiskVirtualGetRequest ¶
type DiskVirtualGetRequest struct {
Query *DiskVirtualGetRequestQuery
}
DiskVirtualGetRequest provides GET parameters for vdisk get by UUID
type DiskVirtualGetRequestQuery ¶
type DiskVirtualGetRequestQuery struct {
UUID string `url:"uuid,omitempty"`
}
DiskVirtualGetRequestQuery provides the UUID for the vdisk get
type DiskVirtualGetResponse ¶
type DiskVirtualGetResponse struct { AlertSummary *AlertSummary `json:"alert_summary"` AttachedVMID *string `json:"attached_vm_id"` AttachedVMUUID *string `json:"attached_vm_uuid"` AttachedVmname *string `json:"attached_vmname"` AttachedVolumeGroupID *string `json:"attached_volume_group_id"` ClusterUUID *string `json:"cluster_uuid"` ContainerID *string `json:"container_id"` ContainerUUID *string `json:"container_uuid"` DataSourceURL *string `json:"data_source_url"` DeviceUUID *string `json:"device_uuid"` DiskAddress *string `json:"disk_address"` DiskCapacityInBytes *int `json:"disk_capacity_in_bytes"` FlashModeEnabled *bool `json:"flash_mode_enabled"` HealthSummary *HealthSummary `json:"health_summary"` NutanixNfsfilePath *string `json:"nutanix_nfsfile_path"` Stats *Stats `json:"stats"` StorageContainerID *string `json:"storage_container_id"` StorageContainerUUID *string `json:"storage_container_uuid"` UsageStats *UsageStats `json:"usage_stats"` UUID *string `json:"uuid"` VirtualDiskID *string `json:"virtual_disk_id"` }
DiskVirtualGetResponse provides details on all virtual disks including NFS paths
type DiskVirtualListRequest ¶
type DiskVirtualListRequest struct { Count int `url:"count,omitempty"` FilterCriteria string `url:"filter_criteria,omitempty"` SortCriteria string `url:"sort_criteria,omitempty"` SearchString string `url:"search_string,omitempty"` SearchAttributeList string `url:"search_attribute_list,omitempty"` Page int `url:"page,omitempty"` Projection string `url:"projection,omitempty"` }
DiskVirtualListRequest provides GET parameters for vdisk list
type DiskVirtualListResponse ¶
type DiskVirtualListResponse struct { Metadata Metadata `json:"metadata"` Entities []Entities `json:"entities"` }
DiskVirtualListResponse provides details on all virtual disks including NFS paths
type EmailStatus ¶
type EmailStatus struct { LastChangedTimeStampUsecs *int `json:"last_changed_time_stamp_usecs,omitempty"` LastCheckedTimeStampUsecs *int `json:"last_checked_time_stamp_usecs,omitempty"` LastSuccessfulTransmissionTimeStampUsecs *int `json:"last_successful_transmission_time_stamp_usecs,omitempty"` Message *Message `json:"message,omitempty"` Status *string `json:"status,omitempty"` }
EmailStatus used for cluster details
type Entities ¶
type Entities struct { ID *string `json:"id,omitempty"` DiskUUID *string `json:"disk_uuid,omitempty"` ClusterUUID *string `json:"cluster_uuid,omitempty"` StorageTierName *string `json:"storage_tier_name,omitempty"` ServiceVmid *string `json:"service_vmid,omitempty"` NodeUUID *string `json:"node_uuid,omitempty"` LastServiceVmid *interface{} `json:"last_service_vmid,omitempty"` LastNodeUUID *interface{} `json:"last_node_uuid,omitempty"` HostName *string `json:"host_name,omitempty"` CvmIPAddress *string `json:"cvm_ip_address,omitempty"` NodeName *string `json:"node_name,omitempty"` MountPath *string `json:"mount_path,omitempty"` DiskSize *int64 `json:"disk_size,omitempty"` MarkedForRemoval *bool `json:"marked_for_removal,omitempty"` DataMigrated *bool `json:"data_migrated,omitempty"` Online *bool `json:"online,omitempty"` DiskStatus *string `json:"disk_status,omitempty"` Location *int `json:"location,omitempty"` SelfManagedNvme *bool `json:"self_managed_nvme,omitempty"` SelfEncryptingDrive *bool `json:"self_encrypting_drive,omitempty"` DiskHardwareConfig *DiskHardwareConfig `json:"disk_hardware_config,omitempty"` DynamicRingChangingNode *interface{} `json:"dynamic_ring_changing_node,omitempty"` Stats *Stats `json:"stats,omitempty"` UsageStats *UsageStats `json:"usage_stats,omitempty"` VirtualDiskID *string `json:"virtual_disk_id,omitempty"` UUID *string `json:"uuid,omitempty"` DeviceUUID *string `json:"device_uuid,omitempty"` NutanixNfsfilePath *string `json:"nutanix_nfsfile_path,omitempty"` DiskAddress *string `json:"disk_address,omitempty"` AttachedVMID *string `json:"attached_vm_id,omitempty"` AttachedVMUUID *string `json:"attached_vm_uuid,omitempty"` AttachedVmname *string `json:"attached_vmname,omitempty"` AttachedVolumeGroupID *string `json:"attached_volume_group_id,omitempty"` DiskCapacityInBytes *int64 `json:"disk_capacity_in_bytes,omitempty"` StorageContainerID *string `json:"storage_container_id,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` FlashModeEnabled *interface{} `json:"flash_mode_enabled,omitempty"` DataSourceURL *interface{} `json:"data_source_url,omitempty"` }
Entities are common types between most response results
type EntityTypeSummaries ¶
type EntityTypeSummaries struct { ChecksInError *ChecksInError `json:"checks_in_error,omitempty"` DetailedCheckSummary *DetailedCheckSummary `json:"detailed_check_summary,omitempty"` EntityType *string `json:"entity_type,omitempty"` FilterCriteria *string `json:"filter_criteria,omitempty"` HealthSummary *HealthSummary `json:"health_summary,omitempty"` }
EntityTypeSummaries used in vdisk get request
type ExternalAddress ¶
type ExternalAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
ExternalAddress used for cluster details
type FilesToInjectList ¶
type FilesToInjectList struct { DestinationPath *string `json:"destination_path,omitempty"` SourcePath *string `json:"source_path,omitempty"` }
FilesToInjectList provides response on VM GET
type GlobalNfsWhiteListAddress ¶
type GlobalNfsWhiteListAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
GlobalNfsWhiteListAddress used for cluster details
type HTTPProxies ¶
type HTTPProxies struct { Address *string `json:"address,omitempty"` AddressValue *AddressValue `json:"address_value,omitempty"` Name *string `json:"name,omitempty"` Password *string `json:"password,omitempty"` Port *int `json:"port,omitempty"` ProxyTypes *[]string `json:"proxy_types,omitempty"` Username *string `json:"username,omitempty"` }
HTTPProxies used for cluster details
type HealthCheckSummaries ¶
type HealthCheckSummaries struct { }
HealthCheckSummaries used in vdisk get request
type HealthSummary ¶
type HealthSummary struct { EntityTypeSummaries *[]EntityTypeSummaries `json:"entity_type_summaries,omitempty"` HealthCheckSummaries *HealthCheckSummaries `json:"health_check_summaries,omitempty"` HealthStatus *string `json:"health_status,omitempty"` }
HealthSummary is used in vdisk get request
type Holder ¶
type Holder struct { Address *int `json:"address,omitempty"` Family *int `json:"family,omitempty"` HostName *string `json:"host_name,omitempty"` OriginalHostName *string `json:"original_host_name,omitempty"` }
Holder used for cluster details
type HypervisorLldpConfig ¶
type HypervisorLldpConfig struct { }
HypervisorLldpConfig used for cluster details
type HypervisorSecurityComplianceConfig ¶
type HypervisorSecurityComplianceConfig struct { }
HypervisorSecurityComplianceConfig used for cluster details
type InetAddress ¶
type InetAddress struct { Empty *Empty `json:"empty,omitempty"` Value *Value `json:"value,omitempty"` }
InetAddress used for cluster details
type InternalAddress ¶
type InternalAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
InternalAddress used for cluster details
type IscsiConfig ¶
type IscsiConfig struct {
ExternalClientEnabled *bool `json:"external_client_enabled,omitempty"`
}
IscsiConfig used for cluster details
type Log ¶
type Log struct {
RootLoggerName *string `json:"root_logger_name,omitempty"`
}
Log used for cluster details
type ManagementServers ¶
type ManagementServers struct { DrsEnabled *bool `json:"drs_enabled,omitempty"` DrsVMBehaviour *string `json:"drs_vm_behaviour,omitempty"` HaEnabled *bool `json:"ha_enabled,omitempty"` InUse *bool `json:"in_use,omitempty"` IPAddress *string `json:"ip_address,omitempty"` ManagementServerType *string `json:"management_server_type,omitempty"` Registered *bool `json:"registered,omitempty"` }
ManagementServers used for cluster details
type Message ¶
type Message struct { Attributes *Attributes `json:"attributes,omitempty"` Message *string `json:"message,omitempty"` }
Message used for cluster details
type Metadata ¶
type Metadata struct { GrandTotalEntities *int `json:"grand_total_entities,omitempty"` TotalEntities *int `json:"total_entities,omitempty"` FilterCriteria *string `json:"filter_criteria,omitempty"` SortCriteria *string `json:"sort_criteria,omitempty"` Page *int `json:"page,omitempty"` Count *int `json:"count,omitempty"` StartIndex *int `json:"start_index,omitempty"` EndIndex *int `json:"end_index,omitempty"` }
Metadata is the metadata in request results
type NameServersList ¶
type NameServersList struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
NameServersList used for cluster details
type NegativeCache ¶
type NegativeCache struct { Cache *Cache `json:"cache,omitempty"` Type *string `json:"type,omitempty"` }
NegativeCache used for cluster details
type NtpServersList ¶
type NtpServersList struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string",omitempty` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
NtpServersList used for cluster details
type PublicKeys ¶
PublicKeys used for cluster details
type RackableUnits ¶
type RackableUnits struct { ID *int `json:"id,omitempty"` Location *string `json:"location,omitempty"` Model *string `json:"model,omitempty"` ModelName *string `json:"model_name,omitempty"` NodeUuids *[]string `json:"node_uuids,omitempty"` Nodes *[]int `json:"node,omitemptys"` Positions *[]string `json:"positions,omitempty"` RackableUnitUUID *string `json:"rackable_unit_uuid,omitempty"` Serial *string `json:"serial,omitempty"` }
RackableUnits used for cluster details
type SMTPServer ¶
type SMTPServer struct { Address *string `json:"address,omitempty"` EmailStatus *EmailStatus `json:"email_status,omitempty"` FromEmailAddress *string `json:"from_email_address,omitempty"` Password *string `json:"password,omitempty"` Port *int `json:"port,omitempty"` SecureMode *string `json:"secure_mode,omitempty"` ServerAddress *ServerAddress `json:"server_address,omitempty"` Username *string `json:"username,omitempty"` }
SMTPServer used for cluster details
type SecurityComplianceConfig ¶
type SecurityComplianceConfig struct {
EnableSnmpv3Only *bool `json:"enable_snmpv3_only,omitempty"`
}
SecurityComplianceConfig used for cluster details
type SegmentedIscsiDataServicesAddress ¶
type SegmentedIscsiDataServicesAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
SegmentedIscsiDataServicesAddress used for cluster details
type SerialPersistentFields ¶
type SerialPersistentFields struct { Field *string `json:"field,omitempty"` Name *string `json:"name,omitempty"` Offset *int `json:"offset,omitempty"` Signature *string `json:"signature,omitempty"` Type *string `json:"type,omitempty"` }
SerialPersistentFields used for cluster details
type SerialPorts ¶
type SerialPorts struct { Index *int `json:"index,omitempty"` Type *string `json:"type,omitempty"` }
SerialPorts provides response on VM GET
type ServerAddress ¶
type ServerAddress struct { Hostname *string `json:"hostname,omitempty"` InetAddress *InetAddress `json:"inet_address,omitempty"` Ipv4 *string `json:"ipv4,omitempty"` Ipv6 *string `json:"ipv6,omitempty"` Log *Log `json:"log,omitempty"` Port *int `json:"port,omitempty"` RawString *string `json:"raw_string,omitempty"` Subnet *string `json:"subnet,omitempty"` SubnetSep *string `json:"subnet_sep,omitempty"` }
ServerAddress used for cluster details
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is used to create endpoint specific services to utilize concurrency with timeouts
type ServiceCenters ¶
type ServiceCenters struct { IPAddress *string `json:"ip_address,omitempty"` Name *string `json:"name,omitempty"` Port *int `json:"port,omitempty"` Username *string `json:"username,omitempty"` }
ServiceCenters used for cluster details
type ServiceConfig ¶
ServiceConfig is the configuration to use PC
type SourceDiskAddress ¶
type SourceDiskAddress struct { DeviceBus *string `json:"device_bus,omitempty"` DeviceIndex *int `json:"device_index,omitempty"` DeviceUUID *string `json:"device_uuid,omitempty"` DiskLabel *string `json:"disk_label,omitempty"` IsCdrom *bool `json:"is_cdrom,omitempty"` NdfsFilepath *string `json:"ndfs_filepath,omitempty"` VmdiskUUID *string `json:"vmdisk_uuid,omitempty"` VolumeGroupUUID *string `json:"volume_group_uuid,omitempty"` }
SourceDiskAddress provides response on VM GET
type Stats ¶
type Stats struct { ControllerRandomOpsPpm *string `json:"controller.random_ops_ppm,omitempty"` ControllerStorageTierSsdUsageBytes *string `json:"controller.storage_tier.ssd.usage_bytes,omitempty"` ReadIoPpm *string `json:"read_io_ppm,omitempty"` ControllerFrontendReadLatencyHistogram1000Us *string `json:"controller.frontend_read_latency_histogram_1000us,omitempty"` ControllerNumIops *string `json:"controller_num_iops,omitempty"` ControllerFrontendWriteOps *string `json:"controller.frontend_write_ops,omitempty"` ControllerFrontendWriteLatencyHistogram10000Us *string `json:"controller.frontend_write_latency_histogram_10000us,omitempty"` ControllerReadSizeHistogram1024KB *string `json:"controller.read_size_histogram_1024kB,omitempty"` TotalReadIoTimeUsecs *string `json:"total_read_io_time_usecs,omitempty"` ControllerTotalReadIoTimeUsecs *string `json:"controller_total_read_io_time_usecs,omitempty"` ControllerWss3600SWriteMB *string `json:"controller.wss_3600s_write_MB,omitempty"` ControllerFrontendReadLatencyHistogram50000Us *string `json:"controller.frontend_read_latency_histogram_50000us,omitempty"` ControllerFrontendReadLatencyHistogram2000Us *string `json:"controller.frontend_read_latency_histogram_2000us,omitempty"` ControllerNumWriteIo *string `json:"controller_num_write_io,omitempty"` ControllerReadSourceCacheSsdBytes *string `json:"controller.read_source_cache_ssd_bytes,omitempty"` ControllerReadSourceOplogBytes *string `json:"controller.read_source_oplog_bytes,omitempty"` ControllerReadSourceCacheDramBytes *string `json:"controller.read_source_cache_dram_bytes,omitempty"` ControllerRandomReadOps *string `json:"controller.random_read_ops,omitempty"` ControllerTotalIoTimeUsecs *string `json:"controller_total_io_time_usecs,omitempty"` ControllerNumSeqIo *string `json:"controller_num_seq_io,omitempty"` ControllerTotalIoSizeKbytes *string `json:"controller_total_io_size_kbytes,omitempty"` ControllerWss120SWriteMB *string `json:"controller.wss_120s_write_MB,omitempty"` ControllerReadSourceBlockStoreBytes *string `json:"controller.read_source_block_store_bytes,omitempty"` ControllerNumIo *string `json:"controller_num_io,omitempty"` ControllerReadSourceEstoreZeroBytes *string `json:"controller.read_source_estore_zero_bytes,omitempty"` ControllerNumRandomIo *string `json:"controller_num_random_io,omitempty"` HypervisorNumReadIo *string `json:"hypervisor_num_read_io,omitempty"` HypervisorTotalReadIoTimeUsecs *string `json:"hypervisor_total_read_io_time_usecs,omitempty"` NumIo *string `json:"num_io,omitempty"` HypervisorNumWriteIo *string `json:"hypervisor_num_write_io,omitempty"` ControllerWriteSizeHistogram32KB *string `json:"controller.write_size_histogram_32kB,omitempty"` ControllerFrontendReadLatencyHistogram20000Us *string `json:"controller.frontend_read_latency_histogram_20000us,omitempty"` ControllerReadSizeHistogram32KB *string `json:"controller.read_size_histogram_32kB,omitempty"` HypervisorNumWriteIops *string `json:"hypervisor_num_write_iops,omitempty"` AvgIoLatencyUsecs *string `json:"avg_io_latency_usecs,omitempty"` ControllerWriteIoPpm *string `json:"controller_write_io_ppm,omitempty"` ControllerReadSourceEstoreSsdBytes *string `json:"controller.read_source_estore_ssd_bytes,omitempty"` HypervisorTotalReadIoSizeKbytes *string `json:"hypervisor_total_read_io_size_kbytes,omitempty"` ControllerNumWriteIops *string `json:"controller_num_write_iops,omitempty"` TotalIoTimeUsecs *string `json:"total_io_time_usecs,omitempty"` ControllerWss3600SReadMB *string `json:"controller.wss_3600s_read_MB,omitempty"` ControllerSummaryReadSourceSsdBytesPerSec *string `json:"controller.summary_read_source_ssd_bytes_per_sec,omitempty"` ControllerWriteSizeHistogram16KB *string `json:"controller.write_size_histogram_16kB,omitempty"` TotalTransformedUsageBytes *string `json:"total_transformed_usage_bytes,omitempty"` AvgWriteIoLatencyUsecs *string `json:"avg_write_io_latency_usecs,omitempty"` ControllerCseTarget90PercentWriteMB *string `json:"controller.cse_target_90_percent_write_MB,omitempty"` NumReadIo *string `json:"num_read_io,omitempty"` HypervisorReadIoBandwidthKBps *string `json:"hypervisor_read_io_bandwidth_kBps,omitempty"` HypervisorTotalIoTimeUsecs *string `json:"hypervisor_total_io_time_usecs,omitempty"` NumRandomIo *string `json:"num_random_io,omitempty"` ControllerWriteDestEstoreBytes *string `json:"controller.write_dest_estore_bytes,omitempty"` ControllerFrontendWriteLatencyHistogram5000Us *string `json:"controller.frontend_write_latency_histogram_5000us,omitempty"` ControllerStorageTierDasSataPinnedUsageBytes *string `json:"controller.storage_tier.das-sata.pinned_usage_bytes,omitempty"` NumWriteIo *string `json:"num_write_io,omitempty"` ControllerFrontendWriteLatencyHistogram2000Us *string `json:"controller.frontend_write_latency_histogram_2000us,omitempty"` ControllerRandomWriteOpsPerSec *string `json:"controller.random_write_ops_per_sec,omitempty"` ControllerFrontendWriteLatencyHistogram20000Us *string `json:"controller.frontend_write_latency_histogram_20000us,omitempty"` IoBandwidthKBps *string `json:"io_bandwidth_kBps,omitempty"` ControllerWriteSizeHistogram512KB *string `json:"controller.write_size_histogram_512kB,omitempty"` ControllerReadSizeHistogram16KB *string `json:"controller.read_size_histogram_16kB,omitempty"` WriteIoPpm *string `json:"write_io_ppm,omitempty"` ControllerAvgWriteIoLatencyUsecs *string `json:"controller_avg_write_io_latency_usecs,omitempty"` ControllerFrontendReadLatencyHistogram100000Us *string `json:"controller.frontend_read_latency_histogram_100000us,omitempty"` NumReadIops *string `json:"num_read_iops,omitempty"` ControllerSummaryReadSourceHddBytesPerSec *string `json:"controller.summary_read_source_hdd_bytes_per_sec,omitempty"` ControllerReadSourceExtentCacheBytes *string `json:"controller.read_source_extent_cache_bytes,omitempty"` TimespanUsecs *string `json:"timespan_usecs,omitempty"` ControllerNumReadIops *string `json:"controller_num_read_iops,omitempty"` ControllerFrontendReadLatencyHistogram10000Us *string `json:"controller.frontend_read_latency_histogram_10000us,omitempty"` ControllerWriteSizeHistogram64KB *string `json:"controller.write_size_histogram_64kB,omitempty"` ControllerFrontendWriteLatencyHistogram0Us *string `json:"controller.frontend_write_latency_histogram_0us,omitempty"` ControllerFrontendWriteLatencyHistogram100000Us *string `json:"controller.frontend_write_latency_histogram_100000us,omitempty"` HypervisorNumIo *string `json:"hypervisor_num_io,omitempty"` ControllerTotalTransformedUsageBytes *string `json:"controller_total_transformed_usage_bytes,omitempty"` AvgReadIoLatencyUsecs *string `json:"avg_read_io_latency_usecs,omitempty"` ControllerTotalReadIoSizeKbytes *string `json:"controller_total_read_io_size_kbytes,omitempty"` ControllerReadIoPpm *string `json:"controller_read_io_ppm,omitempty"` ControllerFrontendOps *string `json:"controller.frontend_ops,omitempty"` ControllerWss120SReadMB *string `json:"controller.wss_120s_read_MB,omitempty"` ControllerReadSizeHistogram512KB *string `json:"controller.read_size_histogram_512kB,omitempty"` HypervisorAvgReadIoLatencyUsecs *string `json:"hypervisor_avg_read_io_latency_usecs,omitempty"` ControllerWriteSizeHistogram1024KB *string `json:"controller.write_size_histogram_1024kB,omitempty"` ControllerWriteDestBlockStoreBytes *string `json:"controller.write_dest_block_store_bytes,omitempty"` ControllerReadSizeHistogram4KB *string `json:"controller.read_size_histogram_4kB,omitempty"` NumWriteIops *string `json:"num_write_iops,omitempty"` ControllerRandomOpsPerSec *string `json:"controller.random_ops_per_sec,omitempty"` NumIops *string `json:"num_iops,omitempty"` ControllerStorageTierCloudPinnedUsageBytes *string `json:"controller.storage_tier.cloud.pinned_usage_bytes,omitempty"` ControllerAvgIoLatencyUsecs *string `json:"controller_avg_io_latency_usecs,omitempty"` ControllerReadSizeHistogram8KB *string `json:"controller.read_size_histogram_8kB,omitempty"` ControllerNumReadIo *string `json:"controller_num_read_io,omitempty"` ControllerSeqIoPpm *string `json:"controller_seq_io_ppm,omitempty"` ControllerReadIoBandwidthKBps *string `json:"controller_read_io_bandwidth_kBps,omitempty"` ControllerIoBandwidthKBps *string `json:"controller_io_bandwidth_kBps,omitempty"` ControllerReadSizeHistogram0KB *string `json:"controller.read_size_histogram_0kB,omitempty"` ControllerRandomOps *string `json:"controller.random_ops,omitempty"` HypervisorTimespanUsecs *string `json:"hypervisor_timespan_usecs,omitempty"` TotalReadIoSizeKbytes *string `json:"total_read_io_size_kbytes,omitempty"` HypervisorTotalIoSizeKbytes *string `json:"hypervisor_total_io_size_kbytes,omitempty"` ControllerFrontendOpsPerSec *string `json:"controller.frontend_ops_per_sec,omitempty"` ControllerWriteDestOplogBytes *string `json:"controller.write_dest_oplog_bytes,omitempty"` ControllerFrontendWriteLatencyHistogram1000Us *string `json:"controller.frontend_write_latency_histogram_1000us,omitempty"` HypervisorNumReadIops *string `json:"hypervisor_num_read_iops,omitempty"` ControllerSummaryReadSourceCacheBytesPerSec *string `json:"controller.summary_read_source_cache_bytes_per_sec,omitempty"` ControllerWriteIoBandwidthKBps *string `json:"controller_write_io_bandwidth_kBps,omitempty"` ControllerUserBytes *string `json:"controller_user_bytes,omitempty"` HypervisorAvgWriteIoLatencyUsecs *string `json:"hypervisor_avg_write_io_latency_usecs,omitempty"` ControllerStorageTierSsdPinnedUsageBytes *string `json:"controller.storage_tier.ssd.pinned_usage_bytes,omitempty"` ReadIoBandwidthKBps *string `json:"read_io_bandwidth_kBps,omitempty"` ControllerFrontendReadOps *string `json:"controller.frontend_read_ops,omitempty"` HypervisorNumIops *string `json:"hypervisor_num_iops,omitempty"` HypervisorIoBandwidthKBps *string `json:"hypervisor_io_bandwidth_kBps,omitempty"` ControllerWss120SUnionMB *string `json:"controller.wss_120s_union_MB,omitempty"` ControllerReadSourceEstoreHddBytes *string `json:"controller.read_source_estore_hdd_bytes,omitempty"` ControllerRandomIoPpm *string `json:"controller_random_io_ppm,omitempty"` ControllerCseTarget90PercentReadMB *string `json:"controller.cse_target_90_percent_read_MB,omitempty"` ControllerStorageTierDasSataUsageBytes *string `json:"controller.storage_tier.das-sata.usage_bytes,omitempty"` ControllerFrontendReadLatencyHistogram5000Us *string `json:"controller.frontend_read_latency_histogram_5000us,omitempty"` ControllerAvgReadIoSizeKbytes *string `json:"controller_avg_read_io_size_kbytes,omitempty"` WriteIoBandwidthKBps *string `json:"write_io_bandwidth_kBps,omitempty"` ControllerRandomReadOpsPerSec *string `json:"controller.random_read_ops_per_sec,omitempty"` ControllerReadSizeHistogram64KB *string `json:"controller.read_size_histogram_64kB,omitempty"` ControllerWss3600SUnionMB *string `json:"controller.wss_3600s_union_MB,omitempty"` RandomIoPpm *string `json:"random_io_ppm,omitempty"` TotalUntransformedUsageBytes *string `json:"total_untransformed_usage_bytes,omitempty"` ControllerFrontendReadLatencyHistogram0Us *string `json:"controller.frontend_read_latency_histogram_0us,omitempty"` ControllerRandomWriteOps *string `json:"controller.random_write_ops,omitempty"` ControllerAvgWriteIoSizeKbytes *string `json:"controller_avg_write_io_size_kbytes,omitempty"` ControllerAvgReadIoLatencyUsecs *string `json:"controller_avg_read_io_latency_usecs,omitempty"` TotalIoSizeKbytes *string `json:"total_io_size_kbytes,omitempty"` ControllerStorageTierCloudUsageBytes *string `json:"controller.storage_tier.cloud.usage_bytes,omitempty"` ControllerFrontendWriteLatencyHistogram50000Us *string `json:"controller.frontend_write_latency_histogram_50000us,omitempty"` ControllerWriteSizeHistogram8KB *string `json:"controller.write_size_histogram_8kB,omitempty"` ControllerTimespanUsecs *string `json:"controller_timespan_usecs,omitempty"` NumSeqIo *string `json:"num_seq_io,omitempty"` ControllerWriteSizeHistogram4KB *string `json:"controller.write_size_histogram_4kB,omitempty"` SeqIoPpm *string `json:"seq_io_ppm,omitempty"` ControllerWriteSizeHistogram0KB *string `json:"controller.write_size_histogram_0kB,omitempty"` }
Stats are the statistics/metrics for each returned entity
type TheUnsafe ¶
type TheUnsafe struct { AddressSize *int `json:"address_size,omitempty"` ArrayBooleanBaseOffset *int `json:"array_boolean_base_offset,omitempty"` ArrayBooleanIndexScale *int `json:"array_boolean_index_scale,omitempty"` ArrayByteBaseOffset *int `json:"array_byte_base_offset,omitempty"` ArrayByteIndexScale *int `json:"array_byte_index_scale,omitempty"` ArrayCharBaseOffset *int `json:"array_char_base_offset,omitempty"` ArrayCharIndexScale *int `json:"array_char_index_scale,omitempty"` ArrayDoubleBaseOffset *int `json:"array_double_base_offset,omitempty"` ArrayDoubleIndexScale *int `json:"array_double_index_scale,omitempty"` ArrayFloatBaseOffset *int `json:"array_float_base_offset,omitempty"` ArrayFloatIndexScale *int `json:"array_float_index_scale,omitempty"` ArrayIntBaseOffset *int `json:"array_int_base_offset,omitempty"` ArrayIntIndexScale *int `json:"array_int_index_scale,omitempty"` ArrayLongBaseOffset *int `json:"array_long_base_offset,omitempty"` ArrayLongIndexScale *int `json:"array_long_index_scale,omitempty"` ArrayObjectBaseOffset *int `json:"array_object_base_offset,omitempty"` ArrayObjectIndexScale *int `json:"array_object_index_scale,omitempty"` ArrayShortBaseOffset *int `json:"array_short_base_offset,omitempty"` ArrayShortIndexScale *int `json:"array_short_index_scale,omitempty"` InvalidFieldOffset *int `json:"invalid_field_offset,omitempty"` TheUnsafe *string `json:"the_unsafe,omitempty"` }
TheUnsafe used for cluster details
type UnknownArray ¶
type UnknownArray struct { AssertionsDisabled *bool `json:"$assertions_disabled,omitempty"` AddressCache *string `json:"address_cache,omitempty"` AddressCacheInit *bool `json:"address_cache_init,omitempty"` CacheLock *CacheLock `json:"cache_lock,omitempty"` CacheTime *int `json:"cache_time,omitempty"` CachedLocalHost *string `json:"cached_local_host,omitempty"` CanonicalHostName *string `json:"canonical_host_name,omitempty"` FieldsOffset *int `json:"fields_offset,omitempty"` Holder *Holder `json:"holder,omitempty"` Impl *Impl `json:"impl,omitempty"` Ipv4 *int `json:"ipv4,omitempty"` Ipv6 *int `json:"ipv6,omitempty"` LookupTable *LookupTable `json:"lookup_table,omitempty"` MaxCacheTime *int `json:"max_cache_time,omitempty"` NameServices *[]NameServices `json:"name_services,omitempty"` NegativeCache *string `json:"negative_cache,omitempty"` PreferIpv6Address *bool `json:"prefer_ipv6_address,omitempty"` SerialPersistentFields *[]interface{} `json:"serial_persistent_fields,omitempty"` UnknownArray *[]interface{} `json:"unknown_array,omitempty"` Unsafe *Unsafe `json:"unsafe,omitempty"` }
UnknownArray used for cluster details
type Unsafe ¶
type Unsafe struct { AddressSize *int `json:"address_size,omitempty"` ArrayBooleanBaseOffset *int `json:"array_boolean_base_offset,omitempty"` ArrayBooleanIndexScale *int `json:"array_boolean_index_scale,omitempty"` ArrayByteBaseOffset *int `json:"array_byte_base_offset,omitempty"` ArrayByteIndexScale *int `json:"array_byte_index_scale,omitempty"` ArrayCharBaseOffset *int `json:"array_char_base_offset,omitempty"` ArrayCharIndexScale *int `json:"array_char_index_scale,omitempty"` ArrayDoubleBaseOffset *int `json:"array_double_base_offset,omitempty"` ArrayDoubleIndexScale *int `json:"array_double_index_scale,omitempty"` ArrayFloatBaseOffset *int `json:"array_float_base_offset,omitempty"` ArrayFloatIndexScale *int `json:"array_float_index_scale,omitempty"` ArrayIntBaseOffset *int `json:"array_int_base_offset,omitempty"` ArrayIntIndexScale *int `json:"array_int_index_scale,omitempty"` ArrayLongBaseOffset *int `json:"array_long_base_offset,omitempty"` ArrayLongIndexScale *int `json:"array_long_index_scale,omitempty"` ArrayObjectBaseOffset *int `json:"array_object_base_offset,omitempty"` ArrayObjectIndexScale *int `json:"array_object_index_scale,omitempty"` ArrayShortBaseOffset *int `json:"array_short_base_offset,omitempty"` ArrayShortIndexScale *int `json:"array_short_index_scale,omitempty"` InvalidFieldOffset *int `json:"invalid_field_offset,omitempty"` TheUnsafe *TheUnsafe `json:"the_unsafe,omitempty"` }
Unsafe used for cluster details
type UsageStats ¶
type UsageStats struct { StorageLogicalUsageBytes *string `json:"storage.logical_usage_bytes,omitempty"` StorageCapacityBytes *string `json:"storage.capacity_bytes,omitempty"` StorageFreeBytes *string `json:"storage.free_bytes,omitempty"` StorageUsageBytes *string `json:"storage.usage_bytes,omitempty"` }
UsageStats provides usage stats for the associated response entities
type VMCustomizationConfig ¶
type VMCustomizationConfig struct { DatasourceType *string `json:"datasource_type,omitempty"` FilesToInjectList *[]FilesToInjectList `json:"files_to_inject_list,omitempty"` FreshInstall *bool `json:"fresh_install,omitempty"` Userdata *string `json:"userdata,omitempty"` UserdataPath *string `json:"userdata_path,omitempty"` }
VMCustomizationConfig provides response on VM GET
type VMDiskClone ¶
type VMDiskClone struct { DiskAddress *DiskAddress `json:"disk_address,omitempty"` MinimumSize *int `json:"minimum_size,omitempty"` SnapshotGroupUUID *string `json:"snapshot_group_uuid,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` }
VMDiskClone provides response on VM GET
type VMDiskCloneExternal ¶
type VMDiskCloneExternal struct { ExternalDiskURL *string `json:"external_disk_url,omitempty"` Size *int `json:"size,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` }
VMDiskCloneExternal provides response from VM GET
type VMDiskCreate ¶
type VMDiskCreate struct { Size *int `json:"size,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` }
VMDiskCreate provides response from VM GET
type VMDiskInfo ¶
type VMDiskInfo struct { DataSourceURL *string `json:"data_source_url,omitempty"` DiskAddress *DiskAddress `json:"disk_address,omitempty"` FlashModeEnabled *bool `json:"flash_mode_enabled,omitempty"` IsCdrom *bool `json:"is_cdrom,omitempty"` IsEmpty *bool `json:"is_empty,omitempty"` IsHotRemoveEnabled *bool `json:"is_hot_remove_enabled,omitempty"` IsScsiPassthrough *bool `json:"is_scsi_passthrough,omitempty"` IsThinProvisioned *bool `json:"is_thin_provisioned,omitempty"` Size *int `json:"size,omitempty"` SourceDiskAddress *SourceDiskAddress `json:"source_disk_address,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` }
VMDiskInfo provides response on VM GET
type VMDiskPassthruExternal ¶
type VMDiskPassthruExternal struct { ExternalDiskURL *string `json:"external_disk_url,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` }
VMDiskPassthruExternal provides response from VM GET
type VMDisks ¶
type VMDisks struct { DiskAddress *DiskAddress `json:"disk_address,omitempty"` FlashModeEnabled *bool `json:"flash_mode_enabled,omitempty"` IsCdrom *bool `json:"is_cdrom,omitempty"` IsEmpty *bool `json:"is_empty,omitempty"` IsScsiPassThrough *bool `json:"is_scsi_pass_through,omitempty"` IsThinProvisioned *bool `json:"is_thin_provisioned,omitempty"` VMDiskClone *VMDiskClone `json:"vm_disk_clone,omitempty"` VMDiskCloneExternal *VMDiskCloneExternal `json:"vm_disk_clone_external,omitempty"` VMDiskCreate *VMDiskCreate `json:"vm_disk_create,omitempty"` VMDiskPassthruExternal *VMDiskPassthruExternal `json:"vm_disk_passthru_external,omitempty"` }
VMDisks provides VDISK information during VM GET
type VMGetRequest ¶
type VMGetRequest struct { Params *VMGetRequestParams Query *VMGetRequestQuery }
VMGetRequest provides a UUID URL parameter to get details on one VM provides path query parameters to request
type VMGetRequestParams ¶
type VMGetRequestParams struct {
UUID string
}
VMGetRequestParams provides vm search criteria - VM UUID
type VMGetRequestQuery ¶
type VMGetRequestQuery struct { IncludeVMDiskConfig bool `url:"include_vm_disk_config,omitempty"` IncludeVMNICConfig bool `url:"include_vm_nic_config,omitempty"` }
VMGetRequestQuery provides vm search criteria - VM UUID
type VMGetResponse ¶
type VMGetResponse struct { AllowLiveMigrate *bool `json:"allow_live_migrate,omitempty"` Boot *Boot `json:"boot,omitempty"` CbrNotCapableReason *string `json:"cbr_not_capable_reason,omitempty"` ClearAffinity *bool `json:"clear_affinity,omitempty"` Description *string `json:"description,omitempty"` GpusAssigned *bool `json:"gpus_assigned,omitempty"` GuestDriverVersion *string `json:"guest_driver_version,omitempty"` GuestOs *string `json:"guest_os,omitempty"` HaPriority *int `json:"ha_priority,omitempty"` HostUUID *string `json:"host_uuid,omitempty"` MachineType *string `json:"machine_type,omitempty"` MemoryMb *int `json:"memory_mb,omitempty"` MemoryReservationMb *int `json:"memory_reservation_mb,omitempty"` Name *string `json:"name,omitempty"` NumCoresPerVcpu *int `json:"num_cores_per_vcpu,omitempty"` NumVcpus *int `json:"num_vcpus,omitempty"` PowerState *string `json:"power_state,omitempty"` SerialPorts *[]SerialPorts `json:"serial_ports,omitempty"` StorageContainerUUID *string `json:"storage_container_uuid,omitempty"` Timezone *string `json:"timezone,omitempty"` ToolsInstallerMounted *bool `json:"tools_installer_mounted,omitempty"` ToolsRunningStatus *string `json:"tools_running_status,omitempty"` UUID *string `json:"uuid,omitempty"` VcpuReservationHz *int `json:"vcpu_reservation_hz,omitempty"` VMCustomizationConfig *VMCustomizationConfig `json:"vm_customization_config,omitempty"` VMDiskInfo *[]VMDiskInfo `json:"vm_disk_info,omitempty"` VMDisks *[]VMDisks `json:"vm_disks,omitempty"` VMFeatures *VMFeatures `json:"vm_features,omitempty"` VMGpus *[]VMGpus `json:"vm_gpus,omitempty"` VMLogicalTimestamp *int `json:"vm_logical_timestamp,omitempty"` VMNics *[]VMNics `json:"vm_nics,omitempty"` }
VMGetResponse gets the VM details
type VMGpus ¶
type VMGpus struct { Assignable *bool `json:"assignable,omitempty"` DeviceID *int `json:"device_id,omitempty"` DeviceName *string `json:"device_name,omitempty"` Fraction *int `json:"fraction,omitempty"` FrameBufferSizeBytes *int `json:"frame_buffer_size_bytes,omitempty"` GpuMode *string `json:"gpu_mode,omitempty"` GpuProfile *string `json:"gpu_profile,omitempty"` GpuType *string `json:"gpu_type,omitempty"` GpuVendor *string `json:"gpu_vendor,omitempty"` GuestDriverVersion *string `json:"guest_driver_version,omitempty"` InUse *bool `json:"in_use,omitempty"` Licenses *[]string `json:"licenses,omitempty"` MaxInstancesPerVM *int `json:"max_instances_per_vm,omitempty"` MaxResolution *string `json:"max_resolution,omitempty"` NumVirtualDisplayHeads *int `json:"num_virtual_display_heads,omitempty"` NumaNode *int `json:"numa_node,omitempty"` Sbdf *string `json:"sbdf,omitempty"` VMUuids *[]string `json:"vm_uuids,omitempty"` }
VMGpus provides VM GPU information during VM GET
type VMListRequest ¶
type VMListRequest struct{}
type VMListResponse ¶
type VMListResponse struct{}
type VMNics ¶
type VMNics struct { AdapterType *string `json:"adapter_type,omitempty"` IPAddress *string `json:"ip_address,omitempty"` IPAddresses *[]string `json:"ip_addresses,omitempty"` IsConnected *bool `json:"is_connected,omitempty"` MacAddress *string `json:"mac_address,omitempty"` Model *string `json:"model,omitempty"` NetworkUUID *string `json:"network_uuid,omitempty"` NicUUID *string `json:"nic_uuid,omitempty"` PortID *string `json:"port_id,omitempty"` RequestIP *bool `json:"request_ip,omitempty"` RequestedIPAddress *string `json:"requested_ip_address,omitempty"` VlanMode *string `json:"vlan_mode,omitempty"` }
VMNics provides VM NIC information during VM calls
type VMService ¶
type VMService Service
VMService handles communication to CVM/PE for VM interactions
func (*VMService) Get ¶
func (vm *VMService) Get(reqdata *VMGetRequest) (*VMGetResponse, *http.Response, error)
Get makes the call to get one virtual machine by UUID
func (*VMService) List ¶
func (vm *VMService) List(reqdata *VMListRequest) (*VMListResponse, *http.Response, error)
List makes the call to list virtual machines
type Value ¶
type Value struct { AssertionsDisabled *bool `json:"$assertions_disabled,omitempty"` AddressCache *AddressCache `json:"address_cache,omitempty"` AddressCacheInit *bool `json:"address_cache_init,omitempty"` CacheLock *CacheLock `json:"cache_lock,omitempty"` CacheTime *int `json:"cache_time,omitempty"` CachedLocalHost *CachedLocalHost `json:"cached_local_host,omitempty"` CanonicalHostName *string `json:"canonical_host_name,omitempty"` FieldsOffset *int `json:"fields_offset,omitempty"` Holder *Holder `json:"holder,omitempty"` Impl *Impl `json:"impl,omitempty"` Ipv4 *int `json:"ipv4,omitempty"` Ipv6 *int `json:"ipv6,omitempty"` LookupTable *LookupTable `json:"lookup_table,omitempty"` MaxCacheTime *int `json:"max_cache_time,omitempty"` NameServices *[]NameServices `json:"name_services,omitempty"` NegativeCache *NegativeCache `json:"negative_cache,omitempty"` PreferIpv6Address *bool `json:"prefer_ipv6_address,omitempty"` SerialPersistentFields *[]SerialPersistentFields `json:"serial_persistent_fields,omitempty"` UnknownArray *[]UnknownArray `json:"unknown_array,omitempty"` Unsafe *Unsafe `json:"unsafe,omitempty"` }
Value used for cluster details