Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AzBISubnetsValidation ¶ added in v0.0.7
func AzBISubnetsValidation(sl validator.StructLevel)
Types ¶
type Config ¶
type DataDisk ¶ added in v0.0.5
type DataDisk struct { GbSize *int `json:"disk_size_gb" validate:"required,min=1"` StorageType *string `json:"storage_type" validate:"required,eq=Standard_LRS|eq=Premium_LRS|eq=StandardSSD_LRS|eq=UltraSSD_LRS"` // https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/managed_disk#storage_account_type }
type Output ¶
type Output struct { RgName *string `json:"rg_name"` VnetName *string `json:"vnet_name"` VmGroups []OutputVmGroup `json:"vm_groups"` }
func (*Output) GetRgNameV ¶ added in v0.0.6
func (*Output) GetVmGroups ¶ added in v0.0.7
func (o *Output) GetVmGroups() []OutputVmGroup
func (*Output) GetVnetNameV ¶ added in v0.0.6
type OutputDataDisk ¶ added in v0.0.5
type OutputVm ¶ added in v0.0.4
type OutputVm struct { Name *string `json:"vm_name"` PrivateIps []string `json:"private_ips"` PublicIp *string `json:"public_ip"` DataDisks []OutputDataDisk `json:"data_disks"` }
func (*OutputVm) GetDataDisks ¶ added in v0.0.7
func (v *OutputVm) GetDataDisks() []OutputDataDisk
type OutputVmGroup ¶ added in v0.0.4
func (*OutputVmGroup) GetFirstVm ¶ added in v0.0.7
func (g *OutputVmGroup) GetFirstVm() *OutputVm
func (*OutputVmGroup) GetVms ¶ added in v0.0.7
func (g *OutputVmGroup) GetVms() []OutputVm
type Params ¶
type Params struct { Name *string `json:"name" validate:"required,min=1"` Location *string `json:"location" validate:"required,min=1"` AddressSpace []string `json:"address_space" validate:"omitempty,min=1,dive,min=1,cidr"` Subnets []Subnet `json:"subnets" validate:"required_with=AddressSpace,excluded_without=AddressSpace,omitempty,min=1,dive,required"` // TODO custom validator that subnets are in AddressSpaces VmGroups []VmGroup `json:"vm_groups" validate:"required,dive"` RsaPublicKeyPath *string `json:"rsa_pub_path" validate:"required,min=1"` }
func (*Params) ExtractEmptySubnets ¶ added in v0.0.6
ExtractEmptySubnets gets params and extracts from it list of Subnet unassigned to any of VmGroup.
func (*Params) GetLocationV ¶ added in v0.0.6
func (*Params) GetRsaPublicKeyV ¶ added in v0.0.6
type VmGroup ¶ added in v0.0.4
type VmGroup struct { Name *string `json:"name" validate:"required,min=1"` VmCount *int `json:"vm_count" validate:"required,min=1"` VmSize *string `json:"vm_size" validate:"required,min=1"` UsePublicIP *bool `json:"use_public_ip" validate:"required"` SubnetNames []string `json:"subnet_names" validate:"omitempty,min=1,dive,required"` VmImage *VmImage `json:"vm_image" validate:"required,dive"` DataDisks []DataDisk `json:"data_disks" validate:"required,dive"` }
Click to show internal directories.
Click to hide internal directories.