@@ -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.
66046614type 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