v3

package
v0.0.0-...-22d1802 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2022 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessControlPolicy

type AccessControlPolicy struct {
	Status     *AccessControlPolicyStatus `json:"status,omitempty"`
	Spec       *AccessControlPolicySpec   `json:"spec,omitempty"`
	APIVersion string                     `json:"api_version,omitempty"`
	Metadata   *Metadata                  `json:"metadata,omitempty"`
}

AccessControlPolicy Response object for intentful operations on a access policy

type AccessControlPolicyListResponse

type AccessControlPolicyListResponse struct {
	APIVersion string                 `json:"api_version,omitempty"`
	Entities   []*AccessControlPolicy `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput    `json:"metadata,omitempty"`
}

AccessControlPolicyListResponse Response object for intentful operation of access policy

type AccessControlPolicyResources

type AccessControlPolicyResources struct {
	UserReferenceList      []*Reference `json:"user_reference_list,omitempty"`
	UserGroupReferenceList []*Reference `json:"user_group_reference_list,omitempty"`
	RoleReference          *Reference   `json:"role_reference,omitempty"`
	FilterList             *FilterList  `json:"filter_list,omitempty"`
}

AccessControlPolicyResources ...

type AccessControlPolicySpec

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

AccessControlPolicySpec ...

type AccessControlPolicyStatus

type AccessControlPolicyStatus struct {
	State            *string                       `json:"state,omitempty"`
	MessageList      []*MessageResource            `json:"message_list,omitempty"`
	Name             *string                       `json:"name,omitempty"`
	Resources        *AccessControlPolicyResources `json:"resources,omitempty"`
	Description      *string                       `json:"description,omitempty"`
	ExecutionContext *ExecutionContext             `json:"execution_context,omitempty"`
}

AccessControlPolicyStatus ...

type Address

type Address struct {
	// Fully qualified domain name.
	FQDN *string `json:"fqdn,omitempty" mapstructure:"fqdn,omitempty"`

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

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

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

Address represents the Host address.

type AddressGroupInput

type AddressGroupInput struct {
	Name               *string           `json:"name,omitempty"`
	Description        *string           `json:"description,omitempty"`
	BlockList          []*IPAddressBlock `json:"ip_address_block_list,omitempty"`
	AddressGroupString *string           `json:"address_group_string,omitempty"`
}

type AddressGroupListEntry

type AddressGroupListEntry struct {
	AddressGroup           *AddressGroupInput `json:"address_group,omitempty"`
	AssociatedPoliciesList []*ReferenceValues `json:"associated_policies_list,omitempty"`
}

type AddressGroupListResponse

type AddressGroupListResponse struct {
	Metadata *ListMetadataOutput      `json:"metadata,omitempty"`
	Entities []*AddressGroupListEntry `json:"entities,omitempty"`
}

type AddressGroupResponse

type AddressGroupResponse struct {
	UUID         *string            `json:"uuid,omitempty"`
	AddressGroup *AddressGroupInput `json:"address_group,omitempty"`
}

type AvailabilityZoneConnectivityList

type AvailabilityZoneConnectivityList struct {
	DestinationAvailabilityZoneIndex *int64                  `json:"destination_availability_zone_index,omitempty"`
	SourceAvailabilityZoneIndex      *int64                  `json:"source_availability_zone_index,omitempty"`
	SnapshotScheduleList             []*SnapshotScheduleList `json:"snapshot_schedule_list,omitempty"`
}

AvailabilityZoneConnectivityList represents a object for resource of protection rule

type AvailabilityZoneNetworkMappingList

type AvailabilityZoneNetworkMappingList struct {
	RecoveryNetwork          *Network            `json:"recovery_network,omitempty"`
	AvailabilityZoneURL      string              `json:"availability_zone_url,omitempty"`
	TestNetwork              *Network            `json:"test_network,omitempty"`
	RecoveryIPAssignmentList []*IPAssignmentList `json:"recovery_ip_assignment_list,omitempty"`
	TestIPAssignmentList     []*IPAssignmentList `json:"test_ip_assignment_list,omitempty"`
	ClusterReferenceList     []*Reference        `json:"cluster_reference_list,omitempty"`
}

AvailabilityZoneNetworkMappingList represents a object for resource of recovery plan

type Block

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

Block represents Host block config info.

type BuildInfo

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

BuildInfo ...

type CaCert

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

CaCert ...

type CategoryFilter

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

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

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

CategoryFilter represents A category filter.

type CategoryKey

type CategoryKey struct {
	// API version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

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

	// Name of the category.
	Name *string `json:"name" mapstructure:"name"`
}

CategoryKey represents category key definition.

type CategoryKeyListResponse

type CategoryKeyListResponse struct {
	// API Version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

	Entities []*CategoryKeyStatus `json:"entities,omitempty" mapstructure:"entities,omitempty"`

	Metadata *CategoryListMetadata `json:"metadata,omitempty" mapstructure:"metadata,omitempty"`
}

CategoryKeyListResponse represents the category key list response.

type CategoryKeyStatus

type CategoryKeyStatus struct {
	// API version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

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

	// Name of the category.
	Name *string `json:"name" mapstructure:"name"`

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

CategoryKeyStatus represents Category Key Definition.

type CategoryListMetadata

type CategoryListMetadata struct {
	// The filter in FIQL syntax used for the results.
	Filter *string `json:"filter,omitempty" mapstructure:"filter,omitempty"`

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

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

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

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

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

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

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

type CategoryQueryInput

type CategoryQueryInput struct {
	// API version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

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

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

	// The offset into the total member set to return per group.
	GroupMemberOffset *int64 `json:"group_member_offset,omitempty" mapstructure:"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" mapstructure:"usage_type,omitempty"`
}

CategoryQueryInput represents Categories query input object.

type CategoryQueryResponse

type CategoryQueryResponse struct {
	// API version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

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

	Results []*CategoryQueryResponseResults `json:"results,omitempty" mapstructure:"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" mapstructure:"group_member_count,omitempty"`

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

	// Total number of matched results.
	TotalMatches *int64 `json:"total_matches,omitempty" mapstructure:"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" mapstructure:"usage_type,omitempty"`
}

CategoryQueryResponseMetadata represents Response metadata.

type CategoryQueryResponseResults

type CategoryQueryResponseResults struct {
	// List of entity references.
	EntityAnyReferenceList []*EntityReference `json:"entity_any_reference_list,omitempty" mapstructure:"entity_any_reference_list,omitempty"`

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

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

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

CategoryQueryResponseResults ...

type CategoryStatus

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

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

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

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

	State *string `json:"state,omitempty" mapstructure:"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" mapstructure:"api_version,omitempty"`

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

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

CategoryValue represents Category value definition.

type CategoryValueListResponse

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

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

	Metadata *CategoryListMetadata `json:"metadata,omitempty" mapstructure:"metadata,omitempty"`
}

CategoryValueListResponse represents Category Value list response.

type CategoryValueStatus

type CategoryValueStatus struct {
	// API version.
	APIVersion *string `json:"api_version,omitempty" mapstructure:"api_version,omitempty"`

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

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

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

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

CategoryValueStatus represents Category value definition.

type CertificationSigningInfo

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

CertificationSigningInfo ...

type Checksum

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

Checksum represents the image checksum

type CitrixConnectorConfigDetails

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

CitrixConnectorConfigDetails ...

type CitrixConnectorConfigDetailsSpec

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

CitrixConnectorConfigDetailsSpec ...

type CitrixResourceLocation

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

CitrixResourceLocation ...

type CitrixResourceLocationSpec

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

CitrixResourceLocationSpec ...

type Client

type Client struct {
	V3 Service
	// contains filtered or unexported fields
}

Client manages the V3 API

func NewV3Client

func NewV3Client(credentials vmclient.Credentials, opts ...ClientOption) (*Client, error)

NewV3Client return a internal to operate V3 resources

type ClientAuth

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

ClientAuth ...

type ClientOption

type ClientOption func(*Client) error

ClientOption is a functional option for the Client

func WithCertificate

func WithCertificate(certificate *x509.Certificate) ClientOption

WithCertificate sets the certificate for the client

func WithLogger

func WithLogger(logger *logr.Logger) ClientOption

WithLogger sets the logger for the client

func WithPEMEncodedCertBundle

func WithPEMEncodedCertBundle(certBundle []byte) ClientOption

WithPEMEncodedCertBundle sets the certificates for the client

func WithRoundTripper

func WithRoundTripper(transport http.RoundTripper) ClientOption

WithRoundTripper overrides the transport for the underlying http client Overriding transport is useful for testing against API Mocks This is not recommended for production use

type Cluster

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

Cluster ...

type ClusterAnalysis

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

ClusterAnalysis ...

type ClusterConfig

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

ClusterConfig ...

type ClusterDefStatus

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

ClusterDefStatus ...

type ClusterDomainServer

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

ClusterDomainServer ...

type ClusterIntentResponse

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

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

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

ClusterIntentResponse ...

type ClusterListIntentResponse

type ClusterListIntentResponse struct {
	APIVersion *string                  `json:"api_version" mapstructure:"api_version"`
	Entities   []*ClusterIntentResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput      `json:"metadata" mapstructure:"metadata"`
}

ClusterListIntentResponse ...

type ClusterManagementServer

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

ClusterManagementServer ...

type ClusterNetwork

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

ClusterNetwork ...

type ClusterNetworkEntity

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

ClusterNetworkEntity ...

type ClusterNodes

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

ClusterNodes ...

type ClusterObj

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

ClusterObj ...

type ClusterResource

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

ClusterResource ...

type ConfigClusterSpec

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

ConfigClusterSpec ...

type ContextList

type ContextList struct {
	ScopeFilterExpressionList  []*ScopeFilterExpressionList `json:"scope_filter_expression_list,omitempty"`
	EntityFilterExpressionList []EntityFilterExpressionList `json:"entity_filter_expression_list,omitempty"`
}

ContextList ...

type ControllerVM

type ControllerVM struct {
	IP         string      `json:"ip,omitempty"`
	NatIP      string      `json:"nat_ip,omitempty"`
	NatPort    *int64      `json:"nat_port,omitempty"`
	OplogUsage *OplogUsage `json:"oplog_usage,omitempty"`
}

ControllerVM means Hyper-V node domain

type Credentials

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

Credentials ...

type DHCPOptions

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

	DomainName *string `json:"domain_name,omitempty" mapstructure:"domain_name,omitempty"`

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

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

	TFTPServerName *string `json:"tftp_server_name,omitempty" mapstructure:"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" mapstructure:"filter,omitempty"`

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

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

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

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

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

	// Additional filters for client side filtering api response
	ClientSideFilters []*vmclient.AdditionalFilter `json:"-"`
}

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

type DeleteResponse

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

DeleteResponse ...

type DeleteStatus

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

DeleteStatus ...

type DirectoryServiceUser

type DirectoryServiceUser struct {
	DefaultUserPrincipalName  *string    `json:"default_user_principal_name,omitempty"` // The Default UserPrincipalName of the user from the directory service.
	DirectoryServiceReference *Reference `json:"directory_service_reference,omitempty"` // The reference to a directory_service
	UserPrincipalName         *string    `json:"user_principal_name,omitempty"`         // The UserPrincipalName of the user from the directory service.
}

A Directory Service user.

type DirectoryServiceUserGroup

type DirectoryServiceUserGroup struct {
	DirectoryServiceReference *Reference `json:"directory_service_reference,omitempty"` // The reference to a directory_service
	DistinguishedName         *string    `json:"distinguished_name,omitempty"`          // The Distinguished name for the user group.
}

A Directory Service user group.

type DiskAddress

type DiskAddress struct {
	AdapterType *string `json:"adapter_type,omitempty" mapstructure:"adapter_type,omitempty"`
	DeviceIndex *int64  `json:"device_index,omitempty" mapstructure:"device_index,omitempty"`
}

DiskAddress Disk Address.

type DomainCredencial

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

DomainCredencial represents the way to login server

type EntityFilterExpressionList

type EntityFilterExpressionList struct {
	LeftHandSide  LeftHandSide  `json:"left_hand_side,omitempty"`
	Operator      string        `json:"operator,omitempty"`
	RightHandSide RightHandSide `json:"right_hand_side,omitempty"`
}

EntityFilterExpressionList ...

type EntityInfoList

type EntityInfoList struct {
	AnyEntityReference *Reference        `json:"any_entity_reference,omitempty"`
	Categories         map[string]string `json:"categories,omitempty"`
	ScriptList         []*ScriptList     `json:"script_list,omitempty"`
}

EntityInfoList represents a object for resource of recovery plan

type EntityReference

type EntityReference struct {
	// Categories for the entity.
	Categories map[string]string `json:"categories,omitempty" mapstructure:"categories,omitempty"`

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

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

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

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

EntityReference Reference to an entity.

type ExecutionContext

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

ExecutionContext ...

type ExternalConfigurations

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

ExternalConfigurations ...

type ExternalConfigurationsSpec

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

ExternalConfigurationsSpec ...

type FailoverCluster

type FailoverCluster struct {
	IP               string            `json:"ip,omitempty"`
	Name             string            `json:"name,omitempty"`
	DomainCredencial *DomainCredencial `json:"domain_credencial,omitempty"`
}

FailoverCluster means Hiper-V failover cluster

type FieldsPermission

type FieldsPermission struct {
	FieldMode     *string   `json:"field_mode,omitempty"`
	FieldNameList []*string `json:"field_name_list,omitempty"`
}

type FilterList

type FilterList struct {
	ContextList []*ContextList `json:"context_list,omitempty"`
}

FilterList ...

type FloatingIPAssignmentList

type FloatingIPAssignmentList struct {
	AvailabilityZoneURL string                `json:"availability_zone_url,omitempty"`
	VMIPAssignmentList  []*VMIPAssignmentList `json:"vm_ip_assignment_list,omitempty"`
}

FloatingIPAssignmentList represents a object for resource of recovery plan

type FloatingIPConfig

type FloatingIPConfig struct {
	IP                        string `json:"ip,omitempty"`
	ShouldAllocateDynamically *bool  `json:"should_allocate_dynamically,omitempty"`
}

FloatingIPConfig represents a object for resource of recovery plan

type GPU

type GPU struct {
	Status                 string           `json:"status,omitempty"`
	Vendor                 string           `json:"vendor,omitempty"`
	NumVirtualDisplayHeads *int64           `json:"num_virtual_display_heads,omitempty"`
	Assignable             bool             `json:"assignable,omitempty"`
	LicenseList            []*string        `json:"license_list,omitempty"`
	NumVgpusAllocated      *int64           `json:"num_vgpus_allocated,omitempty"`
	PciAddress             string           `json:"pci_address,omitempty"`
	Name                   string           `json:"name,omitempty"`
	FrameBufferSizeMib     *int64           `json:"frame_buffer_size_mib,omitempty"`
	Index                  *int64           `json:"index,omitempty"`
	UUID                   string           `json:"uuid,omitempty"`
	NumaNode               *int64           `json:"numa_node,omitempty"`
	MaxResoution           string           `json:"max_resolution,omitempty"`
	ConsumerReference      *ReferenceValues `json:"consumer_reference,omitempty"`
	Mode                   string           `json:"mode,omitempty"`
	Fraction               *int64           `json:"fraction,omitempty"`
	GuestDriverVersion     string           `json:"guest_driver_version,omitempty"`
	DeviceID               *int64           `json:"device_id,omitempty"`
}

GPU represnts list of GPUs on the host

type GuestCustomization

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

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

	Sysprep *GuestCustomizationSysprep `json:"sysprep,omitempty" mapstructure:"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" mapstructure:"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" mapstructure:"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" mapstructure:"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" mapstructure:"cloud_init,omitempty"`

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

	Sysprep *GuestCustomizationSysprep `json:"sysprep,omitempty" mapstructure:"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" mapstructure:"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" mapstructure:"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" mapstructure:"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" mapstructure:"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" mapstructure:"nutanix_guest_tools,omitempty"`
}

GuestToolsStatus Information regarding guest tools.

type HTTPProxyWhitelist

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

HTTPProxyWhitelist ...

type HostListResponse

type HostListResponse struct {
	APIVersion string              `json:"api_version,omitempty"`
	Entities   []*HostResponse     `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput `json:"metadata,omitempty"`
}

HostListResponse Response object for intentful operation of Host

type HostResources

type HostResources struct {
	GPUDriverVersion       string             `json:"gpu_driver_version,omitempty"`
	FailoverCluster        *FailoverCluster   `json:"failover_cluster,omitempty"`
	IPMI                   *IPMI              `json:"ipmi,omitempty"`
	CPUModel               string             `json:"cpu_model,omitempty"`
	HostNicsIDList         []*string          `json:"host_nics_id_list,omitempty"`
	NumCPUSockets          *int64             `json:"num_cpu_sockets,omitempty"`
	WindowsDomain          *WindowsDomain     `json:"windows_domain,omitempty"`
	GPUList                []*GPU             `json:"gpu_list,omitempty"`
	SerialNumber           string             `json:"serial_number,omitempty"`
	CPUCapacityHZ          *int64             `json:"cpu_capacity_hz,omitempty"`
	MemoryVapacityMib      *int64             `json:"memory_capacity_mib,omitempty"`
	HostDisksReferenceList []*ReferenceValues `json:"host_disks_reference_list,omitempty"`
	MonitoringState        string             `json:"monitoring_state,omitempty"`
	Hypervisor             *Hypervisor        `json:"hypervisor,omitempty"`
	HostType               string             `json:"host_type,omitempty"`
	NumCPUCores            *int64             `json:"num_cpu_cores,omitempty"`
	RackableUnitReference  *ReferenceValues   `json:"rackable_unit_reference,omitempty"`
	ControllerVM           *ControllerVM      `json:"controller_vm,omitempty"`
	Block                  *Block             `json:"block,omitempty"`
}

HostResources represents the host resources

type HostResponse

type HostResponse struct {
	APIVersion string      `json:"api_version,omitempty"`
	Metadata   *Metadata   `json:"metadata,omitempty"`
	Spec       *HostSpec   `json:"spec,omitempty"`
	Status     *HostStatus `json:"status,omitempty"`
}

HostResponse Response object for intentful operations on a Host

type HostSpec

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

HostSpec Represents volume group input spec.

type HostStatus

type HostStatus struct {
	State            string             `json:"state,omitempty"`
	MessageList      []*MessageResource `json:"message_list,omitempty"`
	Name             string             `json:"name,omitempty"`
	Resources        *HostResources     `json:"resources,omitempty"`
	ClusterReference *ReferenceValues   `json:"cluster_reference,omitempty"`
}

HostStatus Volume group configuration.

type Hypervisor

type Hypervisor struct {
	NumVms             *int64 `json:"num_vms,omitempty"`
	IP                 string `json:"ip,omitempty"`
	HypervisorFullName string `json:"hypervisor_full_name,omitempty"`
}

Hypervisor Full name of hypervisor running on Host

type HypervisorServer

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

HypervisorServer ...

type IPAddress

type IPAddress struct {
	// Address *string.
	IP *string `json:"ip,omitempty" mapstructure:"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" mapstructure:"type,omitempty"`
}

IPAddress An IP address.

type IPAddressBlock

type IPAddressBlock struct {
	IPAddress    *string `json:"ip,omitempty"`
	PrefixLength *int64  `json:"prefix_length,omitempty"`
}

type IPAssignmentList

type IPAssignmentList struct {
	VMReference  *Reference      `json:"vm_reference,omitempty"`
	IPConfigList []*IPConfigList `json:"ip_config_list,omitempty"`
}

type IPConfig

type IPConfig struct {
	// Default gateway IP address.
	DefaultGatewayIP *string `json:"default_gateway_ip,omitempty" mapstructure:"default_gateway_ip,omitempty"`

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

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

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

	PrefixLength *int64 `json:"prefix_length,omitempty" mapstructure:"prefix_length,omitempty"`

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

IPConfig represents the configurtion of IP.

type IPConfigList

type IPConfigList struct {
	IPAddress string `json:"ip_address,omitempty"`
}

type IPMI

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

IPMI means Host IPMI Information

type IPPool

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

IPPool represents IP pool.

type IPSubnet

type IPSubnet struct {
	// IPV4 address.
	IP *string `json:"ip,omitempty" mapstructure:"ip,omitempty"`

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

IPSubnet IP subnet provided as an address and prefix length.

type IdentityProvider

type IdentityProvider struct {
	IdentityProviderReference *Reference `json:"identity_provider_reference,omitempty"` // The reference to a identity_provider
	Username                  *string    `json:"username,omitempty"`                    // The username from the identity provider. Name Id for SAML Identity Provider.
}

An Identity Provider user.

type Image

type Image struct {
	// A description for image.
	Description *string `json:"description,omitempty" mapstructure:"description,omitempty"`

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

	Resources *ImageResources `json:"resources" mapstructure:"resources"`
}

Image An intentful representation of a image spec

type ImageDefStatus

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

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

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

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

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

	Resources ImageResourcesDefStatus `json:"resources" mapstructure:"resources"`

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

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

ImageDefStatus represents an intentful representation of a image status

type ImageIntentInput

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

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

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

ImageIntentInput An intentful representation of a image

type ImageIntentResource

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

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

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

ImageIntentResource represents the response object for intentful operations on a image

type ImageIntentResponse

type ImageIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

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

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

ImageIntentResponse represents the response object for intentful operations on a image

type ImageListIntentResponse

type ImageListIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

	Entities []*ImageIntentResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`

	Metadata *ListMetadataOutput `json:"metadata" mapstructure:"metadata"`
}

ImageListIntentResponse represents the response object for intentful operation of images

type ImageListMetadata

type ImageListMetadata struct {
	// The filter in FIQL syntax used for the results.
	Filter *string `json:"filter,omitempty" mapstructure:"filter,omitempty"`

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

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

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

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

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

ImageListMetadata represents metadata input

type ImageMetadata

type ImageMetadata struct {
	// Categories for the image
	Categories map[string]string `json:"categories,omitempty" mapstructure:"categories,omitempty"`

	// UTC date and time in RFC-3339 format when vm was created
	CreationTime *time.Time `json:"creation_time,omitempty" mapstructure:"creation_time,omitempty"`

	// The kind name
	Kind *string `json:"kind" mapstructure:"kind"`

	// UTC date and time in RFC-3339 format when image was last updated
	LastUpdateTime *time.Time `json:"last_update_time,omitempty" mapstructure:"last_update_time,omitempty"`

	// image name
	Name *string `json:"name,omitempty" mapstructure:"name,omitempty"`

	// project reference
	ProjectReference *Reference `json:"project_reference,omitempty" mapstructure:"project_reference,omitempty"`

	OwnerReference *Reference `json:"owner_reference,omitempty" mapstructure:"owner_reference,omitempty"`

	// Hash of the spec. This will be returned from server.
	SpecHash *string `json:"spec_hash,omitempty" mapstructure:"spec_hash,omitempty"`

	// Version number of the latest spec.
	SpecVersion *int64 `json:"spec_version,omitempty" mapstructure:"spec_version,omitempty"`

	// image uuid
	UUID *string `json:"uuid,omitempty" mapstructure:"uuid,omitempty"`
}

ImageMetadata Metadata The image kind metadata

type ImageResources

type ImageResources struct {
	// The supported CPU architecture for a disk image.
	Architecture *string `json:"architecture,omitempty" mapstructure:"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" mapstructure:"checksum,omitempty"`

	// The type of image.
	ImageType *string `json:"image_type,omitempty" mapstructure:"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" mapstructure:"source_uri,omitempty"`

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

	// Cluster reference lists
	InitialPlacementRefList []*ReferenceValues `json:"initial_placement_ref_list,omitempty" mapstructure:"initial_placement_ref_list, omitempty"`

	// Reference to the source image such as 'vm_disk
	DataSourceReference *Reference `json:"data_source_reference,omitempty" mapstructure:"data_source_reference,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" mapstructure:"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" mapstructure:"checksum,omitempty"`

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

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

	// The size of the image in bytes.
	SizeBytes *int64 `json:"size_bytes,omitempty" mapstructure:"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" mapstructure:"source_uri,omitempty"`

	// Cluster reference lists
	InitialPlacementRefList []*ReferenceValues `json:"initial_placement_ref_list,omitempty" mapstructure:"initial_placement_ref_list, omitempty"`

	// cluster reference list when request was made without refs
	CurrentClusterReferenceList []*ReferenceValues `json:"current_cluster_reference_list,omitempty" mapstructure:"current_cluster_reference_list, omitempty"`

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

ImageResourcesDefStatus describes the image status resources object.

type ImageStatus

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

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

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

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

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

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

type ImageVersionResources

type ImageVersionResources struct {
	// Name of the producer/distribution of the image. For example windows or red hat.
	ProductName *string `json:"product_name" mapstructure:"product_name"`

	// Version *string for the disk image.
	ProductVersion *string `json:"product_version" mapstructure:"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" mapstructure:"product_name"`

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

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

type LeftHandSide

type LeftHandSide struct {
	EntityType *string `json:"entity_type,omitempty"`
}

LeftHandSide ...

type ListMetadata

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

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

type ListMetadataOutput

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

ListMetadataOutput All api calls that return a list will have this metadata block

type MessageResource

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

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

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

MessageResource ...

type Metadata

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

	// Applied on Prism Central only. Indicate whether force to translate the spec of the fanout request to fit the target cluster API schema.
	ShouldForceTranslate *bool `json:"should_force_translate,omitempty" mapstructure:"should_force_translate,omitempty"`
}

Metadata Metadata The kind metadata

type Network

type Network struct {
	VirtualNetworkReference *Reference    `json:"virtual_network_reference,omitempty"`
	SubnetList              []*SubnetList `json:"subnet_list,omitempty"`
	Name                    string        `json:"name,omitempty"`
	VPCReference            *Reference    `json:"vpc_reference,omitempty"`
	UseVPCReference         *bool         `json:"use_vpc_reference,omitempty"`
}

Network represents a object for resource of recovery plan

type NetworkMappingList

type NetworkMappingList struct {
	AvailabilityZoneNetworkMappingList []*AvailabilityZoneNetworkMappingList `json:"availability_zone_network_mapping_list,omitempty"`
	AreNetworksStretched               *bool                                 `json:"are_networks_stretched,omitempty"`
}

represents a object for resource of recovery plan

type NetworkRule

type NetworkRule struct {
	ExpirationTime                *string                        `json:"expiration_time,omitempty" mapstructure:"expiration_time,omitempty"`
	Filter                        *CategoryFilter                `json:"filter,omitempty" mapstructure:"filter,omitempty"`
	IcmpTypeCodeList              []*NetworkRuleIcmpTypeCodeList `json:"icmp_type_code_list,omitempty" mapstructure:"icmp_type_code_list,omitempty"`
	IPSubnet                      *IPSubnet                      `json:"ip_subnet,omitempty" mapstructure:"ip_subnet,omitempty"`
	NetworkFunctionChainReference *Reference                     `json:"network_function_chain_reference,omitempty" mapstructure:"network_function_chain_reference,omitempty"`
	PeerSpecificationType         *string                        `json:"peer_specification_type,omitempty" mapstructure:"peer_specification_type,omitempty"`
	Protocol                      *string                        `json:"protocol,omitempty" mapstructure:"protocol,omitempty"`
	TCPPortRangeList              []*PortRange                   `json:"tcp_port_range_list,omitempty" mapstructure:"tcp_port_range_list,omitempty"`
	UDPPortRangeList              []*PortRange                   `json:"udp_port_range_list,omitempty" mapstructure:"udp_port_range_list,omitempty"`
	AddressGroupInclusionList     []*Reference                   `json:"address_group_inclusion_list,omitempty" mapstructure:"address_group_inclusion_list,omitempty"`
	Description                   *string                        `json:"description,omitempty" mapstructure:"description,omitempty"`
	ServiceGroupList              []*Reference                   `json:"service_group_list,omitempty" mapstructure:"service_group_list,omitempty"`
}

NetworkRule ...

type NetworkRuleIcmpTypeCodeList

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

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

NetworkRuleIcmpTypeCodeList ..

type NetworkSecurityRule

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

NetworkSecurityRule ...

type NetworkSecurityRuleDefStatus

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

NetworkSecurityRuleDefStatus ... Network security rule status

type NetworkSecurityRuleIntentInput

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

NetworkSecurityRuleIntentInput An intentful representation of a network_security_rule

type NetworkSecurityRuleIntentResource

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

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

type NetworkSecurityRuleIntentResponse

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

NetworkSecurityRuleIntentResponse Response object for intentful operations on a network_security_rule

type NetworkSecurityRuleIsolationRule

type NetworkSecurityRuleIsolationRule struct {
	Action             *string         `json:"action,omitempty" mapstructure:"action,omitempty"`                             // Type of action.
	FirstEntityFilter  *CategoryFilter `json:"first_entity_filter,omitempty" mapstructure:"first_entity_filter,omitempty"`   // The set of categories that matching VMs need to have.
	SecondEntityFilter *CategoryFilter `json:"second_entity_filter,omitempty" mapstructure:"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" mapstructure:"api_version"`
	Entities   []*NetworkSecurityRuleIntentResource `json:"entities,omitempty" bson:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput                  `json:"metadata" mapstructure:"metadata"`
}

NetworkSecurityRuleListIntentResponse Response object for intentful operation of network_security_rules

type NetworkSecurityRuleResources

type NetworkSecurityRuleResources struct {
	AllowIpv6Traffic      *bool                             `json:"allow_ipv6_traffic,omitempty" mapstructure:"allow_ipv6_traffic,omitempty"`
	IsPolicyHitlogEnabled *bool                             `json:"is_policy_hitlog_enabled,omitempty" mapstructure:"is_policy_hitlog_enabled,omitempty"`
	AdRule                *NetworkSecurityRuleResourcesRule `json:"ad_rule,omitempty" mapstructure:"ad_rule,omitempty"`
	AppRule               *NetworkSecurityRuleResourcesRule `json:"app_rule,omitempty" mapstructure:"app_rule,omitempty"`
	IsolationRule         *NetworkSecurityRuleIsolationRule `json:"isolation_rule,omitempty" mapstructure:"isolation_rule,omitempty"`
	QuarantineRule        *NetworkSecurityRuleResourcesRule `json:"quarantine_rule,omitempty" mapstructure:"quarantine_rule,omitempty"`
}

NetworkSecurityRuleResources ...

type NetworkSecurityRuleResourcesRule

type NetworkSecurityRuleResourcesRule struct {
	Action            *string        `json:"action,omitempty" mapstructure:"action,omitempty"`                         // Type of action.
	InboundAllowList  []*NetworkRule `json:"inbound_allow_list,omitempty" mapstructure:"inbound_allow_list,omitempty"` //
	OutboundAllowList []*NetworkRule `json:"outbound_allow_list,omitempty" mapstructure:"outbound_allow_list,omitempty"`
	TargetGroup       *TargetGroup   `json:"target_group,omitempty" mapstructure:"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" mapstructure:"api_version,omitempty"` //
	Code        *int64             `json:"code,omitempty" mapstructure:"code,omitempty"`               // The HTTP error code.
	Kind        *string            `json:"kind,omitempty" mapstructure:"kind,omitempty"`               // The kind name
	MessageList []*MessageResource `json:"message_list,omitempty" mapstructure:"message_list,omitempty"`
	State       *string            `json:"state,omitempty" mapstructure:"state,omitempty"`
}

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

type NutanixGuestToolsSpec

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

NutanixGuestToolsStatus Information regarding Nutanix Guest Tools.

type Operations

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

Operations ...

func (Operations) CreateAccessControlPolicy

func (op Operations) CreateAccessControlPolicy(ctx context.Context, request *AccessControlPolicy) (*AccessControlPolicy, error)

CreateAccessControlPolicy creates a access policy

  • This operation submits a request to create a access policy based on the input parameters. *
  • @param request *Access Policy
  • @return *Access Policy

func (Operations) CreateAddressGroup

func (op Operations) CreateAddressGroup(ctx context.Context, request *AddressGroupInput) (*Reference, error)

func (Operations) CreateImage

func (op Operations) CreateImage(ctx context.Context, body *ImageIntentInput) (*ImageIntentResponse, error)

CreateImage Creates a IMAGE Images are raw ISO, QCOW2, or VMDK files that are uploaded by a user can be attached to a op. An ISO image is

  • attached as a virtual CD-ROM drive, and QCOW2 and VMDK files are attached as SCSI disks. An image has to be explicitly added to the
  • self-service catalog before users can create VMs from it. *
  • @param body @return *ImageIntentResponse

func (Operations) CreateNetworkSecurityRule

func (op Operations) CreateNetworkSecurityRule(ctx context.Context, request *NetworkSecurityRuleIntentInput) (*NetworkSecurityRuleIntentResponse, error)

CreateNetworkSecurityRule Creates a Network security rule

  • This operation submits a request to create a Network security rule based on the input parameters. *
  • @param request
  • @return *NetworkSecurityRuleIntentResponse

func (Operations) CreateOrUpdateCategoryKey

func (op Operations) CreateOrUpdateCategoryKey(ctx context.Context, body *CategoryKey) (*CategoryKeyStatus, error)

CreateOrUpdateCategoryKey ...

func (Operations) CreateOrUpdateCategoryValue

func (op Operations) CreateOrUpdateCategoryValue(ctx context.Context, name string, body *CategoryValue) (*CategoryValueStatus, error)

CreateOrUpdateCategoryValue ...

func (Operations) CreateProject

func (op Operations) CreateProject(ctx context.Context, request *Project) (*Project, error)

CreateProject creates a project

  • This operation submits a request to create a project based on the input parameters. *
  • @param request *Project
  • @return *Project

func (Operations) CreateProtectionRule

func (op Operations) CreateProtectionRule(ctx context.Context, createRequest *ProtectionRuleInput) (*ProtectionRuleResponse, error)

CreateProtectionRule ...

func (Operations) CreateRecoveryPlan

func (op Operations) CreateRecoveryPlan(ctx context.Context, createRequest *RecoveryPlanInput) (*RecoveryPlanResponse, error)

CreateRecoveryPlan ...

func (Operations) CreateRole

func (op Operations) CreateRole(ctx context.Context, request *Role) (*Role, error)

CreateRole creates a role

  • This operation submits a request to create a role based on the input parameters. *
  • @param request *Role
  • @return *Role

func (Operations) CreateServiceGroup

func (op Operations) CreateServiceGroup(ctx context.Context, request *ServiceGroupInput) (*Reference, error)

func (Operations) CreateSubnet

func (op Operations) CreateSubnet(ctx context.Context, createRequest *SubnetIntentInput) (*SubnetIntentResponse, error)

CreateSubnet Creates a subnet

  • This operation submits a request to create a subnet based on the input parameters. A subnet is a block of IP addresses. *
  • @param body
  • @return *SubnetIntentResponse

func (Operations) CreateUser

func (op Operations) CreateUser(ctx context.Context, request *UserIntentInput) (*UserIntentResponse, error)

CreateUser creates a User

  • This operation submits a request to create a userbased on the input parameters. *
  • @param request *VMIntentInput
  • @return *UserIntentResponse

func (Operations) CreateVM

func (op Operations) CreateVM(ctx context.Context, createRequest *VMIntentInput) (*VMIntentResponse, error)

CreateVM Creates a VM

  • This operation submits a request to create a VM based on the input parameters. *
  • @param body
  • @return *VMIntentResponse

func (Operations) CreateVolumeGroup

func (op Operations) CreateVolumeGroup(ctx context.Context, request *VolumeGroupInput) (*VolumeGroupResponse, error)

CreateVolumeGroup Creates a Volume group

  • This operation submits a request to create a Volume group based on the input parameters. *
  • @param request
  • @return *VolumeGroupResponse

func (Operations) DeleteAccessControlPolicy

func (op Operations) DeleteAccessControlPolicy(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteAccessControlPolicy Deletes a AccessControlPolicy

  • This operation submits a request to delete a existing AccessControlPolicy. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) DeleteAddressGroup

func (op Operations) DeleteAddressGroup(ctx context.Context, uuid string) error

func (Operations) DeleteCategoryKey

func (op Operations) DeleteCategoryKey(ctx context.Context, name string) error

DeleteCategoryKey Deletes a Category

  • This operation submits a request to delete a op. *
  • @param name The name of the entity.
  • @return error

func (Operations) DeleteCategoryValue

func (op Operations) DeleteCategoryValue(ctx context.Context, name string, value string) error

DeleteCategoryValue Deletes a Category Value

  • This operation submits a request to delete a op. *
  • @param name The name of the entity.
  • @params value the value of entity that belongs to category key
  • @return error

func (Operations) DeleteImage

func (op Operations) DeleteImage(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteImage deletes a IMAGE

  • This operation submits a request to delete a IMAGE. *
  • @param uuid The uuid of the entity.
  • @return error if error exists

func (Operations) DeleteNetworkSecurityRule

func (op Operations) DeleteNetworkSecurityRule(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteNetworkSecurityRule Deletes a Network security rule

  • This operation submits a request to delete a Network security rule. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) DeleteProject

func (op Operations) DeleteProject(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteProject Deletes a project

  • This operation submits a request to delete a existing Project. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) DeleteProtectionRule

func (op Operations) DeleteProtectionRule(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteProtectionRule ...

func (Operations) DeleteRecoveryPlan

func (op Operations) DeleteRecoveryPlan(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteRecoveryPlan ...

func (Operations) DeleteRole

func (op Operations) DeleteRole(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteRole Deletes a role

  • This operation submits a request to delete a existing role. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) DeleteServiceGroup

func (op Operations) DeleteServiceGroup(ctx context.Context, uuid string) error

func (Operations) DeleteSubnet

func (op Operations) DeleteSubnet(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteSubnet Deletes a subnet

  • This operation submits a request to delete a subnet. *
  • @param uuid The uuid of the entity.
  • @return error if exist error

func (Operations) DeleteUser

func (op Operations) DeleteUser(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteUser Deletes a User

  • This operation submits a request to delete a existing User. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) DeleteVM

func (op Operations) DeleteVM(ctx context.Context, uuid string) (*DeleteResponse, error)

DeleteVM Deletes a VM

  • This operation submits a request to delete a op. *
  • @param uuid The uuid of the entity.
  • @return error

func (Operations) DeleteVolumeGroup

func (op Operations) DeleteVolumeGroup(ctx context.Context, uuid string) error

DeleteVolumeGroup Deletes a Volume group

  • This operation submits a request to delete a Volume group. *
  • @param uuid The uuid of the entity.
  • @return void

func (Operations) GetAccessControlPolicy

func (op Operations) GetAccessControlPolicy(ctx context.Context, accessControlPolicyUUID string) (*AccessControlPolicy, error)

GetAccessControlPolicy This operation gets a AccessControlPolicy.

*
* @param uuid The access policy uuid - string.
* @return *AccessControlPolicy

func (Operations) GetAddressGroup

func (op Operations) GetAddressGroup(ctx context.Context, uuid string) (*AddressGroupResponse, error)

func (Operations) GetCategoryKey

func (op Operations) GetCategoryKey(ctx context.Context, name string) (*CategoryKeyStatus, error)

GetCategoryKey gets a Category

  • This operation gets a Category. *
  • @param name The name of the entity.
  • @return *CategoryKeyStatus

func (Operations) GetCategoryQuery

func (op Operations) GetCategoryQuery(ctx context.Context, query *CategoryQueryInput) (*CategoryQueryResponse, error)

GetCategoryQuery gets list of entities attached to categories or policies in which categories are used as defined by the filter criteria.

*
* @param query Categories query input object.
* @return *CategoryQueryResponse

func (Operations) GetCategoryValue

func (op Operations) GetCategoryValue(ctx context.Context, name string, value string) (*CategoryValueStatus, error)

GetCategoryValue gets a Category Value

  • This operation gets a Category Value. *
  • @param name The name of the entity.
  • @params value the value of entity that belongs to category key
  • @return *CategoryValueStatus

func (Operations) GetCluster

func (op Operations) GetCluster(ctx context.Context, uuid string) (*ClusterIntentResponse, error)

GetCluster gets a CLUSTER

  • This operation gets a CLUSTER. *
  • @param uuid The uuid of the entity.
  • @return *ImageIntentResponse

func (Operations) GetCurrentLoggedInUser

func (op Operations) GetCurrentLoggedInUser(ctx context.Context) (*UserIntentResponse, error)

GetCurrentLoggedInUser This operation gets the user info for the currently logged in User.

*
* @param context
* @return *User

func (Operations) GetHost

func (op Operations) GetHost(ctx context.Context, hostUUID string) (*HostResponse, error)

GetHost ...

func (Operations) GetImage

func (op Operations) GetImage(ctx context.Context, uuid string) (*ImageIntentResponse, error)

GetImage gets a IMAGE

  • This operation gets a IMAGE. *
  • @param uuid The uuid of the entity.
  • @return *ImageIntentResponse

func (Operations) GetNetworkSecurityRule

func (op Operations) GetNetworkSecurityRule(ctx context.Context, uuid string) (*NetworkSecurityRuleIntentResponse, error)

GetNetworkSecurityRule Gets a Network security rule

  • This operation gets a Network security rule. *
  • @param uuid The uuid of the entity.
  • @return *NetworkSecurityRuleIntentResponse

func (Operations) GetPermission

func (op Operations) GetPermission(ctx context.Context, permissionUUID string) (*PermissionIntentResponse, error)

GePermission This operation gets a Permission.

*
* @param uuid The permission uuid - string.
* @return *PermissionIntentResponse

func (Operations) GetProject

func (op Operations) GetProject(ctx context.Context, projectUUID string) (*Project, error)

GetProject This operation gets a project.

*
* @param uuid The prject uuid - string.
* @return *Project

func (Operations) GetProtectionRule

func (op Operations) GetProtectionRule(ctx context.Context, uuid string) (*ProtectionRuleResponse, error)

GetProtectionRule ...

func (Operations) GetRecoveryPlan

func (op Operations) GetRecoveryPlan(ctx context.Context, uuid string) (*RecoveryPlanResponse, error)

GetRecoveryPlan ...

func (Operations) GetRole

func (op Operations) GetRole(ctx context.Context, roleUUID string) (*Role, error)

GetRole This operation gets a role.

*
* @param uuid The role uuid - string.
* @return *Role

func (Operations) GetServiceGroup

func (op Operations) GetServiceGroup(ctx context.Context, uuid string) (*ServiceGroupResponse, error)

func (Operations) GetSubnet

func (op Operations) GetSubnet(ctx context.Context, uuid string) (*SubnetIntentResponse, error)

GetSubnet Gets a subnet entity

  • This operation gets a subnet. *
  • @param uuid The uuid of the entity.
  • @return *SubnetIntentResponse

func (Operations) GetTask

func (op Operations) GetTask(ctx context.Context, taskUUID string) (*TasksResponse, error)

GetTask ...

func (Operations) GetUser

func (op Operations) GetUser(ctx context.Context, userUUID string) (*UserIntentResponse, error)

GetUser This operation gets a User.

*
* @param uuid The user uuid - string.
* @return *User

func (Operations) GetUserGroup

func (op Operations) GetUserGroup(ctx context.Context, userGroupUUID string) (*UserGroupIntentResponse, error)

GetUserGroup This operation gets a User.

*
* @param uuid The user uuid - string.
* @return *User

func (Operations) GetVM

func (op Operations) GetVM(ctx context.Context, uuid string) (*VMIntentResponse, error)

GetVM Gets a VM

  • This operation gets a op. *
  • @param uuid The uuid of the entity.
  • @return *VMIntentResponse

func (Operations) GetVolumeGroup

func (op Operations) GetVolumeGroup(ctx context.Context, uuid string) (*VolumeGroupResponse, error)

GetVolumeGroup Gets a Volume group

  • This operation gets a Volume group. *
  • @param uuid The uuid of the entity.
  • @return *VolumeGroupResponse

func (Operations) ListAccessControlPolicy

func (op Operations) ListAccessControlPolicy(ctx context.Context, getEntitiesRequest *DSMetadata) (*AccessControlPolicyListResponse, error)

ListAccessControlPolicy gets a list of AccessControlPolicys.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *AccessControlPolicyListResponse

func (Operations) ListAddressGroups

func (op Operations) ListAddressGroups(ctx context.Context, getEntitiesRequest *DSMetadata) (*AddressGroupListResponse, error)

func (Operations) ListAllAccessControlPolicy

func (op Operations) ListAllAccessControlPolicy(ctx context.Context, filter string) (*AccessControlPolicyListResponse, error)

ListAllAccessControlPolicy gets a list of AccessControlPolicys

  • This operation gets a list of AccessControlPolicys, allowing for sorting and pagination.
  • Note: Entities that have not been created successfully are not listed.
  • @return *AccessControlPolicyListResponse

func (Operations) ListAllAddressGroups

func (op Operations) ListAllAddressGroups(ctx context.Context, filter string) (*AddressGroupListResponse, error)

func (Operations) ListAllCategoryValues

func (op Operations) ListAllCategoryValues(ctx context.Context, categoryName, filter string) (*CategoryValueListResponse, error)

ListAllCluster ...

func (Operations) ListAllCluster

func (op Operations) ListAllCluster(ctx context.Context, filter string) (*ClusterListIntentResponse, error)

ListAllCluster ...

func (Operations) ListAllHost

func (op Operations) ListAllHost(ctx context.Context) (*HostListResponse, error)

ListAllHost ...

func (Operations) ListAllImage

func (op Operations) ListAllImage(ctx context.Context, filter string) (*ImageListIntentResponse, error)

ListAllImage ...

func (Operations) ListAllNetworkSecurityRule

func (op Operations) ListAllNetworkSecurityRule(ctx context.Context, filter string) (*NetworkSecurityRuleListIntentResponse, error)

ListAllNetworkSecurityRule ...

func (Operations) ListAllPermission

func (op Operations) ListAllPermission(ctx context.Context, filter string) (*PermissionListResponse, error)

ListAllPermission ...

func (Operations) ListAllProject

func (op Operations) ListAllProject(ctx context.Context, filter string) (*ProjectListResponse, error)

ListAllProject gets a list of projects

  • This operation gets a list of Projects, allowing for sorting and pagination.
  • Note: Entities that have not been created successfully are not listed.
  • @return *ProjectListResponse

func (Operations) ListAllProtectionRules

func (op Operations) ListAllProtectionRules(ctx context.Context, filter string) (*ProtectionRulesListResponse, error)

ListAllProtectionRules ...

func (Operations) ListAllRecoveryPlans

func (op Operations) ListAllRecoveryPlans(ctx context.Context, filter string) (*RecoveryPlanListResponse, error)

ListAllRecoveryPlans ...

func (Operations) ListAllRole

func (op Operations) ListAllRole(ctx context.Context, filter string) (*RoleListResponse, error)

ListAllRole gets a list of Roles

  • This operation gets a list of Roles, allowing for sorting and pagination.
  • Note: Entities that have not been created successfully are not listed.
  • @return *RoleListResponse

func (Operations) ListAllServiceGroups

func (op Operations) ListAllServiceGroups(ctx context.Context, filter string) (*ServiceGroupListResponse, error)

func (Operations) ListAllSubnet

func (op Operations) ListAllSubnet(ctx context.Context, filter string, clientSideFilters []*vmclient.AdditionalFilter) (*SubnetListIntentResponse, error)

ListAllSubnet ...

func (Operations) ListAllUser

func (op Operations) ListAllUser(ctx context.Context, filter string) (*UserListResponse, error)

ListAllUser ...

func (Operations) ListAllUserGroup

func (op Operations) ListAllUserGroup(ctx context.Context, filter string) (*UserGroupListResponse, error)

ListAllUserGroup ...

func (Operations) ListAllVM

func (op Operations) ListAllVM(ctx context.Context, filter string) (*VMListIntentResponse, error)

ListAllVM ...

func (Operations) ListCategories

func (op Operations) ListCategories(ctx context.Context, getEntitiesRequest *CategoryListMetadata) (*CategoryKeyListResponse, error)

ListCategories gets a list of Categories This operation gets a list of Categories, allowing for sorting and pagination. Note: Entities

  • that have not been created successfully are not listed. *
  • @param getEntitiesRequest @return *ImageListIntentResponse

func (Operations) ListCategoryValues

func (op Operations) ListCategoryValues(ctx context.Context, name string, getEntitiesRequest *CategoryListMetadata) (*CategoryValueListResponse, error)

ListCategoryValues gets a list of Category values for a specific key This operation gets a list of Categories, allowing for sorting and

  • pagination. Note: Entities that have not been created successfully are not listed. *
  • @param name @param getEntitiesRequest @return *CategoryValueListResponse

func (Operations) ListCluster

func (op Operations) ListCluster(ctx context.Context, getEntitiesRequest *DSMetadata) (*ClusterListIntentResponse, error)

ListCluster gets a list of CLUSTERS This operation gets a list of CLUSTERS, allowing for sorting and pagination. Note: Entities that have

  • not been created successfully are not listed. *
  • @param getEntitiesRequest @return *ClusterListIntentResponse

func (Operations) ListHost

func (op Operations) ListHost(ctx context.Context, getEntitiesRequest *DSMetadata) (*HostListResponse, error)

ListHost ...

func (Operations) ListImage

func (op Operations) ListImage(ctx context.Context, getEntitiesRequest *DSMetadata) (*ImageListIntentResponse, error)

ListImage gets a list of IMAGEs This operation gets a list of IMAGEs, allowing for sorting and pagination. Note: Entities that have not

  • been created successfully are not listed. *
  • @param getEntitiesRequest @return *ImageListIntentResponse

func (Operations) ListNetworkSecurityRule

func (op Operations) ListNetworkSecurityRule(ctx context.Context, getEntitiesRequest *DSMetadata) (*NetworkSecurityRuleListIntentResponse, error)

ListNetworkSecurityRule Gets all network security rules This operation gets a list of Network security rules, allowing for sorting and

  • pagination. Note: Entities that have not been created successfully are not listed. *
  • @param getEntitiesRequest @return *NetworkSecurityRuleListIntentResponse

func (Operations) ListPermission

func (op Operations) ListPermission(ctx context.Context, getEntitiesRequest *DSMetadata) (*PermissionListResponse, error)

ListPermission gets a list of Permissions.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *PermissionListResponse

func (Operations) ListProject

func (op Operations) ListProject(ctx context.Context, getEntitiesRequest *DSMetadata) (*ProjectListResponse, error)

ListProject gets a list of projects.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *ProjectListResponse

func (Operations) ListProtectionRules

func (op Operations) ListProtectionRules(ctx context.Context, getEntitiesRequest *DSMetadata) (*ProtectionRulesListResponse, error)

ListProtectionRules ...

func (Operations) ListRecoveryPlans

func (op Operations) ListRecoveryPlans(ctx context.Context, getEntitiesRequest *DSMetadata) (*RecoveryPlanListResponse, error)

ListRecoveryPlans ...

func (Operations) ListRole

func (op Operations) ListRole(ctx context.Context, getEntitiesRequest *DSMetadata) (*RoleListResponse, error)

ListRole gets a list of roles.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *RoleListResponse

func (Operations) ListSubnet

func (op Operations) ListSubnet(ctx context.Context, getEntitiesRequest *DSMetadata) (*SubnetListIntentResponse, error)

ListSubnet Gets a list of subnets This operation gets a list of subnets, allowing for sorting and pagination. Note: Entities that have not

  • been created successfully are not listed. *
  • @param getEntitiesRequest @return *SubnetListIntentResponse

func (Operations) ListUser

func (op Operations) ListUser(ctx context.Context, getEntitiesRequest *DSMetadata) (*UserListResponse, error)

ListUser gets a list of Users.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *UserListResponse

func (Operations) ListUserGroup

func (op Operations) ListUserGroup(ctx context.Context, getEntitiesRequest *DSMetadata) (*UserGroupListResponse, error)

ListUserGroup gets a list of UserGroups.

*
* @param metadata allows create filters to get specific data - *DSMetadata.
* @return *UserGroupListResponse

func (Operations) ListVM

func (op Operations) ListVM(ctx context.Context, getEntitiesRequest *DSMetadata) (*VMListIntentResponse, error)

ListVM Get a list of VMs This operation gets a list of VMs, allowing for sorting and pagination. Note: Entities that have not been created

  • successfully are not listed. *
  • @param getEntitiesRequest @return *VmListIntentResponse

func (Operations) ListVolumeGroup

func (op Operations) ListVolumeGroup(ctx context.Context, getEntitiesRequest *DSMetadata) (*VolumeGroupListResponse, error)

ListVolumeGroup Gets all network security rules This operation gets a list of Volume groups, allowing for sorting and pagination. Note:

  • Entities that have not been created successfully are not listed. *
  • @param getEntitiesRequest @return *VolumeGroupListResponse

func (Operations) UpdateAccessControlPolicy

func (op Operations) UpdateAccessControlPolicy(ctx context.Context, uuid string, body *AccessControlPolicy) (*AccessControlPolicy, error)

UpdateAccessControlPolicy Updates a AccessControlPolicy

  • This operation submits a request to update a existing AccessControlPolicy based on the input parameters
  • @param uuid The uuid of the entity - string.
  • @param body - *AccessControlPolicy
  • @return *AccessControlPolicy, error

func (Operations) UpdateAddressGroup

func (op Operations) UpdateAddressGroup(ctx context.Context, uuid string, body *AddressGroupInput) error

func (Operations) UpdateImage

func (op Operations) UpdateImage(ctx context.Context, uuid string, body *ImageIntentInput) (*ImageIntentResponse, error)

UpdateImage updates a IMAGE

  • This operation submits a request to update a IMAGE based on the input parameters. *
  • @param uuid The uuid of the entity.
  • @param body
  • @return *ImageIntentResponse

func (Operations) UpdateNetworkSecurityRule

func (op Operations) UpdateNetworkSecurityRule(ctx context.Context, uuid string, body *NetworkSecurityRuleIntentInput) (*NetworkSecurityRuleIntentResponse, error)

UpdateNetworkSecurityRule Updates a Network security rule

  • This operation submits a request to update a Network security rule based on the input parameters. *
  • @param uuid The uuid of the entity.
  • @param body
  • @return void

func (Operations) UpdateProject

func (op Operations) UpdateProject(ctx context.Context, uuid string, body *Project) (*Project, error)

UpdateProject Updates a project

  • This operation submits a request to update a existing Project based on the input parameters
  • @param uuid The uuid of the entity - string.
  • @param body - *Project
  • @return *Project, error

func (Operations) UpdateProtectionRule

func (op Operations) UpdateProtectionRule(ctx context.Context, uuid string, body *ProtectionRuleInput) (*ProtectionRuleResponse, error)

UpdateProtectionRule ...

func (Operations) UpdateRecoveryPlan

func (op Operations) UpdateRecoveryPlan(ctx context.Context, uuid string, body *RecoveryPlanInput) (*RecoveryPlanResponse, error)

UpdateRecoveryPlan ...

func (Operations) UpdateRole

func (op Operations) UpdateRole(ctx context.Context, uuid string, body *Role) (*Role, error)

UpdateRole Updates a role

  • This operation submits a request to update a existing role based on the input parameters
  • @param uuid The uuid of the entity - string.
  • @param body - *Role
  • @return *Role, error

func (Operations) UpdateServiceGroup

func (op Operations) UpdateServiceGroup(ctx context.Context, uuid string, body *ServiceGroupInput) error

func (Operations) UpdateSubnet

func (op Operations) UpdateSubnet(ctx context.Context, uuid string, body *SubnetIntentInput) (*SubnetIntentResponse, error)

UpdateSubnet Updates a subnet

  • This operation submits a request to update a subnet based on the input parameters. *
  • @param uuid The uuid of the entity.
  • @param body
  • @return *SubnetIntentResponse

func (Operations) UpdateUser

func (op Operations) UpdateUser(ctx context.Context, uuid string, body *UserIntentInput) (*UserIntentResponse, error)

UpdateUser Updates a User

  • This operation submits a request to update a existing User based on the input parameters
  • @param uuid The uuid of the entity - string.
  • @param body - *User
  • @return *User, error

func (Operations) UpdateVM

func (op Operations) UpdateVM(ctx context.Context, uuid string, body *VMIntentInput) (*VMIntentResponse, error)

UpdateVM Updates a VM

  • This operation submits a request to update a VM based on the input parameters. *
  • @param uuid The uuid of the entity.
  • @param body
  • @return *VMIntentResponse

func (Operations) UpdateVolumeGroup

func (op Operations) UpdateVolumeGroup(ctx context.Context, uuid string, body *VolumeGroupInput) (*VolumeGroupResponse, error)

UpdateVolumeGroup Updates a Volume group

  • This operation submits a request to update a Volume group based on the input parameters. *
  • @param uuid The uuid of the entity.
  • @param body
  • @return void

func (Operations) UploadImage

func (op Operations) UploadImage(ctx context.Context, uuid, filepath string) error

UploadImage Uplloads a Image Binary file Images are raw ISO, QCOW2, or VMDK files that are uploaded by a user can be attached to a op. An

  • ISO image is attached as a virtual CD-ROM drive, and QCOW2 and VMDK files are attached as SCSI disks. An image has to be explicitly added
  • to the self-service catalog before users can create VMs from it. *
  • @param uuid @param filepath

type OplogUsage

type OplogUsage struct {
	OplogDiskPct  *float64 `json:"oplog_disk_pct,omitempty"`
	OplogDiskSize *int64   `json:"oplog_disk_size,omitempty"`
}

OplogUsage represents oplog disk usage

type OrderedAvailabilityZoneList

type OrderedAvailabilityZoneList struct {
	ClusterUUID         string `json:"cluster_uuid,omitempty"`
	AvailabilityZoneURL string `json:"availability_zone_url,omitempty"`
}

OrderedAvailabilityZoneList represents a object for resource of protection rule

type Parameters

type Parameters struct {
	FloatingIPAssignmentList []*FloatingIPAssignmentList `json:"floating_ip_assignment_list,omitempty"`
	NetworkMappingList       []*NetworkMappingList       `json:"network_mapping_list,omitempty"`
}

Parameters represents a object for resource of recovery plan

type PermissionIntentResponse

type PermissionIntentResponse struct {
	APIVersion *string           `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Metadata   *Metadata         `json:"metadata,omitempty"`    // The user_group kind metadata
	Spec       *PermissionSpec   `json:"spec,omitempty"`        // Permission Input Definition.
	Status     *PermissionStatus `json:"status,omitempty"`      // User group status definition.
}

Response object for intentful operations on a user_group

type PermissionListResponse

type PermissionListResponse struct {
	APIVersion *string                     `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Entities   []*PermissionIntentResponse `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput         `json:"metadata,omitempty"` // All api calls that return a list will have this metadata block
}

Response object for intentful operation of Permissions

type PermissionResources

type PermissionResources struct {
	Operation *string           `json:"operation,omitempty"`
	Kind      *string           `json:"kind,omitempty"`
	Fields    *FieldsPermission `json:"fields,omitempty"`
}

Permission Resource Definition

type PermissionSpec

type PermissionSpec struct {
	Name        *string              `json:"name,omitempty"`        // The name for the permission.
	Description *string              `json:"description,omitempty"` // The display name for the permission.
	Resources   *PermissionResources `json:"resources,omitempty"`   // Permission Resource Definition
}

Permission Input Definition.

type PermissionStatus

type PermissionStatus struct {
	Name        *string              `json:"name,omitempty"`        // The name for the permission.
	Description *string              `json:"description,omitempty"` // The display name for the permission.
	Resources   *PermissionResources `json:"resources,omitempty"`   // Permission Resource Definition
	MessageList []MessageResource    `json:"message_list,omitempty"`
	State       *string              `json:"state,omitempty"` // The state of the entity.
}

Permission status definition.

type PortRange

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

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

PortRange represents Range of TCP/UDP ports.

type Project

type Project struct {
	Status     *ProjectStatus `json:"status,omitempty"`
	Spec       *ProjectSpec   `json:"spec,omitempty"`
	APIVersion string         `json:"api_version,omitempty"`
	Metadata   *Metadata      `json:"metadata,omitempty"`
}

Project Response object for intentful operations on a Host

type ProjectListResponse

type ProjectListResponse struct {
	APIVersion string              `json:"api_version,omitempty"`
	Entities   []*Project          `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput `json:"metadata,omitempty"`
}

ProjectListResponse Response object for intentful operation of Host

type ProjectResources

type ProjectResources struct {
	ResourceDomain                 *ResourceDomain    `json:"resource_domain,omitempty"`
	AccountReferenceList           []*ReferenceValues `json:"account_reference_list,omitempty"`
	EnvironmentReferenceList       []*ReferenceValues `json:"environment_reference_list,omitempty"`
	DefaultSubnetReference         *ReferenceValues   `json:"default_subnet_reference,omitempty"`
	UserReferenceList              []*ReferenceValues `json:"user_reference_list,omitempty"`
	IsDefault                      bool               `json:"is_default,omitempty"`
	ExternalUserGroupReferenceList []*ReferenceValues `json:"external_user_group_reference_list,omitempty"`
	SubnetReferenceList            []*ReferenceValues `json:"subnet_reference_list,omitempty"`
	ExternalNetworkList            []*ReferenceValues `json:"external_network_list,omitempty"`
}

ProjectResources ...

type ProjectSpec

type ProjectSpec struct {
	Name       string            `json:"name,omitempty"`
	Resources  *ProjectResources `json:"resources,omitempty"`
	Descripion string            `json:"description,omitempty"`
}

ProjectSpec ...

type ProjectStatus

type ProjectStatus struct {
	State            string             `json:"state,omitempty"`
	MessageList      []*MessageResource `json:"message_list,omitempty"`
	Name             string             `json:"name,omitempty"`
	Resources        *ProjectResources  `json:"resources,omitempty"`
	Descripion       string             `json:"description,omitempty"`
	ExecutionContext *ExecutionContext  `json:"execution_context,omitempty"`
}

ProjectStatus ...

type ProtectionRuleInput

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

ProtectionRuleInput Represents the request of create protection rule

type ProtectionRuleResources

type ProtectionRuleResources struct {
	StartTime                        string                              `json:"start_time,omitempty"`
	AvailabilityZoneConnectivityList []*AvailabilityZoneConnectivityList `json:"availability_zone_connectivity_list,omitempty"`
	OrderedAvailabilityZoneList      []*OrderedAvailabilityZoneList      `json:"ordered_availability_zone_list,omitempty"`
	CategoryFilter                   *CategoryFilter                     `json:"category_filter,omitempty"`
}

ProtectionRuleResources represents the resources of protection rules

type ProtectionRuleResponse

type ProtectionRuleResponse struct {
	APIVersion string                `json:"api_version,omitempty"`
	Metadata   *Metadata             `json:"metadata,omitempty"`
	Spec       *ProtectionRuleSpec   `json:"spec,omitempty"`
	Status     *ProtectionRuleStatus `json:"status,omitempty"`
}

ProtectionRuleResponse represents a response object of a protection rule

type ProtectionRuleSpec

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

ProtectionRuleSpec represents a spec of protection rules

type ProtectionRuleStatus

type ProtectionRuleStatus struct {
	State            string                   `json:"state,omitempty"`
	MessageList      []*MessageResource       `json:"message_list,omitempty"`
	Name             string                   `json:"name,omitempty"`
	Resources        *ProtectionRuleResources `json:"resources,omitempty"`
	ExecutionContext *ExecutionContext        `json:"execution_context,omitempty"`
}

ProtectionRuleStatus represents a status of a protection rule

type ProtectionRulesListResponse

type ProtectionRulesListResponse struct {
	APIVersion string                    `json:"api_version,omitempty"`
	Entities   []*ProtectionRuleResponse `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput       `json:"metadata,omitempty"`
}

ProtectionRulesListResponse represents the response of a list of protection rules

type PublicKey

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

PublicKey ...

type RecoverEntities

type RecoverEntities struct {
	EntityInfoList []*EntityInfoList `json:"entity_info_list,omitempty"`
}

RecoverEntities represents a object for resource of recovery plan

type RecoveryPlanInput

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

RecoveryPlanInput Represents the request of create recovery plan

type RecoveryPlanListResponse

type RecoveryPlanListResponse struct {
	APIVersion string                  `json:"api_version,omitempty"`
	Entities   []*RecoveryPlanResponse `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput     `json:"metadata,omitempty"`
}

RecoveryPlanListResponse represents the response of a list of recovery plans

type RecoveryPlanResources

type RecoveryPlanResources struct {
	StageList  []*StageList `json:"stage_list,omitempty"`
	Parameters *Parameters  `json:"parameters,omitempty"`
}

RecoveryPlanResources represents the resources of recovery plan

type RecoveryPlanResponse

type RecoveryPlanResponse struct {
	APIVersion string              `json:"api_version,omitempty"`
	Metadata   *Metadata           `json:"metadata,omitempty"`
	Spec       *RecoveryPlanSpec   `json:"spec,omitempty"`
	Status     *RecoveryPlanStatus `json:"status,omitempty"`
}

RecoveryPlanResponse represents a response object of a recovery plan

type RecoveryPlanSpec

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

RecoveryPlanSpec represents a spec of recovery plans

type RecoveryPlanStatus

type RecoveryPlanStatus struct {
	State            string                 `json:"state,omitempty"`
	MessageList      []*MessageResource     `json:"message_list,omitempty"`
	Name             string                 `json:"name,omitempty"`
	Resources        *RecoveryPlanResources `json:"resources,omitempty"`
	ExecutionContext *ExecutionContext      `json:"execution_context,omitempty"`
}

RecoveryPlanStatus represents a status of a recovery plan

type Reference

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

Reference ...

type ReferenceValues

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

ReferenceValues references to a kind

type ResourceDomain

type ResourceDomain struct {
	Resources []*Resources `json:"resources,omitempty"`
}

ResourceDomain specification (limits)

type ResourceDomainStatus

type ResourceDomainStatus struct {
	Resources []ResourceUtilizationStatus `json:"resources,omitempty"` // The utilization/limit for resource types
}

type ResourceUsageSummary

type ResourceUsageSummary struct {
	ResourceDomain *ResourceDomainStatus `json:"resource_domain"` // The status for a resource domain (limits and values)
}

type ResourceUtilizationStatus

type ResourceUtilizationStatus struct {
	Limit        *int64  `json:"limit,omitempty"`         // The resource consumption limit (unspecified is unlimited)
	ResourceType *string `json:"resource_type,omitempty"` // The type of resource (for example storage, CPUs)
	Units        *string `json:"units,omitempty"`         // The units of the resource type
	Value        *int64  `json:"value,omitempty"`         // The amount of resource consumed
}

type Resources

type Resources struct {
	Units        string `json:"units,omitempty"`
	Limit        *int64 `json:"limit,omitempty"`
	ResourceType string `json:"resource_type,omitempty"`
	Value        *int64 `json:"value,omitempty"`
}

Resources represents the utilization limits for resource types

type RightHandSide

type RightHandSide struct {
	Collection *string             `json:"collection,omitempty"`
	Categories map[string][]string `json:"categories,omitempty"`
	UUIDList   []string            `json:"uuid_list,omitempty"`
}

RightHandSide ...

type Role

type Role struct {
	Status     *RoleStatus `json:"status,omitempty"`
	Spec       *RoleSpec   `json:"spec,omitempty"`
	APIVersion string      `json:"api_version,omitempty"`
	Metadata   *Metadata   `json:"metadata,omitempty"`
}

Role Response object for intentful operations on a access policy

type RoleListResponse

type RoleListResponse struct {
	APIVersion string              `json:"api_version,omitempty"`
	Entities   []*Role             `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput `json:"metadata,omitempty"`
}

RoleListResponse Response object for intentful operation of access policy

type RoleResources

type RoleResources struct {
	PermissionReferenceList []*Reference `json:"permission_reference_list,omitempty"`
}

RoleResources ...

type RoleSpec

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

RoleSpec ...

type RoleStatus

type RoleStatus struct {
	State            *string            `json:"state,omitempty"`
	MessageList      []*MessageResource `json:"message_list,omitempty"`
	Name             *string            `json:"name,omitempty"`
	Resources        *RoleResources     `json:"resources,omitempty"`
	Description      *string            `json:"description,omitempty"`
	ExecutionContext *ExecutionContext  `json:"execution_context,omitempty"`
}

RoleStatus ...

type RollupRetentionPolicy

type RollupRetentionPolicy struct {
	Multiple             *int64 `json:"multiple,omitempty"`
	SnapshotIntervalType string `json:"snapshot_interval_type,omitempty"`
}

RollupRetentionPolicy represents a object for resource of protection rule

type SMTPServer

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

SMTPServer ...

type ScopeFilterExpressionList

type ScopeFilterExpressionList struct {
	LeftHandSide  string        `json:"left_hand_side,omitempty"`
	Operator      string        `json:"operator,omitempty"`
	RightHandSide RightHandSide `json:"right_hand_side,omitempty"`
}

ScopeFilterExpressionList ...

type ScriptList

type ScriptList struct {
	EnableScriptExec *bool  `json:"enable_script_exec,omitempty"`
	Timeout          *int64 `json:"timeout,omitempty"`
}

type Service

type Service interface {
	CreateVM(ctx context.Context, createRequest *VMIntentInput) (*VMIntentResponse, error)
	DeleteVM(ctx context.Context, uuid string) (*DeleteResponse, error)
	GetVM(ctx context.Context, uuid string) (*VMIntentResponse, error)
	ListVM(ctx context.Context, getEntitiesRequest *DSMetadata) (*VMListIntentResponse, error)
	UpdateVM(ctx context.Context, uuid string, body *VMIntentInput) (*VMIntentResponse, error)
	CreateSubnet(ctx context.Context, createRequest *SubnetIntentInput) (*SubnetIntentResponse, error)
	DeleteSubnet(ctx context.Context, uuid string) (*DeleteResponse, error)
	GetSubnet(ctx context.Context, uuid string) (*SubnetIntentResponse, error)
	ListSubnet(ctx context.Context, getEntitiesRequest *DSMetadata) (*SubnetListIntentResponse, error)
	UpdateSubnet(ctx context.Context, uuid string, body *SubnetIntentInput) (*SubnetIntentResponse, error)
	CreateImage(ctx context.Context, createRequest *ImageIntentInput) (*ImageIntentResponse, error)
	DeleteImage(ctx context.Context, uuid string) (*DeleteResponse, error)
	GetImage(ctx context.Context, uuid string) (*ImageIntentResponse, error)
	ListImage(ctx context.Context, getEntitiesRequest *DSMetadata) (*ImageListIntentResponse, error)
	UpdateImage(ctx context.Context, uuid string, body *ImageIntentInput) (*ImageIntentResponse, error)
	UploadImage(ctx context.Context, uuid, filepath string) error
	CreateOrUpdateCategoryKey(ctx context.Context, body *CategoryKey) (*CategoryKeyStatus, error)
	ListCategories(ctx context.Context, getEntitiesRequest *CategoryListMetadata) (*CategoryKeyListResponse, error)
	DeleteCategoryKey(ctx context.Context, name string) error
	GetCategoryKey(ctx context.Context, name string) (*CategoryKeyStatus, error)
	ListCategoryValues(ctx context.Context, name string, getEntitiesRequest *CategoryListMetadata) (*CategoryValueListResponse, error)
	CreateOrUpdateCategoryValue(ctx context.Context, name string, body *CategoryValue) (*CategoryValueStatus, error)
	GetCategoryValue(ctx context.Context, name string, value string) (*CategoryValueStatus, error)
	DeleteCategoryValue(ctx context.Context, name string, value string) error
	GetCategoryQuery(ctx context.Context, query *CategoryQueryInput) (*CategoryQueryResponse, error)
	UpdateNetworkSecurityRule(ctx context.Context, uuid string, body *NetworkSecurityRuleIntentInput) (*NetworkSecurityRuleIntentResponse, error)
	ListNetworkSecurityRule(ctx context.Context, getEntitiesRequest *DSMetadata) (*NetworkSecurityRuleListIntentResponse, error)
	GetNetworkSecurityRule(ctx context.Context, uuid string) (*NetworkSecurityRuleIntentResponse, error)
	DeleteNetworkSecurityRule(ctx context.Context, uuid string) (*DeleteResponse, error)
	CreateNetworkSecurityRule(ctx context.Context, request *NetworkSecurityRuleIntentInput) (*NetworkSecurityRuleIntentResponse, error)
	ListCluster(ctx context.Context, getEntitiesRequest *DSMetadata) (*ClusterListIntentResponse, error)
	GetCluster(ctx context.Context, uuid string) (*ClusterIntentResponse, error)
	UpdateVolumeGroup(ctx context.Context, uuid string, body *VolumeGroupInput) (*VolumeGroupResponse, error)
	ListVolumeGroup(ctx context.Context, getEntitiesRequest *DSMetadata) (*VolumeGroupListResponse, error)
	GetVolumeGroup(ctx context.Context, uuid string) (*VolumeGroupResponse, error)
	DeleteVolumeGroup(ctx context.Context, uuid string) error
	CreateVolumeGroup(ctx context.Context, request *VolumeGroupInput) (*VolumeGroupResponse, error)
	ListAllVM(ctx context.Context, filter string) (*VMListIntentResponse, error)
	ListAllSubnet(ctx context.Context, filter string, clientSideFilters []*vmclient.AdditionalFilter) (*SubnetListIntentResponse, error)
	ListAllNetworkSecurityRule(ctx context.Context, filter string) (*NetworkSecurityRuleListIntentResponse, error)
	ListAllImage(ctx context.Context, filter string) (*ImageListIntentResponse, error)
	ListAllCluster(ctx context.Context, filter string) (*ClusterListIntentResponse, error)
	ListAllCategoryValues(ctx context.Context, categoryName, filter string) (*CategoryValueListResponse, error)
	GetTask(ctx context.Context, taskUUID string) (*TasksResponse, error)
	GetHost(ctx context.Context, taskUUID string) (*HostResponse, error)
	ListHost(ctx context.Context, getEntitiesRequest *DSMetadata) (*HostListResponse, error)
	ListAllHost(ctx context.Context) (*HostListResponse, error)
	CreateProject(ctx context.Context, request *Project) (*Project, error)
	GetProject(ctx context.Context, projectUUID string) (*Project, error)
	ListProject(ctx context.Context, getEntitiesRequest *DSMetadata) (*ProjectListResponse, error)
	ListAllProject(ctx context.Context, filter string) (*ProjectListResponse, error)
	UpdateProject(ctx context.Context, uuid string, body *Project) (*Project, error)
	DeleteProject(ctx context.Context, uuid string) (*DeleteResponse, error)
	CreateAccessControlPolicy(ctx context.Context, request *AccessControlPolicy) (*AccessControlPolicy, error)
	GetAccessControlPolicy(ctx context.Context, accessControlPolicyUUID string) (*AccessControlPolicy, error)
	ListAccessControlPolicy(ctx context.Context, getEntitiesRequest *DSMetadata) (*AccessControlPolicyListResponse, error)
	ListAllAccessControlPolicy(ctx context.Context, filter string) (*AccessControlPolicyListResponse, error)
	UpdateAccessControlPolicy(ctx context.Context, uuid string, body *AccessControlPolicy) (*AccessControlPolicy, error)
	DeleteAccessControlPolicy(ctx context.Context, uuid string) (*DeleteResponse, error)
	CreateRole(ctx context.Context, request *Role) (*Role, error)
	GetRole(ctx context.Context, uuid string) (*Role, error)
	ListRole(ctx context.Context, getEntitiesRequest *DSMetadata) (*RoleListResponse, error)
	ListAllRole(ctx context.Context, filter string) (*RoleListResponse, error)
	UpdateRole(ctx context.Context, uuid string, body *Role) (*Role, error)
	DeleteRole(ctx context.Context, uuid string) (*DeleteResponse, error)
	CreateUser(ctx context.Context, request *UserIntentInput) (*UserIntentResponse, error)
	GetUser(ctx context.Context, userUUID string) (*UserIntentResponse, error)
	UpdateUser(ctx context.Context, uuid string, body *UserIntentInput) (*UserIntentResponse, error)
	DeleteUser(ctx context.Context, uuid string) (*DeleteResponse, error)
	ListUser(ctx context.Context, getEntitiesRequest *DSMetadata) (*UserListResponse, error)
	ListAllUser(ctx context.Context, filter string) (*UserListResponse, error)
	GetCurrentLoggedInUser(ctx context.Context) (*UserIntentResponse, error)
	GetUserGroup(ctx context.Context, userUUID string) (*UserGroupIntentResponse, error)
	ListUserGroup(ctx context.Context, getEntitiesRequest *DSMetadata) (*UserGroupListResponse, error)
	ListAllUserGroup(ctx context.Context, filter string) (*UserGroupListResponse, error)
	GetPermission(ctx context.Context, permissionUUID string) (*PermissionIntentResponse, error)
	ListPermission(ctx context.Context, getEntitiesRequest *DSMetadata) (*PermissionListResponse, error)
	ListAllPermission(ctx context.Context, filter string) (*PermissionListResponse, error)
	GetProtectionRule(ctx context.Context, uuid string) (*ProtectionRuleResponse, error)
	ListProtectionRules(ctx context.Context, getEntitiesRequest *DSMetadata) (*ProtectionRulesListResponse, error)
	ListAllProtectionRules(ctx context.Context, filter string) (*ProtectionRulesListResponse, error)
	CreateProtectionRule(ctx context.Context, request *ProtectionRuleInput) (*ProtectionRuleResponse, error)
	UpdateProtectionRule(ctx context.Context, uuid string, body *ProtectionRuleInput) (*ProtectionRuleResponse, error)
	DeleteProtectionRule(ctx context.Context, uuid string) (*DeleteResponse, error)
	GetRecoveryPlan(ctx context.Context, uuid string) (*RecoveryPlanResponse, error)
	ListRecoveryPlans(ctx context.Context, getEntitiesRequest *DSMetadata) (*RecoveryPlanListResponse, error)
	ListAllRecoveryPlans(ctx context.Context, filter string) (*RecoveryPlanListResponse, error)
	CreateRecoveryPlan(ctx context.Context, request *RecoveryPlanInput) (*RecoveryPlanResponse, error)
	UpdateRecoveryPlan(ctx context.Context, uuid string, body *RecoveryPlanInput) (*RecoveryPlanResponse, error)
	DeleteRecoveryPlan(ctx context.Context, uuid string) (*DeleteResponse, error)
	GetServiceGroup(ctx context.Context, uuid string) (*ServiceGroupResponse, error)

	ListAllServiceGroups(ctx context.Context, filter string) (*ServiceGroupListResponse, error)
	CreateServiceGroup(ctx context.Context, request *ServiceGroupInput) (*Reference, error)
	UpdateServiceGroup(ctx context.Context, uuid string, body *ServiceGroupInput) error
	DeleteServiceGroup(ctx context.Context, uuid string) error
	GetAddressGroup(ctx context.Context, uuid string) (*AddressGroupResponse, error)
	ListAddressGroups(ctx context.Context, getEntitiesRequest *DSMetadata) (*AddressGroupListResponse, error)
	ListAllAddressGroups(ctx context.Context, filter string) (*AddressGroupListResponse, error)
	DeleteAddressGroup(ctx context.Context, uuid string) error
	CreateAddressGroup(ctx context.Context, request *AddressGroupInput) (*Reference, error)
	UpdateAddressGroup(ctx context.Context, uuid string, body *AddressGroupInput) error
	// contains filtered or unexported methods
}

Service ...

type ServiceGroupInput

type ServiceGroupInput struct {
	Name          *string             `json:"name,omitempty"`
	Description   *string             `json:"description,omitempty"`
	ServiceList   []*ServiceListEntry `json:"service_list,omitempty"`
	SystemDefined *bool               `json:"is_system_defined,omitempty"`
}

type ServiceGroupListEntry

type ServiceGroupListEntry struct {
	UUID                   *string            `json:"uuid,omitempty"`
	ServiceGroup           *ServiceGroupInput `json:"service_group,omitempty"`
	AssociatedPoliciesList []*ReferenceValues `json:"associated_policies_list,omitempty"`
}

type ServiceGroupListResponse

type ServiceGroupListResponse struct {
	Metadata *ListMetadataOutput      `json:"metadata,omitempty"`
	Entities []*ServiceGroupListEntry `json:"entities,omitempty"`
}

type ServiceGroupResponse

type ServiceGroupResponse struct {
	ServiceGroup *ServiceGroupInput `json:"service_group,omitempty"`
	UUID         *string            `json:"uuid,omitempty"`
}

type ServiceListEntry

type ServiceListEntry struct {
	Protocol         *string                        `json:"protocol,omitempty"`
	TCPPortRangeList []*PortRange                   `json:"tcp_port_range_list,omitempty"`
	UDPPortRangeList []*PortRange                   `json:"udp_port_range_list,omitempty"`
	IcmpTypeCodeList []*NetworkRuleIcmpTypeCodeList `json:"icmp_type_code_list,omitempty"`
}

type SnapshotRetentionPolicy

type SnapshotRetentionPolicy struct {
	NumSnapshots          *int64                 `json:"num_snapshots,omitempty"`
	RollupRetentionPolicy *RollupRetentionPolicy `json:"rollup_retention_policy,omitempty"`
}

SnapshotRetentionPolicy represents a object for resource of protection rule

type SnapshotScheduleList

type SnapshotScheduleList struct {
	RecoveryPointObjectiveSecs    *int64                   `json:"recovery_point_objective_secs,omitempty"`
	LocalSnapshotRetentionPolicy  *SnapshotRetentionPolicy `json:"local_snapshot_retention_policy,omitempty"`
	AutoSuspendTimeoutSecs        *int64                   `json:"auto_suspend_timeout_secs,omitempty"`
	SnapshotType                  string                   `json:"snapshot_type,omitempty"`
	RemoteSnapshotRetentionPolicy *SnapshotRetentionPolicy `json:"remote_snapshot_retention_policy,omitempty"`
}

SnapshotScheduleList represents a object for resource of protection rule

type SoftwareMap

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

SoftwareMap ...

type SoftwareMapValues

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

SoftwareMapValues ...

type SslKey

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

SslKey ...

type StageList

type StageList struct {
	StageWork     *StageWork `json:"stage_work,omitempty"`
	StageUUID     string     `json:"stage_uuid,omitempty"`
	DelayTimeSecs *int64     `json:"delay_time_secs,omitempty"`
}

StageList represents a object for resource of recovery plan

type StageWork

type StageWork struct {
	RecoverEntities *RecoverEntities `json:"recover_entities,omitempty"`
}

StageWork represents a object for resource of recovery plan

type StorageContainerReference

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

StorageContainerReference references to a kind. Either one of (kind, uuid) or url needs to be specified.

type Subnet

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

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

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

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

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

Subnet An intentful representation of a subnet spec

type SubnetDefStatus

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

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

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

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

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

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

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

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

SubnetDefStatus An intentful representation of a subnet status

type SubnetIntentInput

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

	Spec *Subnet `json:"spec" mapstructure:"spec"`
}

SubnetIntentInput An intentful representation of a subnet

type SubnetIntentResource

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

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

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

SubnetIntentResource represents Response object for intentful operations on a subnet

type SubnetIntentResponse

type SubnetIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

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

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

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

SubnetIntentResponse represents the response object for intentful operations on a subnet

type SubnetList

type SubnetList struct {
	GatewayIP                 string `json:"gateway_ip,omitempty"`
	ExternalConnectivityState string `json:"external_connectivity_state,omitempty"`
	PrefixLength              *int64 `json:"prefix_length,omitempty"`
}

SubnetList represents a object for resource of recovery plan

type SubnetListIntentResponse

type SubnetListIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

	Entities []*SubnetIntentResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`

	Metadata *ListMetadataOutput `json:"metadata" mapstructure:"metadata"`
}

SubnetListIntentResponse represents the response object for intentful operation of subnets

type SubnetListMetadata

type SubnetListMetadata struct {
	// The filter in FIQL syntax used for the results.
	Filter *string `json:"filter,omitempty" mapstructure:"filter,omitempty"`

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

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

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

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

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

SubnetListMetadata ...

type SubnetMetadata

type SubnetMetadata struct {
	// Categories for the subnet
	Categories map[string]string `json:"categories,omitempty" mapstructure:"categories,omitempty"`

	// UTC date and time in RFC-3339 format when subnet was created
	CreationTime *time.Time `json:"creation_time,omitempty" mapstructure:"creation_time,omitempty"`

	// The kind name
	Kind *string `json:"kind" mapstructure:"kind"`

	// UTC date and time in RFC-3339 format when subnet was last updated
	LastUpdateTime *time.Time `json:"last_update_time,omitempty" mapstructure:"last_update_time,omitempty"`

	// subnet name
	Name *string `json:"name,omitempty" mapstructure:"name,omitempty"`

	OwnerReference *Reference `json:"owner_reference,omitempty" mapstructure:"owner_reference,omitempty"`

	// project reference
	ProjectReference *Reference `json:"project_reference,omitempty" mapstructure:"project_reference,omitempty"`

	// Hash of the spec. This will be returned from server.
	SpecHash *string `json:"spec_hash,omitempty" mapstructure:"spec_hash,omitempty"`

	// Version number of the latest spec.
	SpecVersion *int64 `json:"spec_version,omitempty" mapstructure:"spec_version,omitempty"`

	// subnet uuid
	UUID *string `json:"uuid,omitempty" mapstructure:"uuid,omitempty"`
}

SubnetMetadata The subnet kind metadata

type SubnetResources

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

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

	SubnetType *string `json:"subnet_type" mapstructure:"subnet_type"`

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

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

SubnetResources represents Subnet creation/modification spec.

type SubnetResourcesDefStatus

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

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

	SubnetType *string `json:"subnet_type" mapstructure:"subnet_type"`

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

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

SubnetResourcesDefStatus represents a Subnet creation/modification status.

type SubnetStatus

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

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

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

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

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

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

type TargetGroup

type TargetGroup struct {
	// Default policy for communication within target group.
	DefaultInternalPolicy *string `json:"default_internal_policy,omitempty" mapstructure:"default_internal_policy,omitempty"`

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

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

TargetGroup ...

type TasksResponse

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

TasksResponse ...

type UserGroupIntentResponse

type UserGroupIntentResponse struct {
	APIVersion *string          `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Metadata   *Metadata        `json:"metadata,omitempty"`    // The user_group kind metadata
	Spec       *UserGroupSpec   `json:"spec,omitempty"`        // User Group Input Definition.
	Status     *UserGroupStatus `json:"status,omitempty"`      // User group status definition.
}

Response object for intentful operations on a user_group

type UserGroupListResponse

type UserGroupListResponse struct {
	APIVersion *string                    `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Entities   []*UserGroupIntentResponse `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput        `json:"metadata,omitempty"` // All api calls that return a list will have this metadata block
}

Response object for intentful operation of user_groups

type UserGroupResources

type UserGroupResources struct {
	AccessControlPolicyReferenceList []*Reference               `json:"access_control_policy_reference_list,omitempty"` // List of ACP references.
	DirectoryServiceUserGroup        *DirectoryServiceUserGroup `json:"directory_service_user_group,omitempty"`         // A Directory Service user group.
	DisplayName                      *string                    `json:"display_name,omitempty"`                         // The display name for the user group.
	ProjectsReferenceList            []*Reference               `json:"projects_reference_list,omitempty"`              // A list of projects the user group is part of.
	UserGroupType                    *string                    `json:"user_group_type,omitempty"`
}

User Group Resource Definition

type UserGroupSpec

type UserGroupSpec struct {
	Resources *UserGroupResources `json:"resources,omitempty"` // User Group Resource Definition
}

User Group Input Definition.

type UserGroupStatus

type UserGroupStatus struct {
	MessageList []MessageResource   `json:"message_list,omitempty"`
	Resources   *UserGroupResources `json:"resources,omitempty"` // User Group Resource Definition.
	State       *string             `json:"state,omitempty"`     // The state of the entity.
}

User group status definition.

type UserIntentInput

type UserIntentInput struct {
	APIVersion *string   `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Metadata   *Metadata `json:"metadata,omitempty"`    // The user kind metadata
	Spec       *UserSpec `json:"spec,omitempty"`        // User Input Definition.
}

An intentful representation of a user

type UserIntentResponse

type UserIntentResponse struct {
	APIVersion *string     `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Metadata   *Metadata   `json:"metadata,omitempty"`    // The user kind metadata
	Spec       *UserSpec   `json:"spec,omitempty"`        // User Input Definition.
	Status     *UserStatus `json:"status,omitempty"`      // User status definition.
}

Response object for intentful operations on a user

type UserListResponse

type UserListResponse struct {
	APIVersion *string               `json:"api_version,omitempty"` // API Version of the Nutanix v3 API framework.
	Entities   []*UserIntentResponse `json:"entities,omitempty"`
	Metadata   *ListMetadataOutput   `json:"metadata,omitempty"` // All api calls that return a list will have this metadata block
}

type UserResources

type UserResources struct {
	DirectoryServiceUser *DirectoryServiceUser `json:"directory_service_user,omitempty"` // A Directory Service user.
	IdentityProviderUser *IdentityProvider     `json:"identity_provider_user,omitempty"` // An Identity Provider user.
}

User Resource Definition.

type UserSpec

type UserSpec struct {
	Resources *UserResources `json:"resources,omitempty"` // User Resource Definition.
}

User Input Definition.

type UserStatus

type UserStatus struct {
	MessageList      []MessageResource    `json:"message_list,omitempty"`
	Name             *string              `json:"name,omitempty"`      // Name of the User.
	Resources        *UserStatusResources `json:"resources,omitempty"` // User Resource Definition.
	State            *string              `json:"state,omitempty"`     // The state of the entity.
	ExecutionContext *ExecutionContext    `json:"execution_context,omitempty"`
}

User status definition.

type UserStatusResources

type UserStatusResources struct {
	AccessControlPolicyReferenceList []*Reference          `json:"access_control_policy_reference_list,omitempty"` // List of ACP references.
	DirectoryServiceUser             *DirectoryServiceUser `json:"directory_service_user,omitempty"`               // A Directory Service user.
	DisplayName                      *string               `json:"display_name,omitempty"`                         // The display name of the user (common name) provided by the directory service.
	IdentityProviderUser             *IdentityProvider     `json:"identity_provider_user,omitempty"`               // An Identity Provider user.
	ProjectsReferenceList            []*Reference          `json:"projects_reference_list,omitempty"`              // A list of projects the user is part of.
	ResourceUsageSummary             *ResourceUsageSummary `json:"resource_usage_summary,omitempty"`
	UserType                         *string               `json:"user_type,omitempty"`
}

User Resource Definition.

type VGDisk

type VGDisk struct {
	VmdiskUUID           *string    `json:"vmdisk_uuid" mapstructure:"vmdisk_uuid"`                       // The UUID of this volume disk
	Index                *int64     `json:"index" mapstructure:"index"`                                   // Index of the volume disk in the group.
	DataSourceReference  *Reference `json:"data_source_reference" mapstructure:"data_source_reference"`   // Reference to a kind
	DiskSizeMib          *int64     `json:"disk_size_mib" mapstructure:"disk_size_mib"`                   // Size of the disk in MiB.
	StorageContainerUUID *string    `json:"storage_container_uuid" mapstructure:"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" mapstructure:"availability_zone_reference,omitempty"`

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

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

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

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

VM An intentful representation of a vm spec

type VMAttachment

type VMAttachment struct {
	VMReference        *Reference `json:"vm_reference" mapstructure:"vm_reference"`                 // Reference to a kind
	IscsiInitiatorName *string    `json:"iscsi_initiator_name" mapstructure:"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" mapstructure:"boot_device,omitempty"`
	BootType   *string       `json:"boot_type,omitempty" mapstructure:"boot_type,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" mapstructure:"boot_device_order_list,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" mapstructure:"disk_address,omitempty"`

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

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

type VMDefStatus

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

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

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

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

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

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

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

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

VMDefStatus An intentful representation of a vm status

type VMDisk

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

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

	// Size of the disk in Bytes.
	DiskSizeBytes *int64 `json:"disk_size_bytes,omitempty" mapstructure:"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" mapstructure:"disk_size_mib,omitempty"`

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

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

	// This preference specifies the storage configuration parameters for VM disks.
	StorageConfig *VMStorageConfig `json:"storage_config,omitempty" mapstructure:"storage_config,omitempty"`
}

VMDisk VirtualMachine Disk (VM Disk).

type VMDiskDeviceProperties

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

VMDiskDeviceProperties ...

type VMEfficiencyMap

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

VMEfficiencyMap ...

type VMGpu

type VMGpu struct {
	// The device ID of the GPU.
	DeviceID *int64 `json:"device_id,omitempty" mapstructure:"device_id,omitempty"`

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

	// The vendor of the GPU.
	Vendor *string `json:"vendor,omitempty" mapstructure:"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" mapstructure:"device_id,omitempty"`

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

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

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

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

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

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

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

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

	// The vendor of the GPU.
	Vendor *string `json:"vendor,omitempty" mapstructure:"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" mapstructure:"enable_script_exec,omitempty"`

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

VMGuestPowerStateTransitionConfig Extra configs related to power state transition.

type VMIPAssignmentList

type VMIPAssignmentList struct {
	TestFloatingIPConfig     *FloatingIPConfig `json:"test_floating_ip_config,omitempty"`
	RecoveryFloatingIPConfig *FloatingIPConfig `json:"recovery_floating_ip_config,omitempty"`
	VMReference              *Reference        `json:"vm_reference,omitempty"`
	VMNICInformation         *VMNICInformation `json:"vm_nic_information,omitempty"`
}

VMIPAssignmentList represents a object for resource of recovery plan

type VMIntentInput

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

	Spec *VM `json:"spec" mapstructure:"spec"`
}

VMIntentInput ...

type VMIntentResource

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

	Metadata *Metadata `json:"metadata" mapstructure:"metadata"`

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

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

VMIntentResource Response object for intentful operations on a vm

type VMIntentResponse

type VMIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

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

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

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

VMIntentResponse Response object for intentful operations on a vm

type VMListIntentResponse

type VMListIntentResponse struct {
	APIVersion *string `json:"api_version" mapstructure:"api_version"`

	Entities []*VMIntentResource `json:"entities,omitempty" mapstructure:"entities,omitempty"`

	Metadata *ListMetadataOutput `json:"metadata" mapstructure:"metadata"`
}

VMListIntentResponse Response object for intentful operation of vms

type VMNICInformation

type VMNICInformation struct {
	IP   string `json:"ip,omitempty"`
	UUID string `json:"uuid,omitempty"`
}

VMNICInformation represents a object for resource of recovery plan

type VMNic

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

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

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

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

	// The number of queues for this NIC
	NumQueues *int64 `json:"num_queues,omitempty" mapstructure:"num_queues,omitempty"`

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

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

	SubnetReference *Reference `json:"subnet_reference,omitempty" mapstructure:"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" mapstructure:"uuid,omitempty"`

	IsConnected *bool `json:"is_connected,omitempty" mapstructure:"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" mapstructure:"floating_ip,omitempty"`

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

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

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

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

	// The number of queues for this NIC
	NumQueues *int64 `json:"num_queues,omitempty" mapstructure:"num_queues,omitempty"`

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

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

	SubnetReference *Reference `json:"subnet_reference,omitempty" mapstructure:"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" mapstructure:"uuid,omitempty"`

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

VMNicOutputStatus Virtual Machine NIC Status.

type VMPowerStateMechanism

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

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

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

type VMResources

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

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

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

	GuestCustomization *GuestCustomization `json:"guest_customization,omitempty" mapstructure:"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" mapstructure:"guest_os_id,omitempty"`

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

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

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

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

	// Number of threads per core
	NumThreads *int64 `json:"num_threads_per_core,omitempty" mapstructure:"num_threads_per_core,omitempty"`

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

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

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

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

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

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

	// Indicates whether to passthrough the host’s CPU features to the guest. Enabling this will disable live migration of the VM.
	EnableCPUPassthrough *bool `json:"enable_cpu_passthrough,omitempty" mapstructure:"enable_cpu_passthrough,omitempty"`

	// Indicates whether a VMs cores are getting pinned on either CPU1, CPU2, CPU3 or CPU4. By default, the Linux Scheduler in AHV will pin all cores wherever they are best available.
	EnableCPUPinning *bool `json:"is_vcpu_hard_pinned,omitempty" mapstructure:"is_vcpu_hard_pinned,omitempty"`

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

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

	MachineType *string `json:"machine_type,omitempty" mapstructure:"machine_type,omitempty"`
}

VMResources VM Resources Definition.

type VMResourcesDefStatus

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

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

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

	GuestCustomization *GuestCustomizationStatus `json:"guest_customization,omitempty" mapstructure:"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" mapstructure:"guest_os_id,omitempty"`

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

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

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

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

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

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

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

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

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

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

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

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

	// Indicates whether to passthrough the host’s CPU features to the guest. Enabling this will disable live migration of the VM.
	EnableCPUPassthrough *bool `json:"enable_cpu_passthrough,omitempty" mapstructure:"enable_cpu_passthrough,omitempty"`

	// Indicates whether a VMs cores are getting pinned on either CPU1, CPU2, CPU3 or CPU4. By default, the Linux Scheduler in AHV will pin all cores wherever they are best available.
	EnableCPUPinning *bool `json:"is_vcpu_hard_pinned,omitempty" mapstructure:"is_vcpu_hard_pinned,omitempty"`

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

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

	MachineType *string `json:"machine_type,omitempty" mapstructure:"machine_type,omitempty"`
}

VMResourcesDefStatus VM Resources Status Definition.

type VMSerialPort

type VMSerialPort struct {
	Index       *int64 `json:"index,omitempty" mapstructure:"index,omitempty"`
	IsConnected *bool  `json:"is_connected,omitempty" mapstructure:"is_connected,omitempty"`
}

type VMStatus

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

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

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

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

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

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

type VMStorageConfig

type VMStorageConfig struct {
	FlashMode                 string                     `json:"flash_mode,omitempty"`
	StorageContainerReference *StorageContainerReference `json:"storage_container_reference,omitempty"`
}

VMStorageConfig specifies the storage configuration parameters for VM disks.

type VMVnumaConfig

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

VMVnumaConfig Indicates how VM vNUMA should be configured

type VolumeGroup

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

VolumeGroup Represents volume group input spec.

type VolumeGroupDefStatus

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

VolumeGroupDefStatus Volume group configuration.

type VolumeGroupInput

type VolumeGroupInput struct {
	APIVersion *string      `json:"api_version,omitempty" mapstructure:"api_version,omitempty"` // default 3.1.0
	Metadata   *Metadata    `json:"metadata,omitempty" mapstructure:"metadata,omitempty"`       // The volume_group kind metadata.
	Spec       *VolumeGroup `json:"spec,omitempty" mapstructure:"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" mapstructure:"api_version"`
	Entities   []*VolumeGroupResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput    `json:"metadata" mapstructure:"metadata"`
}

VolumeGroupListResponse Response object for intentful operation of volume_groups

type VolumeGroupResources

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

VolumeGroupResources Represents the volume group resources

type VolumeGroupResponse

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

VolumeGroupResponse Response object for intentful operations on a volume_group

type WindowsDomain

type WindowsDomain struct {
	Name                 string            `json:"name,omitempty"`
	NameServerIP         string            `json:"name_server_ip,omitempty"`
	OrganizationUnitPath string            `json:"organization_unit_path,omitempty"`
	NamePrefix           string            `json:"name_prefix,omitempty"`
	DomainName           string            `json:"domain_name,omitempty"`
	DomainCredencial     *DomainCredencial `json:"domain_credencial,omitempty"`
}

WindowsDomain means Hyper-V node domain

Jump to

Keyboard shortcuts

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