github.com/vmware/govmomi@v0.51.0/pbm/types/enum.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 10 "github.com/vmware/govmomi/vim25/types" 11 ) 12 13 type ManagedObjectTypes string 14 15 const ( 16 ManagedObjectTypesPbmServiceInstance = ManagedObjectTypes("PbmServiceInstance") 17 ManagedObjectTypesPbmSessionManager = ManagedObjectTypes("PbmSessionManager") 18 ManagedObjectTypesPbmCapabilityMetadataManager = ManagedObjectTypes("PbmCapabilityMetadataManager") 19 ManagedObjectTypesPbmComplianceManager = ManagedObjectTypes("PbmComplianceManager") 20 ManagedObjectTypesPbmPlacementSolver = ManagedObjectTypes("PbmPlacementSolver") 21 ManagedObjectTypesPbmProfileProfileManager = ManagedObjectTypes("PbmProfileProfileManager") 22 ManagedObjectTypesPbmProvider = ManagedObjectTypes("PbmProvider") 23 ManagedObjectTypesPbmReplicationManager = ManagedObjectTypes("PbmReplicationManager") 24 ) 25 26 func (e ManagedObjectTypes) Values() []ManagedObjectTypes { 27 return []ManagedObjectTypes{ 28 ManagedObjectTypesPbmServiceInstance, 29 ManagedObjectTypesPbmSessionManager, 30 ManagedObjectTypesPbmCapabilityMetadataManager, 31 ManagedObjectTypesPbmComplianceManager, 32 ManagedObjectTypesPbmPlacementSolver, 33 ManagedObjectTypesPbmProfileProfileManager, 34 ManagedObjectTypesPbmProvider, 35 ManagedObjectTypesPbmReplicationManager, 36 } 37 } 38 39 func (e ManagedObjectTypes) Strings() []string { 40 return types.EnumValuesAsStrings(e.Values()) 41 } 42 43 func init() { 44 types.Add("pbm:ManagedObjectTypes", reflect.TypeOf((*ManagedObjectTypes)(nil)).Elem()) 45 } 46 47 type PbmAssociateAndApplyPolicyStatusPolicyStatus string 48 49 const ( 50 // Policy applied successfully. 51 PbmAssociateAndApplyPolicyStatusPolicyStatusSuccess = PbmAssociateAndApplyPolicyStatusPolicyStatus("success") 52 // Policy cannot be applied 53 PbmAssociateAndApplyPolicyStatusPolicyStatusFailed = PbmAssociateAndApplyPolicyStatusPolicyStatus("failed") 54 // Policy cannot be applied 55 PbmAssociateAndApplyPolicyStatusPolicyStatusInvalid = PbmAssociateAndApplyPolicyStatusPolicyStatus("invalid") 56 ) 57 58 func (e PbmAssociateAndApplyPolicyStatusPolicyStatus) Values() []PbmAssociateAndApplyPolicyStatusPolicyStatus { 59 return []PbmAssociateAndApplyPolicyStatusPolicyStatus{ 60 PbmAssociateAndApplyPolicyStatusPolicyStatusSuccess, 61 PbmAssociateAndApplyPolicyStatusPolicyStatusFailed, 62 PbmAssociateAndApplyPolicyStatusPolicyStatusInvalid, 63 } 64 } 65 66 func (e PbmAssociateAndApplyPolicyStatusPolicyStatus) Strings() []string { 67 return types.EnumValuesAsStrings(e.Values()) 68 } 69 70 func init() { 71 types.Add("pbm:PbmAssociateAndApplyPolicyStatusPolicyStatus", reflect.TypeOf((*PbmAssociateAndApplyPolicyStatusPolicyStatus)(nil)).Elem()) 72 } 73 74 // The `PbmBuiltinGenericType_enum` enumerated type defines the list 75 // of builtin generic datatypes. 76 // 77 // See 78 // `PbmCapabilityGenericTypeInfo*.*PbmCapabilityGenericTypeInfo.genericTypeName`. 79 // 80 // A generic datatype indicates how to interpret a collection of values 81 // of a specific datatype (`PbmCapabilityTypeInfo.typeName`). 82 type PbmBuiltinGenericType string 83 84 const ( 85 // Indicates a full or partial range of values (`PbmCapabilityRange`). 86 // 87 // A full range specifies both <code>min</code> and <code>max</code> values. 88 // A partial range specifies one or the other, <code>min</code> or <code>max</code>. 89 PbmBuiltinGenericTypeVMW_RANGE = PbmBuiltinGenericType("VMW_RANGE") 90 // Indicates a single value or a discrete set of values 91 // (`PbmCapabilityDiscreteSet`). 92 PbmBuiltinGenericTypeVMW_SET = PbmBuiltinGenericType("VMW_SET") 93 ) 94 95 func (e PbmBuiltinGenericType) Values() []PbmBuiltinGenericType { 96 return []PbmBuiltinGenericType{ 97 PbmBuiltinGenericTypeVMW_RANGE, 98 PbmBuiltinGenericTypeVMW_SET, 99 } 100 } 101 102 func (e PbmBuiltinGenericType) Strings() []string { 103 return types.EnumValuesAsStrings(e.Values()) 104 } 105 106 func init() { 107 types.Add("pbm:PbmBuiltinGenericType", reflect.TypeOf((*PbmBuiltinGenericType)(nil)).Elem()) 108 } 109 110 // The `PbmBuiltinType_enum` enumerated type defines datatypes 111 // for storage profiles. 112 // 113 // Property metadata 114 // (`PbmCapabilityPropertyMetadata`) uses the builtin types 115 // to define data types for storage capabilities and requirements. 116 // It may also specify the semantics that are applied to a collection 117 // of builtin type values. See `PbmCapabilityTypeInfo`. 118 // These semantics are specified as a generic builtin type. 119 // See `PbmCapabilityGenericTypeInfo`. 120 // The type information determines how capability constraints are interpreted 121 // `PbmCapabilityPropertyInstance.value`). 122 type PbmBuiltinType string 123 124 const ( 125 // Unsigned long value. 126 // 127 // This datatype supports the following constraint values. 128 // - Single value 129 // - Full or partial range of values (`PbmCapabilityRange`) 130 // - Discrete set of values (`PbmCapabilityDiscreteSet`) 131 PbmBuiltinTypeXSD_LONG = PbmBuiltinType("XSD_LONG") 132 // Datatype not supported. 133 PbmBuiltinTypeXSD_SHORT = PbmBuiltinType("XSD_SHORT") 134 // Datatype not supported. 135 // 136 // Use XSD\_INT instead. 137 PbmBuiltinTypeXSD_INTEGER = PbmBuiltinType("XSD_INTEGER") 138 // Integer value. 139 // 140 // This datatype supports the following constraint values. 141 // - Single value 142 // - Full or partial range of values (`PbmCapabilityRange`) 143 // - Discrete set of values (`PbmCapabilityDiscreteSet`) 144 PbmBuiltinTypeXSD_INT = PbmBuiltinType("XSD_INT") 145 // String value. 146 // 147 // This datatype supports a single value 148 // or a discrete set of values (`PbmCapabilityDiscreteSet`). 149 PbmBuiltinTypeXSD_STRING = PbmBuiltinType("XSD_STRING") 150 // Boolean value. 151 PbmBuiltinTypeXSD_BOOLEAN = PbmBuiltinType("XSD_BOOLEAN") 152 // Double precision floating point value. 153 // 154 // This datatype supports the following 155 // constraint values. 156 // - Single value 157 // - Full or partial range of values (`PbmCapabilityRange`) 158 // - Discrete set of values (`PbmCapabilityDiscreteSet`) 159 PbmBuiltinTypeXSD_DOUBLE = PbmBuiltinType("XSD_DOUBLE") 160 // Date and time value. 161 PbmBuiltinTypeXSD_DATETIME = PbmBuiltinType("XSD_DATETIME") 162 // Timespan value (`PbmCapabilityTimeSpan`). 163 // 164 // This datatype supports 165 // the following constraint values. 166 // - Single value 167 // - Full or partial range of values (`PbmCapabilityRange`) 168 // - Discrete set of values (`PbmCapabilityDiscreteSet`) 169 PbmBuiltinTypeVMW_TIMESPAN = PbmBuiltinType("VMW_TIMESPAN") 170 PbmBuiltinTypeVMW_POLICY = PbmBuiltinType("VMW_POLICY") 171 ) 172 173 func (e PbmBuiltinType) Values() []PbmBuiltinType { 174 return []PbmBuiltinType{ 175 PbmBuiltinTypeXSD_LONG, 176 PbmBuiltinTypeXSD_SHORT, 177 PbmBuiltinTypeXSD_INTEGER, 178 PbmBuiltinTypeXSD_INT, 179 PbmBuiltinTypeXSD_STRING, 180 PbmBuiltinTypeXSD_BOOLEAN, 181 PbmBuiltinTypeXSD_DOUBLE, 182 PbmBuiltinTypeXSD_DATETIME, 183 PbmBuiltinTypeVMW_TIMESPAN, 184 PbmBuiltinTypeVMW_POLICY, 185 } 186 } 187 188 func (e PbmBuiltinType) Strings() []string { 189 return types.EnumValuesAsStrings(e.Values()) 190 } 191 192 func init() { 193 types.Add("pbm:PbmBuiltinType", reflect.TypeOf((*PbmBuiltinType)(nil)).Elem()) 194 } 195 196 // List of operators that are supported for constructing policy. 197 // 198 // Currently only tag based properties can use this operator. 199 // Other operators can be added as required. 200 type PbmCapabilityOperator string 201 202 const ( 203 PbmCapabilityOperatorNOT = PbmCapabilityOperator("NOT") 204 ) 205 206 func (e PbmCapabilityOperator) Values() []PbmCapabilityOperator { 207 return []PbmCapabilityOperator{ 208 PbmCapabilityOperatorNOT, 209 } 210 } 211 212 func (e PbmCapabilityOperator) Strings() []string { 213 return types.EnumValuesAsStrings(e.Values()) 214 } 215 216 func init() { 217 types.Add("pbm:PbmCapabilityOperator", reflect.TypeOf((*PbmCapabilityOperator)(nil)).Elem()) 218 } 219 220 // Capability category type constants. 221 type PbmCapabilitySchemaCapabilityCategory string 222 223 const ( 224 // Common and identical in all sub-profiles. 225 PbmCapabilitySchemaCapabilityCategoryCommon = PbmCapabilitySchemaCapabilityCategory("common") 226 // Part of a single sub-profile. 227 PbmCapabilitySchemaCapabilityCategoryDatastoreSpecific = PbmCapabilitySchemaCapabilityCategory("datastoreSpecific") 228 ) 229 230 func (e PbmCapabilitySchemaCapabilityCategory) Values() []PbmCapabilitySchemaCapabilityCategory { 231 return []PbmCapabilitySchemaCapabilityCategory{ 232 PbmCapabilitySchemaCapabilityCategoryCommon, 233 PbmCapabilitySchemaCapabilityCategoryDatastoreSpecific, 234 } 235 } 236 237 func (e PbmCapabilitySchemaCapabilityCategory) Strings() []string { 238 return types.EnumValuesAsStrings(e.Values()) 239 } 240 241 func init() { 242 types.Add("pbm:PbmCapabilitySchemaCapabilityCategory", reflect.TypeOf((*PbmCapabilitySchemaCapabilityCategory)(nil)).Elem()) 243 } 244 245 // The `PbmCapabilityTimeUnitType_enum` enumeration type 246 // defines the supported list of time units for profiles that specify 247 // time span capabilities and constraints. 248 // 249 // See `PbmCapabilityTimeSpan`. 250 type PbmCapabilityTimeUnitType string 251 252 const ( 253 // Constraints and capabilities expressed in units of seconds. 254 PbmCapabilityTimeUnitTypeSECONDS = PbmCapabilityTimeUnitType("SECONDS") 255 // Constraints and capabilities expressed in units of minutes. 256 PbmCapabilityTimeUnitTypeMINUTES = PbmCapabilityTimeUnitType("MINUTES") 257 // Constraints and capabilities expressed in units of hours. 258 PbmCapabilityTimeUnitTypeHOURS = PbmCapabilityTimeUnitType("HOURS") 259 // Constraints and capabilities expressed in units of days. 260 PbmCapabilityTimeUnitTypeDAYS = PbmCapabilityTimeUnitType("DAYS") 261 // Constraints and capabilities expressed in units of weeks. 262 PbmCapabilityTimeUnitTypeWEEKS = PbmCapabilityTimeUnitType("WEEKS") 263 // Constraints and capabilities expressed in units of months. 264 PbmCapabilityTimeUnitTypeMONTHS = PbmCapabilityTimeUnitType("MONTHS") 265 // Constraints and capabilities expressed in units of years. 266 PbmCapabilityTimeUnitTypeYEARS = PbmCapabilityTimeUnitType("YEARS") 267 ) 268 269 func (e PbmCapabilityTimeUnitType) Values() []PbmCapabilityTimeUnitType { 270 return []PbmCapabilityTimeUnitType{ 271 PbmCapabilityTimeUnitTypeSECONDS, 272 PbmCapabilityTimeUnitTypeMINUTES, 273 PbmCapabilityTimeUnitTypeHOURS, 274 PbmCapabilityTimeUnitTypeDAYS, 275 PbmCapabilityTimeUnitTypeWEEKS, 276 PbmCapabilityTimeUnitTypeMONTHS, 277 PbmCapabilityTimeUnitTypeYEARS, 278 } 279 } 280 281 func (e PbmCapabilityTimeUnitType) Strings() []string { 282 return types.EnumValuesAsStrings(e.Values()) 283 } 284 285 func init() { 286 types.Add("pbm:PbmCapabilityTimeUnitType", reflect.TypeOf((*PbmCapabilityTimeUnitType)(nil)).Elem()) 287 } 288 289 // The `PbmComplianceResultComplianceTaskStatus_enum` 290 // enumeration type defines the set of task status for compliance 291 // operations. 292 // 293 // See `PbmComplianceResult` and 294 // `PbmRollupComplianceResult`. 295 type PbmComplianceResultComplianceTaskStatus string 296 297 const ( 298 // Compliance calculation is in progress. 299 PbmComplianceResultComplianceTaskStatusInProgress = PbmComplianceResultComplianceTaskStatus("inProgress") 300 // Compliance calculation has succeeded. 301 PbmComplianceResultComplianceTaskStatusSuccess = PbmComplianceResultComplianceTaskStatus("success") 302 // Compliance calculation failed due to some exception. 303 PbmComplianceResultComplianceTaskStatusFailed = PbmComplianceResultComplianceTaskStatus("failed") 304 ) 305 306 func (e PbmComplianceResultComplianceTaskStatus) Values() []PbmComplianceResultComplianceTaskStatus { 307 return []PbmComplianceResultComplianceTaskStatus{ 308 PbmComplianceResultComplianceTaskStatusInProgress, 309 PbmComplianceResultComplianceTaskStatusSuccess, 310 PbmComplianceResultComplianceTaskStatusFailed, 311 } 312 } 313 314 func (e PbmComplianceResultComplianceTaskStatus) Strings() []string { 315 return types.EnumValuesAsStrings(e.Values()) 316 } 317 318 func init() { 319 types.Add("pbm:PbmComplianceResultComplianceTaskStatus", reflect.TypeOf((*PbmComplianceResultComplianceTaskStatus)(nil)).Elem()) 320 } 321 322 // The `PbmComplianceStatus_enum` 323 // enumeration type defines the set of status values 324 // for compliance operations. 325 // 326 // See `PbmComplianceResult` and 327 // `PbmRollupComplianceResult`. 328 type PbmComplianceStatus string 329 330 const ( 331 // Entity is in compliance. 332 PbmComplianceStatusCompliant = PbmComplianceStatus("compliant") 333 // Entity is out of compliance. 334 PbmComplianceStatusNonCompliant = PbmComplianceStatus("nonCompliant") 335 // Compliance status of the entity is not known. 336 PbmComplianceStatusUnknown = PbmComplianceStatus("unknown") 337 // Compliance computation is not applicable for this entity, 338 // because it does not have any storage requirements that 339 // apply to the object-based datastore on which this entity is placed. 340 PbmComplianceStatusNotApplicable = PbmComplianceStatus("notApplicable") 341 // This is the same as `PbmComplianceResult.mismatch` 342 // variable. 343 // 344 // Compliance status becomes out-of-date when the profile 345 // associated with the entity is edited and not applied. The compliance 346 // status will remain in out-of-date compliance status until the latest 347 // policy is applied to the entity. 348 PbmComplianceStatusOutOfDate = PbmComplianceStatus("outOfDate") 349 ) 350 351 func (e PbmComplianceStatus) Values() []PbmComplianceStatus { 352 return []PbmComplianceStatus{ 353 PbmComplianceStatusCompliant, 354 PbmComplianceStatusNonCompliant, 355 PbmComplianceStatusUnknown, 356 PbmComplianceStatusNotApplicable, 357 PbmComplianceStatusOutOfDate, 358 } 359 } 360 361 func (e PbmComplianceStatus) Strings() []string { 362 return types.EnumValuesAsStrings(e.Values()) 363 } 364 365 func init() { 366 types.Add("pbm:PbmComplianceStatus", reflect.TypeOf((*PbmComplianceStatus)(nil)).Elem()) 367 } 368 369 // This enum corresponds to the keystores used by 370 // sps. 371 type PbmDebugManagerKeystoreName string 372 373 const ( 374 // Refers to SMS keystore 375 PbmDebugManagerKeystoreNameSMS = PbmDebugManagerKeystoreName("SMS") 376 // Refers to TRUSTED\_ROOTS keystore. 377 PbmDebugManagerKeystoreNameTRUSTED_ROOTS = PbmDebugManagerKeystoreName("TRUSTED_ROOTS") 378 ) 379 380 func (e PbmDebugManagerKeystoreName) Values() []PbmDebugManagerKeystoreName { 381 return []PbmDebugManagerKeystoreName{ 382 PbmDebugManagerKeystoreNameSMS, 383 PbmDebugManagerKeystoreNameTRUSTED_ROOTS, 384 } 385 } 386 387 func (e PbmDebugManagerKeystoreName) Strings() []string { 388 return types.EnumValuesAsStrings(e.Values()) 389 } 390 391 func init() { 392 types.Add("pbm:PbmDebugManagerKeystoreName", reflect.TypeOf((*PbmDebugManagerKeystoreName)(nil)).Elem()) 393 } 394 395 // The enumeration type defines the set of health status values for an entity 396 // that is part of entity health operation. 397 type PbmHealthStatusForEntity string 398 399 const ( 400 // For file share: 'red' if the file server for this file share is in error 401 // state or any of its backing vSAN objects are degraded. 402 // 403 // For FCD: 'red' if the datastore on which the FCD resides is not 404 // accessible from any of the hosts it is mounted. 405 PbmHealthStatusForEntityRed = PbmHealthStatusForEntity("red") 406 // For file share: 'yellow' if some backing objects are repairing, i.e. 407 // 408 // warning state. 409 // For FCD: 'yellow' if the datastore on which the entity resides is 410 // accessible only from some of the hosts it is mounted but not all. 411 PbmHealthStatusForEntityYellow = PbmHealthStatusForEntity("yellow") 412 // For file share: 'green' if the file server for this file share is 413 // running properly and all its backing vSAN objects are healthy. 414 // 415 // For FCD: 'green' if the datastore on which the entity resides 416 // is accessible from all the hosts it is mounted. 417 PbmHealthStatusForEntityGreen = PbmHealthStatusForEntity("green") 418 // If the health status of a file share is unknown, not valid for FCD. 419 PbmHealthStatusForEntityUnknown = PbmHealthStatusForEntity("unknown") 420 ) 421 422 func (e PbmHealthStatusForEntity) Values() []PbmHealthStatusForEntity { 423 return []PbmHealthStatusForEntity{ 424 PbmHealthStatusForEntityRed, 425 PbmHealthStatusForEntityYellow, 426 PbmHealthStatusForEntityGreen, 427 PbmHealthStatusForEntityUnknown, 428 } 429 } 430 431 func (e PbmHealthStatusForEntity) Strings() []string { 432 return types.EnumValuesAsStrings(e.Values()) 433 } 434 435 func init() { 436 types.Add("pbm:PbmHealthStatusForEntity", reflect.TypeOf((*PbmHealthStatusForEntity)(nil)).Elem()) 437 } 438 439 // Recognized types of an IO Filter. 440 // 441 // String constant used in `IofilterInfo#filterType`. 442 // These should match(upper case) the IO Filter classes as defined by IO Filter framework. 443 // See https://opengrok.eng.vmware.com/source/xref/vmcore-main.perforce.1666/bora/scons/apps/esx/iofilterApps.sc#33 444 type PbmIofilterInfoFilterType string 445 446 const ( 447 PbmIofilterInfoFilterTypeINSPECTION = PbmIofilterInfoFilterType("INSPECTION") 448 PbmIofilterInfoFilterTypeCOMPRESSION = PbmIofilterInfoFilterType("COMPRESSION") 449 PbmIofilterInfoFilterTypeENCRYPTION = PbmIofilterInfoFilterType("ENCRYPTION") 450 PbmIofilterInfoFilterTypeREPLICATION = PbmIofilterInfoFilterType("REPLICATION") 451 PbmIofilterInfoFilterTypeCACHE = PbmIofilterInfoFilterType("CACHE") 452 PbmIofilterInfoFilterTypeDATAPROVIDER = PbmIofilterInfoFilterType("DATAPROVIDER") 453 PbmIofilterInfoFilterTypeDATASTOREIOCONTROL = PbmIofilterInfoFilterType("DATASTOREIOCONTROL") 454 ) 455 456 func (e PbmIofilterInfoFilterType) Values() []PbmIofilterInfoFilterType { 457 return []PbmIofilterInfoFilterType{ 458 PbmIofilterInfoFilterTypeINSPECTION, 459 PbmIofilterInfoFilterTypeCOMPRESSION, 460 PbmIofilterInfoFilterTypeENCRYPTION, 461 PbmIofilterInfoFilterTypeREPLICATION, 462 PbmIofilterInfoFilterTypeCACHE, 463 PbmIofilterInfoFilterTypeDATAPROVIDER, 464 PbmIofilterInfoFilterTypeDATASTOREIOCONTROL, 465 } 466 } 467 468 func (e PbmIofilterInfoFilterType) Strings() []string { 469 return types.EnumValuesAsStrings(e.Values()) 470 } 471 472 func init() { 473 types.Add("pbm:PbmIofilterInfoFilterType", reflect.TypeOf((*PbmIofilterInfoFilterType)(nil)).Elem()) 474 } 475 476 // Denotes the line of service of a schema. 477 type PbmLineOfServiceInfoLineOfServiceEnum string 478 479 const ( 480 PbmLineOfServiceInfoLineOfServiceEnumINSPECTION = PbmLineOfServiceInfoLineOfServiceEnum("INSPECTION") 481 PbmLineOfServiceInfoLineOfServiceEnumCOMPRESSION = PbmLineOfServiceInfoLineOfServiceEnum("COMPRESSION") 482 PbmLineOfServiceInfoLineOfServiceEnumENCRYPTION = PbmLineOfServiceInfoLineOfServiceEnum("ENCRYPTION") 483 PbmLineOfServiceInfoLineOfServiceEnumREPLICATION = PbmLineOfServiceInfoLineOfServiceEnum("REPLICATION") 484 PbmLineOfServiceInfoLineOfServiceEnumCACHING = PbmLineOfServiceInfoLineOfServiceEnum("CACHING") 485 PbmLineOfServiceInfoLineOfServiceEnumPERSISTENCE = PbmLineOfServiceInfoLineOfServiceEnum("PERSISTENCE") 486 PbmLineOfServiceInfoLineOfServiceEnumDATA_PROVIDER = PbmLineOfServiceInfoLineOfServiceEnum("DATA_PROVIDER") 487 PbmLineOfServiceInfoLineOfServiceEnumDATASTORE_IO_CONTROL = PbmLineOfServiceInfoLineOfServiceEnum("DATASTORE_IO_CONTROL") 488 PbmLineOfServiceInfoLineOfServiceEnumDATA_PROTECTION = PbmLineOfServiceInfoLineOfServiceEnum("DATA_PROTECTION") 489 PbmLineOfServiceInfoLineOfServiceEnumSTRETCHED_CLUSTER = PbmLineOfServiceInfoLineOfServiceEnum("STRETCHED_CLUSTER") 490 ) 491 492 func (e PbmLineOfServiceInfoLineOfServiceEnum) Values() []PbmLineOfServiceInfoLineOfServiceEnum { 493 return []PbmLineOfServiceInfoLineOfServiceEnum{ 494 PbmLineOfServiceInfoLineOfServiceEnumINSPECTION, 495 PbmLineOfServiceInfoLineOfServiceEnumCOMPRESSION, 496 PbmLineOfServiceInfoLineOfServiceEnumENCRYPTION, 497 PbmLineOfServiceInfoLineOfServiceEnumREPLICATION, 498 PbmLineOfServiceInfoLineOfServiceEnumCACHING, 499 PbmLineOfServiceInfoLineOfServiceEnumPERSISTENCE, 500 PbmLineOfServiceInfoLineOfServiceEnumDATA_PROVIDER, 501 PbmLineOfServiceInfoLineOfServiceEnumDATASTORE_IO_CONTROL, 502 PbmLineOfServiceInfoLineOfServiceEnumDATA_PROTECTION, 503 PbmLineOfServiceInfoLineOfServiceEnumSTRETCHED_CLUSTER, 504 } 505 } 506 507 func (e PbmLineOfServiceInfoLineOfServiceEnum) Strings() []string { 508 return types.EnumValuesAsStrings(e.Values()) 509 } 510 511 func init() { 512 types.Add("pbm:PbmLineOfServiceInfoLineOfServiceEnum", reflect.TypeOf((*PbmLineOfServiceInfoLineOfServiceEnum)(nil)).Elem()) 513 } 514 515 // This enum corresponds to the different packages whose logging 516 // is configured independently by sps service. 517 type PbmLoggingConfigurationComponent string 518 519 const ( 520 // Modifies logging level of com.vmware.pbm package. 521 PbmLoggingConfigurationComponentPbm = PbmLoggingConfigurationComponent("pbm") 522 // Modifies logging level of com.vmware.vslm package. 523 PbmLoggingConfigurationComponentVslm = PbmLoggingConfigurationComponent("vslm") 524 // Modifies logging level of com.vmware.vim.sms package. 525 PbmLoggingConfigurationComponentSms = PbmLoggingConfigurationComponent("sms") 526 // Modifies logging level of com.vmware.spbm package. 527 PbmLoggingConfigurationComponentSpbm = PbmLoggingConfigurationComponent("spbm") 528 // Modifies logging level of com.vmware.sps package. 529 PbmLoggingConfigurationComponentSps = PbmLoggingConfigurationComponent("sps") 530 // Modifies logging level of httpclient wire header. 531 PbmLoggingConfigurationComponentHttpclient_header = PbmLoggingConfigurationComponent("httpclient_header") 532 // Modifies logging level of httpclient wire content. 533 PbmLoggingConfigurationComponentHttpclient_content = PbmLoggingConfigurationComponent("httpclient_content") 534 // Modifies logging level of com.vmware.vim.vmomi package. 535 PbmLoggingConfigurationComponentVmomi = PbmLoggingConfigurationComponent("vmomi") 536 ) 537 538 func (e PbmLoggingConfigurationComponent) Values() []PbmLoggingConfigurationComponent { 539 return []PbmLoggingConfigurationComponent{ 540 PbmLoggingConfigurationComponentPbm, 541 PbmLoggingConfigurationComponentVslm, 542 PbmLoggingConfigurationComponentSms, 543 PbmLoggingConfigurationComponentSpbm, 544 PbmLoggingConfigurationComponentSps, 545 PbmLoggingConfigurationComponentHttpclient_header, 546 PbmLoggingConfigurationComponentHttpclient_content, 547 PbmLoggingConfigurationComponentVmomi, 548 } 549 } 550 551 func (e PbmLoggingConfigurationComponent) Strings() []string { 552 return types.EnumValuesAsStrings(e.Values()) 553 } 554 555 func init() { 556 types.Add("pbm:PbmLoggingConfigurationComponent", reflect.TypeOf((*PbmLoggingConfigurationComponent)(nil)).Elem()) 557 } 558 559 // This enum corresponds to the different log levels supported 560 // by sps service. 561 type PbmLoggingConfigurationLogLevel string 562 563 const ( 564 // Refers to INFO level logging 565 PbmLoggingConfigurationLogLevelINFO = PbmLoggingConfigurationLogLevel("INFO") 566 // Refers to DEBUG level logging. 567 PbmLoggingConfigurationLogLevelDEBUG = PbmLoggingConfigurationLogLevel("DEBUG") 568 // Refers to TRACE level logging. 569 PbmLoggingConfigurationLogLevelTRACE = PbmLoggingConfigurationLogLevel("TRACE") 570 ) 571 572 func (e PbmLoggingConfigurationLogLevel) Values() []PbmLoggingConfigurationLogLevel { 573 return []PbmLoggingConfigurationLogLevel{ 574 PbmLoggingConfigurationLogLevelINFO, 575 PbmLoggingConfigurationLogLevelDEBUG, 576 PbmLoggingConfigurationLogLevelTRACE, 577 } 578 } 579 580 func (e PbmLoggingConfigurationLogLevel) Strings() []string { 581 return types.EnumValuesAsStrings(e.Values()) 582 } 583 584 func init() { 585 types.Add("pbm:PbmLoggingConfigurationLogLevel", reflect.TypeOf((*PbmLoggingConfigurationLogLevel)(nil)).Elem()) 586 } 587 588 // The `PbmObjectType_enum` enumerated type 589 // defines vSphere Server object types that are known 590 // to the Storage Policy Server. 591 // 592 // See `PbmServerObjectRef*.*PbmServerObjectRef.objectType`. 593 type PbmObjectType string 594 595 const ( 596 // Indicates a virtual machine, not including the disks, identified by the virtual machine 597 // identifier _virtual-machine-mor_. 598 PbmObjectTypeVirtualMachine = PbmObjectType("virtualMachine") 599 // Indicates the virtual machine and all its disks, identified by the virtual machine 600 // identifier _virtual-machine-mor_. 601 PbmObjectTypeVirtualMachineAndDisks = PbmObjectType("virtualMachineAndDisks") 602 // Indicates a virtual disk, identified by disk key 603 // (_virtual-machine-mor_:_disk-key_). 604 PbmObjectTypeVirtualDiskId = PbmObjectType("virtualDiskId") 605 // Indicates a virtual disk, identified by UUID - for First Class Storage Object support. 606 PbmObjectTypeVirtualDiskUUID = PbmObjectType("virtualDiskUUID") 607 // Indicates a datastore. 608 PbmObjectTypeDatastore = PbmObjectType("datastore") 609 // Indicates a VSAN object 610 PbmObjectTypeVsanObjectId = PbmObjectType("vsanObjectId") 611 // Indicates a file service 612 PbmObjectTypeFileShareId = PbmObjectType("fileShareId") 613 // Unknown object type. 614 PbmObjectTypeUnknown = PbmObjectType("unknown") 615 ) 616 617 func (e PbmObjectType) Values() []PbmObjectType { 618 return []PbmObjectType{ 619 PbmObjectTypeVirtualMachine, 620 PbmObjectTypeVirtualMachineAndDisks, 621 PbmObjectTypeVirtualDiskId, 622 PbmObjectTypeVirtualDiskUUID, 623 PbmObjectTypeDatastore, 624 PbmObjectTypeVsanObjectId, 625 PbmObjectTypeFileShareId, 626 PbmObjectTypeUnknown, 627 } 628 } 629 630 func (e PbmObjectType) Strings() []string { 631 return types.EnumValuesAsStrings(e.Values()) 632 } 633 634 func init() { 635 types.Add("pbm:PbmObjectType", reflect.TypeOf((*PbmObjectType)(nil)).Elem()) 636 } 637 638 // The `PbmOperation_enum` enumerated type 639 // defines the provisioning operation being performed on the entity like FCD, virtual machine. 640 type PbmOperation string 641 642 const ( 643 // Indicates create operation of an entity. 644 PbmOperationCREATE = PbmOperation("CREATE") 645 // Indicates register operation of an entity. 646 PbmOperationREGISTER = PbmOperation("REGISTER") 647 // Indicates reconfigure operation of an entity. 648 PbmOperationRECONFIGURE = PbmOperation("RECONFIGURE") 649 // Indicates migrate operation of an entity. 650 PbmOperationMIGRATE = PbmOperation("MIGRATE") 651 // Indicates clone operation of an entity. 652 PbmOperationCLONE = PbmOperation("CLONE") 653 ) 654 655 func (e PbmOperation) Values() []PbmOperation { 656 return []PbmOperation{ 657 PbmOperationCREATE, 658 PbmOperationREGISTER, 659 PbmOperationRECONFIGURE, 660 PbmOperationMIGRATE, 661 PbmOperationCLONE, 662 } 663 } 664 665 func (e PbmOperation) Strings() []string { 666 return types.EnumValuesAsStrings(e.Values()) 667 } 668 669 func init() { 670 types.Add("pbm:PbmOperation", reflect.TypeOf((*PbmOperation)(nil)).Elem()) 671 } 672 673 // Volume allocation type constants. 674 type PbmPolicyAssociationVolumeAllocationType string 675 676 const ( 677 // Space required is fully allocated and initialized. 678 // 679 // It is wiped clean of any previous content on the 680 // physical media. Gives faster runtime IO performance. 681 PbmPolicyAssociationVolumeAllocationTypeFullyInitialized = PbmPolicyAssociationVolumeAllocationType("FullyInitialized") 682 // Space required is fully allocated. 683 // 684 // It may contain 685 // stale data on the physical media. 686 PbmPolicyAssociationVolumeAllocationTypeReserveSpace = PbmPolicyAssociationVolumeAllocationType("ReserveSpace") 687 // Space required is allocated and zeroed on demand 688 // as the space is used. 689 PbmPolicyAssociationVolumeAllocationTypeConserveSpaceWhenPossible = PbmPolicyAssociationVolumeAllocationType("ConserveSpaceWhenPossible") 690 ) 691 692 func (e PbmPolicyAssociationVolumeAllocationType) Values() []PbmPolicyAssociationVolumeAllocationType { 693 return []PbmPolicyAssociationVolumeAllocationType{ 694 PbmPolicyAssociationVolumeAllocationTypeFullyInitialized, 695 PbmPolicyAssociationVolumeAllocationTypeReserveSpace, 696 PbmPolicyAssociationVolumeAllocationTypeConserveSpaceWhenPossible, 697 } 698 } 699 700 func (e PbmPolicyAssociationVolumeAllocationType) Strings() []string { 701 return types.EnumValuesAsStrings(e.Values()) 702 } 703 704 func init() { 705 types.Add("pbm:PbmPolicyAssociationVolumeAllocationType", reflect.TypeOf((*PbmPolicyAssociationVolumeAllocationType)(nil)).Elem()) 706 } 707 708 // The `PbmProfileCategoryEnum_enum` 709 // enumerated type defines the profile categories for a capability-based 710 // storage profile. 711 // 712 // See 713 // `PbmCapabilityProfile`. 714 type PbmProfileCategoryEnum string 715 716 const ( 717 // Indicates a storage requirement. 718 // 719 // Requirements are based on 720 // storage capabilities. 721 PbmProfileCategoryEnumREQUIREMENT = PbmProfileCategoryEnum("REQUIREMENT") 722 // Indicates a storage capability. 723 // 724 // Storage capabilities 725 // are defined by storage providers. 726 PbmProfileCategoryEnumRESOURCE = PbmProfileCategoryEnum("RESOURCE") 727 // Indicates a data service policy that can be embedded into 728 // another storage policy. 729 // 730 // Policies of this type can't be assigned to 731 // Virtual Machines or Virtual Disks. 732 PbmProfileCategoryEnumDATA_SERVICE_POLICY = PbmProfileCategoryEnum("DATA_SERVICE_POLICY") 733 ) 734 735 func (e PbmProfileCategoryEnum) Values() []PbmProfileCategoryEnum { 736 return []PbmProfileCategoryEnum{ 737 PbmProfileCategoryEnumREQUIREMENT, 738 PbmProfileCategoryEnumRESOURCE, 739 PbmProfileCategoryEnumDATA_SERVICE_POLICY, 740 } 741 } 742 743 func (e PbmProfileCategoryEnum) Strings() []string { 744 return types.EnumValuesAsStrings(e.Values()) 745 } 746 747 func init() { 748 types.Add("pbm:PbmProfileCategoryEnum", reflect.TypeOf((*PbmProfileCategoryEnum)(nil)).Elem()) 749 } 750 751 // The `PbmProfileResourceTypeEnum_enum` enumerated type defines the set of resource 752 // types that are supported for profile management. 753 // 754 // See `PbmProfileResourceType`. 755 type PbmProfileResourceTypeEnum string 756 757 const ( 758 // Indicates resources that support storage profiles. 759 PbmProfileResourceTypeEnumSTORAGE = PbmProfileResourceTypeEnum("STORAGE") 760 ) 761 762 func (e PbmProfileResourceTypeEnum) Values() []PbmProfileResourceTypeEnum { 763 return []PbmProfileResourceTypeEnum{ 764 PbmProfileResourceTypeEnumSTORAGE, 765 } 766 } 767 768 func (e PbmProfileResourceTypeEnum) Strings() []string { 769 return types.EnumValuesAsStrings(e.Values()) 770 } 771 772 func init() { 773 types.Add("pbm:PbmProfileResourceTypeEnum", reflect.TypeOf((*PbmProfileResourceTypeEnum)(nil)).Elem()) 774 } 775 776 // System pre-created profile types. 777 type PbmSystemCreatedProfileType string 778 779 const ( 780 // Indicates the system pre-created editable VSAN default profile. 781 PbmSystemCreatedProfileTypeVsanDefaultProfile = PbmSystemCreatedProfileType("VsanDefaultProfile") 782 // Indicates the system pre-created non-editable default profile 783 // for VVOL datastores. 784 PbmSystemCreatedProfileTypeVVolDefaultProfile = PbmSystemCreatedProfileType("VVolDefaultProfile") 785 // Indicates the system pre-created non-editable default profile 786 // for PMem datastores 787 PbmSystemCreatedProfileTypePmemDefaultProfile = PbmSystemCreatedProfileType("PmemDefaultProfile") 788 // Indicates the system pre-created non-editable VMC default profile. 789 PbmSystemCreatedProfileTypeVmcManagementProfile = PbmSystemCreatedProfileType("VmcManagementProfile") 790 // Indicates the system pre-created non-editable VSANMAX default profile. 791 PbmSystemCreatedProfileTypeVsanMaxDefaultProfile = PbmSystemCreatedProfileType("VsanMaxDefaultProfile") 792 ) 793 794 func (e PbmSystemCreatedProfileType) Values() []PbmSystemCreatedProfileType { 795 return []PbmSystemCreatedProfileType{ 796 PbmSystemCreatedProfileTypeVsanDefaultProfile, 797 PbmSystemCreatedProfileTypeVVolDefaultProfile, 798 PbmSystemCreatedProfileTypePmemDefaultProfile, 799 PbmSystemCreatedProfileTypeVmcManagementProfile, 800 PbmSystemCreatedProfileTypeVsanMaxDefaultProfile, 801 } 802 } 803 804 func (e PbmSystemCreatedProfileType) Strings() []string { 805 return types.EnumValuesAsStrings(e.Values()) 806 } 807 808 func init() { 809 types.Add("pbm:PbmSystemCreatedProfileType", reflect.TypeOf((*PbmSystemCreatedProfileType)(nil)).Elem()) 810 } 811 812 // The `PbmVmOperation_enum` enumerated type 813 // defines the provisioning operation being performed on the virtual machine. 814 type PbmVmOperation string 815 816 const ( 817 // Indicates create operation of a virtual machine. 818 PbmVmOperationCREATE = PbmVmOperation("CREATE") 819 // Indicates reconfigure operation of a virtual machine. 820 PbmVmOperationRECONFIGURE = PbmVmOperation("RECONFIGURE") 821 // Indicates migrate operation of a virtual machine. 822 PbmVmOperationMIGRATE = PbmVmOperation("MIGRATE") 823 // Indicates clone operation of a virtual machine. 824 PbmVmOperationCLONE = PbmVmOperation("CLONE") 825 ) 826 827 func (e PbmVmOperation) Values() []PbmVmOperation { 828 return []PbmVmOperation{ 829 PbmVmOperationCREATE, 830 PbmVmOperationRECONFIGURE, 831 PbmVmOperationMIGRATE, 832 PbmVmOperationCLONE, 833 } 834 } 835 836 func (e PbmVmOperation) Strings() []string { 837 return types.EnumValuesAsStrings(e.Values()) 838 } 839 840 func init() { 841 types.Add("pbm:PbmVmOperation", reflect.TypeOf((*PbmVmOperation)(nil)).Elem()) 842 } 843 844 // The `PbmVvolType_enum` enumeration type 845 // defines VVOL types. 846 // 847 // VvolType's are referenced to specify which objectType 848 // to fetch for default capability. 849 type PbmVvolType string 850 851 const ( 852 // meta-data volume 853 PbmVvolTypeConfig = PbmVvolType("Config") 854 // vmdk volume 855 PbmVvolTypeData = PbmVvolType("Data") 856 // swap volume 857 PbmVvolTypeSwap = PbmVvolType("Swap") 858 ) 859 860 func (e PbmVvolType) Values() []PbmVvolType { 861 return []PbmVvolType{ 862 PbmVvolTypeConfig, 863 PbmVvolTypeData, 864 PbmVvolTypeSwap, 865 } 866 } 867 868 func (e PbmVvolType) Strings() []string { 869 return types.EnumValuesAsStrings(e.Values()) 870 } 871 872 func init() { 873 types.Add("pbm:PbmVvolType", reflect.TypeOf((*PbmVvolType)(nil)).Elem()) 874 }