schema

package
v0.1.15 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2022 License: MIT Imports: 6 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Address

type Address struct {

	// Fully qualified domain name.
	FQDN string `json:"fqdn,omitempty"`

	// IPV4 address.
	IP string `json:"ip,omitempty"`

	// IPV6 address.
	IPV6 string `json:"ipv6,omitempty"`

	// Port Number
	Port int64 `json:"port,omitempty"`
}

Address represents the Host address.

type AvailabilityZone

type AvailabilityZone struct {

	// Availability Zone Name
	// Required: true
	Name *string `json:"name,omitempty"`

	// resources
	// Required: true
	Resources *AvailabilityZoneResources `json:"resources,omitempty"`
}

type AvailabilityZoneCredentials

type AvailabilityZoneCredentials struct {
	Pc *AvailabilityZoneCredentialsPc `json:"pc,omitempty"`
}

type AvailabilityZoneCredentialsPc

type AvailabilityZoneCredentialsPc struct {
	RemoteConnectionReference *Reference `json:"remote_connection_reference,omitempty"`
}

type AvailabilityZoneDefStatus

type AvailabilityZoneDefStatus struct {

	// Availability Zone Name
	// Required: true
	Name *string `json:"name,omitempty"`

	// resources
	// Required: true
	Resources *AvailabilityZoneResources `json:"resources,omitempty"`
}

type AvailabilityZoneIntent

type AvailabilityZoneIntent struct {

	// api version
	APIVersion *string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata"`

	// spec
	Spec *AvailabilityZone `json:"spec,omitempty"`

	// status
	Status *AvailabilityZoneDefStatus `json:"status,omitempty"`
}

type AvailabilityZoneListIntent

type AvailabilityZoneListIntent struct {

	// api version
	// Required: true
	APIVersion *string `json:"api_version,omitempty"`

	// entities
	Entities []*AvailabilityZoneIntent `json:"entities,omitempty"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata"`
}

type AvailabilityZoneResources

type AvailabilityZoneResources struct {

	// credentials
	Credentials *AvailabilityZoneCredentials `json:"credentials,omitempty"`

	// Display name. It is mainly used by user interface to show the
	// user-friendly name of the availability zone. If unset, default value
	// will be used.
	//
	DisplayName *string `json:"display_name,omitempty"`

	// This defines the type of management entity. Its value can be Xi,
	// PC, or Local. Local AZs are auto-created and cannot be deleted.
	// How to talk to management entity will be decided based on the type
	// of management plane.
	//
	// Required: true
	ManagementPlaneType *string `json:"management_plane_type"`

	// Identifier of the management plane. This could be the URL of the
	// PC or the FQDN of Xi portal.
	//
	ManagementURL *string `json:"management_url,omitempty"`

	// Cloud region where the data will be replicated to. Based on the
	// cloud provider type the available list of regions will differ.
	//
	Region *string `json:"region,omitempty"`
}

type BuildInfo

type BuildInfo struct {
	CommitID      *string `json:"commit_id,omitempty"`
	FullVersion   *string `json:"full_version,omitempty"`
	CommitDate    *string `json:"commit_date,omitempty"`
	Version       *string `json:"version,omitempty"`
	ShortCommitID *string `json:"short_commit_id,omitempty"`
	BuildType     *string `json:"build_type,omitempty"`
}

BuildInfo ...

type CaCert

type CaCert struct {
	CaName      *string `json:"ca_name,omitempty"`
	Certificate *string `json:"certificate,omitempty"`
}

CaCert ...

type Capabilities

type Capabilities struct {
	// Cardinality of the category key.
	Cardinality *int64 `json:"cardinality,omitempty"`
}

type CategoryFilter

type CategoryFilter struct {

	// List of kinds associated with this filter.
	KindList []*string `json:"kind_list,omitempty"`

	// A list of category key and list of values.
	Params map[string][]string `json:"params,omitempty"`

	// The type of the filter being used.
	Type *string `json:"type,omitempty"`
}

CategoryFilter represents A category filter.

type CategoryKey

type CategoryKey struct {
	// api version
	APIVersion string `json:"api_version,omitempty"`

	// capabilities
	Capabilities *Capabilities `json:"capabilities,omitempty"`

	// Description of the category.
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// Name of the category.
	// Required: true
	// Max Length: 64
	Name string `json:"name"`
}

type CategoryKeyList

type CategoryKeyList struct {
	// api version
	APIVersion *string `json:"api_version,omitempty"`

	// entities
	Entities []*CategoryKeyStatus `json:"entities"`

	// metadata
	Metadata *ListMetadata `json:"metadata,omitempty"`
}

type CategoryKeyStatus

type CategoryKeyStatus struct {

	// api version
	APIVersion string `json:"api_version,omitempty"`

	// capabilities
	Capabilities *Capabilities `json:"capabilities,omitempty"`

	// Description of the category.
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// Name of the category.
	// Required: true
	// Max Length: 64
	Name string `json:"name"`

	// Specifying whether its a system defined category.
	// Read Only: true
	SystemDefined bool `json:"system_defined,omitempty"`

	Values []string `json:"-,"`
}

type CategoryQueryInput

type CategoryQueryInput struct {

	// API version.
	APIVersion *string `json:"api_version,omitempty"`

	CategoryFilter *CategoryFilter `json:"category_filter,omitempty"`

	// The maximum number of members to return per group.
	GroupMemberCount *int64 `json:"group_member_count,omitempty"`

	// The offset into the total member set to return per group.
	GroupMemberOffset *int64 `json:"group_member_offset,omitempty"`

	// TBD: USED_IN - to get policies in which specified categories are used. APPLIED_TO - to get entities attached to
	// specified categories.
	UsageType *string `json:"usage_type,omitempty"`
}

CategoryQueryInput represents Categories query input object.

type CategoryQueryResponse

type CategoryQueryResponse struct {

	// API version.
	APIVersion string `json:"api_version,omitempty"`

	Metadata *CategoryQueryResponseMetadata `json:"metadata,omitempty"`

	Results []*CategoryQueryResponseResults `json:"results,omitempty"`
}

CategoryQueryResponse represents Categories query response object.

type CategoryQueryResponseMetadata

type CategoryQueryResponseMetadata struct {

	// The maximum number of records to return per group.
	GroupMemberCount *int64 `json:"group_member_count,omitempty"`

	// The offset into the total records set to return per group.
	GroupMemberOffset *int64 `json:"group_member_offset,omitempty"`

	// Total number of matched results.
	TotalMatches *int64 `json:"total_matches,omitempty"`

	// TBD: USED_IN - to get policies in which specified categories are used. APPLIED_TO - to get entities attached to specified categories.
	UsageType *string `json:"usage_type,omitempty"`
}

CategoryQueryResponseMetadata represents Response metadata.

type CategoryQueryResponseResults

type CategoryQueryResponseResults struct {

	// List of entity references.
	EntityAnyReferenceList []*EntityReference `json:"entity_any_reference_list,omitempty"`

	// Total number of filtered results.
	FilteredEntityCount int64 `json:"filtered_entity_count,omitempty"`

	// The entity kind.
	Kind string `json:"kind,omitempty"`

	// Total number of the matched results.
	TotalEntityCount int64 `json:"total_entity_count,omitempty"`
}

CategoryQueryResponseResults ...

type CategoryStatus

type CategoryStatus struct {
	APIVersion *string `json:"api_version,omitempty"`

	// The HTTP error code.
	Code *int64 `json:"code,omitempty"`

	// The kind name
	Kind *string `json:"kind,omitempty"`

	MessageList []*MessageResource `json:"message_list,omitempty"`

	State *string `json:"state,omitempty"`
}

CategoryStatus represents The status of a REST API call. Only used when there is a failure to report.

type CategoryValue

type CategoryValue struct {

	// API version.
	APIVersion string `json:"api_version,omitempty"`

	// Description of the category value.
	Description string `json:"description,omitempty" `

	// Value for the category.
	Value string `json:"value,omitempty"`
}

CategoryValue represents Category value definition.

type CategoryValueList

type CategoryValueList struct {
	APIVersion *string `json:"api_version,omitempty"`

	Entities []*CategoryValueStatus `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata,omitempty"`
}

CategoryValueList represents Category Value list response.

type CategoryValueStatus

type CategoryValueStatus struct {

	// API version.
	APIVersion string `json:"api_version,omitempty"`

	// Description of the category value.
	Description string `json:"description,omitempty"`

	// The name of the category.
	Name string `json:"name,omitempty"`

	// Specifying whether its a system defined category.
	SystemDefined bool `json:"system_defined,omitempty"`

	// The value of the category.
	Value string `json:"value,omitempty"`
}

CategoryValueStatus represents Category value definition.

type CertificationSigningInfo

type CertificationSigningInfo struct {
	City             *string `json:"city,omitempty"`
	CommonNameSuffix *string `json:"common_name_suffix,omitempty"`
	State            *string `json:"state,omitempty"`
	CountryCode      *string `json:"country_code,omitempty"`
	CommonName       *string `json:"common_name,omitempty"`
	Organization     *string `json:"organization,omitempty"`
	EmailAddress     *string `json:"email_address,omitempty"`
}

CertificationSigningInfo ...

type Checksum

type Checksum struct {
	ChecksumAlgorithm string `json:"checksum_algorithm"`
	ChecksumValue     string `json:"checksum_value"`
}

Checksum represents the image checksum

type CitrixConnectorConfigDetails

type CitrixConnectorConfigDetails struct {
	CitrixVMReferenceList *[]Reference            `json:"citrix_vm_reference_list,omitempty"`
	ClientSecret          *string                 `json:"client_secret,omitempty"`
	CustomerID            *string                 `json:"customer_id,omitempty"`
	ClientID              *string                 `json:"client_id,omitempty"`
	ResourceLocation      *CitrixResourceLocation `json:"resource_location,omitempty"`
}

CitrixConnectorConfigDetails ...

type CitrixConnectorConfigDetailsSpec

type CitrixConnectorConfigDetailsSpec struct {
	CitrixVMReferenceList []*Reference                `json:"citrix_connector_config,omitempty"`
	ClientSecret          string                      `json:"client_secret,omitempty"`
	CustomerID            string                      `json:"customer_id,omitempty"`
	ClientID              string                      `json:"client_id,omitempty"`
	ResourceLocation      *CitrixResourceLocationSpec `json:"resource_location,omitempty"`
}

CitrixConnectorConfigDetailsSpec ...

type CitrixResourceLocation

type CitrixResourceLocation struct {
	ID   *string `json:"id,omitempty"`
	Name *string `json:"name,omitempty"`
}

CitrixResourceLocation ...

type CitrixResourceLocationSpec

type CitrixResourceLocationSpec struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

CitrixResourceLocationSpec ...

type ClientAuth

type ClientAuth struct {
	Status  string `json:"status,omitempty"`
	CaChain string `json:"ca_chain,omitempty"`
	Name    string `json:"name,omitempty"`
}

ClientAuth ...

type Cluster

type Cluster struct {
	Name      string           `json:"name,omitempty"`
	Resources *ClusterResource `json:"resources,omitempty"`
}

Cluster ...

type ClusterAnalysis

type ClusterAnalysis struct {
	VMEfficiencyMap *VMEfficiencyMap `json:"vm_efficiency_map,omitempty"`
}

ClusterAnalysis ...

type ClusterConfig

type ClusterConfig struct {
	GpuDriverVersion              *string                    `json:"gpu_driver_version,omitempty"`
	ClientAuth                    *ClientAuth                `json:"client_auth,omitempty"`
	AuthorizedPublicKeyList       []*PublicKey               `json:"authorized_public_key_list,omitempty"`
	SoftwareMap                   *SoftwareMap               `json:"software_map,omitempty"`
	EncryptionStatus              *string                    `json:"encryption_status,omitempty"`
	SslKey                        *SslKey                    `json:"ssl_key,omitempty"`
	ServiceList                   []*string                  `json:"service_list,omitempty"`
	SupportedInformationVerbosity *string                    `json:"supported_information_verbosity,omitempty"`
	CertificationSigningInfo      *CertificationSigningInfo  `json:"certification_signing_info,omitempty"`
	RedundancyFactor              *int64                     `json:"redundancy_factor,omitempty"`
	ExternalConfigurations        *ExternalConfigurations    `json:"external_configurations,omitempty"`
	OperationMode                 *string                    `json:"operation_mode,omitempty"`
	CaCertificateList             []*CaCert                  `json:"ca_certificate_list,omitempty"`
	EnabledFeatureList            []*string                  `json:"enabled_feature_list,omitempty"`
	IsAvailable                   *bool                      `json:"is_available,omitempty"`
	Build                         *BuildInfo                 `json:"build,omitempty"`
	Timezone                      *string                    `json:"timezone,omitempty"`
	ClusterArch                   *string                    `json:"cluster_arch,omitempty"`
	ManagementServerList          []*ClusterManagementServer `json:"management_server_list,omitempty"`
}

ClusterConfig ...

type ClusterDefStatus

type ClusterDefStatus struct {
	State       string             `json:"state,omitempty"`
	MessageList []*MessageResource `json:"message_list,omitempty"`
	Name        string             `json:"name,omitempty"`
	Resources   *ClusterObj        `json:"resources,omitempty"`
}

ClusterDefStatus ...

type ClusterDomainServer

type ClusterDomainServer struct {
	Nameserver        *string      `json:"nameserver,omitempty"`
	Name              *string      `json:"name,omitempty"`
	DomainCredentials *Credentials `json:"external_data_services_ip,omitempty"`
}

ClusterDomainServer ...

type ClusterIntent

type ClusterIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata"`

	Spec *Cluster `json:"spec,omitempty"`

	Status *ClusterDefStatus `json:"status,omitempty"`
}

ClusterIntent ...

type ClusterListIntent

type ClusterListIntent struct {
	APIVersion string           `json:"api_version"`
	Entities   []*ClusterIntent `json:"entities,omitempty"`
	Metadata   *ListMetadata    `json:"metadata"`
}

ClusterListIntent ...

type ClusterManagementServer

type ClusterManagementServer struct {
	IP         *string   `json:"ip,omitempty"`
	DrsEnabled *bool     `json:"drs_enabled,omitempty"`
	StatusList []*string `json:"status_list,omitempty"`
	Type       *string   `json:"type,omitempty"`
}

ClusterManagementServer ...

type ClusterNetwork

type ClusterNetwork struct {
	MasqueradingPort       int64                   `json:"masquerading_port,omitempty"`
	MasqueradingIP         string                  `json:"masquerading_ip,omitempty"`
	ExternalIP             string                  `json:"external_ip,omitempty"`
	HTTPProxyList          []*ClusterNetworkEntity `json:"http_proxy_list,omitempty"`
	SMTPServer             *SMTPServer             `json:"smtp_server,omitempty"`
	NTPServerIPList        []string                `json:"ntp_server_ip_list,omitempty"`
	ExternalSubnet         string                  `json:"external_subnet,omitempty"`
	NFSSubnetWhitelist     []string                `json:"nfs_subnet_whitelist,omitempty"`
	ExternalDataServicesIP string                  `json:"external_data_services_ip,omitempty"`
	DomainServer           *ClusterDomainServer    `json:"domain_server,omitempty"`
	NameServerIPList       []string                `json:"name_server_ip_list,omitempty"`
	HTTPProxyWhitelist     []*HTTPProxyWhitelist   `json:"http_proxy_whitelist,omitempty"`
	InternalSubnet         string                  `json:"internal_subnet,omitempty"`
}

ClusterNetwork ...

type ClusterNetworkEntity

type ClusterNetworkEntity struct {
	Credentials   *Credentials `json:"credentials,omitempty"`
	ProxyTypeList []*string    `json:"proxy_type_list,omitempty"`
	Address       *Address     `json:"address,omitempty"`
}

ClusterNetworkEntity ...

type ClusterNodes

type ClusterNodes struct {
	HypervisorServerList []*HypervisorServer `json:"hypervisor_server_list,omitempty"`
}

ClusterNodes ...

type ClusterObj

type ClusterObj struct {
	Nodes             *ClusterNodes    `json:"nodes,omitempty"`
	Config            *ClusterConfig   `json:"config,omitempty"`
	Network           *ClusterNetwork  `json:"network,omitempty"`
	Analysis          *ClusterAnalysis `json:"analysis,omitempty"`
	RuntimeStatusList []string         `json:"runtime_status_list,omitempty"`
}

ClusterObj ...

type ClusterResource

type ClusterResource struct {
	Config            *ConfigClusterSpec `json:"config,omitempty"`
	Network           *ClusterNetwork    `json:"network,omitempty"`
	RunTimeStatusList []string           `json:"runtime_status_list,omitempty"`
}

ClusterResource ...

type ClusterSoftware

type ClusterSoftware struct {
	// software type
	// Required: true
	SoftwareType string `json:"software_type"`

	// Current software status.
	Status string `json:"status,omitempty"`

	// version
	// Required: true
	Version string `json:"version"`
}

type ConfigClusterSpec

type ConfigClusterSpec struct {
	GpuDriverVersion              string                      `json:"gpu_driver_version,omitempty"`
	ClientAuth                    *ClientAuth                 `json:"client_auth,omitempty"`
	AuthorizedPublicKeyList       []*PublicKey                `json:"authorized_public_key_list,omitempty"`
	SoftwareMap                   map[string]ClusterSoftware  `json:"software_map,omitempty"`
	EncryptionStatus              string                      `json:"encryption_status,omitempty"`
	RedundancyFactor              int64                       `json:"redundancy_factor,omitempty"`
	CertificationSigningInfo      *CertificationSigningInfo   `json:"certification_signing_info,omitempty"`
	SupportedInformationVerbosity string                      `json:"supported_information_verbosity,omitempty"`
	ExternalConfigurations        *ExternalConfigurationsSpec `json:"external_configurations,omitempty"`
	EnabledFeatureList            []string                    `json:"enabled_feature_list,omitempty"`
	Timezone                      string                      `json:"timezone,omitempty"`
	OperationMode                 string                      `json:"operation_mode,omitempty"`
}

ConfigClusterSpec ...

type ControllerVM added in v0.1.11

type ControllerVM struct {
	// Controller VM IP address.
	IP string `json:"ip"`
	// Controller VM NAT IP address.
	NatIP      string      `json:"nat_ip,omitempty"`
	OplogUsage *OplogUsage `json:"oplog_usage,omitempty"`
	// Controller VM NAT port.
	NatPort int32 `json:"nat_port,omitempty"`
}

Host controller vm information.

type Credentials

type Credentials struct {
	Username *string `json:"username,omitempty"`
	Password *string `json:"password,omitempty"`
}

Credentials ...

type DHCPOptions

type DHCPOptions struct {
	BootFileName string `json:"boot_file_name,omitempty"`

	DomainName string `json:"domain_name,omitempty"`

	DomainNameServerList []string `json:"domain_name_server_list,omitempty"`

	DomainSearchList []string `json:"domain_search_list,omitempty"`

	TFTPServerName string `json:"tftp_server_name,omitempty"`
}

DHCPOptions Spec for defining DHCP options.

type DSMetadata

type DSMetadata struct {

	// The filter in FIQL syntax used for the results.
	Filter string `json:"filter,omitempty"`

	// The kind name
	Kind string `json:"kind,omitempty"`

	// The number of records to retrieve relative to the offset
	Length *int64 `json:"length,omitempty"`

	// Offset from the start of the entity list
	Offset *int64 `json:"offset,omitempty"`

	// The attribute to perform sort on
	SortAttribute string `json:"sort_attribute,omitempty"`

	// The sort order in which results are returned
	SortOrder string `json:"sort_order,omitempty"`
}

DSMetadata All api calls that return a list will have this metadata block as input

type DeleteResponse

type DeleteResponse struct {
	Status     *DeleteStatus `json:"status"`
	Spec       string        `json:"spec"`
	APIVersion string        `json:"api_version"`
	Metadata   *Metadata     `json:"metadata"`
}

DeleteResponse ...

type DeleteStatus

type DeleteStatus struct {
	State            string            `json:"state"`
	ExecutionContext *ExecutionContext `json:"execution_context"`
}

DeleteStatus ...

type DiskAddress

type DiskAddress struct {
	AdapterType string `json:"adapter_type"`
	DeviceIndex int64  `json:"device_index"`
}

DiskAddress Disk Address.

type EntityReference

type EntityReference struct {

	// Categories for the entity.
	Categories map[string]string `json:"categories,omitempty"`

	// Kind of the reference.
	Kind string `json:"kind,omitempty"`

	// Name of the entity.
	Name string `json:"name,omitempty"`

	// The type of filter being used. (Options : CATEGORIES_MATCH_ALL , CATEGORIES_MATCH_ANY)
	Type string `json:"type,omitempty"`

	// UUID of the entity.
	UUID string `json:"uuid,omitempty"`
}

EntityReference Reference to an entity.

type ErrorResponse

type ErrorResponse struct {
	APIVersion  string            `json:"api_version,omitempty"`
	Code        int64             `json:"code,omitempty"`
	MessageList []MessageResource `json:"message_list"`
	State       string            `json:"state"`
}

ErrorResponse ...

func (*ErrorResponse) Error

func (r *ErrorResponse) Error() string

type ExecutionContext

type ExecutionContext struct {
	TaskUUID interface{} `json:"task_uuid,omitempty"`
}

ExecutionContext ...

type ExternalConfigurations

type ExternalConfigurations struct {
	CitrixConnectorConfig *CitrixConnectorConfigDetails `json:"citrix_connector_config,omitempty"`
}

ExternalConfigurations ...

type ExternalConfigurationsSpec

type ExternalConfigurationsSpec struct {
	CitrixConnectorConfig *CitrixConnectorConfigDetailsSpec `json:"citrix_connector_config,omitempty"`
}

ExternalConfigurationsSpec ...

type ExternalNetwork

type ExternalNetwork struct {
	// name
	Name string `json:"name,omitempty"`

	// uuid
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	UUID string `json:"uuid,omitempty"`
}

type ExternalSubnet added in v0.1.14

type ExternalSubnet struct {

	// Active gateway node for the external connectivity.
	ActiveGatewayNode *Node `json:"active_gateway_node,omitempty"`

	// List of IP addresses for the VPC router port connecting to the external network.
	//
	ExternalIPList []string `json:"external_ip_list,omitempty"`

	// External subnet reference.
	ExternalSubnetReference *Reference `json:"external_subnet_reference,omitempty"`

	// List of gateway nodes for the external connectivity.
	GatewayNodeUUIDList []string `json:"gateway_node_uuid_list,omitempty"`
}

ExternalSubnetDefStatus External subnet status.

External subnet status.

swagger:model external_subnet_def_status

type FailoverCluster added in v0.1.11

type FailoverCluster struct {
	// IP address of the failover cluster.
	IP               string       `json:"ip,omitempty"`
	Name             string       `json:"name,omitempty"`
	DomainCredential *Credentials `json:"domain_credential"`
}

Hyper-V failover cluster.

type File

type File struct {
	// ContentType used in the HTTP header `Content-Type`
	ContentType string `json:"content_type"`

	// Content of the file
	Body io.Reader `json:"body"`
}

type FloatingIP added in v0.1.14

type FloatingIP struct {

	// availability zone reference
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// A description for floating_ip.
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// floating_ip Name.
	// Max Length: 256
	Name string `json:"name,omitempty"`

	// resources
	// Required: true
	Resources *FloatingIPResources `json:"resources"`
}

type FloatingIPDefStatus added in v0.1.14

type FloatingIPDefStatus struct {

	// availability zone reference
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// cluster reference
	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for floating_ip.
	Description string `json:"description,omitempty"`

	// Any error messages for the floating_ip, if in an error state.
	MessageList []*MessageResource `json:"message_list"`

	// floating_ip Name.
	// Required: true
	Name *string `json:"name"`

	// resources
	// Required: true
	Resources *FloatingIPResources `json:"resources"`

	// The state of the floating_ip.
	State string `json:"state,omitempty"`
}

FloatingIPDefStatus floating_ip Intent Status with placement specified

An intentful representation of a floating_ip status

swagger:model floating_ip_def_status

type FloatingIPIntent added in v0.1.14

type FloatingIPIntent struct {

	// api version
	APIVersion string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata"`

	// spec
	Spec *FloatingIP `json:"spec,omitempty"`

	// status
	Status *FloatingIPDefStatus `json:"status,omitempty"`
}

type FloatingIPListIntent added in v0.1.14

type FloatingIPListIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version,omitempty"`

	// entities
	Entities []*FloatingIPIntent `json:"entities"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata"`
}

FloatingIPListIntentResponse Entity Intent List Response

Response object for intentful operation of floating_ips

swagger:model floating_ip_list_intent_response

type FloatingIPResources added in v0.1.14

type FloatingIPResources struct {

	// External subnet from which floating IP is selected.
	ExternalSubnetReference *Reference `json:"external_subnet_reference,omitempty"`

	// The Floating IP associated with the vnic.
	// Pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
	FloatingIP string `json:"floating_ip,omitempty"`

	// Private IP with which the floating IP is associated.
	// Pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
	PrivateIP string `json:"private_ip,omitempty"`

	// NIC with which the floating IP is associated.
	VMNicReference *Reference `json:"vm_nic_reference,omitempty"`

	// VPC in which the private IP exists.
	VpcReference *Reference `json:"vpc_reference,omitempty"`
}

FloatingIPResourcesDefStatus Floating IP allocation status

Floating IP allocation status.

swagger:model floating_ip_resources_def_status

type GuestCustomization

type GuestCustomization struct {
	CloudInit *GuestCustomizationCloudInit `json:"cloud_init,omitempty"`

	// Flag to allow override of customization by deployer.
	IsOverridable bool `json:"is_overridable,omitempty"`

	Sysprep *GuestCustomizationSysprep `json:"sysprep,omitempty"`
}

GuestCustomization VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloud_init should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script.

type GuestCustomizationCloudInit

type GuestCustomizationCloudInit struct {

	// Generic key value pair used for custom attributes
	CustomKeyValues map[string]string `json:"custom_key_values,omitempty"`

	// The contents of the meta_data configuration for cloud-init. This can be formatted as YAML or JSON. The value must
	// be base64 encoded.
	MetaData string `json:"meta_data,omitempty"`

	// The contents of the user_data configuration for cloud-init. This can be formatted as YAML, JSON, or could be a
	// shell script. The value must be base64 encoded.
	UserData string `json:"user_data,omitempty"`
}

GuestCustomizationCloudInit If this field is set, the guest will be customized using cloud-init. Either user_data or custom_key_values should be provided. If custom_key_ves are provided then the user data will be generated using these key-value pairs.

type GuestCustomizationStatus

type GuestCustomizationStatus struct {
	CloudInit *GuestCustomizationCloudInit `json:"cloud_init,omitempty"`

	// Flag to allow override of customization by deployer.
	IsOverridable bool `json:"is_overridable,omitempty"`

	Sysprep *GuestCustomizationSysprep `json:"sysprep,omitempty"`
}

GuestCustomizationStatus VM guests may be customized at boot time using one of several different methods. Currently, cloud-init w/ ConfigDriveV2 (for Linux VMs) and Sysprep (for Windows VMs) are supported. Only ONE OF sysprep or cloud_init should be provided. Note that guest customization can currently only be set during VM creation. Attempting to change it after creation will result in an error. Additional properties can be specified. For example - in the context of VM template creation if \"override_script\" is set to \"True\" then the deployer can upload their own custom script.

type GuestCustomizationSysprep

type GuestCustomizationSysprep struct {

	// Generic key value pair used for custom attributes
	CustomKeyValues map[string]string `json:"custom_key_values,omitempty"`

	// Whether the guest will be freshly installed using this unattend configuration, or whether this unattend
	// configuration will be applied to a pre-prepared image. Default is \"PREPARED\".
	InstallType string `json:"install_type,omitempty"`

	// This field contains a Sysprep unattend xml definition, as a *string. The value must be base64 encoded.
	UnattendXML string `json:"unattend_xml,omitempty"`
}

GuestCustomizationSysprep If this field is set, the guest will be customized using Sysprep. Either unattend_xml or custom_key_values should be provided. If custom_key_values are provided then the unattended answer file will be generated using these key-value pairs.

type GuestToolsSpec

type GuestToolsSpec struct {

	// Nutanix Guest Tools information
	NutanixGuestTools *NutanixGuestToolsSpec `json:"nutanix_guest_tools,omitempty"`
}

GuestToolsSpec Information regarding guest tools.

type GuestToolsStatus

type GuestToolsStatus struct {

	// Nutanix Guest Tools information
	NutanixGuestTools *NutanixGuestToolsStatus `json:"nutanix_guest_tools,omitempty"`
}

GuestToolsStatus Information regarding guest tools.

type HTTPProxyWhitelist

type HTTPProxyWhitelist struct {
	Target     *string `json:"target,omitempty"`
	TargetType *string `json:"target_type,omitempty"`
}

HTTPProxyWhitelist ...

type Host added in v0.1.11

type Host struct {
	// Host Name.
	Name      string         `json:"name,omitempty"`
	Resources *HostResources `json:"resources"`
}

Host Definition.

type HostBlock added in v0.1.11

type HostBlock struct {
	BlockSerialNumber string `json:"block_serial_number,omitempty"`
	BlockModel        string `json:"block_model,omitempty"`
}

type HostDefStatus added in v0.1.11

type HostDefStatus struct {
	// The state of the entity
	State            string            `json:"state,omitempty"`
	MessageList      []MessageResource `json:"message_list,omitempty"`
	Name             string            `json:"name,omitempty"`
	Resources        *HostResources    `json:"resources"`
	ClusterReference *Reference        `json:"cluster_reference,omitempty"`
}

type HostIPMI added in v0.1.11

type HostIPMI struct {
	IP string `json:"ip,omitempty"`
}

type HostIntent added in v0.1.11

type HostIntent struct {
	Status     *HostDefStatus `json:"status,omitempty"`
	Spec       *Host          `json:"spec,omitempty"`
	APIVersion string         `json:"api_version,omitempty"`
	Metadata   *Metadata      `json:"metadata"`
}

type HostListIntent added in v0.1.11

type HostListIntent struct {
	Entities   []*HostIntent `json:"entities,omitempty"`
	APIVersion string        `json:"api_version"`
	Metadata   *ListMetadata `json:"metadata"`
}

Response object for intentful operation of hosts

type HostResources added in v0.1.11

type HostResources struct {
	WindowsDomain     *WindowsDomain   `json:"windows_domain,omitempty"`
	ControllerVM      *ControllerVM    `json:"controller_vm,omitempty"`
	Hypervisor        *Hypervisor      `json:"hypervisor,omitempty"`
	FailoverCluster   *FailoverCluster `json:"failover_cluster,omitempty"`
	HostType          string           `json:"host_type,omitempty"`
	SerialNumber      string           `json:"serial_number,omitempty"`
	CPUModel          string           `json:"cpu_model,omitempty"`
	NumCPUCores       int              `json:"num_cpu_cores,omitempty"`
	NumCPUSockets     int              `json:"num_cpu_sockets,omitempty"`
	MemoryCapacityMib uint64           `json:"memory_capacity_mib,omitempty"`
	IPMI              *HostIPMI        `json:"ipmi,omitempty"`
	Block             *HostBlock       `json:"block,omitempty"`
}

Host resources.

type Hypervisor added in v0.1.11

type Hypervisor struct {
	NumVMs             int    `json:"num_vms,omitempty"`
	IP                 string `json:"ip,omitempty"`
	HypervisorFullName string `json:"hypervisor_full_name,omitempty"`
}

type HypervisorServer

type HypervisorServer struct {
	IP      string `json:"ip,omitempty"`
	Version string `json:"version,omitempty"`
	Type    string `json:"type,omitempty"`
}

HypervisorServer ...

type IPAddress

type IPAddress struct {

	// Address *string.
	IP string `json:"ip,omitempty"`

	// Address type. It can only be \"ASSIGNED\" in the spec. If no type is specified in the spec, the default type is
	// set to \"ASSIGNED\".
	Type string `json:"type,omitempty"`
}

IPAddress An IP address.

type IPConfig

type IPConfig struct {

	// Default gateway IP address.
	DefaultGatewayIP string `json:"default_gateway_ip,omitempty"`

	DHCPOptions *DHCPOptions `json:"dhcp_options,omitempty"`

	DHCPServerAddress *Address `json:"dhcp_server_address,omitempty"`

	PoolList []*IPPool `json:"pool_list,omitempty"`

	PrefixLength int64 `json:"prefix_length,omitempty"`

	// Subnet IP address.
	SubnetIP string `json:"subnet_ip,omitempty"`
}

IPConfig represents the configurtion of IP.

type IPPool

type IPPool struct {
	// Range of IPs (example: 10.0.0.9 10.0.0.19).
	Range string `json:"range,omitempty"`
}

IPPool represents IP pool.

type IPSubnet

type IPSubnet struct {

	// IPV4 address.
	IP string `json:"ip,omitempty"`

	PrefixLength int64 `json:"prefix_length,omitempty"`
}

IPSubnet IP subnet provided as an address and prefix length.

type Icmp added in v0.1.14

type Icmp struct {

	// icmp code
	// Maximum: 255
	// Minimum: 0
	IcmpCode *uint8 `json:"icmp_code,omitempty"`

	// icmp type
	// Maximum: 255
	// Minimum: 0
	IcmpType *uint8 `json:"icmp_type,omitempty"`
}

Icmp ICMP parameters

ICMP parameters to be matched in routing policy.

swagger:model icmp

type IdempotenceIdentifiers

type IdempotenceIdentifiers struct {

	// The client identifier string.
	ClientIdentifier string `json:"client_identifier,omitempty"`

	// The number of idempotence identifiers provided.
	// Required: true
	Count *int64 `json:"count"`

	// UTC date and time in RFC-3339 format of the expiration time (with reference to system time). Value is creation time + valid_duration
	// Format: date-time
	ExpirationTime *time.Time `json:"expiration_time,omitempty"`

	// uuid list
	// Required: true
	UUIDList []string `json:"uuid_list"`
}

type IdempotenceIdentifiersInput

type IdempotenceIdentifiersInput struct {

	// The client identifier string.
	ClientIdentifier string `json:"client_identifier,omitempty"`

	// The number of idempotence identifiers provided.
	// Required: true
	// Maximum: 4096
	// Minimum: 1
	Count *int64 `json:"count"`

	// Number of minutes from creation time for which idempotence identifier uuid list is valid.
	// Maximum: 527040
	// Minimum: 1
	ValidDurationInMinutes int64 `json:"valid_duration_in_minutes,omitempty"`
}

type Image

type Image struct {

	// A description for image.
	Description string `json:"description,omitempty"`

	// image Name.
	Name string `json:"name,omitempty"`

	Resources *ImageResources `json:"resources"`
}

Image An intentful representation of a image spec

type ImageDefStatus

type ImageDefStatus struct {
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for image.
	Description string `json:"description,omitempty"`

	// Any error messages for the image, if in an error state.
	MessageList []*MessageResource `json:"message_list,omitempty"`

	// image Name.
	Name string `json:"name"`

	Resources ImageResourcesDefStatus `json:"resources,omitempty"`

	// The state of the image.
	State string `json:"state,omitempty"`

	ExecutionContext *ExecutionContext `json:"execution_context,omitempty"`
}

ImageDefStatus represents an intentful representation of a image status

type ImageIntent

type ImageIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata"`

	Spec *Image `json:"spec,omitempty"`

	Status *ImageDefStatus `json:"status,omitempty"`
}

ImageIntent represents the response object for intentful operations on a image

type ImageIntentRequest

type ImageIntentRequest struct {
	APIVersion *string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata"`

	Spec *Image `json:"spec,omitempty"`
}

type ImageListIntent

type ImageListIntent struct {
	APIVersion *string `json:"api_version"`

	Entities []*ImageIntent `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata"`
}

ImageListIntent represents the response object for intentful operation of images

type ImageResources

type ImageResources struct {

	// The supported CPU architecture for a disk image.
	Architecture string `json:"architecture,omitempty"`

	// Checksum of the image. The checksum is used for image validation if the image has a source specified. For images
	// that do not have their source specified the checksum is generated by the image service.
	Checksum *Checksum `json:"checksum,omitempty"`

	// The type of image.
	ImageType string `json:"image_type,omitempty"`

	// The source URI points at the location of a the source image which is used to create/update image.
	SourceURI string `json:"source_uri,omitempty"`

	InitialPlacementRefList []Reference `json:"initial_placement_ref_list,omitempty"`

	// The image version
	Version *ImageVersionResources `json:"version,omitempty"`
}

ImageResources describes the image spec resources object.

type ImageResourcesDefStatus

type ImageResourcesDefStatus struct {

	// The supported CPU architecture for a disk image.
	Architecture string `json:"architecture,omitempty"`

	// Checksum of the image. The checksum is used for image validation if the image has a source specified. For images
	// that do not have their source specified the checksum is generated by the image service.
	Checksum *Checksum `json:"checksum,omitempty"`

	// The type of image.
	ImageType string `json:"image_type,omitempty"`

	// List of URIs where the raw image data can be accessed.
	RetrievalURIList []string `json:"retrieval_uri_list,omitempty"`

	// The size of the image in bytes.
	SizeBytes int64 `json:"size_bytes,omitempty"`

	// The source URI points at the location of a the source image which is used to create/update image.
	SourceURI string `json:"source_uri,omitempty"`

	// The image version
	Version *ImageVersionStatus `json:"version,omitempty"`
}

ImageResourcesDefStatus describes the image status resources object.

type ImageVersionResources

type ImageVersionResources struct {

	// Name of the producer/distribution of the image. For example windows or red hat.
	ProductName string `json:"product_name"`

	// Version *string for the disk image.
	ProductVersion string `json:"product_version"`
}

ImageVersionResources The image version, which is composed of a product name and product version.

type ImageVersionStatus

type ImageVersionStatus struct {

	// Name of the producer/distribution of the image. For example windows or red hat.
	ProductName string `json:"product_name"`

	// Version *string for the disk image.
	ProductVersion string `json:"product_version"`
}

ImageVersionStatus represents the image version, which is composed of a product name and product version.

type ListHelper

type ListHelper struct {
	APIVersion string `json:"api_version,omitempty"`

	Entities interface{} `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata,omitempty"`
}

type ListMetadata

type ListMetadata struct {
	Filter        string `json:"filter,omitempty"`         // The filter in FIQL syntax used for the results.
	Kind          string `json:"kind,omitempty"`           // The kind name
	Length        int64  `json:"length,omitempty"`         // The number of records to retrieve relative to the offset
	Offset        int64  `json:"offset,omitempty"`         // Offset from the start of the entity list
	SortAttribute string `json:"sort_attribute,omitempty"` // The attribute to perform sort on
	SortOrder     string `json:"sort_order,omitempty"`     // The sort order in which results are returned
	TotalMatches  int64  `json:"total_matches,omitempty"`  // Total matches found
}

ListMetadata All api calls that return a list will have this metadata block as input

type MessageResource

type MessageResource struct {

	// Custom key-value details relevant to the status.
	Details interface{} `json:"details,omitempty"`

	// If state is ERROR, a message describing the error.
	Message string `json:"message"`

	// If state is ERROR, a machine-readable snake-cased *string.
	Reason string `json:"reason"`
}

MessageResource ...

type MetaData added in v0.1.3

type MetaData struct {
	SSHAuthorizedKeyMap map[string]string `json:"public_keys,omitempty"`
	Hostname            string            `json:"hostname"`
	UUID                string            `json:"uuid"`
	AvailabilityZone    string            `json:"availability_zone,omitempty"`
	Project             string            `json:"project_id,omitempty"`
}

func (*MetaData) ToBase64 added in v0.1.3

func (m *MetaData) ToBase64() (string, error)

type Metadata

type Metadata struct {
	LastUpdateTime       *time.Time          `json:"last_update_time,omitempty"`
	Kind                 string              `json:"kind"`
	UUID                 string              `json:"uuid,omitempty"`
	ProjectReference     *Reference          `json:"project_reference,omitempty"`
	CreationTime         *time.Time          `json:"creation_time,omitempty"`
	SpecVersion          int64               `json:"spec_version"`
	SpecHash             string              `json:"spec_hash,omitempty"`
	OwnerReference       *Reference          `json:"owner_reference,omitempty"`
	Categories           map[string]string   `json:"categories,omitempty"`
	CategoriesMapping    map[string][]string `json:"categories_mapping,omitempty"`
	Name                 string              `json:"name,omitempty"`
	UseCategoriesMapping bool                `json:"use_categories_mapping,omitempty"`
}

Metadata Metadata The kind metadata

type NetworkAddress added in v0.1.14

type NetworkAddress struct {

	// address type
	AddressType string `json:"address_type,omitempty"`

	// ip subnet
	IPSubnet *IPSubnet `json:"ip_subnet,omitempty"`
}

NetworkAddress Network address

Address (source/destination) of an IP packet. > This could be either an ip prefix or a special category like "INTERNET".

swagger:model network_address

type NetworkRule

type NetworkRule struct {

	// Timestamp of expiration time.
	ExpirationTime *string `json:"expiration_time,omitempty"`

	// The set of categories that matching VMs need to have.
	Filter *CategoryFilter `json:"filter,omitempty"`

	// List of ICMP types and codes allowed by this rule.
	IcmpTypeCodeList []*NetworkRuleIcmpTypeCodeList `json:"icmp_type_code_list,omitempty"`

	IPSubnet *IPSubnet `json:"ip_subnet,omitempty"`

	NetworkFunctionChainReference *Reference `json:"network_function_chain_reference,omitempty"`

	// The set of categories that matching VMs need to have.
	PeerSpecificationType *string `json:"peer_specification_type,omitempty"`

	// Select a protocol to allow.  Multiple protocols can be allowed by repeating network_rule object.  If a protocol
	// is not configured in the network_rule object then it is allowed.
	Protocol *string `json:"protocol,omitempty"`

	// List of TCP ports that are allowed by this rule.
	TCPPortRangeList []*PortRange `json:"tcp_port_range_list,omitempty"`

	// List of UDP ports that are allowed by this rule.
	UDPPortRangeList []*PortRange `json:"udp_port_range_list,omitempty"`
}

NetworkRule ...

type NetworkRuleIcmpTypeCodeList

type NetworkRuleIcmpTypeCodeList struct {
	Code *int64 `json:"code,omitempty"`

	Type *int64 `json:"type,omitempty"`
}

NetworkRuleIcmpTypeCodeList ..

type NetworkSecurityRule

type NetworkSecurityRule struct {
	Description *string                       `json:"description"`
	Name        *string                       `json:"name,omitempty"`
	Resources   *NetworkSecurityRuleResources `json:"resources,omitempty" `
}

NetworkSecurityRule ...

type NetworkSecurityRuleDefStatus

type NetworkSecurityRuleDefStatus struct {
	Resources        *NetworkSecurityRuleResources `json:"resources,omitempty"`
	State            *string                       `json:"state,omitempty"`
	ExecutionContext *ExecutionContext             `json:"execution_context,omitempty"`
	Name             *string                       `json:"name,omitempty"`
	Description      *string                       `json:"description,omitempty"`
}

NetworkSecurityRuleDefStatus ... Network security rule status

type NetworkSecurityRuleIntentInput

type NetworkSecurityRuleIntentInput struct {
	APIVersion *string              `json:"api_version,omitempty"`
	Metadata   *Metadata            `json:"metadata"`
	Spec       *NetworkSecurityRule `json:"spec"`
}

NetworkSecurityRuleIntentInput An intentful representation of a network_security_rule

type NetworkSecurityRuleIntentResource

type NetworkSecurityRuleIntentResource struct {
	APIVersion *string                       `json:"api_version,omitempty"`
	Metadata   *Metadata                     `json:"metadata,omitempty"`
	Spec       *NetworkSecurityRule          `json:"spec,omitempty"`
	Status     *NetworkSecurityRuleDefStatus `json:"status,omitempty"`
}

NetworkSecurityRuleIntentResource ... Response object for intentful operations on a network_security_rule

type NetworkSecurityRuleIntentResponse

type NetworkSecurityRuleIntentResponse struct {
	APIVersion *string                       `json:"api_version,omitempty"`
	Metadata   *Metadata                     `json:"metadata"`
	Spec       *NetworkSecurityRule          `json:"spec,omitempty"`
	Status     *NetworkSecurityRuleDefStatus `json:"status,omitempty"`
}

NetworkSecurityRuleIntentResponse Response object for intentful operations on a network_security_rule

type NetworkSecurityRuleIsolationRule

type NetworkSecurityRuleIsolationRule struct {
	Action             *string         `json:"action,omitempty"`               // Type of action.
	FirstEntityFilter  *CategoryFilter `json:"first_entity_filter,omitempty"`  // The set of categories that matching VMs need to have.
	SecondEntityFilter *CategoryFilter `json:"second_entity_filter,omitempty"` // The set of categories that matching VMs need to have.
}

NetworkSecurityRuleIsolationRule These rules are used for environmental isolation.

type NetworkSecurityRuleListIntentResponse

type NetworkSecurityRuleListIntentResponse struct {
	APIVersion string                               `json:"api_version"`
	Entities   []*NetworkSecurityRuleIntentResource `json:"entities,omitempty" bson:"entities,omitempty"`
	Metadata   *ListMetadata                        `json:"metadata"`
}

NetworkSecurityRuleListIntentResponse Response object for intentful operation of network_security_rules

type NetworkSecurityRuleResources

type NetworkSecurityRuleResources struct {
	AppRule        *NetworkSecurityRuleResourcesRule `json:"app_rule,omitempty"`
	IsolationRule  *NetworkSecurityRuleIsolationRule `json:"isolation_rule,omitempty"`
	QuarantineRule *NetworkSecurityRuleResourcesRule `json:"quarantine_rule,omitempty"`
}

NetworkSecurityRuleResources ...

type NetworkSecurityRuleResourcesRule

type NetworkSecurityRuleResourcesRule struct {
	Action            *string        `json:"action,omitempty"`             // Type of action.
	InboundAllowList  []*NetworkRule `json:"inbound_allow_list,omitempty"` //
	OutboundAllowList []*NetworkRule `json:"outbound_allow_list,omitempty"`
	TargetGroup       *TargetGroup   `json:"target_group,omitempty"`
}

NetworkSecurityRuleResourcesRule These rules are used for quarantining suspected VMs. Target group is a required attribute. Empty inbound_allow_list will not allow anything into target group. Empty outbound_allow_list will allow everything from target group.

type NetworkSecurityRuleStatus

type NetworkSecurityRuleStatus struct {
	APIVersion  *string            `json:"api_version,omitempty"` //
	Code        *int64             `json:"code,omitempty"`        // The HTTP error code.
	Kind        *string            `json:"kind,omitempty"`        // The kind name
	MessageList []*MessageResource `json:"message_list,omitempty"`
	State       *string            `json:"state,omitempty"`
}

NetworkSecurityRuleStatus The status of a REST API call. Only used when there is a failure to report.

type Node added in v0.1.14

type Node struct {

	// host reference
	// Required: true
	HostReference *Reference `json:"host_reference"`

	// Node IP Address
	// Pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
	IPAddress string `json:"ip_address,omitempty"`
}

type NutanixGuestToolsSpec

type NutanixGuestToolsSpec struct {
	State                 string            `json:"state,omitempty"`                   // Nutanix Guest Tools is enabled or not.
	Version               string            `json:"version,omitempty"`                 // Version of Nutanix Guest Tools installed on the VM.
	NgtState              string            `json:"ngt_state,omitempty"`               // Nutanix Guest Tools installed or not.
	Credentials           map[string]string `json:"credentials,omitempty"`             // Credentials to login server
	IsoMountState         string            `json:"iso_mount_state,omitempty"`         // Desired mount state of Nutanix Guest Tools ISO.
	EnabledCapabilityList []string          `json:"enabled_capability_list,omitempty"` // Application names that are enabled.
}

NutanixGuestToolsSpec Information regarding Nutanix Guest Tools.

type NutanixGuestToolsStatus

type NutanixGuestToolsStatus struct {
	// Version of Nutanix Guest Tools available on the cluster.
	AvailableVersion string `json:"available_version,omitempty"`
	// Nutanix Guest Tools installed or not.
	NgtState string `json:"ngt_state,omitempty"`
	// Desired mount state of Nutanix Guest Tools ISO.
	IsoMountState string `json:"iso_mount_state,omitempty"`
	// Nutanix Guest Tools is enabled or not.
	State string `json:"state,omitempty"`
	// Version of Nutanix Guest Tools installed on the VM.
	Version string `json:"version,omitempty"`
	// Application names that are enabled.
	EnabledCapabilityList []string `json:"enabled_capability_list,omitempty"`
	// Credentials to login server
	Credentials map[string]string `json:"credentials,omitempty"`
	// Version of the operating system on the VM.
	GuestOsVersion string `json:"guest_os_version,omitempty"`
	// Whether the VM is configured to take VSS snapshots through NGT.
	VSSSnapshotCapable bool `json:"vss_snapshot_capable,omitempty"`
	// Communication from VM to CVM is active or not.
	IsReachable bool `json:"is_reachable,omitempty"`
	// Whether VM mobility drivers are installed in the VM.
	VMMobilityDriversInstalled bool `json:"vm_mobility_drivers_installed,omitempty"`
}

NutanixGuestToolsStatus Information regarding Nutanix Guest Tools.

type OplogUsage added in v0.1.11

type OplogUsage struct {
	// Oplog disk size used in percentage.
	OplogDiskPct float32 `json:"oplog_disk_pct,omitempty"`
	// Size of oplog disk in bytes.
	OplogDiskSize int64 `json:"oplog_disk_size,omitempty"`
}

oplog disk usage.

type PortRange

type PortRange struct {
	EndPort int64 `json:"end_port,omitempty"`

	StartPort int64 `json:"start_port,omitempty"`
}

PortRange represents Range of TCP/UDP ports.

type Project

type Project struct {
	// Project description.
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// Project name.
	// Required: true
	// Max Length: 64
	Name string `json:"name"`

	// resources
	// Required: true
	Resources *ProjectResources `json:"resources"`
}

type ProjectDefStatus

type ProjectDefStatus struct {
	// Project description.
	Description string `json:"description,omitempty"`

	// message list
	MessageList []*MessageResource `json:"message_list"`

	// Project name.
	// Required: true
	Name *string `json:"name"`

	// resources
	// Required: true
	Resources *ProjectDefStatusResources `json:"resources"`

	// The state of the project entity.
	State string `json:"state,omitempty"`
}

type ProjectDefStatusResources

type ProjectDefStatusResources struct {
	// List of accounts associated with the project.
	AccountReferenceList []*Reference `json:"account_reference_list,omitempty"`

	// Optional default environment if one is specified
	DefaultEnvironmentReference *Reference `json:"default_environment_reference,omitempty"`

	// Optional default subnet if one is specified
	DefaultSubnetReference *Reference `json:"default_subnet_reference,omitempty"`

	// List of environments associated with the project.
	EnvironmentReferenceList []*Reference `json:"environment_reference_list,omitempty"`

	// List of external network associated with the project.
	ExternalNetworkList []*ExternalNetwork `json:"external_network_list,omitempty"`

	// List of directory service groups reference. These
	// groups are not managed by Nutanix.
	//
	ExternalUserGroupReferenceList []*Reference `json:"external_user_group_reference_list,omitempty"`

	// Indicates if it is the default project. A default project is
	// managed by the system and cannot be renamed or removed.
	//
	IsDefault bool `json:"is_default,omitempty"`

	// resource domain
	ResourceDomain *ResourceDomainResourcesStatus `json:"resource_domain,omitempty"`

	// List of subnets for the project.
	SubnetReferenceList []*Reference `json:"subnet_reference_list,omitempty"`

	// List of users added directly to the project.
	//
	UserReferenceList []*Reference `json:"user_reference_list,omitempty"`
}

type ProjectIntent

type ProjectIntent struct {
	// api version
	// Required: true
	APIVersion string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *Project `json:"spec,omitempty"`

	// status
	Status *ProjectDefStatus `json:"status,omitempty"`
}

type ProjectIntentRequest

type ProjectIntentRequest struct {
	// api version
	// Required: true
	APIVersion *string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *Project `json:"spec,omitempty"`
}

type ProjectListIntent

type ProjectListIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	// entities
	Entities []*ProjectIntent `json:"entities,omitempty"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata,omitempty"`
}

type ProjectResources

type ProjectResources struct {

	// List of accounts associated with the project.
	AccountReferenceList []*Reference `json:"account_reference_list,omitempty"`

	// Optional default environment if one is specified
	DefaultEnvironmentReference *Reference `json:"default_environment_reference,omitempty"`

	// Optional default subnet if one is specified
	DefaultSubnetReference *Reference `json:"default_subnet_reference,omitempty"`

	// List of environments associated with the project.
	EnvironmentReferenceList []*Reference `json:"environment_reference_list,omitempty"`

	// List of external networks associated with the project.
	ExternalNetworkList []*ExternalNetwork `json:"external_network_list,omitempty"`

	// List of directory service user groups. These groups are not
	// managed by Nutanix.
	//
	ExternalUserGroupReferenceList []*Reference `json:"external_user_group_reference_list,omitempty"`

	// resource domain
	ResourceDomain *ResourceDomainSpec `json:"resource_domain,omitempty"`

	// List of subnets for the project.
	SubnetReferenceList []*Reference `json:"subnet_reference_list,omitempty"`

	// List of users in the project.
	UserReferenceList []*Reference `json:"user_reference_list,omitempty"`
}

type ProtocolParameters added in v0.1.14

type ProtocolParameters struct {

	// ICMP parameters to be matched
	Icmp *Icmp `json:"icmp,omitempty"`

	// protocol number
	// Maximum: 255
	// Minimum: 0
	ProtocolNumber *uint8 `json:"protocol_number,omitempty"`

	// TCP parameters to be matched
	TCP *TCP `json:"tcp,omitempty"`

	// UDP parameters to be matched
	UDP *UDP `json:"udp,omitempty"`
}

ProtocolParameters IP protocol

Routing policy IP protocol parameters

swagger:model protocol_parameters

type PublicKey

type PublicKey struct {
	Key  string `json:"key,omitempty"`
	Name string `json:"name,omitempty"`
}

PublicKey ...

type Reference

type Reference struct {
	Kind string `json:"kind"`
	Name string `json:"name,omitempty"`
	UUID string `json:"uuid,omitempty"`
}

Reference ...

type ResourceDomainResourcesStatus

type ResourceDomainResourcesStatus struct {
	// The utilization/limit for resource types
	// Required: true
	Resources []*ResourceUtilizationStatus `json:"resources"`
}

type ResourceDomainSpec

type ResourceDomainSpec struct {

	// The utilization limits for resource types
	Resources []*ResourceUtilizationSpec `json:"resources"`
}

type ResourceUtilizationSpec

type ResourceUtilizationSpec struct {
	// The resource consumption limit
	Limit int64 `json:"limit,omitempty"`

	// The type of resource (i.e. storage, CPUs)
	// Required: true
	ResourceType string `json:"resource_type,omitempty"`
}

type ResourceUtilizationStatus

type ResourceUtilizationStatus struct {
	// The resource consumption limit (unspecified is unlimited)
	Limit int64 `json:"limit,omitempty"`

	// The type of resource (for example storage, CPUs)
	// Required: true
	ResourceType string `json:"resource_type,omitempty"`

	// The units of the resource type
	// Required: true
	Units string `json:"units,omitempty"`

	// The amount of resource consumed
	// Required: true
	Value int64 `json:"value,omitempty"`
}

type RoutingPolicy added in v0.1.14

type RoutingPolicy struct {

	// availability zone reference
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// A description for routing_policy.
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// routing_policy Name.
	// Required: true
	// Max Length: 256
	Name string `json:"name"`

	// resources
	// Required: true
	Resources *RoutingPolicyResources `json:"resources"`
}

type RoutingPolicyAction added in v0.1.14

type RoutingPolicyAction struct {

	// action
	// Required: true
	Action string `json:"action"`

	// IP addresses of network services in the chain.> This field is valid only when action is REROUTE.
	ServiceIPList []string `json:"service_ip_list,omitempty"`
}

RoutingPolicyAction Action

Routing policy action

swagger:model routing_policy_action

type RoutingPolicyCounters added in v0.1.14

type RoutingPolicyCounters struct {

	// byte count
	ByteCount uint64 `json:"byte_count,omitempty"`

	// packet count
	PacketCount uint64 `json:"packet_count,omitempty"`
}

RoutingPolicyCounters Policy counters

Number of packets and bytes hitting the rule.

swagger:model routing_policy_counters

type RoutingPolicyDefStatus added in v0.1.14

type RoutingPolicyDefStatus struct {

	// availability zone reference
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// cluster reference
	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for routing_policy.
	Description string `json:"description,omitempty"`

	// Any error messages for the routing_policy, if in an error state.
	MessageList []*MessageResource `json:"message_list"`

	// routing_policy Name.
	// Required: true
	Name *string `json:"name"`

	// resources
	// Required: true
	Resources *RoutingPolicyResourcesDefStatus `json:"resources"`

	// The state of the routing_policy.
	State string `json:"state,omitempty"`
}

type RoutingPolicyIntent added in v0.1.14

type RoutingPolicyIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version"`

	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *RoutingPolicy `json:"spec,omitempty"`

	// status
	Status *RoutingPolicyDefStatus `json:"status,omitempty"`
}

type RoutingPolicyListIntent added in v0.1.14

type RoutingPolicyListIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version"`

	// entities
	Entities []*RoutingPolicyIntent `json:"entities"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata"`
}

type RoutingPolicyResources added in v0.1.14

type RoutingPolicyResources struct {

	// The IP protocol type of traffic that is entering the router.
	//
	// Required: true
	Action *RoutingPolicyAction `json:"action"`

	// Destination of traffic that is entering the router.
	//
	// Required: true
	Destination *NetworkAddress `json:"destination"`

	// Whether to configure/install policy in reverse direction too (i.e matching traffic from destination to source)
	//
	IsBidirectional bool `json:"is_bidirectional,omitempty"`

	// priority
	// Required: true
	// Maximum: 1000
	// Minimum: 1
	Priority int16 `json:"priority"`

	// The IP protocol type of traffic that is entering the router.
	//
	ProtocolParameters *ProtocolParameters `json:"protocol_parameters,omitempty"`

	// protocol type
	// Required: true
	ProtocolType string `json:"protocol_type"`

	// Source of traffic that is entering the router.
	//
	// Required: true
	Source *NetworkAddress `json:"source"`

	// The virtual network this routing policy belongs to. This reference is deprecated, use vpc_reference instead.
	//
	VirtualNetworkReference *Reference `json:"virtual_network_reference,omitempty"`

	// The VPC this routing policy belongs to.
	//
	VpcReference *Reference `json:"vpc_reference,omitempty"`
}

Routing Policy creation/modification spec. The routing policy matches incoming traffic on the router based on the following fields: 'source', 'destination', 'protocol_type', 'protocol_parameters'. Once traffic matches the parameters defined in the policy 'action' field defines the action that needs to be performed on the traffic. 'action' could be permit/deny/reroute.

swagger:model routing_policy_resources

type RoutingPolicyResourcesDefStatus added in v0.1.14

type RoutingPolicyResourcesDefStatus struct {

	// The action to be taken on traffic entering the router.
	//
	Action *RoutingPolicyAction `json:"action,omitempty"`

	// The destination IP address of traffic that is entering the router.
	//
	Destination *NetworkAddress `json:"destination,omitempty"`

	// Error message describing why the routing policy is inactive.
	//
	ErrorMessage string `json:"error_message,omitempty"`

	// Whether to configure/install policy in reverse direction too (i.e matching traffic from destination to source)
	//
	IsBidirectional bool `json:"is_bidirectional,omitempty"`

	// priority
	Priority int16 `json:"priority,omitempty"`

	// IP protocol parameters of traffic entering the router.
	//
	ProtocolParameters *ProtocolParameters `json:"protocol_parameters,omitempty"`

	// The IP protocol type of traffic that is entering the router.
	//
	ProtocolType string `json:"protocol_type,omitempty"`

	// Number of packets matching the routing policy.
	RoutingPolicyCounters *RoutingPolicyCounters `json:"routing_policy_counters,omitempty"`

	// Number of packets matching the reverse direction routing policy. Applicable only if is_bidirectional is true.
	//
	RoutingPolicyCountersReverseDirection *RoutingPolicyCounters `json:"routing_policy_counters_reverse_direction,omitempty"`

	// Policy counters for each service IP.
	ServiceIPCounters []*ServiceIPCounters `json:"service_ip_counters"`

	// Policy counters for each service IP for reverse direction reroute routing policy. Applicable only if is_bidirectional is true.
	//
	ServiceIPCountersReverseDirection []*ServiceIPCounters `json:"service_ip_counters_reverse_direction"`

	// The source IP address of traffic that is entering the router.
	//
	Source *NetworkAddress `json:"source,omitempty"`
	// The virtual network this routing policy belongs to. This reference is deprecated, use vpc_reference instead.
	//
	VirtualNetworkReference *Reference `json:"virtual_network_reference,omitempty"`

	// The VPC this routing policy belongs to.
	//
	VpcReference *Reference `json:"vpc_reference,omitempty"`
}

type SMTPServer

type SMTPServer struct {
	Type         *string               `json:"type,omitempty"`
	EmailAddress *string               `json:"email_address,omitempty"`
	Server       *ClusterNetworkEntity `json:"server,omitempty"`
}

SMTPServer ...

type ServiceIPCounters added in v0.1.14

type ServiceIPCounters struct {

	// received
	Received *RoutingPolicyCounters `json:"received,omitempty"`

	// sent
	Sent *RoutingPolicyCounters `json:"sent,omitempty"`

	// service ip
	// Pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
	ServiceIP string `json:"service_ip,omitempty"`
}

ServiceIPCounters Service IP counters

Number of packets and bytes hitting the service IP.

swagger:model service_ip_counters

type SoftwareMap

type SoftwareMap struct {
	NCC *SoftwareMapValues `json:"ncc,omitempty"`
	NOS *SoftwareMapValues `json:"nos,omitempty"`
}

SoftwareMap ...

type SoftwareMapValues

type SoftwareMapValues struct {
	SoftwareType *string `json:"software_type,omitempty"`
	Status       *string `json:"status,omitempty"`
	Version      *string `json:"version,omitempty"`
}

SoftwareMapValues ...

type SslKey

type SslKey struct {
	KeyType        *string                   `json:"key_type,omitempty"`
	KeyName        *string                   `json:"key_name,omitempty"`
	SigningInfo    *CertificationSigningInfo `json:"signing_info,omitempty"`
	ExpireDatetime *string                   `json:"expire_datetime,omitempty"`
}

SslKey ...

type Subnet

type Subnet struct {
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for subnet.
	Description string `json:"description,omitempty"`

	// subnet Name.
	Name string `json:"name"`

	Resources *SubnetResources `json:"resources,omitempty"`
}

Subnet An intentful representation of a subnet spec

type SubnetDefStatus

type SubnetDefStatus struct {
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for subnet.
	Description string `json:"description"`

	// Any error messages for the subnet, if in an error state.
	MessageList []*MessageResource `json:"message_list,omitempty"`

	// subnet Name.
	Name string `json:"name"`

	Resources *SubnetResourcesDefStatus `json:"resources,omitempty"`

	// The state of the subnet.
	State string `json:"state,omitempty"`

	ExecutionContext *ExecutionContext `json:"execution_context,omitempty"`
}

SubnetDefStatus An intentful representation of a subnet status

type SubnetIntent

type SubnetIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata,omitempty"`

	Spec *Subnet `json:"spec,omitempty"`

	Status *SubnetDefStatus `json:"status,omitempty"`
}

SubnetIntent represents the response object for intentful operations on a subnet

type SubnetIntentRequest

type SubnetIntentRequest struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata,omitempty"`

	Spec *Subnet `json:"spec,omitempty"`
}

type SubnetListIntent

type SubnetListIntent struct {
	APIVersion string `json:"api_version"`

	Entities []*SubnetIntent `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata"`
}

SubnetListIntent represents the response object for intentful operation of subnets

type SubnetResources

type SubnetResources struct {
	IPConfig *IPConfig `json:"ip_config,omitempty"`

	NetworkFunctionChainReference *Reference `json:"network_function_chain_reference,omitempty"`

	SubnetType string `json:"subnet_type,omitempty"`

	VPCReference *Reference `json:"vpc_reference,omitempty"`

	VlanID *int64 `json:"vlan_id,omitempty"`

	VswitchName string `json:"vswitch_name,omitempty"`
}

SubnetResources represents Subnet creation/modification spec.

type SubnetResourcesDefStatus

type SubnetResourcesDefStatus struct {
	IPConfig *IPConfig `json:"ip_config,omitempty"`

	NetworkFunctionChainReference *Reference `json:"network_function_chain_reference,omitempty"`

	SubnetType string `json:"subnet_type"`

	VlanID int64 `json:"vlan_id,omitempty"`

	VswitchName string `json:"vswitch_name,omitempty"`
}

SubnetResourcesDefStatus represents a Subnet creation/modification status.

type SubnetStatus

type SubnetStatus struct {
	APIVersion string `json:"api_version,omitempty"`

	// The HTTP error code.
	Code int64 `json:"code,omitempty"`

	// The kind name
	Kind string `json:"kind,omitempty"`

	MessageList []*MessageResource `json:"message_list,omitempty"`

	State string `json:"state,omitempty"`
}

SubnetStatus represents The status of a REST API call. Only used when there is a failure to report.

type TCP added in v0.1.14

type TCP struct {

	// Range of TCP destination ports. This field is deprecated, use destination_port_range_list instead.
	//
	DestinationPortRange *PortRange `json:"destination_port_range,omitempty"`

	// List of ranges of TCP destination ports.
	DestinationPortRangeList []*PortRange `json:"destination_port_range_list"`

	// Range of TCP source ports. This field is deprecated, use source_port_range_list instead.
	//
	SourcePortRange *PortRange `json:"source_port_range,omitempty"`

	// List of ranges of TCP source ports.
	SourcePortRangeList []*PortRange `json:"source_port_range_list"`
}

TCP TCP parameters

TCP parameters to be matched in routing policy.

swagger:model tcp

type TargetGroup

type TargetGroup struct {

	// Default policy for communication within target group.
	DefaultInternalPolicy *string `json:"default_internal_policy,omitempty"`

	// The set of categories that matching VMs need to have.
	Filter *CategoryFilter `json:"filter,omitempty"`

	// Way to identify the object for which rule is applied.
	PeerSpecificationType *string `json:"peer_specification_type,omitempty"`
}

TargetGroup ...

type Task

type Task struct {
	Status               *string      `json:"status,omitempty"`
	LastUpdateTime       *time.Time   `json:"last_update_time,omitempty"`
	LogicalTimestamp     *int64       `json:"logical_timestamp,omitempty"`
	EntityReferenceList  []*Reference `json:"entity_reference_list,omitempty"`
	StartTime            *time.Time   `json:"start_time,omitempty"`
	CreationTime         *time.Time   `json:"creation_time,omitempty"`
	ClusterReference     *Reference   `json:"cluster_reference,omitempty"`
	SubtaskReferenceList []*Reference `json:"subtask_reference_list,omitempty"`
	CompletionTime       *time.Time   `json:"completion_timev"`
	ProgressMessage      *string      `json:"progress_message,omitempty"`
	OperationType        *string      `json:"operation_type,omitempty"`
	PercentageComplete   *int64       `json:"percentage_complete,omitempty"`
	APIVersion           *string      `json:"api_version,omitempty"`
	UUID                 *string      `json:"uuid,omitempty"`
	ErrorDetail          *string      `json:"error_detail,omitempty"`
}

Task ...

type TaskListIntent

type TaskListIntent struct {

	// api version
	// Required: true
	APIVersion *string `json:"api_version,omitempty"`

	// entities
	// Required: true
	Entities []*Task `json:"entities,omitempty"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata,omitempty"`
}

type UDP added in v0.1.14

type UDP struct {

	// Range of UDP destination ports. This field is deprecated, use destination_port_range_list instead.
	//
	DestinationPortRange *PortRange `json:"destination_port_range,omitempty"`

	// List of ranges of UDP destination ports.
	DestinationPortRangeList []*PortRange `json:"destination_port_range_list"`

	// Range of UDP source ports. This field is deprecated, use source_port_range_list instead.
	//
	SourcePortRange *PortRange `json:"source_port_range,omitempty"`

	// List of ranges of UDP source ports.
	SourcePortRangeList []*PortRange `json:"source_port_range_list"`
}

UDP UDP parameters

UDP parameters to be matched in routing policy

swagger:model udp

type VGDisk

type VGDisk struct {
	VmdiskUUID           *string    `json:"vmdisk_uuid"`            // The UUID of this volume disk
	Index                *int64     `json:"index"`                  // Index of the volume disk in the group.
	DataSourceReference  *Reference `json:"data_source_reference"`  // Reference to a kind
	DiskSizeMib          *int64     `json:"disk_size_mib"`          // Size of the disk in MiB.
	StorageContainerUUID *string    `json:"storage_container_uuid"` // Container UUID on which to create the disk.
}

VGDisk Volume group disk specification.

type VM

type VM struct {
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for vm.
	Description string `json:"description,omitempty"`

	// vm Name.
	Name string `json:"name"`

	Resources *VMResources `json:"resources,omitempty"`
}

VM An intentful representation of a vm spec

type VMAttachment

type VMAttachment struct {
	VMReference        *Reference `json:"vm_reference"`         // Reference to a kind
	IscsiInitiatorName *string    `json:"iscsi_initiator_name"` // Name of the iSCSI initiator of the workload outside Nutanix cluster.
}

VMAttachment VMs attached to volume group.

type VMBootConfig

type VMBootConfig struct {

	// Indicates which device a VM should boot from. Boot device takes precdence over boot device order. If both are
	// given then specified boot device will be primary boot device and remaining devices will be assigned boot order
	// according to boot device order field.
	BootDevice *VMBootDevice `json:"boot_device,omitempty"`

	// Indicates the order of device types in which VM should try to boot from. If boot device order is not provided the
	// system will decide appropriate boot device order.
	BootDeviceOrderList []string `json:"boot_device_order_list,omitempty"`

	BootType            string     `json:"boot_type,omitempty"`
	DataSourceReference *Reference `json:"data_source_reference,omitempty"`
}

VMBootConfig Indicates which device a VM should boot from.

type VMBootDevice

type VMBootDevice struct {

	// Address of disk to boot from.
	DiskAddress *DiskAddress `json:"disk_address,omitempty"`

	// MAC address of nic to boot from.
	MacAddress string `json:"mac_address,omitempty"`
}

VMBootDevice Indicates which device a VM should boot from. One of disk_address or mac_address should be provided.

type VMCloneMetadata

type VMCloneMetadata struct {

	// uuid
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	UUID string `json:"uuid,omitempty"`
}

type VMCloneRequest

type VMCloneRequest struct {
	Metadata *VMCloneMetadata `json:"metadata,omitempty"`
}

type VMDefStatus

type VMDefStatus struct {
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// A description for vm.
	Description *string `json:"description,omitempty"`

	// Any error messages for the vm, if in an error state.
	MessageList []*MessageResource `json:"message_list,omitempty"`

	// vm Name.
	Name *string `json:"name,omitempty"`

	Resources *VMResourcesDefStatus `json:"resources,omitempty"`

	// The state of the vm.
	State *string `json:"state,omitempty"`

	ExecutionContext *ExecutionContext `json:"execution_context,omitempty"`
}

VMDefStatus An intentful representation of a vm status

type VMDisk

type VMDisk struct {
	DataSourceReference *Reference `json:"data_source_reference,omitempty"`

	DeviceProperties *VMDiskDeviceProperties `json:"device_properties,omitempty"`

	// Size of the disk in Bytes.
	DiskSizeBytes int64 `json:"disk_size_bytes,omitempty"`

	// Size of the disk in MiB. Must match the size specified in 'disk_size_bytes' - rounded up to the nearest MiB -
	// when that field is present.
	DiskSizeMib int64 `json:"disk_size_mib,omitempty"`

	// The device ID which is used to uniquely identify this particular disk.
	UUID string `json:"uuid,omitempty"`

	VolumeGroupReference *Reference `json:"volume_group_reference,omitempty"`
}

VMDisk VirtualMachine Disk (VM Disk).

type VMDiskDeviceProperties

type VMDiskDeviceProperties struct {
	DeviceType  string       `json:"device_type,omitempty"`
	DiskAddress *DiskAddress `json:"disk_address,omitempty"`
}

VMDiskDeviceProperties ...

type VMEfficiencyMap

type VMEfficiencyMap struct {
	BullyVMNum           *string `json:"bully_vm_num,omitempty"`
	ConstrainedVMNum     *string `json:"constrained_vm_num,omitempty"`
	DeadVMNum            *string `json:"dead_vm_num,omitempty"`
	InefficientVMNum     *string `json:"inefficient_vm_num,omitempty"`
	OverprovisionedVMNum *string `json:"overprovisioned_vm_num,omitempty"`
}

VMEfficiencyMap ...

type VMGpu

type VMGpu struct {

	// The device ID of the GPU.
	DeviceID int64 `json:"device_id,omitempty"`

	// The mode of this GPU.
	Mode string `json:"mode,omitempty"`

	// The vendor of the GPU.
	Vendor string `json:"vendor,omitempty"`
}

VMGpu Graphics resource information for the Virtual Machine.

type VMGpuOutputStatus

type VMGpuOutputStatus struct {

	// The device ID of the GPU.
	DeviceID int64 `json:"device_id,omitempty"`

	// Fraction of the physical GPU assigned.
	Fraction int64 `json:"fraction,omitempty"`

	// GPU frame buffer size in MiB.
	FrameBufferSizeMib int64 `json:"frame_buffer_size_mib,omitempty"`

	// Last determined guest driver version.
	GuestDriverVersion string `json:"guest_driver_version,omitempty"`

	// The mode of this GPU
	Mode string `json:"mode,omitempty"`

	// Name of the GPU resource.
	Name string `json:"name,omitempty"`

	// Number of supported virtual display heads.
	NumVirtualDisplayHeads int64 `json:"num_virtual_display_heads,omitempty"`

	// GPU {segment:bus:device:function} (sbdf) address if assigned.
	PCIAddress string `json:"pci_address,omitempty"`

	// UUID of the GPU.
	UUID string `json:"uuid,omitempty"`

	// The vendor of the GPU.
	Vendor string `json:"vendor,omitempty"`
}

VMGpuOutputStatus Graphics resource status information for the Virtual Machine.

type VMGuestPowerStateTransitionConfig

type VMGuestPowerStateTransitionConfig struct {

	// Indicates whether to execute set script before ngt shutdown/reboot.
	EnableScriptExec bool `json:"enable_script_exec,omitempty"`

	// Indicates whether to abort ngt shutdown/reboot if script fails.
	ShouldFailOnScriptFailure bool `json:"should_fail_on_script_failure,omitempty"`
}

VMGuestPowerStateTransitionConfig Extra configs related to power state transition.

type VMIntent

type VMIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata,omitempty"`

	Spec *VM `json:"spec,omitempty"`

	Status *VMDefStatus `json:"status,omitempty"`
}

VMIntent Response object for intentful operations on a vm

type VMIntentInput

type VMIntentInput struct {
	APIVersion string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata"`

	Spec *VM `json:"spec"`
}

VMIntentInput ...

type VMIntentRequest

type VMIntentRequest struct {
	APIVersion *string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata,omitempty"`

	Spec *VM `json:"spec,omitempty"`
}

type VMIntentResource

type VMIntentResource struct {
	APIVersion *string `json:"api_version,omitempty"`

	Metadata *Metadata `json:"metadata"`

	Spec *VM `json:"spec,omitempty"`

	Status *VMDefStatus `json:"status,omitempty"`
}

type VMListIntent

type VMListIntent struct {
	APIVersion string `json:"api_version,omitempty"`

	Entities []*VMIntent `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata,omitempty"`
}

VMListIntent Response object for intentful operation of vms

type VMNic

type VMNic struct {

	// IP endpoints for the adapter. Currently, IPv4 addresses are supported.
	IPEndpointList []*IPAddress `json:"ip_endpoint_list,omitempty"`

	// The MAC address for the adapter.
	MacAddress string `json:"mac_address,omitempty"`

	// The model of this NIC.
	Model string `json:"model,omitempty"`

	NetworkFunctionChainReference *Reference `json:"network_function_chain_reference,omitempty"`

	// The type of this Network function NIC. Defaults to INGRESS.
	NetworkFunctionNicType string `json:"network_function_nic_type,omitempty"`

	// The type of this NIC. Defaults to NORMAL_NIC.
	NicType string `json:"nic_type,omitempty"`

	SubnetReference *Reference `json:"subnet_reference,omitempty"`

	// The NIC's UUID, which is used to uniquely identify this particular NIC. This UUID may be used to refer to the NIC
	// outside the context of the particular VM it is attached to.
	UUID string `json:"uuid,omitempty"`

	IsConnected bool `json:"is_connected,omitempty"`
}

VMNic Virtual Machine NIC.

type VMNicOutputStatus

type VMNicOutputStatus struct {

	// The Floating IP associated with the vnic.
	FloatingIP string `json:"floating_ip,omitempty"`

	// IP endpoints for the adapter. Currently, IPv4 addresses are supported.
	IPEndpointList []*IPAddress `json:"ip_endpoint_list,omitempty"`

	// The MAC address for the adapter.
	MacAddress string `json:"mac_address,omitempty"`

	// The model of this NIC.
	Model string `json:"model,omitempty"`

	NetworkFunctionChainReference *Reference `json:"network_function_chain_reference,omitempty"`

	// The type of this Network function NIC. Defaults to INGRESS.
	NetworkFunctionNicType string `json:"network_function_nic_type,omitempty"`

	// The type of this NIC. Defaults to NORMAL_NIC.
	NicType string `json:"nic_type,omitempty"`

	SubnetReference *Reference `json:"subnet_reference,omitempty"`

	// The NIC's UUID, which is used to uniquely identify this particular NIC. This UUID may be used to refer to the NIC
	// outside the context of the particular VM it is attached to.
	UUID string `json:"uuid,omitempty"`

	IsConnected bool `json:"is_connected,omitempty"`
}

VMNicOutputStatus Virtual Machine NIC Status.

type VMPowerStateMechanism

type VMPowerStateMechanism struct {
	GuestTransitionConfig *VMGuestPowerStateTransitionConfig `json:"guest_transition_config,omitempty"`

	// Power state mechanism (ACPI/GUEST/HARD).
	Mechanism string `json:"mechanism,omitempty"`
}

VMPowerStateMechanism Indicates the mechanism guiding the VM power state transition. Currently used for the transition to \"OFF\" state.

type VMRecoveryPoint

type VMRecoveryPoint struct {

	// Reference to the availability zone where this recovery point is
	// located
	//
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// Reference to the cluster in the availability zone where this recovery
	// point is located.
	//
	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// Name of the recovery point.
	// Max Length: 64
	Name string `json:"name,omitempty"`

	// resources
	Resources *VMRecoveryPointResources `json:"resources,omitempty"`
}

type VMRecoveryPointDefStatus

type VMRecoveryPointDefStatus struct {

	// Reference to the availability zone where this recovery point is
	// located.
	//
	AvailabilityZoneReference *Reference `json:"availability_zone_reference,omitempty"`

	// Reference to the cluster in the availability zone where this recovery
	// point is located.
	//
	ClusterReference *Reference `json:"cluster_reference,omitempty"`

	// Any error messages for the vm, if in an error state.
	MessageList []*MessageResource `json:"message_list,omitempty"`

	// Name of the recovery point.
	Name string `json:"name,omitempty"`

	// resources
	Resources *VMRecoveryPointDefStatusResources `json:"resources,omitempty"`

	// The state of the vm recovery point.
	State string `json:"state,omitempty"`
}

type VMRecoveryPointDefStatusResources

type VMRecoveryPointDefStatusResources struct {

	// This field is same for all the entities (irrespective of kind) that
	// were snapshotted together.
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	ConsistencyGroupUUID string `json:"consistency_group_uuid,omitempty"`

	// The time when the the recovery point is created. This is in internet
	// date/time format (RFC 3339). For example, 1985-04-12T23:20:50.52Z,
	// this represents 20 minutes and 50.52 seconds after the 23rd hour of
	// April 12th, 1985 in UTC.
	//
	CreationTime *time.Time `json:"creation_time,omitempty"`

	// The time when this recovery point expires and will be garbage
	// collected. This is in internet date/time format (RFC 3339). For
	// example, 1985-04-12T23:20:50.52Z, this represents 20 minutes and
	// 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. If not
	// set, then the recovery point never expires.
	//
	// Format: date-time
	ExpirationTime *time.Time `json:"expiration_time,omitempty"`

	// Reference to vm that this recovery point is a snapshot of.
	//
	ParentVMReference *Reference `json:"parent_vm_reference,omitempty"`

	// Crash consistent or Application Consistent recovery point
	RecoveryPointType string `json:"recovery_point_type,omitempty"`

	// Reference to the availability zone where the source recovery
	// point exists. This need to be set to copy a recovery from some
	// other location.
	//
	SourceAvailabilityZoneReference *Reference `json:"source_availability_zone_reference,omitempty"`

	// Reference to the cluster in the source availability zone. This
	// need to be set to copy a recovery from some other location.
	//
	SourceClusterReference *Reference `json:"source_cluster_reference,omitempty"`

	// Metadata of the vm at the time of snapshot.
	//
	VMMetadata *Metadata `json:"vm_metadata,omitempty"`

	// Location agnostic UUID of the recovery point. If a recovery
	// point is replicated to a different clusters, then all the
	// instances of same recovery point will share this UUID.
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	VMRecoveryPointLocationAgnosticUUID *string `json:"vm_recovery_point_location_agnostic_uuid,omitempty"`

	// Spec of the vm at the time of snapshot.
	//
	VMSpec *VM `json:"vm_spec,omitempty"`
}

type VMRecoveryPointIntent

type VMRecoveryPointIntent struct {

	// api version
	APIVersion *string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata"`

	// spec
	Spec *VMRecoveryPoint `json:"spec,omitempty"`

	// status
	Status *VMRecoveryPointDefStatus `json:"status,omitempty"`
}

type VMRecoveryPointListIntent

type VMRecoveryPointListIntent struct {
	APIVersion *string `json:"api_version"`

	Entities []*VMRecoveryPointIntent `json:"entities,omitempty"`

	Metadata *ListMetadata `json:"metadata"`
}

type VMRecoveryPointRequest

type VMRecoveryPointRequest struct {

	// api version
	APIVersion *string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata"`

	// spec
	Spec *VMRecoveryPoint `json:"spec"`
}

type VMRecoveryPointResources

type VMRecoveryPointResources struct {

	// The time when the the recovery point is created. This is in internet
	// date/time format (RFC 3339). For example, 1985-04-12T23:20:50.52Z,
	// this represents 20 minutes and 50.52 seconds after the 23rd hour of
	// April 12th, 1985 in UTC.
	//
	// Format: date-time
	CreationTime *time.Time `json:"creation_time,omitempty"`

	// The time when this recovery point expires and will be garbage
	// collected. This is in internet date/time format (RFC 3339). For
	// example, 1985-04-12T23:20:50.52Z, this represents 20 minutes and
	// 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. If not
	// set, then the recovery point never expires.
	//
	// Format: date-time
	ExpirationTime *time.Time `json:"expiration_time,omitempty"`

	// Reference to vm that this recovery point is a snapshot of.
	//
	ParentVMReference *Reference `json:"parent_vm_reference,omitempty"`

	// Crash consistent or Application Consistent recovery point
	RecoveryPointType string `json:"recovery_point_type,omitempty"`

	// Reference to the availability zone where the source recovery
	// point exists. This need to be set to copy a recovery from some
	// other location.
	//
	SourceAvailabilityZoneReference *Reference `json:"source_availability_zone_reference,omitempty"`

	// Reference to the cluster in the source availability zone.
	//
	SourceClusterReference *Reference `json:"source_cluster_reference,omitempty"`

	// Location agnostic UUID of the recovery point. If a recovery
	// point is replicated to a different clusters, then all the
	// instances of same recovery point will share this UUID.
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	VMRecoveryPointLocationAgnosticUUID string `json:"vm_recovery_point_location_agnostic_uuid,omitempty"`
}

type VMResources

type VMResources struct {

	// Indicates which device the VM should boot from.
	BootConfig *VMBootConfig `json:"boot_config,omitempty"`

	// Disks attached to the VM.
	DiskList []*VMDisk `json:"disk_list,omitempty"`

	// GPUs attached to the VM.
	GpuList []*VMGpu `json:"gpu_list,omitempty"`

	GuestCustomization *GuestCustomization `json:"guest_customization,omitempty"`

	// Guest OS Identifier. For ESX, refer to VMware documentation link
	// https://www.vmware.com/support/orchestrator/doc/vro-vsphere65-api/html/VcVirtualMachineGuestOsIdentifier.html
	// for the list of guest OS identifiers.
	GuestOsID string `json:"guest_os_id,omitempty"`

	// Information regarding guest tools.
	GuestTools *GuestToolsSpec `json:"guest_tools,omitempty"`

	// VM's hardware clock timezone in IANA TZDB format (America/Los_Angeles).
	HardwareClockTimezone string `json:"hardware_clock_timezone,omitempty"`

	// Memory size in MiB.
	MemorySizeMib int64 `json:"memory_size_mib,omitempty"`

	// NICs attached to the VM.
	NicList []*VMNic `json:"nic_list,omitempty"`

	// Number of vCPU sockets.
	NumSockets int64 `json:"num_sockets,omitempty"`

	// Number of vCPUs per socket.
	NumVcpusPerSocket int64 `json:"num_vcpus_per_socket,omitempty"`

	// *Reference to an entity that the VM should be cloned from.
	ParentReference *Reference `json:"parent_reference,omitempty"`

	// The current or desired power state of the VM.
	PowerState string `json:"power_state,omitempty"`

	PowerStateMechanism *VMPowerStateMechanism `json:"power_state_mechanism,omitempty"`

	// Indicates whether VGA console should be enabled or not.
	VgaConsoleEnabled bool `json:"vga_console_enabled,omitempty"`

	// Information regarding vNUMA configuration.
	VMVnumaConfig *VMVnumaConfig `json:"vnuma_config,omitempty"`

	SerialPortList []*VMSerialPort `json:"serial_port_list,omitempty"`
}

VMResources VM Resources Definition.

type VMResourcesDefStatus

type VMResourcesDefStatus struct {

	// Indicates which device the VM should boot from.
	BootConfig *VMBootConfig `json:"boot_config,omitempty"`

	// Disks attached to the VM.
	DiskList []*VMDisk `json:"disk_list,omitempty"`

	// GPUs attached to the VM.
	GpuList []*VMGpuOutputStatus `json:"gpu_list,omitempty"`

	GuestCustomization *GuestCustomizationStatus `json:"guest_customization,omitempty"`

	// Guest OS Identifier. For ESX, refer to VMware documentation link
	// https://www.vmware.com/support/orchestrator/doc/vro-vsphere65-api/html/VcVirtualMachineGuestOsIdentifier.html
	// for the list of guest OS identifiers.
	GuestOsID *string `json:"guest_os_id,omitempty"`

	// Information regarding guest tools.
	GuestTools *GuestToolsStatus `json:"guest_tools,omitempty"`

	// VM's hardware clock timezone in IANA TZDB format (America/Los_Angeles).
	HardwareClockTimezone *string `json:"hardware_clock_timezone,omitempty"`

	HostReference *Reference `json:"host_reference,omitempty"`

	// The hypervisor type for the hypervisor the VM is hosted on.
	HypervisorType *string `json:"hypervisor_type,omitempty"`

	// Memory size in MiB.
	MemorySizeMib *int64 `json:"memory_size_mib,omitempty"`

	// NICs attached to the VM.
	NicList []*VMNicOutputStatus `json:"nic_list,omitempty"`

	// Number of vCPU sockets.
	NumSockets *int64 `json:"num_sockets,omitempty"`

	// Number of vCPUs per socket.
	NumVcpusPerSocket *int64 `json:"num_vcpus_per_socket,omitempty"`

	// *Reference to an entity that the VM cloned from.
	ParentReference *Reference `json:"parent_reference,omitempty"`

	// Current power state of the VM.
	PowerState *string `json:"power_state,omitempty"`

	PowerStateMechanism *VMPowerStateMechanism `json:"power_state_mechanism,omitempty"`

	// Indicates whether VGA console has been enabled or not.
	VgaConsoleEnabled *bool `json:"vga_console_enabled,omitempty"`

	// Information regarding vNUMA configuration.
	VnumaConfig *VMVnumaConfig `json:"vnuma_config,omitempty"`

	SerialPortList []*VMSerialPort `json:"serial_port_list,omitempty"`
}

VMResourcesDefStatus VM Resources Status Definition.

type VMRevertRequest added in v0.1.3

type VMRevertRequest struct {
	VMRecoveryPointUUID *string `json:"vm_recovery_point_uuid"`
}

type VMSerialPort

type VMSerialPort struct {
	Index       int64 `json:"index"`
	IsConnected bool  `json:"is_connected"`
}

type VMSnapshot

type VMSnapshot struct {

	// The time when this snapshot expires and will be garbage collected.
	// If not set, then the snapshot never expires.
	//
	ExpirationTimeMsecs int64 `json:"expiration_time_msecs,omitempty"`

	// Name of the snapshot
	// Max Length: 64
	Name string `json:"name,omitempty"`

	// resources
	Resources *VMSnapshotResources `json:"resources,omitempty"`

	// Crash consistent or Application Consistent snapshot
	SnapshotType string `json:"snapshot_type,omitempty"`
}

type VMSnapshotDefStatus

type VMSnapshotDefStatus struct {

	// This field is same for all the entities (irrespective of kind) that
	// were snapshotted together.
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	ConsistencyGroupUUID string `json:"consistency_group_uuid,omitempty"`

	// The time when this snapshot expires and will be garbage collected.
	// If not set, then the snapshot never expires.
	//
	ExpirationTimeMsecs int64 `json:"expiration_time_msecs,omitempty"`

	// If a snapshot is replicated to a different clusters, then all the
	// instances of same snapshot will share this UUID.
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	LocationAgnosticUUID string `json:"location_agnostic_uuid,omitempty"`

	// Any error messages for the {kind}}, if in an error state.
	MessageList []*MessageResource `json:"message_list"`

	// Name of the snapshot
	Name string `json:"name,omitempty"`

	// resources
	Resources *VMSnapshotResources `json:"resources,omitempty"`

	// Describes the files that are included in the snapshot.
	//
	// Required: true
	SnapshotFileList []*VMSnapshotDefStatusSnapshotFileListItems `json:"snapshot_file_list"`

	// Crash consistent or Application Consistent snapshot
	SnapshotType string `json:"snapshot_type,omitempty"`

	// The state of the VM snapshot.
	State string `json:"state,omitempty"`
}

type VMSnapshotDefStatusSnapshotFileListItems

type VMSnapshotDefStatusSnapshotFileListItems struct {

	// Pathname of the file that participated in the snapshot.
	//
	FilePath string `json:"file_path,omitempty"`

	// Pathname of the snapshot of the file.
	SnapshotFilePath string `json:"snapshot_file_path,omitempty"`
}

type VMSnapshotIntent

type VMSnapshotIntent struct {

	// api version
	APIVersion string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *VMSnapshot `json:"spec,omitempty"`

	// status
	Status *VMSnapshotDefStatus `json:"status,omitempty"`
}

type VMSnapshotListIntent

type VMSnapshotListIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version"`

	// entities
	Entities []*VMSnapshotIntent `json:"entities"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata"`
}

type VMSnapshotResources

type VMSnapshotResources struct {

	// UUID of the base entity for which snapshot need to be taken
	//
	// Pattern: ^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$
	EntityUUID string `json:"entity_uuid,omitempty"`
}

type VMStatus

type VMStatus struct {
	APIVersion string `json:"api_version,omitempty"`

	// The HTTP error code.
	Code int64 `json:"code,omitempty"`

	// The kind name
	Kind string `json:"kind,omitempty"`

	MessageList []*MessageResource `json:"message_list,omitempty"`

	State string `json:"state,omitempty"`
}

VMStatus The status of a REST API call. Only used when there is a failure to report.

type VMVnumaConfig

type VMVnumaConfig struct {

	// Number of vNUMA nodes. 0 means vNUMA is disabled.
	NumVnumaNodes *int64 `json:"num_vnuma_nodes,omitempty"`
}

VMVnumaConfig Indicates how VM vNUMA should be configured

type VirtualNetwork

type VirtualNetwork struct {

	// description
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// name
	// Required: true
	// Max Length: 64
	Name string `json:"name,omitempty"`

	// resources
	Resources *VirtualNetworkResources `json:"resources,omitempty"`
}

type VirtualNetworkDefStatus

type VirtualNetworkDefStatus struct {

	// description
	Description string `json:"description,omitempty"`

	// Any error messages for the virtual network, if in an error state.
	//
	MessageList []*MessageResource `json:"message_list,omitempty"`

	// name
	Name string `json:"name,omitempty"`

	// resources
	Resources *VirtualNetworkResourcesDefStatus `json:"resources,omitempty"`

	// The state of the virtual network.
	State string `json:"state,omitempty"`
}

type VirtualNetworkIntent

type VirtualNetworkIntent struct {

	// api version
	APIVersion string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *VirtualNetwork `json:"spec,omitempty"`

	// status
	Status *VirtualNetworkDefStatus `json:"status,omitempty"`
}

type VirtualNetworkListIntent

type VirtualNetworkListIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version,omitempty"`

	// entities
	Entities []*VirtualNetworkIntent `json:"entities,omitempty"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata,omitempty"`
}

type VirtualNetworkResources

type VirtualNetworkResources struct {

	// List of availability zones in Xi from which resources are derived (Only supported on Xi)
	//
	AvailabilityZoneReferenceList []*Reference `json:"availability_zone_reference_list,omitempty"`

	// List of domain name server IPs.
	CommonDomainNameServerIPList []*Address `json:"common_domain_name_server_ip_list,omitempty"`

	// Per region providing secure connection from on-prem to Xi (Only supported on Xi)
	//
	VpnConfig string `json:"vpn_config,omitempty"`
}

type VirtualNetworkResourcesDefStatus

type VirtualNetworkResourcesDefStatus struct {

	// List of availability zones in Xi from which resources are derived (Only supported on Xi)
	//
	AvailabilityZoneReferenceList []*Reference `json:"availability_zone_reference_list"`

	// List of domain name server IPs.
	CommonDomainNameServerIPList []*Address `json:"common_domain_name_server_ip_list"`

	// List of IP addresses used for SNAT.
	NatIPList []string `json:"nat_ip_list"`

	// Per region providing secure connection from on-prem to Xi (Only supported on Xi)
	//
	VpnConfig string `json:"vpn_config,omitempty"`
}

type VolumeGroup

type VolumeGroup struct {
	Name        *string               `json:"name"`                  // Volume Group name (required)
	Description *string               `json:"description,omitempty"` // Volume Group description.
	Resources   *VolumeGroupResources `json:"resources"`             // Volume Group resources.
}

VolumeGroup Represents volume group input spec.

type VolumeGroupDefStatus

type VolumeGroupDefStatus struct {
	State       *string               `json:"state"`        // The state of the volume group entity.
	MessageList []*MessageResource    `json:"message_list"` // Volume group message list.
	Name        *string               `json:"name"`         // Volume group name.
	Resources   *VolumeGroupResources `json:"resources"`    // Volume group resources.
	Description *string               `json:"description"`  // Volume group description.
}

VolumeGroupDefStatus Volume group configuration.

type VolumeGroupInput

type VolumeGroupInput struct {
	APIVersion *string      `json:"api_version,omitempty"` // default 3.1.0
	Metadata   *Metadata    `json:"metadata,omitempty"`    // The volume_group kind metadata.
	Spec       *VolumeGroup `json:"spec,omitempty"`        // Volume group input spec.
}

VolumeGroupInput Represents the request body for create volume_grop request

type VolumeGroupListResponse

type VolumeGroupListResponse struct {
	APIVersion *string                `json:"api_version"`
	Entities   []*VolumeGroupResponse `json:"entities,omitempty"`
	Metadata   *ListMetadata          `json:"metadata"`
}

VolumeGroupListResponse Response object for intentful operation of volume_groups

type VolumeGroupResources

type VolumeGroupResources struct {
	FlashMode         *string         `json:"flash_mode,omitempty"`          // Flash Mode, if enabled all disks of the VG are pinned to SSD
	FileSystemType    *string         `json:"file_system_type,omitempty"`    // File system to be used for volume
	SharingStatus     *string         `json:"sharing_status,omitempty"`      // Whether the VG can be shared across multiple iSCSI initiators
	AttachmentList    []*VMAttachment `json:"attachment_list,omitempty"`     // VMs attached to volume group.
	DiskList          []*VGDisk       `json:"disk_list,omitempty"`           // VGDisk Volume group disk specification.
	IscsiTargetPrefix *string         `json:"iscsi_target_prefix,omitempty"` // iSCSI target prefix-name.
}

VolumeGroupResources Represents the volume group resources

type VolumeGroupResponse

type VolumeGroupResponse struct {
	APIVersion *string               `json:"api_version"`      //
	Metadata   *Metadata             `json:"metadata"`         // The volume_group kind metadata
	Spec       *VolumeGroup          `json:"spec,omitempty"`   // Volume group input spec.
	Status     *VolumeGroupDefStatus `json:"status,omitempty"` // Volume group configuration.
}

VolumeGroupResponse Response object for intentful operations on a volume_group

type Vpc added in v0.1.14

type Vpc struct {

	// description
	// Max Length: 1000
	Description string `json:"description,omitempty"`

	// name
	// Required: true
	// Max Length: 64
	Name string `json:"name"`

	// resources
	Resources *VpcResources `json:"resources,omitempty"`
}

type VpcDefStatus added in v0.1.14

type VpcDefStatus struct {

	// description
	Description string `json:"description,omitempty"`

	// Any error messages for the VPC, if in an error state.
	//
	MessageList []*MessageResource `json:"message_list"`

	// name
	Name string `json:"name,omitempty"`

	// resources
	Resources *VpcResourcesDefStatus `json:"resources,omitempty"`

	// The state of the VPC.
	State string `json:"state,omitempty"`
}

type VpcIntent added in v0.1.14

type VpcIntent struct {

	// api version
	APIVersion string `json:"api_version,omitempty"`

	// metadata
	// Required: true
	Metadata *Metadata `json:"metadata,omitempty"`

	// spec
	Spec *Vpc `json:"spec,omitempty"`

	// status
	Status *VpcDefStatus `json:"status,omitempty"`
}

swagger:model vpc_intent_resource

type VpcListIntent added in v0.1.14

type VpcListIntent struct {

	// api version
	// Required: true
	APIVersion string `json:"api_version,omitempty"`

	// entities
	Entities []*VpcIntent `json:"entities"`

	// metadata
	// Required: true
	Metadata *ListMetadata `json:"metadata"`
}

swagger:model vpc_list_intent_response

type VpcResources added in v0.1.14

type VpcResources struct {

	// List of availability zones in Xi from which resources are derived (Only supported on Xi)
	//
	AvailabilityZoneReferenceList []*Reference `json:"availability_zone_reference_list,omitempty"`

	// List of domain name server IPs.
	CommonDomainNameServerIPList []*Address `json:"common_domain_name_server_ip_list,omitempty"`

	// List of external subnets attached to this VPC.
	ExternalSubnetList []*ExternalSubnet `json:"external_subnet_list,omitempty"`

	// CIDR blocks from the VPC which can talk externally without performing NAT. These blocks should be between /16 netmask and /28 netmask and cannot overlap across VPCs. They are effective when the VPC connects to a NAT-less external subnet.
	//
	ExternallyRoutablePrefixList []*IPSubnet `json:"externally_routable_prefix_list,omitempty"`
}

type VpcResourcesDefStatus added in v0.1.14

type VpcResourcesDefStatus struct {

	// List of availability zones in Xi from which resources are derived (Only supported on Xi)
	//
	AvailabilityZoneReferenceList []*Reference `json:"availability_zone_reference_list"`

	// List of domain name server IPs.
	CommonDomainNameServerIPList []*Address `json:"common_domain_name_server_ip_list"`

	// List of external subnets attached to this VPC.
	ExternalSubnetList []*ExternalSubnet `json:"external_subnet_list"`

	// CIDR blocks from the VPC which can talk externally without performing NAT. These blocks should be between /16 netmask and /28 netmask and cannot overlap across VPCs. They are effective when the VPC connects to a NAT-less external subnet.
	//
	ExternallyRoutablePrefixList []*IPSubnet `json:"externally_routable_prefix_list"`

	// List of IP addresses used for SNAT.
	NatIPList []string `json:"nat_ip_list"`
}

VpcResourcesDefStatus VPC resources status

VPC resources status

swagger:model vpc_resources_def_status

type WindowsDomain added in v0.1.11

type WindowsDomain struct {
	// The name of the node to be renamed to during domain-join. If not given,a new name will be automatically assigned.
	Name string `json:"name,omitempty"`
	// Full name of domain.
	DomainName       string       `json:"domain_name,omitempty"`
	DomainCredential *Credentials `json:"domain_credential"`
	// Path to organization unit in the domain.
	OrganizationUnitPath string `json:"organization_unit_path,omitempty"`
	// The name prefix in the domain in case of CPS deployment.
	NamePrefix string `json:"name_prefix,omitempty"`
	// The ip of name server that can resolve the domain name. Required during joining domain.
	NameServerIP string `json:"name_server_ip,omitempty"`
}

Hyper-V node domain.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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