github.com/vmware/govmomi@v0.37.2/sms/types/enum.go (about)

     1  /*
     2  Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package types
    18  
    19  import (
    20  	"reflect"
    21  
    22  	"github.com/vmware/govmomi/vim25/types"
    23  )
    24  
    25  type AlarmType string
    26  
    27  const (
    28  	AlarmTypeSpaceCapacityAlarm = AlarmType("SpaceCapacityAlarm")
    29  	AlarmTypeCapabilityAlarm    = AlarmType("CapabilityAlarm")
    30  	AlarmTypeStorageObjectAlarm = AlarmType("StorageObjectAlarm")
    31  	AlarmTypeObjectAlarm        = AlarmType("ObjectAlarm")
    32  	AlarmTypeComplianceAlarm    = AlarmType("ComplianceAlarm")
    33  	AlarmTypeManageabilityAlarm = AlarmType("ManageabilityAlarm")
    34  	AlarmTypeReplicationAlarm   = AlarmType("ReplicationAlarm")
    35  	AlarmTypeCertificateAlarm   = AlarmType("CertificateAlarm")
    36  )
    37  
    38  func init() {
    39  	types.Add("sms:AlarmType", reflect.TypeOf((*AlarmType)(nil)).Elem())
    40  }
    41  
    42  // List of possible BackingStoragePool types
    43  type BackingStoragePoolType string
    44  
    45  const (
    46  	BackingStoragePoolTypeThinProvisioningPool             = BackingStoragePoolType("thinProvisioningPool")
    47  	BackingStoragePoolTypeDeduplicationPool                = BackingStoragePoolType("deduplicationPool")
    48  	BackingStoragePoolTypeThinAndDeduplicationCombinedPool = BackingStoragePoolType("thinAndDeduplicationCombinedPool")
    49  )
    50  
    51  func init() {
    52  	types.Add("sms:BackingStoragePoolType", reflect.TypeOf((*BackingStoragePoolType)(nil)).Elem())
    53  }
    54  
    55  // List of possible block device interfaces
    56  type BlockDeviceInterface string
    57  
    58  const (
    59  	BlockDeviceInterfaceFc         = BlockDeviceInterface("fc")
    60  	BlockDeviceInterfaceIscsi      = BlockDeviceInterface("iscsi")
    61  	BlockDeviceInterfaceFcoe       = BlockDeviceInterface("fcoe")
    62  	BlockDeviceInterfaceOtherBlock = BlockDeviceInterface("otherBlock")
    63  )
    64  
    65  func init() {
    66  	types.Add("sms:BlockDeviceInterface", reflect.TypeOf((*BlockDeviceInterface)(nil)).Elem())
    67  }
    68  
    69  // Types of entities supported by the service.
    70  type EntityReferenceEntityType string
    71  
    72  const (
    73  	EntityReferenceEntityTypeDatacenter   = EntityReferenceEntityType("datacenter")
    74  	EntityReferenceEntityTypeResourcePool = EntityReferenceEntityType("resourcePool")
    75  	EntityReferenceEntityTypeStoragePod   = EntityReferenceEntityType("storagePod")
    76  	EntityReferenceEntityTypeCluster      = EntityReferenceEntityType("cluster")
    77  	EntityReferenceEntityTypeVm           = EntityReferenceEntityType("vm")
    78  	EntityReferenceEntityTypeDatastore    = EntityReferenceEntityType("datastore")
    79  	EntityReferenceEntityTypeHost         = EntityReferenceEntityType("host")
    80  	EntityReferenceEntityTypeVmFile       = EntityReferenceEntityType("vmFile")
    81  	EntityReferenceEntityTypeScsiPath     = EntityReferenceEntityType("scsiPath")
    82  	EntityReferenceEntityTypeScsiTarget   = EntityReferenceEntityType("scsiTarget")
    83  	EntityReferenceEntityTypeScsiVolume   = EntityReferenceEntityType("scsiVolume")
    84  	EntityReferenceEntityTypeScsiAdapter  = EntityReferenceEntityType("scsiAdapter")
    85  	EntityReferenceEntityTypeNasMount     = EntityReferenceEntityType("nasMount")
    86  )
    87  
    88  func init() {
    89  	types.Add("sms:EntityReferenceEntityType", reflect.TypeOf((*EntityReferenceEntityType)(nil)).Elem())
    90  }
    91  
    92  // List of possible file system interfaces
    93  type FileSystemInterface string
    94  
    95  const (
    96  	FileSystemInterfaceNfs             = FileSystemInterface("nfs")
    97  	FileSystemInterfaceOtherFileSystem = FileSystemInterface("otherFileSystem")
    98  )
    99  
   100  func init() {
   101  	types.Add("sms:FileSystemInterface", reflect.TypeOf((*FileSystemInterface)(nil)).Elem())
   102  }
   103  
   104  type FileSystemInterfaceVersion string
   105  
   106  const (
   107  	FileSystemInterfaceVersionNFSV3_0 = FileSystemInterfaceVersion("NFSV3_0")
   108  )
   109  
   110  func init() {
   111  	types.Add("sms:FileSystemInterfaceVersion", reflect.TypeOf((*FileSystemInterfaceVersion)(nil)).Elem())
   112  }
   113  
   114  // Profiles supported by VASA Provider.
   115  type ProviderProfile string
   116  
   117  const (
   118  	// PBM profile
   119  	ProviderProfileProfileBasedManagement = ProviderProfile("ProfileBasedManagement")
   120  	// Replication profile
   121  	ProviderProfileReplication = ProviderProfile("Replication")
   122  )
   123  
   124  func init() {
   125  	types.Add("sms:ProviderProfile", reflect.TypeOf((*ProviderProfile)(nil)).Elem())
   126  }
   127  
   128  // State of the replication group at the site of the query.
   129  //
   130  // A replication group
   131  // may be in different states at the source site and each of the target sites.
   132  // Note that this state does not capture the health of the replication link. If
   133  // necessary, that can be an additional attribute.
   134  type ReplicationReplicationState string
   135  
   136  const (
   137  	// Replication Source
   138  	ReplicationReplicationStateSOURCE = ReplicationReplicationState("SOURCE")
   139  	// Replication target
   140  	ReplicationReplicationStateTARGET = ReplicationReplicationState("TARGET")
   141  	// The group failed over at this site of the query.
   142  	//
   143  	// It has not yet been made
   144  	// as a source of replication.
   145  	ReplicationReplicationStateFAILEDOVER = ReplicationReplicationState("FAILEDOVER")
   146  	// The group is InTest.
   147  	//
   148  	// The testFailover devices list will be available from
   149  	// the `TargetGroupMemberInfo`
   150  	ReplicationReplicationStateINTEST = ReplicationReplicationState("INTEST")
   151  	// Remote group was failed over, and this site is neither the source nor the
   152  	// target.
   153  	ReplicationReplicationStateREMOTE_FAILEDOVER = ReplicationReplicationState("REMOTE_FAILEDOVER")
   154  )
   155  
   156  func init() {
   157  	types.Add("sms:ReplicationReplicationState", reflect.TypeOf((*ReplicationReplicationState)(nil)).Elem())
   158  }
   159  
   160  // Enumeration of the supported Alarm Status values
   161  type SmsAlarmStatus string
   162  
   163  const (
   164  	SmsAlarmStatusRed    = SmsAlarmStatus("Red")
   165  	SmsAlarmStatusGreen  = SmsAlarmStatus("Green")
   166  	SmsAlarmStatusYellow = SmsAlarmStatus("Yellow")
   167  )
   168  
   169  func init() {
   170  	types.Add("sms:SmsAlarmStatus", reflect.TypeOf((*SmsAlarmStatus)(nil)).Elem())
   171  }
   172  
   173  // Enumeration of the supported Entity Type values.
   174  type SmsEntityType string
   175  
   176  const (
   177  	SmsEntityTypeStorageArrayEntity        = SmsEntityType("StorageArrayEntity")
   178  	SmsEntityTypeStorageProcessorEntity    = SmsEntityType("StorageProcessorEntity")
   179  	SmsEntityTypeStoragePortEntity         = SmsEntityType("StoragePortEntity")
   180  	SmsEntityTypeStorageLunEntity          = SmsEntityType("StorageLunEntity")
   181  	SmsEntityTypeStorageFileSystemEntity   = SmsEntityType("StorageFileSystemEntity")
   182  	SmsEntityTypeStorageCapabilityEntity   = SmsEntityType("StorageCapabilityEntity")
   183  	SmsEntityTypeCapabilitySchemaEntity    = SmsEntityType("CapabilitySchemaEntity")
   184  	SmsEntityTypeCapabilityProfileEntity   = SmsEntityType("CapabilityProfileEntity")
   185  	SmsEntityTypeDefaultProfileEntity      = SmsEntityType("DefaultProfileEntity")
   186  	SmsEntityTypeResourceAssociationEntity = SmsEntityType("ResourceAssociationEntity")
   187  	SmsEntityTypeStorageContainerEntity    = SmsEntityType("StorageContainerEntity")
   188  	SmsEntityTypeStorageObjectEntity       = SmsEntityType("StorageObjectEntity")
   189  	SmsEntityTypeMessageCatalogEntity      = SmsEntityType("MessageCatalogEntity")
   190  	SmsEntityTypeProtocolEndpointEntity    = SmsEntityType("ProtocolEndpointEntity")
   191  	SmsEntityTypeVirtualVolumeInfoEntity   = SmsEntityType("VirtualVolumeInfoEntity")
   192  	SmsEntityTypeBackingStoragePoolEntity  = SmsEntityType("BackingStoragePoolEntity")
   193  	SmsEntityTypeFaultDomainEntity         = SmsEntityType("FaultDomainEntity")
   194  	SmsEntityTypeReplicationGroupEntity    = SmsEntityType("ReplicationGroupEntity")
   195  )
   196  
   197  func init() {
   198  	types.Add("sms:SmsEntityType", reflect.TypeOf((*SmsEntityType)(nil)).Elem())
   199  }
   200  
   201  // List of possible states of a task.
   202  type SmsTaskState string
   203  
   204  const (
   205  	// Task is put in the queue.
   206  	SmsTaskStateQueued = SmsTaskState("queued")
   207  	// Task is currently running.
   208  	SmsTaskStateRunning = SmsTaskState("running")
   209  	// Task has completed.
   210  	SmsTaskStateSuccess = SmsTaskState("success")
   211  	// Task has encountered an error or has been canceled.
   212  	SmsTaskStateError = SmsTaskState("error")
   213  )
   214  
   215  func init() {
   216  	types.Add("sms:SmsTaskState", reflect.TypeOf((*SmsTaskState)(nil)).Elem())
   217  }
   218  
   219  // List of supported VVOL Container types
   220  type StorageContainerVvolContainerTypeEnum string
   221  
   222  const (
   223  	StorageContainerVvolContainerTypeEnumNFS   = StorageContainerVvolContainerTypeEnum("NFS")
   224  	StorageContainerVvolContainerTypeEnumNFS4x = StorageContainerVvolContainerTypeEnum("NFS4x")
   225  	StorageContainerVvolContainerTypeEnumSCSI  = StorageContainerVvolContainerTypeEnum("SCSI")
   226  	StorageContainerVvolContainerTypeEnumNVMe  = StorageContainerVvolContainerTypeEnum("NVMe")
   227  )
   228  
   229  func init() {
   230  	types.Add("sms:StorageContainerVvolContainerTypeEnum", reflect.TypeOf((*StorageContainerVvolContainerTypeEnum)(nil)).Elem())
   231  }
   232  
   233  // List of possible values for thin provisioning status alarm.
   234  type ThinProvisioningStatus string
   235  
   236  const (
   237  	ThinProvisioningStatusRED    = ThinProvisioningStatus("RED")
   238  	ThinProvisioningStatusYELLOW = ThinProvisioningStatus("YELLOW")
   239  	ThinProvisioningStatusGREEN  = ThinProvisioningStatus("GREEN")
   240  )
   241  
   242  func init() {
   243  	types.Add("sms:ThinProvisioningStatus", reflect.TypeOf((*ThinProvisioningStatus)(nil)).Elem())
   244  }
   245  
   246  // VASA provider authentication type.
   247  type VasaAuthenticationType string
   248  
   249  const (
   250  	// Login using SAML token.
   251  	VasaAuthenticationTypeLoginByToken = VasaAuthenticationType("LoginByToken")
   252  	// Use id of an existing session that has logged-in from somewhere else.
   253  	VasaAuthenticationTypeUseSessionId = VasaAuthenticationType("UseSessionId")
   254  )
   255  
   256  func init() {
   257  	types.Add("sms:VasaAuthenticationType", reflect.TypeOf((*VasaAuthenticationType)(nil)).Elem())
   258  }
   259  
   260  // List of possible VASA profiles supported by Storage Array
   261  type VasaProfile string
   262  
   263  const (
   264  	// Block device profile
   265  	VasaProfileBlockDevice = VasaProfile("blockDevice")
   266  	// File system profile
   267  	VasaProfileFileSystem = VasaProfile("fileSystem")
   268  	// Storage capability profile
   269  	VasaProfileCapability = VasaProfile("capability")
   270  	// Policy profile
   271  	VasaProfilePolicy = VasaProfile("policy")
   272  	// Object based storage profile
   273  	VasaProfileObject = VasaProfile("object")
   274  	// IO Statistics profile
   275  	VasaProfileStatistics = VasaProfile("statistics")
   276  	// Storage DRS specific block device profile
   277  	VasaProfileStorageDrsBlockDevice = VasaProfile("storageDrsBlockDevice")
   278  	// Storage DRS specific file system profile
   279  	VasaProfileStorageDrsFileSystem = VasaProfile("storageDrsFileSystem")
   280  )
   281  
   282  func init() {
   283  	types.Add("sms:VasaProfile", reflect.TypeOf((*VasaProfile)(nil)).Elem())
   284  }
   285  
   286  // The status of the provider certificate
   287  type VasaProviderCertificateStatus string
   288  
   289  const (
   290  	// Provider certificate is valid.
   291  	VasaProviderCertificateStatusValid = VasaProviderCertificateStatus("valid")
   292  	// Provider certificate is within the soft limit threshold.
   293  	VasaProviderCertificateStatusExpirySoftLimitReached = VasaProviderCertificateStatus("expirySoftLimitReached")
   294  	// Provider certificate is within the hard limit threshold.
   295  	VasaProviderCertificateStatusExpiryHardLimitReached = VasaProviderCertificateStatus("expiryHardLimitReached")
   296  	// Provider certificate has expired.
   297  	VasaProviderCertificateStatusExpired = VasaProviderCertificateStatus("expired")
   298  	// Provider certificate is revoked, malformed or missing.
   299  	VasaProviderCertificateStatusInvalid = VasaProviderCertificateStatus("invalid")
   300  )
   301  
   302  func init() {
   303  	types.Add("sms:VasaProviderCertificateStatus", reflect.TypeOf((*VasaProviderCertificateStatus)(nil)).Elem())
   304  }
   305  
   306  // Deprecated as of SMS API 3.0, use `VasaProfile_enum`.
   307  //
   308  // Profiles supported by VASA Provider.
   309  type VasaProviderProfile string
   310  
   311  const (
   312  	// Block device profile
   313  	VasaProviderProfileBlockDevice = VasaProviderProfile("blockDevice")
   314  	// File system profile
   315  	VasaProviderProfileFileSystem = VasaProviderProfile("fileSystem")
   316  	// Storage capability profile
   317  	VasaProviderProfileCapability = VasaProviderProfile("capability")
   318  )
   319  
   320  func init() {
   321  	types.Add("sms:VasaProviderProfile", reflect.TypeOf((*VasaProviderProfile)(nil)).Elem())
   322  }
   323  
   324  // The operational state of VASA Provider.
   325  type VasaProviderStatus string
   326  
   327  const (
   328  	// VASA Provider is operating correctly.
   329  	VasaProviderStatusOnline = VasaProviderStatus("online")
   330  	// VASA Provider is not responding, e.g.
   331  	//
   332  	// communication error due to temporary
   333  	// network outage. SMS keeps polling the provider in this state.
   334  	VasaProviderStatusOffline = VasaProviderStatus("offline")
   335  	// VASA Provider is connected, but sync operation failed.
   336  	VasaProviderStatusSyncError = VasaProviderStatus("syncError")
   337  	//
   338  	//
   339  	// Deprecated as of SMS API 4.0, this status is deprecated.
   340  	//
   341  	// VASA Provider is unreachable.
   342  	VasaProviderStatusUnknown = VasaProviderStatus("unknown")
   343  	// VASA Provider is connected, but has not triggered sync operation.
   344  	VasaProviderStatusConnected = VasaProviderStatus("connected")
   345  	// VASA Provider is disconnected, e.g.
   346  	//
   347  	// failed to establish a valid
   348  	// SSL connection to the provider. SMS stops communication with the
   349  	// provider in this state. The user can reconnect to the provider by invoking
   350  	// `VasaProvider.VasaProviderReconnect_Task`.
   351  	VasaProviderStatusDisconnected = VasaProviderStatus("disconnected")
   352  )
   353  
   354  func init() {
   355  	types.Add("sms:VasaProviderStatus", reflect.TypeOf((*VasaProviderStatus)(nil)).Elem())
   356  }
   357  
   358  // A Category to indicate whether provider is of internal or external category.
   359  //
   360  // This classification can help selectively enable few administrative functions
   361  // such as say unregistration of a provider.
   362  type VpCategory string
   363  
   364  const (
   365  	// An internal provider category indicates the set of providers such as IOFILTERS and VSAN.
   366  	VpCategoryInternal = VpCategory("internal")
   367  	// An external provider category indicates the set of providers are external and not belong
   368  	// to say either of IOFILTERS or VSAN category.
   369  	VpCategoryExternal = VpCategory("external")
   370  )
   371  
   372  func init() {
   373  	types.Add("sms:VpCategory", reflect.TypeOf((*VpCategory)(nil)).Elem())
   374  }
   375  
   376  // VASA Provider type.
   377  type VpType string
   378  
   379  const (
   380  	// Persistence provider.
   381  	VpTypePERSISTENCE = VpType("PERSISTENCE")
   382  	// DataService provider.
   383  	//
   384  	// No storage supported for this type of provider.
   385  	VpTypeDATASERVICE = VpType("DATASERVICE")
   386  	// Type is unknown.
   387  	//
   388  	// VASA provider type can be UNKNOWN when it is undergoing sync operation.
   389  	VpTypeUNKNOWN = VpType("UNKNOWN")
   390  )
   391  
   392  func init() {
   393  	types.Add("sms:VpType", reflect.TypeOf((*VpType)(nil)).Elem())
   394  }