package pbm

import "github.com/vmware/govmomi/pbm"

Index

Constants

const (
	Namespace = "pbm"
	Path      = "/pbm"
)

Variables

var (
	ServiceInstance = vim.ManagedObjectReference{
		Type:  "PbmServiceInstance",
		Value: "ServiceInstance",
	}
)

Functions

func CreateCapabilityProfileSpec

func CreateCapabilityProfileSpec(pbmCreateSpec CapabilityProfileCreateSpec) (*types.PbmCapabilityProfileCreateSpec, error)

Types

type Capability

type Capability struct {
	ID           string
	Namespace    string
	PropertyList []Property
}

A struct to capture pbm capability instance details.

type CapabilityProfileCreateSpec

type CapabilityProfileCreateSpec struct {
	Name           string
	SubProfileName string
	Description    string
	Category       string
	CapabilityList []Capability
}

A struct to capture pbm create spec details.

type Client

type Client struct {
	*soap.Client

	ServiceContent types.PbmServiceInstanceContent

	RoundTripper soap.RoundTripper
}

func NewClient

func NewClient(ctx context.Context, c *vim25.Client) (*Client, error)

func (*Client) CheckRequirements

func (*Client) CreateProfile

func (c *Client) CreateProfile(ctx context.Context, capabilityProfileCreateSpec types.PbmCapabilityProfileCreateSpec) (*types.PbmProfileId, error)

func (*Client) DatastoreMap

func (c *Client) DatastoreMap(ctx context.Context, vc *vim25.Client, root vim.ManagedObjectReference) (*DatastoreMap, error)

DatastoreMap returns a map of Datastore by name. The root reference can be a ClusterComputeResource or Folder.

func (*Client) DeleteProfile

func (c *Client) DeleteProfile(ctx context.Context, ids []types.PbmProfileId) ([]types.PbmProfileOperationOutcome, error)

func (*Client) FetchCapabilityMetadata

func (c *Client) FetchCapabilityMetadata(ctx context.Context, rtype *types.PbmProfileResourceType, vendorUuid string) ([]types.PbmCapabilityMetadataPerCategory, error)

func (*Client) FetchComplianceResult

func (c *Client) FetchComplianceResult(ctx context.Context, entities []types.PbmServerObjectRef) ([]types.PbmComplianceResult, error)

func (*Client) GetProfileNameByID

func (c *Client) GetProfileNameByID(ctx context.Context, profileID string) (string, error)

GetProfileNameByID gets storage profile name by ID

func (*Client) ProfileIDByName

func (c *Client) ProfileIDByName(ctx context.Context, profileName string) (string, error)

func (*Client) ProfileMap

func (c *Client) ProfileMap(ctx context.Context, uid ...string) (*ProfileMap, error)

ProfileMap builds a map of storage profiles by name.

func (*Client) QueryAssociatedEntities

func (c *Client) QueryAssociatedEntities(ctx context.Context, ids []types.PbmProfileId) ([]types.PbmQueryProfileResult, error)

func (*Client) QueryAssociatedEntity

func (c *Client) QueryAssociatedEntity(ctx context.Context, id types.PbmProfileId, entityType string) ([]types.PbmServerObjectRef, error)

func (*Client) QueryAssociatedProfile

func (c *Client) QueryAssociatedProfile(ctx context.Context, entity types.PbmServerObjectRef) ([]types.PbmProfileId, error)

func (*Client) QueryAssociatedProfiles

func (c *Client) QueryAssociatedProfiles(ctx context.Context, entities []types.PbmServerObjectRef) ([]types.PbmQueryProfileResult, error)

func (*Client) QueryIOFiltersFromProfileId

func (c *Client) QueryIOFiltersFromProfileId(
	ctx context.Context, profileID string) ([]types.PbmProfileToIofilterMap, error)

func (*Client) QueryProfile

func (c *Client) QueryProfile(ctx context.Context, rtype types.PbmProfileResourceType, category string) ([]types.PbmProfileId, error)

func (*Client) RetrieveContent

func (c *Client) RetrieveContent(ctx context.Context, ids []types.PbmProfileId) ([]types.BasePbmProfile, error)

func (*Client) RoundTrip

func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error

RoundTrip dispatches to the RoundTripper field.

func (*Client) SupportsEncryption

func (c *Client) SupportsEncryption(
	ctx context.Context, profileID string) (bool, error)

func (*Client) UpdateProfile

func (c *Client) UpdateProfile(ctx context.Context, id types.PbmProfileId, updateSpec types.PbmCapabilityProfileUpdateSpec) error

type DatastoreMap

type DatastoreMap struct {
	Name         map[string]string
	PlacementHub []types.PbmPlacementHub
}

DatastoreMap contains a map of Datastore by name.

type PlacementCompatibilityResult

type PlacementCompatibilityResult []types.PbmPlacementCompatibilityResult

func (PlacementCompatibilityResult) CompatibleDatastores

func (l PlacementCompatibilityResult) CompatibleDatastores() []types.PbmPlacementHub

func (PlacementCompatibilityResult) NonCompatibleDatastores

func (l PlacementCompatibilityResult) NonCompatibleDatastores() []types.PbmPlacementHub

type ProfileMap

type ProfileMap struct {
	Name    map[string]types.BasePbmProfile
	Profile []types.BasePbmProfile
}

ProfileMap contains a map of storage profiles by name.

type Property

type Property struct {
	ID       string
	Operator string
	Value    string
	DataType string
}

A struct to capture pbm property instance details.

Source Files

client.go pbm_util.go

Directories

PathSynopsis
pbm/methods
pbm/simulator
pbm/types
Version
v0.48.1 (latest)
Published
Feb 11, 2025
Platform
linux/amd64
Imports
12 packages
Last checked
2 months ago

Tools for package owners.