Documentation
¶
Index ¶
- Constants
- type AccessPolicies
- type OSDiskUnion
- type Parameters
- type Permissions
- type Properties
- type Resource
- type Sku
- type StorageProfileUnion
- type Template
- type TemplateBuilder
- func (s *TemplateBuilder) BuildLinux(sshAuthorizedKey string) error
- func (s *TemplateBuilder) BuildWindows(keyVaultName, winRMCertificateUrl string) error
- func (s *TemplateBuilder) SetCustomData(customData string) error
- func (s *TemplateBuilder) SetImageUrl(imageUrl string, osType compute.OperatingSystemTypes) error
- func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string, storageAccountType compute.StorageAccountTypes) error
- func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string, ...) error
- func (s *TemplateBuilder) SetMarketPlaceImage(publisher, offer, sku, version string) error
- func (s *TemplateBuilder) SetOSDiskSizeGB(diskSizeGB int32) error
- func (s *TemplateBuilder) SetPrivateVirtualNetworWithPublicIp(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error
- func (s *TemplateBuilder) SetTags(tags *map[string]*string) error
- func (s *TemplateBuilder) SetVirtualNetwork(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error
- func (s *TemplateBuilder) ToJSON() (*string, error)
- type TemplateParameter
- type TemplateParameters
Constants ¶
View Source
const BasicTemplate = `` /* 4779-byte string literal not displayed */
View Source
const KeyVault = `` /* 1663-byte string literal not displayed */
Template to deploy a KeyVault.
This template is still hard-coded unlike the ARM templates used for VMs for a couple of reasons.
- The SDK defines no types for a Key Vault
- The Key Vault template is relatively simple, and is static.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessPolicies ¶
type AccessPolicies struct {
ObjectId *string `json:"objectId,omitempty"`
TenantId *string `json:"tenantId,omitempty"`
Permissions *Permissions `json:"permissions,omitempty"`
}
type OSDiskUnion ¶ added in v1.0.3
type OSDiskUnion struct {
OsType compute.OperatingSystemTypes `json:"osType,omitempty"`
OsState compute.OperatingSystemStateTypes `json:"osState,omitempty"`
BlobURI *string `json:"blobUri,omitempty"`
Name *string `json:"name,omitempty"`
Vhd *compute.VirtualHardDisk `json:"vhd,omitempty"`
Image *compute.VirtualHardDisk `json:"image,omitempty"`
Caching compute.CachingTypes `json:"caching,omitempty"`
CreateOption compute.DiskCreateOptionTypes `json:"createOption,omitempty"`
DiskSizeGB *int32 `json:"diskSizeGB,omitempty"`
ManagedDisk *compute.ManagedDiskParameters `json:"managedDisk,omitempty"`
}
type Parameters ¶
type Parameters struct {
Type *string `json:"type"`
DefaultValue *string `json:"defaultValue,omitempty"`
}
/////////////////////////////////////////////// Template > Parameters
type Permissions ¶
type Properties ¶
type Properties struct {
AccessPolicies *[]AccessPolicies `json:"accessPolicies,omitempty"`
AddressSpace *network.AddressSpace `json:"addressSpace,omitempty"`
DiagnosticsProfile *compute.DiagnosticsProfile `json:"diagnosticsProfile,omitempty"`
DNSSettings *network.PublicIPAddressDNSSettings `json:"dnsSettings,omitempty"`
EnabledForDeployment *string `json:"enabledForDeployment,omitempty"`
EnabledForTemplateDeployment *string `json:"enabledForTemplateDeployment,omitempty"`
HardwareProfile *compute.HardwareProfile `json:"hardwareProfile,omitempty"`
IPConfigurations *[]network.IPConfiguration `json:"ipConfigurations,omitempty"`
NetworkProfile *compute.NetworkProfile `json:"networkProfile,omitempty"`
OsProfile *compute.OSProfile `json:"osProfile,omitempty"`
PublicIPAllocatedMethod *network.IPAllocationMethod `json:"publicIPAllocationMethod,omitempty"`
Sku *Sku `json:"sku,omitempty"`
//StorageProfile3 *compute.StorageProfile `json:"storageProfile,omitempty"`
StorageProfile *StorageProfileUnion `json:"storageProfile,omitempty"`
Subnets *[]network.Subnet `json:"subnets,omitempty"`
TenantId *string `json:"tenantId,omitempty"`
Value *string `json:"value,omitempty"`
}
/////////////////////////////////////////////// Template > Resource > Properties
type Resource ¶
type Resource struct {
ApiVersion *string `json:"apiVersion"`
Name *string `json:"name"`
Type *string `json:"type"`
Location *string `json:"location,omitempty"`
DependsOn *[]string `json:"dependsOn,omitempty"`
Properties *Properties `json:"properties,omitempty"`
Tags *map[string]*string `json:"tags,omitempty"`
Resources *[]Resource `json:"resources,omitempty"`
}
/////////////////////////////////////////////// Template > Resource
type StorageProfileUnion ¶ added in v1.0.3
type StorageProfileUnion struct {
ImageReference *compute.ImageReference `json:"imageReference,omitempty"`
OsDisk *OSDiskUnion `json:"osDisk,omitempty"`
}
Union of the StorageProfile and ImageStorageProfile types.
type Template ¶
type Template struct {
Schema *string `json:"$schema"`
ContentVersion *string `json:"contentVersion"`
Parameters *map[string]Parameters `json:"parameters"`
Variables *map[string]string `json:"variables"`
Resources *[]Resource `json:"resources"`
}
/////////////////////////////////////////////// Template
type TemplateBuilder ¶
type TemplateBuilder struct {
// contains filtered or unexported fields
}
func NewTemplateBuilder ¶
func NewTemplateBuilder(template string) (*TemplateBuilder, error)
func (*TemplateBuilder) BuildLinux ¶
func (s *TemplateBuilder) BuildLinux(sshAuthorizedKey string) error
func (*TemplateBuilder) BuildWindows ¶
func (s *TemplateBuilder) BuildWindows(keyVaultName, winRMCertificateUrl string) error
func (*TemplateBuilder) SetCustomData ¶
func (s *TemplateBuilder) SetCustomData(customData string) error
func (*TemplateBuilder) SetImageUrl ¶
func (s *TemplateBuilder) SetImageUrl(imageUrl string, osType compute.OperatingSystemTypes) error
func (*TemplateBuilder) SetManagedDiskUrl ¶ added in v1.0.3
func (s *TemplateBuilder) SetManagedDiskUrl(managedImageId string, storageAccountType compute.StorageAccountTypes) error
func (*TemplateBuilder) SetManagedMarketplaceImage ¶ added in v1.0.3
func (s *TemplateBuilder) SetManagedMarketplaceImage(location, publisher, offer, sku, version, imageID string, storageAccountType compute.StorageAccountTypes) error
func (*TemplateBuilder) SetMarketPlaceImage ¶
func (s *TemplateBuilder) SetMarketPlaceImage(publisher, offer, sku, version string) error
func (*TemplateBuilder) SetOSDiskSizeGB ¶
func (s *TemplateBuilder) SetOSDiskSizeGB(diskSizeGB int32) error
func (*TemplateBuilder) SetPrivateVirtualNetworWithPublicIp ¶ added in v1.0.4
func (s *TemplateBuilder) SetPrivateVirtualNetworWithPublicIp(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error
func (*TemplateBuilder) SetVirtualNetwork ¶
func (s *TemplateBuilder) SetVirtualNetwork(virtualNetworkResourceGroup, virtualNetworkName, subnetName string) error
func (*TemplateBuilder) ToJSON ¶
func (s *TemplateBuilder) ToJSON() (*string, error)
type TemplateParameter ¶
type TemplateParameter struct {
Value string `json:"value"`
}
type TemplateParameters ¶
type TemplateParameters struct {
AdminUsername *TemplateParameter `json:"adminUsername,omitempty"`
AdminPassword *TemplateParameter `json:"adminPassword,omitempty"`
DnsNameForPublicIP *TemplateParameter `json:"dnsNameForPublicIP,omitempty"`
KeyVaultName *TemplateParameter `json:"keyVaultName,omitempty"`
KeyVaultSecretValue *TemplateParameter `json:"keyVaultSecretValue,omitempty"`
ObjectId *TemplateParameter `json:"objectId,omitempty"`
OSDiskName *TemplateParameter `json:"osDiskName,omitempty"`
StorageAccountBlobEndpoint *TemplateParameter `json:"storageAccountBlobEndpoint,omitempty"`
TenantId *TemplateParameter `json:"tenantId,omitempty"`
VMSize *TemplateParameter `json:"vmSize,omitempty"`
VMName *TemplateParameter `json:"vmName,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.