Documentation
¶
Index ¶
- type AttachedObjects
- type AttachedTags
- type BatchError
- type BatchErrors
- type Category
- type Manager
- func (c *Manager) AttachMultipleTagsToObject(ctx context.Context, tagIDs []string, ref mo.Reference) error
- func (c *Manager) AttachTag(ctx context.Context, tagID string, ref mo.Reference) error
- func (c *Manager) AttachTagToMultipleObjects(ctx context.Context, tagID string, refs []mo.Reference) error
- func (c *Manager) CreateCategory(ctx context.Context, category *Category) (string, error)
- func (c *Manager) CreateTag(ctx context.Context, tag *Tag) (string, error)
- func (c *Manager) DeleteCategory(ctx context.Context, category *Category) error
- func (c *Manager) DeleteTag(ctx context.Context, tag *Tag) error
- func (c *Manager) DetachMultipleTagsFromObject(ctx context.Context, tagIDs []string, ref mo.Reference) error
- func (c *Manager) DetachTag(ctx context.Context, tagID string, ref mo.Reference) error
- func (c *Manager) GetAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error)
- func (c *Manager) GetAttachedTags(ctx context.Context, ref mo.Reference) ([]Tag, error)
- func (c *Manager) GetAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error)
- func (c *Manager) GetCategories(ctx context.Context) ([]Category, error)
- func (c *Manager) GetCategory(ctx context.Context, id string) (*Category, error)
- func (c *Manager) GetTag(ctx context.Context, id string) (*Tag, error)
- func (c *Manager) GetTagForCategory(ctx context.Context, id, category string) (*Tag, error)
- func (c *Manager) GetTags(ctx context.Context) ([]Tag, error)
- func (c *Manager) GetTagsForCategory(ctx context.Context, id string) ([]Tag, error)
- func (c *Manager) ListAttachedObjects(ctx context.Context, tagID string) ([]mo.Reference, error)
- func (c *Manager) ListAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error)
- func (c *Manager) ListAttachedTags(ctx context.Context, ref mo.Reference) ([]string, error)
- func (c *Manager) ListAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error)
- func (c *Manager) ListCategories(ctx context.Context) ([]string, error)
- func (c *Manager) ListTags(ctx context.Context) ([]string, error)
- func (c *Manager) ListTagsForCategory(ctx context.Context, id string) ([]string, error)
- func (c *Manager) UpdateCategory(ctx context.Context, category *Category) error
- func (c *Manager) UpdateTag(ctx context.Context, tag *Tag) error
- type Tag
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttachedObjects ¶ added in v0.21.0
type AttachedObjects struct {
TagID string `json:"tag_id"`
Tag *Tag `json:"tag,omitempty"`
ObjectIDs []mo.Reference `json:"object_ids"`
}
AttachedObjects is the response type used by ListAttachedObjectsOnTags.
func (*AttachedObjects) UnmarshalJSON ¶ added in v0.21.0
func (t *AttachedObjects) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type AttachedTags ¶ added in v0.21.0
type AttachedTags struct {
ObjectID mo.Reference `json:"object_id"`
TagIDs []string `json:"tag_ids"`
Tags []Tag `json:"tags,omitempty"`
}
AttachedTags is the response type used by ListAttachedTagsOnObjects.
func (*AttachedTags) UnmarshalJSON ¶ added in v0.21.0
func (t *AttachedTags) UnmarshalJSON(b []byte) error
UnmarshalJSON implements json.Unmarshaler.
type BatchError ¶ added in v0.24.0
type BatchError struct {
Type string `json:"id"`
Message string `json:"default_message"`
}
BatchError is an error returned for a single item which failed in a batch operation
type BatchErrors ¶ added in v0.24.0
type BatchErrors []BatchError
BatchErrors contains all errors which occurred in a batch operation
type Category ¶
type Category struct {
ID string `json:"id,omitempty"`
Name string `json:"name,omitempty"`
Description string `json:"description,omitempty"`
Cardinality string `json:"cardinality,omitempty"`
AssociableTypes []string `json:"associable_types,omitempty"`
UsedBy []string `json:"used_by,omitempty"`
}
Category provides methods to create, read, update, delete, and enumerate categories.
type Manager ¶
type Manager struct {
*rest.Client
}
Manager extends rest.Client, adding tag related methods.
func NewManager ¶
func NewManager(client *rest.Client) *Manager
NewManager creates a new Manager instance with the given client.
func (*Manager) AttachMultipleTagsToObject ¶ added in v0.24.0
func (c *Manager) AttachMultipleTagsToObject(ctx context.Context, tagIDs []string, ref mo.Reference) error
AttachMultipleTagsToObject attaches multiple tag IDs to a managed object. This operation is idempotent. If a tag is already attached to the object, then the individual operation is a no-op and no error will be thrown. This operation is not atomic. If the underlying call fails with one or more tags not successfully attached to the managed object reference it might leave the managed object reference in a partially tagged state and needs to be resolved by the caller. In this case BatchErrors is returned and can be used to analyse failure reasons on each failed tag.
Specified tagIDs must use URN-notation instead of display names or a generic error will be returned and no tagging operation will be performed. If the managed object reference does not exist a generic 403 Forbidden error will be returned.
This operation was added in vSphere API 6.5.
func (*Manager) AttachTag ¶
func (c *Manager) AttachTag(ctx context.Context, tagID string, ref mo.Reference) error
AttachTag attaches a tag ID to a managed object.
func (*Manager) AttachTagToMultipleObjects ¶ added in v0.23.0
func (c *Manager) AttachTagToMultipleObjects(ctx context.Context, tagID string, refs []mo.Reference) error
AttachTagToMultipleObjects attaches a tag ID to multiple managed objects. This operation is idempotent, i.e. if a tag is already attached to the object, then the individual operation is a no-op and no error will be thrown.
This operation was added in vSphere API 6.5.
func (*Manager) CreateCategory ¶
func (c *Manager) CreateCategory(ctx context.Context, category *Category) (string, error)
CreateCategory creates a new category and returns the category ID.
func (*Manager) CreateTag ¶
func (c *Manager) CreateTag(ctx context.Context, tag *Tag) (string, error)
CreateTag creates a new tag with the given Name, Description and CategoryID.
func (*Manager) DeleteCategory ¶
func (c *Manager) DeleteCategory(ctx context.Context, category *Category) error
DeleteCategory deletes a category.
func (*Manager) DeleteTag ¶
func (c *Manager) DeleteTag(ctx context.Context, tag *Tag) error
DeleteTag deletes an existing tag.
func (*Manager) DetachMultipleTagsFromObject ¶ added in v0.24.0
func (c *Manager) DetachMultipleTagsFromObject(ctx context.Context, tagIDs []string, ref mo.Reference) error
DetachMultipleTagsFromObject detaches multiple tag IDs from a managed object. This operation is idempotent. If a tag is already detached from the object, then the individual operation is a no-op and no error will be thrown. This operation is not atomic. If the underlying call fails with one or more tags not successfully detached from the managed object reference it might leave the managed object reference in a partially tagged state and needs to be resolved by the caller. In this case BatchErrors is returned and can be used to analyse failure reasons on each failed tag.
Specified tagIDs must use URN-notation instead of display names or a generic error will be returned and no tagging operation will be performed. If the managed object reference does not exist a generic 403 Forbidden error will be returned.
This operation was added in vSphere API 6.5.
func (*Manager) DetachTag ¶
func (c *Manager) DetachTag(ctx context.Context, tagID string, ref mo.Reference) error
DetachTag detaches a tag ID from a managed object. If the tag is already removed from the object, then this operation is a no-op and an error will not be thrown.
func (*Manager) GetAttachedObjectsOnTags ¶ added in v0.21.0
func (c *Manager) GetAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error)
GetAttachedObjectsOnTags combines ListAttachedObjectsOnTags and populates each Tag field.
func (*Manager) GetAttachedTags ¶
func (c *Manager) GetAttachedTags(ctx context.Context, ref mo.Reference) ([]Tag, error)
GetAttachedTags fetches the array of tags attached to the given object.
func (*Manager) GetAttachedTagsOnObjects ¶ added in v0.21.0
func (c *Manager) GetAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error)
GetAttachedTagsOnObjects calls ListAttachedTagsOnObjects and populates each Tags field.
func (*Manager) GetCategories ¶
func (c *Manager) GetCategories(ctx context.Context) ([]Category, error)
GetCategories fetches a list of category information in the system.
func (*Manager) GetCategory ¶
func (c *Manager) GetCategory(ctx context.Context, id string) (*Category, error)
GetCategory fetches the category information for the given identifier. The id parameter can be a Category ID or Category Name.
func (*Manager) GetTag ¶
func (c *Manager) GetTag(ctx context.Context, id string) (*Tag, error)
GetTag fetches the tag information for the given identifier. The id parameter can be a Tag ID or Tag Name.
func (*Manager) GetTagForCategory ¶ added in v0.20.0
func (c *Manager) GetTagForCategory(ctx context.Context, id, category string) (*Tag, error)
GetTagForCategory fetches the tag information for the given identifier in the given category.
func (*Manager) GetTags ¶
func (c *Manager) GetTags(ctx context.Context) ([]Tag, error)
GetTags fetches an array of tag information in the system.
func (*Manager) GetTagsForCategory ¶
func (c *Manager) GetTagsForCategory(ctx context.Context, id string) ([]Tag, error)
The id parameter can be a Category ID or Category Name.
func (*Manager) ListAttachedObjects ¶
func (c *Manager) ListAttachedObjects(ctx context.Context, tagID string) ([]mo.Reference, error)
ListAttachedObjects fetches the array of attached objects for the given tag ID.
func (*Manager) ListAttachedObjectsOnTags ¶ added in v0.21.0
func (c *Manager) ListAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error)
ListAttachedObjectsOnTags fetches the array of attached objects for the given tag IDs.
func (*Manager) ListAttachedTags ¶
func (c *Manager) ListAttachedTags(ctx context.Context, ref mo.Reference) ([]string, error)
ListAttachedTags fetches the array of tag IDs attached to the given object.
func (*Manager) ListAttachedTagsOnObjects ¶ added in v0.21.0
func (c *Manager) ListAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error)
ListAttachedTagsOnObjects fetches the array of attached tag IDs for the given object IDs.
func (*Manager) ListCategories ¶
func (c *Manager) ListCategories(ctx context.Context) ([]string, error)
ListCategories returns all category IDs in the system.
func (*Manager) ListTags ¶
func (c *Manager) ListTags(ctx context.Context) ([]string, error)
ListTags returns all tag IDs in the system.
func (*Manager) ListTagsForCategory ¶
func (c *Manager) ListTagsForCategory(ctx context.Context, id string) ([]string, error)
The id parameter can be a Category ID or Category Name.
func (*Manager) UpdateCategory ¶
func (c *Manager) UpdateCategory(ctx context.Context, category *Category) error
UpdateCategory updates one or more of the AssociableTypes, Cardinality, Description and Name fields.
type Tag ¶
type Tag struct {
ID string `json:"id,omitempty"`
Description string `json:"description,omitempty"`
Name string `json:"name,omitempty"`
CategoryID string `json:"category_id,omitempty"`
UsedBy []string `json:"used_by,omitempty"`
}
Tag provides methods to create, read, update, delete, and enumerate tags.