Documentation ¶
Index ¶
- Constants
- func ReadManifest(m io.Reader) (map[string]*Checksum, error)
- type Checksum
- type DownloadFile
- type File
- type Find
- type FindItem
- type Item
- type Library
- type Manager
- func (c *Manager) AddLibraryItemFile(ctx context.Context, sessionID string, updateFile UpdateFile) (*UpdateFile, error)
- func (c *Manager) AddLibraryItemFileFromURI(ctx context.Context, sessionID, fileName, uri string) (*UpdateFile, error)
- func (c *Manager) CancelLibraryItemDownloadSession(ctx context.Context, id string) error
- func (c *Manager) CancelLibraryItemUpdateSession(ctx context.Context, id string) error
- func (c *Manager) CompleteLibraryItemUpdateSession(ctx context.Context, id string) error
- func (c *Manager) CopyLibraryItem(ctx context.Context, src *Item, dst Item) (string, error)
- func (c *Manager) CreateLibrary(ctx context.Context, library Library) (string, error)
- func (c *Manager) CreateLibraryItem(ctx context.Context, item Item) (string, error)
- func (c *Manager) CreateLibraryItemDownloadSession(ctx context.Context, session Session) (string, error)
- func (c *Manager) CreateLibraryItemUpdateSession(ctx context.Context, session Session) (string, error)
- func (c *Manager) CreateSubscriber(ctx context.Context, library *Library, s SubscriberLibrary) (string, error)
- func (c *Manager) DeleteLibrary(ctx context.Context, library *Library) error
- func (c *Manager) DeleteLibraryItem(ctx context.Context, item *Item) error
- func (c *Manager) DeleteLibraryItemDownloadSession(ctx context.Context, id string) error
- func (c *Manager) DeleteLibraryItemUpdateSession(ctx context.Context, id string) error
- func (c *Manager) DeleteSubscriber(ctx context.Context, library *Library, subscriber string) error
- func (c *Manager) FailLibraryItemDownloadSession(ctx context.Context, id string) error
- func (c *Manager) FailLibraryItemUpdateSession(ctx context.Context, id string) error
- func (c *Manager) FindLibrary(ctx context.Context, search Find) ([]string, error)
- func (c *Manager) FindLibraryItems(ctx context.Context, search FindItem) ([]string, error)
- func (c *Manager) GetLibraries(ctx context.Context) ([]Library, error)
- func (c *Manager) GetLibraryByID(ctx context.Context, id string) (*Library, error)
- func (c *Manager) GetLibraryByName(ctx context.Context, name string) (*Library, error)
- func (c *Manager) GetLibraryItem(ctx context.Context, id string) (*Item, error)
- func (c *Manager) GetLibraryItemDownloadSession(ctx context.Context, id string) (*Session, error)
- func (c *Manager) GetLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error)
- func (c *Manager) GetLibraryItemFile(ctx context.Context, id, fileName string) (*File, error)
- func (c *Manager) GetLibraryItemUpdateSession(ctx context.Context, id string) (*Session, error)
- func (c *Manager) GetLibraryItemUpdateSessionFile(ctx context.Context, sessionID string, fileName string) (*UpdateFile, error)
- func (c *Manager) GetLibraryItems(ctx context.Context, libraryID string) ([]Item, error)
- func (c *Manager) GetSubscriber(ctx context.Context, library *Library, subscriber string) (*Subscriber, error)
- func (c *Manager) KeepAliveLibraryItemDownloadSession(ctx context.Context, id string) error
- func (c *Manager) KeepAliveLibraryItemUpdateSession(ctx context.Context, id string) error
- func (c *Manager) ListLibraries(ctx context.Context) ([]string, error)
- func (c *Manager) ListLibraryItemDownloadSession(ctx context.Context) ([]string, error)
- func (c *Manager) ListLibraryItemDownloadSessionFile(ctx context.Context, sessionID string) ([]DownloadFile, error)
- func (c *Manager) ListLibraryItemFiles(ctx context.Context, id string) ([]File, error)
- func (c *Manager) ListLibraryItemUpdateSession(ctx context.Context) ([]string, error)
- func (c *Manager) ListLibraryItems(ctx context.Context, id string) ([]string, error)
- func (c *Manager) ListSubscribers(ctx context.Context, library *Library) ([]SubscriberSummary, error)
- func (c *Manager) PrepareLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error)
- func (c *Manager) PublishLibrary(ctx context.Context, library *Library, subscriptions []string) error
- func (c *Manager) PublishLibraryItem(ctx context.Context, item *Item, force bool, subscriptions []string) error
- func (c *Manager) SyncLibrary(ctx context.Context, library *Library) error
- func (c *Manager) SyncLibraryItem(ctx context.Context, item *Item, force bool) error
- func (c *Manager) WaitOnLibraryItemUpdateSession(ctx context.Context, sessionID string, interval time.Duration, ...) error
- type Placement
- type Publication
- type Session
- type StorageBackings
- type Subscriber
- type SubscriberLibrary
- type SubscriberSummary
- type Subscription
- type TransferEndpoint
- type UpdateFile
- type Vcenter
Constants ¶
const ( ItemTypeISO = "iso" ItemTypeOVF = "ovf" ItemTypeVMTX = "vm-template" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Checksum ¶
type Checksum struct { Algorithm string `json:"algorithm,omitempty"` Checksum string `json:"checksum"` }
Checksum provides checksum information on library item files.
type DownloadFile ¶
type DownloadFile struct { BytesTransferred int64 `json:"bytes_transferred"` Checksum *Checksum `json:"checksum_info,omitempty"` DownloadEndpoint *TransferEndpoint `json:"download_endpoint,omitempty"` ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` Name string `json:"name"` Size int64 `json:"size,omitempty"` Status string `json:"status"` }
DownloadFile is the specification for the downloadsession operations file:add, file:get, and file:list.
type File ¶
type File struct { Cached *bool `json:"cached,omitempty"` Checksum *Checksum `json:"checksum_info,omitempty"` Name string `json:"name,omitempty"` Size *int64 `json:"size,omitempty"` Version string `json:"version,omitempty"` }
File provides methods to get information on library item files.
type FindItem ¶
type FindItem struct { Cached *bool `json:"cached,omitempty"` LibraryID string `json:"library_id,omitempty"` Name string `json:"name,omitempty"` SourceID string `json:"source_id,omitempty"` Type string `json:"type,omitempty"` }
FindItem is the search criteria for finding library items.
type Item ¶
type Item struct { Cached bool `json:"cached,omitempty"` ContentVersion string `json:"content_version,omitempty"` CreationTime *time.Time `json:"creation_time,omitempty"` Description string `json:"description,omitempty"` ID string `json:"id,omitempty"` LastModifiedTime *time.Time `json:"last_modified_time,omitempty"` LastSyncTime *time.Time `json:"last_sync_time,omitempty"` LibraryID string `json:"library_id,omitempty"` MetadataVersion string `json:"metadata_version,omitempty"` Name string `json:"name,omitempty"` Size int64 `json:"size,omitempty"` SourceID string `json:"source_id,omitempty"` Type string `json:"type,omitempty"` Version string `json:"version,omitempty"` }
Item provides methods to create, read, update, delete, and enumerate library items.
type Library ¶
type Library struct { CreationTime *time.Time `json:"creation_time,omitempty"` Description string `json:"description,omitempty"` ID string `json:"id,omitempty"` LastModifiedTime *time.Time `json:"last_modified_time,omitempty"` LastSyncTime *time.Time `json:"last_sync_time,omitempty"` Name string `json:"name,omitempty"` Storage []StorageBackings `json:"storage_backings,omitempty"` Type string `json:"type,omitempty"` Version string `json:"version,omitempty"` Subscription *Subscription `json:"subscription_info,omitempty"` Publication *Publication `json:"publish_info,omitempty"` }
Library provides methods to create, read, update, delete, and enumerate libraries.
type Manager ¶
Manager extends rest.Client, adding content library related methods.
func NewManager ¶
NewManager creates a new Manager instance with the given client.
func (*Manager) AddLibraryItemFile ¶
func (c *Manager) AddLibraryItemFile(ctx context.Context, sessionID string, updateFile UpdateFile) (*UpdateFile, error)
AddLibraryItemFile adds a file
func (*Manager) AddLibraryItemFileFromURI ¶
func (c *Manager) AddLibraryItemFileFromURI( ctx context.Context, sessionID, fileName, uri string) (*UpdateFile, error)
AddLibraryItemFileFromURI adds a file from a remote URI.
func (*Manager) CancelLibraryItemDownloadSession ¶
CancelLibraryItemDownloadSession cancels an download session
func (*Manager) CancelLibraryItemUpdateSession ¶
CancelLibraryItemUpdateSession cancels an update session
func (*Manager) CompleteLibraryItemUpdateSession ¶
CompleteLibraryItemUpdateSession completes an update session
func (*Manager) CopyLibraryItem ¶ added in v0.23.0
CopyLibraryItem copies a library item
func (*Manager) CreateLibrary ¶
CreateLibrary creates a new library with the given Type, Name, Description, and CategoryID.
func (*Manager) CreateLibraryItem ¶
CreateLibraryItem creates a new library item
func (*Manager) CreateLibraryItemDownloadSession ¶
func (c *Manager) CreateLibraryItemDownloadSession(ctx context.Context, session Session) (string, error)
CreateLibraryItemDownloadSession creates a new library item
func (*Manager) CreateLibraryItemUpdateSession ¶
func (c *Manager) CreateLibraryItemUpdateSession(ctx context.Context, session Session) (string, error)
CreateLibraryItemUpdateSession creates a new library item
func (*Manager) CreateSubscriber ¶ added in v0.23.0
func (c *Manager) CreateSubscriber(ctx context.Context, library *Library, s SubscriberLibrary) (string, error)
CreateSubscriber creates a subscription of the published library.
func (*Manager) DeleteLibrary ¶
DeleteLibrary deletes an existing library.
func (*Manager) DeleteLibraryItem ¶
DeleteLibraryItem deletes an existing library item.
func (*Manager) DeleteLibraryItemDownloadSession ¶
DeleteLibraryItemDownloadSession deletes an download session
func (*Manager) DeleteLibraryItemUpdateSession ¶
DeleteLibraryItemUpdateSession deletes an update session
func (*Manager) DeleteSubscriber ¶ added in v0.23.0
DeleteSubscriber deletes the specified subscription of the published library. The subscribed library associated with the subscription will not be deleted.
func (*Manager) FailLibraryItemDownloadSession ¶
FailLibraryItemDownloadSession fails an download session
func (*Manager) FailLibraryItemUpdateSession ¶
FailLibraryItemUpdateSession fails an update session
func (*Manager) FindLibrary ¶
FindLibrary returns one or more libraries that match the provided search criteria.
The provided name is case-insensitive.
Either the name or type of library may be set to empty values in order to search for all libraries, all libraries with a specific name, regardless of type, or all libraries of a specified type.
func (*Manager) FindLibraryItems ¶
FindLibraryItems returns the IDs of all the library items that match the search criteria.
func (*Manager) GetLibraries ¶
GetLibraries returns a list of all content library details in the system.
func (*Manager) GetLibraryByID ¶
GetLibraryByID returns information on a library for the given ID.
func (*Manager) GetLibraryByName ¶
GetLibraryByName returns information on a library for the given name.
func (*Manager) GetLibraryItem ¶
GetLibraryItem returns information on a library item for the given ID.
func (*Manager) GetLibraryItemDownloadSession ¶
GetLibraryItemDownloadSession gets the download session information with status
func (*Manager) GetLibraryItemDownloadSessionFile ¶
func (c *Manager) GetLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error)
GetLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session.
func (*Manager) GetLibraryItemFile ¶
GetLibraryItemFile returns a file with the provided name for a library item.
func (*Manager) GetLibraryItemUpdateSession ¶
GetLibraryItemUpdateSession gets the update session information with status
func (*Manager) GetLibraryItemUpdateSessionFile ¶
func (c *Manager) GetLibraryItemUpdateSessionFile(ctx context.Context, sessionID string, fileName string) (*UpdateFile, error)
GetLibraryItemUpdateSessionFile retrieves information about a specific file that is a part of an update session.
func (*Manager) GetLibraryItems ¶
GetLibraryItems returns a list of all the library items for the specified library.
func (*Manager) GetSubscriber ¶ added in v0.23.0
func (c *Manager) GetSubscriber(ctx context.Context, library *Library, subscriber string) (*Subscriber, error)
GetSubscriber returns information about the specified subscriber of the published library.
func (*Manager) KeepAliveLibraryItemDownloadSession ¶
KeepAliveLibraryItemDownloadSession keeps an inactive download session alive.
func (*Manager) KeepAliveLibraryItemUpdateSession ¶
KeepAliveLibraryItemUpdateSession keeps an inactive update session alive.
func (*Manager) ListLibraries ¶
ListLibraries returns a list of all content library IDs in the system.
func (*Manager) ListLibraryItemDownloadSession ¶
ListLibraryItemDownloadSession gets the list of download sessions
func (*Manager) ListLibraryItemDownloadSessionFile ¶
func (c *Manager) ListLibraryItemDownloadSessionFile(ctx context.Context, sessionID string) ([]DownloadFile, error)
ListLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session.
func (*Manager) ListLibraryItemFiles ¶
ListLibraryItemFiles returns a list of all the files for a library item.
func (*Manager) ListLibraryItemUpdateSession ¶
ListLibraryItemUpdateSession gets the list of update sessions
func (*Manager) ListLibraryItems ¶
ListLibraryItems returns a list of all items in a content library.
func (*Manager) ListSubscribers ¶ added in v0.23.0
func (c *Manager) ListSubscribers(ctx context.Context, library *Library) ([]SubscriberSummary, error)
ListSubscribers lists the subscriptions of the published library.
func (*Manager) PrepareLibraryItemDownloadSessionFile ¶
func (c *Manager) PrepareLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error)
PrepareLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session.
func (*Manager) PublishLibrary ¶ added in v0.23.0
func (c *Manager) PublishLibrary(ctx context.Context, library *Library, subscriptions []string) error
PublishLibrary publishes the library to specified subscriptions. If no subscriptions are specified, then publishes the library to all subscriptions.
func (*Manager) PublishLibraryItem ¶ added in v0.23.0
func (c *Manager) PublishLibraryItem(ctx context.Context, item *Item, force bool, subscriptions []string) error
PublishLibraryItem publishes a library item to specified subscriptions. If no subscriptions are specified, then publishes the library item to all subscriptions.
func (*Manager) SyncLibrary ¶ added in v0.22.0
SyncLibrary syncs a subscribed library.
func (*Manager) SyncLibraryItem ¶ added in v0.22.0
SyncLibraryItem syncs a subscribed library item
type Placement ¶ added in v0.23.0
type Placement struct { ResourcePool string `json:"resource_pool,omitempty"` Host string `json:"host,omitempty"` Folder string `json:"folder,omitempty"` Cluster string `json:"cluster,omitempty"` Network string `json:"network,omitempty"` }
Placement information used to place a virtual machine template
type Publication ¶ added in v0.23.0
type Publication struct { AuthenticationMethod string `json:"authentication_method"` UserName string `json:"user_name,omitempty"` Password string `json:"password,omitempty"` CurrentPassword string `json:"current_password,omitempty"` PersistJSON *bool `json:"persist_json_enabled,omitempty"` Published *bool `json:"published,omitempty"` PublishURL string `json:"publish_url,omitempty"` }
Publication info
type Session ¶
type Session struct { ClientProgress int64 `json:"client_progress,omitempty"` ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` ExpirationTime *time.Time `json:"expiration_time,omitempty"` ID string `json:"id,omitempty"` LibraryItemContentVersion string `json:"library_item_content_version,omitempty"` LibraryItemID string `json:"library_item_id,omitempty"` State string `json:"state,omitempty"` }
Session is used to create an initial update or download session
type StorageBackings ¶
type StorageBackings struct { DatastoreID string `json:"datastore_id,omitempty"` Type string `json:"type,omitempty"` }
StorageBackings for Content Libraries
type Subscriber ¶ added in v0.23.0
type Subscriber struct { LibraryID string `json:"subscribed_library"` LibraryName string `json:"subscribed_library_name"` LibraryLocation string `json:"subscribed_library_location"` Placement *Placement `json:"subscribed_library_placement,omitempty"` Vcenter *Vcenter `json:"subscribed_library_vcenter,omitempty"` }
Subscriber contains the detailed info for a library subscriber.
type SubscriberLibrary ¶ added in v0.23.0
type SubscriberLibrary struct { Target string `json:"target"` LibraryID string `json:"subscribed_library,omitempty"` Location string `json:"location"` Vcenter *Vcenter `json:"vcenter,omitempty"` Placement *Placement `json:"placement,omitempty"` }
SubscriberLibrary is the specification for a subscribed library to be associated with a subscription.
type SubscriberSummary ¶ added in v0.23.0
type SubscriberSummary struct { LibraryID string `json:"subscribed_library"` LibraryName string `json:"subscribed_library_name"` SubscriptionID string `json:"subscription"` LibraryVcenterHostname string `json:"subscribed_library_vcenter_hostname,omitempty"` }
SubscriberSummary as returned by ListSubscribers
type Subscription ¶ added in v0.22.0
type Subscription struct { AuthenticationMethod string `json:"authentication_method"` AutomaticSyncEnabled *bool `json:"automatic_sync_enabled,omitempty"` OnDemand *bool `json:"on_demand,omitempty"` Password string `json:"password,omitempty"` SslThumbprint string `json:"ssl_thumbprint,omitempty"` SubscriptionURL string `json:"subscription_url,omitempty"` UserName string `json:"user_name,omitempty"` }
Subscription info
type TransferEndpoint ¶
type TransferEndpoint struct { URI string `json:"uri,omitempty"` SSLCertificateThumbprint string `json:"ssl_certificate_thumbprint,omitempty"` }
TransferEndpoint provides information on the source of a library item file.
type UpdateFile ¶
type UpdateFile struct { BytesTransferred int64 `json:"bytes_transferred,omitempty"` Checksum *Checksum `json:"checksum_info,omitempty"` ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` Name string `json:"name"` Size int64 `json:"size,omitempty"` SourceEndpoint *TransferEndpoint `json:"source_endpoint,omitempty"` SourceType string `json:"source_type"` Status string `json:"status,omitempty"` UploadEndpoint *TransferEndpoint `json:"upload_endpoint,omitempty"` }
UpdateFile is the specification for the updatesession operations file:add, file:get, and file:list.