github.com/vmware/govmomi@v0.37.1/pbm/types/types.go (about) 1 /* 2 Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package types 18 19 import ( 20 "reflect" 21 "time" 22 23 "github.com/vmware/govmomi/vim25/types" 24 ) 25 26 // A boxed array of `PbmCapabilityConstraintInstance`. To be used in `Any` placeholders. 27 type ArrayOfPbmCapabilityConstraintInstance struct { 28 PbmCapabilityConstraintInstance []PbmCapabilityConstraintInstance `xml:"PbmCapabilityConstraintInstance,omitempty" json:"_value"` 29 } 30 31 func init() { 32 types.Add("pbm:ArrayOfPbmCapabilityConstraintInstance", reflect.TypeOf((*ArrayOfPbmCapabilityConstraintInstance)(nil)).Elem()) 33 } 34 35 // A boxed array of `PbmCapabilityInstance`. To be used in `Any` placeholders. 36 type ArrayOfPbmCapabilityInstance struct { 37 PbmCapabilityInstance []PbmCapabilityInstance `xml:"PbmCapabilityInstance,omitempty" json:"_value"` 38 } 39 40 func init() { 41 types.Add("pbm:ArrayOfPbmCapabilityInstance", reflect.TypeOf((*ArrayOfPbmCapabilityInstance)(nil)).Elem()) 42 } 43 44 // A boxed array of `PbmCapabilityMetadata`. To be used in `Any` placeholders. 45 type ArrayOfPbmCapabilityMetadata struct { 46 PbmCapabilityMetadata []PbmCapabilityMetadata `xml:"PbmCapabilityMetadata,omitempty" json:"_value"` 47 } 48 49 func init() { 50 types.Add("pbm:ArrayOfPbmCapabilityMetadata", reflect.TypeOf((*ArrayOfPbmCapabilityMetadata)(nil)).Elem()) 51 } 52 53 // A boxed array of `PbmCapabilityMetadataPerCategory`. To be used in `Any` placeholders. 54 type ArrayOfPbmCapabilityMetadataPerCategory struct { 55 PbmCapabilityMetadataPerCategory []PbmCapabilityMetadataPerCategory `xml:"PbmCapabilityMetadataPerCategory,omitempty" json:"_value"` 56 } 57 58 func init() { 59 types.Add("pbm:ArrayOfPbmCapabilityMetadataPerCategory", reflect.TypeOf((*ArrayOfPbmCapabilityMetadataPerCategory)(nil)).Elem()) 60 } 61 62 // A boxed array of `PbmCapabilityPropertyInstance`. To be used in `Any` placeholders. 63 type ArrayOfPbmCapabilityPropertyInstance struct { 64 PbmCapabilityPropertyInstance []PbmCapabilityPropertyInstance `xml:"PbmCapabilityPropertyInstance,omitempty" json:"_value"` 65 } 66 67 func init() { 68 types.Add("pbm:ArrayOfPbmCapabilityPropertyInstance", reflect.TypeOf((*ArrayOfPbmCapabilityPropertyInstance)(nil)).Elem()) 69 } 70 71 // A boxed array of `PbmCapabilityPropertyMetadata`. To be used in `Any` placeholders. 72 type ArrayOfPbmCapabilityPropertyMetadata struct { 73 PbmCapabilityPropertyMetadata []PbmCapabilityPropertyMetadata `xml:"PbmCapabilityPropertyMetadata,omitempty" json:"_value"` 74 } 75 76 func init() { 77 types.Add("pbm:ArrayOfPbmCapabilityPropertyMetadata", reflect.TypeOf((*ArrayOfPbmCapabilityPropertyMetadata)(nil)).Elem()) 78 } 79 80 // A boxed array of `PbmCapabilitySchema`. To be used in `Any` placeholders. 81 type ArrayOfPbmCapabilitySchema struct { 82 PbmCapabilitySchema []PbmCapabilitySchema `xml:"PbmCapabilitySchema,omitempty" json:"_value"` 83 } 84 85 func init() { 86 types.Add("pbm:ArrayOfPbmCapabilitySchema", reflect.TypeOf((*ArrayOfPbmCapabilitySchema)(nil)).Elem()) 87 } 88 89 // A boxed array of `PbmCapabilitySubProfile`. To be used in `Any` placeholders. 90 type ArrayOfPbmCapabilitySubProfile struct { 91 PbmCapabilitySubProfile []PbmCapabilitySubProfile `xml:"PbmCapabilitySubProfile,omitempty" json:"_value"` 92 } 93 94 func init() { 95 types.Add("pbm:ArrayOfPbmCapabilitySubProfile", reflect.TypeOf((*ArrayOfPbmCapabilitySubProfile)(nil)).Elem()) 96 } 97 98 // A boxed array of `PbmCapabilityVendorNamespaceInfo`. To be used in `Any` placeholders. 99 type ArrayOfPbmCapabilityVendorNamespaceInfo struct { 100 PbmCapabilityVendorNamespaceInfo []PbmCapabilityVendorNamespaceInfo `xml:"PbmCapabilityVendorNamespaceInfo,omitempty" json:"_value"` 101 } 102 103 func init() { 104 types.Add("pbm:ArrayOfPbmCapabilityVendorNamespaceInfo", reflect.TypeOf((*ArrayOfPbmCapabilityVendorNamespaceInfo)(nil)).Elem()) 105 } 106 107 // A boxed array of `PbmCapabilityVendorResourceTypeInfo`. To be used in `Any` placeholders. 108 type ArrayOfPbmCapabilityVendorResourceTypeInfo struct { 109 PbmCapabilityVendorResourceTypeInfo []PbmCapabilityVendorResourceTypeInfo `xml:"PbmCapabilityVendorResourceTypeInfo,omitempty" json:"_value"` 110 } 111 112 func init() { 113 types.Add("pbm:ArrayOfPbmCapabilityVendorResourceTypeInfo", reflect.TypeOf((*ArrayOfPbmCapabilityVendorResourceTypeInfo)(nil)).Elem()) 114 } 115 116 // A boxed array of `PbmCompliancePolicyStatus`. To be used in `Any` placeholders. 117 type ArrayOfPbmCompliancePolicyStatus struct { 118 PbmCompliancePolicyStatus []PbmCompliancePolicyStatus `xml:"PbmCompliancePolicyStatus,omitempty" json:"_value"` 119 } 120 121 func init() { 122 types.Add("pbm:ArrayOfPbmCompliancePolicyStatus", reflect.TypeOf((*ArrayOfPbmCompliancePolicyStatus)(nil)).Elem()) 123 } 124 125 // A boxed array of `PbmComplianceResult`. To be used in `Any` placeholders. 126 type ArrayOfPbmComplianceResult struct { 127 PbmComplianceResult []PbmComplianceResult `xml:"PbmComplianceResult,omitempty" json:"_value"` 128 } 129 130 func init() { 131 types.Add("pbm:ArrayOfPbmComplianceResult", reflect.TypeOf((*ArrayOfPbmComplianceResult)(nil)).Elem()) 132 } 133 134 // A boxed array of `PbmDatastoreSpaceStatistics`. To be used in `Any` placeholders. 135 type ArrayOfPbmDatastoreSpaceStatistics struct { 136 PbmDatastoreSpaceStatistics []PbmDatastoreSpaceStatistics `xml:"PbmDatastoreSpaceStatistics,omitempty" json:"_value"` 137 } 138 139 func init() { 140 types.Add("pbm:ArrayOfPbmDatastoreSpaceStatistics", reflect.TypeOf((*ArrayOfPbmDatastoreSpaceStatistics)(nil)).Elem()) 141 } 142 143 // A boxed array of `PbmDefaultProfileInfo`. To be used in `Any` placeholders. 144 type ArrayOfPbmDefaultProfileInfo struct { 145 PbmDefaultProfileInfo []PbmDefaultProfileInfo `xml:"PbmDefaultProfileInfo,omitempty" json:"_value"` 146 } 147 148 func init() { 149 types.Add("pbm:ArrayOfPbmDefaultProfileInfo", reflect.TypeOf((*ArrayOfPbmDefaultProfileInfo)(nil)).Elem()) 150 } 151 152 // A boxed array of `PbmFaultNoPermissionEntityPrivileges`. To be used in `Any` placeholders. 153 type ArrayOfPbmFaultNoPermissionEntityPrivileges struct { 154 PbmFaultNoPermissionEntityPrivileges []PbmFaultNoPermissionEntityPrivileges `xml:"PbmFaultNoPermissionEntityPrivileges,omitempty" json:"_value"` 155 } 156 157 func init() { 158 types.Add("pbm:ArrayOfPbmFaultNoPermissionEntityPrivileges", reflect.TypeOf((*ArrayOfPbmFaultNoPermissionEntityPrivileges)(nil)).Elem()) 159 } 160 161 // A boxed array of `PbmLoggingConfiguration`. To be used in `Any` placeholders. 162 type ArrayOfPbmLoggingConfiguration struct { 163 PbmLoggingConfiguration []PbmLoggingConfiguration `xml:"PbmLoggingConfiguration,omitempty" json:"_value"` 164 } 165 166 func init() { 167 types.Add("pbm:ArrayOfPbmLoggingConfiguration", reflect.TypeOf((*ArrayOfPbmLoggingConfiguration)(nil)).Elem()) 168 } 169 170 // A boxed array of `PbmPlacementCompatibilityResult`. To be used in `Any` placeholders. 171 type ArrayOfPbmPlacementCompatibilityResult struct { 172 PbmPlacementCompatibilityResult []PbmPlacementCompatibilityResult `xml:"PbmPlacementCompatibilityResult,omitempty" json:"_value"` 173 } 174 175 func init() { 176 types.Add("pbm:ArrayOfPbmPlacementCompatibilityResult", reflect.TypeOf((*ArrayOfPbmPlacementCompatibilityResult)(nil)).Elem()) 177 } 178 179 // A boxed array of `PbmPlacementHub`. To be used in `Any` placeholders. 180 type ArrayOfPbmPlacementHub struct { 181 PbmPlacementHub []PbmPlacementHub `xml:"PbmPlacementHub,omitempty" json:"_value"` 182 } 183 184 func init() { 185 types.Add("pbm:ArrayOfPbmPlacementHub", reflect.TypeOf((*ArrayOfPbmPlacementHub)(nil)).Elem()) 186 } 187 188 // A boxed array of `PbmPlacementMatchingResources`. To be used in `Any` placeholders. 189 type ArrayOfPbmPlacementMatchingResources struct { 190 PbmPlacementMatchingResources []BasePbmPlacementMatchingResources `xml:"PbmPlacementMatchingResources,omitempty,typeattr" json:"_value"` 191 } 192 193 func init() { 194 types.Add("pbm:ArrayOfPbmPlacementMatchingResources", reflect.TypeOf((*ArrayOfPbmPlacementMatchingResources)(nil)).Elem()) 195 } 196 197 // A boxed array of `PbmPlacementRequirement`. To be used in `Any` placeholders. 198 type ArrayOfPbmPlacementRequirement struct { 199 PbmPlacementRequirement []BasePbmPlacementRequirement `xml:"PbmPlacementRequirement,omitempty,typeattr" json:"_value"` 200 } 201 202 func init() { 203 types.Add("pbm:ArrayOfPbmPlacementRequirement", reflect.TypeOf((*ArrayOfPbmPlacementRequirement)(nil)).Elem()) 204 } 205 206 // A boxed array of `PbmPlacementResourceUtilization`. To be used in `Any` placeholders. 207 type ArrayOfPbmPlacementResourceUtilization struct { 208 PbmPlacementResourceUtilization []PbmPlacementResourceUtilization `xml:"PbmPlacementResourceUtilization,omitempty" json:"_value"` 209 } 210 211 func init() { 212 types.Add("pbm:ArrayOfPbmPlacementResourceUtilization", reflect.TypeOf((*ArrayOfPbmPlacementResourceUtilization)(nil)).Elem()) 213 } 214 215 // A boxed array of `PbmProfile`. To be used in `Any` placeholders. 216 type ArrayOfPbmProfile struct { 217 PbmProfile []BasePbmProfile `xml:"PbmProfile,omitempty,typeattr" json:"_value"` 218 } 219 220 func init() { 221 types.Add("pbm:ArrayOfPbmProfile", reflect.TypeOf((*ArrayOfPbmProfile)(nil)).Elem()) 222 } 223 224 // A boxed array of `PbmProfileId`. To be used in `Any` placeholders. 225 type ArrayOfPbmProfileId struct { 226 PbmProfileId []PbmProfileId `xml:"PbmProfileId,omitempty" json:"_value"` 227 } 228 229 func init() { 230 types.Add("pbm:ArrayOfPbmProfileId", reflect.TypeOf((*ArrayOfPbmProfileId)(nil)).Elem()) 231 } 232 233 // A boxed array of `PbmProfileOperationOutcome`. To be used in `Any` placeholders. 234 type ArrayOfPbmProfileOperationOutcome struct { 235 PbmProfileOperationOutcome []PbmProfileOperationOutcome `xml:"PbmProfileOperationOutcome,omitempty" json:"_value"` 236 } 237 238 func init() { 239 types.Add("pbm:ArrayOfPbmProfileOperationOutcome", reflect.TypeOf((*ArrayOfPbmProfileOperationOutcome)(nil)).Elem()) 240 } 241 242 // A boxed array of `PbmProfileResourceType`. To be used in `Any` placeholders. 243 type ArrayOfPbmProfileResourceType struct { 244 PbmProfileResourceType []PbmProfileResourceType `xml:"PbmProfileResourceType,omitempty" json:"_value"` 245 } 246 247 func init() { 248 types.Add("pbm:ArrayOfPbmProfileResourceType", reflect.TypeOf((*ArrayOfPbmProfileResourceType)(nil)).Elem()) 249 } 250 251 // A boxed array of `PbmProfileType`. To be used in `Any` placeholders. 252 type ArrayOfPbmProfileType struct { 253 PbmProfileType []PbmProfileType `xml:"PbmProfileType,omitempty" json:"_value"` 254 } 255 256 func init() { 257 types.Add("pbm:ArrayOfPbmProfileType", reflect.TypeOf((*ArrayOfPbmProfileType)(nil)).Elem()) 258 } 259 260 // A boxed array of `PbmQueryProfileResult`. To be used in `Any` placeholders. 261 type ArrayOfPbmQueryProfileResult struct { 262 PbmQueryProfileResult []PbmQueryProfileResult `xml:"PbmQueryProfileResult,omitempty" json:"_value"` 263 } 264 265 func init() { 266 types.Add("pbm:ArrayOfPbmQueryProfileResult", reflect.TypeOf((*ArrayOfPbmQueryProfileResult)(nil)).Elem()) 267 } 268 269 // A boxed array of `PbmQueryReplicationGroupResult`. To be used in `Any` placeholders. 270 type ArrayOfPbmQueryReplicationGroupResult struct { 271 PbmQueryReplicationGroupResult []PbmQueryReplicationGroupResult `xml:"PbmQueryReplicationGroupResult,omitempty" json:"_value"` 272 } 273 274 func init() { 275 types.Add("pbm:ArrayOfPbmQueryReplicationGroupResult", reflect.TypeOf((*ArrayOfPbmQueryReplicationGroupResult)(nil)).Elem()) 276 } 277 278 // A boxed array of `PbmRollupComplianceResult`. To be used in `Any` placeholders. 279 type ArrayOfPbmRollupComplianceResult struct { 280 PbmRollupComplianceResult []PbmRollupComplianceResult `xml:"PbmRollupComplianceResult,omitempty" json:"_value"` 281 } 282 283 func init() { 284 types.Add("pbm:ArrayOfPbmRollupComplianceResult", reflect.TypeOf((*ArrayOfPbmRollupComplianceResult)(nil)).Elem()) 285 } 286 287 // A boxed array of `PbmServerObjectRef`. To be used in `Any` placeholders. 288 type ArrayOfPbmServerObjectRef struct { 289 PbmServerObjectRef []PbmServerObjectRef `xml:"PbmServerObjectRef,omitempty" json:"_value"` 290 } 291 292 func init() { 293 types.Add("pbm:ArrayOfPbmServerObjectRef", reflect.TypeOf((*ArrayOfPbmServerObjectRef)(nil)).Elem()) 294 } 295 296 // The `PbmAboutInfo` data object stores identifying data 297 // about the Storage Policy Server. 298 // 299 // This structure may be used only with operations rendered under `/pbm`. 300 type PbmAboutInfo struct { 301 types.DynamicData 302 303 // Name of the server. 304 Name string `xml:"name" json:"name"` 305 // Version number. 306 Version string `xml:"version" json:"version"` 307 // Globally unique identifier associated with this server instance. 308 InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"` 309 } 310 311 func init() { 312 types.Add("pbm:PbmAboutInfo", reflect.TypeOf((*PbmAboutInfo)(nil)).Elem()) 313 } 314 315 // An AlreadyExists fault is thrown when an attempt is made to add an element to 316 // a collection, if the element's key, name, or identifier already exists in 317 // that collection. 318 // 319 // This structure may be used only with operations rendered under `/pbm`. 320 type PbmAlreadyExists struct { 321 PbmFault 322 323 Name string `xml:"name,omitempty" json:"name,omitempty"` 324 } 325 326 func init() { 327 types.Add("pbm:PbmAlreadyExists", reflect.TypeOf((*PbmAlreadyExists)(nil)).Elem()) 328 } 329 330 type PbmAlreadyExistsFault PbmAlreadyExists 331 332 func init() { 333 types.Add("pbm:PbmAlreadyExistsFault", reflect.TypeOf((*PbmAlreadyExistsFault)(nil)).Elem()) 334 } 335 336 type PbmAssignDefaultRequirementProfile PbmAssignDefaultRequirementProfileRequestType 337 338 func init() { 339 types.Add("pbm:PbmAssignDefaultRequirementProfile", reflect.TypeOf((*PbmAssignDefaultRequirementProfile)(nil)).Elem()) 340 } 341 342 // The parameters of `PbmProfileProfileManager.PbmAssignDefaultRequirementProfile`. 343 type PbmAssignDefaultRequirementProfileRequestType struct { 344 This types.ManagedObjectReference `xml:"_this" json:"_this"` 345 // The profile that needs to be made default profile. 346 Profile PbmProfileId `xml:"profile" json:"profile"` 347 // The datastores for which the profile needs to be made as default profile. 348 Datastores []PbmPlacementHub `xml:"datastores" json:"datastores"` 349 } 350 351 func init() { 352 types.Add("pbm:PbmAssignDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmAssignDefaultRequirementProfileRequestType)(nil)).Elem()) 353 } 354 355 type PbmAssignDefaultRequirementProfileResponse struct { 356 } 357 358 // Constraints on the properties for a single occurrence of a capability. 359 // 360 // All properties must satisfy their respective constraints to be compliant. 361 // 362 // This structure may be used only with operations rendered under `/pbm`. 363 type PbmCapabilityConstraintInstance struct { 364 types.DynamicData 365 366 // Property instance array for this constraint 367 PropertyInstance []PbmCapabilityPropertyInstance `xml:"propertyInstance" json:"propertyInstance"` 368 } 369 370 func init() { 371 types.Add("pbm:PbmCapabilityConstraintInstance", reflect.TypeOf((*PbmCapabilityConstraintInstance)(nil)).Elem()) 372 } 373 374 // The `PbmCapabilityConstraints` data object is the base 375 // object for capability subprofile constraints. 376 // 377 // This structure may be used only with operations rendered under `/pbm`. 378 type PbmCapabilityConstraints struct { 379 types.DynamicData 380 } 381 382 func init() { 383 types.Add("pbm:PbmCapabilityConstraints", reflect.TypeOf((*PbmCapabilityConstraints)(nil)).Elem()) 384 } 385 386 // A property value with description. 387 // 388 // It can be repeated under DiscreteSet. 389 // E.g., set of tags, each with description and tag name. 390 // 391 // This structure may be used only with operations rendered under `/pbm`. 392 type PbmCapabilityDescription struct { 393 types.DynamicData 394 395 // Description of the property value 396 Description PbmExtendedElementDescription `xml:"description" json:"description"` 397 // Values for the set. 398 // 399 // must be one of the supported datatypes as 400 // defined in `PbmBuiltinType_enum` 401 // Must only contain unique values to comply with the Set semantics 402 Value types.AnyType `xml:"value,typeattr" json:"value"` 403 } 404 405 func init() { 406 types.Add("pbm:PbmCapabilityDescription", reflect.TypeOf((*PbmCapabilityDescription)(nil)).Elem()) 407 } 408 409 // The `PbmCapabilityDiscreteSet` data object defines a set of values 410 // for storage profile property instances (`PbmCapabilityPropertyInstance`). 411 // 412 // Use the discrete set type to define a set of values of a supported builtin type 413 // (`PbmBuiltinType_enum`), for example a set of integers 414 // (XSD\_INT) or a set of unsigned long values (XSD\_LONG). 415 // See `PbmBuiltinGenericType_enum*.*VMW_SET`. 416 // 417 // A discrete set of values is declared as an array of <code>xsd:anyType</code> values. 418 // - When you define a property instance for a storage profile requirement 419 // and pass an array of values to the Server, you must set the array elements 420 // to values of the appropriate datatype. 421 // - When you read a discrete set from a property instance for a storage profile 422 // capability, you must cast the <code>xsd:anyType</code> array element values 423 // to the appropriate datatype. 424 // 425 // This structure may be used only with operations rendered under `/pbm`. 426 type PbmCapabilityDiscreteSet struct { 427 types.DynamicData 428 429 // Array of values for the set. 430 // 431 // The values must be one of the supported datatypes 432 // as defined in `PbmBuiltinType_enum` or `PbmBuiltinGenericType_enum`. 433 Values []types.AnyType `xml:"values,typeattr" json:"values"` 434 } 435 436 func init() { 437 types.Add("pbm:PbmCapabilityDiscreteSet", reflect.TypeOf((*PbmCapabilityDiscreteSet)(nil)).Elem()) 438 } 439 440 // Generic type definition for capabilities. 441 // 442 // Indicates how a collection of values of a specific datatype 443 // (`PbmCapabilityTypeInfo.typeName`) 444 // will be interpreted. 445 // 446 // This structure may be used only with operations rendered under `/pbm`. 447 type PbmCapabilityGenericTypeInfo struct { 448 PbmCapabilityTypeInfo 449 450 // Name of the generic type. 451 // 452 // Must correspond to one of the values defined in 453 // `PbmBuiltinGenericType_enum`. 454 GenericTypeName string `xml:"genericTypeName" json:"genericTypeName"` 455 } 456 457 func init() { 458 types.Add("pbm:PbmCapabilityGenericTypeInfo", reflect.TypeOf((*PbmCapabilityGenericTypeInfo)(nil)).Elem()) 459 } 460 461 // The `PbmCapabilityInstance` data object defines a storage capability instance. 462 // 463 // Metadata for the capability is described in `PbmCapabilityMetadata`. 464 // 465 // This structure may be used only with operations rendered under `/pbm`. 466 type PbmCapabilityInstance struct { 467 types.DynamicData 468 469 // Identifier for the capability. 470 // 471 // The identifier value corresponds to 472 // `PbmCapabilityMetadata*.*PbmCapabilityMetadata.id`. 473 Id PbmCapabilityMetadataUniqueId `xml:"id" json:"id"` 474 // Constraints on the properties that comprise this capability. 475 // 476 // Each entry represents a constraint on one or more of the properties that 477 // constitute this capability. A datum must meet one of the 478 // constraints to be compliant. 479 Constraint []PbmCapabilityConstraintInstance `xml:"constraint" json:"constraint"` 480 } 481 482 func init() { 483 types.Add("pbm:PbmCapabilityInstance", reflect.TypeOf((*PbmCapabilityInstance)(nil)).Elem()) 484 } 485 486 // Metadata for a single unique setting defined by a provider. 487 // 488 // A simple setting is a setting with one property. 489 // A complex setting contains more than one property. 490 // 491 // This structure may be used only with operations rendered under `/pbm`. 492 type PbmCapabilityMetadata struct { 493 types.DynamicData 494 495 // Unique identifier for the capability. 496 Id PbmCapabilityMetadataUniqueId `xml:"id" json:"id"` 497 // Capability name and description 498 Summary PbmExtendedElementDescription `xml:"summary" json:"summary"` 499 // Indicates whether incorporating given capability is mandatory during creation of 500 // profile. 501 Mandatory *bool `xml:"mandatory" json:"mandatory,omitempty"` 502 // The flag hint dictates the interpretation of constraints specified for this capability 503 // in a storage policy profile. 504 // 505 // If hint is false, then constraints will affect placement. 506 // If hint is true, constraints will not affect placement, 507 // but will still be passed to provisioning operations if the provider understands the 508 // relevant namespace. Optional property, false if not set. 509 Hint *bool `xml:"hint" json:"hint,omitempty"` 510 // Property Id of the key property, if this capability represents a key 511 // value pair. 512 // 513 // Value is empty string if not set. 514 KeyId string `xml:"keyId,omitempty" json:"keyId,omitempty"` 515 // Flag to indicate if multiple constraints are allowed in the capability 516 // instance. 517 // 518 // False if not set. 519 AllowMultipleConstraints *bool `xml:"allowMultipleConstraints" json:"allowMultipleConstraints,omitempty"` 520 // Metadata for the properties that comprise this capability. 521 PropertyMetadata []PbmCapabilityPropertyMetadata `xml:"propertyMetadata" json:"propertyMetadata"` 522 } 523 524 func init() { 525 types.Add("pbm:PbmCapabilityMetadata", reflect.TypeOf((*PbmCapabilityMetadata)(nil)).Elem()) 526 } 527 528 // The `PbmCapabilityMetadataPerCategory` 529 // data object defines capability metadata for a profile subcategory. 530 // 531 // This structure may be used only with operations rendered under `/pbm`. 532 type PbmCapabilityMetadataPerCategory struct { 533 types.DynamicData 534 535 // Profile subcategory to which the capability metadata belongs. 536 // 537 // The subcategory is specified by the storage provider. 538 SubCategory string `xml:"subCategory" json:"subCategory"` 539 // Capability metadata for this category 540 CapabilityMetadata []PbmCapabilityMetadata `xml:"capabilityMetadata" json:"capabilityMetadata"` 541 } 542 543 func init() { 544 types.Add("pbm:PbmCapabilityMetadataPerCategory", reflect.TypeOf((*PbmCapabilityMetadataPerCategory)(nil)).Elem()) 545 } 546 547 type PbmCapabilityMetadataUniqueId struct { 548 types.DynamicData 549 550 // Namespace to which this capability belongs. 551 // 552 // Must be the same as 553 // { @link CapabilityObjectSchema#namespace } defined for this 554 // capability 555 Namespace string `xml:"namespace" json:"namespace"` 556 // unique identifier for this capability within given namespace 557 Id string `xml:"id" json:"id"` 558 } 559 560 func init() { 561 types.Add("pbm:PbmCapabilityMetadataUniqueId", reflect.TypeOf((*PbmCapabilityMetadataUniqueId)(nil)).Elem()) 562 } 563 564 // Name space information for the capability metadata schema. 565 // 566 // NOTE: Name spaces are required to be globally unique across resource types. 567 // A same vendor can register multiple name spaces for same resource type or 568 // for different resource type, but the schema namespace URL must be unique 569 // for each of these cases. 570 // A CapabilityMetadata object is uniquely identified based on the namespace 571 // it belongs to and it's unique identifier within that namespace. 572 // 573 // This structure may be used only with operations rendered under `/pbm`. 574 type PbmCapabilityNamespaceInfo struct { 575 types.DynamicData 576 577 // Schema version 578 Version string `xml:"version" json:"version"` 579 // Schema namespace. 580 Namespace string `xml:"namespace" json:"namespace"` 581 Info *PbmExtendedElementDescription `xml:"info,omitempty" json:"info,omitempty"` 582 } 583 584 func init() { 585 types.Add("pbm:PbmCapabilityNamespaceInfo", reflect.TypeOf((*PbmCapabilityNamespaceInfo)(nil)).Elem()) 586 } 587 588 // The `PbmCapabilityProfile` data object defines 589 // capability-based profiles. 590 // 591 // A capability-based profile is derived 592 // from tag-based storage capabilities or from vSAN storage capabilities. 593 // 594 // This structure may be used only with operations rendered under `/pbm`. 595 type PbmCapabilityProfile struct { 596 PbmProfile 597 598 // Indicates whether the profile is requirement 599 // profile, a resource profile or a data service profile. 600 // 601 // The <code>profileCategory</code> 602 // is a string value that corresponds to one of the 603 // `PbmProfileCategoryEnum_enum` values. 604 // - REQUIREMENT profile - Defines the storage constraints applied 605 // to virtual machine placement. Requirements are defined by 606 // the user and can be associated with virtual machines and virtual 607 // disks. During provisioning, you can use a requirements profile 608 // for compliance and placement checking to support 609 // selection and configuration of resources. 610 // - RESOURCE profile - Specifies system-defined storage capabilities. 611 // You cannot modify a resource profile. You cannot associate a resource 612 // profile with vSphere entities, use it during provisioning, or target 613 // entities for resource selection or configuration. 614 // This type of profile gives the user visibility into the capabilities 615 // supported by the storage provider. 616 // 617 // DATA\_SERVICE\_POLICY - Indicates a data service policy that can 618 // be embedded into another storage policy. Policies of this type can't 619 // be assigned to Virtual Machines or Virtual Disks. This policy cannot 620 // be used for compliance checking. 621 ProfileCategory string `xml:"profileCategory" json:"profileCategory"` 622 // Type of the target resource to which the capability information applies. 623 // 624 // A fixed enum that defines resource types for which capabilities can be defined 625 // see `PbmProfileResourceType`, `PbmProfileResourceTypeEnum_enum` 626 ResourceType PbmProfileResourceType `xml:"resourceType" json:"resourceType"` 627 // Subprofiles that describe storage requirements or storage provider capabilities, 628 // depending on the profile category (REQUIREMENT or RESOURCE). 629 Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr" json:"constraints"` 630 // Generation ID is used to communicate the current version of the profile to VASA 631 // providers. 632 // 633 // It is only applicable to REQUIREMENT profile types. Every time a 634 // requirement profile is edited, the Server will increment the generationId. You 635 // do not need to set the generationID. When an object is created (or 636 // reconfigured), the Server will send the requirement profile content, profile ID and 637 // the generationID to VASA provider. 638 GenerationId int64 `xml:"generationId,omitempty" json:"generationId,omitempty"` 639 // Deprecated since it is not supported. 640 // 641 // Not supported in this release. 642 IsDefault bool `xml:"isDefault" json:"isDefault"` 643 // Indicates the type of system pre-created default profile. 644 // 645 // This will be set only for system pre-created default profiles. And 646 // this is not set for RESOURCE profiles. 647 SystemCreatedProfileType string `xml:"systemCreatedProfileType,omitempty" json:"systemCreatedProfileType,omitempty"` 648 // This property is set only for data service policy. 649 // 650 // Indicates the line of service 651 // `PbmLineOfServiceInfoLineOfServiceEnum_enum` of the data service policy. 652 LineOfService string `xml:"lineOfService,omitempty" json:"lineOfService,omitempty"` 653 } 654 655 func init() { 656 types.Add("pbm:PbmCapabilityProfile", reflect.TypeOf((*PbmCapabilityProfile)(nil)).Elem()) 657 } 658 659 // The `PbmCapabilityProfileCreateSpec` describes storage requirements. 660 // 661 // Use this data object to create a `PbmCapabilityProfile`. 662 // 663 // This structure may be used only with operations rendered under `/pbm`. 664 type PbmCapabilityProfileCreateSpec struct { 665 types.DynamicData 666 667 // Name of the capability based profile to be created. 668 // 669 // The maximum length of the name is 80 characters. 670 Name string `xml:"name" json:"name"` 671 // Text description associated with the profile. 672 Description string `xml:"description,omitempty" json:"description,omitempty"` 673 // Category specifies the type of policy to be created. 674 // 675 // This can be REQUIREMENT from 676 // `PbmProfileCategoryEnum_enum` 677 // or null when creating a storage policy. And it can be DATA\_SERVICE\_POLICY from 678 // `PbmProfileCategoryEnum_enum` 679 // when creating a data service policy. RESOURCE from `PbmProfileCategoryEnum_enum` 680 // is not allowed as resource profile is created by the system. 681 Category string `xml:"category,omitempty" json:"category,omitempty"` 682 // Deprecated as of vSphere API 6.5. 683 // 684 // Specifies the type of resource to which the profile applies. 685 // 686 // The only legal value is STORAGE - deprecated. 687 ResourceType PbmProfileResourceType `xml:"resourceType" json:"resourceType"` 688 // Set of subprofiles that define the storage requirements. 689 // 690 // A subprofile corresponds to a rule set in the vSphere Web Client. 691 Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr" json:"constraints"` 692 } 693 694 func init() { 695 types.Add("pbm:PbmCapabilityProfileCreateSpec", reflect.TypeOf((*PbmCapabilityProfileCreateSpec)(nil)).Elem()) 696 } 697 698 // Fault used when a datastore doesnt match the capability profile property instance in requirements profile. 699 // 700 // This structure may be used only with operations rendered under `/pbm`. 701 type PbmCapabilityProfilePropertyMismatchFault struct { 702 PbmPropertyMismatchFault 703 704 // The property instance in the resource profile that does not match. 705 ResourcePropertyInstance PbmCapabilityPropertyInstance `xml:"resourcePropertyInstance" json:"resourcePropertyInstance"` 706 } 707 708 func init() { 709 types.Add("pbm:PbmCapabilityProfilePropertyMismatchFault", reflect.TypeOf((*PbmCapabilityProfilePropertyMismatchFault)(nil)).Elem()) 710 } 711 712 type PbmCapabilityProfilePropertyMismatchFaultFault BasePbmCapabilityProfilePropertyMismatchFault 713 714 func init() { 715 types.Add("pbm:PbmCapabilityProfilePropertyMismatchFaultFault", reflect.TypeOf((*PbmCapabilityProfilePropertyMismatchFaultFault)(nil)).Elem()) 716 } 717 718 // The `PbmCapabilityProfileUpdateSpec` data object 719 // contains data that you use to update a storage profile. 720 // 721 // This structure may be used only with operations rendered under `/pbm`. 722 type PbmCapabilityProfileUpdateSpec struct { 723 types.DynamicData 724 725 // Specifies a new profile name. 726 Name string `xml:"name,omitempty" json:"name,omitempty"` 727 // Specifies a new profile description. 728 Description string `xml:"description,omitempty" json:"description,omitempty"` 729 // Specifies one or more subprofiles. 730 // 731 // A subprofile defines one or more 732 // storage requirements. 733 Constraints BasePbmCapabilityConstraints `xml:"constraints,omitempty,typeattr" json:"constraints,omitempty"` 734 } 735 736 func init() { 737 types.Add("pbm:PbmCapabilityProfileUpdateSpec", reflect.TypeOf((*PbmCapabilityProfileUpdateSpec)(nil)).Elem()) 738 } 739 740 // The `PbmCapabilityPropertyInstance` data object describes a virtual machine 741 // storage requirement. 742 // 743 // A storage requirement is based on the storage capability 744 // described in the `PbmCapabilityPropertyMetadata` and in the 745 // datastore profile property instance. 746 // 747 // This structure may be used only with operations rendered under `/pbm`. 748 type PbmCapabilityPropertyInstance struct { 749 types.DynamicData 750 751 // Requirement property identifier. 752 // 753 // This identifier corresponds to the 754 // storage capability metadata identifier 755 // (`PbmCapabilityPropertyMetadata*.*PbmCapabilityPropertyMetadata.id`). 756 Id string `xml:"id" json:"id"` 757 // Operator for the values. 758 // 759 // Currently only support NOT operator for 760 // tag namespace 761 // See operator definition in (`PbmCapabilityOperator_enum`). 762 Operator string `xml:"operator,omitempty" json:"operator,omitempty"` 763 // Property value. 764 // 765 // You must specify the value. 766 // A property value is one value or a collection of values. 767 // - A single property value is expressed as a scalar value. 768 // - A collection of values is expressed as a `PbmCapabilityDiscreteSet` 769 // or a `PbmCapabilityRange` of values. 770 // 771 // The datatype of each value must be one of the 772 // `PbmBuiltinType_enum` datatypes. 773 // If the property consists of a collection of values, 774 // the interpretation of those values is determined by the 775 // `PbmCapabilityGenericTypeInfo`. 776 // 777 // Type information for a property instance is described in the property metadata 778 // (`PbmCapabilityPropertyMetadata*.*PbmCapabilityPropertyMetadata.type`). 779 Value types.AnyType `xml:"value,typeattr" json:"value"` 780 } 781 782 func init() { 783 types.Add("pbm:PbmCapabilityPropertyInstance", reflect.TypeOf((*PbmCapabilityPropertyInstance)(nil)).Elem()) 784 } 785 786 // The `PbmCapabilityPropertyMetadata` data object describes storage capability. 787 // 788 // An instance of property metadata may apply to many property instances 789 // (`PbmCapabilityPropertyInstance`). 790 // 791 // This structure may be used only with operations rendered under `/pbm`. 792 type PbmCapabilityPropertyMetadata struct { 793 types.DynamicData 794 795 // Property identifier. 796 // 797 // Should be unique within the definition of the 798 // capability. Property instances refer to this identifier 799 // (`PbmCapabilityPropertyInstance*.*PbmCapabilityPropertyInstance.id`). 800 Id string `xml:"id" json:"id"` 801 // Property name and description. 802 // - The <code>summary.label</code> property 803 // (`PbmExtendedElementDescription.label`) 804 // contains property 'name' in server locale. 805 // - The <code>summary.summary</code> property 806 // (`PbmExtendedElementDescription.summary`) 807 // contains property 'description' in server locale. 808 // - The <code>summary.messageCatalogKeyPrefix</code> property 809 // (`PbmExtendedElementDescription.messageCatalogKeyPrefix`) 810 // contains unique prefix for this property within given message catalog. 811 // Prefix format: <capability\_unique\_identifier.<property\_id 812 // capability\_unique\_identifier -- string representation of 813 // `PbmCapabilityMetadataUniqueId` which globally identifies given 814 // capability metadata definition uniquely. 815 // property\_id -- 'id' of this property `PbmCapabilityPropertyMetadata.id` 816 // Eg www.emc.com.storage.Recovery.Recovery\_site 817 // www.emc.com.storage.Recovery.RPO 818 // www.emc.com.storage.Recovery.RTO 819 Summary PbmExtendedElementDescription `xml:"summary" json:"summary"` 820 // Indicates whether incorporating given capability is mandatory during creation of 821 // profile. 822 Mandatory bool `xml:"mandatory" json:"mandatory"` 823 // Type information for the capability. 824 // 825 // The type of a property value 826 // (`PbmCapabilityPropertyInstance*.*PbmCapabilityPropertyInstance.value`) 827 // is specified as a builtin datatype and may also specify the interpretation of a 828 // collection of values of that datatype. 829 // - `PbmCapabilityPropertyMetadata.type*.*PbmCapabilityTypeInfo.typeName` 830 // specifies the `PbmBuiltinType_enum`. 831 // - `PbmCapabilityPropertyMetadata.type*.*PbmCapabilityGenericTypeInfo.genericTypeName` 832 // indicates how a collection of values of the specified datatype will be interpreted 833 // (`PbmBuiltinGenericType_enum`). 834 Type BasePbmCapabilityTypeInfo `xml:"type,omitempty,typeattr" json:"type,omitempty"` 835 // Default value, if any, that the property will assume when not 836 // constrained by requirements. 837 // 838 // This object must be of the 839 // `PbmCapabilityPropertyMetadata.type` 840 // defined for the property. 841 DefaultValue types.AnyType `xml:"defaultValue,omitempty,typeattr" json:"defaultValue,omitempty"` 842 // All legal values that the property may take on, across all 843 // implementations of the property. 844 // 845 // This definition of legal values is not 846 // determined by any particular resource configuration; rather it is 847 // inherent to the definition of the property. If undefined, then any value 848 // of the correct type is legal. This object must be a generic container for 849 // the `PbmCapabilityPropertyMetadata.type` 850 // defined for the property; 851 // see `PbmBuiltinGenericType_enum` 852 // for the supported generic container types. 853 AllowedValue types.AnyType `xml:"allowedValue,omitempty,typeattr" json:"allowedValue,omitempty"` 854 // A hint for data-driven systems that assist in authoring requirements 855 // constraints. 856 // 857 // Acceptable values defined by 858 // `PbmBuiltinGenericType_enum`. 859 // A property will typically only have constraints of a given type in 860 // requirement profiles, even if it is likely to use constraints of 861 // different types across capability profiles. This value, if specified, 862 // specifies the expected kind of constraint used in requirement profiles. 863 // Considerations for using this information: 864 // - This is only a hint; any properly formed constraint 865 // (see `PbmCapabilityPropertyInstance.value`) 866 // is still valid for a requirement profile. 867 // - If VMW\_SET is hinted, then a single value matching the property metadata type is 868 // also an expected form of constraint, as the latter is an allowed convenience 869 // for expressing a single-member set. 870 // - If this hint is not specified, then the authoring system may default to a form of 871 // constraint determined by its own criteria. 872 RequirementsTypeHint string `xml:"requirementsTypeHint,omitempty" json:"requirementsTypeHint,omitempty"` 873 } 874 875 func init() { 876 types.Add("pbm:PbmCapabilityPropertyMetadata", reflect.TypeOf((*PbmCapabilityPropertyMetadata)(nil)).Elem()) 877 } 878 879 // The `PbmCapabilityRange` data object defines a range of values for storage property 880 // instances (`PbmCapabilityPropertyInstance`). 881 // 882 // Use the range type to define a range of values of a supported builtin type, 883 // for example range<int>, range<long>, or range<timespan>. 884 // You can specify a partial range by omitting one of the properties, min or max. 885 // 886 // This structure may be used only with operations rendered under `/pbm`. 887 type PbmCapabilityRange struct { 888 types.DynamicData 889 890 // Minimum value of range. 891 // 892 // Must be one of the supported 893 // datatypes as defined in `PbmBuiltinType_enum`. 894 // Must be the same datatype as min. 895 Min types.AnyType `xml:"min,typeattr" json:"min"` 896 // Maximum value of range. 897 // 898 // Must be one of the supported 899 // datatypes as defined in `PbmBuiltinType_enum`. 900 // Must be the same datatype as max. 901 Max types.AnyType `xml:"max,typeattr" json:"max"` 902 } 903 904 func init() { 905 types.Add("pbm:PbmCapabilityRange", reflect.TypeOf((*PbmCapabilityRange)(nil)).Elem()) 906 } 907 908 // Capability Schema information 909 // 910 // This structure may be used only with operations rendered under `/pbm`. 911 type PbmCapabilitySchema struct { 912 types.DynamicData 913 914 VendorInfo PbmCapabilitySchemaVendorInfo `xml:"vendorInfo" json:"vendorInfo"` 915 NamespaceInfo PbmCapabilityNamespaceInfo `xml:"namespaceInfo" json:"namespaceInfo"` 916 // Service type for the schema. 917 // 918 // Do not use Category as each service needs to have its own schema version. 919 // 920 // If omitted, this schema specifies persistence capabilities. 921 LineOfService BasePbmLineOfServiceInfo `xml:"lineOfService,omitempty,typeattr" json:"lineOfService,omitempty"` 922 // Capability metadata organized by category 923 CapabilityMetadataPerCategory []PbmCapabilityMetadataPerCategory `xml:"capabilityMetadataPerCategory" json:"capabilityMetadataPerCategory"` 924 } 925 926 func init() { 927 types.Add("pbm:PbmCapabilitySchema", reflect.TypeOf((*PbmCapabilitySchema)(nil)).Elem()) 928 } 929 930 // Information about vendor/owner of the capability metadata schema 931 // 932 // This structure may be used only with operations rendered under `/pbm`. 933 type PbmCapabilitySchemaVendorInfo struct { 934 types.DynamicData 935 936 // Unique identifier for the vendor who owns the given capability 937 // schema definition 938 VendorUuid string `xml:"vendorUuid" json:"vendorUuid"` 939 // Captures name and description information about the vendor/owner of 940 // the schema. 941 // - The <code>summary.label</code> property 942 // (`PbmExtendedElementDescription.label`) 943 // contains vendor name information in server locale. 944 // - The <code>summary.summary</code> property 945 // (`PbmExtendedElementDescription.summary`) 946 // contains vendor description string in server locale. 947 // - The <code>summary.messageCatalogKeyPrefix</code> property 948 // (`PbmExtendedElementDescription.messageCatalogKeyPrefix`) 949 // contains unique prefix for the vendor information within given message 950 // catalog. 951 Info PbmExtendedElementDescription `xml:"info" json:"info"` 952 } 953 954 func init() { 955 types.Add("pbm:PbmCapabilitySchemaVendorInfo", reflect.TypeOf((*PbmCapabilitySchemaVendorInfo)(nil)).Elem()) 956 } 957 958 // A `PbmCapabilitySubProfile` 959 // is a section within a profile that aggregates one or more capability 960 // instances. 961 // 962 // Capability instances define storage constraints. 963 // 964 // All constraints within a subprofile are ANDed by default. 965 // When you perform compliance checking on a virtual machine or virtual 966 // disk, all of the constraints must be satisfied by the storage capabilities. 967 // 968 // This structure may be used only with operations rendered under `/pbm`. 969 type PbmCapabilitySubProfile struct { 970 types.DynamicData 971 972 // Subprofile name. 973 Name string `xml:"name" json:"name"` 974 // List of capability instances. 975 Capability []PbmCapabilityInstance `xml:"capability" json:"capability"` 976 // Indicates whether the source policy profile allows creating a virtual machine 977 // or virtual disk that may be non-compliant. 978 ForceProvision *bool `xml:"forceProvision" json:"forceProvision,omitempty"` 979 } 980 981 func init() { 982 types.Add("pbm:PbmCapabilitySubProfile", reflect.TypeOf((*PbmCapabilitySubProfile)(nil)).Elem()) 983 } 984 985 // The `PbmCapabilitySubProfileConstraints` data object defines a group 986 // of storage subprofiles. 987 // 988 // Subprofile usage depends on the type of profile 989 // (`PbmCapabilityProfile*.*PbmCapabilityProfile.profileCategory`). 990 // - For a REQUIREMENTS profile, each subprofile defines storage requirements. 991 // A Storage Policy API requirements subprofile corresponds to a vSphere Web Client 992 // rule set. 993 // - For a RESOURCE profile, each subprofile defines storage capabilities. 994 // Storage capabilities are read-only. 995 // 996 // This structure may be used only with operations rendered under `/pbm`. 997 type PbmCapabilitySubProfileConstraints struct { 998 PbmCapabilityConstraints 999 1000 // Aggregation of one or more subprofiles. 1001 // 1002 // The relationship among all subprofiles is "OR". When you perform 1003 // compliance checking on a profile that contains more than one subprofile, 1004 // a non-compliant result for any one of the subprofiles will produce a 1005 // non-compliant result for the operation. 1006 SubProfiles []PbmCapabilitySubProfile `xml:"subProfiles" json:"subProfiles"` 1007 } 1008 1009 func init() { 1010 types.Add("pbm:PbmCapabilitySubProfileConstraints", reflect.TypeOf((*PbmCapabilitySubProfileConstraints)(nil)).Elem()) 1011 } 1012 1013 // The `PbmCapabilityTimeSpan` data object defines a time value and time unit, 1014 // for example 10 hours or 5 minutes. 1015 // 1016 // See 1017 // `PbmBuiltinType_enum*.*VMW_TIMESPAN`. 1018 // 1019 // This structure may be used only with operations rendered under `/pbm`. 1020 type PbmCapabilityTimeSpan struct { 1021 types.DynamicData 1022 1023 // Time value. 1024 // 1025 // Must be a positive integer. 1026 Value int32 `xml:"value" json:"value"` 1027 // Unit value for time. 1028 // 1029 // The string value must correspond 1030 // to one of the `PbmCapabilityTimeUnitType_enum` values. 1031 Unit string `xml:"unit" json:"unit"` 1032 } 1033 1034 func init() { 1035 types.Add("pbm:PbmCapabilityTimeSpan", reflect.TypeOf((*PbmCapabilityTimeSpan)(nil)).Elem()) 1036 } 1037 1038 // The `PbmCapabilityTypeInfo` data object defines the datatype for a requirement 1039 // or capability property. 1040 // 1041 // See `PbmCapabilityPropertyMetadata`. 1042 // 1043 // This structure may be used only with operations rendered under `/pbm`. 1044 type PbmCapabilityTypeInfo struct { 1045 types.DynamicData 1046 1047 // Datatype for a property. 1048 // 1049 // Must be one of the types defined 1050 // in `PbmBuiltinType_enum`. 1051 // 1052 // A property value might consist of a collection of values of the specified 1053 // datatype. The interpretation of the collection is determined by the 1054 // generic type (`PbmCapabilityGenericTypeInfo.genericTypeName`). 1055 // The generic type indicates how a collection of values 1056 // of the specified datatype will be interpreted. See the descriptions of the 1057 // `PbmBuiltinType_enum` definitions. 1058 TypeName string `xml:"typeName" json:"typeName"` 1059 } 1060 1061 func init() { 1062 types.Add("pbm:PbmCapabilityTypeInfo", reflect.TypeOf((*PbmCapabilityTypeInfo)(nil)).Elem()) 1063 } 1064 1065 type PbmCapabilityVendorNamespaceInfo struct { 1066 types.DynamicData 1067 1068 VendorInfo PbmCapabilitySchemaVendorInfo `xml:"vendorInfo" json:"vendorInfo"` 1069 NamespaceInfo PbmCapabilityNamespaceInfo `xml:"namespaceInfo" json:"namespaceInfo"` 1070 } 1071 1072 func init() { 1073 types.Add("pbm:PbmCapabilityVendorNamespaceInfo", reflect.TypeOf((*PbmCapabilityVendorNamespaceInfo)(nil)).Elem()) 1074 } 1075 1076 type PbmCapabilityVendorResourceTypeInfo struct { 1077 types.DynamicData 1078 1079 // Resource type for which given vendor has registered given namespace 1080 // along with capability metadata that belongs to the namespace. 1081 // 1082 // Must match one of the values for enum `PbmProfileResourceTypeEnum_enum` 1083 ResourceType string `xml:"resourceType" json:"resourceType"` 1084 // List of all vendorInfo -- namespaceInfo tuples that are registered for 1085 // given resource type 1086 VendorNamespaceInfo []PbmCapabilityVendorNamespaceInfo `xml:"vendorNamespaceInfo" json:"vendorNamespaceInfo"` 1087 } 1088 1089 func init() { 1090 types.Add("pbm:PbmCapabilityVendorResourceTypeInfo", reflect.TypeOf((*PbmCapabilityVendorResourceTypeInfo)(nil)).Elem()) 1091 } 1092 1093 type PbmCheckCompatibility PbmCheckCompatibilityRequestType 1094 1095 func init() { 1096 types.Add("pbm:PbmCheckCompatibility", reflect.TypeOf((*PbmCheckCompatibility)(nil)).Elem()) 1097 } 1098 1099 // The parameters of `PbmPlacementSolver.PbmCheckCompatibility`. 1100 type PbmCheckCompatibilityRequestType struct { 1101 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1102 // Candidate list of hubs, either datastores or storage pods or a 1103 // mix. If this parameter is not specified, the Server uses all 1104 // of the datastores and storage pods for placement compatibility 1105 // checking. 1106 HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty" json:"hubsToSearch,omitempty"` 1107 // Storage requirement profile. 1108 Profile PbmProfileId `xml:"profile" json:"profile"` 1109 } 1110 1111 func init() { 1112 types.Add("pbm:PbmCheckCompatibilityRequestType", reflect.TypeOf((*PbmCheckCompatibilityRequestType)(nil)).Elem()) 1113 } 1114 1115 type PbmCheckCompatibilityResponse struct { 1116 Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1117 } 1118 1119 type PbmCheckCompatibilityWithSpec PbmCheckCompatibilityWithSpecRequestType 1120 1121 func init() { 1122 types.Add("pbm:PbmCheckCompatibilityWithSpec", reflect.TypeOf((*PbmCheckCompatibilityWithSpec)(nil)).Elem()) 1123 } 1124 1125 // The parameters of `PbmPlacementSolver.PbmCheckCompatibilityWithSpec`. 1126 type PbmCheckCompatibilityWithSpecRequestType struct { 1127 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1128 // Candidate list of hubs, either datastores or storage pods 1129 // or a mix. If this parameter is not specified, the Server uses all of the 1130 // datastores and storage pods for placement compatibility checking. 1131 HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty" json:"hubsToSearch,omitempty"` 1132 // Specification for a capability based profile. 1133 ProfileSpec PbmCapabilityProfileCreateSpec `xml:"profileSpec" json:"profileSpec"` 1134 } 1135 1136 func init() { 1137 types.Add("pbm:PbmCheckCompatibilityWithSpecRequestType", reflect.TypeOf((*PbmCheckCompatibilityWithSpecRequestType)(nil)).Elem()) 1138 } 1139 1140 type PbmCheckCompatibilityWithSpecResponse struct { 1141 Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1142 } 1143 1144 type PbmCheckCompliance PbmCheckComplianceRequestType 1145 1146 func init() { 1147 types.Add("pbm:PbmCheckCompliance", reflect.TypeOf((*PbmCheckCompliance)(nil)).Elem()) 1148 } 1149 1150 // The parameters of `PbmComplianceManager.PbmCheckCompliance`. 1151 type PbmCheckComplianceRequestType struct { 1152 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1153 // One or more references to storage entities. 1154 // You can specify virtual machines and virtual disks 1155 // A maximum of 1000 virtual machines and/or virtual disks can be specified 1156 // in a call. The results of calling the checkCompliance API with 1157 // more than a 1000 entities is undefined. 1158 // - If the list of entities also contains datastores, the Server 1159 // will ignore the datastores. 1160 // - If the list contains valid and invalid entities, the Server ignores 1161 // the invalid entities and returns results for the valid entities. 1162 // Invalid entities are entities that are not in the vCenter inventory. 1163 // - If the list contains only datastores, the method throws 1164 // an <code>InvalidArgument</code> fault. 1165 // - If the list contains virtual machines and disks and the entities 1166 // are invalid or have been deleted by the time of the request, the method 1167 // throws an <code>InvalidArgument</code> fault. 1168 // 1169 // If an entity does not have an associated storage profile, the entity 1170 // is removed from the list. 1171 Entities []PbmServerObjectRef `xml:"entities" json:"entities"` 1172 // Not used. If specified, the Server ignores the value. 1173 // The Server uses the profiles associated with the specified entities. 1174 Profile *PbmProfileId `xml:"profile,omitempty" json:"profile,omitempty"` 1175 } 1176 1177 func init() { 1178 types.Add("pbm:PbmCheckComplianceRequestType", reflect.TypeOf((*PbmCheckComplianceRequestType)(nil)).Elem()) 1179 } 1180 1181 type PbmCheckComplianceResponse struct { 1182 Returnval []PbmComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1183 } 1184 1185 type PbmCheckRequirements PbmCheckRequirementsRequestType 1186 1187 func init() { 1188 types.Add("pbm:PbmCheckRequirements", reflect.TypeOf((*PbmCheckRequirements)(nil)).Elem()) 1189 } 1190 1191 // The parameters of `PbmPlacementSolver.PbmCheckRequirements`. 1192 type PbmCheckRequirementsRequestType struct { 1193 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1194 // Candidate list of hubs, either datastores or storage pods 1195 // or a mix. If this parameter is not specified, the Server uses all of the 1196 // datastores and storage pods for placement compatibility checking. 1197 HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty" json:"hubsToSearch,omitempty"` 1198 // reference to the object being placed. Should be null when a new 1199 // object is being provisioned. Should be specified when placement compatibility is being checked 1200 // for an existing object. Supported objects are 1201 // `virtualMachine`, 1202 // `virtualMachineAndDisks`, 1203 // `virtualDiskId`, 1204 // `virtualDiskUUID` 1205 PlacementSubjectRef *PbmServerObjectRef `xml:"placementSubjectRef,omitempty" json:"placementSubjectRef,omitempty"` 1206 // Requirements including the policy requirements, compute 1207 // requirements and capacity requirements. It is invalid to specify no requirements. It is also 1208 // invalid to specify duplicate requirements or multiple conflicting requirements such as 1209 // specifying both `PbmPlacementCapabilityConstraintsRequirement` and 1210 // `PbmPlacementCapabilityProfileRequirement`. 1211 PlacementSubjectRequirement []BasePbmPlacementRequirement `xml:"placementSubjectRequirement,omitempty,typeattr" json:"placementSubjectRequirement,omitempty"` 1212 } 1213 1214 func init() { 1215 types.Add("pbm:PbmCheckRequirementsRequestType", reflect.TypeOf((*PbmCheckRequirementsRequestType)(nil)).Elem()) 1216 } 1217 1218 type PbmCheckRequirementsResponse struct { 1219 Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1220 } 1221 1222 type PbmCheckRollupCompliance PbmCheckRollupComplianceRequestType 1223 1224 func init() { 1225 types.Add("pbm:PbmCheckRollupCompliance", reflect.TypeOf((*PbmCheckRollupCompliance)(nil)).Elem()) 1226 } 1227 1228 // The parameters of `PbmComplianceManager.PbmCheckRollupCompliance`. 1229 type PbmCheckRollupComplianceRequestType struct { 1230 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1231 // One or more references to virtual machines. 1232 // A maximum of 1000 virtual machines can be specified 1233 // in a call. The results of calling the checkRollupCompliance API with 1234 // more than a 1000 entities is undefined. 1235 Entity []PbmServerObjectRef `xml:"entity" json:"entity"` 1236 } 1237 1238 func init() { 1239 types.Add("pbm:PbmCheckRollupComplianceRequestType", reflect.TypeOf((*PbmCheckRollupComplianceRequestType)(nil)).Elem()) 1240 } 1241 1242 type PbmCheckRollupComplianceResponse struct { 1243 Returnval []PbmRollupComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1244 } 1245 1246 // Super class for all compatibility check faults. 1247 // 1248 // This structure may be used only with operations rendered under `/pbm`. 1249 type PbmCompatibilityCheckFault struct { 1250 PbmFault 1251 1252 // Placement Hub 1253 Hub PbmPlacementHub `xml:"hub" json:"hub"` 1254 } 1255 1256 func init() { 1257 types.Add("pbm:PbmCompatibilityCheckFault", reflect.TypeOf((*PbmCompatibilityCheckFault)(nil)).Elem()) 1258 } 1259 1260 type PbmCompatibilityCheckFaultFault BasePbmCompatibilityCheckFault 1261 1262 func init() { 1263 types.Add("pbm:PbmCompatibilityCheckFaultFault", reflect.TypeOf((*PbmCompatibilityCheckFaultFault)(nil)).Elem()) 1264 } 1265 1266 // Additional information on the effects of backend resources and 1267 // operations on the storage object. 1268 // 1269 // This structure may be used only with operations rendered under `/pbm`. 1270 type PbmComplianceOperationalStatus struct { 1271 types.DynamicData 1272 1273 // Whether the object is currently affected by the failure of backend 1274 // storage resources. 1275 // 1276 // Optional property. 1277 Healthy *bool `xml:"healthy" json:"healthy,omitempty"` 1278 // Estimated completion time of a backend operation affecting the object. 1279 // 1280 // If set, then "transitional" will be true. 1281 // Optional property. 1282 OperationETA *time.Time `xml:"operationETA" json:"operationETA,omitempty"` 1283 // Percent progress of a backend operation affecting the object. 1284 // 1285 // If set, then "transitional" will be true. 1286 // Optional property. 1287 OperationProgress int64 `xml:"operationProgress,omitempty" json:"operationProgress,omitempty"` 1288 // Whether an object is undergoing a backend operation that may affect 1289 // its performance. 1290 // 1291 // This may be a rebalancing the resources of a healthy 1292 // object or recovery tasks for an unhealthy object. 1293 // Optional property. 1294 Transitional *bool `xml:"transitional" json:"transitional,omitempty"` 1295 } 1296 1297 func init() { 1298 types.Add("pbm:PbmComplianceOperationalStatus", reflect.TypeOf((*PbmComplianceOperationalStatus)(nil)).Elem()) 1299 } 1300 1301 // The `PbmCompliancePolicyStatus` data object provides information 1302 // when compliance checking produces non-compliant results. 1303 // 1304 // See 1305 // `PbmComplianceResult*.*PbmComplianceResult.violatedPolicies`. 1306 // 1307 // This structure may be used only with operations rendered under `/pbm`. 1308 type PbmCompliancePolicyStatus struct { 1309 types.DynamicData 1310 1311 // Expected storage capability values of profile policies defined 1312 // by a storage provider. 1313 ExpectedValue PbmCapabilityInstance `xml:"expectedValue" json:"expectedValue"` 1314 // Current storage requirement values of the profile policies 1315 // specified for the virtual machine or virtual disk. 1316 CurrentValue *PbmCapabilityInstance `xml:"currentValue,omitempty" json:"currentValue,omitempty"` 1317 } 1318 1319 func init() { 1320 types.Add("pbm:PbmCompliancePolicyStatus", reflect.TypeOf((*PbmCompliancePolicyStatus)(nil)).Elem()) 1321 } 1322 1323 // The `PbmComplianceResult` data object describes the results of profile compliance 1324 // checking for a virtual machine or virtual disk. 1325 // 1326 // This structure may be used only with operations rendered under `/pbm`. 1327 type PbmComplianceResult struct { 1328 types.DynamicData 1329 1330 // Time when the compliance was checked. 1331 CheckTime time.Time `xml:"checkTime" json:"checkTime"` 1332 // Virtual machine or virtual disk for which compliance was checked. 1333 Entity PbmServerObjectRef `xml:"entity" json:"entity"` 1334 // Requirement profile with which the compliance was checked. 1335 Profile *PbmProfileId `xml:"profile,omitempty" json:"profile,omitempty"` 1336 // Status of the current running compliance operation. 1337 // 1338 // If there is no 1339 // compliance check operation triggered, this indicates the last compliance 1340 // task status. <code>complianceTaskStatus</code> is a string value that 1341 // corresponds to one of the 1342 // `PbmComplianceResultComplianceTaskStatus_enum` values. 1343 ComplianceTaskStatus string `xml:"complianceTaskStatus,omitempty" json:"complianceTaskStatus,omitempty"` 1344 // Status of the compliance operation. 1345 // 1346 // <code>complianceStatus</code> is a 1347 // string value that corresponds to one of the 1348 // `PbmComplianceStatus_enum` values. 1349 // 1350 // When you perform compliance checking on an entity whose associated profile 1351 // contains more than one subprofile ( 1352 // `PbmCapabilityProfile` . 1353 // `PbmCapabilityProfile.constraints`), a compliant 1354 // result for any one of the subprofiles will produce a compliant result 1355 // for the operation. 1356 ComplianceStatus string `xml:"complianceStatus" json:"complianceStatus"` 1357 // Deprecated as of vSphere 2016, use 1358 // `PbmComplianceStatus_enum` to 1359 // know if a mismatch has occurred. If 1360 // `PbmComplianceResult.complianceStatus` value 1361 // is outOfDate, mismatch has occurred. 1362 // 1363 // Set to true if there is a profile version mismatch between the Storage 1364 // Profile Server and the storage provider. 1365 // 1366 // If you receive a result that 1367 // indicates a mismatch, you must use the vSphere API to update the profile 1368 // associated with the virtual machine or virtual disk. 1369 Mismatch bool `xml:"mismatch" json:"mismatch"` 1370 // Values for capabilities that are known to be non-compliant with the specified constraints. 1371 ViolatedPolicies []PbmCompliancePolicyStatus `xml:"violatedPolicies,omitempty" json:"violatedPolicies,omitempty"` 1372 // This property is set if the compliance task fails with errors. 1373 // 1374 // There can be 1375 // more than one error since a policy containing multiple blobs can return 1376 // multiple failures, one for each blob. 1377 ErrorCause []types.LocalizedMethodFault `xml:"errorCause,omitempty" json:"errorCause,omitempty"` 1378 // Additional information on the effects of backend resources and 1379 // operations on the storage object. 1380 OperationalStatus *PbmComplianceOperationalStatus `xml:"operationalStatus,omitempty" json:"operationalStatus,omitempty"` 1381 // Informational localized messages provided by the VASA provider in 1382 // addition to the <code>violatedPolicy</code>. 1383 Info *PbmExtendedElementDescription `xml:"info,omitempty" json:"info,omitempty"` 1384 } 1385 1386 func init() { 1387 types.Add("pbm:PbmComplianceResult", reflect.TypeOf((*PbmComplianceResult)(nil)).Elem()) 1388 } 1389 1390 type PbmCreate PbmCreateRequestType 1391 1392 func init() { 1393 types.Add("pbm:PbmCreate", reflect.TypeOf((*PbmCreate)(nil)).Elem()) 1394 } 1395 1396 // The parameters of `PbmProfileProfileManager.PbmCreate`. 1397 type PbmCreateRequestType struct { 1398 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1399 // Capability-based profile specification. 1400 CreateSpec PbmCapabilityProfileCreateSpec `xml:"createSpec" json:"createSpec"` 1401 } 1402 1403 func init() { 1404 types.Add("pbm:PbmCreateRequestType", reflect.TypeOf((*PbmCreateRequestType)(nil)).Elem()) 1405 } 1406 1407 type PbmCreateResponse struct { 1408 Returnval PbmProfileId `xml:"returnval" json:"returnval"` 1409 } 1410 1411 // DataServiceToProfilesMap maps the data service policy to the parent storage policies 1412 // if referred. 1413 // 1414 // This is returned from the API call 1415 // `ProfileManager#queryParentStoragePolicies(ProfileId[])` 1416 // 1417 // This structure may be used only with operations rendered under `/pbm`. 1418 type PbmDataServiceToPoliciesMap struct { 1419 types.DynamicData 1420 1421 // Denotes a Data Service Policy Id. 1422 DataServicePolicy PbmProfileId `xml:"dataServicePolicy" json:"dataServicePolicy"` 1423 // Storage Policies that refer to the Data Service Policy given by 1424 // `PbmDataServiceToPoliciesMap.dataServicePolicy`. 1425 ParentStoragePolicies []PbmProfileId `xml:"parentStoragePolicies,omitempty" json:"parentStoragePolicies,omitempty"` 1426 // The fault is set in case of error conditions and this property will 1427 // have the reason. 1428 Fault *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"` 1429 } 1430 1431 func init() { 1432 types.Add("pbm:PbmDataServiceToPoliciesMap", reflect.TypeOf((*PbmDataServiceToPoliciesMap)(nil)).Elem()) 1433 } 1434 1435 // Space stats for datastore 1436 // 1437 // This structure may be used only with operations rendered under `/pbm`. 1438 type PbmDatastoreSpaceStatistics struct { 1439 types.DynamicData 1440 1441 // Capability profile id. 1442 // 1443 // It is null when the statistics are for the entire 1444 // datastore. 1445 ProfileId string `xml:"profileId,omitempty" json:"profileId,omitempty"` 1446 // Total physical space in MB. 1447 PhysicalTotalInMB int64 `xml:"physicalTotalInMB" json:"physicalTotalInMB"` 1448 // Total physical free space in MB. 1449 PhysicalFreeInMB int64 `xml:"physicalFreeInMB" json:"physicalFreeInMB"` 1450 // Used physical storage space in MB. 1451 PhysicalUsedInMB int64 `xml:"physicalUsedInMB" json:"physicalUsedInMB"` 1452 // Logical space limit set by the storage admin in MB. 1453 // 1454 // Omitted if there is no Logical space limit. 1455 LogicalLimitInMB int64 `xml:"logicalLimitInMB,omitempty" json:"logicalLimitInMB,omitempty"` 1456 // Free logical storage space in MB. 1457 LogicalFreeInMB int64 `xml:"logicalFreeInMB" json:"logicalFreeInMB"` 1458 // Used logical storage space in MB. 1459 LogicalUsedInMB int64 `xml:"logicalUsedInMB" json:"logicalUsedInMB"` 1460 } 1461 1462 func init() { 1463 types.Add("pbm:PbmDatastoreSpaceStatistics", reflect.TypeOf((*PbmDatastoreSpaceStatistics)(nil)).Elem()) 1464 } 1465 1466 // Not supported in this release. 1467 // 1468 // This structure may be used only with operations rendered under `/pbm`. 1469 type PbmDefaultCapabilityProfile struct { 1470 PbmCapabilityProfile 1471 1472 // Not supported in this release. 1473 VvolType []string `xml:"vvolType" json:"vvolType"` 1474 // Not supported in this release. 1475 ContainerId string `xml:"containerId" json:"containerId"` 1476 } 1477 1478 func init() { 1479 types.Add("pbm:PbmDefaultCapabilityProfile", reflect.TypeOf((*PbmDefaultCapabilityProfile)(nil)).Elem()) 1480 } 1481 1482 // Warning fault used to indicate that the vendor specific datastore matches the tag in the 1483 // requirements profile that does not have a vendor specific rule set. 1484 // 1485 // In such case, 1486 // an empty blob is sent to the vendor specific datastore and the default profile would apply. 1487 // 1488 // This structure may be used only with operations rendered under `/pbm`. 1489 type PbmDefaultProfileAppliesFault struct { 1490 PbmCompatibilityCheckFault 1491 } 1492 1493 func init() { 1494 types.Add("pbm:PbmDefaultProfileAppliesFault", reflect.TypeOf((*PbmDefaultProfileAppliesFault)(nil)).Elem()) 1495 } 1496 1497 type PbmDefaultProfileAppliesFaultFault PbmDefaultProfileAppliesFault 1498 1499 func init() { 1500 types.Add("pbm:PbmDefaultProfileAppliesFaultFault", reflect.TypeOf((*PbmDefaultProfileAppliesFaultFault)(nil)).Elem()) 1501 } 1502 1503 // Data structure that stores the default profile for datastores. 1504 // 1505 // This structure may be used only with operations rendered under `/pbm`. 1506 type PbmDefaultProfileInfo struct { 1507 types.DynamicData 1508 1509 // Datastores 1510 Datastores []PbmPlacementHub `xml:"datastores" json:"datastores"` 1511 // Default requirements profile. 1512 // 1513 // It is set to null if the datastores are not associated with any default profile. 1514 DefaultProfile BasePbmProfile `xml:"defaultProfile,omitempty,typeattr" json:"defaultProfile,omitempty"` 1515 // NoPermission fault if default profile is not permitted. 1516 MethodFault *types.LocalizedMethodFault `xml:"methodFault,omitempty" json:"methodFault,omitempty"` 1517 } 1518 1519 func init() { 1520 types.Add("pbm:PbmDefaultProfileInfo", reflect.TypeOf((*PbmDefaultProfileInfo)(nil)).Elem()) 1521 } 1522 1523 type PbmDelete PbmDeleteRequestType 1524 1525 func init() { 1526 types.Add("pbm:PbmDelete", reflect.TypeOf((*PbmDelete)(nil)).Elem()) 1527 } 1528 1529 // The parameters of `PbmProfileProfileManager.PbmDelete`. 1530 type PbmDeleteRequestType struct { 1531 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1532 // Array of profile identifiers. 1533 ProfileId []PbmProfileId `xml:"profileId" json:"profileId"` 1534 } 1535 1536 func init() { 1537 types.Add("pbm:PbmDeleteRequestType", reflect.TypeOf((*PbmDeleteRequestType)(nil)).Elem()) 1538 } 1539 1540 type PbmDeleteResponse struct { 1541 Returnval []PbmProfileOperationOutcome `xml:"returnval,omitempty" json:"returnval,omitempty"` 1542 } 1543 1544 // A DuplicateName exception is thrown because a name already exists 1545 // in the same name space. 1546 // 1547 // This structure may be used only with operations rendered under `/pbm`. 1548 type PbmDuplicateName struct { 1549 PbmFault 1550 1551 // The name that is already bound in the name space. 1552 Name string `xml:"name" json:"name"` 1553 } 1554 1555 func init() { 1556 types.Add("pbm:PbmDuplicateName", reflect.TypeOf((*PbmDuplicateName)(nil)).Elem()) 1557 } 1558 1559 type PbmDuplicateNameFault PbmDuplicateName 1560 1561 func init() { 1562 types.Add("pbm:PbmDuplicateNameFault", reflect.TypeOf((*PbmDuplicateNameFault)(nil)).Elem()) 1563 } 1564 1565 type PbmExtendedElementDescription struct { 1566 types.DynamicData 1567 1568 // Display label. 1569 Label string `xml:"label" json:"label"` 1570 // Summary description. 1571 Summary string `xml:"summary" json:"summary"` 1572 // Enumeration or literal ID being described. 1573 Key string `xml:"key" json:"key"` 1574 // Key to the localized message string in the catalog. 1575 // 1576 // If the localized string contains parameters, values to the 1577 // parameters will be provided in #messageArg. 1578 // E.g: If the message in the catalog is 1579 // "IP address is {address}", value for "address" 1580 // will be provided by #messageArg. 1581 // Both summary and label in ElementDescription will have a corresponding 1582 // entry in the message catalog with the keys 1583 // .summary and .label 1584 // respectively. 1585 // ElementDescription.summary and ElementDescription.label will contain 1586 // the strings in server locale. 1587 MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"` 1588 // Provides named arguments that can be used to localize the 1589 // message in the catalog. 1590 MessageArg []types.KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"` 1591 } 1592 1593 func init() { 1594 types.Add("pbm:PbmExtendedElementDescription", reflect.TypeOf((*PbmExtendedElementDescription)(nil)).Elem()) 1595 } 1596 1597 // The super class for all pbm faults. 1598 // 1599 // This structure may be used only with operations rendered under `/pbm`. 1600 type PbmFault struct { 1601 types.MethodFault 1602 } 1603 1604 func init() { 1605 types.Add("pbm:PbmFault", reflect.TypeOf((*PbmFault)(nil)).Elem()) 1606 } 1607 1608 type PbmFaultFault BasePbmFault 1609 1610 func init() { 1611 types.Add("pbm:PbmFaultFault", reflect.TypeOf((*PbmFaultFault)(nil)).Elem()) 1612 } 1613 1614 // Thrown when login fails due to token not provided or token could not be 1615 // validated. 1616 // 1617 // This structure may be used only with operations rendered under `/pbm`. 1618 type PbmFaultInvalidLogin struct { 1619 PbmFault 1620 } 1621 1622 func init() { 1623 types.Add("pbm:PbmFaultInvalidLogin", reflect.TypeOf((*PbmFaultInvalidLogin)(nil)).Elem()) 1624 } 1625 1626 type PbmFaultInvalidLoginFault PbmFaultInvalidLogin 1627 1628 func init() { 1629 types.Add("pbm:PbmFaultInvalidLoginFault", reflect.TypeOf((*PbmFaultInvalidLoginFault)(nil)).Elem()) 1630 } 1631 1632 // Thrown when an operation is denied because of a privilege 1633 // not held on a storage profile. 1634 // 1635 // This structure may be used only with operations rendered under `/pbm`. 1636 type PbmFaultNoPermission struct { 1637 types.SecurityError 1638 1639 // List of profile ids and missing privileges for each profile 1640 MissingPrivileges []PbmFaultNoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty" json:"missingPrivileges,omitempty"` 1641 } 1642 1643 func init() { 1644 types.Add("pbm:PbmFaultNoPermission", reflect.TypeOf((*PbmFaultNoPermission)(nil)).Elem()) 1645 } 1646 1647 type PbmFaultNoPermissionEntityPrivileges struct { 1648 types.DynamicData 1649 1650 ProfileId *PbmProfileId `xml:"profileId,omitempty" json:"profileId,omitempty"` 1651 PrivilegeIds []string `xml:"privilegeIds,omitempty" json:"privilegeIds,omitempty"` 1652 } 1653 1654 func init() { 1655 types.Add("pbm:PbmFaultNoPermissionEntityPrivileges", reflect.TypeOf((*PbmFaultNoPermissionEntityPrivileges)(nil)).Elem()) 1656 } 1657 1658 type PbmFaultNoPermissionFault PbmFaultNoPermission 1659 1660 func init() { 1661 types.Add("pbm:PbmFaultNoPermissionFault", reflect.TypeOf((*PbmFaultNoPermissionFault)(nil)).Elem()) 1662 } 1663 1664 // A NotFound error occurs when a referenced component of a managed 1665 // object cannot be found. 1666 // 1667 // The referenced component can be a data 1668 // object type (such as a role or permission) or a primitive 1669 // (such as a string). 1670 // 1671 // For example, if the missing referenced component is a data object, such as 1672 // VirtualSwitch, the NotFound error is 1673 // thrown. The NotFound error is also thrown if the data object is found, but the referenced name 1674 // (for example, "vswitch0") is not. 1675 // 1676 // This structure may be used only with operations rendered under `/pbm`. 1677 type PbmFaultNotFound struct { 1678 PbmFault 1679 } 1680 1681 func init() { 1682 types.Add("pbm:PbmFaultNotFound", reflect.TypeOf((*PbmFaultNotFound)(nil)).Elem()) 1683 } 1684 1685 type PbmFaultNotFoundFault PbmFaultNotFound 1686 1687 func init() { 1688 types.Add("pbm:PbmFaultNotFoundFault", reflect.TypeOf((*PbmFaultNotFoundFault)(nil)).Elem()) 1689 } 1690 1691 type PbmFaultProfileStorageFault struct { 1692 PbmFault 1693 } 1694 1695 func init() { 1696 types.Add("pbm:PbmFaultProfileStorageFault", reflect.TypeOf((*PbmFaultProfileStorageFault)(nil)).Elem()) 1697 } 1698 1699 type PbmFaultProfileStorageFaultFault PbmFaultProfileStorageFault 1700 1701 func init() { 1702 types.Add("pbm:PbmFaultProfileStorageFaultFault", reflect.TypeOf((*PbmFaultProfileStorageFaultFault)(nil)).Elem()) 1703 } 1704 1705 type PbmFetchCapabilityMetadata PbmFetchCapabilityMetadataRequestType 1706 1707 func init() { 1708 types.Add("pbm:PbmFetchCapabilityMetadata", reflect.TypeOf((*PbmFetchCapabilityMetadata)(nil)).Elem()) 1709 } 1710 1711 // The parameters of `PbmProfileProfileManager.PbmFetchCapabilityMetadata`. 1712 type PbmFetchCapabilityMetadataRequestType struct { 1713 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1714 // Type of profile resource. The Server supports the "STORAGE" resource 1715 // type only. If not specified, this method will return capability metadata for the storage 1716 // resources. Any other <code>resourceType</code> is considered invalid. 1717 ResourceType *PbmProfileResourceType `xml:"resourceType,omitempty" json:"resourceType,omitempty"` 1718 // Unique identifier for the vendor/owner of capability 1719 // metadata. The specified vendor ID must match 1720 // `PbmCapabilitySchemaVendorInfo*.*PbmCapabilitySchemaVendorInfo.vendorUuid`. 1721 // If omitted, the Server searchs all capability metadata registered with the system. If a 1722 // <code>vendorUuid</code> unknown to the Server is specified, empty results will be returned. 1723 VendorUuid string `xml:"vendorUuid,omitempty" json:"vendorUuid,omitempty"` 1724 } 1725 1726 func init() { 1727 types.Add("pbm:PbmFetchCapabilityMetadataRequestType", reflect.TypeOf((*PbmFetchCapabilityMetadataRequestType)(nil)).Elem()) 1728 } 1729 1730 type PbmFetchCapabilityMetadataResponse struct { 1731 Returnval []PbmCapabilityMetadataPerCategory `xml:"returnval,omitempty" json:"returnval,omitempty"` 1732 } 1733 1734 type PbmFetchCapabilitySchema PbmFetchCapabilitySchemaRequestType 1735 1736 func init() { 1737 types.Add("pbm:PbmFetchCapabilitySchema", reflect.TypeOf((*PbmFetchCapabilitySchema)(nil)).Elem()) 1738 } 1739 1740 // The parameters of `PbmProfileProfileManager.PbmFetchCapabilitySchema`. 1741 type PbmFetchCapabilitySchemaRequestType struct { 1742 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1743 // Unique identifier for the vendor/owner of capability metadata. 1744 // If omitted, the server searchs all capability metadata registered 1745 // with the system. The specified vendor ID must match 1746 // `PbmCapabilitySchemaVendorInfo*.*PbmCapabilitySchemaVendorInfo.vendorUuid`. 1747 VendorUuid string `xml:"vendorUuid,omitempty" json:"vendorUuid,omitempty"` 1748 // Optional line of service that must match `PbmLineOfServiceInfoLineOfServiceEnum_enum`. 1749 // If specified, the capability schema objects 1750 // are returned for the given lineOfServices. If null, then all 1751 // capability schema objects that may or may not have data service capabilities 1752 // are returned. 1753 LineOfService []string `xml:"lineOfService,omitempty" json:"lineOfService,omitempty"` 1754 } 1755 1756 func init() { 1757 types.Add("pbm:PbmFetchCapabilitySchemaRequestType", reflect.TypeOf((*PbmFetchCapabilitySchemaRequestType)(nil)).Elem()) 1758 } 1759 1760 type PbmFetchCapabilitySchemaResponse struct { 1761 Returnval []PbmCapabilitySchema `xml:"returnval,omitempty" json:"returnval,omitempty"` 1762 } 1763 1764 type PbmFetchComplianceResult PbmFetchComplianceResultRequestType 1765 1766 func init() { 1767 types.Add("pbm:PbmFetchComplianceResult", reflect.TypeOf((*PbmFetchComplianceResult)(nil)).Elem()) 1768 } 1769 1770 // The parameters of `PbmComplianceManager.PbmFetchComplianceResult`. 1771 type PbmFetchComplianceResultRequestType struct { 1772 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1773 // One or more references to storage entities. 1774 // A maximum of 1000 virtual machines and/or virtual disks can be specified 1775 // in a call. The results of calling the fetchComplianceResult API with 1776 // more than a 1000 entities is undefined. 1777 // - If the list of entities also contains datastores, the Server 1778 // will ignore the datastores. 1779 // - If the list contains valid and invalid entities, the Server ignores 1780 // the invalid entities and returns results for the valid entities. 1781 // Invalid entities are entities that are not in the vCenter inventory. 1782 // - If the list contains only datastores, the method throws 1783 // an <code>InvalidArgument</code> fault. 1784 Entities []PbmServerObjectRef `xml:"entities" json:"entities"` 1785 // Not used. if specified, the Server ignores the value. 1786 // The Server uses the profiles associated with the specified entities. 1787 Profile *PbmProfileId `xml:"profile,omitempty" json:"profile,omitempty"` 1788 } 1789 1790 func init() { 1791 types.Add("pbm:PbmFetchComplianceResultRequestType", reflect.TypeOf((*PbmFetchComplianceResultRequestType)(nil)).Elem()) 1792 } 1793 1794 type PbmFetchComplianceResultResponse struct { 1795 Returnval []PbmComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1796 } 1797 1798 // The `PbmFetchEntityHealthStatusSpec` data object contains 1799 // the arguments required for 1800 // `PbmComplianceManager.PbmFetchEntityHealthStatusExt`. 1801 // 1802 // This structure may be used only with operations rendered under `/pbm`. 1803 type PbmFetchEntityHealthStatusSpec struct { 1804 types.DynamicData 1805 1806 // `PbmServerObjectRef` for which the healthStatus is required 1807 ObjectRef PbmServerObjectRef `xml:"objectRef" json:"objectRef"` 1808 // BackingId for the ServerObjectRef 1809 // BackingId is mandatory for FCD on vSAN 1810 BackingId string `xml:"backingId,omitempty" json:"backingId,omitempty"` 1811 } 1812 1813 func init() { 1814 types.Add("pbm:PbmFetchEntityHealthStatusSpec", reflect.TypeOf((*PbmFetchEntityHealthStatusSpec)(nil)).Elem()) 1815 } 1816 1817 type PbmFetchResourceType PbmFetchResourceTypeRequestType 1818 1819 func init() { 1820 types.Add("pbm:PbmFetchResourceType", reflect.TypeOf((*PbmFetchResourceType)(nil)).Elem()) 1821 } 1822 1823 type PbmFetchResourceTypeRequestType struct { 1824 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1825 } 1826 1827 func init() { 1828 types.Add("pbm:PbmFetchResourceTypeRequestType", reflect.TypeOf((*PbmFetchResourceTypeRequestType)(nil)).Elem()) 1829 } 1830 1831 type PbmFetchResourceTypeResponse struct { 1832 Returnval []PbmProfileResourceType `xml:"returnval,omitempty" json:"returnval,omitempty"` 1833 } 1834 1835 type PbmFetchRollupComplianceResult PbmFetchRollupComplianceResultRequestType 1836 1837 func init() { 1838 types.Add("pbm:PbmFetchRollupComplianceResult", reflect.TypeOf((*PbmFetchRollupComplianceResult)(nil)).Elem()) 1839 } 1840 1841 // The parameters of `PbmComplianceManager.PbmFetchRollupComplianceResult`. 1842 type PbmFetchRollupComplianceResultRequestType struct { 1843 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1844 // One or more virtual machines. 1845 // A maximum of 1000 virtual machines can be specified 1846 // in a call. The results of calling the fetchRollupComplianceResult API with 1847 // more than a 1000 entity objects is undefined. 1848 Entity []PbmServerObjectRef `xml:"entity" json:"entity"` 1849 } 1850 1851 func init() { 1852 types.Add("pbm:PbmFetchRollupComplianceResultRequestType", reflect.TypeOf((*PbmFetchRollupComplianceResultRequestType)(nil)).Elem()) 1853 } 1854 1855 type PbmFetchRollupComplianceResultResponse struct { 1856 Returnval []PbmRollupComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 1857 } 1858 1859 type PbmFetchVendorInfo PbmFetchVendorInfoRequestType 1860 1861 func init() { 1862 types.Add("pbm:PbmFetchVendorInfo", reflect.TypeOf((*PbmFetchVendorInfo)(nil)).Elem()) 1863 } 1864 1865 // The parameters of `PbmProfileProfileManager.PbmFetchVendorInfo`. 1866 type PbmFetchVendorInfoRequestType struct { 1867 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1868 // Specifies the resource type. The Server supports the STORAGE resource 1869 // type only. If not specified, server defaults to STORAGE resource type. Any other 1870 // <code>resourceType</code> is considered invalid. 1871 ResourceType *PbmProfileResourceType `xml:"resourceType,omitempty" json:"resourceType,omitempty"` 1872 } 1873 1874 func init() { 1875 types.Add("pbm:PbmFetchVendorInfoRequestType", reflect.TypeOf((*PbmFetchVendorInfoRequestType)(nil)).Elem()) 1876 } 1877 1878 type PbmFetchVendorInfoResponse struct { 1879 Returnval []PbmCapabilityVendorResourceTypeInfo `xml:"returnval,omitempty" json:"returnval,omitempty"` 1880 } 1881 1882 type PbmFindApplicableDefaultProfile PbmFindApplicableDefaultProfileRequestType 1883 1884 func init() { 1885 types.Add("pbm:PbmFindApplicableDefaultProfile", reflect.TypeOf((*PbmFindApplicableDefaultProfile)(nil)).Elem()) 1886 } 1887 1888 // The parameters of `PbmProfileProfileManager.PbmFindApplicableDefaultProfile`. 1889 type PbmFindApplicableDefaultProfileRequestType struct { 1890 This types.ManagedObjectReference `xml:"_this" json:"_this"` 1891 // Datastores for which the default profile is found out. Note that 1892 // the datastore pods/clusters are not supported. 1893 Datastores []PbmPlacementHub `xml:"datastores" json:"datastores"` 1894 } 1895 1896 func init() { 1897 types.Add("pbm:PbmFindApplicableDefaultProfileRequestType", reflect.TypeOf((*PbmFindApplicableDefaultProfileRequestType)(nil)).Elem()) 1898 } 1899 1900 type PbmFindApplicableDefaultProfileResponse struct { 1901 Returnval []BasePbmProfile `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"` 1902 } 1903 1904 // Warning fault used to indicate that the vendor specific datastore matches the tag in the 1905 // requirements profile but doesnt match the vendor specific rule set in the requirements profile. 1906 // 1907 // This structure may be used only with operations rendered under `/pbm`. 1908 type PbmIncompatibleVendorSpecificRuleSet struct { 1909 PbmCapabilityProfilePropertyMismatchFault 1910 } 1911 1912 func init() { 1913 types.Add("pbm:PbmIncompatibleVendorSpecificRuleSet", reflect.TypeOf((*PbmIncompatibleVendorSpecificRuleSet)(nil)).Elem()) 1914 } 1915 1916 type PbmIncompatibleVendorSpecificRuleSetFault PbmIncompatibleVendorSpecificRuleSet 1917 1918 func init() { 1919 types.Add("pbm:PbmIncompatibleVendorSpecificRuleSetFault", reflect.TypeOf((*PbmIncompatibleVendorSpecificRuleSetFault)(nil)).Elem()) 1920 } 1921 1922 // LegacyHubsNotSupported fault is thrown to indicate the legacy hubs that are not supported. 1923 // 1924 // For storage, legacy hubs or datastores are VMFS and NFS datastores. 1925 // 1926 // This structure may be used only with operations rendered under `/pbm`. 1927 type PbmLegacyHubsNotSupported struct { 1928 PbmFault 1929 1930 // Legacy hubs that are not supported. 1931 // 1932 // Only datastores will be populated in this fault. Datastore clusters 1933 // are not allowed. 1934 Hubs []PbmPlacementHub `xml:"hubs" json:"hubs"` 1935 } 1936 1937 func init() { 1938 types.Add("pbm:PbmLegacyHubsNotSupported", reflect.TypeOf((*PbmLegacyHubsNotSupported)(nil)).Elem()) 1939 } 1940 1941 type PbmLegacyHubsNotSupportedFault PbmLegacyHubsNotSupported 1942 1943 func init() { 1944 types.Add("pbm:PbmLegacyHubsNotSupportedFault", reflect.TypeOf((*PbmLegacyHubsNotSupportedFault)(nil)).Elem()) 1945 } 1946 1947 // Describes Line of Service of a capability provider. 1948 // 1949 // This structure may be used only with operations rendered under `/pbm`. 1950 type PbmLineOfServiceInfo struct { 1951 types.DynamicData 1952 1953 // `PbmLineOfServiceInfoLineOfServiceEnum_enum` - must be one of the values 1954 // for enum `PbmLineOfServiceInfoLineOfServiceEnum_enum`. 1955 LineOfService string `xml:"lineOfService" json:"lineOfService"` 1956 // Name of the service - for informational 1957 // purposes only. 1958 Name PbmExtendedElementDescription `xml:"name" json:"name"` 1959 // Description of the service - for informational 1960 // purposes only. 1961 Description *PbmExtendedElementDescription `xml:"description,omitempty" json:"description,omitempty"` 1962 } 1963 1964 func init() { 1965 types.Add("pbm:PbmLineOfServiceInfo", reflect.TypeOf((*PbmLineOfServiceInfo)(nil)).Elem()) 1966 } 1967 1968 type PbmLoggingConfiguration struct { 1969 types.DynamicData 1970 1971 Component string `xml:"component" json:"component"` 1972 LogLevel string `xml:"logLevel" json:"logLevel"` 1973 } 1974 1975 func init() { 1976 types.Add("pbm:PbmLoggingConfiguration", reflect.TypeOf((*PbmLoggingConfiguration)(nil)).Elem()) 1977 } 1978 1979 // NonExistentHubs is thrown to indicate that some non existent datastores are used. 1980 // 1981 // This structure may be used only with operations rendered under `/pbm`. 1982 type PbmNonExistentHubs struct { 1983 PbmFault 1984 1985 // Legacy hubs that do not exist. 1986 Hubs []PbmPlacementHub `xml:"hubs" json:"hubs"` 1987 } 1988 1989 func init() { 1990 types.Add("pbm:PbmNonExistentHubs", reflect.TypeOf((*PbmNonExistentHubs)(nil)).Elem()) 1991 } 1992 1993 type PbmNonExistentHubsFault PbmNonExistentHubs 1994 1995 func init() { 1996 types.Add("pbm:PbmNonExistentHubsFault", reflect.TypeOf((*PbmNonExistentHubsFault)(nil)).Elem()) 1997 } 1998 1999 // Describes the data services provided by the storage arrays. 2000 // 2001 // In addition to storing bits, some VASA providers may also want to separate 2002 // their capabilities into lines of service to let vSphere manage finer grain 2003 // policies. For example an array may support replication natively, and may 2004 // want vSphere policies to be defined for the replication aspect separately 2005 // and compose them with persistence related policies. 2006 // 2007 // This structure may be used only with operations rendered under `/pbm`. 2008 type PbmPersistenceBasedDataServiceInfo struct { 2009 PbmLineOfServiceInfo 2010 2011 // This property should be set with compatible schema namespaces exposed by 2012 // the vendor provider. 2013 // 2014 // If not specified, vSphere assumes all Data Service 2015 // provider schemas are compatible with all persistence provider namespaces 2016 // advertised by the VASA provider. 2017 CompatiblePersistenceSchemaNamespace []string `xml:"compatiblePersistenceSchemaNamespace,omitempty" json:"compatiblePersistenceSchemaNamespace,omitempty"` 2018 } 2019 2020 func init() { 2021 types.Add("pbm:PbmPersistenceBasedDataServiceInfo", reflect.TypeOf((*PbmPersistenceBasedDataServiceInfo)(nil)).Elem()) 2022 } 2023 2024 // Requirement type containing capability constraints 2025 // 2026 // This structure may be used only with operations rendered under `/pbm`. 2027 type PbmPlacementCapabilityConstraintsRequirement struct { 2028 PbmPlacementRequirement 2029 2030 // Capability constraints 2031 Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr" json:"constraints"` 2032 } 2033 2034 func init() { 2035 types.Add("pbm:PbmPlacementCapabilityConstraintsRequirement", reflect.TypeOf((*PbmPlacementCapabilityConstraintsRequirement)(nil)).Elem()) 2036 } 2037 2038 // A Requirement for a particular `PbmCapabilityProfile`. 2039 // 2040 // This structure may be used only with operations rendered under `/pbm`. 2041 type PbmPlacementCapabilityProfileRequirement struct { 2042 PbmPlacementRequirement 2043 2044 // Reference to the capability profile being used as a requirement 2045 ProfileId PbmProfileId `xml:"profileId" json:"profileId"` 2046 } 2047 2048 func init() { 2049 types.Add("pbm:PbmPlacementCapabilityProfileRequirement", reflect.TypeOf((*PbmPlacementCapabilityProfileRequirement)(nil)).Elem()) 2050 } 2051 2052 // The `PbmPlacementCompatibilityResult` data object 2053 // contains the compatibility result of a placement request. 2054 // 2055 // This structure may be used only with operations rendered under `/pbm`. 2056 type PbmPlacementCompatibilityResult struct { 2057 types.DynamicData 2058 2059 // The <code>Datastore</code> or <code>StoragePod</code> under consideration 2060 // as a location for virtual machine files. 2061 Hub PbmPlacementHub `xml:"hub" json:"hub"` 2062 // Resources that match the policy. 2063 // 2064 // If populated, signifies that there are 2065 // specific resources that match the policy for `PbmPlacementCompatibilityResult.hub`. If null, 2066 // signifies that all resources (for example, hosts connected to the 2067 // datastore or storage pod) are compatible. 2068 MatchingResources []BasePbmPlacementMatchingResources `xml:"matchingResources,omitempty,typeattr" json:"matchingResources,omitempty"` 2069 // How many objects of the kind requested can be provisioned on this 2070 // `PbmPlacementCompatibilityResult.hub`. 2071 HowMany int64 `xml:"howMany,omitempty" json:"howMany,omitempty"` 2072 // This field is not populated if there is no size in the query, i.e. 2073 // 2074 // if the request carries only policy and no size requirements, this 2075 // will not be populated. 2076 Utilization []PbmPlacementResourceUtilization `xml:"utilization,omitempty" json:"utilization,omitempty"` 2077 // Array of faults that describe issues that may affect profile compatibility. 2078 // 2079 // Users should consider these issues before using this <code>Datastore</code> 2080 // or <code>StoragePod</code> and a connected <code>Host</code>s. 2081 Warning []types.LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"` 2082 // Array of faults that prevent this datastore or storage pod from being compatible with the 2083 // specified profile, including if no host connected to this `PbmPlacementCompatibilityResult.hub` is compatible. 2084 Error []types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"` 2085 } 2086 2087 func init() { 2088 types.Add("pbm:PbmPlacementCompatibilityResult", reflect.TypeOf((*PbmPlacementCompatibilityResult)(nil)).Elem()) 2089 } 2090 2091 // A `PbmPlacementHub` data object identifies a storage location 2092 // where virtual machine files can be placed. 2093 // 2094 // This structure may be used only with operations rendered under `/pbm`. 2095 type PbmPlacementHub struct { 2096 types.DynamicData 2097 2098 // Type of the hub. 2099 // 2100 // Currently ManagedObject is the only supported type. 2101 HubType string `xml:"hubType" json:"hubType"` 2102 // Hub identifier; a ManagedObjectReference to a datastore or a storage pod. 2103 HubId string `xml:"hubId" json:"hubId"` 2104 } 2105 2106 func init() { 2107 types.Add("pbm:PbmPlacementHub", reflect.TypeOf((*PbmPlacementHub)(nil)).Elem()) 2108 } 2109 2110 // Describes the collection of replication related resources that satisfy a 2111 // policy, for a specific datastore. 2112 // 2113 // This class is returned only when the policy contains replication capabilities. 2114 // For a storage pod, only those replication groups that are common across 2115 // all datastores in the storage pod are considered compatible. 2116 // 2117 // This structure may be used only with operations rendered under `/pbm`. 2118 type PbmPlacementMatchingReplicationResources struct { 2119 PbmPlacementMatchingResources 2120 2121 // Replication groups that match the policy. 2122 ReplicationGroup []types.ReplicationGroupId `xml:"replicationGroup,omitempty" json:"replicationGroup,omitempty"` 2123 } 2124 2125 func init() { 2126 types.Add("pbm:PbmPlacementMatchingReplicationResources", reflect.TypeOf((*PbmPlacementMatchingReplicationResources)(nil)).Elem()) 2127 } 2128 2129 // Describes the collection of resources (for example, hosts) that satisfy a 2130 // policy, for a specific datastore. 2131 // 2132 // This structure may be used only with operations rendered under `/pbm`. 2133 type PbmPlacementMatchingResources struct { 2134 types.DynamicData 2135 } 2136 2137 func init() { 2138 types.Add("pbm:PbmPlacementMatchingResources", reflect.TypeOf((*PbmPlacementMatchingResources)(nil)).Elem()) 2139 } 2140 2141 // Defines a constraint for placing objects onto `PbmPlacementHub`s. 2142 // 2143 // This structure may be used only with operations rendered under `/pbm`. 2144 type PbmPlacementRequirement struct { 2145 types.DynamicData 2146 } 2147 2148 func init() { 2149 types.Add("pbm:PbmPlacementRequirement", reflect.TypeOf((*PbmPlacementRequirement)(nil)).Elem()) 2150 } 2151 2152 // Describes the resource utilization metrics of a datastore. 2153 // 2154 // These results are not to be treated as a guaranteed availability, 2155 // they are useful to estimate the effects of a change of policy 2156 // or the effects of a provisioning action. 2157 // 2158 // This structure may be used only with operations rendered under `/pbm`. 2159 type PbmPlacementResourceUtilization struct { 2160 types.DynamicData 2161 2162 // Name of the resource. 2163 Name PbmExtendedElementDescription `xml:"name" json:"name"` 2164 // Description of the resource. 2165 Description PbmExtendedElementDescription `xml:"description" json:"description"` 2166 // Currently available (i.e. 2167 // 2168 // before the provisioning step). 2169 AvailableBefore int64 `xml:"availableBefore,omitempty" json:"availableBefore,omitempty"` 2170 // Available after the provisioning step. 2171 AvailableAfter int64 `xml:"availableAfter,omitempty" json:"availableAfter,omitempty"` 2172 // Total resource availability 2173 Total int64 `xml:"total,omitempty" json:"total,omitempty"` 2174 } 2175 2176 func init() { 2177 types.Add("pbm:PbmPlacementResourceUtilization", reflect.TypeOf((*PbmPlacementResourceUtilization)(nil)).Elem()) 2178 } 2179 2180 // The `PbmProfile` data object is the base object 2181 // for storage capability profiles. 2182 // 2183 // This object defines metadata 2184 // for the profile. The derived capability profile represents the 2185 // user's intent for selection and configuration of storage resources 2186 // and/or services that support deployment of virtual machines 2187 // and virtual disks. 2188 // 2189 // This structure may be used only with operations rendered under `/pbm`. 2190 type PbmProfile struct { 2191 types.DynamicData 2192 2193 // Unique identifier for the profile. 2194 ProfileId PbmProfileId `xml:"profileId" json:"profileId"` 2195 Name string `xml:"name" json:"name"` 2196 // Profile description. 2197 Description string `xml:"description,omitempty" json:"description,omitempty"` 2198 // Time stamp of profile creation. 2199 CreationTime time.Time `xml:"creationTime" json:"creationTime"` 2200 // User name of the profile creator. 2201 // 2202 // Set during creation time. 2203 CreatedBy string `xml:"createdBy" json:"createdBy"` 2204 // Time stamp of latest modification to the profile. 2205 LastUpdatedTime time.Time `xml:"lastUpdatedTime" json:"lastUpdatedTime"` 2206 // Name of the user performing the latest modification of the profile. 2207 LastUpdatedBy string `xml:"lastUpdatedBy" json:"lastUpdatedBy"` 2208 } 2209 2210 func init() { 2211 types.Add("pbm:PbmProfile", reflect.TypeOf((*PbmProfile)(nil)).Elem()) 2212 } 2213 2214 // Profile unique identifier. 2215 // 2216 // This structure may be used only with operations rendered under `/pbm`. 2217 type PbmProfileId struct { 2218 types.DynamicData 2219 2220 // Unique identifier of the profile. 2221 UniqueId string `xml:"uniqueId" json:"uniqueId"` 2222 } 2223 2224 func init() { 2225 types.Add("pbm:PbmProfileId", reflect.TypeOf((*PbmProfileId)(nil)).Elem()) 2226 } 2227 2228 // The `PbmProfileOperationOutcome` data object describes the result 2229 // of a `PbmProfileProfileManager` operation. 2230 // 2231 // If there was an 2232 // error during the operation, the object identifies the fault. 2233 // 2234 // This structure may be used only with operations rendered under `/pbm`. 2235 type PbmProfileOperationOutcome struct { 2236 types.DynamicData 2237 2238 // Identifies the profile specified for the operation. 2239 ProfileId PbmProfileId `xml:"profileId" json:"profileId"` 2240 // One of the `PbmFault` objects. 2241 Fault *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"` 2242 } 2243 2244 func init() { 2245 types.Add("pbm:PbmProfileOperationOutcome", reflect.TypeOf((*PbmProfileOperationOutcome)(nil)).Elem()) 2246 } 2247 2248 // The `PbmProfileResourceType` data object defines the vSphere resource type 2249 // that is supported for profile management. 2250 // 2251 // This structure may be used only with operations rendered under `/pbm`. 2252 type PbmProfileResourceType struct { 2253 types.DynamicData 2254 2255 // Type of resource to which capability information applies. 2256 // 2257 // <code>resourceType</code> is a string value that corresponds to 2258 // a `PbmProfileResourceTypeEnum_enum` enumeration value. 2259 // Only the STORAGE resource type is supported. 2260 ResourceType string `xml:"resourceType" json:"resourceType"` 2261 } 2262 2263 func init() { 2264 types.Add("pbm:PbmProfileResourceType", reflect.TypeOf((*PbmProfileResourceType)(nil)).Elem()) 2265 } 2266 2267 // The `PbmProfileType` identifier is defined by storage providers 2268 // to distinguish between different types of profiles plugged into the system. 2269 // 2270 // An example of a system supported profile type is "CapabilityBasedProfileType" 2271 // which will be the type used for all capability-based profiles created by 2272 // the system using capability metadata information published to the system. 2273 // 2274 // For internal use only. 2275 // 2276 // This structure may be used only with operations rendered under `/pbm`. 2277 type PbmProfileType struct { 2278 types.DynamicData 2279 2280 // Unique type identifier for this profile type. 2281 // 2282 // eg "CapabilityBased", or other. 2283 UniqueId string `xml:"uniqueId" json:"uniqueId"` 2284 } 2285 2286 func init() { 2287 types.Add("pbm:PbmProfileType", reflect.TypeOf((*PbmProfileType)(nil)).Elem()) 2288 } 2289 2290 // Fault used to indicate which property instance in requirements profile that does not 2291 // match. 2292 // 2293 // This structure may be used only with operations rendered under `/pbm`. 2294 type PbmPropertyMismatchFault struct { 2295 PbmCompatibilityCheckFault 2296 2297 // Id of the CapabilityInstance in requirements profile that 2298 // does not match. 2299 CapabilityInstanceId PbmCapabilityMetadataUniqueId `xml:"capabilityInstanceId" json:"capabilityInstanceId"` 2300 // The property instance in requirement profile that does not match. 2301 RequirementPropertyInstance PbmCapabilityPropertyInstance `xml:"requirementPropertyInstance" json:"requirementPropertyInstance"` 2302 } 2303 2304 func init() { 2305 types.Add("pbm:PbmPropertyMismatchFault", reflect.TypeOf((*PbmPropertyMismatchFault)(nil)).Elem()) 2306 } 2307 2308 type PbmPropertyMismatchFaultFault BasePbmPropertyMismatchFault 2309 2310 func init() { 2311 types.Add("pbm:PbmPropertyMismatchFaultFault", reflect.TypeOf((*PbmPropertyMismatchFaultFault)(nil)).Elem()) 2312 } 2313 2314 type PbmQueryAssociatedEntities PbmQueryAssociatedEntitiesRequestType 2315 2316 func init() { 2317 types.Add("pbm:PbmQueryAssociatedEntities", reflect.TypeOf((*PbmQueryAssociatedEntities)(nil)).Elem()) 2318 } 2319 2320 // The parameters of `PbmProfileProfileManager.PbmQueryAssociatedEntities`. 2321 type PbmQueryAssociatedEntitiesRequestType struct { 2322 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2323 // Storage policy array. 2324 Profiles []PbmProfileId `xml:"profiles,omitempty" json:"profiles,omitempty"` 2325 } 2326 2327 func init() { 2328 types.Add("pbm:PbmQueryAssociatedEntitiesRequestType", reflect.TypeOf((*PbmQueryAssociatedEntitiesRequestType)(nil)).Elem()) 2329 } 2330 2331 type PbmQueryAssociatedEntitiesResponse struct { 2332 Returnval []PbmQueryProfileResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 2333 } 2334 2335 type PbmQueryAssociatedEntity PbmQueryAssociatedEntityRequestType 2336 2337 func init() { 2338 types.Add("pbm:PbmQueryAssociatedEntity", reflect.TypeOf((*PbmQueryAssociatedEntity)(nil)).Elem()) 2339 } 2340 2341 // The parameters of `PbmProfileProfileManager.PbmQueryAssociatedEntity`. 2342 type PbmQueryAssociatedEntityRequestType struct { 2343 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2344 // Profile identifier. 2345 Profile PbmProfileId `xml:"profile" json:"profile"` 2346 // If specified, the method returns only those entities 2347 // which match the type. The <code>entityType</code> string value must match 2348 // one of the `PbmObjectType_enum` values. 2349 // If not specified, the method returns all entities associated with the profile. 2350 EntityType string `xml:"entityType,omitempty" json:"entityType,omitempty"` 2351 } 2352 2353 func init() { 2354 types.Add("pbm:PbmQueryAssociatedEntityRequestType", reflect.TypeOf((*PbmQueryAssociatedEntityRequestType)(nil)).Elem()) 2355 } 2356 2357 type PbmQueryAssociatedEntityResponse struct { 2358 Returnval []PbmServerObjectRef `xml:"returnval,omitempty" json:"returnval,omitempty"` 2359 } 2360 2361 type PbmQueryAssociatedProfile PbmQueryAssociatedProfileRequestType 2362 2363 func init() { 2364 types.Add("pbm:PbmQueryAssociatedProfile", reflect.TypeOf((*PbmQueryAssociatedProfile)(nil)).Elem()) 2365 } 2366 2367 // The parameters of `PbmProfileProfileManager.PbmQueryAssociatedProfile`. 2368 type PbmQueryAssociatedProfileRequestType struct { 2369 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2370 // Reference to a virtual machine, virtual disk, or datastore. 2371 Entity PbmServerObjectRef `xml:"entity" json:"entity"` 2372 } 2373 2374 func init() { 2375 types.Add("pbm:PbmQueryAssociatedProfileRequestType", reflect.TypeOf((*PbmQueryAssociatedProfileRequestType)(nil)).Elem()) 2376 } 2377 2378 type PbmQueryAssociatedProfileResponse struct { 2379 Returnval []PbmProfileId `xml:"returnval,omitempty" json:"returnval,omitempty"` 2380 } 2381 2382 type PbmQueryAssociatedProfiles PbmQueryAssociatedProfilesRequestType 2383 2384 func init() { 2385 types.Add("pbm:PbmQueryAssociatedProfiles", reflect.TypeOf((*PbmQueryAssociatedProfiles)(nil)).Elem()) 2386 } 2387 2388 // The parameters of `PbmProfileProfileManager.PbmQueryAssociatedProfiles`. 2389 type PbmQueryAssociatedProfilesRequestType struct { 2390 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2391 // Array of server object references. 2392 Entities []PbmServerObjectRef `xml:"entities" json:"entities"` 2393 } 2394 2395 func init() { 2396 types.Add("pbm:PbmQueryAssociatedProfilesRequestType", reflect.TypeOf((*PbmQueryAssociatedProfilesRequestType)(nil)).Elem()) 2397 } 2398 2399 type PbmQueryAssociatedProfilesResponse struct { 2400 Returnval []PbmQueryProfileResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 2401 } 2402 2403 type PbmQueryByRollupComplianceStatus PbmQueryByRollupComplianceStatusRequestType 2404 2405 func init() { 2406 types.Add("pbm:PbmQueryByRollupComplianceStatus", reflect.TypeOf((*PbmQueryByRollupComplianceStatus)(nil)).Elem()) 2407 } 2408 2409 // The parameters of `PbmComplianceManager.PbmQueryByRollupComplianceStatus`. 2410 type PbmQueryByRollupComplianceStatusRequestType struct { 2411 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2412 // `PbmComplianceStatus_enum` 2413 Status string `xml:"status" json:"status"` 2414 } 2415 2416 func init() { 2417 types.Add("pbm:PbmQueryByRollupComplianceStatusRequestType", reflect.TypeOf((*PbmQueryByRollupComplianceStatusRequestType)(nil)).Elem()) 2418 } 2419 2420 type PbmQueryByRollupComplianceStatusResponse struct { 2421 Returnval []PbmServerObjectRef `xml:"returnval,omitempty" json:"returnval,omitempty"` 2422 } 2423 2424 type PbmQueryDefaultRequirementProfile PbmQueryDefaultRequirementProfileRequestType 2425 2426 func init() { 2427 types.Add("pbm:PbmQueryDefaultRequirementProfile", reflect.TypeOf((*PbmQueryDefaultRequirementProfile)(nil)).Elem()) 2428 } 2429 2430 // The parameters of `PbmProfileProfileManager.PbmQueryDefaultRequirementProfile`. 2431 type PbmQueryDefaultRequirementProfileRequestType struct { 2432 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2433 // Placement hub (i.e. datastore). 2434 Hub PbmPlacementHub `xml:"hub" json:"hub"` 2435 } 2436 2437 func init() { 2438 types.Add("pbm:PbmQueryDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmQueryDefaultRequirementProfileRequestType)(nil)).Elem()) 2439 } 2440 2441 type PbmQueryDefaultRequirementProfileResponse struct { 2442 Returnval *PbmProfileId `xml:"returnval,omitempty" json:"returnval,omitempty"` 2443 } 2444 2445 type PbmQueryDefaultRequirementProfiles PbmQueryDefaultRequirementProfilesRequestType 2446 2447 func init() { 2448 types.Add("pbm:PbmQueryDefaultRequirementProfiles", reflect.TypeOf((*PbmQueryDefaultRequirementProfiles)(nil)).Elem()) 2449 } 2450 2451 // The parameters of `PbmProfileProfileManager.PbmQueryDefaultRequirementProfiles`. 2452 type PbmQueryDefaultRequirementProfilesRequestType struct { 2453 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2454 // The datastores for which the default profiles are requested. For 2455 // legacy datastores we set 2456 // `DefaultProfileInfo.defaultProfile` to `null`. 2457 Datastores []PbmPlacementHub `xml:"datastores" json:"datastores"` 2458 } 2459 2460 func init() { 2461 types.Add("pbm:PbmQueryDefaultRequirementProfilesRequestType", reflect.TypeOf((*PbmQueryDefaultRequirementProfilesRequestType)(nil)).Elem()) 2462 } 2463 2464 type PbmQueryDefaultRequirementProfilesResponse struct { 2465 Returnval []PbmDefaultProfileInfo `xml:"returnval" json:"returnval"` 2466 } 2467 2468 type PbmQueryMatchingHub PbmQueryMatchingHubRequestType 2469 2470 func init() { 2471 types.Add("pbm:PbmQueryMatchingHub", reflect.TypeOf((*PbmQueryMatchingHub)(nil)).Elem()) 2472 } 2473 2474 // The parameters of `PbmPlacementSolver.PbmQueryMatchingHub`. 2475 type PbmQueryMatchingHubRequestType struct { 2476 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2477 // Candidate list of hubs, either datastores or storage pods or a 2478 // mix. If this parameter is not specified, the Server uses all 2479 // of the datastores and storage pods. 2480 HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty" json:"hubsToSearch,omitempty"` 2481 // Storage requirement profile. 2482 Profile PbmProfileId `xml:"profile" json:"profile"` 2483 } 2484 2485 func init() { 2486 types.Add("pbm:PbmQueryMatchingHubRequestType", reflect.TypeOf((*PbmQueryMatchingHubRequestType)(nil)).Elem()) 2487 } 2488 2489 type PbmQueryMatchingHubResponse struct { 2490 Returnval []PbmPlacementHub `xml:"returnval,omitempty" json:"returnval,omitempty"` 2491 } 2492 2493 type PbmQueryMatchingHubWithSpec PbmQueryMatchingHubWithSpecRequestType 2494 2495 func init() { 2496 types.Add("pbm:PbmQueryMatchingHubWithSpec", reflect.TypeOf((*PbmQueryMatchingHubWithSpec)(nil)).Elem()) 2497 } 2498 2499 // The parameters of `PbmPlacementSolver.PbmQueryMatchingHubWithSpec`. 2500 type PbmQueryMatchingHubWithSpecRequestType struct { 2501 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2502 // Candidate list of hubs, either datastores or storage 2503 // pods or a mix. If this parameter is not specified, the Server uses 2504 // all of the datastores and storage pods for placement compatibility checking. 2505 HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty" json:"hubsToSearch,omitempty"` 2506 // Storage profile creation specification. 2507 CreateSpec PbmCapabilityProfileCreateSpec `xml:"createSpec" json:"createSpec"` 2508 } 2509 2510 func init() { 2511 types.Add("pbm:PbmQueryMatchingHubWithSpecRequestType", reflect.TypeOf((*PbmQueryMatchingHubWithSpecRequestType)(nil)).Elem()) 2512 } 2513 2514 type PbmQueryMatchingHubWithSpecResponse struct { 2515 Returnval []PbmPlacementHub `xml:"returnval,omitempty" json:"returnval,omitempty"` 2516 } 2517 2518 type PbmQueryProfile PbmQueryProfileRequestType 2519 2520 func init() { 2521 types.Add("pbm:PbmQueryProfile", reflect.TypeOf((*PbmQueryProfile)(nil)).Elem()) 2522 } 2523 2524 // The parameters of `PbmProfileProfileManager.PbmQueryProfile`. 2525 type PbmQueryProfileRequestType struct { 2526 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2527 // Type of resource. You can specify only STORAGE. 2528 ResourceType PbmProfileResourceType `xml:"resourceType" json:"resourceType"` 2529 // Profile category. The string value must correspond 2530 // to one of the `PbmProfileCategoryEnum_enum` values. 2531 // If you do not specify a profile category, the method returns profiles in all 2532 // categories. 2533 ProfileCategory string `xml:"profileCategory,omitempty" json:"profileCategory,omitempty"` 2534 } 2535 2536 func init() { 2537 types.Add("pbm:PbmQueryProfileRequestType", reflect.TypeOf((*PbmQueryProfileRequestType)(nil)).Elem()) 2538 } 2539 2540 type PbmQueryProfileResponse struct { 2541 Returnval []PbmProfileId `xml:"returnval,omitempty" json:"returnval,omitempty"` 2542 } 2543 2544 // The `PbmQueryProfileResult` data object 2545 // identifies a virtual machine, virtual disk, or datastore 2546 // and it lists the identifier(s) for the associated profile(s). 2547 // 2548 // This structure may be used only with operations rendered under `/pbm`. 2549 type PbmQueryProfileResult struct { 2550 types.DynamicData 2551 2552 // Reference to the virtual machine, virtual disk, or 2553 // datastore on which the query was performed. 2554 Object PbmServerObjectRef `xml:"object" json:"object"` 2555 // Array of identifiers for profiles which are associated with <code>object</code>. 2556 ProfileId []PbmProfileId `xml:"profileId,omitempty" json:"profileId,omitempty"` 2557 // Fault associated with the query, if there is one. 2558 Fault *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"` 2559 } 2560 2561 func init() { 2562 types.Add("pbm:PbmQueryProfileResult", reflect.TypeOf((*PbmQueryProfileResult)(nil)).Elem()) 2563 } 2564 2565 // The `PbmQueryReplicationGroupResult` data object 2566 // identifies a virtual machine, or a virtual disk and lists the identifier(s) for the associated 2567 // replication group. 2568 // 2569 // This structure may be used only with operations rendered under `/pbm`. 2570 type PbmQueryReplicationGroupResult struct { 2571 types.DynamicData 2572 2573 // Reference to the virtual machine or virtual disk on which the query was performed. 2574 // 2575 // If the 2576 // query was performed for a virtual machine and all it's disks, this will reference each disk 2577 // and the virtual machine config individually. 2578 Object PbmServerObjectRef `xml:"object" json:"object"` 2579 // Replication group identifier which is associated with <code>object</code>. 2580 ReplicationGroupId *types.ReplicationGroupId `xml:"replicationGroupId,omitempty" json:"replicationGroupId,omitempty"` 2581 // Fault associated with the query, if there is one. 2582 Fault *types.LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"` 2583 } 2584 2585 func init() { 2586 types.Add("pbm:PbmQueryReplicationGroupResult", reflect.TypeOf((*PbmQueryReplicationGroupResult)(nil)).Elem()) 2587 } 2588 2589 type PbmQueryReplicationGroups PbmQueryReplicationGroupsRequestType 2590 2591 func init() { 2592 types.Add("pbm:PbmQueryReplicationGroups", reflect.TypeOf((*PbmQueryReplicationGroups)(nil)).Elem()) 2593 } 2594 2595 // The parameters of `PbmReplicationManager.PbmQueryReplicationGroups`. 2596 type PbmQueryReplicationGroupsRequestType struct { 2597 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2598 // Array of server object references. Valid types are 2599 // `virtualMachine`, 2600 // `virtualMachineAndDisks`, 2601 // `virtualDiskId`, 2602 // `virtualDiskUUID` 2603 Entities []PbmServerObjectRef `xml:"entities,omitempty" json:"entities,omitempty"` 2604 } 2605 2606 func init() { 2607 types.Add("pbm:PbmQueryReplicationGroupsRequestType", reflect.TypeOf((*PbmQueryReplicationGroupsRequestType)(nil)).Elem()) 2608 } 2609 2610 type PbmQueryReplicationGroupsResponse struct { 2611 Returnval []PbmQueryReplicationGroupResult `xml:"returnval,omitempty" json:"returnval,omitempty"` 2612 } 2613 2614 type PbmQuerySpaceStatsForStorageContainer PbmQuerySpaceStatsForStorageContainerRequestType 2615 2616 func init() { 2617 types.Add("pbm:PbmQuerySpaceStatsForStorageContainer", reflect.TypeOf((*PbmQuerySpaceStatsForStorageContainer)(nil)).Elem()) 2618 } 2619 2620 // The parameters of `PbmProfileProfileManager.PbmQuerySpaceStatsForStorageContainer`. 2621 type PbmQuerySpaceStatsForStorageContainerRequestType struct { 2622 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2623 // Entity for which space statistics are being requested i.e datastore. 2624 Datastore PbmServerObjectRef `xml:"datastore" json:"datastore"` 2625 // \- capability profile Ids. 2626 // If omitted, the statistics for the container 2627 // as a whole would be returned. 2628 CapabilityProfileId []PbmProfileId `xml:"capabilityProfileId,omitempty" json:"capabilityProfileId,omitempty"` 2629 } 2630 2631 func init() { 2632 types.Add("pbm:PbmQuerySpaceStatsForStorageContainerRequestType", reflect.TypeOf((*PbmQuerySpaceStatsForStorageContainerRequestType)(nil)).Elem()) 2633 } 2634 2635 type PbmQuerySpaceStatsForStorageContainerResponse struct { 2636 Returnval []PbmDatastoreSpaceStatistics `xml:"returnval,omitempty" json:"returnval,omitempty"` 2637 } 2638 2639 type PbmResetDefaultRequirementProfile PbmResetDefaultRequirementProfileRequestType 2640 2641 func init() { 2642 types.Add("pbm:PbmResetDefaultRequirementProfile", reflect.TypeOf((*PbmResetDefaultRequirementProfile)(nil)).Elem()) 2643 } 2644 2645 // The parameters of `PbmProfileProfileManager.PbmResetDefaultRequirementProfile`. 2646 type PbmResetDefaultRequirementProfileRequestType struct { 2647 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2648 // Profile to reset. 2649 Profile *PbmProfileId `xml:"profile,omitempty" json:"profile,omitempty"` 2650 } 2651 2652 func init() { 2653 types.Add("pbm:PbmResetDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmResetDefaultRequirementProfileRequestType)(nil)).Elem()) 2654 } 2655 2656 type PbmResetDefaultRequirementProfileResponse struct { 2657 } 2658 2659 type PbmResetVSanDefaultProfile PbmResetVSanDefaultProfileRequestType 2660 2661 func init() { 2662 types.Add("pbm:PbmResetVSanDefaultProfile", reflect.TypeOf((*PbmResetVSanDefaultProfile)(nil)).Elem()) 2663 } 2664 2665 type PbmResetVSanDefaultProfileRequestType struct { 2666 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2667 } 2668 2669 func init() { 2670 types.Add("pbm:PbmResetVSanDefaultProfileRequestType", reflect.TypeOf((*PbmResetVSanDefaultProfileRequestType)(nil)).Elem()) 2671 } 2672 2673 type PbmResetVSanDefaultProfileResponse struct { 2674 } 2675 2676 // A ResourceInUse fault indicating that some error has occurred because a 2677 // resource was in use. 2678 // 2679 // Information about the resource that is in use may 2680 // be supplied. 2681 // 2682 // This structure may be used only with operations rendered under `/pbm`. 2683 type PbmResourceInUse struct { 2684 PbmFault 2685 2686 // Type of resource that is in use. 2687 Type string `xml:"type,omitempty" json:"type,omitempty"` 2688 // Name of the instance of the resource that is in use. 2689 Name string `xml:"name,omitempty" json:"name,omitempty"` 2690 } 2691 2692 func init() { 2693 types.Add("pbm:PbmResourceInUse", reflect.TypeOf((*PbmResourceInUse)(nil)).Elem()) 2694 } 2695 2696 type PbmResourceInUseFault PbmResourceInUse 2697 2698 func init() { 2699 types.Add("pbm:PbmResourceInUseFault", reflect.TypeOf((*PbmResourceInUseFault)(nil)).Elem()) 2700 } 2701 2702 type PbmRetrieveContent PbmRetrieveContentRequestType 2703 2704 func init() { 2705 types.Add("pbm:PbmRetrieveContent", reflect.TypeOf((*PbmRetrieveContent)(nil)).Elem()) 2706 } 2707 2708 // The parameters of `PbmProfileProfileManager.PbmRetrieveContent`. 2709 type PbmRetrieveContentRequestType struct { 2710 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2711 // Array of storage profile identifiers. 2712 ProfileIds []PbmProfileId `xml:"profileIds" json:"profileIds"` 2713 } 2714 2715 func init() { 2716 types.Add("pbm:PbmRetrieveContentRequestType", reflect.TypeOf((*PbmRetrieveContentRequestType)(nil)).Elem()) 2717 } 2718 2719 type PbmRetrieveContentResponse struct { 2720 Returnval []BasePbmProfile `xml:"returnval,typeattr" json:"returnval"` 2721 } 2722 2723 type PbmRetrieveServiceContent PbmRetrieveServiceContentRequestType 2724 2725 func init() { 2726 types.Add("pbm:PbmRetrieveServiceContent", reflect.TypeOf((*PbmRetrieveServiceContent)(nil)).Elem()) 2727 } 2728 2729 type PbmRetrieveServiceContentRequestType struct { 2730 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2731 } 2732 2733 func init() { 2734 types.Add("pbm:PbmRetrieveServiceContentRequestType", reflect.TypeOf((*PbmRetrieveServiceContentRequestType)(nil)).Elem()) 2735 } 2736 2737 type PbmRetrieveServiceContentResponse struct { 2738 Returnval PbmServiceInstanceContent `xml:"returnval" json:"returnval"` 2739 } 2740 2741 // The `PbmRollupComplianceResult` data object identifies the virtual machine 2742 // for which rollup compliance was checked, and it contains the overall status 2743 // and a list of compliance result objects. 2744 // 2745 // This structure may be used only with operations rendered under `/pbm`. 2746 type PbmRollupComplianceResult struct { 2747 types.DynamicData 2748 2749 // Indicates the earliest time that compliance was checked for any 2750 // of the entities in the rollup compliance check. 2751 // 2752 // The compliance 2753 // check time for a single entity is represented in the 2754 // `PbmComplianceResult*.*PbmComplianceResult.checkTime` 2755 // property. If the `PbmComplianceResult.checkTime` 2756 // property is unset for any of the objects in the <code>results</code> 2757 // array, the <code>oldestCheckTime</code> property will be unset. 2758 OldestCheckTime time.Time `xml:"oldestCheckTime" json:"oldestCheckTime"` 2759 // Virtual machine for which the rollup compliance was checked. 2760 Entity PbmServerObjectRef `xml:"entity" json:"entity"` 2761 // Overall compliance status of the virtual machine and its virtual disks. 2762 // 2763 // <code>overallComplianceStatus</code> is a string value that 2764 // corresponds to one of the 2765 // `PbmComplianceResult*.*PbmComplianceResult.complianceStatus` 2766 // values. 2767 // 2768 // The overall compliance status is determined by the following rules, applied in the order 2769 // listed: 2770 // - If all the entities are <code>compliant</code>, the overall status is 2771 // <code>compliant</code>. 2772 // - Else if any entity's status is <code>outOfDate</code>, the overall status is 2773 // <code>outOfDate</code>. 2774 // - Else if any entity's status is <code>nonCompliant</code>, the overall status is 2775 // <code>nonCompliant</code>. 2776 // - Else if any entity's status is <code>unknown</code>, the overall status is 2777 // <code>unknown</code>. 2778 // - Else if any entity's status is <code>notApplicable</code>, the overall status is 2779 // <code>notApplicable</code>. 2780 OverallComplianceStatus string `xml:"overallComplianceStatus" json:"overallComplianceStatus"` 2781 // Overall compliance task status of the virtual machine and its virtual 2782 // disks. 2783 // 2784 // <code>overallComplianceTaskStatus</code> is a string value that 2785 // corresponds to one of the `PbmComplianceResult`. 2786 // `PbmComplianceResult.complianceTaskStatus` values. 2787 OverallComplianceTaskStatus string `xml:"overallComplianceTaskStatus,omitempty" json:"overallComplianceTaskStatus,omitempty"` 2788 // Individual compliance results that make up the rollup. 2789 Result []PbmComplianceResult `xml:"result,omitempty" json:"result,omitempty"` 2790 // This property is set if the overall compliance task fails with some error. 2791 // 2792 // This 2793 // property indicates the causes of error. If there are multiple failures, it stores 2794 // these failure in this array. 2795 ErrorCause []types.LocalizedMethodFault `xml:"errorCause,omitempty" json:"errorCause,omitempty"` 2796 // Deprecated as of vSphere 2016, use 2797 // `PbmRollupComplianceResult.overallComplianceStatus` 2798 // to know if profile mismatch has occurred. If 2799 // overallComplianceStatus value is outOfDate, it means 2800 // profileMismatch has occurred. 2801 // 2802 // True if and only if `PbmComplianceResult`. 2803 // 2804 // `PbmComplianceResult.mismatch` is true for at least one 2805 // entity in the rollup compliance check. 2806 ProfileMismatch bool `xml:"profileMismatch" json:"profileMismatch"` 2807 } 2808 2809 func init() { 2810 types.Add("pbm:PbmRollupComplianceResult", reflect.TypeOf((*PbmRollupComplianceResult)(nil)).Elem()) 2811 } 2812 2813 // The `PbmServerObjectRef` data object identifies 2814 // a virtual machine, 2815 // virtual disk attached to a virtual machine, 2816 // a first class storage object 2817 // or a datastore. 2818 // 2819 // This structure may be used only with operations rendered under `/pbm`. 2820 type PbmServerObjectRef struct { 2821 types.DynamicData 2822 2823 // Type of vSphere Server object. 2824 // 2825 // The value of the <code>objectType</code> string 2826 // corresponds to one of the `PbmObjectType_enum` 2827 // enumerated type values. 2828 ObjectType string `xml:"objectType" json:"objectType"` 2829 // Unique identifier for the object. 2830 // 2831 // The value of <code>key</code> depends 2832 // on the <code>objectType</code>. 2833 // 2834 // 2835 // <table border="1"cellpadding="5"> 2836 // <tr><td>`*PbmObjectType**</td><td>*`key value**</td></tr> 2837 // <tr><td>virtualMachine</td><td>_virtual-machine-MOR_</td></tr> 2838 // <tr><td>virtualDiskId</td> 2839 // <td>_virtual-disk-MOR_:_VirtualDisk.key_</td></tr> 2840 // <tr><td>datastore</td><td>_datastore-MOR_</td></tr> 2841 // <tr><td colspan="2"align="right">MOR = ManagedObjectReference</td></tr> 2842 // </table> 2843 Key string `xml:"key" json:"key"` 2844 // vCenter Server UUID; the <code>ServiceContent.about.instanceUuid</code> 2845 // property in the vSphere API. 2846 ServerUuid string `xml:"serverUuid,omitempty" json:"serverUuid,omitempty"` 2847 } 2848 2849 func init() { 2850 types.Add("pbm:PbmServerObjectRef", reflect.TypeOf((*PbmServerObjectRef)(nil)).Elem()) 2851 } 2852 2853 // The `PbmServiceInstanceContent` data object defines properties for the 2854 // `PbmServiceInstance` managed object. 2855 // 2856 // This structure may be used only with operations rendered under `/pbm`. 2857 type PbmServiceInstanceContent struct { 2858 types.DynamicData 2859 2860 // Contains information that identifies the Storage Policy service. 2861 AboutInfo PbmAboutInfo `xml:"aboutInfo" json:"aboutInfo"` 2862 // For internal use. 2863 // 2864 // Refers instance of `PbmSessionManager`. 2865 SessionManager types.ManagedObjectReference `xml:"sessionManager" json:"sessionManager"` 2866 // For internal use. 2867 // 2868 // Refers instance of `PbmCapabilityMetadataManager`. 2869 CapabilityMetadataManager types.ManagedObjectReference `xml:"capabilityMetadataManager" json:"capabilityMetadataManager"` 2870 // Provides access to the Storage Policy ProfileManager. 2871 // 2872 // Refers instance of `PbmProfileProfileManager`. 2873 ProfileManager types.ManagedObjectReference `xml:"profileManager" json:"profileManager"` 2874 // Provides access to the Storage Policy ComplianceManager. 2875 // 2876 // Refers instance of `PbmComplianceManager`. 2877 ComplianceManager types.ManagedObjectReference `xml:"complianceManager" json:"complianceManager"` 2878 // Provides access to the Storage Policy PlacementSolver. 2879 // 2880 // Refers instance of `PbmPlacementSolver`. 2881 PlacementSolver types.ManagedObjectReference `xml:"placementSolver" json:"placementSolver"` 2882 // Provides access to the Storage Policy ReplicationManager. 2883 // 2884 // Refers instance of `PbmReplicationManager`. 2885 ReplicationManager *types.ManagedObjectReference `xml:"replicationManager,omitempty" json:"replicationManager,omitempty"` 2886 } 2887 2888 func init() { 2889 types.Add("pbm:PbmServiceInstanceContent", reflect.TypeOf((*PbmServiceInstanceContent)(nil)).Elem()) 2890 } 2891 2892 type PbmUpdate PbmUpdateRequestType 2893 2894 func init() { 2895 types.Add("pbm:PbmUpdate", reflect.TypeOf((*PbmUpdate)(nil)).Elem()) 2896 } 2897 2898 // The parameters of `PbmProfileProfileManager.PbmUpdate`. 2899 type PbmUpdateRequestType struct { 2900 This types.ManagedObjectReference `xml:"_this" json:"_this"` 2901 // Profile identifier. 2902 ProfileId PbmProfileId `xml:"profileId" json:"profileId"` 2903 // Capability-based update specification. 2904 UpdateSpec PbmCapabilityProfileUpdateSpec `xml:"updateSpec" json:"updateSpec"` 2905 } 2906 2907 func init() { 2908 types.Add("pbm:PbmUpdateRequestType", reflect.TypeOf((*PbmUpdateRequestType)(nil)).Elem()) 2909 } 2910 2911 type PbmUpdateResponse struct { 2912 } 2913 2914 // Information about a supported data service provided using 2915 // vSphere APIs for IO Filtering (VAIO) data service provider. 2916 // 2917 // This structure may be used only with operations rendered under `/pbm`. 2918 type PbmVaioDataServiceInfo struct { 2919 PbmLineOfServiceInfo 2920 } 2921 2922 func init() { 2923 types.Add("pbm:PbmVaioDataServiceInfo", reflect.TypeOf((*PbmVaioDataServiceInfo)(nil)).Elem()) 2924 } 2925 2926 type VersionURI string 2927 2928 func init() { 2929 types.Add("pbm:versionURI", reflect.TypeOf((*VersionURI)(nil)).Elem()) 2930 }