client

package
v0.12.3 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const (
	HTTPAddrEnvName         = "CLOUDTEMPLE_HTTP_ADDR"
	HTTPSchemeEnvName       = "CLOUDTEMPLE_HTTP_SCHEME"
	HTTPClientIDEnvName     = "CLOUDTEMPLE_CLIENT_ID"
	HTTPClientSecretEnvName = "CLOUDTEMPLE_SECRET_ID"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Activity

type Activity struct {
	ID             string                   `terraform:"id"`
	TenantId       string                   `terraform:"tenant_id"`
	Description    string                   `terraform:"description"`
	Type           string                   `terraform:"type"`
	Tags           []string                 `terraform:"tags"`
	CreationDate   time.Time                `terraform:"creation_date"`
	ConcernedItems []ActivityConcernedItem  `terraform:"concerned_items"`
	State          map[string]ActivityState `terraform:"-"`
}

type ActivityClient

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

func (*ActivityClient) List

func (c *ActivityClient) List(ctx context.Context, filter *struct{}) ([]*Activity, error)

func (*ActivityClient) Read

func (c *ActivityClient) Read(ctx context.Context, id string) (*Activity, error)

func (*ActivityClient) WaitForCompletion

func (c *ActivityClient) WaitForCompletion(ctx context.Context, id string, options *WaiterOptions) (*Activity, error)

type ActivityCompletionError added in v0.2.2

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

func (*ActivityCompletionError) Error added in v0.2.2

func (a *ActivityCompletionError) Error() string

type ActivityConcernedItem

type ActivityConcernedItem struct {
	ID   string `terraform:"id"`
	Type string `terraform:"type"`
}

type ActivityState

type ActivityState struct {
	StartDate   string
	StopDate    string
	Reason      string
	Result      string
	Progression float64
}

type AssignmentClient

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

func (*AssignmentClient) List

func (a *AssignmentClient) List(ctx context.Context, userId, tenantId, roleId string) ([]*TenantAssignment, error)

type BackupAssignVirtualDiskRequest added in v0.6.0

type BackupAssignVirtualDiskRequest struct {
	VirtualDiskId string   `json:"virtualDiskId"`
	SLAPolicies   []string `json:"slaPolicies"`
}

type BackupAssignVirtualMachineRequest added in v0.2.0

type BackupAssignVirtualMachineRequest struct {
	VirtualMachineIds []string `json:"virtualMachineIds"`
	SLAPolicies       []string `json:"slaPolicies"`
}

type BackupBackupClient

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

type BackupClient

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

func (*BackupClient) Backup

func (c *BackupClient) Backup() *BackupBackupClient

func (*BackupClient) Job

func (c *BackupClient) Job() *BackupJobClient

func (*BackupClient) JobSession

func (c *BackupClient) JobSession() *BackupJobSessionClient

func (*BackupClient) Metrics

func (c *BackupClient) Metrics() *BackupMetricsClient

func (*BackupClient) SLAPolicy

func (c *BackupClient) SLAPolicy() *BackupSLAPolicyClient

func (*BackupClient) SPPServer

func (c *BackupClient) SPPServer() *BackupSPPServerClient

func (*BackupClient) Site

func (c *BackupClient) Site() *BackupSiteClient

func (*BackupClient) Storage

func (c *BackupClient) Storage() *BackupStorageClient

func (*BackupClient) VCenter

func (c *BackupClient) VCenter() *BackupVCenterClient

func (*BackupClient) VirtualMachine added in v0.6.0

func (c *BackupClient) VirtualMachine() *BackupVirtualMachineClient

type BackupJob

type BackupJob struct {
	ID          string `terraform:"id"`
	Name        string `terraform:"name"`
	DisplayName string `terraform:"display_name"`
	Type        string `terraform:"type"`
	Status      string `terraform:"status"`
	PolicyId    string `terraform:"policy_id"`
}

type BackupJobClient

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

func (*BackupJobClient) List

func (c *BackupJobClient) List(ctx context.Context, filter *BackupJobFilter) ([]*BackupJob, error)

func (*BackupJobClient) Read

func (c *BackupJobClient) Read(ctx context.Context, id string) (*BackupJob, error)

func (*BackupJobClient) Run added in v0.2.0

func (*BackupJobClient) WaitForCompletion added in v0.2.0

func (c *BackupJobClient) WaitForCompletion(ctx context.Context, id string, options *WaiterOptions) (*BackupJob, error)

type BackupJobCompletionError added in v0.3.0

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

func (*BackupJobCompletionError) Error added in v0.3.0

func (b *BackupJobCompletionError) Error() string

type BackupJobFilter added in v0.2.0

type BackupJobFilter struct {
	Type string
}

type BackupJobRunRequest added in v0.2.0

type BackupJobRunRequest struct {
	JobId    string `json:"jobId"`
	PolicyId string `json:"policyId,omitempty"`
}

type BackupJobSession

type BackupJobSession struct {
	ID            string                 `terraform:"id"`
	JobName       string                 `terraform:"job_name"`
	SlaPolicyType string                 `terraform:"sla_policy_type"`
	JobId         string                 `terraform:"job_id"`
	Type          string                 `terraform:"type"`
	Duration      int                    `terraform:"duration"`
	Start         int                    `terraform:"start"`
	End           int                    `terraform:"end"`
	Status        string                 `terraform:"status"`
	Statistics    BackupStatistics       `terraform:"statistics"`
	SLAPolicies   []*BackupSLAPolicyStub `terraform:"sla_policies"`
}

type BackupJobSessionClient

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

func (*BackupJobSessionClient) List

func (c *BackupJobSessionClient) List(ctx context.Context, filter *struct{}) ([]*BackupJobSession, error)

type BackupMetricsClient

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

func (*BackupMetricsClient) Coverage

func (*BackupMetricsClient) History

func (*BackupMetricsClient) Platform

func (*BackupMetricsClient) PlatformCPU

func (*BackupMetricsClient) Policies

func (*BackupMetricsClient) VirtualMachines

type BackupMetricsCoverage

type BackupMetricsCoverage struct {
	FailedResources      int `terraform:"failed_resources"`
	ProtectedResources   int `terraform:"protected_resources"`
	UnprotectedResources int `terraform:"unprotected_resources"`
	TotalResources       int `terraform:"total_resources"`
}

type BackupMetricsHistory

type BackupMetricsHistory struct {
	TotalRuns     int     `terraform:"total_runs"`
	SucessPercent float64 `terraform:"sucess_percent"`
	Failed        int     `terraform:"failed"`
	Warning       int     `terraform:"warning"`
	Success       int     `terraform:"success"`
	Running       int     `terraform:"running"`
}

type BackupMetricsPlatform

type BackupMetricsPlatform struct {
	Version        string `terraform:"version"`
	Build          string `terraform:"build"`
	Date           string `terraform:"date"`
	Product        string `terraform:"product"`
	Epoch          int    `terraform:"epoch"`
	DeploymentType string `terraform:"deployment_type"`
}

type BackupMetricsPlatformCPU

type BackupMetricsPlatformCPU struct {
	CPUUtil int `terraform:"cpu_util"`
}

type BackupMetricsPolicies

type BackupMetricsPolicies struct {
	Name                string `terraform:"name"`
	TriggerType         string `terraform:"trigger_type"`
	NumberOfProtectedVM int    `terraform:"number_of_protected_vm"`
}

type BackupMetricsVirtualMachines

type BackupMetricsVirtualMachines struct {
	InSPP               int `terraform:"in_spp"`
	InCompute           int `terraform:"in_compute"`
	WithBackup          int `terraform:"with_backup"`
	InSLA               int `terraform:"in_sla"`
	InOffloadingSLA     int `terraform:"in_offloading_sla"`
	TSMOffloadingFactor int `terraform:"tsm_offloading_factor"`
}

type BackupSLAPolicy

type BackupSLAPolicy struct {
	ID          string                `terraform:"id"`
	Name        string                `terraform:"name"`
	SubPolicies []*BackupSLASubPolicy `terraform:"sub_policies"`
}

type BackupSLAPolicyClient

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

func (*BackupSLAPolicyClient) AssignVirtualDisk added in v0.6.0

func (*BackupSLAPolicyClient) AssignVirtualMachine added in v0.2.0

func (*BackupSLAPolicyClient) List

func (*BackupSLAPolicyClient) Read

type BackupSLAPolicyFilter added in v0.2.0

type BackupSLAPolicyFilter struct {
	VirtualMachineId string `filter:"virtualMachineId"`
	VirtualDiskId    string `filter:"virtualDiskId"`
	Assignable       *bool  `filter:"assignable"`
}

type BackupSLAPolicyRetention

type BackupSLAPolicyRetention struct {
	Age int `terraform:"age"`
}

type BackupSLAPolicyStub

type BackupSLAPolicyStub struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`
	HREF string `terraform:"href"`
}

type BackupSLAPolicyTarget

type BackupSLAPolicyTarget struct {
	ID           string `terraform:"id"`
	Href         string `terraform:"href"`
	ResourceType string `terraform:"resource_type"`
}

type BackupSLAPolicyTrigger

type BackupSLAPolicyTrigger struct {
	Frequency    int    `terraform:"frequency"`
	Type         string `terraform:"type"`
	ActivateDate int    `terraform:"activate_date"`
}

type BackupSLASubPolicy

type BackupSLASubPolicy struct {
	Type          string                   `terraform:"type"`
	UseEncryption bool                     `terraform:"use_encryption"`
	Software      bool                     `terraform:"software"`
	Site          string                   `terraform:"site"`
	Retention     BackupSLAPolicyRetention `terraform:"retention"`
	Trigger       BackupSLAPolicyTrigger   `terraform:"trigger"`
	Target        BackupSLAPolicyTarget    `terraform:"target"`
}

type BackupSPPServer

type BackupSPPServer struct {
	ID      string `terraform:"id"`
	Name    string `terraform:"name"`
	Address string `terraform:"address"`
}

type BackupSPPServerClient

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

func (*BackupSPPServerClient) List

func (c *BackupSPPServerClient) List(ctx context.Context, tenantId string) ([]*BackupSPPServer, error)

func (*BackupSPPServerClient) Read

type BackupSite

type BackupSite struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`
}

type BackupSiteClient

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

func (*BackupSiteClient) List

func (c *BackupSiteClient) List(ctx context.Context) ([]*BackupSite, error)

type BackupStatistics

type BackupStatistics struct {
	Total   int `terraform:"total"`
	Success int `terraform:"success"`
	Failed  int `terraform:"failed"`
	Skipped int `terraform:"skipped"`
}

type BackupStorage

type BackupStorage struct {
	ID               string                `terraform:"id"`
	ResourceType     string                `terraform:"resource_type"`
	Type             string                `terraform:"type"`
	Site             string                `terraform:"site"`
	Name             string                `terraform:"name"`
	StorageId        string                `terraform:"storage_id"`
	HostAddress      string                `terraform:"host_address"`
	PortNumber       int                   `terraform:"port_number"`
	SSLConnection    bool                  `terraform:"ssl_connection"`
	InitializeStatus string                `terraform:"initialize_status"`
	Version          string                `terraform:"version"`
	IsReady          bool                  `terraform:"is_ready"`
	Capacity         BackupStorageCapacity `terraform:"capacity"`
}

type BackupStorageCapacity

type BackupStorageCapacity struct {
	Free       int `terraform:"free"`
	Total      int `terraform:"total"`
	UpdateTime int `terraform:"update_time"`
}

type BackupStorageClient

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

func (*BackupStorageClient) List

type BackupVCenter

type BackupVCenter struct {
	ID          string `terraform:"id"`
	InternalId  int    `terraform:"internal_id"`
	InstanceId  string `terraform:"instance_id"`
	SppServerId string `terraform:"spp_server_id"`
	Name        string `terraform:"name"`
}

type BackupVCenterClient

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

func (*BackupVCenterClient) List

func (c *BackupVCenterClient) List(ctx context.Context, sppServerId string) ([]*BackupVCenter, error)

type BackupVirtualMachine added in v0.6.0

type BackupVirtualMachine struct {
	ID                string                       `terraform:"id"`
	Name              string                       `terraform:"name"`
	Moref             string                       `terraform:"moref"`
	InternalId        string                       `terraform:"internal_id"`
	InternalVCenterId int                          `terraform:"internal_vcenter_id"`
	VCenterId         string                       `terraform:"vcenter_id"`
	Href              string                       `terraform:"href"`
	MetadataPath      string                       `terraform:"matadata_path"`
	StorageProfiles   []string                     `terraform:"storage_profiles"`
	DatacenterName    string                       `terraform:"datacenter_name"`
	Volumes           []BackupVirtualMachineVolume `terraform:"volumes"`
}

type BackupVirtualMachineClient added in v0.6.0

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

func (*BackupVirtualMachineClient) Read added in v0.6.0

func (*BackupVirtualMachineClient) WaitForInventory added in v0.7.0

func (c *BackupVirtualMachineClient) WaitForInventory(ctx context.Context, id string, options *WaiterOptions) (*BackupVirtualMachine, error)

type BackupVirtualMachineNotFoundError added in v0.7.0

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

func (*BackupVirtualMachineNotFoundError) Error added in v0.7.0

type BackupVirtualMachineVolume added in v0.6.0

type BackupVirtualMachineVolume struct {
	Name         string `terraform:"name"`
	Key          string `terraform:"key"`
	Size         int    `terraform:"size"`
	ConfigVolume bool   `terraform:"config_volume"`
}

type BootOptions

type BootOptions struct {
	BootDelay            int    `json:"bootDelay"`
	BootRetryDelay       int    `json:"bootRetryDelay"`
	BootRetryEnabled     bool   `json:"bootRetryEnabled"`
	EnterBIOSSetup       bool   `json:"enterBIOSSetup"`
	Firmware             string `json:"firmware"`
	EFISecureBootEnabled bool   `json:"efiSecureBootEnabled"`
}

type Client

type Client struct {
	UserAgent string
	// contains filtered or unexported fields
}

func NewClient

func NewClient(config *Config) (*Client, error)

func (*Client) Activity

func (c *Client) Activity() *ActivityClient

func (*Client) Backup

func (c *Client) Backup() *BackupClient

func (*Client) Compute

func (c *Client) Compute() *ComputeClient

func (*Client) IAM

func (c *Client) IAM() *IAM

func (*Client) Tag

func (c *Client) Tag() *TagClient

func (*Client) Token

func (c *Client) Token(ctx context.Context) (*LoginToken, error)

type CloneVirtualMachineRequest added in v0.2.0

type CloneVirtualMachineRequest struct {
	Name              string `json:"name"`
	VirtualMachineId  string `json:"-"`
	PowerOn           bool   `json:"powerOn"`
	DatacenterId      string `json:"datacenterId,omitempty"`
	HostClusterId     string `json:"hostClusterId,omitempty"`
	HostId            string `json:"hostId,omitempty"`
	DatatoreClusterId string `json:"datastoreClusterId,omitempty"`
	DatastoreId       string `json:"datastoreId,omitempty"`
}

type Company

type Company struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`
}

type CompanyClient

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

func (*CompanyClient) Read

func (c *CompanyClient) Read(ctx context.Context, companyID string) (*Company, error)

type ComputeClient

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

func (*ComputeClient) ContentLibrary

func (c *ComputeClient) ContentLibrary() *ContentLibraryClient

func (*ComputeClient) Datastore

func (c *ComputeClient) Datastore() *DatastoreClient

func (*ComputeClient) DatastoreCluster

func (c *ComputeClient) DatastoreCluster() *DatastoreClusterClient

func (*ComputeClient) Folder

func (c *ComputeClient) Folder() *FolderClient

func (*ComputeClient) GuestOperatingSystem

func (c *ComputeClient) GuestOperatingSystem() *GuestOperatingSystemClient

func (*ComputeClient) Host

func (c *ComputeClient) Host() *HostClient

func (*ComputeClient) HostCluster

func (c *ComputeClient) HostCluster() *HostClusterClient

func (*ComputeClient) Network

func (c *ComputeClient) Network() *NetworkClient

func (*ComputeClient) NetworkAdapter

func (c *ComputeClient) NetworkAdapter() *NetworkAdapterClient

func (*ComputeClient) ResourcePool

func (c *ComputeClient) ResourcePool() *ResourcePoolClient

func (*ComputeClient) Snapshot

func (c *ComputeClient) Snapshot() *SnapshotClient

func (*ComputeClient) VirtualController

func (c *ComputeClient) VirtualController() *VirtualControllerClient

func (*ComputeClient) VirtualDatacenter

func (c *ComputeClient) VirtualDatacenter() *VirtualDatacenterClient

func (*ComputeClient) VirtualDisk

func (c *ComputeClient) VirtualDisk() *VirtualDiskClient

func (*ComputeClient) VirtualMachine

func (c *ComputeClient) VirtualMachine() *VirtualMachineClient

func (*ComputeClient) VirtualSwitch

func (c *ComputeClient) VirtualSwitch() *VirtualSwitchClient

func (*ComputeClient) Worker

func (c *ComputeClient) Worker() *WorkerClient

type ComputeContentLibraryItemDeployRequest added in v0.3.0

type ComputeContentLibraryItemDeployRequest struct {
	ContentLibraryId      string          `json:"-"`
	ContentLibraryItemId  string          `json:"contentLibraryItemId"`
	Name                  string          `json:"name"`
	HostClusterId         string          `json:"hostClusterId,omitempty"`
	HostId                string          `json:"hostId,omitempty"`
	DatastoreId           string          `json:"datastoreId,"`
	DatacenterId          string          `json:"datacenterId,omitempty"`
	PowerOn               bool            `json:"powerOn"`
	DisksProvisioningType string          `json:"disksProvisioningType,omitempty"`
	DeployOptions         []*DeployOption `json:"deployOptions,omitempty"`
	NetworkData           []*NetworkData  `json:"networkData,omitempty"`
}

type Config

type Config struct {
	Address string

	ApiSuffix bool

	Scheme string

	HttpClient *http.Client

	Transport http.RoundTripper

	ClientID, SecretID string
	// contains filtered or unexported fields
}

func DefaultConfig

func DefaultConfig() *Config

type ContentLibrary

type ContentLibrary struct {
	ID               string        `terraform:"id"`
	Name             string        `terraform:"name"`
	MachineManagerID string        `terraform:"machine_manager_id"`
	Type             string        `terraform:"type"`
	Datastore        DatastoreLink `terraform:"datastore"`
}

type ContentLibraryClient

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

func (*ContentLibraryClient) Deploy added in v0.3.0

func (*ContentLibraryClient) List

func (*ContentLibraryClient) ListItems

func (*ContentLibraryClient) Read

func (*ContentLibraryClient) ReadItem

func (c *ContentLibraryClient) ReadItem(ctx context.Context, contentLibraryId, contentLibraryItemId string) (*ContentLibraryItem, error)

type ContentLibraryFilter added in v0.8.0

type ContentLibraryFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
}

type ContentLibraryItem

type ContentLibraryItem struct {
	ID               string    `terraform:"id"`
	ContentLibraryId string    `terraform:"content_library_id"`
	Name             string    `terraform:"name"`
	Description      string    `terraform:"description"`
	Type             string    `terraform:"type"`
	CreationTime     time.Time `terraform:"creation_time"`
	Size             int       `terraform:"size"`
	Stored           bool      `terraform:"stored"`
	LastModifiedTime string    `terraform:"last_modified_time"`
	OvfProperties    []string  `terraform:"ovf_properties"`
}

type ContentLibraryItemFilter added in v0.8.0

type ContentLibraryItemFilter struct {
	Name             string `filter:"name"`
	ContentLibraryId string `terraform:"content_library_id"`
}

type CreateNetworkAdapterRequest

type CreateNetworkAdapterRequest struct {
	VirtualMachineId string `json:"virtualMachineId"`
	NetworkId        string `json:"networkId"`
	Type             string `json:"type"`
	MacAddress       string `json:"macAddress,omitempty"`
}

type CreateTagRequest

type CreateTagRequest struct {
	Key       string                      `json:"key"`
	Value     string                      `json:"value"`
	Resources []*CreateTagRequestResource `json:"resources"`
}

type CreateTagRequestResource

type CreateTagRequestResource struct {
	UUID   string `json:"uuid"`
	Type   string `json:"type"`
	Source string `json:"source"`
}

type CreateVirtualControllerRequest added in v0.11.0

type CreateVirtualControllerRequest struct {
	VirtualMachineId string `json:"virtualMachineId"`
	Type             string `json:"type"`
	SubType          string `json:"subType,omitempty"`
}

type CreateVirtualDiskRequest

type CreateVirtualDiskRequest struct {
	ControllerId       string `json:"controllerId,omitempty"`
	ProvisioningType   string `json:"provisioningType"`
	DiskMode           string `json:"diskMode"`
	Capacity           int    `json:"capacity"`
	VirtualMachineId   string `json:"virtualMachineId"`
	DatastoreId        string `json:"datastoreId,omitempty"`
	DatastoreClusterId string `json:"datastoreClusterId,omitempty"`
}

type CreateVirtualMachineRequest

type CreateVirtualMachineRequest struct {
	DatacenterId              string `json:"datacenterId,omitempty"`
	HostId                    string `json:"hostId,omitempty"`
	HostClusterId             string `json:"hostClusterId,omitempty"`
	DatastoreId               string `json:"datastoreId,omitempty"`
	DatastoreClusterId        string `json:"datastoreClusterId,omitempty"`
	Name                      string `json:"name,omitempty"`
	Memory                    int    `json:"memory,omitempty"`
	CPU                       int    `json:"cpu,omitempty"`
	GuestOperatingSystemMoref string `json:"guestOperatingSystemMoref,omitempty"`
}

type CustomAdapterConfig added in v0.12.0

type CustomAdapterConfig struct {
	MacAddress string `json:"macAddress,omitempty"`
	IpAddress  string `json:"ipAddress"`
	SubnetMask string `json:"subnetMask"`
	Gateway    string `json:"gateway"`
}

type CustomGuestNetworkConfig added in v0.12.0

type CustomGuestNetworkConfig struct {
	Hostname      string                 `json:"hostname"`
	Domain        string                 `json:"domain"`
	DnsServerList []string               `json:"dnsServerList,omitempty"`
	DnsSuffixList []string               `json:"dnsSuffixList,omitempty"`
	Adapters      []*CustomAdapterConfig `json:"adapters,omitempty"`
}

type CustomGuestWindowsConfig added in v0.12.0

type CustomGuestWindowsConfig struct {
	AutoLogon           bool   `json:"autoLogon"`
	AutoLogonCount      int    `json:"autoLogonCount"`
	TimeZone            int    `json:"timezone"`
	Password            string `json:"password"`
	JoinDomain          string `json:"joinDomain,omitempty"`
	DomainAdmin         string `json:"domainAdmin,omitempty"`
	DomainAdminPassword string `json:"domainAdminPassword,omitempty"`
	JoinWorkgroup       string `json:"joinWorkgroup,omitempty"`
}

type CustomizeGuestOSRequest added in v0.12.0

type CustomizeGuestOSRequest struct {
	NetworkConfig *CustomGuestNetworkConfig `json:"networkConfig"`
	WindowsConfig *CustomGuestWindowsConfig `json:"windowsConfig,omitempty"`
}

type Datastore

type Datastore struct {
	ID                    string   `terraform:"id"`
	Name                  string   `terraform:"name"`
	Moref                 string   `terraform:"moref"`
	MaxCapacity           int      `terraform:"max_capacity"`
	FreeCapacity          int      `terraform:"free_capacity"`
	Accessible            int      `terraform:"accessible"`
	MaintenanceStatus     string   `terraform:"maintenance_status"`
	UniqueId              string   `terraform:"unique_id"`
	MachineManagerId      string   `terraform:"machine_manager_id"`
	Type                  string   `terraform:"type"`
	VirtualMachinesNumber int      `terraform:"virtual_machines_number"`
	HostsNumber           int      `terraform:"hosts_number"`
	HostsNames            []string `terraform:"hosts_names"`
	AssociatedFolder      string   `terraform:"associated_folder"`
}

type DatastoreClient

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

func (*DatastoreClient) List

func (d *DatastoreClient) List(
	ctx context.Context,
	filter *DatastoreFilter) ([]*Datastore, error)

func (*DatastoreClient) Read

func (d *DatastoreClient) Read(ctx context.Context, id string) (*Datastore, error)

type DatastoreCluster

type DatastoreCluster struct {
	ID               string                  `terraform:"id"`
	Name             string                  `terraform:"name"`
	Moref            string                  `terraform:"moref"`
	MachineManagerId string                  `terraform:"machine_manager_id"`
	Datastores       []string                `terraform:"datastores"`
	Metrics          DatastoreClusterMetrics `terraform:"metrics"`
}

type DatastoreClusterClient

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

func (*DatastoreClusterClient) List

func (*DatastoreClusterClient) Read

type DatastoreClusterFilter added in v0.6.0

type DatastoreClusterFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
	DatacenterId     string `filter:"datacenterId"`
	HostId           string `filter:"hostId"`
	HostClusterId    string `filter:"hostClusterId"`
}

type DatastoreClusterMetrics

type DatastoreClusterMetrics struct {
	FreeCapacity                  int    `terraform:"free_capacity"`
	MaxCapacity                   int    `terraform:"max_capacity"`
	Enabled                       bool   `terraform:"enabled"`
	DefaultVmBehavior             string `terraform:"default_vm_behavior"`
	LoadBalanceInterval           int    `terraform:"load_balance_interval"`
	SpaceThresholdMode            string `terraform:"space_threshold_mode"`
	SpaceUtilizationThreshold     int    `terraform:"space_utilization_threshold"`
	MinSpaceUtilizationDifference int    `terraform:"min_space_utilization_difference"`
	ReservablePercentThreshold    int    `terraform:"reservable_percent_threshold"`
	ReservableThresholdMode       string `terraform:"reservable_threshold_mode"`
	IoLatencyThreshold            int    `terraform:"io_latency_threshold"`
	IoLoadImbalanceThreshold      int    `terraform:"io_load_imbalance_threshold"`
	IoLoadBalanceEnabled          bool   `terraform:"io_load_balance_enabled"`
}

type DatastoreFilter added in v0.6.0

type DatastoreFilter struct {
	Name               string `filter:"name"`
	MachineManagerId   string `filter:"machineManagerId"`
	DatacenterId       string `filter:"datacenterId"`
	HostId             string `filter:"hostId"`
	HostClusterId      string `filter:"hostClusterId"`
	DatastoreClusterId string `filter:"datastoreClusterId"`
}
type DatastoreLink struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`
}

type DeployOption added in v0.3.0

type DeployOption struct {
	ID    string `json:"id"`
	Value string `json:"value"`
}

type DiskPlacement added in v0.4.0

type DiskPlacement struct {
	VirtualDiskId      string `json:"virtualDiskId"`
	VirtualMachineId   string `json:"virtualMachineId"`
	DatastoreId        string `json:"datastoreId"`
	DatastoreClusterId string `json:"datastoreClusterId"`
}

type Feature

type Feature struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`

	SubFeatures []*Feature `terraform:"subfeatures"`
}

type FeatureAssignment

type FeatureAssignment struct {
	FeatureID string
	TenantID  string
}

type FeatureClient

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

func (*FeatureClient) List

func (f *FeatureClient) List(ctx context.Context) ([]*Feature, error)

func (*FeatureClient) ListAssignments

func (f *FeatureClient) ListAssignments(ctx context.Context, tenantID string) ([]*FeatureAssignment, error)

type Folder

type Folder struct {
	ID               string `terraform:"id"`
	Name             string `terraform:"name"`
	MachineManagerId string `terraform:"machine_manager_id"`
}

type FolderClient

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

func (*FolderClient) List

func (f *FolderClient) List(
	ctx context.Context,
	machineManagerId string,
	datacenterId string) ([]*Folder, error)

func (*FolderClient) Read

func (f *FolderClient) Read(ctx context.Context, id string) (*Folder, error)

type GuestOperatingSystem

type GuestOperatingSystem struct {
	Moref    string `terraform:"moref"`
	Family   string `terraform:"family"`
	FullName string `terraform:"full_name"`
}

type GuestOperatingSystemClient

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

func (*GuestOperatingSystemClient) List

func (g *GuestOperatingSystemClient) List(
	ctx context.Context,
	machineManagerId string,
	hostClusterId string,
	hostId string,
	osFamily string) ([]*GuestOperatingSystem, error)

func (*GuestOperatingSystemClient) Read

func (g *GuestOperatingSystemClient) Read(ctx context.Context, machineManagerId string, moref string) (*GuestOperatingSystem, error)

type Host

type Host struct {
	ID               string                    `terraform:"id"`
	Name             string                    `terraform:"name"`
	Moref            string                    `terraform:"moref"`
	MachineManagerID string                    `terraform:"machine_manager_id"`
	Metrics          HostMetrics               `terraform:"metrics"`
	VirtualMachines  []HostVirtualMachinesStub `terraform:"virtual_machines"`
}

type HostClient

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

func (*HostClient) List

func (h *HostClient) List(
	ctx context.Context,
	machineManagerID string,
	DatacenterID string,
	hostClusterID string,
	datastoreID string) ([]*Host, error)

func (*HostClient) Read

func (h *HostClient) Read(ctx context.Context, id string) (*Host, error)

type HostCluster

type HostCluster struct {
	ID                    string                `terraform:"id"`
	Name                  string                `terraform:"name"`
	Moref                 string                `terraform:"moref"`
	Hosts                 []HostClusterHostStub `terraform:"hosts"`
	Metrics               HostClusterMetrics    `terraform:"metrics"`
	VirtualMachinesNumber int                   `terraform:"virtual_machines_number"`
	MachineManagerId      string                `terraform:"machine_manager_id"`
}

type HostClusterClient

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

func (*HostClusterClient) List

func (h *HostClusterClient) List(
	ctx context.Context,
	filter *HostClusterFilter) ([]*HostCluster, error)

func (*HostClusterClient) Read

type HostClusterFilter added in v0.6.0

type HostClusterFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
	DatacenterId     string `filter:"datacenterId"`
	DatastoreId      string `filter:"datastoreId"`
}

type HostClusterHostStub

type HostClusterHostStub struct {
	ID   string `terraform:"id"`
	Type string `terraform:"type"`
}

type HostClusterMetrics

type HostClusterMetrics struct {
	TotalCpu     int `terraform:"total_cpu"`
	TotalMemory  int `terraform:"total_memory"`
	TotalStorage int `terraform:"total_storage"`
	CpuUsed      int `terraform:"cpu_used"`
	MemoryUsed   int `terraform:"memory_used"`
	StorageUsed  int `terraform:"storage_used"`
}

type HostMetrics

type HostMetrics struct {
	ESX               HostMetricsESXStub    `terraform:"esx"`
	CPU               HostMetricsCPUStub    `terraform:"cpu"`
	Memory            HostMetricsMemoryStub `terraform:"memory"`
	MaintenanceStatus bool                  `terraform:"maintenance_status"`
	Uptime            int                   `terraform:"uptime"`
	Connected         bool                  `terraform:"connected"`
}

type HostMetricsCPUStub

type HostMetricsCPUStub struct {
	OverallCPUUsage int `terraform:"overall_cpu_usage"`
	CPUMhz          int `terraform:"cpu_mhz"`
	CPUCores        int `terraform:"cpu_cores"`
	CPUThreads      int `terraform:"cpu_threads"`
}

type HostMetricsESXStub

type HostMetricsESXStub struct {
	Version  string `terraform:"version"`
	Build    int    `terraform:"build"`
	FullName string `terraform:"full_name"`
}

type HostMetricsMemoryStub

type HostMetricsMemoryStub struct {
	MemorySize  int `terraform:"memory_size"`
	MemoryUsage int `terraform:"memory_usage"`
}

type HostVirtualMachinesStub

type HostVirtualMachinesStub struct {
	ID   string `terraform:"id"`
	Type string `terraform:"type"`
}

type IAM

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

func (*IAM) Assignment

func (i *IAM) Assignment() *AssignmentClient

func (*IAM) Company

func (i *IAM) Company() *CompanyClient

func (*IAM) Feature

func (i *IAM) Feature() *FeatureClient

func (*IAM) PAT

func (i *IAM) PAT() *PATClient

func (*IAM) Role

func (i *IAM) Role() *RoleClient

func (*IAM) Tenant

func (i *IAM) Tenant() *TenantClient

func (*IAM) User

func (i *IAM) User() *UserClient

type LoginToken

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

func (*LoginToken) CompanyID

func (l *LoginToken) CompanyID() string

func (*LoginToken) TenantID

func (l *LoginToken) TenantID() string

func (*LoginToken) UserID

func (l *LoginToken) UserID() string

type MountVirtualControllerRequest added in v0.11.0

type MountVirtualControllerRequest struct {
	ID                   string `json:"id"`
	IsoPath              string `json:"isoPath,omitempty"`
	ContentLibraryItemId string `json:"contentLibraryItemId,omitempty"`
}

type Network

type Network struct {
	ID                    string   `terraform:"id"`
	Name                  string   `terraform:"name"`
	Moref                 string   `terraform:"moref"`
	MachineManagerId      string   `terraform:"machine_manager_id"`
	VirtualMachinesNumber int      `terraform:"virtual_machines_number"`
	HostNumber            int      `terraform:"host_number"`
	HostNames             []string `terraform:"host_names"`
}

type NetworkAdapter

type NetworkAdapter struct {
	ID               string `terraform:"id"`
	VirtualMachineId string `terraform:"virtual_machine_id"`
	Name             string `terraform:"name"`
	NetworkId        string `terraform:"network_id"`
	Type             string `terraform:"type"`
	MacType          string `terraform:"mac_type"`
	MacAddress       string `terraform:"mac_address"`
	Connected        bool   `terraform:"connected"`
	AutoConnect      bool   `terraform:"auto_connect"`
}

type NetworkAdapterClient

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

func (*NetworkAdapterClient) Connect

func (n *NetworkAdapterClient) Connect(ctx context.Context, id string) (string, error)

func (*NetworkAdapterClient) Create

func (*NetworkAdapterClient) Delete

func (n *NetworkAdapterClient) Delete(ctx context.Context, id string) (string, error)

func (*NetworkAdapterClient) Disconnect

func (n *NetworkAdapterClient) Disconnect(ctx context.Context, id string) (string, error)

func (*NetworkAdapterClient) List

func (n *NetworkAdapterClient) List(ctx context.Context, virtualMachineId string) ([]*NetworkAdapter, error)

func (*NetworkAdapterClient) Read

func (*NetworkAdapterClient) Update

type NetworkClient

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

func (*NetworkClient) List

func (n *NetworkClient) List(
	ctx context.Context,
	filter *NetworkFilter) ([]*Network, error)

func (*NetworkClient) Read

func (n *NetworkClient) Read(ctx context.Context, id string) (*Network, error)

type NetworkData added in v0.3.0

type NetworkData struct {
	NetworkAdapterId string `json:"networkAdapterId"`
	NetworkId        string `json:"networkId"`
}

type NetworkFilter added in v0.8.1

type NetworkFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
	DatacenterId     string `filter:"datacenterId"`
	VirtualMachineId string `filter:"virtualMachineId"`
	Type             string `filter:"type"`
	VirtualSwitchId  string `filter:"virtualSwitchId"`
	HostId           string `filter:"hostId"`
	HostClusterId    string `filter:"hostClusterId"`
	FolderId         string `filter:"folderId"`
}

type PATClient

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

func (*PATClient) Create

func (p *PATClient) Create(ctx context.Context, name string, roles []string, expirationDate int) (*Token, error)

func (*PATClient) Delete

func (p *PATClient) Delete(ctx context.Context, patID string) error

func (*PATClient) List

func (p *PATClient) List(ctx context.Context, userId string, tenantId string) ([]*Token, error)

func (*PATClient) Read

func (p *PATClient) Read(ctx context.Context, patID string) (*Token, error)

type PowerRequest

type PowerRequest struct {
	ID             string                             `json:"id,omitempty"`
	DatacenterId   string                             `json:"datacenterId,omitempty"`
	PowerAction    string                             `json:"powerAction,omitempty"`
	ForceEnterBIOS bool                               `json:"forceEnterBIOS,omitempty"`
	Recommendation *VirtualMachinePowerRecommendation `json:"recommendation,omitempty"`
}

type RelocateVirtualMachineRequest added in v0.4.0

type RelocateVirtualMachineRequest struct {
	VirtualMachines    []string         `json:"virtualMachines"`
	Priority           string           `json:"priority"`
	DatacenterId       string           `json:"datacenterId,omitempty"`
	HostId             string           `json:"hostId,omitempty"`
	HostClusterId      string           `json:"hostClusterId,omitempty"`
	DatastoreId        string           `json:"datastoreId,omitempty"`
	DatastoreClusterId string           `json:"datastoreClusterId,omitempty"`
	NetworkData        []*NetworkData   `json:"networkData,omitempty"`
	DiskPlacements     []*DiskPlacement `json:"diskPlacements,omitempty"`
}

type ResourcePool

type ResourcePool struct {
	ID               string              `terraform:"id"`
	Name             string              `terraform:"name"`
	MachineManagerID string              `terraform:"machine_manager_id"`
	Moref            string              `terraform:"moref"`
	Parent           ResourcePoolParent  `terraform:"parent"`
	Metrics          ResourcePoolMetrics `terraform:"metrics"`
}

type ResourcePoolCPUMetrics

type ResourcePoolCPUMetrics struct {
	MaxUsage        int `terraform:"max_usage"`
	ReservationUsed int `terraform:"reservation_used"`
}

type ResourcePoolClient

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

func (*ResourcePoolClient) List

func (rp *ResourcePoolClient) List(
	ctx context.Context,
	machineManagerID string,
	DatacenterID string,
	hostClusterID string) ([]*ResourcePool, error)

func (*ResourcePoolClient) Read

type ResourcePoolMemoryMetrics

type ResourcePoolMemoryMetrics struct {
	MaxUsage        int `terraform:"max_usage"`
	ReservationUsed int `terraform:"reservation_used"`
	BalloonedMemory int `terraform:"ballooned_memory"`
}

type ResourcePoolMetrics

type ResourcePoolMetrics struct {
	CPU    ResourcePoolCPUMetrics    `terraform:"cpu"`
	Memory ResourcePoolMemoryMetrics `terraform:"memory"`
}

type ResourcePoolParent

type ResourcePoolParent struct {
	ID   string `terraform:"id"`
	Type string `terraform:"type"`
}

type Role

type Role struct {
	ID   string `terraform:"id"`
	Name string `terraform:"name"`
}

type RoleClient

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

func (*RoleClient) List

func (r *RoleClient) List(ctx context.Context) ([]*Role, error)

func (*RoleClient) Read

func (r *RoleClient) Read(ctx context.Context, roleID string) (*Role, error)

type Snapshot

type Snapshot struct {
	ID               string `terraform:"id"`
	VirtualMachineId string `terraform:"virtual_machine_id"`
	Name             string `terraform:"name"`
	CreateTime       int    `terraform:"create_time"`
}

type SnapshotClient

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

func (*SnapshotClient) List

func (s *SnapshotClient) List(ctx context.Context, virtualMachineId string) ([]*Snapshot, error)

type StatusError

type StatusError struct {
	Code int
	Body string
}

func (StatusError) Error

func (e StatusError) Error() string

type Tag

type Tag struct {
	Key      string
	Value    string
	Tenant   string
	Resource string
}

type TagClient

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

func (*TagClient) Resource

func (c *TagClient) Resource() *TagResourceClient

type TagResourceClient

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

func (*TagResourceClient) Create

func (*TagResourceClient) Delete

func (c *TagResourceClient) Delete(ctx context.Context, resourceId string, key string) error

func (*TagResourceClient) Read

func (c *TagResourceClient) Read(ctx context.Context, resourceId string) ([]*Tag, error)

type Tenant

type Tenant struct {
	ID        string `terraform:"id"`
	Name      string `terraform:"name"`
	SNC       bool   `terraform:"snc"`
	CompanyID string `terraform:"company_id"`
}

type TenantAssignment

type TenantAssignment struct {
	UserID   string `terraform:"user_id"`
	TenantID string `terraform:"tenant_id"`
	RoleID   string `terraform:"role_id"`
}

type TenantClient

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

func (*TenantClient) List

func (t *TenantClient) List(ctx context.Context) ([]*Tenant, error)

type Token

type Token struct {
	ID             string   `terraform:"id"`
	Name           string   `terraform:"name"`
	Secret         string   `terraform:"secret"`
	Roles          []string `terraform:"roles"`
	ExpirationDate string   `terraform:"expiration_date"`
}

type UpdateGuestRequest added in v0.6.0

type UpdateGuestRequest struct {
	GuestOperatingSystemMoref string `json:"guestOperatingSystemMoref"`
}

type UpdateNetworkAdapterRequest

type UpdateNetworkAdapterRequest struct {
	ID           string `json:"id"`
	NewNetworkId string `json:"newNetworkId"`
	AutoConnect  bool   `json:"autoConnect"`
	MacAddress   string `json:"macAddress,omitempty"`
	MacType      string `json:"macType,omitempty"`
}

type UpdateVirtualDiskRequest

type UpdateVirtualDiskRequest struct {
	ID          string `json:"id"`
	NewCapacity int    `json:"newCapacity,omitempty"`
	DiskMode    string `json:"diskMode,omitempty"`
}

type UpdateVirtualMachineRequest

type UpdateVirtualMachineRequest struct {
	Id                           string       `json:"id"`
	Ram                          int          `json:"ram"`
	Cpu                          int          `json:"cpu"`
	CorePerSocket                int          `json:"corePerSocket"`
	HotCpuAdd                    bool         `json:"hotCpuAdd"`
	HotCpuRemove                 bool         `json:"hotCpuRemove"`
	HotMemAdd                    bool         `json:"hotMemAdd"`
	BootOptions                  *BootOptions `json:"bootOptions,omitempty"`
	ExposeHardwareVirtualization bool         `json:"exposeHardwareVirtualization,omitempty"`
}

type User

type User struct {
	ID            string   `terraform:"id"`
	InternalID    string   `terraform:"internal_id"`
	Name          string   `terraform:"name"`
	Type          string   `terraform:"type"`
	Source        []string `terraform:"source"`
	SourceID      string   `terraform:"source_id"`
	EmailVerified bool     `terraform:"email_verified"`
	Email         string   `terraform:"email"`
}

type UserClient

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

func (*UserClient) List

func (t *UserClient) List(ctx context.Context, companyID string) ([]*User, error)

func (*UserClient) Read

func (t *UserClient) Read(ctx context.Context, userID string) (*User, error)

type VirtualController

type VirtualController struct {
	ID               string   `terraform:"id"`
	VirtualMachineId string   `terraform:"virtual_machine_id"`
	HotAddRemove     bool     `terraform:"hot_add_remove"`
	Type             string   `terraform:"type"`
	SubType          string   `terraform:"sub_type"`
	Label            string   `terraform:"label"`
	Summary          string   `terraform:"summary"`
	VirtualDisks     []string `terraform:"virtual_disks"`
}

type VirtualControllerClient

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

func (*VirtualControllerClient) Connect added in v0.11.0

func (n *VirtualControllerClient) Connect(ctx context.Context, id string) (string, error)

func (*VirtualControllerClient) Create added in v0.11.0

func (*VirtualControllerClient) Delete added in v0.11.0

func (n *VirtualControllerClient) Delete(ctx context.Context, id string) (string, error)

func (*VirtualControllerClient) Disconnect added in v0.11.0

func (n *VirtualControllerClient) Disconnect(ctx context.Context, id string) (string, error)

func (*VirtualControllerClient) List

func (v *VirtualControllerClient) List(
	ctx context.Context,
	virtualMachineId string,
	types string) ([]*VirtualController, error)

func (*VirtualControllerClient) Mount added in v0.11.0

func (*VirtualControllerClient) Read added in v0.11.0

func (*VirtualControllerClient) Unmount added in v0.11.0

func (n *VirtualControllerClient) Unmount(ctx context.Context, id string) (string, error)

type VirtualDatacenter

type VirtualDatacenter struct {
	ID               string `terraform:"id"`
	Name             string `terraform:"name"`
	MachineManagerID string `terraform:"machine_manager_id"`
	TenantID         string `terraform:"tenant_id"`
}

type VirtualDatacenterClient

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

func (*VirtualDatacenterClient) List

func (*VirtualDatacenterClient) Read

type VirtualDatacenterFilter added in v0.6.0

type VirtualDatacenterFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
}

type VirtualDisk

type VirtualDisk struct {
	ID                  string `terraform:"id"`
	VirtualMachineId    string `terraform:"virtual_machine_id"`
	MachineManagerId    string `terraform:"machine_manager_id"`
	Name                string `terraform:"name"`
	Capacity            int    `terraform:"capacity"`
	DiskUnitNumber      int    `terraform:"disk_unit_number"`
	ControllerBusNumber int    `terraform:"controller_bus_number"`
	ControllerId        string `terraform:"controller_id"`
	DatastoreId         string `terraform:"datastore_id"`
	DatastoreName       string `terraform:"datastore_name"`
	InstantAccess       bool   `terraform:"instant_access"`
	NativeId            string `terraform:"native_id"`
	DiskPath            string `terraform:"disk_path"`
	ProvisioningType    string `terraform:"provisioning_type"`
	DiskMode            string `terraform:"disk_mode"`
	Editable            bool   `terraform:"editable"`
}

type VirtualDiskClient

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

func (*VirtualDiskClient) Create

func (*VirtualDiskClient) Delete

func (n *VirtualDiskClient) Delete(ctx context.Context, id string) (string, error)

func (*VirtualDiskClient) List

func (v *VirtualDiskClient) List(ctx context.Context, virtualMachineId string) ([]*VirtualDisk, error)

func (*VirtualDiskClient) Mount

func (n *VirtualDiskClient) Mount(ctx context.Context, virtualMachineId string, path string) (string, error)

func (*VirtualDiskClient) Read

func (*VirtualDiskClient) Unmount

func (n *VirtualDiskClient) Unmount(ctx context.Context, id string) (string, error)

func (*VirtualDiskClient) Update

type VirtualMachine

type VirtualMachine struct {
	ID                             string                          `terraform:"id"`
	Name                           string                          `terraform:"name"`
	Moref                          string                          `terraform:"moref"`
	MachineManagerType             string                          `terraform:"machine_manager_type"`
	MachineManagerId               string                          `terraform:"machine_manager_id"`
	MachineManagerName             string                          `terraform:"machine_manager_name"`
	DatastoreName                  string                          `terraform:"datastore_name"`
	ConsolidationNeeded            bool                            `terraform:"consolidation_needed"`
	Template                       bool                            `terraform:"template"`
	PowerState                     string                          `terraform:"power_state"`
	HardwareVersion                string                          `terraform:"hardware_version"`
	NumCoresPerSocket              int                             `terraform:"num_cores_per_socket"`
	OperatingSystemName            string                          `terraform:"operating_system_name"`
	OperatingSystemMoref           string                          `terraform:"guest_operating_system_moref"`
	Cpu                            int                             `terraform:"cpu"`
	CpuHotAddEnabled               bool                            `terraform:"cpu_hot_add_enabled"`
	CpuHotRemoveEnabled            bool                            `terraform:"cpu_hot_remove_enabled"`
	MemoryHotAddEnabled            bool                            `terraform:"memory_hot_add_enabled"`
	Memory                         int                             `terraform:"memory"`
	CpuUsage                       int                             `terraform:"cpu_usage"`
	MemoryUsage                    int                             `terraform:"memory_usage"`
	Tools                          string                          `terraform:"tools"`
	ToolsVersion                   int                             `terraform:"tools_version"`
	DatacenterId                   string                          `terraform:"datacenter_id"`
	HostClusterId                  string                          `terraform:"host_cluster_id"`
	DistributedVirtualPortGroupIds []string                        `terraform:"distributed_virtual_port_group_ids"`
	SppMode                        string                          `terraform:"spp_mode"`
	Snapshoted                     bool                            `terraform:"snapshoted"`
	TriggeredAlarms                []VirtualMachineTriggeredAlarm  `terraform:"triggered_alarms"`
	ReplicationConfig              VirtualMachineReplicationConfig `terraform:"replication_config"`
	ExtraConfig                    []VirtualMachineExtraConfig     `terraform:"extra_config"`
	Storage                        VirtualMachineStorage           `terraform:"storage"`
	BootOptions                    VirtualMachineBootOptions       `terraform:"boot_options"`
	ExposeHardwareVirtualization   bool                            `terraform:"expose_hardware_virtualization"`
}

type VirtualMachineBootOptions

type VirtualMachineBootOptions struct {
	Firmware             string `terraform:"firmware"`
	BootDelay            int    `terraform:"boot_delay"`
	EnterBIOSSetup       bool   `terraform:"enter_bios_setup"`
	BootRetryEnabled     bool   `terraform:"boot_retry_enabled"`
	BootRetryDelay       int    `terraform:"boot_retry_delay"`
	EFISecureBootEnabled bool   `terraform:"efi_secure_boot_enabled"`
}

type VirtualMachineClient

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

func (*VirtualMachineClient) Clone added in v0.2.0

func (*VirtualMachineClient) Create

func (*VirtualMachineClient) CustomizeGuestOS added in v0.12.0

func (v *VirtualMachineClient) CustomizeGuestOS(ctx context.Context, id string, req *CustomizeGuestOSRequest) (string, error)

func (*VirtualMachineClient) Delete

func (v *VirtualMachineClient) Delete(ctx context.Context, id string) (string, error)

func (*VirtualMachineClient) Guest added in v0.6.0

func (*VirtualMachineClient) List

func (v *VirtualMachineClient) List(
	ctx context.Context,
	allOptions bool,
	machineManagerId string,
	replicated bool,
	template bool,
	datacenters []string,
	networks []string,
	datastores []string,
	hosts []string,
	vmwareToolsVersions []int) ([]*VirtualMachine, error)

func (*VirtualMachineClient) Power

func (*VirtualMachineClient) Read

func (*VirtualMachineClient) Recommendation added in v0.6.0

func (*VirtualMachineClient) Relocate added in v0.4.0

func (*VirtualMachineClient) Rename

func (v *VirtualMachineClient) Rename(ctx context.Context, id string, name string) (string, error)

func (*VirtualMachineClient) Update

type VirtualMachineDisk

type VirtualMachineDisk struct {
	Key               int    `terraform:"key"`
	DiskReplicationId string `terraform:"disk_replication_id"`
}

type VirtualMachineExtraConfig

type VirtualMachineExtraConfig struct {
	Key   string `terraform:"key"`
	Value string `terraform:"value"`
}

type VirtualMachinePowerRecommendation added in v0.6.0

type VirtualMachinePowerRecommendation struct {
	Key             int    `json:"key"`
	HostClusterId   string `json:"hostClusterId"`
	HostId          string `json:"hostId"`
	HostClusterName string `json:"hostClusterName"`
	HostName        string `json:"hostName"`
}

type VirtualMachineRecommendationFilter added in v0.6.0

type VirtualMachineRecommendationFilter struct {
	Id            string `filter:"virtualMachineId"`
	DatacenterId  string `filter:"datacenterId"`
	HostClusterId string `filter:"hostClusterId"`
}

type VirtualMachineReplicationConfig

type VirtualMachineReplicationConfig struct {
	Generation            int                  `terraform:"generation"`
	VmReplicationId       string               `terraform:"vm_replication_id"`
	Rpo                   int                  `terraform:"rpo"`
	QuiesceGuestEnabled   bool                 `terraform:"quiesce_guest_enabled"`
	Paused                bool                 `terraform:"paused"`
	OppUpdatesEnabled     bool                 `terraform:"opp_updates_enabled"`
	NetCompressionEnabled bool                 `terraform:"net_compression_enabled"`
	NetEncryptionEnabled  bool                 `terraform:"net_encryption_enabled"`
	EncryptionDestination bool                 `terraform:"encryption_destination"`
	Disk                  []VirtualMachineDisk `terraform:"disk"`
}

type VirtualMachineStorage

type VirtualMachineStorage struct {
	Committed   int `terraform:"committed"`
	Uncommitted int `terraform:"uncommitted"`
}

type VirtualMachineTriggeredAlarm added in v0.2.1

type VirtualMachineTriggeredAlarm struct {
	ID     string `type:"id"`
	Status string `type:"status"`
}

type VirtualSwitch

type VirtualSwitch struct {
	ID               string `terraform:"id"`
	Name             string `terraform:"name"`
	Moref            string `terraform:"moref"`
	FolderID         string `terraform:"folder_id"`
	MachineManagerID string `terraform:"machine_manager_id"`
}

type VirtualSwitchClient

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

func (*VirtualSwitchClient) List

func (*VirtualSwitchClient) Read

type VirtualSwitchFilter added in v0.8.1

type VirtualSwitchFilter struct {
	Name             string `filter:"name"`
	MachineManagerId string `filter:"machineManagerId"`
	DatacenterId     string `filter:"datacenterId"`
	HostClusterId    string `filter:"hostClusterId"`
}

type WaiterOptions added in v0.3.0

type WaiterOptions struct {
	Logger func(msg string)
}

type Worker

type Worker struct {
	ID                    string `terraform:"id"`
	Name                  string `terraform:"name"`
	FullName              string `terraform:"full_name"`
	Vendor                string `terraform:"vendor"`
	Version               string `terraform:"version"`
	Build                 int    `terraform:"build"`
	LocaleVersion         string `terraform:"locale_version"`
	LocaleBuild           int    `terraform:"locale_build"`
	OsType                string `terraform:"os_type"`
	ProductLineID         string `terraform:"product_line_id"`
	ApiType               string `terraform:"api_type"`
	ApiVersion            string `terraform:"api_version"`
	InstanceUuid          string `terraform:"instance_uuid"`
	LicenseProductName    string `terraform:"license_product_name"`
	LicenseProductVersion int    `terraform:"license_product_version"`
	TenantID              string `terraform:"tenant_id"`
	TenantName            string `terraform:"tenant_name"`
}

type WorkerClient

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

func (*WorkerClient) List

func (v *WorkerClient) List(ctx context.Context, name string) ([]*Worker, error)

func (*WorkerClient) Read

func (v *WorkerClient) Read(ctx context.Context, id string) (*Worker, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL