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  }