pc

package
v0.0.0-...-4787336 Latest Latest
Warning

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

Go to latest
Published: Feb 12, 2021 License: Apache-2.0 Imports: 13 Imported by: 1

README

nutanix-pc-go-sdk

Go Client SDK for Prism Central.

This client API SDK for Go is based upon the Google, Github Go client SDK found here: https://github.com/google/go-github

Currently supported API sections:
  • Clusters - functions available in 5.15
  • VMs - functions available in 5.15
  • Users - functions available in 5.15
  • Hosts - functions available in 5.15
  • Images - functions available in 5.15
  • Subnets - functions available in 5.15
  • Users - functions available in 5.15
  • Categories - functions available in 5.15
  • Projects - functions available in 5.15
  • Tasks - functions available in 5.15
  • Roles - functions available in 5.15
  • Permissions - functions available in 5.15
  • Network Security Rules - functions available in 5.15
  • Batch - functions available in 5.15
  • Access Control Policies

Documentation

Index

Constants

View Source
const NUTANIX_PC_PASS = "NUTANIX_PC_PASS"

NUTANIX_PC_PASS is the environment variables for the PC password

View Source
const NUTANIX_PC_URL = "NUTANIX_PC_URL"
View Source
const NUTANIX_PC_USER = "NUTANIX_PC_USER"

NUTANIX_PC_USER is the environment variable name for the PC username

Variables

This section is empty.

Functions

func CheckConfig

func CheckConfig(conf *ServiceConfig) error

CheckConfig will ensure that the minimal amount of information is present in the config

func CheckResponse

func CheckResponse(r *http.Response) error

CheckResponse looks for common response errors Need to fill this in at some point

func FormatCredentials

func FormatCredentials(a AuthCredentials) string

FormatCredentials takes in an AuthCredential type and returns a base64 encoded string in the proper format for use by the REST API

Types

type ACPMetadata

type ACPMetadata struct {
	Kind                 string            `json:"kind,omitempty" yaml:"kind,omitempty"`
	ProjectReference     ProjectReference  `json:"project_reference,omitempty" yaml:"project_reference,omitempty"`
	UUID                 string            `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	Name                 string            `json:"name,omitempty" yaml:"name,omitempty"`
	SpecVersion          int               `json:"spec_version,omitempty" yaml:"spec_version,omitempty"`
	SpecHash             string            `json:"spec_hash,omitempty" yaml:"spec_hash,omitempty"`
	Categories           Categories        `json:"categories,omitempty" yaml:"categories,omitempty"`
	CategoriesMapping    CategoriesMapping `json:"categories_mapping,omitempty" yaml:"categories_mapping,omitempty"`
	UseCategoriesMapping bool              `json:"use_categories_mapping,omitempty" yaml:"use_categories_mapping,omitempty"`
	CreationTime         string            `json:"creation_time,omitempty" yaml:"creation_time,omitempty"`
	LastUpdateTime       string            `json:"last_update_time,omitempty" yaml:"last_update_time,omitempty"`
	OwnerReference       OwnerReference    `json:"owner_reference,omitempty" yaml:"owner_reference,omitempty"`
	ShouldForceTranslate bool              `json:"should_force_translate,omitempty" yaml:"should_force_translate,omitempty"`
	EntityVersion        string            `json:"entity_version,omitempty" yaml:"entity_version,omitempty"`
}

type ACPResources

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

type ACPSpec

type ACPSpec struct {
	Name        string       `json:"name,omitempty" yaml:"name,omitempty"`
	Description string       `json:"description,omitempty" yaml:"description,omitempty"`
	Resources   ACPResources `json:"resources,omitempty" yaml:"resources,omitempty"`
}

type APIRequestList

type APIRequestList struct {
	PathAndParams string `json:"path_and_params,omitempty" yaml:"path_and_params,omitempty"`
	Operation     string `json:"operation,omitempty" yaml:"operation,omitempty"`
	Body          Body   `json:"body,omitempty" yaml:"body,omitempty"`
}

APIRequestList used for batch submit request

type APIResponse

type APIResponse struct {
}

APIResponse used for batch response

type APIResponseList

type APIResponseList struct {
	Status        string      `json:"status,omitempty" yaml:"status,omitempty"`
	PathAndParams string      `json:"path_and_params,omitempty" yaml:"path_and_params,omitempty"`
	APIResponse   APIResponse `json:"api_response,omitempty" yaml:"api_response,omitempty"`
}

APIResponseList used for batch response

type AccessControlPoliciesService

type AccessControlPoliciesService Service

AccessControlPoliciesService handles communication to the AccessControlPolicies REST API endpoint

func (*AccessControlPoliciesService) Create

Create makes the call to acp list

func (*AccessControlPoliciesService) Delete

Delete makes the call to acp delete

func (*AccessControlPoliciesService) Get

Get makes the call to acp delete

func (*AccessControlPoliciesService) List

List makes the call to acp list

func (*AccessControlPoliciesService) Update

Update makes the call to acp delete

type AccessControlPolicyReferenceList

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

type AccountReferenceList

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

type AdRule

type AdRule struct {
	TargetGroup       TargetGroup         `json:"target_group,omitempty" yaml:"target_group,omitempty"`
	InboundAllowList  []InboundAllowList  `json:"inbound_allow_list,omitempty" yaml:"inbound_allow_list,omitempty"`
	OutboundAllowList []OutboundAllowList `json:"outbound_allow_list,omitempty" yaml:"outbound_allow_list,omitempty"`
	Action            string              `json:"action,omitempty" yaml:"action,omitempty"`
}

AdRule used for NSR

type Address

type Address struct {
	IP       string `json:"ip,omitempty" yaml:"ip,omitempty"`
	Ipv6     string `json:"ipv6,omitempty" yaml:"ipv_6,omitempty"`
	IsBackup bool   `json:"is_backup,omitempty" yaml:"is_backup,omitempty"`
	Port     int    `json:"port,omitempty" yaml:"port,omitempty"`
	Fqdn     string `json:"fqdn,omitempty" yaml:"fqdn,omitempty"`
}

Address is the address

type AddressGroupInclusionList

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

AddressGroupInclusionList used for NSR

type Analysis

type Analysis struct {
	VMEfficiencyMap VMEfficiencyMap `json:"vm_efficiency_map,omitempty" yaml:"vm_efficiency_map,omitempty"`
}

Analysis is the Analysis

type AppRule

type AppRule struct {
	TargetGroup       TargetGroup         `json:"target_group,omitempty" yaml:"target_group,omitempty"`
	InboundAllowList  []InboundAllowList  `json:"inbound_allow_list,omitempty" yaml:"inbound_allow_list,omitempty"`
	OutboundAllowList []OutboundAllowList `json:"outbound_allow_list,omitempty" yaml:"outbound_allow_list,omitempty"`
	Action            string              `json:"action,omitempty" yaml:"action,omitempty"`
}

AppRule used for NSR

type AssignmentRule

type AssignmentRule struct {
	Name                  string                  `json:"name,omitempty" yaml:"name,omitempty"`
	Description           string                  `json:"description,omitempty" yaml:"description,omitempty"`
	SelectionCriteriaList []SelectionCriteriaList `json:"selection_criteria_list,omitempty" yaml:"selection_criteria_list,omitempty"`
	ExclusionList         []ExclusionList         `json:"exclusion_list,omitempty" yaml:"exclusion_list,omitempty"`
	InclusionList         []InclusionList         `json:"inclusion_list,omitempty" yaml:"inclusion_list,omitempty"`
}

AssignmentRule used for category get value results

type AuthCredentials

type AuthCredentials struct {
	Username string
	Password string
}

AuthCredentials are the username and password received from ENV variables never hard code these values into any code!

func GetCredentials

func GetCredentials(conf *ServiceConfig) (AuthCredentials, error)

GetCredentials gets the username and password from the ENV variables for use in the application

type AuthorizedPublicKeyList

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

AuthorizedPublicKeyList is the AuthorizedPublicKeyList

type AutoGenerated

type AutoGenerated struct {
	APIVersion string     `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty" yaml:"entities,omitempty"`
}

type AvailabilityZoneReference

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

type AvailabilityZoneReferenceList

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

type BatchService

type BatchService Service

BatchService is the service for the batch API in prism central

func (*BatchService) Submit

Submit - Batching allows for instructions for several operations to be sent using a single HTTP request. Depending on the batch parameters, the Nutanix v3 gateway processes each independent operation sequentially or in parallel. Once all operations in the batch have been completed, a consolidated response is returned and the HTTP connection is closed. The batch API takes an array of logical HTTP requests represented as JSON arrays. Maximum size of the array should not exceed 60. Each request comprises the following:

A method (corresponding to HTTP methods such as GET, PUT, and POST)
A relative URL (relative_url)
(Optional) A body (for POST and PUT requests). The batch API returns an array of logical HTTP responses represented as JSON arrays containing the following:
A status code
(Optional) A body represented as a JSON-encoded string

type BatchSubmitRequest

type BatchSubmitRequest struct {
	APIVersion      string           `json:"api_version,omitempty"`
	APIRequestList  []APIRequestList `json:"api_request_list,omitempty"`
	ExecutionOrder  string           `json:"execution_order,omitempty"`
	ActionOnFailure string           `json:"action_on_failure,omitempty"`
}

BatchSubmitRequest batch item list

type BatchSubmitResponse

type BatchSubmitResponse struct {
	APIResponseList []APIResponseList `json:"api_response_list,omitempty"`
}

BatchSubmitResponse is the response

type Block

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

type Body

type Body struct {
}

Body used for batch submit request

type BootConfig

type BootConfig struct {
	BootDevice          *BootDevice          `json:"boot_device,omitempty" yaml:"boot_device,omitempty"`
	BootDeviceOrderList []string             `json:"boot_device_order_list,omitempty" yaml:"boot_device_order_list,omitempty"`
	BootType            string               `json:"boot_type,omitempty" yaml:"boot_type,omitempty"`
	DataSourceReference *DataSourceReference `json:"data_source_reference,omitempty" yaml:"data_source_reference,omitempty"`
}

BootConfig is the BootConfig

type BootDevice

type BootDevice struct {
	DiskAddress *DiskAddress `json:"disk_address,omitempty" yaml:"disk_address,omitempty"`
	MacAddress  string       `json:"mac_address,omitempty" yaml:"mac_address,omitempty"`
}

BootDevice is the BootDevice

type Build

type Build struct {
	CommitID      string    `json:"commit_id,omitempty" yaml:"commit_id,omitempty"`
	Version       string    `json:"version,omitempty" yaml:"version,omitempty"`
	ShortCommitID string    `json:"short_commit_id,omitempty" yaml:"short_commit_id,omitempty"`
	FullVersion   string    `json:"full_version,omitempty" yaml:"full_version,omitempty"`
	CommitDate    time.Time `json:"commit_date,omitempty" yaml:"commit_date,omitempty"`
	BuildType     string    `json:"build_type,omitempty" yaml:"build_type,omitempty"`
}

Build is the Build

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 CaCertificateList

type CaCertificateList struct {
	CaName      string `json:"ca_name,omitempty" yaml:"ca_name,omitempty"`
	Certificate string `json:"certificate,omitempty" yaml:"certificate,omitempty"`
}

CaCertificateList is the CaCertificateList

type Capabilities

type Capabilities struct {
	Cardinality int `json:"cardinality,omitempty" yaml:"cardinality,omitempty"`
}

Capabilities are used for categories

type Categories

type Categories struct{}

Categories is the main Categories type across all Response calls

type CategoriesMapping

type CategoriesMapping struct {
}

CategoriesMapping is mapping for categories

type CategoryDeleteKeyRequest

type CategoryDeleteKeyRequest struct {
	Name string `json:"name,omitempty"`
}

CategoryDeleteKeyRequest provides the category key to delete

type CategoryDeleteKeyResponse

type CategoryDeleteKeyResponse struct{}

CategoryDeleteKeyResponse responds with just a 200 success HTTP code

type CategoryDeleteValueRequest

type CategoryDeleteValueRequest struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

CategoryDeleteValueRequest passes a key and value to delete for the category

type CategoryDeleteValueResponse

type CategoryDeleteValueResponse struct{}

CategoryDeleteValueResponse returns a 200 HTTP code on success

type CategoryFilter

type CategoryFilter struct {
	Type     string   `json:"type,omitempty" yaml:"type,omitempty"`
	KindList []string `json:"kind_list,omitempty" yaml:"kind_list,omitempty"`
	Params   Params   `json:"params,omitempty" yaml:"params,omitempty"`
}

type CategoryGetKeyRequest

type CategoryGetKeyRequest struct {
	Name string `json:"name,omitempty"`
}

CategoryGetKeyRequest request to get the category key by name

type CategoryGetKeyResponse

type CategoryGetKeyResponse struct {
	APIVersion    string       `json:"api_version,omitempty"`
	Name          string       `json:"name,omitempty"`
	Capabilities  Capabilities `json:"capabilities,omitempty"`
	Description   string       `json:"description,omitempty"`
	SystemDefined bool         `json:"system_defined,omitempty"`
}

CategoryGetKeyResponse response for a GetKey

type CategoryGetValueRequest

type CategoryGetValueRequest struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

CategoryGetValueRequest returns a 200 HTTP code on success

type CategoryGetValueResponse

type CategoryGetValueResponse struct {
	APIVersion     string         `json:"api_version,omitempty"`
	Name           string         `json:"name,omitempty"`
	Value          string         `json:"value,omitempty"`
	AssignmentRule AssignmentRule `json:"assignment_rule,omitempty"`
	Description    string         `json:"description,omitempty"`
	SystemDefined  bool           `json:"system_defined,omitempty"`
}

CategoryGetValueResponse are the results from getting a category value

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,omitempty" 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,omitempty" 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 CategoryListKeysRequest

type CategoryListKeysRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

CategoryListKeysRequest list keys request with filter and sort options

type CategoryListKeysResponse

type CategoryListKeysResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

CategoryListKeysResponse provides the list of category keys

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"`
}

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

type CategoryListValuesRequest

type CategoryListValuesRequest struct {
	Name string `json:"name,omitempty"`
	Data CategoryListValuesRequestData
}

CategoryListValuesRequest is the category name and data associated to list values

type CategoryListValuesRequestData

type CategoryListValuesRequestData struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

CategoryListValuesRequestData is the filter and sort for the category value list

type CategoryListValuesResponse

type CategoryListValuesResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

CategoryListValuesResponse provides the list of values associated to a category key

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 CategoryQueryRequest

type CategoryQueryRequest struct {
	APIVersion        string         `json:"api_version,omitempty"`
	GroupMemberCount  int            `json:"group_member_count,omitempty"`
	GroupMemberOffset int            `json:"group_member_offset,omitempty"`
	UsageType         string         `json:"usage_type,omitempty"`
	CategoryFilter    CategoryFilter `json:"category_filter,omitempty"`
}

CategoryQueryRequest are the category query parameters

type CategoryQueryResponse

type CategoryQueryResponse struct {
	APIVersion string    `json:"api_version,omitempty"`
	Metadata   Metadata  `json:"metadata,omitempty"`
	Results    []Results `json:"results,omitempty"`
}

CategoryQueryResponse category query results

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 CategoryService

type CategoryService Service

CategoryService service for operations against the category prism central API

func (*CategoryService) Create

Create - This operation submits a request to create a new Project based on the input parameters.

func (*CategoryService) Delete

Delete - This operation submits a request to delete a existing Project.

func (*CategoryService) DeleteKey

DeleteKey - Delete a category Key.

func (*CategoryService) DeleteValue

DeleteValue - Delete a category value.

func (*CategoryService) Get

Get - This operation gets a existing Project.

func (*CategoryService) GetKey

GetKey - Get a category key.

func (*CategoryService) GetValue

GetValue - Get a category value.

func (*CategoryService) List

List - This operation gets a list of Projects, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

func (*CategoryService) ListKeys

ListKeys - List the category keys.

func (*CategoryService) ListValues

ListValues - List the values for a specified key.

func (*CategoryService) Query

Query - Get list of entities attached to categories or policies in which categories are used as defined by the filter criteria.

func (*CategoryService) Update

Update - This operation submits a request to update a existing Project based on the input parameters.

func (*CategoryService) UpdateKey

UpdateKey - Create or Update a category Key.

func (*CategoryService) UpdateValue

UpdateValue - Create or Update a category value. Creates when value doesn’t exist.

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 CategoryUpdateKeyRequest

type CategoryUpdateKeyRequest struct {
	Name string `json:"name,omitempty"`
	Data CategoryUpdateKeyRequestData
}

CategoryUpdateKeyRequest - Create or Update a category Key.

type CategoryUpdateKeyRequestData

type CategoryUpdateKeyRequestData struct {
	APIVersion   string       `json:"api_version,omitempty"`
	Name         string       `json:"name,omitempty"`
	Description  string       `json:"description,omitempty"`
	Capabilities Capabilities `json:"capabilities,omitempty"`
}

CategoryUpdateKeyRequestData data for create or update category key

type CategoryUpdateKeyResponse

type CategoryUpdateKeyResponse struct {
	APIVersion    string       `json:"api_version,omitempty"`
	Name          string       `json:"name,omitempty"`
	Capabilities  Capabilities `json:"capabilities,omitempty"`
	Description   string       `json:"description,omitempty"`
	SystemDefined bool         `json:"system_defined,omitempty"`
}

CategoryUpdateKeyResponse response to creation or update of a key

type CategoryUpdateValueRequest

type CategoryUpdateValueRequest struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
	Data  CategoryUpdateValueRequestData
}

CategoryUpdateValueRequest create or update category value by name and value with provided DATA

type CategoryUpdateValueRequestData

type CategoryUpdateValueRequestData struct {
	APIVersion     string         `json:"api_version,omitempty"`
	Value          string         `json:"value,omitempty"`
	Description    string         `json:"description,omitempty"`
	AssignmentRule AssignmentRule `json:"assignment_rule,omitempty"`
}

CategoryUpdateValueRequestData is the data to update or create for the category value

type CategoryUpdateValueResponse

type CategoryUpdateValueResponse struct {
	APIVersion     string         `json:"api_version,omitempty"`
	Name           string         `json:"name,omitempty"`
	Value          string         `json:"value,omitempty"`
	AssignmentRule AssignmentRule `json:"assignment_rule,omitempty"`
	Description    string         `json:"description,omitempty"`
	SystemDefined  bool           `json:"system_defined,omitempty"`
}

CategoryUpdateValueResponse is the response upon update or creation of a category value

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" yaml:"city,omitempty"`
	State            string `json:"state,omitempty" yaml:"state,omitempty"`
	CountryCode      string `json:"country_code,omitempty" yaml:"country_code,omitempty"`
	CommonName       string `json:"common_name,omitempty" yaml:"common_name,omitempty"`
	Organization     string `json:"organization,omitempty" yaml:"organization,omitempty"`
	EmailAddress     string `json:"email_address,omitempty" yaml:"email_address,omitempty"`
	CommonNameSuffix string `json:"common_name_suffix,omitempty" yaml:"common_name_suffix,omitempty"`
}

CertificationSigningInfo is the signing info PKE

type Checksum

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

Checksum represents the image checksum

type CitrixConnectorConfig

type CitrixConnectorConfig struct {
	CitrixVMReferenceList []CitrixVMReferenceList `json:"citrix_vm_reference_list,omitempty" yaml:"citrix_vm_reference_list,omitempty"`
	ClientSecret          string                  `json:"client_secret,omitempty" yaml:"client_secret,omitempty"`
	CustomerID            string                  `json:"customer_id,omitempty" yaml:"customer_id,omitempty"`
	ClientID              string                  `json:"client_id,omitempty" yaml:"client_id,omitempty"`
	ResourceLocation      ResourceLocation        `json:"resource_location,omitempty" yaml:"resource_location,omitempty"`
}

CitrixConnectorConfig is the CitrixConnectorConfig

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 CitrixVMReferenceList

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

CitrixVMReferenceList is the CitrixVMReferenceList

type Client

type Client struct {
	PCURL *url.URL

	Login AuthCredentials

	Cluster    *ClusterService
	User       *UserService
	VM         *VMService
	Host       *HostService
	ACPS       *AccessControlPoliciesService
	Image      *ImageService
	Category   *CategoryService
	Subnet     *SubnetService
	Project    *ProjectService
	Task       *TaskService
	Role       *RoleService
	Permission *PermissionService
	NSR        *NetworkSecurityRuleService
	Batch      *BatchService
	// contains filtered or unexported fields
}

Client is an HTTP Client

func NewClient

func NewClient(httpClient *http.Client, conf *ServiceConfig) (*Client, error)

NewClient is used for Nutanix Prism client instantiation

func (*Client) Do

func (c *Client) Do(req *http.Request, v interface{}) (*http.Response, error)

Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it. If rate limit is exceeded and reset time is in the future, Do returns *RateLimitError immediately without making a network API call.

func (*Client) NewRequest

func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)

NewRequest creates an API request

type ClientAuth

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

ClientAuth is the PKE auth info

type CloudInit

type CloudInit struct {
	MetaData        string           `json:"meta_data,omitempty" yaml:"meta_data,omitempty"`
	UserData        string           `json:"user_data,omitempty" yaml:"user_data,omitempty"`
	CustomKeyValues *CustomKeyValues `json:"custom_key_values,omitempty" yaml:"custom_key_values,omitempty"`
}

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 ClusterGetRequest

type ClusterGetRequest struct {
	UUID string `json:"uuid,omitempty"`
}

ClusterGetRequest is the request used to identify a specific cluster to get...really just need the cluster UUID

type ClusterGetResponse

type ClusterGetResponse struct {
	Status     Status   `json:"status,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
}

ClusterGetResponse are the details associated with a cluster

type ClusterIntentResponse

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

	Metadata *Metadata `json:"metadata,omitempty" 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,omitempty" mapstructure:"api_version"`
	Entities   []*ClusterIntentResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput      `json:"metadata,omitempty" mapstructure:"metadata"`
}

ClusterListIntentResponse ...

type ClusterListRequest

type ClusterListRequest struct {
	Filter        string `json:"filter,omitempty"`
	Kind          string `json:"kind,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

ClusterListRequest is the request JSON sent to the API

type ClusterListResponse

type ClusterListResponse struct {
	Entities   []Entities `json:"entities,omitempty"`
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
}

ClusterListResponse is the response received from the REST API

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 ClusterReference

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

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 ClusterService

type ClusterService Service

ClusterService handles communication to the clusters REST API endpoint

func (*ClusterService) Get

Get passes as UUID of a specific cluster to get information about that cluster

func (*ClusterService) List

List makes the call to cluster list

func (*ClusterService) Update

Update will update the cluster defined by the UUID with the provided information

type ClusterUpdateRequest

type ClusterUpdateRequest struct {
	UUID       string   `json:"uuid,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
}

ClusterUpdateRequest is used to update a cluster. The UUID of the cluster is needed along with the other data elements related to the update

type ClusterUpdateResponse

type ClusterUpdateResponse struct {
	Status     Status   `json:"status,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
}

ClusterUpdateResponse is the response from the update request

type CompletePolicyClusterReferenceList

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

type Config

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

Config is the API response for Config used across all API requests

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 ConflictingImagePlacementPolicyReferenceList

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

type ConsumerReference

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

type ContextList

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

type ControllerVM

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

ControllerVM returns information about CVM and utilization

type CreateACPRequest

type CreateACPRequest struct {
	APIVersion string      `json:"api_version,omitempty"`
	Metadata   ACPMetadata `json:"metadata,omitempty"`
	Spec       ACPSpec     `json:"spec,omitempty"`
}

CreateACPRequest is the request data to create a new access control policy

type CreateACPResponse

type CreateACPResponse struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type CreationTime

type CreationTime struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Format      string `json:"format,omitempty" yaml:"format,omitempty"`
	ReadOnly    bool   `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type Credentials

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

Credentials are the Credentials

type CurrentClusterReferenceList

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

type CustomKeyValues

type CustomKeyValues struct {
}

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"`
}

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

type DataSourceReference

type DataSourceReference struct {
	Kind           string `json:"kind,omitempty" yaml:"kind,omitempty"`
	UUID           string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	Name           string `json:"name,omitempty" yaml:"name,omitempty"`
	URL            string `json:"url,omitempty" yaml:"url,omitempty"`
	IsDirectAttach bool   `json:"is_direct_attach,omitempty" yaml:"is_direct_attach,omitempty"`
}

DataSourceReference used for image update

type DefaultEnvironmentReference

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

type DefaultSubnetReference

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

type DeleteACPRequest

type DeleteACPRequest struct {
	UUID string `json:"uuid,omitempty"`
}

type DeleteACPResponse

type DeleteACPResponse struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type DeleteResponse

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

DeleteResponse ...

type DeleteStatus

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

DeleteStatus ...

type Details

type Details struct {
}

Details are the details

type DeviceProperties

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

DeviceProperties is the DeviceProperties

type DhcpOptions

type DhcpOptions struct {
	BootFileName         string   `json:"boot_file_name,omitempty" yaml:"boot_file_name,omitempty"`
	DomainName           string   `json:"domain_name,omitempty" yaml:"domain_name,omitempty"`
	DomainNameServerList []string `json:"domain_name_server_list,omitempty" yaml:"domain_name_server_list,omitempty"`
	DomainSearchList     []string `json:"domain_search_list,omitempty" yaml:"domain_search_list,omitempty"`
	TftpServerName       string   `json:"tftp_server_name,omitempty" yaml:"tftp_server_name,omitempty"`
}

type DhcpServerAddress

type DhcpServerAddress struct {
	IP       string `json:"ip,omitempty" yaml:"ip,omitempty"`
	Ipv6     string `json:"ipv6,omitempty" yaml:"ipv_6,omitempty"`
	Fqdn     string `json:"fqdn,omitempty" yaml:"fqdn,omitempty"`
	Port     int    `json:"port,omitempty" yaml:"port,omitempty"`
	IsBackup bool   `json:"is_backup,omitempty" yaml:"is_backup,omitempty"`
}

type DirectoryServiceReference

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

type DirectoryServiceUser

type DirectoryServiceUser struct {
	UserPrincipalName         string                     `json:"user_principal_name,omitempty" yaml:"user_principal_name,omitempty"`
	DefaultUserPrincipalName  string                     `json:"default_user_principal_name,omitempty" yaml:"default_user_principal_name,omitempty"`
	DirectoryServiceReference *DirectoryServiceReference `json:"directory_service_reference,omitempty" yaml:"directory_service_reference,omitempty"`
}

type DiskAddress

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

DiskAddress is the DiskAddress

type DiskList

type DiskList struct {
	DataSourceReference  *DataSourceReference  `json:"data_source_reference,omitempty" yaml:"data_source_reference,omitempty"`
	DeviceProperties     *DeviceProperties     `json:"device_properties,omitempty" yaml:"device_properties,omitempty"`
	UUID                 string                `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	DiskSizeBytes        int                   `json:"disk_size_bytes,omitempty" yaml:"disk_size_bytes,omitempty"`
	DiskSizeMib          int                   `json:"disk_size_mib,omitempty" yaml:"disk_size_mib,omitempty"`
	VolumeGroupReference *VolumeGroupReference `json:"volume_group_reference,omitempty" yaml:"volume_group_reference,omitempty"`
	StorageConfig        *StorageConfig        `json:"storage_config,omitempty" yaml:"storage_config,omitempty"`
}

DiskList is the DiskList

type DomainCredencial

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

DomainCredencial represents the way to login server

type DomainCredential

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

type DomainCredentials

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

DomainCredentials are the domain credentials

type DomainServer

type DomainServer struct {
	Nameserver        string            `json:"nameserver,omitempty" yaml:"nameserver,omitempty"`
	Name              string            `json:"name,omitempty" yaml:"name,omitempty"`
	DomainCredentials DomainCredentials `json:"domain_credentials,omitempty" yaml:"domain_credentials,omitempty"`
}

DomainServer is the domain server

type EnforcedPolicyClusterReferenceList

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

type Entities

type Entities struct {
	Status               Status                 `json:"status,omitempty" yaml:"status,omitempty"`
	Spec                 Spec                   `json:"spec,omitempty" yaml:"spec,omitempty"`
	APIVersion           string                 `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata             Metadata               `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Name                 string                 `json:"name,omitempty" yaml:"name,omitempty"`
	Capabilities         Capabilities           `json:"capabilities,omitempty" yaml:"capabilities,omitempty"`
	Description          string                 `json:"description,omitempty" yaml:"description,omitempty"`
	SystemDefined        bool                   `json:"system_defined,omitempty" yaml:"system_defined,omitempty"`
	UUID                 string                 `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	LogicalTimestamp     int                    `json:"logical_timestamp,omitempty" yaml:"logical_timestamp,omitempty"`
	ProgressMessage      string                 `json:"progress_message,omitempty" yaml:"progress_message,omitempty"`
	OperationType        string                 `json:"operation_type,omitempty" yaml:"operation_type,omitempty"`
	PercentageComplete   int                    `json:"percentage_complete,omitempty" yaml:"percentage_complete,omitempty"`
	ParentTaskReference  ParentTaskReference    `json:"parent_task_reference,omitempty" yaml:"parent_task_reference,omitempty"`
	SubtaskReferenceList []SubtaskReferenceList `json:"subtask_reference_list,omitempty" yaml:"subtask_reference_list,omitempty"`
	ClusterReference     *ClusterReference      `json:"cluster_reference,omitempty" yaml:"cluster_reference,omitempty"`
	CreationTime         string                 `json:"creation_time,omitempty" yaml:"creation_time,omitempty"`
	CreationTimeUsecs    int                    `json:"creation_time_usecs,omitempty" yaml:"creation_time_usecs,omitempty"`
	LastUpdateTime       string                 `json:"last_update_time,omitempty" yaml:"last_update_time,omitempty"`
	StartTime            string                 `json:"start_time,omitempty" yaml:"start_time,omitempty"`
	StartTimeUsecs       int                    `json:"start_time_usecs,omitempty" yaml:"start_time_usecs,omitempty"`
	CompletionTime       string                 `json:"completion_time,omitempty" yaml:"completion_time,omitempty"`
	CompletionTimeUsecs  int                    `json:"completion_time_usecs,omitempty" yaml:"completion_time_usecs,omitempty"`
	EntityReferenceList  []EntityReferenceList  `json:"entity_reference_list,omitempty" yaml:"entity_reference_list,omitempty"`
	ErrorCode            string                 `json:"error_code,omitempty" yaml:"error_code,omitempty"`
	ErrorDetail          string                 `json:"error_detail,omitempty" yaml:"error_detail,omitempty"`
}

Entities is the main Entities type across all Response calls

type EntityFilterExpressionList

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

type EntityList

type EntityList struct {
	EntityType       string `json:"entity_type,omitempty" yaml:"entity_type,omitempty"`
	EntityName       string `json:"entity_name,omitempty" yaml:"entity_name,omitempty"`
	EntityUpdateType string `json:"entity_update_type,omitempty" yaml:"entity_update_type,omitempty"`
}

EntityList used for NSR import dry run request

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 EntityReferenceList

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

EntityReferenceList used for task get details

type EntityVersion

type EntityVersion struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	ReadOnly    bool   `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type EnvironmentReferenceList

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

type ErrorMessageList

type ErrorMessageList struct {
	Message string  `json:"message,omitempty" yaml:"message,omitempty"`
	Reason  string  `json:"reason,omitempty" yaml:"reason,omitempty"`
	Details Details `json:"details,omitempty" yaml:"details,omitempty"`
}

type ExclusionList

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

ExclusionList used for category get value results

type ExecutionContext

type ExecutionContext struct {
	TaskUuids []string `json:"task_uuids,omitempty" yaml:"task_uuids,omitempty"`
}

ExecutionContext is the ExecutionContext

type ExpressionList

type ExpressionList struct {
	PropertyName       string `json:"property_name,omitempty" yaml:"property_name,omitempty"`
	Operator           string `json:"operator,omitempty" yaml:"operator,omitempty"`
	Value              string `json:"value,omitempty" yaml:"value,omitempty"`
	DisplayForOperator string `json:"display_for_operator,omitempty" yaml:"display_for_operator,omitempty"`
	DisplayForValue    string `json:"display_for_value,omitempty" yaml:"display_for_value,omitempty"`
}

ExpressionList used for category get value results

type ExternalConfigurations

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

ExternalConfigurations is the ExternalConfigurations

type ExternalConfigurationsSpec

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

ExternalConfigurationsSpec ...

type ExternalNetworkList

type ExternalNetworkList struct {
	Name string `json:"name,omitempty" yaml:"name,omitempty"`
	UUID string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
}

type ExternalUserGroupReferenceList

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

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 Fields

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

Fields is used for permission creation

type Filter

type Filter struct {
	Type        string   `json:"type,omitempty" yaml:"type,omitempty"`
	Description string   `json:"description,omitempty" yaml:"description,omitempty"`
	KindList    []string `json:"kind_list,omitempty" yaml:"kind_list,omitempty"`
	Params      Params   `json:"params,omitempty" yaml:"params,omitempty"`
}

Filter is used in NSR and other areas of List

type FilterList

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

type FirstEntityFilter

type FirstEntityFilter struct {
	Type     string   `json:"type,omitempty" yaml:"type,omitempty"`
	KindList []string `json:"kind_list,omitempty" yaml:"kind_list,omitempty"`
	Params   Params   `json:"params,omitempty" yaml:"params,omitempty"`
}

FirstEntityFilter used for NSR

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 GetACPRequest

type GetACPRequest struct {
	UUID string `json:"uuid,omitempty"`
}

type GetACPResponse

type GetACPResponse struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type GpuList

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

type GuestCustomization

type GuestCustomization struct {
	IsOverridable bool       `json:"is_overridable,omitempty" yaml:"is_overridable,omitempty"`
	Sysprep       *Sysprep   `json:"sysprep,omitempty" yaml:"sysprep,omitempty"`
	CloudInit     *CloudInit `json:"cloud_init,omitempty" yaml:"cloud_init,omitempty"`
}

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 GuestTools

type GuestTools struct {
	NutanixGuestTools NutanixGuestTools `json:"nutanix_guest_tools,omitempty" yaml:"nutanix_guest_tools,omitempty"`
}

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 GuestTransitionConfig

type GuestTransitionConfig struct {
	ShouldFailOnScriptFailure bool `json:"should_fail_on_script_failure,omitempty" yaml:"should_fail_on_script_failure,omitempty"`
	EnableScriptExec          bool `json:"enable_script_exec,omitempty" yaml:"enable_script_exec,omitempty"`
}

GuestTransitionConfig is the GuestTransitionConfig

type HTTPProxyList

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

HTTPProxyList is the HTTPProxyList

type HTTPProxyWhitelist

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

HTTPProxyWhitelist is the HTTPProxyWhitelist

type HostDisksReferenceList

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

type HostGetRequest

type HostGetRequest struct {
	UUID string
}

HostGetRequest gets a host based upon

type HostGetResponse

type HostGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

HostGetResponse returns host details

type HostListRequest

type HostListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

HostListRequest defintes the host list request

type HostListResponse

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

HostListResponse full list of hosts with details

type HostReference

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

HostReference is the HostReference

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 HostService

type HostService Service

HostService handles the API communications to the hosts service

func (*HostService) Get

func (hs *HostService) Get(reqdata *HostGetRequest) (*HostGetResponse, *http.Response, error)

Get passes as UUID of a specific cluster to get information about that cluster

func (*HostService) List

List returns all of the cluster hosts

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 {
	IP                 string `json:"ip,omitempty" yaml:"ip,omitempty"`
	HypervisorFullName string `json:"hypervisor_full_name,omitempty" yaml:"hypervisor_full_name,omitempty"`
	NumVms             int    `json:"num_vms,omitempty" yaml:"num_vms,omitempty"`
}

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 HypervisorServerList

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

HypervisorServerList is the hyprevisor list of servers

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 IPConfig

type IPConfig struct {
	SubnetIP          string            `json:"subnet_ip,omitempty" yaml:"subnet_ip,omitempty"`
	PrefixLength      int               `json:"prefix_length,omitempty" yaml:"prefix_length,omitempty"`
	DefaultGatewayIP  string            `json:"default_gateway_ip,omitempty" yaml:"default_gateway_ip,omitempty"`
	DhcpOptions       DhcpOptions       `json:"dhcp_options,omitempty" yaml:"dhcp_options,omitempty"`
	DhcpServerAddress DhcpServerAddress `json:"dhcp_server_address,omitempty" yaml:"dhcp_server_address,omitempty"`
	PoolList          []PoolList        `json:"pool_list,omitempty" yaml:"pool_list,omitempty"`
}

type IPEndpointList

type IPEndpointList struct {
	IP                 string   `json:"ip,omitempty" yaml:"ip,omitempty"`
	Type               string   `json:"type,omitempty" yaml:"type,omitempty"`
	IPType             string   `json:"ip_type,omitempty" yaml:"ip_type,omitempty"`
	PrefixLength       int      `json:"prefix_length,omitempty" yaml:"prefix_length,omitempty"`
	GatewayAddressList []string `json:"gateway_address_list,omitempty" yaml:"gateway_address_list,omitempty"`
}

IPEndpointList is the IPEndpointList

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 {
	IP           string `json:"ip,omitempty" yaml:"ip,omitempty"`
	PrefixLength int    `json:"prefix_length,omitempty" yaml:"prefix_length,omitempty"`
}

IPSubnet used for NSR

type IcmpTypeCodeList

type IcmpTypeCodeList struct {
	Type int `json:"type,omitempty" yaml:"type,omitempty"`
	Code int `json:"code,omitempty" yaml:"code,omitempty"`
}

IcmpTypeCodeList used for NSR

type IdentityProviderReference

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

type IdentityProviderUser

type IdentityProviderUser struct {
	Username                  string                     `json:"username,omitempty" yaml:"username,omitempty"`
	IdentityProviderReference *IdentityProviderReference `json:"identity_provider_reference,omitempty" yaml:"identity_provider_reference,omitempty"`
}

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,omitempty" mapstructure:"resources"`
}

Image An intentful representation of a image spec

type ImageCreateRequest

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

ImageCreateRequest provides am image configuration to create without including additional struct objects

type ImageCreateResponse

type ImageCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ImageCreateResponse is the response from an image create

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,omitempty" mapstructure:"name"`

	Resources ImageResourcesDefStatus `json:"resources,omitempty" 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 ImageDeleteRequest

type ImageDeleteRequest struct {
	UUID string
}

ImageDeleteRequest provides UUID of image to delete

type ImageDeleteResponse

type ImageDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ImageDeleteResponse response of delete image call on image UUID

type ImageGetFileRequest

type ImageGetFileRequest struct {
	UUID string
}

ImageGetFileRequest Downloads the image based on the UUID specified.

type ImageGetFileResponse

type ImageGetFileResponse string

ImageGetFileResponse provides the disk contents to save in string binary format

type ImageGetRequest

type ImageGetRequest struct {
	UUID string
}

ImageGetRequest is the UUID of the image to retrieve

type ImageGetResponse

type ImageGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ImageGetResponse details about requested image

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,omitempty" 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,omitempty" mapstructure:"api_version"`

	Metadata *Metadata `json:"metadata,omitempty" 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,omitempty" mapstructure:"api_version"`

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

	Metadata *ListMetadataOutput `json:"metadata,omitempty" 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 ImageListRequest

type ImageListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

ImageListRequest This operation gets a list of images, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

type ImageListResponse

type ImageListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

ImageListResponse response of all images in system

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,omitempty" 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 ImageMigrateRequest

type ImageMigrateRequest struct {
	ClusterReference   ClusterReference     `json:"cluster_reference,omitempty"`
	ImageReferenceList []ImageReferenceList `json:"image_reference_list,omitempty"`
}

ImageMigrateRequest requests an image migration, PC and PE

type ImageMigrateResponse

type ImageMigrateResponse struct {
	TaskUUID string `json:"task_uuid,omitempty"`
}

ImageMigrateResponse migration task UUID response

type ImagePlacementPolicyStateList

type ImagePlacementPolicyStateList struct {
	ComplianceStatus string             `json:"compliance_status,omitempty" yaml:"compliance_status,omitempty"`
	EnforcementMode  string             `json:"enforcement_mode,omitempty" yaml:"enforcement_mode,omitempty"`
	PolicyReference  PolicyReference    `json:"policy_reference,omitempty" yaml:"policy_reference,omitempty"`
	PolicyInfo       PolicyInfo         `json:"policy_info,omitempty" yaml:"policy_info,omitempty"`
	ErrorMessageList []ErrorMessageList `json:"error_message_list,omitempty" yaml:"error_message_list,omitempty"`
}

type ImageReferenceList

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

ImageReferenceList is used for image service details

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"`

	// 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"`

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

ImageResourcesDefStatus describes the image status resources object.

type ImageService

type ImageService Service

ImageService is the image-specific service

func (*ImageService) Create

Create Images are raw ISO, QCOW2, or VMDK files that are uploaded by a user can be attached to a VM. 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.

func (*ImageService) Delete

Delete submits a request to delete an existing image

func (*ImageService) Get

Get gets an existing image

func (*ImageService) GetFile

GetFile Downloads the image based on the UUID specified.

func (*ImageService) List

List This operation gets a list of images, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

func (*ImageService) Migrate

Migrate migrates an image to cluster resources

func (*ImageService) Update

Update updates the image with provided UUID with provided DATA config

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 ImageUpdateRequest

type ImageUpdateRequest struct {
	UUID string
	Data ImageUpdateRequestData
}

ImageUpdateRequest contains the UUID of the image to update and the data to be updated

type ImageUpdateRequestData

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

ImageUpdateRequestData image data provided during update request

type ImageUpdateResponse

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

ImageUpdateResponse response to an image update request

type ImageVersionResources

type ImageVersionResources struct {

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

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

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

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

type InboundAllowList

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

InboundAllowList used for NSR

type InclusionList

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

InclusionList used for category get value results

type InitialPlacementRefList

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

InitialPlacementRefList used or image update and placement

type Ipmi

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

type IsolationRule

type IsolationRule struct {
	FirstEntityFilter  FirstEntityFilter  `json:"first_entity_filter,omitempty" yaml:"first_entity_filter,omitempty"`
	SecondEntityFilter SecondEntityFilter `json:"second_entity_filter,omitempty" yaml:"second_entity_filter,omitempty"`
	Action             string             `json:"action,omitempty" yaml:"action,omitempty"`
}

IsolationRule used for NSR

type Kind

type Kind struct {
	Type        string   `json:"type,omitempty" yaml:"type,omitempty"`
	ReadOnly    bool     `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	Description string   `json:"description,omitempty" yaml:"description,omitempty"`
	Default     string   `json:"default,omitempty" yaml:"default,omitempty"`
	XNtnxEnum   []string `json:"x-ntnx-enum,omitempty" yaml:"x_ntnx_enum,omitempty"`
}

type KindReferenceList

type KindReferenceList struct {
	Kind       string     `json:"kind,omitempty" yaml:"kind,omitempty"`
	UUID       string     `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	Name       string     `json:"name,omitempty" yaml:"name,omitempty"`
	Type       string     `json:"type,omitempty" yaml:"type,omitempty"`
	Categories Categories `json:"categories,omitempty" yaml:"categories,omitempty"`
}

KindReferenceList is used for category query results

type LastUpdateTime

type LastUpdateTime struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	ReadOnly    bool   `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	Format      string `json:"format,omitempty" yaml:"format,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type LeftHandSide

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

type Length

type Length struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type ListACPRequest

type ListACPRequest struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type ListACPResponse

type ListACPResponse struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

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 ManagementServerList

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

ManagementServerList is the ManagementServerList

type MessageList

type MessageList struct {
	Message string  `json:"message,omitempty" yaml:"message,omitempty"`
	Reason  string  `json:"reason,omitempty" yaml:"reason,omitempty"`
	Details Details `json:"details,omitempty" yaml:"details,omitempty"`
}

MessageList is the list of messages

type MessageResource

type MessageResource struct {

	// Custom key-value details relevant to the status.
	Details map[string]string `json:"details,omitempty" mapstructure:"details,omitempty"`

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

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

MessageResource ...

type Metadata

type Metadata struct {
	TotalMatches         *int               `json:"total_matches,omitempty" yaml:"total_matches,omitempty"`
	Kind                 *string            `json:"kind,omitempty" yaml:"kind,omitempty"`
	Length               *int               `json:"length,omitempty" yaml:"length,omitempty"`
	Offset               *int               `json:"offset,omitempty" yaml:"offset,omitempty"`
	LastUpdateTime       *time.Time         `json:"last_update_time,omitempty" yaml:"last_update_time,omitempty"`
	UUID                 *string            `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	ProjectReference     *ProjectReference  `json:"project_reference,omitempty" yaml:"project_reference,omitempty"`
	SpecVersion          *int               `json:"spec_version,omitempty" yaml:"spec_version,omitempty"`
	CreationTime         *time.Time         `json:"creation_time,omitempty" yaml:"creation_time,omitempty"`
	OwnerReference       *OwnerReference    `json:"owner_reference,omitempty" yaml:"owner_reference,omitempty"`
	Categories           *Categories        `json:"categories,omitempty" yaml:"categories,omitempty"`
	SpecHash             *string            `json:"spec_hash,omitempty" yaml:"spec_hash,omitempty"`
	ShouldForceTranslate *bool              `json:"should_force_translate,omitempty" yaml:"should_force_translate,omitempty"`
	Name                 *string            `json:"name,omitempty" yaml:"name,omitempty"`
	Filter               *string            `json:"filter,omitempty" yaml:"filter,omitempty"`
	SortOrder            *string            `json:"sort_order,omitempty" yaml:"sort_order,omitempty"`
	SortAttribute        *string            `json:"sort_attribute,omitempty" yaml:"sort_attribute,omitempty"`
	CategoriesMapping    *CategoriesMapping `json:"categories_mapping,omitempty" yaml:"categories_mapping,omitempty"`
	UseCategoriesMapping *bool              `json:"use_categories_mapping,omitempty" yaml:"use_categories_mapping,omitempty"`
	EntityVersion        *string            `json:"entity_version,omitempty" yaml:"entity_version,omitempty"`
	GroupMemberCount     *int               `json:"group_member_count,omitempty" yaml:"group_member_count,omitempty"`
	GroupMemberOffset    *int               `json:"group_member_offset,omitempty" yaml:"group_member_offset,omitempty"`
	UsageType            *string            `json:"usage_type,omitempty" yaml:"usage_type,omitempty"`
}

Metadata is the Metadata associated with an API responsee this same type can be used across the calls as it includes type entries for other API calls

type NSRCreateRequest

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

NSRCreateRequest details on the security rule to create

type NSRCreateResponse

type NSRCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       string   `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

NSRCreateResponse details on the rule created from request

type NSRDeleteRequest

type NSRDeleteRequest struct {
	UUID string
}

NSRDeleteRequest provides UUID of NSR to delete

type NSRDeleteResponse

type NSRDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       string   `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

NSRDeleteResponse provides details of deleted NSR

type NSRExportRequest

type NSRExportRequest struct{}

NSRExportRequest empty GET request to receive export of rules

type NSRExportResponse

type NSRExportResponse struct{}

NSRExportResponse 200 response on success

type NSRGetRequest

type NSRGetRequest struct {
	UUID string
}

NSRGetRequest gets an NSR by provided UUID

type NSRGetResponse

type NSRGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       string   `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

NSRGetResponse provides details on an NSR from provided UUID

type NSRImportDryRunRequest

type NSRImportDryRunRequest struct{}

NSRImportDryRunRequest empty request to dry run an import

type NSRImportDryRunResponse

type NSRImportDryRunResponse struct {
	EntityList []EntityList `json:"entity_list,omitempty"`
}

NSRImportDryRunResponse provides entity details

type NSRImportRequest

type NSRImportRequest struct{}

NSRImportRequest - Imports previously exported network security rules

type NSRImportResponse

type NSRImportResponse struct {
	TaskUUID string `json:"task_uuid,omitempty"`
}

NSRImportResponse provides the UUID of the task performing the import

type NSRListRequest

type NSRListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

NSRListRequest is the sort and filter options for a nsr list

type NSRListResponse

type NSRListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

NSRListResponse provides the list of network security rules

type NSRUpdateRequest

type NSRUpdateRequest struct {
	UUID string
	Data NSRUpdateRequestData
}

NSRUpdateRequest updates a NSR identified by provided UUID with provided Data element details

type NSRUpdateRequestData

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

NSRUpdateRequestData data to use to update NSR identified by UUID

type NSRUpdateResponse

type NSRUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       string   `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

NSRUpdateResponse provides update details on NSR

type Name

type Name struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	ReadOnly    bool   `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	MaxLength   int    `json:"maxLength,omitempty" yaml:"max_length,omitempty"`
}

type Network

type Network struct {
	HTTPProxyWhitelist     []HTTPProxyWhitelist `json:"http_proxy_whitelist,omitempty" yaml:"http_proxy_whitelist,omitempty"`
	MasqueradingPort       int                  `json:"masquerading_port,omitempty" yaml:"masquerading_port,omitempty"`
	MasqueradingIP         string               `json:"masquerading_ip,omitempty" yaml:"masquerading_ip,omitempty"`
	ExternalIP             string               `json:"external_ip,omitempty" yaml:"external_ip,omitempty"`
	HTTPProxyList          []HTTPProxyList      `json:"http_proxy_list,omitempty" yaml:"http_proxy_list,omitempty"`
	SMTPServer             SMTPServer           `json:"smtp_server,omitempty" yaml:"smtp_server,omitempty"`
	NtpServerIPList        []string             `json:"ntp_server_ip_list,omitempty" yaml:"ntp_server_ip_list,omitempty"`
	ExternalSubnet         string               `json:"external_subnet,omitempty" yaml:"external_subnet,omitempty"`
	ExternalDataServicesIP string               `json:"external_data_services_ip,omitempty" yaml:"external_data_services_ip,omitempty"`
	DomainServer           DomainServer         `json:"domain_server,omitempty" yaml:"domain_server,omitempty"`
	NameServerIPList       []string             `json:"name_server_ip_list,omitempty" yaml:"name_server_ip_list,omitempty"`
	NfsSubnetWhitelist     []string             `json:"nfs_subnet_whitelist,omitempty" yaml:"nfs_subnet_whitelist,omitempty"`
	InternalSubnet         string               `json:"internal_subnet,omitempty" yaml:"internal_subnet,omitempty"`
}

Network is the network

type NetworkFunctionChainReference

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

type NetworkRule

type NetworkRule struct {

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

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

	// List of ICMP types and codes allowed by this rule.
	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"`

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

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

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

	// List of UDP ports that are allowed by this rule.
	UDPPortRangeList []*PortRange `json:"udp_port_range_list,omitempty" mapstructure:"udp_port_range_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,omitempty" 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,omitempty" mapstructure:"metadata"`
	Spec       *NetworkSecurityRule `json:"spec,omitempty" 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,omitempty" 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,omitempty" mapstructure:"api_version"`
	Entities   []*NetworkSecurityRuleIntentResource `json:"entities,omitempty" bson:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput                  `json:"metadata,omitempty" mapstructure:"metadata"`
}

NetworkSecurityRuleListIntentResponse Response object for intentful operation of network_security_rules

type NetworkSecurityRuleResources

type NetworkSecurityRuleResources struct {
	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 NetworkSecurityRuleService

type NetworkSecurityRuleService Service

NetworkSecurityRuleService provides api function for network security rules

func (*NetworkSecurityRuleService) Create

Create - This operation submits a request to create a new Network security rule based on the input parameters.

func (*NetworkSecurityRuleService) Delete

Delete - This operation submits a request to delete a existing Network security rule.

func (*NetworkSecurityRuleService) Export

Export - Export all network security rules to save and for subsequent import

func (*NetworkSecurityRuleService) Get

Get - This operation gets a existing Network security rule.

func (*NetworkSecurityRuleService) Import

Import - Imports previously exported network security rules

func (*NetworkSecurityRuleService) ImportDryRun

ImportDryRun - Generates a report on the impact of importing the policy data

func (*NetworkSecurityRuleService) List

List - 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.

func (*NetworkSecurityRuleService) Update

Update - This operation submits a request to update a existing Network security rule based on the input parameters.

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 NicList

type NicList struct {
	NicType                       string                         `json:"nic_type,omitempty" yaml:"nic_type,omitempty"`
	UUID                          string                         `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	IPEndpointList                []IPEndpointList               `json:"ip_endpoint_list,omitempty" yaml:"ip_endpoint_list,omitempty"`
	MacAddress                    string                         `json:"mac_address,omitempty" yaml:"mac_address,omitempty"`
	SubnetReference               SubnetReference                `json:"subnet_reference,omitempty" yaml:"subnet_reference,omitempty"`
	IsConnected                   bool                           `json:"is_connected,omitempty" yaml:"is_connected,omitempty"`
	VlanMode                      string                         `json:"vlan_mode,omitempty" yaml:"vlan_mode,omitempty"`
	TrunkedVlanList               []int                          `json:"trunked_vlan_list,omitempty" yaml:"trunked_vlan_list,omitempty"`
	NetworkFunctionChainReference *NetworkFunctionChainReference `json:"network_function_chain_reference,omitempty" yaml:"network_function_chain_reference,omitempty"`
	NetworkFunctionNicType        string                         `json:"network_function_nic_type,omitempty" yaml:"network_function_nic_type,omitempty"`
	Model                         string                         `json:"model,omitempty" yaml:"model,omitempty"`
}

NicList is the NicList

type Nodes

type Nodes struct {
	HypervisorServerList []HypervisorServerList `json:"hypervisor_server_list,omitempty" yaml:"hypervisor_server_list,omitempty"`
}

Nodes are the nodes

type NutanixGuestTools

type NutanixGuestTools struct {
	NgtState              string      `json:"ngt_state,omitempty" yaml:"ngt_state,omitempty"`
	Credentials           Credentials `json:"credentials,omitempty" yaml:"credentials,omitempty"`
	State                 string      `json:"state,omitempty" yaml:"state,omitempty"`
	IsoMountState         string      `json:"iso_mount_state,omitempty" yaml:"iso_mount_state,omitempty"`
	EnabledCapabilityList []string    `json:"enabled_capability_list,omitempty" yaml:"enabled_capability_list,omitempty"`
	Version               string      `json:"version,omitempty" yaml:"version,omitempty"`
}

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 Offset

type Offset struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type OplogUsage

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

OplogUsage produces the CVM OpLog utilization with a very precise result

type OutboundAllowList

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

OutboundAllowList used for NSR

type OwnerReference

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

OwnerReference is the main OwnerReference type across all Response calls

type Params

type Params struct {
}

type ParentReference

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

type ParentTaskReference

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

ParentTaskReference used for task get details

type PermissionCreateRequest

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

PermissionCreateRequest creates a permission based upon data provided

type PermissionCreateResponse

type PermissionCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

PermissionCreateResponse provides a response to the create permission request

type PermissionDeleteRequest

type PermissionDeleteRequest struct {
	UUID string
}

PermissionDeleteRequest provides UUID of permission to delete

type PermissionDeleteResponse

type PermissionDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

PermissionDeleteResponse is the data of the permission deleted

type PermissionGetRequest

type PermissionGetRequest struct {
	UUID string
}

PermissionGetRequest provides UUID of permission to get

type PermissionGetResponse

type PermissionGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

PermissionGetResponse provides details about permission identified by UUID

type PermissionListRequest

type PermissionListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

PermissionListRequest provides filter and sort for a permissions list request

type PermissionListResponse

type PermissionListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

PermissionListResponse provides permission list results

type PermissionReferenceList

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

PermissionReferenceList is used for role creation

type PermissionService

type PermissionService Service

PermissionService is the service for the permissions API in prism central

func (*PermissionService) Create

Create - Permissions define what a user can do with each type. For example, an admin can upload images; a DevOps user can create, edit, or delete a VM; and an operations user can view a VM console.

func (*PermissionService) Delete

Delete - deletes a permission by UUID

func (*PermissionService) Get

Get - gets details on a permission

func (*PermissionService) List

List - lists all permissions

func (*PermissionService) Update

Update - updates a permission

type PermissionUpdateRequest

type PermissionUpdateRequest struct {
	UUID string
	Data PermissionUpdateRequestData
}

PermissionUpdateRequest updates a permission based on provided UUID and permission data

type PermissionUpdateRequestData

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

PermissionUpdateRequestData details about the permission to update

type PermissionUpdateResponse

type PermissionUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

PermissionUpdateResponse provides response to permission update request

type PolicyInfo

type PolicyInfo struct {
	EnforcedPolicyClusterReferenceList           []EnforcedPolicyClusterReferenceList           `json:"enforced_policy_cluster_reference_list,omitempty" yaml:"enforced_policy_cluster_reference_list,omitempty"`
	CompletePolicyClusterReferenceList           []CompletePolicyClusterReferenceList           `json:"complete_policy_cluster_reference_list,omitempty" yaml:"complete_policy_cluster_reference_list,omitempty"`
	ConflictingImagePlacementPolicyReferenceList []ConflictingImagePlacementPolicyReferenceList `` /* 133-byte string literal not displayed */
}

type PolicyReference

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

type PoolList

type PoolList struct {
	Range string `json:"range,omitempty" yaml:"range,omitempty"`
}

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 PowerStateMechanism

type PowerStateMechanism struct {
	GuestTransitionConfig *GuestTransitionConfig `json:"guest_transition_config,omitempty" yaml:"guest_transition_config,omitempty"`
	Mechanism             string                 `json:"mechanism,omitempty" yaml:"mechanism,omitempty"`
}

PowerStateMechanism is the PowerStateMechanism

type ProjectCreateRequest

type ProjectCreateRequest struct {
	Data ProjectCreateRequestData
}

ProjectCreateRequest contains project details to create

type ProjectCreateRequestData

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

ProjectCreateRequestData is data associate with the project create request

type ProjectCreateResponse

type ProjectCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ProjectCreateResponse is the project response and details

type ProjectDeleteRequest

type ProjectDeleteRequest struct {
	UUID string
}

ProjectDeleteRequest UUID of project to delete

type ProjectDeleteResponse

type ProjectDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ProjectDeleteResponse response from project delete request

type ProjectGetRequest

type ProjectGetRequest struct {
	UUID string
}

ProjectGetRequest UUID of project to get details on

type ProjectGetResponse

type ProjectGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ProjectGetResponse details of project identified by UUID

type ProjectListRequest

type ProjectListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

ProjectListRequest provides filter and sort options for a list of projects request

type ProjectListResponse

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

ProjectListResponse provides the response to a project list request

type ProjectReference

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

ProjectReference is the main ProjectReference type across all Response calls

type ProjectResourceDomainList

type ProjectResourceDomainList struct {
	ProjectReference ProjectReference `json:"project_reference,omitempty" yaml:"project_reference,omitempty"`
	ResourceDomain   string           `json:"resource_domain,omitempty" yaml:"resource_domain,omitempty"`
}

ProjectResourceDomainList used for user resource/domain get information

type ProjectService

type ProjectService Service

ProjectService works with the prism central projects API

type ProjectUpdateRequest

type ProjectUpdateRequest struct {
	UUID string
	Data ProjectUpdateRequestData
}

ProjectUpdateRequest is the UUID and data to update for a project

type ProjectUpdateRequestData

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

ProjectUpdateRequestData is the data for the project update identified by UUID

type ProjectUpdateResponse

type ProjectUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

ProjectUpdateResponse response from project update request

type ProjectsReferenceList

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

type Properties

type Properties struct {
	Kind                 Kind                 `json:"kind,omitempty" yaml:"kind,omitempty"`
	ProjectReference     ProjectReference     `json:"project_reference,omitempty" yaml:"project_reference,omitempty"`
	UUID                 UUID                 `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	Name                 Name                 `json:"name,omitempty" yaml:"name,omitempty"`
	SpecVersion          SpecVersion          `json:"spec_version,omitempty" yaml:"spec_version,omitempty"`
	SpecHash             SpecHash             `json:"spec_hash,omitempty" yaml:"spec_hash,omitempty"`
	Categories           Categories           `json:"categories,omitempty" yaml:"categories,omitempty"`
	CategoriesMapping    CategoriesMapping    `json:"categories_mapping,omitempty" yaml:"categories_mapping,omitempty"`
	UseCategoriesMapping UseCategoriesMapping `json:"use_categories_mapping,omitempty" yaml:"use_categories_mapping,omitempty"`
	CreationTime         CreationTime         `json:"creation_time,omitempty" yaml:"creation_time,omitempty"`
	LastUpdateTime       LastUpdateTime       `json:"last_update_time,omitempty" yaml:"last_update_time,omitempty"`
	OwnerReference       OwnerReference       `json:"owner_reference,omitempty" yaml:"owner_reference,omitempty"`
	ShouldForceTranslate ShouldForceTranslate `json:"should_force_translate,omitempty" yaml:"should_force_translate,omitempty"`
	EntityVersion        EntityVersion        `json:"entity_version,omitempty" yaml:"entity_version,omitempty"`
	Offset               Offset               `json:"offset,omitempty" yaml:"offset,omitempty"`
	Length               Length               `json:"length,omitempty" yaml:"length,omitempty"`
	TotalMatches         TotalMatches         `json:"total_matches,omitempty" yaml:"total_matches,omitempty"`
	Filter               Filter               `json:"filter,omitempty" yaml:"filter,omitempty"`
	SortOrder            SortOrder            `json:"sort_order,omitempty" yaml:"sort_order,omitempty"`
	SortAttribute        SortAttribute        `json:"sort_attribute,omitempty" yaml:"sort_attribute,omitempty"`
	MessageList          MessageList          `json:"message_list,omitempty" yaml:"message_list,omitempty"`
}

Properties are tied to response properties

type PublicKey

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

PublicKey ...

type QosPolicy

type QosPolicy struct {
	ThrottledIops int `json:"throttled_iops,omitempty" yaml:"throttled_iops,omitempty"`
}

type QuarantineRule

type QuarantineRule struct {
	TargetGroup       TargetGroup         `json:"target_group,omitempty" yaml:"target_group,omitempty"`
	InboundAllowList  []InboundAllowList  `json:"inbound_allow_list,omitempty" yaml:"inbound_allow_list,omitempty"`
	OutboundAllowList []OutboundAllowList `json:"outbound_allow_list,omitempty" yaml:"outbound_allow_list,omitempty"`
	Action            string              `json:"action,omitempty" yaml:"action,omitempty"`
}

QuarantineRule for NSR

type RackableUnitReference

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

type Reference

type Reference struct {
	Kind *string `json:"kind,omitempty" mapstructure:"kind"`
	Name *string `json:"name,omitempty" mapstructure:"name,omitempty"`
	UUID *string `json:"uuid,omitempty" 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 ResourceLocation

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

ResourceLocation is the ResourceLocation

type ResourceUsageSummary

type ResourceUsageSummary struct {
	ResourceDomain string `json:"resource_domain,omitempty" yaml:"resource_domain,omitempty"`
}

type Resources

type Resources struct {
	RetrievalURIList                 *[]string                           `json:"retrieval_uri_list,omitempty" yaml:"retrieval_uri_list,omitempty"`
	SizeBytes                        *int                                `json:"size_bytes,omitempty" yaml:"size_bytes,omitempty"`
	CurrentClusterReferenceList      *[]CurrentClusterReferenceList      `json:"current_cluster_reference_list,omitempty" yaml:"current_cluster_reference_list,omitempty"`
	ImagePlacementPolicyStateList    *[]ImagePlacementPolicyStateList    `json:"image_placement_policy_state_list,omitempty" yaml:"image_placement_policy_state_list,omitempty"`
	ImageType                        *string                             `json:"image_type,omitempty" yaml:"image_type,omitempty"`
	SourceURI                        *string                             `json:"source_uri,omitempty" yaml:"source_uri,omitempty"`
	SourceOptions                    *SourceOptions                      `json:"source_options,omitempty" yaml:"source_options,omitempty"`
	InitialPlacementRefList          *[]InitialPlacementRefList          `json:"initial_placement_ref_list,omitempty" yaml:"initial_placement_ref_list,omitempty"`
	DataSourceReference              *DataSourceReference                `json:"data_source_reference,omitempty" yaml:"data_source_reference,omitempty"`
	Version                          *Version                            `json:"version,omitempty" yaml:"version,omitempty"`
	Architecture                     *string                             `json:"architecture,omitempty" yaml:"architecture,omitempty"`
	BootConfig                       *BootConfig                         `json:"boot_config,omitempty" yaml:"boot_config,omitempty"`
	DiskList                         *[]DiskList                         `json:"disk_list,omitempty" yaml:"disk_list,omitempty"`
	GuestCustomization               *GuestCustomization                 `json:"guest_customization,omitempty" yaml:"guest_customization,omitempty"`
	HardwareClockTimezone            *string                             `json:"hardware_clock_timezone,omitempty" yaml:"hardware_clock_timezone,omitempty"`
	HostReference                    *HostReference                      `json:"host_reference,omitempty" yaml:"host_reference,omitempty"`
	HypervisorType                   *string                             `json:"hypervisor_type,omitempty" yaml:"hypervisor_type,omitempty"`
	MemorySizeMib                    *int                                `json:"memory_size_mib,omitempty" yaml:"memory_size_mib,omitempty"`
	NicList                          *[]NicList                          `json:"nic_list,omitempty" yaml:"nic_list,omitempty"`
	NumSockets                       *int                                `json:"num_sockets,omitempty" yaml:"num_sockets,omitempty"`
	NumThreadsPerCore                *int                                `json:"num_threads_per_core,omitempty" yaml:"num_threads_per_core,omitempty"`
	NumVcpusPerSocket                *int                                `json:"num_vcpus_per_socket,omitempty" yaml:"num_vcpus_per_socket,omitempty"`
	PowerState                       *string                             `json:"power_state,omitempty" yaml:"power_state,omitempty"`
	PowerStateMechanism              *PowerStateMechanism                `json:"power_state_mechanism,omitempty" yaml:"power_state_mechanism,omitempty"`
	ProtectionType                   *string                             `json:"protection_type,omitempty" yaml:"protection_type,omitempty"`
	SerialPortList                   *[]interface{}                      `json:"serial_port_list,omitempty" yaml:"serial_port_list,omitempty"`
	VgaConsoleEnabled                *bool                               `json:"vga_console_enabled,omitempty" yaml:"vga_console_enabled,omitempty"`
	VnumaConfig                      *VnumaConfig                        `json:"vnuma_config,omitempty" yaml:"vnuma_config,omitempty"`
	Nodes                            *Nodes                              `json:"nodes,omitempty" yaml:"nodes,omitempty"`
	Config                           *Config                             `json:"config,omitempty" yaml:"config,omitempty"`
	Network                          *Network                            `json:"network,omitempty" yaml:"network,omitempty"`
	Analysis                         *Analysis                           `json:"analysis,omitempty" yaml:"analysis,omitempty"`
	RuntimeStatusList                *[]string                           `json:"runtime_status_list,omitempty" yaml:"runtime_status_list,omitempty"`
	CPUModel                         *string                             `json:"cpu_model,omitempty" yaml:"cpu_model,omitempty"`
	CPUCapacityHz                    *int                                `json:"cpu_capacity_hz,omitempty" yaml:"cpu_capacity_hz,omitempty"`
	NumCPUCores                      *int                                `json:"num_cpu_cores,omitempty" yaml:"num_cpu_cores,omitempty"`
	NumCPUSockets                    *int                                `json:"num_cpu_sockets,omitempty" yaml:"num_cpu_sockets,omitempty"`
	MemoryCapacityMib                *int                                `json:"memory_capacity_mib,omitempty" yaml:"memory_capacity_mib,omitempty"`
	SerialNumber                     *string                             `json:"serial_number,omitempty" yaml:"serial_number,omitempty"`
	MonitoringState                  *string                             `json:"monitoring_state,omitempty" yaml:"monitoring_state,omitempty"`
	HostNicsIDList                   *[]string                           `json:"host_nics_id_list,omitempty" yaml:"host_nics_id_list,omitempty"`
	WindowsDomain                    *WindowsDomain                      `json:"windows_domain,omitempty" yaml:"windows_domain,omitempty"`
	FailoverCluster                  *string                             `json:"failover_cluster,omitempty" yaml:"failover_cluster,omitempty"`
	Ipmi                             *Ipmi                               `json:"ipmi,omitempty" yaml:"ipmi,omitempty"`
	ControllerVM                     *ControllerVM                       `json:"controller_vm,omitempty" yaml:"controller_vm,omitempty"`
	Hypervisor                       *Hypervisor                         `json:"hypervisor,omitempty" yaml:"hypervisor,omitempty"`
	Block                            *Block                              `json:"block,omitempty" yaml:"block,omitempty"`
	RackableUnitReference            *RackableUnitReference              `json:"rackable_unit_reference,omitempty" yaml:"rackable_unit_reference,omitempty"`
	HostDisksReferenceList           *[]HostDisksReferenceList           `json:"host_disks_reference_list,omitempty" yaml:"host_disks_reference_list,omitempty"`
	GpuList                          *[]GpuList                          `json:"gpu_list,omitempty" yaml:"gpu_list,omitempty"`
	GpuDriverVersion                 *string                             `json:"gpu_driver_version,omitempty" yaml:"gpu_driver_version,omitempty"`
	HostType                         *string                             `json:"host_type,omitempty" yaml:"host_type,omitempty"`
	GuestOsID                        *string                             `json:"guest_os_id,omitempty" yaml:"guest_os_id,omitempty"`
	IsVcpuHardPinned                 *bool                               `json:"is_vcpu_hard_pinned,omitempty" yaml:"is_vcpu_hard_pinned,omitempty"`
	IsAgentVM                        *bool                               `json:"is_agent_vm,omitempty" yaml:"is_agent_vm,omitempty"`
	DisableBranding                  *bool                               `json:"disable_branding,omitempty" yaml:"disable_branding,omitempty"`
	EnableCPUPassthrough             *bool                               `json:"enable_cpu_passthrough,omitempty" yaml:"enable_cpu_passthrough,omitempty"`
	MachineType                      *string                             `json:"machine_type,omitempty" yaml:"machine_type,omitempty"`
	HardwareVirtualizationEnabled    *bool                               `json:"hardware_virtualization_enabled,omitempty" yaml:"hardware_virtualization_enabled,omitempty"`
	ParentReference                  *ParentReference                    `json:"parent_reference,omitempty" yaml:"parent_reference,omitempty"`
	GuestTools                       *GuestTools                         `json:"guest_tools,omitempty" yaml:"guest_tools,omitempty"`
	StorageConfig                    *StorageConfig                      `json:"storage_config,omitempty" yaml:"storage_config,omitempty"`
	DirectoryServiceUser             *DirectoryServiceUser               `json:"directory_service_user,omitempty" yaml:"directory_service_user,omitempty"`
	IdentityProviderUser             *IdentityProviderUser               `json:"identity_provider_user,omitempty" yaml:"identity_provider_user,omitempty"`
	UserType                         *string                             `json:"user_type,omitempty" yaml:"user_type,omitempty"`
	DisplayName                      *string                             `json:"display_name,omitempty" yaml:"display_name,omitempty"`
	ProjectsReferenceList            *[]ProjectsReferenceList            `json:"projects_reference_list,omitempty" yaml:"projects_reference_list,omitempty"`
	AccessControlPolicyReferenceList *[]AccessControlPolicyReferenceList `json:"access_control_policy_reference_list,omitempty" yaml:"access_control_policy_reference_list,omitempty"`
	ResourceUsageSummary             *ResourceUsageSummary               `json:"resource_usage_summary,omitempty" yaml:"resource_usage_summary,omitempty"`
	SubnetType                       *string                             `json:"subnet_type,omitempty" yaml:"subnet_type,omitempty"`
	VlanID                           *int                                `json:"vlan_id,omitempty" yaml:"vlan_id,omitempty"`
	IPConfig                         *IPConfig                           `json:"ip_config,omitempty" yaml:"ip_config,omitempty"`
	VswitchName                      *string                             `json:"vswitch_name,omitempty" yaml:"vswitch_name,omitempty"`
	NetworkFunctionChainReference    *NetworkFunctionChainReference      `json:"network_function_chain_reference,omitempty" yaml:"network_function_chain_reference,omitempty"`
	VirtualNetworkReference          *VirtualNetworkReference            `json:"virtual_network_reference,omitempty" yaml:"virtual_network_reference,omitempty"`
	VpcReference                     *VpcReference                       `json:"vpc_reference,omitempty" yaml:"vpc_reference,omitempty"`
	AvailabilityZoneReferenceList    *[]AvailabilityZoneReferenceList    `json:"availability_zone_reference_list,omitempty" yaml:"availability_zone_reference_list,omitempty"`
	ExternalConnectivityState        *string                             `json:"external_connectivity_state,omitempty" yaml:"external_connectivity_state,omitempty"`
	ResourceDomain                   *string                             `json:"resource_domain,omitempty" yaml:"resource_domain,omitempty"`
	DefaultSubnetReference           *DefaultSubnetReference             `json:"default_subnet_reference,omitempty" yaml:"default_subnet_reference,omitempty"`
	SubnetReferenceList              *[]SubnetReferenceList              `json:"subnet_reference_list,omitempty" yaml:"subnet_reference_list,omitempty"`
	UserReferenceList                *[]UserReferenceList                `json:"user_reference_list,omitempty" yaml:"user_reference_list,omitempty"`
	ExternalUserGroupReferenceList   *[]ExternalUserGroupReferenceList   `json:"external_user_group_reference_list,omitempty" yaml:"external_user_group_reference_list,omitempty"`
	AccountReferenceList             *[]AccountReferenceList             `json:"account_reference_list,omitempty" yaml:"account_reference_list,omitempty"`
	TunnelReferenceList              *[]TunnelReferenceList              `json:"tunnel_reference_list,omitempty" yaml:"tunnel_reference_list,omitempty"`
	ExternalNetworkList              *[]ExternalNetworkList              `json:"external_network_list,omitempty" yaml:"external_network_list,omitempty"`
	EnvironmentReferenceList         *[]EnvironmentReferenceList         `json:"environment_reference_list,omitempty" yaml:"environment_reference_list,omitempty"`
	DefaultEnvironmentReference      *DefaultEnvironmentReference        `json:"default_environment_reference,omitempty" yaml:"default_environment_reference,omitempty"`
	PermissionReferenceList          *[]PermissionReferenceList          `json:"permission_reference_list,omitempty" yaml:"permission_reference_list,omitempty"`
	Operation                        *string                             `json:"operation,omitempty" yaml:"operation,omitempty"`
	Kind                             *string                             `json:"kind,omitempty" yaml:"kind,omitempty"`
	Fields                           *Fields                             `json:"fields,omitempty" yaml:"fields,omitempty"`
	AllowIpv6Traffic                 *bool                               `json:"allow_ipv6_traffic,omitempty" yaml:"allow_ipv_6_traffic,omitempty"`
	IsPolicyHitlogEnabled            *bool                               `json:"is_policy_hitlog_enabled,omitempty" yaml:"is_policy_hitlog_enabled,omitempty"`
	AdRule                           *AdRule                             `json:"ad_rule,omitempty" yaml:"ad_rule,omitempty"`
	AppRule                          *AppRule                            `json:"app_rule,omitempty" yaml:"app_rule,omitempty"`
	IsolationRule                    *IsolationRule                      `json:"isolation_rule,omitempty" yaml:"isolation_rule,omitempty"`
	QuarantineRule                   *QuarantineRule                     `json:"quarantine_rule,omitempty" yaml:"quarantine_rule,omitempty"`
}

Resources is the main Resources type across all Response calls used for JSON and YAML decoder

type Results

type Results struct {
	Kind                string              `json:"kind,omitempty" yaml:"kind,omitempty"`
	TotalEntityCount    int                 `json:"total_entity_count,omitempty" yaml:"total_entity_count,omitempty"`
	FilteredEntityCount int                 `json:"filtered_entity_count,omitempty" yaml:"filtered_entity_count,omitempty"`
	KindReferenceList   []KindReferenceList `json:"kind_reference_list,omitempty" yaml:"kind_reference_list,omitempty"`
}

Results is used for category query results

type RightHandSide

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

type RoleCreateRequest

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

RoleCreateRequest provides role details for creation

type RoleCreateResponse

type RoleCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

RoleCreateResponse proides the response from role create

type RoleDeleteRequest

type RoleDeleteRequest struct {
	UUID string
}

RoleDeleteRequest provides UUID of role to delete

type RoleDeleteResponse

type RoleDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

RoleDeleteResponse is the response and data for the role delete request

type RoleGetRequest

type RoleGetRequest struct {
	UUID string
}

RoleGetRequest gets details on a role by UUID

type RoleGetResponse

type RoleGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

RoleGetResponse provides details on the role requested by UUID

type RoleListRequest

type RoleListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

RoleListRequest is the filter and sort for the list request

type RoleListResponse

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

RoleListResponse is the list of roles

type RoleReference

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

type RoleService

type RoleService Service

RoleService handles communication to the roles REST API endpoint

func (*RoleService) Create

Create - A role is a collection of permissions defined for one or more kinds. A kind represents the type of an entity (such as VM). Roles are defined by users who have permission to create roles and assign roles to projects. All users in a project inherit the role.

func (*RoleService) Delete

Delete - deletes a role

func (*RoleService) Get

func (rs *RoleService) Get(reqdata *RoleGetRequest) (*RoleGetResponse, *http.Response, error)

Get - gets a role by UUID

func (*RoleService) List

List - request a list of roles

func (*RoleService) Update

Update - updates a role with the provided data by UUID

type RoleUpdateRequest

type RoleUpdateRequest struct {
	UUID string
	Data RoleUpdateRequestData
}

RoleUpdateRequest updates the role identified by UUID with the data provided

type RoleUpdateRequestData

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

RoleUpdateRequestData is the data for the role to be updated

type RoleUpdateResponse

type RoleUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

RoleUpdateResponse is role data post update

type SMTPServer

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

SMTPServer is the SMTP server

type ScopeFilterExpressionList

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

type SecondEntityFilter

type SecondEntityFilter struct {
	Type     string   `json:"type,omitempty" yaml:"type,omitempty"`
	KindList []string `json:"kind_list,omitempty" yaml:"kind_list,omitempty"`
	Params   Params   `json:"params,omitempty" yaml:"params,omitempty"`
}

SecondEntityFilter used for NSR

type SelectionCriteriaList

type SelectionCriteriaList struct {
	EntityType     string           `json:"entity_type,omitempty" yaml:"entity_type,omitempty"`
	ExpressionList []ExpressionList `json:"expression_list,omitempty" yaml:"expression_list,omitempty"`
}

SelectionCriteriaList used for category get value results

type SerialPortList

type SerialPortList struct {
	IsConnected bool `json:"is_connected,omitempty" yaml:"is_connected,omitempty"`
	Index       int  `json:"index,omitempty" yaml:"index,omitempty"`
}

type Server

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

Server is the server

type Service

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

Service is used to create endpoint specific services to utilize concurrency with timeouts

type ServiceConfig

type ServiceConfig struct {
	URL  *string
	User *string
	Pass *string
}

ServiceConfig is the configuration to use PC

type ServiceGroupList

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

ServiceGroupList used for NSR

type ShouldForceTranslate

type ShouldForceTranslate struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
}

type SigningInfo

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

SigningInfo is the SigningInfo

type SoftwareMap

type SoftwareMap struct {
}

SoftwareMap is the software map

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 SortAttribute

type SortAttribute struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type SortOrder

type SortOrder struct {
	Title       string   `json:"title,omitempty" yaml:"title,omitempty"`
	Description string   `json:"description,omitempty" yaml:"description,omitempty"`
	Type        string   `json:"type,omitempty" yaml:"type,omitempty"`
	XNtnxEnum   []string `json:"x-ntnx-enum,omitempty" yaml:"x_ntnx_enum,omitempty"`
}

type SourceOptions

type SourceOptions struct {
	AllowInsecureConnection bool `json:"allow_insecure_connection,omitempty" yaml:"allow_insecure_connection,omitempty"`
}

SourceOptions used for Image Update

type Spec

type Spec struct {
	ClusterReference          *ClusterReference          `json:"cluster_reference,omitempty" yaml:"cluster_reference,omitempty"`
	Description               *string                    `json:"description,omitempty" yaml:"description,omitempty"`
	Resources                 *Resources                 `json:"resources,omitempty" yaml:"resources,omitempty"`
	Name                      *string                    `json:"name,omitempty" yaml:"name,omitempty"`
	APIVersion                *string                    `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	AvailabilityZoneReference *AvailabilityZoneReference `json:"availability_zone_reference,omitempty" yaml:"availability_zone_reference,omitempty"`
}

Spec is the main Spec type across all Response calls

type SpecHash

type SpecHash struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type SpecVersion

type SpecVersion struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type SslKey

type SslKey struct {
	KeyType        string      `json:"key_type,omitempty" yaml:"key_type,omitempty"`
	KeyName        string      `json:"key_name,omitempty" yaml:"key_name,omitempty"`
	SigningInfo    SigningInfo `json:"signing_info,omitempty" yaml:"signing_info,omitempty"`
	ExpireDatetime time.Time   `json:"expire_datetime,omitempty" yaml:"expire_datetime,omitempty"`
}

SslKey is the SSL Key

type State

type State struct {
	ReadOnly    bool   `json:"readOnly,omitempty" yaml:"read_only,omitempty"`
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

State is the various states associated with a cluster

type Status

type Status struct {
	State                     string                     `json:"state,omitempty" yaml:"state,omitempty"`
	ClusterReference          *ClusterReference          `json:"cluster_reference,omitempty" yaml:"cluster_reference,omitempty"`
	ExecutionContext          *ExecutionContext          `json:"execution_context,omitempty" yaml:"execution_context,omitempty"`
	Description               string                     `json:"description,omitempty" yaml:"description,omitempty"`
	Resources                 *Resources                 `json:"resources,omitempty" yaml:"resources,omitempty"`
	Name                      string                     `json:"name,omitempty" yaml:"name,omitempty"`
	MessageList               []MessageList              `json:"message_list,omitempty" yaml:"message_list,omitempty"`
	AvailabilityZoneReference *AvailabilityZoneReference `json:"availability_zone_reference,omitempty" yaml:"availability_zone_reference,omitempty"`
}

Status is the main Status type across all Response calls

type StorageConfig

type StorageConfig struct {
	StorageContainerReference *StorageContainerReference `json:"storage_container_reference,omitempty" yaml:"storage_container_reference,omitempty"`
	FlashMode                 string                     `json:"flash_mode,omitempty" yaml:"flash_mode,omitempty"`
	QosPolicy                 *QosPolicy                 `json:"qos_policy,omitempty" yaml:"qos_policy,omitempty"`
}

StorageConfig VM storage definitions

type StorageContainerReference

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

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,omitempty" mapstructure:"name"`

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

Subnet An intentful representation of a subnet spec

type SubnetCreateRequest

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

SubnetCreateRequest is the definition of the subnet to create

type SubnetCreateResponse

type SubnetCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

SubnetCreateResponse is the response with definition for creating subnets

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,omitempty" 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,omitempty" 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 SubnetDeleteRequest

type SubnetDeleteRequest struct {
	UUID string
}

SubnetDeleteRequest provides UUID of subnet to delete

type SubnetDeleteResponse

type SubnetDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

SubnetDeleteResponse provides details from delete subnet request

type SubnetGetRequest

type SubnetGetRequest struct {
	UUID string
}

SubnetGetRequest provides UUID of subnet to get

type SubnetGetResponse

type SubnetGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

SubnetGetResponse details on subnet identified by UUID

type SubnetIntentInput

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

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

	Spec *Subnet `json:"spec,omitempty" 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,omitempty" 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,omitempty" 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 SubnetListIntentResponse

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

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

	Metadata *ListMetadataOutput `json:"metadata,omitempty" 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 SubnetListRequest

type SubnetListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

SubnetListRequest contains parameters for the list request

type SubnetListResponse

type SubnetListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

SubnetListResponse contains a list and details about each subnet

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,omitempty" 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 SubnetReference

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

SubnetReference is the SubnetReference

type SubnetReferenceList

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

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,omitempty" 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:",omitempty" 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 SubnetService

type SubnetService Service

SubnetService service for operations against the subnet prism central API

func (*SubnetService) Create

Create - This operation submits a request to create a new subnet based on the input parameters. A subnet is a block of IP addresses.

func (*SubnetService) Delete

Delete - This operation submits a request to delete a existing subnet.

func (*SubnetService) Get

Get - This operation gets a existing subnet.

func (*SubnetService) List

List - This operation gets a list of subnets, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

func (*SubnetService) Update

Update - This operation submits a request to update a existing subnet based on the input parameters.

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 SubnetUpdateRequest

type SubnetUpdateRequest struct {
	UUID string
	Data SubnetUpdateRequestData
}

SubnetUpdateRequest provides UUID and subnet data to update

type SubnetUpdateRequestData

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

SubnetUpdateRequestData new details about subnet to provide for update

type SubnetUpdateResponse

type SubnetUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

SubnetUpdateResponse provides details about subnet update

type SubtaskReferenceList

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

SubtaskReferenceList used for task get details

type Sysprep

type Sysprep struct {
	InstallType     string           `json:"install_type,omitempty" yaml:"install_type,omitempty"`
	UnattendXML     string           `json:"unattend_xml,omitempty" yaml:"unattend_xml,omitempty"`
	CustomKeyValues *CustomKeyValues `json:"custom_key_values,omitempty" yaml:"custom_key_values,omitempty"`
}

type TCPPortRangeList

type TCPPortRangeList struct {
	StartPort int `json:"start_port,omitempty" yaml:"start_port,omitempty"`
	EndPort   int `json:"end_port,omitempty" yaml:"end_port,omitempty"`
}

TCPPortRangeList used for NSR

type TargetGroup

type TargetGroup struct {
	PeerSpecificationType string `json:"peer_specification_type,omitempty" yaml:"peer_specification_type,omitempty"`
	Filter                Filter `json:"filter,omitempty" yaml:"filter,omitempty"`
	DefaultInternalPolicy string `json:"default_internal_policy,omitempty" yaml:"default_internal_policy,omitempty"`
}

TargetGroup used in NSR

type TaskGetRequest

type TaskGetRequest struct {
	UUID string
}

TaskGetRequest get task request by UUID

type TaskGetResponse

type TaskGetResponse struct {
	APIVersion           string                 `json:"api_version,omitempty"`
	UUID                 string                 `json:"uuid,omitempty"`
	LogicalTimestamp     int                    `json:"logical_timestamp,omitempty"`
	ProgressMessage      string                 `json:"progress_message,omitempty"`
	OperationType        string                 `json:"operation_type,omitempty"`
	PercentageComplete   int                    `json:"percentage_complete,omitempty"`
	Status               string                 `json:"status,omitempty"`
	ParentTaskReference  ParentTaskReference    `json:"parent_task_reference,omitempty"`
	SubtaskReferenceList []SubtaskReferenceList `json:"subtask_reference_list,omitempty"`
	ClusterReference     ClusterReference       `json:"cluster_reference,omitempty"`
	CreationTime         string                 `json:"creation_time,omitempty"`
	CreationTimeUsecs    int                    `json:"creation_time_usecs,omitempty"`
	LastUpdateTime       string                 `json:"last_update_time,omitempty"`
	StartTime            string                 `json:"start_time,omitempty"`
	StartTimeUsecs       int                    `json:"start_time_usecs,omitempty"`
	CompletionTime       string                 `json:"completion_time,omitempty"`
	CompletionTimeUsecs  int                    `json:"completion_time_usecs,omitempty"`
	EntityReferenceList  []EntityReferenceList  `json:"entity_reference_list,omitempty"`
	ErrorCode            string                 `json:"error_code,omitempty"`
	ErrorDetail          string                 `json:"error_detail,omitempty"`
}

TaskGetResponse provides task details

type TaskListRequest

type TaskListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

TaskListRequest provides filter and sort for task list request

type TaskListResponse

type TaskListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

TaskListResponse provides task list results

type TaskService

type TaskService Service

TaskService handles communication to the tasks REST API endpoint

func (*TaskService) Get

func (ts *TaskService) Get(reqdata *TaskGetRequest) (*TaskGetResponse, *http.Response, error)

Get - This operation gets a existing Task.

func (*TaskService) List

List - This operation gets a list of Tasks, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

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,omitempty" 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 TotalMatches

type TotalMatches struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type TunnelReferenceList

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

type UDPPortRangeList

type UDPPortRangeList struct {
	StartPort int `json:"start_port,omitempty" yaml:"start_port,omitempty"`
	EndPort   int `json:"end_port,omitempty" yaml:"end_port,omitempty"`
}

UDPPortRangeList used for NSR

type UUID

type UUID struct {
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Format      string `json:"format,omitempty" yaml:"format,omitempty"`
	Pattern     string `json:"pattern,omitempty" yaml:"pattern,omitempty"`
}

type UpdateACPRequest

type UpdateACPRequest struct {
	UUID        string     `json:"uuid,omitempty"`
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type UpdateACPResponse

type UpdateACPResponse struct {
	Type        string     `json:"type,omitempty"`
	Title       string     `json:"title,omitempty"`
	Description string     `json:"description,omitempty"`
	Required    []string   `json:"required,omitempty"`
	Properties  Properties `json:"properties,omitempty"`
}

type UseCategoriesMapping

type UseCategoriesMapping struct {
	Type        string `json:"type,omitempty" yaml:"type,omitempty"`
	Default     bool   `json:"default,omitempty" yaml:"default,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type UserCreateRequest

type UserCreateRequest struct {
	Status     string `json:"status,omitempty"`
	Spec       string `json:"spec,omitempty"`
	APIVersion string `json:"api_version,omitempty"`
	Metadata   int    `json:"metadata,omitempty"`
}

UserCreateRequest is the user create request

type UserCreateResponse

type UserCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

UserCreateResponse is the user create response

type UserDeleteRequest

type UserDeleteRequest struct {
	UUID string
}

UserDeleteRequest is the request to delete a user

type UserDeleteResponse

type UserDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

UserDeleteResponse is the response to the user delete request

type UserGetDomainRequest

type UserGetDomainRequest struct {
	UUID string
}

UserGetDomainRequest request to get user resources Retrieves specified user resource domain information.

type UserGetDomainResponse

type UserGetDomainResponse struct {
	APIVersion                string                      `json:"api_version,omitempty"`
	ProjectResourceDomainList []ProjectResourceDomainList `json:"project_resource_domain_list,omitempty"`
}

UserGetDomainResponse is the response of the user resources

type UserGetRequest

type UserGetRequest struct {
	UUID string
}

UserGetRequest is the request to get details on a user

type UserGetResponse

type UserGetResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

UserGetResponse is the response details on a user from a get request

type UserGroupReferenceList

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

type UserListRequest

type UserListRequest struct {
	Kind          string `json:"kind,omitempty"`
	Offset        int    `json:"offset,omitempty"`
	Length        int    `json:"length,omitempty"`
	Filter        string `json:"filter,omitempty"`
	SortOrder     string `json:"sort_order,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty"`
}

UserListRequest is the user list request This operation gets a list of Users, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

type UserListResponse

type UserListResponse struct {
	APIVersion string     `json:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty"`
}

UserListResponse is the user list response

type UserMeRequest

type UserMeRequest struct{}

UserMeRequest Displays the user currently logged in.

type UserMeResponse

type UserMeResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

UserMeResponse Displays the user currently logged in.

type UserReferenceList

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

type UserService

type UserService Service

UserService handles communication to the VM REST API endpoint

func (*UserService) Create

Create will clone a virtual machine identified by UUID

func (*UserService) Delete

Delete This operation submits a request to delete a existing User.

func (*UserService) Get

func (us *UserService) Get(reqdata *UserGetRequest) (*UserGetResponse, *http.Response, error)

Get This operation gets a existing User.

func (*UserService) GetDomain

GetDomain Retrieves specified user resource domain information.

func (*UserService) List

List operation gets a list of Users, allowing for sorting and pagination. Note: Entities that have not been created successfully are not listed.

func (*UserService) Me

func (us *UserService) Me(reqdata *UserMeRequest) (*UserMeResponse, *http.Response, error)

Me Displays the user currently logged in.

func (*UserService) Update

Update submits a request to update a existing User based on the input parameters.

type UserUpdateRequest

type UserUpdateRequest struct {
	UUID string
	Data UserUpdateRequestData
}

UserUpdateRequest submits a request to update a existing User based on the input parameters.

type UserUpdateRequestData

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

UserUpdateRequestData provides details for user update

type UserUpdateResponse

type UserUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty"`
	Status     Status   `json:"status,omitempty"`
}

UserUpdateResponse provides the response to an update request

type VGDisk

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

	// 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 VMCloneRequest

type VMCloneRequest struct {
	UUID string             `yaml:"uuid,omitempty"`
	Data VMCloneRequestData `yaml:"data,omitempty"`
}

VMCloneRequest is the clone request

type VMCloneRequestData

type VMCloneRequestData struct {
	Metadata VMCloneRequestMetadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
}

VMCloneRequestData is the data passed in the request body

type VMCloneRequestMetadata

type VMCloneRequestMetadata struct {
	UUID          string `json:"uuid,omitempty" yaml:"uuid,omitempty"`
	EntityVersion string `json:"entity_version,omitempty" yaml:"entity_version,omitempty"`
}

VMCloneRequestMetadata is the metadata passed to the clone request in the request body

type VMCloneResponse

type VMCloneResponse struct {
	TaskUUID string `json:"task_uuid,omitempty" yaml:"task_uuid,omitempty"`
}

VMCloneResponse is the clone response

type VMCreateRequest

type VMCreateRequest struct {
	APIVersion string   `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty" yaml:"spec,omitempty"`
}

VMCreateRequest is the JSON sent to the REST API creates a new VM with provided configuration

type VMCreateResponse

type VMCreateResponse struct {
	APIVersion string   `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     Status   `json:"status,omitempty" yaml:"status,omitempty"`
}

VMCreateResponse is the response recieved from the REST API request

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 VMDeleteRequest

type VMDeleteRequest struct {
	UUID string `yaml:"uuid,omitempty"`
}

VMDeleteRequest is the delete request - This operation submits a request to delete an existing VM.

type VMDeleteResponse

type VMDeleteResponse struct {
	APIVersion string   `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     Status   `json:"status,omitempty" yaml:"status,omitempty"`
}

VMDeleteResponse is the delete response

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 {
}

VMEfficiencyMap is the VMEfficiencyMap

type VMGetRequest

type VMGetRequest struct {
	UUID string `yaml:"uuid,omitempty"`
}

VMGetRequest is a get request - This operation gets an existing VM by UUID

type VMGetResponse

type VMGetResponse struct {
	APIVersion string   `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     Status   `json:"status,omitempty" yaml:"status,omitempty"`
}

VMGetResponse is the get response

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 VMIntentInput

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

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

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

VMIntentInput ...

type VMIntentResource

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

	Metadata *Metadata `json:"metadata,omitempty" 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,omitempty" 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,omitempty" mapstructure:"api_version"`

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

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

VMListIntentResponse Response object for intentful operation of vms

type VMListRequest

type VMListRequest struct {
	Filter        string `json:"filter,omitempty" yaml:"filter,omitempty"`
	Kind          string `json:"kind,omitempty" yaml:"kind,omitempty"`
	SortOrder     string `json:"sort_order,omitempty" yaml:"sort_order,omitempty"`
	Offset        int    `json:"offset,omitempty" yaml:"offset,omitempty"`
	Length        int    `json:"length,omitempty" yaml:"length,omitempty"`
	SortAttribute string `json:"sort_attribute,omitempty" yaml:"sort_attribute,omitempty"`
}

VMListRequest is the request sent to the REST API Filter must use the FIQL notation, so like "filter": "power_state==on"

type VMListResponse

type VMListResponse struct {
	APIVersion string     `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata   `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Entities   []Entities `json:"entities,omitempty" yaml:"entities,omitempty"`
}

VMListResponse is the response recieved from the REST API

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 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 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 VMPauseReplicationRequest

type VMPauseReplicationRequest struct {
	UUID string `yaml:"uuid,omitempty"`
}

VMPauseReplicationRequest is the request to API to pause replication for a given VM protected using sync protection policy.

type VMPauseReplicationResponse

type VMPauseReplicationResponse struct {
	TaskUUID string `json:"task_uuid,omitempty" yaml:"task_uuid,omitempty"`
}

VMPauseReplicationResponse is the response to a pause request

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"`

	// 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"`
}

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"`

	// 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"`
}

VMResourcesDefStatus VM Resources Status Definition.

type VMResumeReplicationRequest

type VMResumeReplicationRequest struct {
	UUID string `yaml:"uuid,omitempty"`
}

VMResumeReplicationRequest is the request to API to resume replication for a given VM protected using sync protection policy.

type VMResumeReplicationResponse

type VMResumeReplicationResponse struct {
	TaskUUID string `json:"task_uuid,omitempty" yaml:"task_uuid,omitempty"`
}

VMResumeReplicationResponse response task UUID to resume replication

type VMSerialPort

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

type VMService

type VMService Service

VMService handles communication to the VM REST API endpoint

func (*VMService) Clone

func (vms *VMService) Clone(reqdata *VMCloneRequest) (*VMCloneResponse, *http.Response, error)

Clone will clone a virtual machine identified by UUID

func (*VMService) Create

func (vms *VMService) Create(reqdata *VMCreateRequest) (*VMCreateResponse, *http.Response, error)

Create This operation submits a request to create a new VM based on the input parameters.

func (*VMService) Delete

func (vms *VMService) Delete(reqdata *VMDeleteRequest) (*VMDeleteResponse, *http.Response, error)

Delete will delete the virtual machine associated with the provided UUID This operation submits a request to delete an existing VM.

func (*VMService) Get

func (vms *VMService) Get(reqdata *VMGetRequest) (*VMGetResponse, *http.Response, error)

Get retreives information about a specific virtual machine

func (*VMService) List

func (vms *VMService) List(reqdata *VMListRequest) (*VMListResponse, *http.Response, error)

List makes the call to cluster list

func (*VMService) PauseReplication

func (vms *VMService) PauseReplication(reqdata *VMPauseReplicationRequest) (*VMPauseReplicationResponse, *http.Response, error)

PauseReplication API to pause replication for a given VM protected using sync protection policy.

func (*VMService) ResumeReplication

func (vms *VMService) ResumeReplication(reqdata *VMResumeReplicationRequest) (*VMResumeReplicationResponse, *http.Response, error)

ResumeReplication API to resume replication for a given VM protected using sync protection policy.

func (*VMService) Update

func (vms *VMService) Update(reqdata *VMUpdateRequest) (*VMUpdateResponse, *http.Response, error)

Update makes the call to cluster list

func (*VMService) UpdateIPs

func (vms *VMService) UpdateIPs(reqdata *VMUpdateIPsRequest) (*VMUpdateIPsResponse, *http.Response, error)

UpdateIPs Request a new IP address the currently allocated IP address.

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 VMUpdateIPsRequest

type VMUpdateIPsRequest struct {
	UUID string                 `yaml:"uuid,omitempty"`
	Data VMUpdateIPsRequestData `yaml:"data,omitempty"`
}

VMUpdateIPsRequest is the UUID and associated data to Request a new IP address the currently allocated IP address.

type VMUpdateIPsRequestData

type VMUpdateIPsRequestData struct {
	UpdateList []VMUpdateIPsRequestUpdateList `json:"update_list,omitempty" yaml:"update_list,omitempty"`
}

VMUpdateIPsRequestData is the slice of updates requested

type VMUpdateIPsRequestUpdateList

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

VMUpdateIPsRequestUpdateList is each updated for an address requested

type VMUpdateIPsResponse

type VMUpdateIPsResponse struct {
	TaskUUID string `json:"task_uuid,omitempty" yaml:"task_uuid,omitempty"`
}

VMUpdateIPsResponse task id being processed for the update request

type VMUpdateRequest

type VMUpdateRequest struct {
	UUID string              `yaml:"uuid,omitempty"`
	Data VMUpdateRequestData `yaml:"data,omitempty"`
}

VMUpdateRequest is an update request

type VMUpdateRequestData

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

VMUpdateRequestData is the configuration of the VM being updated

type VMUpdateResponse

type VMUpdateResponse struct {
	APIVersion string   `json:"api_version,omitempty" yaml:"api_version,omitempty"`
	Metadata   Metadata `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	Spec       Spec     `json:"spec,omitempty" yaml:"spec,omitempty"`
	Status     Status   `json:"status,omitempty" yaml:"status,omitempty"`
}

VMUpdateResponse is an update response

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 Version

type Version struct {
	ProductName    string `json:"product_name,omitempty" yaml:"product_name,omitempty"`
	ProductVersion string `json:"product_version,omitempty" yaml:"product_version,omitempty"`
}

Version is used for image version

type VirtualNetworkReference

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

type VnumaConfig

type VnumaConfig struct {
	NumVnumaNodes int `json:"num_vnuma_nodes,omitempty" yaml:"num_vnuma_nodes,omitempty"`
}

VnumaConfig is the VnumaConfig

type VolumeGroup

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

VolumeGroup Represents volume group input spec.

type VolumeGroupDefStatus

type VolumeGroupDefStatus struct {
	State       *string               `json:"state,omitempty" mapstructure:"state"`               // The state of the volume group entity.
	MessageList []*MessageResource    `json:"message_list,omitempty" mapstructure:"message_list"` // Volume group message list.
	Name        *string               `json:"name,omitempty" mapstructure:"name"`                 // Volume group name.
	Resources   *VolumeGroupResources `json:"resources,omitempty" mapstructure:"resources"`       // Volume group resources.
	Description *string               `json:"description,omitempty" 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,omitempty" mapstructure:"api_version"`
	Entities   []*VolumeGroupResponse `json:"entities,omitempty" mapstructure:"entities,omitempty"`
	Metadata   *ListMetadataOutput    `json:"metadata,omitempty" mapstructure:"metadata"`
}

VolumeGroupListResponse Response object for intentful operation of volume_groups

type VolumeGroupReference

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

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,omitempty" mapstructure:"api_version"` //
	Metadata   *Metadata             `json:"metadata,omitempty" 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 VpcReference

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

type WindowsDomain

type WindowsDomain struct {
	Name                 string           `json:"name,omitempty" yaml:"name,omitempty"`
	DomainName           string           `json:"domain_name,omitempty" yaml:"domain_name,omitempty"`
	OrganizationUnitPath string           `json:"organization_unit_path,omitempty" yaml:"organization_unit_path,omitempty"`
	NamePrefix           string           `json:"name_prefix,omitempty" yaml:"name_prefix,omitempty"`
	NameServerIP         string           `json:"name_server_ip,omitempty" yaml:"name_server_ip,omitempty"`
	DomainCredential     DomainCredential `json:"domain_credential,omitempty" yaml:"domain_credential,omitempty"`
}

Jump to

Keyboard shortcuts

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