Skip to content

Commit 68080d3

Browse files
committed
api: Updated API bindings
This patch updates the API bindings to include support for several in-flight features. Signed-off-by: akutz <andrew.kutz@broadcom.com>
1 parent 468a414 commit 68080d3

1 file changed

Lines changed: 119 additions & 0 deletions

File tree

vim25/types/types.go

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6600,6 +6600,16 @@ func init() {
66006600
t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem()
66016601
}
66026602

6603+
// A boxed array of `TagSpec`. To be used in `Any` placeholders.
6604+
type ArrayOfTagSpec struct {
6605+
TagSpec []TagSpec `xml:"TagSpec,omitempty" json:"_value"`
6606+
}
6607+
6608+
func init() {
6609+
t["ArrayOfTagSpec"] = reflect.TypeOf((*ArrayOfTagSpec)(nil)).Elem()
6610+
minAPIVersionForType["ArrayOfTagSpec"] = "9.1.0.0"
6611+
}
6612+
66036613
// A boxed array of `TaskInfo`. To be used in `Any` placeholders.
66046614
type ArrayOfTaskInfo struct {
66056615
TaskInfo []TaskInfo `xml:"TaskInfo,omitempty" json:"_value"`
@@ -77934,6 +77944,76 @@ func init() {
7793477944
t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem()
7793577945
}
7793677946

77947+
// Describes information required to uniquely identify a vSphere tag.
77948+
//
77949+
// A vSphere tag can be either identified using its UUID or the combination
77950+
// of its name and its parent category's name.
77951+
type TagId struct {
77952+
DynamicData
77953+
77954+
// Information about the name of the tag represented by this TagId.
77955+
//
77956+
// If
77957+
// this field is specified in addition to `TagId.uuid`, then both
77958+
// `TagId.uuid` and nameId must belong to the same vSphere tag. If this
77959+
// field is left unset, then `TagId.uuid` must be specified.
77960+
NameId *TagIdNameId `xml:"nameId,omitempty" json:"nameId,omitempty"`
77961+
// The UUID of the vSphere tag represented by this TagId.
77962+
//
77963+
// If this field
77964+
// is specified in addition to `TagId.nameId`, then both uuid and
77965+
// `TagId.nameId` must belong to the same vSphere tag. If this field is left
77966+
// unset, then `TagId.nameId` must be specified.
77967+
Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
77968+
}
77969+
77970+
func init() {
77971+
t["TagId"] = reflect.TypeOf((*TagId)(nil)).Elem()
77972+
minAPIVersionForType["TagId"] = "9.1.0.0"
77973+
}
77974+
77975+
// Specifies information required to uniquely identify a vSphere tag by its
77976+
// name.
77977+
//
77978+
// Names of tags within the scope of a given category are unique, but
77979+
// the names of tags belonging to two different categories can be same.
77980+
// Hence, to uniquely identify a tag by its name in a given vSphere, both
77981+
// tag name and its parent category's name are required.
77982+
type TagIdNameId struct {
77983+
DynamicData
77984+
77985+
// Name of the vSphere tag represented by this TagId.
77986+
Tag string `xml:"tag" json:"tag"`
77987+
// Name of the vSphere category that this tag belongs to.
77988+
Category string `xml:"category" json:"category"`
77989+
}
77990+
77991+
func init() {
77992+
t["TagIdNameId"] = reflect.TypeOf((*TagIdNameId)(nil)).Elem()
77993+
}
77994+
77995+
// Specification for doing an incremental update to the association
77996+
// between a vSphere tag and an inventory object.
77997+
//
77998+
// This allows specifying the tag to which an incremental update needs to be
77999+
// applied and the operation for that update. Supported operations are:
78000+
// - add: Attach a new tag to a given object.
78001+
// - remove: Detach a tag already attached from a given object.
78002+
//
78003+
// See `ArrayUpdateSpec` for more information about possible operations.
78004+
// Note that editing a tag using this is not supported.
78005+
type TagSpec struct {
78006+
ArrayUpdateSpec
78007+
78008+
// Information to identify the tag that needs to be attached or detached.
78009+
Id TagId `xml:"id" json:"id"`
78010+
}
78011+
78012+
func init() {
78013+
t["TagSpec"] = reflect.TypeOf((*TagSpec)(nil)).Elem()
78014+
minAPIVersionForType["TagSpec"] = "9.1.0.0"
78015+
}
78016+
7793778017
// Static strings for task objects.
7793878018
//
7793978019
// These strings are locale-specific.
@@ -90231,6 +90311,25 @@ type VirtualMachineConfigSpec struct {
9023190311
//
9023290312
// SEV-SNP is enabled when set to true, and disabled otherwise.
9023390313
SevSnpEnabled *bool `xml:"sevSnpEnabled" json:"sevSnpEnabled,omitempty" vim:"9.0.0.0"`
90314+
// Specification of the vSphere tags that need to be modified for this
90315+
// virtual machine.
90316+
//
90317+
// Each TagSpec refers to:
90318+
// \- Operation to be performed, i.e., attach a new tag to a VM with this
90319+
// ConfigSpec, or detach an existing tag of a VM with this ConfigSpec.
90320+
// \- Information required to uniquely identify the vSphere tag that needs
90321+
// to be attached or detached.
90322+
//
90323+
// When this field is specified in the ConfigSpec during VM creation or
90324+
// VM reconfigure, then each tag specified in tagSpecs is automatically
90325+
// attached or detached (based on the operation type) when VM with
90326+
// that ConfigSpec is created or reconfigured.
90327+
//
90328+
// Note: Specifying a tag in tagSpecs using `TagId.nameId`
90329+
// only takes effect when the VM is managed by Supervisor. If an entry
90330+
// in tagSpecs is specified using `TagId.nameId`, it will be
90331+
// ignored except when set by Supervisor.
90332+
TagSpecs []TagSpec `xml:"tagSpecs,omitempty" json:"tagSpecs,omitempty" vim:"9.1.0.0"`
9023490333
// An optional list of `VmPlacementPolicy` for this VM.
9023590334
//
9023690335
// Each policy
@@ -92280,6 +92379,26 @@ type VirtualMachineRelocateSpec struct {
9228092379
// Encryption requirement for the virtual machine's metadata
9228192380
// files (non-disk files).
9228292381
CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec,omitempty"`
92382+
// Specification of the vSphere tags that need to be modified for this
92383+
// virtual machine.
92384+
//
92385+
// Each TagSpec refers to:
92386+
// \- Operation to be performed, i.e., attach a new tag to a VM with this
92387+
// RelocateSpec or detach an existing tag from a VM with this
92388+
// RelocateSpec.
92389+
// \- Information required to uniquely identify the vSphere tag that needs
92390+
// to be attached or detached.
92391+
//
92392+
// When this field is specified in the RelocateSpec during VM relocate,
92393+
// then each tag specified in tagSpecs is automatically attached or
92394+
// detached (based on the operation type) when VM with that RelocateSpec
92395+
// is relocated.
92396+
//
92397+
// Note: Specifying a tag in tagSpecs using `TagId.nameId`
92398+
// only takes effect when the VM is managed by Supervisor. If an entry in tagSpecs is specified using
92399+
// `TagId.nameId`, it will be ignored except when set by
92400+
// Supervisor.
92401+
TagSpecs []TagSpec `xml:"tagSpecs,omitempty" json:"tagSpecs,omitempty" vim:"9.1.0.0"`
9228392402
// An optional list of `VmPlacementPolicy` for this VM.
9228492403
//
9228592404
// Each policy

0 commit comments

Comments
 (0)