engine

package
v0.79.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 30, 2023 License: MIT Imports: 42 Imported by: 48

Documentation

Overview

Package engine takes an AKS cluster model and generates the corresponding template.

Code generated for package engine by go-bindata DO NOT EDIT. (@generated) sources: ../../parts/agentoutputs.t ../../parts/agentparams.t ../../parts/iaasoutputs.t ../../parts/k8s/addons/aad-default-admin-group-rbac.yaml ../../parts/k8s/addons/aad-pod-identity.yaml ../../parts/k8s/addons/antrea.yaml ../../parts/k8s/addons/arc-onboarding.yaml ../../parts/k8s/addons/audit-policy.yaml ../../parts/k8s/addons/azure-cloud-provider.yaml ../../parts/k8s/addons/azure-network-policy.yaml ../../parts/k8s/addons/azure-policy-deployment.yaml ../../parts/k8s/addons/azuredisk-csi-driver-deployment.yaml ../../parts/k8s/addons/azurefile-csi-driver-deployment.yaml ../../parts/k8s/addons/blobfuse-flexvolume.yaml ../../parts/k8s/addons/calico.yaml ../../parts/k8s/addons/cilium.yaml ../../parts/k8s/addons/cloud-node-manager.yaml ../../parts/k8s/addons/cluster-autoscaler.yaml ../../parts/k8s/addons/container-monitoring.yaml ../../parts/k8s/addons/coredns.yaml ../../parts/k8s/addons/flannel.yaml ../../parts/k8s/addons/ip-masq-agent.yaml ../../parts/k8s/addons/keyvault-flexvolume.yaml ../../parts/k8s/addons/kube-dns.yaml ../../parts/k8s/addons/kube-proxy.yaml ../../parts/k8s/addons/kubernetes-dashboard.yaml ../../parts/k8s/addons/metrics-server.yaml ../../parts/k8s/addons/node-problem-detector.yaml ../../parts/k8s/addons/nvidia-device-plugin.yaml ../../parts/k8s/addons/pod-security-policy.yaml ../../parts/k8s/addons/scheduled-maintenance-deployment.yaml ../../parts/k8s/addons/secrets-store-csi-driver.yaml ../../parts/k8s/addons/smb-flexvolume.yaml ../../parts/k8s/addons/tiller.yaml ../../parts/k8s/armparameters.t ../../parts/k8s/cloud-init/artifacts/apiserver-monitor.service ../../parts/k8s/cloud-init/artifacts/apt-preferences ../../parts/k8s/cloud-init/artifacts/auditd-rules ../../parts/k8s/cloud-init/artifacts/cis.sh ../../parts/k8s/cloud-init/artifacts/cse_config.sh ../../parts/k8s/cloud-init/artifacts/cse_customcloud.sh ../../parts/k8s/cloud-init/artifacts/cse_helpers.sh ../../parts/k8s/cloud-init/artifacts/cse_install.sh ../../parts/k8s/cloud-init/artifacts/cse_main.sh ../../parts/k8s/cloud-init/artifacts/default-grub ../../parts/k8s/cloud-init/artifacts/dhcpv6.service ../../parts/k8s/cloud-init/artifacts/docker-monitor.service ../../parts/k8s/cloud-init/artifacts/docker_clear_mount_propagation_flags.conf ../../parts/k8s/cloud-init/artifacts/enable-dhcpv6.sh ../../parts/k8s/cloud-init/artifacts/etc-issue ../../parts/k8s/cloud-init/artifacts/etc-issue.net ../../parts/k8s/cloud-init/artifacts/etcd-monitor.service ../../parts/k8s/cloud-init/artifacts/etcd.service ../../parts/k8s/cloud-init/artifacts/generateproxycerts.sh ../../parts/k8s/cloud-init/artifacts/health-monitor.sh ../../parts/k8s/cloud-init/artifacts/kms-keyvault-key.service ../../parts/k8s/cloud-init/artifacts/kms-keyvault-key.sh ../../parts/k8s/cloud-init/artifacts/kubelet-monitor.service ../../parts/k8s/cloud-init/artifacts/kubelet-monitor.timer ../../parts/k8s/cloud-init/artifacts/kubelet.service ../../parts/k8s/cloud-init/artifacts/label-nodes.service ../../parts/k8s/cloud-init/artifacts/label-nodes.sh ../../parts/k8s/cloud-init/artifacts/modprobe-CIS.conf ../../parts/k8s/cloud-init/artifacts/pam-d-common-auth ../../parts/k8s/cloud-init/artifacts/pam-d-common-password ../../parts/k8s/cloud-init/artifacts/pam-d-su ../../parts/k8s/cloud-init/artifacts/profile-d-cis.sh ../../parts/k8s/cloud-init/artifacts/pwquality-CIS.conf ../../parts/k8s/cloud-init/artifacts/rsyslog-d-60-CIS.conf ../../parts/k8s/cloud-init/artifacts/setup-custom-search-domains.sh ../../parts/k8s/cloud-init/artifacts/sshd_config ../../parts/k8s/cloud-init/artifacts/sshd_config_1604 ../../parts/k8s/cloud-init/artifacts/sys-fs-bpf.mount ../../parts/k8s/cloud-init/artifacts/sysctl-d-60-CIS.conf ../../parts/k8s/cloud-init/artifacts/untaint-nodes.service ../../parts/k8s/cloud-init/artifacts/untaint-nodes.sh ../../parts/k8s/cloud-init/jumpboxcustomdata.yml ../../parts/k8s/cloud-init/masternodecustomdata.yml ../../parts/k8s/cloud-init/nodecustomdata.yml ../../parts/k8s/containerdtemplate.toml ../../parts/k8s/kubeconfig.json ../../parts/k8s/kubernetesparams.t ../../parts/k8s/kuberneteswindowsfunctions.ps1 ../../parts/k8s/kuberneteswindowssetup.ps1 ../../parts/k8s/manifests/kubernetesmaster-azure-kubernetes-kms.yaml ../../parts/k8s/manifests/kubernetesmaster-cloud-controller-manager.yaml ../../parts/k8s/manifests/kubernetesmaster-kube-addon-manager.yaml ../../parts/k8s/manifests/kubernetesmaster-kube-apiserver.yaml ../../parts/k8s/manifests/kubernetesmaster-kube-controller-manager.yaml ../../parts/k8s/manifests/kubernetesmaster-kube-scheduler.yaml ../../parts/k8s/rotate-certs.ps1 ../../parts/k8s/rotate-certs.sh ../../parts/k8s/windowsazurecnifunc.ps1 ../../parts/k8s/windowsazurecnifunc.tests.ps1 ../../parts/k8s/windowscnifunc.ps1 ../../parts/k8s/windowsconfigfunc.ps1 ../../parts/k8s/windowscontainerdfunc.ps1 ../../parts/k8s/windowscsiproxyfunc.ps1 ../../parts/k8s/windowshostsconfigagentfunc.ps1 ../../parts/k8s/windowsinstallopensshfunc.ps1 ../../parts/k8s/windowskubeletfunc.ps1 ../../parts/masteroutputs.t ../../parts/masterparams.t ../../parts/windowsparams.t

Index

Constants

View Source
const (
	// DefaultVNETCIDR is the default CIDR block for the VNET
	DefaultVNETCIDR = "10.0.0.0/8"
	// DefaultVNETCIDRIPv6 is the default IPv6 CIDR block for the VNET
	DefaultVNETCIDRIPv6 = "2001:1234:5678:9a00::/56"
	// DefaultInternalLbStaticIPOffset specifies the offset of the internal LoadBalancer's IP
	// address relative to the first consecutive Kubernetes static IP
	DefaultInternalLbStaticIPOffset = 10
	// NetworkPolicyNone is the string expression for the deprecated NetworkPolicy usage pattern "none"
	NetworkPolicyNone = "none"
	// NetworkPolicyCalico is the string expression for calico network policy config option
	NetworkPolicyCalico = "calico"
	// NetworkPolicyCilium is the string expression for cilium network policy config option
	NetworkPolicyCilium = "cilium"
	// NetworkPluginCilium is the string expression for cilium network plugin config option
	NetworkPluginCilium = NetworkPolicyCilium
	// NetworkPolicyAntrea is the string expression for antrea network policy config option
	NetworkPolicyAntrea = "antrea"
	// NetworkPluginAntrea is the string expression for antrea network plugin config option
	NetworkPluginAntrea = NetworkPolicyAntrea
	// NetworkPolicyAzure is the string expression for Azure CNI network policy manager
	NetworkPolicyAzure = "azure"
	// NetworkPluginAzure is the string expression for Azure CNI plugin
	NetworkPluginAzure = "azure"
	// NetworkPluginKubenet is the string expression for kubenet network plugin
	NetworkPluginKubenet = "kubenet"
	// NetworkPluginFlannel is the string expression for flannel network plugin
	NetworkPluginFlannel = "flannel"
	// DefaultGeneratorCode specifies the source generator of the cluster template.
	DefaultGeneratorCode = "aksengine"
	// DefaultKubernetesKubeletMaxPods is the max pods per kubelet
	DefaultKubernetesKubeletMaxPods = 110
	// DefaultMasterEtcdServerPort is the default etcd server port for Kubernetes master nodes
	DefaultMasterEtcdServerPort = 2380
	// DefaultMasterEtcdClientPort is the default etcd client port for Kubernetes master nodes
	DefaultMasterEtcdClientPort = 2379

	// BasicLoadBalancerSku is the string const for Azure Basic Load Balancer
	BasicLoadBalancerSku = "Basic"
	// StandardLoadBalancerSku is the string const for Azure Standard Load Balancer
	StandardLoadBalancerSku = "Standard"
)
View Source
const (
	//DefaultExtensionsRootURL  Root URL for extensions
	DefaultExtensionsRootURL = "https://raw.githubusercontent.com/Azure/aks-engine/master/"
	// DefaultDockerEngineRepo for grabbing docker engine packages
	DefaultDockerEngineRepo = "https://download.docker.com/linux/ubuntu"
	// DefaultDockerComposeURL for grabbing docker images
	DefaultDockerComposeURL = "https://github.com/docker/compose/releases/download"
)
View Source
const (
	// Kubernetes is the string constant for the Kubernetes orchestrator type
	Kubernetes string = "Kubernetes"
)

Variables

This section is empty.

Functions

func Asset added in v0.31.0

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir added in v0.31.0

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo added in v0.31.0

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames added in v0.31.0

func AssetNames() []string

AssetNames returns the names of the assets.

func CreateKeyVaultKey added in v0.60.0

func CreateKeyVaultKey(cs *api.ContainerService) map[string]interface{}

func CreateKeyVaultVMAS added in v0.33.0

func CreateKeyVaultVMAS(cs *api.ContainerService) map[string]interface{}

func CreateKeyVaultVMSS added in v0.33.0

func CreateKeyVaultVMSS(cs *api.ContainerService) map[string]interface{}

func GenerateARMResources added in v0.33.0

func GenerateARMResources(cs *api.ContainerService) []interface{}

func GenerateKubeConfig

func GenerateKubeConfig(properties *api.Properties, location string) (string, error)

GenerateKubeConfig returns a JSON string representing the KubeConfig

func GetCSEErrorCode added in v0.49.0

func GetCSEErrorCode(errorType string) int

func GetKubernetesOutputs added in v0.33.0

func GetKubernetesOutputs(cs *api.ContainerService) map[string]interface{}

func GetKubernetesVariables added in v0.33.0

func GetKubernetesVariables(cs *api.ContainerService) (map[string]interface{}, error)

func GetTenantID

func GetTenantID(resourceManagerEndpoint string, subscriptionID string) (string, error)

GetTenantID figures out the AAD tenant ID of the subscription by making an unauthenticated request to the Get Subscription Details endpoint and parses the value from WWW-Authenticate header. TODO this should probably to to the armhelpers library

func MustAsset added in v0.31.0

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset added in v0.31.0

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets added in v0.31.0

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type ARMResource added in v0.33.0

type ARMResource struct {
	APIVersion string            `json:"apiVersion,omitempty"`
	Copy       map[string]string `json:"copy,omitempty"`
	DependsOn  []string          `json:"dependsOn,omitempty"`
}

ARMResource contains the fields that are common to all Azure Resource Manager objects.

func (ARMResource) MarshalJSON added in v0.33.0

func (arm ARMResource) MarshalJSON() ([]byte, error)

MarshalJSON is the custom marshaler for an ARMResource.

type ARMTemplate added in v0.33.0

type ARMTemplate struct {
	Schema         string      `json:"$schema,omitempty"`
	ContentVersion string      `json:"contentVersion,omitempty"`
	Parameters     interface{} `json:"parameters,omitempty"`
	Variables      interface{} `json:"variables,omitempty"`
	Resources      interface{} `json:"resources,omitempty"`
	Outputs        interface{} `json:"outputs,omitempty"`
}

type ApplicationGatewayARM added in v0.38.0

type ApplicationGatewayARM struct {
	ARMResource
	network.ApplicationGateway
}

ApplicationGatewayARM embeds the ARMResource type in network.ApplicationGateway.

type ArtifactWriter

type ArtifactWriter struct {
	Translator *i18n.Translator
}

ArtifactWriter represents the object that writes artifacts

func (*ArtifactWriter) WriteTLSArtifacts

func (w *ArtifactWriter) WriteTLSArtifacts(containerService *api.ContainerService, apiVersion, template, parameters, artifactsDir string, certsGenerated bool, parametersOnly bool) error

WriteTLSArtifacts saves TLS certificates and keys to the server filesystem

type AvailabilitySetARM added in v0.33.0

type AvailabilitySetARM struct {
	ARMResource
	compute.AvailabilitySet
}

AvailabilitySetARM embeds the ARMResource type in compute.AvailabilitySet.

func CreateAvailabilitySet added in v0.33.0

func CreateAvailabilitySet(cs *api.ContainerService, isManagedDisks bool) AvailabilitySetARM

func (AvailabilitySetARM) MarshalJSON added in v0.37.0

func (a AvailabilitySetARM) MarshalJSON() ([]byte, error)

MarshalJSON is the custom marshaler for an AvailabilitySetARM. It acts as a decorator by replacing the JSON field "platformFaultDomainCount" with an ARM expression if the value was not set.

type AzureEndpointConfig

type AzureEndpointConfig struct {
	ResourceManagerVMDNSSuffix string
}

AzureEndpointConfig describes an Azure endpoint

type AzureOSImageConfig

type AzureOSImageConfig struct {
	ImageOffer     string
	ImageSku       string
	ImagePublisher string
	ImageVersion   string
}

AzureOSImageConfig describes an Azure OS image

type Context

type Context struct {
	Translator *i18n.Translator
}

Context represents the object that is passed to the package

type CustomFileReader

type CustomFileReader struct {
	Source io.Reader
	Dest   string
}

CustomFileReader takes represents the source text of a file as an io.Reader and the desired destination to add it to

type DeploymentARM added in v0.35.0

type DeploymentARM struct {
	DeploymentARMResource
	resources.DeploymentExtended
}

DeploymentARM embeds the ARMResource type in resources.DeploymentExtended.

func CreateCustomExtensions added in v0.35.0

func CreateCustomExtensions(properties *api.Properties) []DeploymentARM

CreateCustomExtensions returns a list of DeploymentARM objects for the custom extensions to be deployed

type DeploymentARMResource added in v0.35.0

type DeploymentARMResource ARMResource

DeploymentARMResource is an alias for the ARMResource type to avoid MarshalJSON override

type DeploymentWithResourceGroupARM added in v0.46.1

type DeploymentWithResourceGroupARM struct {
	DeploymentARMResource
	ResourceGroup *string `json:"resourceGroup,omitempty"`
	resources.DeploymentExtended
}

TODO: Should we skip this type and add the `ResourceGroup` field directly to `DeploymentARM` ? DeploymentWithResourceGroupARM is like `DeploymentARM` but includes `ResourceGroup`.

type DocumentDBAccountARM added in v0.33.0

type DocumentDBAccountARM struct {
	ARMResource
	documentdb.DatabaseAccountCreateUpdateParameters
}

DocumentDBAccountARM embeds the ARMResource type in documentdb.DatabaseAccountCreateUpdateParameters.

type IdentityRoleDefinition added in v0.35.0

type IdentityRoleDefinition string
const (
	// IdentityContributorRole means created user assigned identity will have "Contributor" role in created resource group
	IdentityContributorRole IdentityRoleDefinition = "[variables('contributorRoleDefinitionId')]"
	// IdentityReaderRole means created user assigned identity will have "Reader" role in created resource group
	IdentityReaderRole IdentityRoleDefinition = "[variables('readerRoleDefinitionId')]"
	// IdentityManagedIdentityOperatorRole means created user assigned identity or service principal will have operator access on a different managed identity
	IdentityManagedIdentityOperatorRole IdentityRoleDefinition = "[variables('managedIdentityOperatorRoleDefinitionId')]"
)

type ImageARM added in v0.33.0

type ImageARM struct {
	ARMResource
	compute.Image
}

ImageARM embeds the ARMResource type in compute.Image.

type KeyVaultARM added in v0.33.0

type KeyVaultARM struct {
	ARMResource
	keyvault.Vault
}

KeyVaultARM embeds the ARMResource type in keyvault.Vault.

type KeyVaultID

type KeyVaultID struct {
	ID string `json:"id"`
}

KeyVaultID represents a KeyVault instance on Azure

type KeyVaultRef

type KeyVaultRef struct {
	KeyVault      KeyVaultID `json:"keyVault"`
	SecretName    string     `json:"secretName"`
	SecretVersion string     `json:"secretVersion,omitempty"`
}

KeyVaultRef represents a reference to KeyVault instance on Azure

type KubernetesSpecConfig

type KubernetesSpecConfig struct {
	KubernetesImageBase              string
	TillerImageBase                  string
	ACIConnectorImageBase            string // Deprecated
	NVIDIAImageBase                  string
	AzureCNIImageBase                string
	EtcdDownloadURLBase              string
	KubeBinariesSASURLBase           string
	WindowsTelemetryGUID             string
	CNIPluginsDownloadURL            string
	VnetCNILinuxPluginsDownloadURL   string
	VnetCNIWindowsPluginsDownloadURL string
	ContainerdDownloadURLBase        string
}

KubernetesSpecConfig is the kubernetes container images used.

type LoadBalancerARM added in v0.33.0

type LoadBalancerARM struct {
	ARMResource
	network.LoadBalancer
}

LoadBalancerARM embeds the ARMResource type in network.LoadBalancer.

func CreateClusterLoadBalancerForIPv6 added in v0.37.1

func CreateClusterLoadBalancerForIPv6() LoadBalancerARM

CreateClusterLoadBalancerForIPv6 creates the cluster loadbalancer with IPv4 and IPv6 FE config this loadbalancer is created for the ipv6 dual stack feature and configured with 1 ipv4 FE, 1 ipv6 FE and 2 backend address pools - v4 and v6, 2 rules - v4 and v6. Atleast existence of 1 rule is a requirement now to allow egress. This can be removed later. TODO (aramase)

func CreateMasterInternalLoadBalancer added in v0.33.0

func CreateMasterInternalLoadBalancer(cs *api.ContainerService) LoadBalancerARM

func CreateMasterLoadBalancer added in v0.46.0

func CreateMasterLoadBalancer(prop *api.Properties, isVMSS bool) LoadBalancerARM

CreateMasterLoadBalancer creates a master LB In a private cluster scenario, we don't attach the inbound foo, e.g., TCP 443 and SSH access

func CreateStandardLoadBalancerForNodePools added in v0.46.0

func CreateStandardLoadBalancerForNodePools(prop *api.Properties, isVMSS bool) LoadBalancerARM

CreateStandardLoadBalancerForNodePools returns an ARM resource for the Standard LB that has all nodes in its backend pool

type NetworkInterfaceARM added in v0.33.0

type NetworkInterfaceARM struct {
	ARMResource
	network.Interface
}

NetworkInterfaceARM embeds the ARMResource type in network.Interface.

func CreateMasterVMNetworkInterfaces added in v0.46.0

func CreateMasterVMNetworkInterfaces(cs *api.ContainerService) NetworkInterfaceARM

CreateMasterVMNetworkInterfaces returns an ARM resource for the master VM NIC

type NetworkSecurityGroupARM added in v0.33.0

type NetworkSecurityGroupARM struct {
	ARMResource
	network.SecurityGroup
}

NetworkSecurityGroupARM embeds the ARMResource type in network.SecurityGroup.

func CreateNetworkSecurityGroup added in v0.33.0

func CreateNetworkSecurityGroup(cs *api.ContainerService) NetworkSecurityGroupARM

type PublicIPAddressARM added in v0.33.0

type PublicIPAddressARM struct {
	ARMResource
	network.PublicIPAddress
}

PublicIPAddressARM embeds the ARMResource type in network.PublicIPAddress.

func CreateClusterPublicIPAddress added in v0.37.1

func CreateClusterPublicIPAddress() PublicIPAddressARM

CreateClusterPublicIPAddress returns public ipv4 address resource for cluster this public ip address is created and added to the loadbalancer that's created with fqdn as name. ARM does not allow creating a loadbalancer with only ipv6 FE which is why a ipv4 fe is created here and added to lb.

func CreatePublicIPAddressForMaster added in v0.50.0

func CreatePublicIPAddressForMaster(includeDNS bool) PublicIPAddressARM

CreatePublicIPAddressForMaster returns public ipv4 address resource for master Load Balancer Includes optional DNS configuration for public clusters

func CreatePublicIPAddressForNodePools added in v0.50.0

func CreatePublicIPAddressForNodePools(name string) PublicIPAddressARM

CreatePublicIPAddressForNodePools returns public ipv4 address resource for node pool Load Balancer

type RoleAssignmentARM added in v0.33.0

type RoleAssignmentARM struct {
	ARMResource
	authorization.RoleAssignment
}

RoleAssignmentARM embeds the ARMResource type in authorization.RoleAssignment.

type RouteTableARM added in v0.33.0

type RouteTableARM struct {
	ARMResource
	network.RouteTable
}

RouteTableARM embeds the ARMResource type in network.RouteTable.

type StorageAccountARM added in v0.33.0

type StorageAccountARM struct {
	ARMResource
	storage.Account
}

StorageAccountARM embeds the ARMResource type in storage.Account.

type SystemRoleAssignmentARM added in v0.33.0

type SystemRoleAssignmentARM struct {
	ARMResource
	authorization.RoleAssignment
}

SystemRoleAssignmentARM embeds the ARMResource type in authorization.SystemRoleAssignment(2018-09-01-preview).

type TemplateGenerator

type TemplateGenerator struct {
	Translator *i18n.Translator
}

TemplateGenerator represents the object that performs the template generation.

func InitializeTemplateGenerator

func InitializeTemplateGenerator(ctx Context) (*TemplateGenerator, error)

InitializeTemplateGenerator creates a new template generator object

func (*TemplateGenerator) GenerateTemplate

func (t *TemplateGenerator) GenerateTemplate(containerService *api.ContainerService, generatorCode string, aksEngineVersion string) (templateRaw string, parametersRaw string, err error)

GenerateTemplate generates the template from the API Model

func (*TemplateGenerator) GenerateTemplateV2 added in v0.33.0

func (t *TemplateGenerator) GenerateTemplateV2(containerService *api.ContainerService, generatorCode string, acsengineVersion string) (templateRaw string, parametersRaw string, err error)

func (*TemplateGenerator) GetJumpboxCustomDataJSON added in v0.33.0

func (t *TemplateGenerator) GetJumpboxCustomDataJSON(cs *api.ContainerService) string

func (*TemplateGenerator) GetKubernetesLinuxNodeCustomDataJSONObject added in v0.35.0

func (t *TemplateGenerator) GetKubernetesLinuxNodeCustomDataJSONObject(cs *api.ContainerService, profile *api.AgentPoolProfile) string

GetKubernetesLinuxNodeCustomDataJSONObject returns Linux customData JSON object in the form { "customData": "[base64(concat(<customData string>))]" }

func (*TemplateGenerator) GetKubernetesWindowsNodeCustomDataJSONObject added in v0.35.0

func (t *TemplateGenerator) GetKubernetesWindowsNodeCustomDataJSONObject(cs *api.ContainerService, profile *api.AgentPoolProfile) string

GetKubernetesWindowsNodeCustomDataJSONObject returns Windows customData JSON object in the form { "customData": "[base64(concat(<customData string>))]" }

func (*TemplateGenerator) GetMasterCustomDataJSONObject added in v0.35.0

func (t *TemplateGenerator) GetMasterCustomDataJSONObject(cs *api.ContainerService) string

GetMasterCustomDataJSONObject returns master customData JSON object in the form { "customData": "[base64(concat(<customData string>))]" }

type UserAssignedIdentitiesARM added in v0.33.0

type UserAssignedIdentitiesARM struct {
	ARMResource
	msi.Identity
}

UserAssignedIdentitiesARM embeds the ARMResource type in msi.Identity.

type VirtualMachineARM added in v0.33.0

type VirtualMachineARM struct {
	ARMResource
	compute.VirtualMachine
}

VirtualMachineARM embeds the ARMResource type in compute.VirtualMachine.

func CreateMasterVM added in v0.36.0

func CreateMasterVM(cs *api.ContainerService) VirtualMachineARM

type VirtualMachineExtensionARM added in v0.33.0

type VirtualMachineExtensionARM struct {
	ARMResource
	compute.VirtualMachineExtension
}

VirtualMachineExtensionARM embeds the ARMResource type in compute.VirtualMachineExtension.

func CreateAKSBillingExtension added in v0.33.0

func CreateAKSBillingExtension(cs *api.ContainerService) VirtualMachineExtensionARM

func CreateAgentVMASAKSBillingExtension added in v0.33.0

func CreateAgentVMASAKSBillingExtension(cs *api.ContainerService, profile *api.AgentPoolProfile) VirtualMachineExtensionARM

func CreateCustomScriptExtension added in v0.33.0

func CreateCustomScriptExtension(cs *api.ContainerService) VirtualMachineExtensionARM

type VirtualMachineScaleSetARM added in v0.33.0

type VirtualMachineScaleSetARM struct {
	ARMResource
	compute.VirtualMachineScaleSet
}

VirtualMachineScaleSetARM embeds the ARMResource type in compute.VirtualMachineScaleSet.

func CreateAgentVMSS added in v0.33.0

func CreateAgentVMSS(cs *api.ContainerService, profile *api.AgentPoolProfile) VirtualMachineScaleSetARM

func CreateMasterVMSS added in v0.33.0

func CreateMasterVMSS(cs *api.ContainerService) VirtualMachineScaleSetARM

type VirtualNetworkARM added in v0.33.0

type VirtualNetworkARM struct {
	ARMResource
	network.VirtualNetwork
}

VirtualNetworkARM embeds the ARMResource type in network.VirtualNetwork.

func CreateVirtualNetwork added in v0.33.0

func CreateVirtualNetwork(cs *api.ContainerService) VirtualNetworkARM

type VlabsContainerService

type VlabsContainerService struct {
	api.TypeMeta
	*vlabs.ContainerService
}

VlabsContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM

Directories

Path Synopsis
Package transform provides helper methods to introspect and modify existing ARM templates.
Package transform provides helper methods to introspect and modify existing ARM templates.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL