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