batch-shipyard/schemas/fs.yaml

243 строки
7.3 KiB
YAML

desc: RemoteFS Configuration Schema
type: map
mapping:
remote_fs:
type: map
required: true
mapping:
resource_group:
type: str
location:
type: str
required: true
zone:
type: int
range:
min: 1
managed_disks:
type: map
mapping:
resource_group:
type: str
sku:
type: str
required: true
enum: ['standard_lrs', 'premium_lrs', 'standard_ssd_lrs', 'ultra_ssd_lrs']
disk_size_gb:
type: int
required: true
disk_provisioned_performance:
type: map
mapping:
iops_read_write:
type: int
required: true
range:
min: 100
mbps_read_write:
type: int
required: true
range:
min: 1
disk_names:
type: seq
sequence:
- type: str
storage_clusters:
type: map
mapping:
regex;(.+):
type: map
mapping:
resource_group:
type: str
hostname_prefix:
type: str
required: true
ssh:
type: map
required: true
mapping:
username:
type: str
required: true
ssh_public_key:
type: str
ssh_public_key_data:
type: str
ssh_private_key:
type: str
generated_file_export_path:
type: str
public_ip:
type: map
mapping:
enabled:
type: bool
static:
type: bool
virtual_network:
type: map
required: true
mapping:
name:
type: str
required: true
resource_group:
type: str
existing_ok:
type: bool
address_space:
type: str
subnet:
type: map
mapping:
name:
type: str
required: true
address_prefix:
type: str
required: true
network_security:
type: map
required: true
mapping:
ssh:
type: seq
required: true
sequence:
- type: str
nfs:
type: seq
sequence:
- type: str
glusterfs:
type: seq
sequence:
- type: str
smb:
type: seq
sequence:
- type: str
custom_inbound_rules:
type: map
mapping:
regex;([a-zA-Z0-9]+):
type: map
mapping:
destination_port_range:
type: str
required: true
protocol:
type: str
enum: ['*', 'tcp', 'udp']
source_address_prefix:
type: seq
required: true
sequence:
- type: str
file_server:
type: map
mapping:
type:
type: str
enum: ['nfs', 'glusterfs']
required: true
mountpoint:
type: str
required: true
mount_options:
type: seq
sequence:
- type: str
server_options:
type: map
mapping:
nfs:
type: map
mapping:
regex;(.+):
type: seq
sequence:
- type: str
glusterfs:
type: map
mapping:
transport:
type: str
enum: ['tcp']
volume_name:
type: str
volume_type:
type: str
enum: ['distributed', 'replica', 'stripe']
regex;(.+):
type: str
samba:
type: map
mapping:
share_name:
type: str
required: true
account:
type: map
mapping:
username:
type: str
required: true
password:
type: str
required: true
uid:
type: int
required: true
gid:
type: int
required: true
read_only:
type: bool
create_mask:
type: str
directory_mask:
type: str
vm_count:
type: int
required: true
vm_size:
type: str
required: true
fault_domains:
type: int
accelerated_networking:
type: bool
vm_disk_map:
type: map
mapping:
regex;([0-9]+):
type: map
mapping:
disk_array:
type: seq
sequence:
- type: str
filesystem:
type: str
enum: ['btrfs', 'ext2', 'ext3', 'ext4', 'xfs']
raid_level:
type: int
prometheus:
type: map
mapping:
node_exporter:
type: map
mapping:
enabled:
type: bool
port:
type: int
options:
type: seq
sequence:
- type: str