github.com/vmware/govmomi@v0.37.1/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 }