api

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2017 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package api stores an unversion api

Index

Constants

View Source
const (
	// Mesos is the string constant for MESOS orchestrator type
	Mesos string = "Mesos"
	// DCOS is the string constant for DCOS orchestrator type and defaults to DCOS188
	DCOS string = "DCOS"
	// Swarm is the string constant for the Swarm orchestrator type
	Swarm string = "Swarm"
	// Kubernetes is the string constant for the Kubernetes orchestrator type
	Kubernetes string = "Kubernetes"
	// SwarmMode is the string constant for the Swarm Mode orchestrator type
	SwarmMode string = "SwarmMode"
)

the orchestrators supported by vlabs

View Source
const (
	// SwarmVersion is the Swarm orchestrator version
	SwarmVersion = "swarm:1.1.0"
	// SwarmDockerComposeVersion is the Docker Compose version
	SwarmDockerComposeVersion = "1.6.2"
	// DockerCEVersion is the DockerCE orchestrator version
	DockerCEVersion = "17.03.*"
	// DockerCEDockerComposeVersion is the Docker Compose version
	DockerCEDockerComposeVersion = "1.14.0"
)
View Source
const (
	// MinAgentCount are the minimum number of agents per agent pool
	MinAgentCount = 1
	// MaxAgentCount are the maximum number of agents per agent pool
	MaxAgentCount = 100
	// MinPort specifies the minimum tcp port to open
	MinPort = 1
	// MaxPort specifies the maximum tcp port to open
	MaxPort = 65535
	// MaxDisks specifies the maximum attached disks to add to the cluster
	MaxDisks = 4
)

validation values

View Source
const (
	// AvailabilitySet means that the vms are in an availability set
	AvailabilitySet = "AvailabilitySet"
	// VirtualMachineScaleSets means that the vms are in a virtual machine scaleset
	VirtualMachineScaleSets = "VirtualMachineScaleSets"
)

Availability profiles

View Source
const (
	// StorageAccount means that the nodes use raw storage accounts for their os and attached volumes
	StorageAccount = "StorageAccount"
	// ManagedDisks means that the nodes use managed disks for their os and attached volumes
	ManagedDisks = "ManagedDisks"
)

storage profiles

View Source
const (
	// KubernetesRelease1Dot8 is the major.minor string prefix for 1.8 versions of kubernetes
	KubernetesRelease1Dot8 string = "1.8"
	// KubernetesRelease1Dot7 is the major.minor string prefix for 1.7 versions of kubernetes
	KubernetesRelease1Dot7 string = "1.7"
	// KubernetesRelease1Dot6 is the major.minor string prefix for 1.6 versions of kubernetes
	KubernetesRelease1Dot6 string = "1.6"
	// KubernetesRelease1Dot5 is the major.minor string prefix for 1.5 versions of kubernetes
	KubernetesRelease1Dot5 string = "1.5"
	// KubernetesDefaultRelease is the default major.minor version for kubernetes
	KubernetesDefaultRelease string = KubernetesRelease1Dot7
)
View Source
const (
	// DCOSRelease1Dot10 is the major.minor string prefix for 1.10 versions of DCOS
	DCOSRelease1Dot10 string = "1.10"
	// DCOSRelease1Dot9 is the major.minor string prefix for 1.9 versions of DCOS
	DCOSRelease1Dot9 string = "1.9"
	// DCOSRelease1Dot8 is the major.minor string prefix for 1.8 versions of DCOS
	DCOSRelease1Dot8 string = "1.8"
	// DCOSDefaultRelease is the default major.minor version for DCOS
	DCOSDefaultRelease string = DCOSRelease1Dot9
)

Variables

View Source
var DCOSReleaseToVersion = map[string]string{
	DCOSRelease1Dot9: "1.9.0",
	DCOSRelease1Dot8: "1.8.8",
}

DCOSReleaseToVersion maps a major.minor release to an full major.minor.patch version

View Source
var KubernetesReleaseToVersion = map[string]string{
	KubernetesRelease1Dot8: "1.8.0",
	KubernetesRelease1Dot7: "1.7.7",
	KubernetesRelease1Dot6: "1.6.11",
	KubernetesRelease1Dot5: "1.5.8",
}

KubernetesReleaseToVersion maps a major.minor release to an full major.minor.patch version

Functions

func ConvertContainerServiceToV20160330

func ConvertContainerServiceToV20160330(api *ContainerService) *v20160330.ContainerService

ConvertContainerServiceToV20160330 converts an unversioned ContainerService to a v20160330 ContainerService

func ConvertContainerServiceToV20160930

func ConvertContainerServiceToV20160930(api *ContainerService) *v20160930.ContainerService

ConvertContainerServiceToV20160930 converts an unversioned ContainerService to a v20160930 ContainerService

func ConvertContainerServiceToV20170131

func ConvertContainerServiceToV20170131(api *ContainerService) *v20170131.ContainerService

ConvertContainerServiceToV20170131 converts an unversioned ContainerService to a v20170131 ContainerService

func ConvertContainerServiceToV20170701 added in v0.2.0

func ConvertContainerServiceToV20170701(api *ContainerService) *v20170701.ContainerService

ConvertContainerServiceToV20170701 converts an unversioned ContainerService to a v20170701 ContainerService

func ConvertContainerServiceToV20170831AgentPoolOnly added in v0.6.0

func ConvertContainerServiceToV20170831AgentPoolOnly(api *ContainerService) *v20170831.ManagedCluster

ConvertContainerServiceToV20170831AgentPoolOnly converts an unversioned ContainerService to a v20170831 ContainerService

func ConvertContainerServiceToVLabs

func ConvertContainerServiceToVLabs(api *ContainerService) *vlabs.ContainerService

ConvertContainerServiceToVLabs converts an unversioned ContainerService to a vlabs ContainerService

func ConvertOrchestratorVersionProfileToV20170930 added in v0.6.0

func ConvertOrchestratorVersionProfileToV20170930(api *OrchestratorVersionProfile) *v20170930.OrchestratorVersionProfile

ConvertOrchestratorVersionProfileToV20170930 converts an unversioned OrchestratorVersionProfile to a v20170930 OrchestratorVersionProfile

func ConvertOrchestratorVersionProfileToVLabs added in v0.6.0

func ConvertOrchestratorVersionProfileToVLabs(api *OrchestratorVersionProfile) *vlabs.OrchestratorVersionProfile

ConvertOrchestratorVersionProfileToVLabs converts an unversioned OrchestratorVersionProfile to a vlabs OrchestratorVersionProfile

func GetOrchestratorVersionProfileListV20170930 added in v0.8.0

func GetOrchestratorVersionProfileListV20170930(orchestrator, release string) (*v20170930.OrchestratorVersionProfileList, error)

GetOrchestratorVersionProfileListV20170930 returns v20170930 OrchestratorVersionProfileList object per (optionally) specified orchestrator and release

func GetOrchestratorVersionProfileListVLabs added in v0.8.0

func GetOrchestratorVersionProfileListVLabs(orchestrator, release string) (*vlabs.OrchestratorVersionProfileList, error)

GetOrchestratorVersionProfileListVLabs returns vlabs OrchestratorVersionProfileList object per (optionally) specified orchestrator and release

func GetUpgradeProfileV20170930 added in v0.8.0

func GetUpgradeProfileV20170930(cs *ContainerService, allowCurrentVersionUpgrade bool) (*v20170930.UpgradeProfile, error)

GetUpgradeProfileV20170930 returns v20170930 upgrade profile for existing cluster. Note: This is a temporary implementation. TODO: re-implement once AgentPoolProfiles contain orchestrator version

func NormalizeAzureRegion added in v0.6.0

func NormalizeAzureRegion(name string) string

NormalizeAzureRegion returns a normalized Azure region with whilte spaces removed and converted to lower case

Types

type AADProfile added in v0.6.0

type AADProfile struct {
	// The client AAD application ID.
	ClientAppID string `json:"clientAppID,omitempty"`
	// The server AAD application ID.
	ServerAppID string `json:"serverAppID,omitempty"`
	// The AAD tenant ID to use for authentication.
	// If not specified, will use the tenant of the deployment subscription.
	// Optional
	TenantID string `json:"tenantID,omitempty"`
}

AADProfile specifies attributes for AAD integration

type AgentPoolProfile

type AgentPoolProfile struct {
	Name                string `json:"name"`
	Count               int    `json:"count"`
	VMSize              string `json:"vmSize"`
	OSDiskSizeGB        int    `json:"osDiskSizeGB,omitempty"`
	DNSPrefix           string `json:"dnsPrefix,omitempty"`
	OSType              OSType `json:"osType,omitempty"`
	Ports               []int  `json:"ports,omitempty"`
	AvailabilityProfile string `json:"availabilityProfile"`
	StorageProfile      string `json:"storageProfile,omitempty"`
	DiskSizesGB         []int  `json:"diskSizesGB,omitempty"`
	VnetSubnetID        string `json:"vnetSubnetID,omitempty"`
	Subnet              string `json:"subnet"`
	IPAddressCount      int    `json:"ipAddressCount,omitempty"`
	Distro              Distro `json:"distro,omitempty"`

	FQDN                  string            `json:"fqdn,omitempty"`
	CustomNodeLabels      map[string]string `json:"customNodeLabels,omitempty"`
	PreprovisionExtension *Extension        `json:"preProvisionExtension"`
	Extensions            []Extension       `json:"extensions"`
}

AgentPoolProfile represents an agent pool definition

func (*AgentPoolProfile) HasDisks

func (a *AgentPoolProfile) HasDisks() bool

HasDisks returns true if the customer specified disks

func (*AgentPoolProfile) IsAvailabilitySets

func (a *AgentPoolProfile) IsAvailabilitySets() bool

IsAvailabilitySets returns true if the customer specified disks

func (*AgentPoolProfile) IsCustomVNET

func (a *AgentPoolProfile) IsCustomVNET() bool

IsCustomVNET returns true if the customer brought their own VNET

func (*AgentPoolProfile) IsLinux

func (a *AgentPoolProfile) IsLinux() bool

IsLinux returns true if the agent pool is linux

func (*AgentPoolProfile) IsManagedDisks

func (a *AgentPoolProfile) IsManagedDisks() bool

IsManagedDisks returns true if the customer specified disks

func (*AgentPoolProfile) IsRHEL added in v0.7.0

func (a *AgentPoolProfile) IsRHEL() bool

IsRHEL returns true if the agent pool specified a RHEL distro

func (*AgentPoolProfile) IsStorageAccount

func (a *AgentPoolProfile) IsStorageAccount() bool

IsStorageAccount returns true if the customer specified storage account

func (*AgentPoolProfile) IsWindows

func (a *AgentPoolProfile) IsWindows() bool

IsWindows returns true if the agent pool is windows

type Apiloader added in v0.5.0

type Apiloader struct {
	Translator *i18n.Translator
}

Apiloader represents the object that loads api model

func (*Apiloader) DeserializeContainerService added in v0.5.0

func (a *Apiloader) DeserializeContainerService(contents []byte, validate bool, existingContainerService *ContainerService) (*ContainerService, string, error)

DeserializeContainerService loads an ACS Cluster API Model, validates it, and returns the unversioned representation

func (*Apiloader) LoadContainerService added in v0.5.0

func (a *Apiloader) LoadContainerService(
	contents []byte,
	version string,
	validate bool,
	existingContainerService *ContainerService) (*ContainerService, error)

LoadContainerService loads an ACS Cluster API Model, validates it, and returns the unversioned representation

func (*Apiloader) LoadContainerServiceForAgentPoolOnlyCluster added in v0.6.0

func (a *Apiloader) LoadContainerServiceForAgentPoolOnlyCluster(contents []byte, version string, validate bool) (*ContainerService, error)

LoadContainerServiceForAgentPoolOnlyCluster loads an ACS Cluster API Model, validates it, and returns the unversioned representation

func (*Apiloader) LoadContainerServiceFromFile added in v0.5.0

func (a *Apiloader) LoadContainerServiceFromFile(jsonFile string, validate bool, existingContainerService *ContainerService) (*ContainerService, string, error)

LoadContainerServiceFromFile loads an ACS Cluster API Model from a JSON file

func (*Apiloader) SerializeContainerService added in v0.5.0

func (a *Apiloader) SerializeContainerService(containerService *ContainerService, version string) ([]byte, error)

SerializeContainerService takes an unversioned container service and returns the bytes

func (*Apiloader) UpdateContainerServiceForUpgrade added in v0.7.0

func (a *Apiloader) UpdateContainerServiceForUpgrade(
	contents []byte,
	version string,
	cs *ContainerService,
	allowCurrentVersionUpgrade bool) error

UpdateContainerServiceForUpgrade pre-validates upgrade operation and updates container service

type CertificateProfile

type CertificateProfile struct {
	// CaCertificate is the certificate authority certificate.
	CaCertificate string `json:"caCertificate,omitempty"`
	// CaPrivateKey is the certificate authority key.
	CaPrivateKey string `json:"caPrivateKey,omitempty"`
	// ApiServerCertificate is the rest api server certificate, and signed by the CA
	APIServerCertificate string `json:"apiServerCertificate,omitempty"`
	// ApiServerPrivateKey is the rest api server private key, and signed by the CA
	APIServerPrivateKey string `json:"apiServerPrivateKey,omitempty"`
	// ClientCertificate is the certificate used by the client kubelet services and signed by the CA
	ClientCertificate string `json:"clientCertificate,omitempty"`
	// ClientPrivateKey is the private key used by the client kubelet services and signed by the CA
	ClientPrivateKey string `json:"clientPrivateKey,omitempty"`
	// KubeConfigCertificate is the client certificate used for kubectl cli and signed by the CA
	KubeConfigCertificate string `json:"kubeConfigCertificate,omitempty"`
	// KubeConfigPrivateKey is the client private key used for kubectl cli and signed by the CA
	KubeConfigPrivateKey string `json:"kubeConfigPrivateKey,omitempty"`
}

CertificateProfile represents the definition of the master cluster

type ContainerService

type ContainerService struct {
	ID       string                `json:"id"`
	Location string                `json:"location"`
	Name     string                `json:"name"`
	Plan     *ResourcePurchasePlan `json:"plan,omitempty"`
	Tags     map[string]string     `json:"tags"`
	Type     string                `json:"type"`

	Properties *Properties `json:"properties,omitempty"`
}

ContainerService complies with the ARM model of resource definition in a JSON template.

func ConvertV20160330ContainerService

func ConvertV20160330ContainerService(v20160330 *v20160330.ContainerService) *ContainerService

ConvertV20160330ContainerService converts a v20160330 ContainerService to an unversioned ContainerService

func ConvertV20160930ContainerService

func ConvertV20160930ContainerService(v20160930 *v20160930.ContainerService) *ContainerService

ConvertV20160930ContainerService converts a v20160930 ContainerService to an unversioned ContainerService

func ConvertV20170131ContainerService

func ConvertV20170131ContainerService(v20170131 *v20170131.ContainerService) *ContainerService

ConvertV20170131ContainerService converts a v20170131 ContainerService to an unversioned ContainerService

func ConvertV20170701ContainerService added in v0.2.0

func ConvertV20170701ContainerService(v20170701 *v20170701.ContainerService) *ContainerService

ConvertV20170701ContainerService converts a v20170701 ContainerService to an unversioned ContainerService

func ConvertV20170831AgentPoolOnly added in v0.6.0

func ConvertV20170831AgentPoolOnly(v20170831 *v20170831.ManagedCluster) *ContainerService

ConvertV20170831AgentPoolOnly converts an AgentPoolOnly object into an in-memory container service

func ConvertVLabsAgentPoolOnly added in v0.6.0

func ConvertVLabsAgentPoolOnly(vlabs *vlabs.ManagedCluster) *ContainerService

ConvertVLabsAgentPoolOnly converts a vlabs ContainerService to an unversioned ContainerService

func ConvertVLabsContainerService

func ConvertVLabsContainerService(vlabs *vlabs.ContainerService) *ContainerService

ConvertVLabsContainerService converts a vlabs ContainerService to an unversioned ContainerService

type CustomProfile

type CustomProfile struct {
	Orchestrator string `json:"orchestrator,omitempty"`
}

CustomProfile specifies custom properties that are used for cluster instantiation. Should not be used by most users.

type DcosConfig added in v0.7.0

type DcosConfig struct {
	DcosWindowsBootstrapURL string `json:"dcosWindowsBootstrapURL,omitempty"`
}

DcosConfig Configuration for DC/OS

type DiagnosticsProfile

type DiagnosticsProfile struct {
	VMDiagnostics *VMDiagnostics `json:"vmDiagnostics"`
}

DiagnosticsProfile setting to enable/disable capturing diagnostics for VMs hosting container cluster.

type Distro added in v0.7.0

type Distro string

Distro represents Linux distro to use for Linux VMs

const (
	Ubuntu Distro = "ubuntu"
	RHEL   Distro = "rhel"
)

the LinuxDistros supported by vlabs

type Extension added in v0.6.0

type Extension struct {
	Name        string `json:"name"`
	SingleOrAll string `json:"singleOrAll"`
	Template    string `json:"template"`
}

Extension represents an extension definition in the master or agentPoolProfile

type ExtensionProfile added in v0.6.0

type ExtensionProfile struct {
	Name                           string             `json:"name"`
	Version                        string             `json:"version"`
	ExtensionParameters            string             `json:"extensionParameters,omitempty"`
	ExtensionParametersKeyVaultRef *KeyvaultSecretRef `json:"parametersKeyvaultSecretRef,omitempty"`
	RootURL                        string             `json:"rootURL,omitempty"`
	// This is only needed for preprovision extensions and it needs to be a bash script
	Script   string `json:"script,omitempty"`
	URLQuery string `json:"urlQuery,omitempty"`
}

ExtensionProfile represents an extension definition

type HostedMasterProfile added in v0.6.0

type HostedMasterProfile struct {
	// Master public endpoint/FQDN with port
	// The format will be FQDN:2376
	// Not used during PUT, returned as part of GETFQDN
	FQDN      string `json:"fqdn,omitempty"`
	DNSPrefix string `json:"dnsPrefix"`
	// Subnet holds the CIDR which defines the Azure Subnet in which
	// Agents will be provisioned. This is stored on the HostedMasterProfile
	// and will become `masterSubnet` in the compiled template.
	Subnet string `json:"subnet"`
}

HostedMasterProfile defines properties for a hosted master

type JumpboxProfile

type JumpboxProfile struct {
	OSType    OSType `json:"osType"`
	DNSPrefix string `json:"dnsPrefix"`

	// Jumpbox public endpoint/FQDN with port
	// The format will be FQDN:2376
	// Not used during PUT, returned as part of GET
	FQDN string `json:"fqdn,omitempty"`
}

JumpboxProfile describes properties of the jumpbox setup in the ACS container cluster.

type KeyVaultCertificate

type KeyVaultCertificate struct {
	CertificateURL   string `json:"certificateUrl,omitempty"`
	CertificateStore string `json:"certificateStore,omitempty"`
}

KeyVaultCertificate specifies a certificate to install On Linux, the certificate file is placed under the /var/lib/waagent directory with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for the private key. Both of these files are .pem formatted. On windows the certificate will be saved in the specified store.

type KeyVaultID

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

KeyVaultID specifies a key vault

type KeyVaultSecrets

type KeyVaultSecrets struct {
	SourceVault       *KeyVaultID           `json:"sourceVault,omitempty"`
	VaultCertificates []KeyVaultCertificate `json:"vaultCertificates,omitempty"`
}

KeyVaultSecrets specifies certificates to install on the pool of machines from a given key vault the key vault specified must have been granted read permissions to CRP

type KeyvaultSecretRef added in v0.6.0

type KeyvaultSecretRef struct {
	VaultID       string `json:"vaultID"`
	SecretName    string `json:"secretName"`
	SecretVersion string `json:"version,omitempty"`
}

KeyvaultSecretRef specifies path to the Azure keyvault along with secret name and (optionaly) version for Service Principal's secret

type KubernetesConfig

type KubernetesConfig struct {
	KubernetesImageBase              string  `json:"kubernetesImageBase,omitempty"`
	ClusterSubnet                    string  `json:"clusterSubnet,omitempty"`
	NetworkPolicy                    string  `json:"networkPolicy,omitempty"`
	MaxPods                          int     `json:"maxPods,omitempty"`
	DockerBridgeSubnet               string  `json:"dockerBridgeSubnet,omitempty"`
	DNSServiceIP                     string  `json:"dnsServiceIP,omitempty"`
	ServiceCIDR                      string  `json:"serviceCidr,omitempty"`
	NodeStatusUpdateFrequency        string  `json:"nodeStatusUpdateFrequency,omitempty"`
	CtrlMgrNodeMonitorGracePeriod    string  `json:"ctrlMgrNodeMonitorGracePeriod,omitempty"`
	CtrlMgrPodEvictionTimeout        string  `json:"ctrlMgrPodEvictionTimeout,omitempty"`
	CtrlMgrRouteReconciliationPeriod string  `json:"ctrlMgrRouteReconciliationPeriod,omitempty"`
	CloudProviderBackoff             bool    `json:"cloudProviderBackoff,omitempty"`
	CloudProviderBackoffRetries      int     `json:"cloudProviderBackoffRetries,omitempty"`
	CloudProviderBackoffJitter       float64 `json:"cloudProviderBackoffJitter,omitempty"`
	CloudProviderBackoffDuration     int     `json:"cloudProviderBackoffDuration,omitempty"`
	CloudProviderBackoffExponent     float64 `json:"cloudProviderBackoffExponent,omitempty"`
	CloudProviderRateLimit           bool    `json:"cloudProviderRateLimit,omitempty"`
	CloudProviderRateLimitQPS        float64 `json:"cloudProviderRateLimitQPS,omitempty"`
	CloudProviderRateLimitBucket     int     `json:"cloudProviderRateLimitBucket,omitempty"`
	UseManagedIdentity               bool    `json:"useManagedIdentity,omitempty"`
	CustomHyperkubeImage             string  `json:"customHyperkubeImage,omitempty"`
	UseInstanceMetadata              bool    `json:"useInstanceMetadata,omitempty"`
	EnableRbac                       bool    `json:"enableRbac,omitempty"`
	EnableAggregatedAPIs             bool    `json:"enableAggregatedAPIs,omitempty"`
	GCHighThreshold                  int     `json:"gchighthreshold,omitempty"`
	GCLowThreshold                   int     `json:"gclowthreshold,omitempty"`
}

KubernetesConfig contains the Kubernetes config structure, containing Kubernetes specific configuration

type LinuxProfile

type LinuxProfile struct {
	AdminUsername string `json:"adminUsername"`
	SSH           struct {
		PublicKeys []PublicKey `json:"publicKeys"`
	} `json:"ssh"`
	Secrets       []KeyVaultSecrets `json:"secrets,omitempty"`
	Distro        Distro            `json:"distro,omitempty"`
	ScriptRootURL string            `json:"scriptroot,omitempty"`
}

LinuxProfile represents the linux parameters passed to the cluster

func (*LinuxProfile) HasSecrets

func (l *LinuxProfile) HasSecrets() bool

HasSecrets returns true if the customer specified secrets to install

type MasterProfile

type MasterProfile struct {
	Count                    int         `json:"count"`
	DNSPrefix                string      `json:"dnsPrefix"`
	VMSize                   string      `json:"vmSize"`
	OSDiskSizeGB             int         `json:"osDiskSizeGB,omitempty"`
	VnetSubnetID             string      `json:"vnetSubnetID,omitempty"`
	VnetCidr                 string      `json:"vnetCidr,omitempty"`
	FirstConsecutiveStaticIP string      `json:"firstConsecutiveStaticIP,omitempty"`
	Subnet                   string      `json:"subnet"`
	IPAddressCount           int         `json:"ipAddressCount,omitempty"`
	StorageProfile           string      `json:"storageProfile,omitempty"`
	HTTPSourceAddressPrefix  string      `json:"HTTPSourceAddressPrefix,omitempty"`
	OAuthEnabled             bool        `json:"oauthEnabled"`
	PreprovisionExtension    *Extension  `json:"preProvisionExtension"`
	Extensions               []Extension `json:"extensions"`
	Distro                   Distro      `json:"distro,omitempty"`

	// Master LB public endpoint/FQDN with port
	// The format will be FQDN:2376
	// Not used during PUT, returned as part of GET
	FQDN string `json:"fqdn,omitempty"`
}

MasterProfile represents the definition of the master cluster

func (*MasterProfile) IsCustomVNET

func (m *MasterProfile) IsCustomVNET() bool

IsCustomVNET returns true if the customer brought their own VNET

func (*MasterProfile) IsManagedDisks added in v0.2.0

func (m *MasterProfile) IsManagedDisks() bool

IsManagedDisks returns true if the master specified managed disks

func (*MasterProfile) IsRHEL added in v0.7.0

func (m *MasterProfile) IsRHEL() bool

IsRHEL returns true if the master specified a RHEL distro

func (*MasterProfile) IsStorageAccount added in v0.2.0

func (m *MasterProfile) IsStorageAccount() bool

IsStorageAccount returns true if the master specified storage account

type OSType

type OSType string

OSType represents OS types of agents

const (
	Windows OSType = "Windows"
	Linux   OSType = "Linux"
)

the OSTypes supported by vlabs

type OrchestratorProfile

type OrchestratorProfile struct {
	OrchestratorType    string            `json:"orchestratorType"`
	OrchestratorRelease string            `json:"orchestratorRelease"`
	OrchestratorVersion string            `json:"orchestratorVersion"`
	KubernetesConfig    *KubernetesConfig `json:"kubernetesConfig,omitempty"`
	DcosConfig          *DcosConfig       `json:"dcosConfig,omitempty"`
}

OrchestratorProfile contains Orchestrator properties

func (*OrchestratorProfile) IsDCOS added in v0.2.0

func (o *OrchestratorProfile) IsDCOS() bool

IsDCOS returns true if this template is for DCOS orchestrator

func (*OrchestratorProfile) IsKubernetes

func (o *OrchestratorProfile) IsKubernetes() bool

IsKubernetes returns true if this template is for Kubernetes orchestrator

func (*OrchestratorProfile) IsSwarmMode

func (o *OrchestratorProfile) IsSwarmMode() bool

IsSwarmMode returns true if this template is for Swarm Mode orchestrator

func (*OrchestratorProfile) IsVNETIntegrated

func (o *OrchestratorProfile) IsVNETIntegrated() bool

IsVNETIntegrated returns true if Azure VNET integration is enabled

type OrchestratorVersionProfile added in v0.6.0

type OrchestratorVersionProfile struct {
	// Orchestrator type and version
	OrchestratorProfile
	// Whether this orchestrator version is deployed by default if orchestrator release is not specified
	Default bool `json:"default,omitempty"`
	// List of available upgrades for this orchestrator version
	Upgrades []*OrchestratorProfile `json:"upgrades,omitempty"`
}

OrchestratorVersionProfile contains information of a supported orchestrator version:

func GetOrchestratorVersionProfile added in v0.7.0

func GetOrchestratorVersionProfile(orch *OrchestratorProfile) (*OrchestratorVersionProfile, error)

GetOrchestratorVersionProfile returns orchestrator info for upgradable container service

type Properties

type Properties struct {
	ProvisioningState       ProvisioningState        `json:"provisioningState,omitempty"`
	OrchestratorProfile     *OrchestratorProfile     `json:"orchestratorProfile,omitempty"`
	MasterProfile           *MasterProfile           `json:"masterProfile,omitempty"`
	AgentPoolProfiles       []*AgentPoolProfile      `json:"agentPoolProfiles,omitempty"`
	LinuxProfile            *LinuxProfile            `json:"linuxProfile,omitempty"`
	WindowsProfile          *WindowsProfile          `json:"windowsProfile,omitempty"`
	ExtensionProfiles       []*ExtensionProfile      `json:"extensionProfiles"`
	DiagnosticsProfile      *DiagnosticsProfile      `json:"diagnosticsProfile,omitempty"`
	JumpboxProfile          *JumpboxProfile          `json:"jumpboxProfile,omitempty"`
	ServicePrincipalProfile *ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"`
	CertificateProfile      *CertificateProfile      `json:"certificateProfile,omitempty"`
	AADProfile              *AADProfile              `json:"aadProfile,omitempty"`
	CustomProfile           *CustomProfile           `json:"customProfile,omitempty"`
	HostedMasterProfile     *HostedMasterProfile     `json:"hostedMasterProfile,omitempty"`
}

Properties represents the ACS cluster definition

func (*Properties) HasAadProfile added in v0.6.0

func (p *Properties) HasAadProfile() bool

HasAadProfile returns true if the has aad profile

func (*Properties) HasManagedDisks

func (p *Properties) HasManagedDisks() bool

HasManagedDisks returns true if the cluster contains Managed Disks

func (*Properties) HasStorageAccountDisks added in v0.2.0

func (p *Properties) HasStorageAccountDisks() bool

HasStorageAccountDisks returns true if the cluster contains Storage Account Disks

func (*Properties) HasWindows

func (p *Properties) HasWindows() bool

HasWindows returns true if the cluster contains windows

type ProvisioningState

type ProvisioningState string

ProvisioningState represents the current state of container service resource.

const (
	// Creating means ContainerService resource is being created.
	Creating ProvisioningState = "Creating"
	// Updating means an existing ContainerService resource is being updated
	Updating ProvisioningState = "Updating"
	// Failed means resource is in failed state
	Failed ProvisioningState = "Failed"
	// Succeeded means resource created succeeded during last create/update
	Succeeded ProvisioningState = "Succeeded"
	// Deleting means resource is in the process of being deleted
	Deleting ProvisioningState = "Deleting"
	// Migrating means resource is being migrated from one subscription or
	// resource group to another
	Migrating ProvisioningState = "Migrating"
	// Upgrading means an existing ContainerService resource is being upgraded
	Upgrading ProvisioningState = "Upgrading"
)

type PublicKey added in v0.4.0

type PublicKey struct {
	KeyData string `json:"keyData"`
}

PublicKey represents an SSH key for LinuxProfile

type ResourcePurchasePlan

type ResourcePurchasePlan struct {
	Name          string `json:"name"`
	Product       string `json:"product"`
	PromotionCode string `json:"promotionCode"`
	Publisher     string `json:"publisher"`
}

ResourcePurchasePlan defines resource plan as required by ARM for billing purposes.

type ServicePrincipalProfile

type ServicePrincipalProfile struct {
	ClientID          string             `json:"clientId"`
	Secret            string             `json:"secret,omitempty"`
	KeyvaultSecretRef *KeyvaultSecretRef `json:"keyvaultSecretRef,omitempty"`
}

ServicePrincipalProfile contains the client and secret used by the cluster for Azure Resource CRUD

type TypeMeta

type TypeMeta struct {
	// APIVersion is on every object
	APIVersion string `json:"apiVersion"`
}

TypeMeta describes an individual API model object

type V20160330ARMContainerService

type V20160330ARMContainerService struct {
	TypeMeta
	*v20160330.ContainerService
}

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

type V20160930ARMContainerService

type V20160930ARMContainerService struct {
	TypeMeta
	*v20160930.ContainerService
}

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

type V20170131ARMContainerService

type V20170131ARMContainerService struct {
	TypeMeta
	*v20170131.ContainerService
}

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

type V20170701ARMContainerService added in v0.2.0

type V20170701ARMContainerService struct {
	TypeMeta
	*v20170701.ContainerService
}

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

type V20170831ARMManagedContainerService added in v0.6.0

type V20170831ARMManagedContainerService struct {
	TypeMeta
	*v20170831.ManagedCluster
}

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

type VMDiagnostics

type VMDiagnostics struct {
	Enabled bool `json:"enabled"`

	// Specifies storage account Uri where Boot Diagnostics (CRP &
	// VMSS BootDiagostics) and VM Diagnostics logs (using Linux
	// Diagnostics Extension) will be stored. Uri will be of standard
	// blob domain. i.e. https://storageaccount.blob.core.windows.net/
	// This field is readonly as ACS RP will create a storage account
	// for the customer.
	StorageURL *neturl.URL `json:"storageUrl"`
}

VMDiagnostics contains settings to on/off boot diagnostics collection in RD Host

type VlabsARMContainerService

type VlabsARMContainerService struct {
	TypeMeta
	*vlabs.ContainerService
}

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

type WindowsProfile

type WindowsProfile struct {
	AdminUsername string            `json:"adminUsername"`
	AdminPassword string            `json:"adminPassword"`
	ImageVersion  string            `json:"imageVersion"`
	Secrets       []KeyVaultSecrets `json:"secrets,omitempty"`
}

WindowsProfile represents the windows parameters passed to the cluster

func (*WindowsProfile) HasSecrets

func (w *WindowsProfile) HasSecrets() bool

HasSecrets returns true if the customer specified secrets to install

Directories

Path Synopsis
agentPoolOnlyApi
v20170831
Package v20170831 stores api model for version "2017-08-31"
Package v20170831 stores api model for version "2017-08-31"
vlabs
Package vlabs stores api model for version "2017-08-31"
Package vlabs stores api model for version "2017-08-31"
upgrade
Package v20160330 stores the api model for version "2016-03-30"
Package v20160330 stores the api model for version "2016-03-30"
Package v20160930 stores api model for version "2016-09-30"
Package v20160930 stores api model for version "2016-09-30"
Package v20170131 stores api model for version "2017-01-31"
Package v20170131 stores api model for version "2017-01-31"
Package v20170701 stores api model for version "2017-07-01"
Package v20170701 stores api model for version "2017-07-01"
Package vlabs stores an experimental api model for acs
Package vlabs stores an experimental api model for acs

Jump to

Keyboard shortcuts

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