PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/config/schemas/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/config/schemas/esxi.py |
""" :codeauthor: :email:`Alexandru Bleotu (alexandru.bleotu@morganstanley.com)` salt.config.schemas.esxi ~~~~~~~~~~~~~~~~~~~~~~~~ ESXi host configuration schemas """ from salt.utils.schema import ( ArrayItem, BooleanItem, ComplexSchemaItem, DefinitionsSchema, IntegerItem, OneOfItem, Schema, StringItem, ) class VMwareScsiAddressItem(StringItem): pattern = r"vmhba\d+:C\d+:T\d+:L\d+" class DiskGroupDiskScsiAddressItem(ComplexSchemaItem): """ Schema item of a ESXi host disk group containing disk SCSI addresses """ title = "Diskgroup Disk Scsi Address Item" description = "ESXi host diskgroup item containing disk SCSI addresses" cache_scsi_addr = VMwareScsiAddressItem( title="Cache Disk Scsi Address", description="Specifies the SCSI address of the cache disk", required=True, ) capacity_scsi_addrs = ArrayItem( title="Capacity Scsi Addresses", description="Array with the SCSI addresses of the capacity disks", items=VMwareScsiAddressItem(), min_items=1, ) class DiskGroupDiskIdItem(ComplexSchemaItem): """ Schema item of a ESXi host disk group containg disk ids """ title = "Diskgroup Disk Id Item" description = "ESXi host diskgroup item containing disk ids" cache_id = StringItem( title="Cache Disk Id", description="Specifies the id of the cache disk", pattern=r"[^\s]+", ) capacity_ids = ArrayItem( title="Capacity Disk Ids", description="Array with the ids of the capacity disks", items=StringItem(pattern=r"[^\s]+"), min_items=1, ) class DiskGroupsDiskScsiAddressSchema(DefinitionsSchema): """ Schema of ESXi host diskgroups containing disk SCSI addresses """ title = "Diskgroups Disk Scsi Address Schema" description = "ESXi host diskgroup schema containing disk SCSI addresses" diskgroups = ArrayItem( title="Diskgroups", description="List of diskgroups in an ESXi host", min_items=1, items=DiskGroupDiskScsiAddressItem(), required=True, ) erase_disks = BooleanItem(title="Erase Diskgroup Disks", required=True) class DiskGroupsDiskIdSchema(DefinitionsSchema): """ Schema of ESXi host diskgroups containing disk ids """ title = "Diskgroups Disk Id Schema" description = "ESXi host diskgroup schema containing disk ids" diskgroups = ArrayItem( title="DiskGroups", description="List of disk groups in an ESXi host", min_items=1, items=DiskGroupDiskIdItem(), required=True, ) class VmfsDatastoreDiskIdItem(ComplexSchemaItem): """ Schema item of a VMFS datastore referencing a backing disk id """ title = "VMFS Datastore Disk Id Item" description = "VMFS datastore item referencing a backing disk id" name = StringItem( title="Name", description="Specifies the name of the VMFS datastore", required=True, ) backing_disk_id = StringItem( title="Backing Disk Id", description="Specifies the id of the disk backing the VMFS datastore", pattern=r"[^\s]+", required=True, ) vmfs_version = IntegerItem( title="VMFS Version", description="VMFS version", enum=[1, 2, 3, 5] ) class VmfsDatastoreDiskScsiAddressItem(ComplexSchemaItem): """ Schema item of a VMFS datastore referencing a backing disk SCSI address """ title = "VMFS Datastore Disk Scsi Address Item" description = "VMFS datastore item referencing a backing disk SCSI address" name = StringItem( title="Name", description="Specifies the name of the VMFS datastore", required=True, ) backing_disk_scsi_addr = VMwareScsiAddressItem( title="Backing Disk Scsi Address", description="Specifies the SCSI address of the disk backing the VMFS datastore", required=True, ) vmfs_version = IntegerItem( title="VMFS Version", description="VMFS version", enum=[1, 2, 3, 5] ) class VmfsDatastoreSchema(DefinitionsSchema): """ Schema of a VMFS datastore """ title = "VMFS Datastore Schema" description = "Schema of a VMFS datastore" datastore = OneOfItem( items=[VmfsDatastoreDiskScsiAddressItem(), VmfsDatastoreDiskIdItem()], required=True, ) class HostCacheSchema(DefinitionsSchema): """ Schema of ESXi host cache """ title = "Host Cache Schema" description = "Schema of the ESXi host cache" enabled = BooleanItem(title="Enabled", required=True) datastore = VmfsDatastoreDiskScsiAddressItem(required=True) swap_size = StringItem( title="Host cache swap size (in GB or %)", pattern=r"(\d+GiB)|(([0-9]|([1-9][0-9])|100)%)", required=True, ) erase_backing_disk = BooleanItem(title="Erase Backup Disk", required=True) class SimpleHostCacheSchema(Schema): """ Simplified Schema of ESXi host cache """ title = "Simple Host Cache Schema" description = "Simplified schema of the ESXi host cache" enabled = BooleanItem(title="Enabled", required=True) datastore_name = StringItem(title="Datastore Name", required=True) swap_size_MiB = IntegerItem(title="Host cache swap size in MiB", minimum=1) class EsxiProxySchema(Schema): """ Schema of the esxi proxy input """ title = "Esxi Proxy Schema" description = "Esxi proxy schema" additional_properties = False proxytype = StringItem(required=True, enum=["esxi"]) host = StringItem(pattern=r"[^\s]+") # Used when connecting directly vcenter = StringItem(pattern=r"[^\s]+") # Used when connecting via a vCenter esxi_host = StringItem() username = StringItem() passwords = ArrayItem(min_items=1, items=StringItem(), unique_items=True) mechanism = StringItem(enum=["userpass", "sspi"]) # TODO Should be changed when anyOf is supported for schemas domain = StringItem() principal = StringItem() protocol = StringItem() port = IntegerItem(minimum=1)