Documentation
¶
Overview ¶
Package api stores an unversion api
Index ¶
- Constants
- func ConvertContainerServiceToV20160330(api *ContainerService) *v20160330.ContainerService
- func ConvertContainerServiceToV20160930(api *ContainerService) *v20160930.ContainerService
- func ConvertContainerServiceToV20170131(api *ContainerService) *v20170131.ContainerService
- func ConvertContainerServiceToV20170701(api *ContainerService) *v20170701.ContainerService
- func ConvertContainerServiceToV20170831AgentPoolOnly(api *ContainerService) *v20170831.ManagedCluster
- func ConvertContainerServiceToVLabs(api *ContainerService) *vlabs.ContainerService
- func ConvertOrchestratorVersionProfileToV20170930(api *OrchestratorVersionProfile) *v20170930.OrchestratorVersionProfile
- func ConvertOrchestratorVersionProfileToVLabs(api *OrchestratorVersionProfile) *vlabs.OrchestratorVersionProfile
- func GetOrchestratorVersionProfileListV20170930(orchestrator, version string) (*v20170930.OrchestratorVersionProfileList, error)
- func GetOrchestratorVersionProfileListVLabs(orchestrator, version string) (*vlabs.OrchestratorVersionProfileList, error)
- func NormalizeAzureRegion(name string) string
- type AADProfile
- type AgentPoolProfile
- func (a *AgentPoolProfile) HasDisks() bool
- func (a *AgentPoolProfile) IsAvailabilitySets() bool
- func (a *AgentPoolProfile) IsCoreOS() bool
- func (a *AgentPoolProfile) IsCustomVNET() bool
- func (a *AgentPoolProfile) IsLinux() bool
- func (a *AgentPoolProfile) IsManagedDisks() bool
- func (a *AgentPoolProfile) IsRHEL() bool
- func (a *AgentPoolProfile) IsStorageAccount() bool
- func (a *AgentPoolProfile) IsWindows() bool
- type Apiloader
- func (a *Apiloader) DeserializeContainerService(contents []byte, validate, isUpdate bool, ...) (*ContainerService, string, error)
- func (a *Apiloader) LoadContainerService(contents []byte, version string, validate, isUpdate bool, ...) (*ContainerService, error)
- func (a *Apiloader) LoadContainerServiceForAgentPoolOnlyCluster(contents []byte, version string, validate, isUpdate bool, ...) (*ContainerService, error)
- func (a *Apiloader) LoadContainerServiceFromFile(jsonFile string, validate, isUpdate bool, ...) (*ContainerService, string, error)
- func (a *Apiloader) SerializeContainerService(containerService *ContainerService, version string) ([]byte, error)
- type CertificateProfile
- type CloudProviderConfig
- type ContainerService
- func ConvertV20160330ContainerService(v20160330 *v20160330.ContainerService) *ContainerService
- func ConvertV20160930ContainerService(v20160930 *v20160930.ContainerService) *ContainerService
- func ConvertV20170131ContainerService(v20170131 *v20170131.ContainerService) *ContainerService
- func ConvertV20170701ContainerService(v20170701 *v20170701.ContainerService) *ContainerService
- func ConvertV20170831AgentPoolOnly(v20170831 *v20170831.ManagedCluster) *ContainerService
- func ConvertVLabsAgentPoolOnly(vlabs *vlabs.ManagedCluster) *ContainerService
- func ConvertVLabsContainerService(vlabs *vlabs.ContainerService) *ContainerService
- type CustomProfile
- type DcosConfig
- type DiagnosticsProfile
- type Distro
- type Extension
- type ExtensionProfile
- type HostedMasterProfile
- type JumpboxProfile
- type KeyVaultCertificate
- type KeyVaultID
- type KeyVaultSecrets
- type KeyvaultSecretRef
- type KubernetesAddon
- type KubernetesConfig
- type KubernetesConfigDeprecated
- type KubernetesContainerSpec
- type LinuxProfile
- type MasterProfile
- type OSType
- type OrchestratorProfile
- func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string
- func (o *OrchestratorProfile) IsAzureCNI() bool
- func (o *OrchestratorProfile) IsDCOS() bool
- func (o *OrchestratorProfile) IsKubernetes() bool
- func (o *OrchestratorProfile) IsMetricsServerEnabled() bool
- func (o *OrchestratorProfile) IsSwarmMode() bool
- type OrchestratorVersionProfile
- type PrivateCluster
- type PrivateJumpboxProfile
- type Properties
- type ProvisioningState
- type PublicKey
- type ResourcePurchasePlan
- type ServicePrincipalProfile
- type TypeMeta
- type V20160330ARMContainerService
- type V20160930ARMContainerService
- type V20170131ARMContainerService
- type V20170701ARMContainerService
- type V20170831ARMManagedContainerService
- type VMDiagnostics
- type VlabsARMContainerService
- type WindowsProfile
Constants ¶
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
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" )
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
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
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
const ( // DCOSVersion1Dot10Dot0 is the major.minor.patch string for 1.10.0 versions of DCOS DCOSVersion1Dot10Dot0 string = "1.10.0" // DCOSVersion1Dot9Dot0 is the major.minor.patch string for 1.9.0 versions of DCOS DCOSVersion1Dot9Dot0 string = "1.9.0" // DCOSVersion1Dot8Dot8 is the major.minor.patch string for 1.8.8 versions of DCOS DCOSVersion1Dot8Dot8 string = "1.8.8" // DCOSDefaultVersion is the default major.minor.patch version for DCOS DCOSDefaultVersion string = DCOSVersion1Dot9Dot0 )
const ( // DefaultTillerAddonEnabled determines the acs-engine provided default for enabling tiller addon DefaultTillerAddonEnabled = true // DefaultACIConnectorAddonEnabled determines the acs-engine provided default for enabling aci connector addon DefaultACIConnectorAddonEnabled = false // DefaultDashboardAddonEnabled determines the acs-engine provided default for enabling kubernetes-dashboard addon DefaultDashboardAddonEnabled = true // DefaultReschedulerAddonEnabled determines the acs-engine provided default for enabling kubernetes-rescheduler addon DefaultReschedulerAddonEnabled = false // DefaultRBACEnabled determines the acs-engine provided default for enabling kubernetes RBAC DefaultRBACEnabled = true // DefaultUseInstanceMetadata determines the acs-engine provided default for enabling Azure cloudprovider instance metadata service DefaultUseInstanceMetadata = true // DefaultSecureKubeletEnabled determines the acs-engine provided default for securing kubelet communications DefaultSecureKubeletEnabled = true // DefaultMetricsServerAddonEnabled determines the acs-engine provided default for enabling kubernetes metrics-server addon DefaultMetricsServerAddonEnabled = false // DefaultTillerAddonName is the name of the tiller addon deployment DefaultTillerAddonName = "tiller" // DefaultACIConnectorAddonName is the name of the tiller addon deployment DefaultACIConnectorAddonName = "aci-connector" // DefaultDashboardAddonName is the name of the kubernetes-dashboard addon deployment DefaultDashboardAddonName = "kubernetes-dashboard" // DefaultReschedulerAddonName is the name of the rescheduler addon deployment DefaultReschedulerAddonName = "rescheduler" // DefaultMetricsServerAddonName is the name of the kubernetes metrics server addon deployment DefaultMetricsServerAddonName = "metrics-server" // DefaultPrivateClusterEnabled determines the acs-engine provided default for enabling kubernetes Private Cluster DefaultPrivateClusterEnabled = false )
Variables ¶
This section is empty.
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, version string) (*v20170930.OrchestratorVersionProfileList, error)
GetOrchestratorVersionProfileListV20170930 returns v20170930 OrchestratorVersionProfileList object per (optionally) specified orchestrator and version
func GetOrchestratorVersionProfileListVLabs ¶ added in v0.8.0
func GetOrchestratorVersionProfileListVLabs(orchestrator, version string) (*vlabs.OrchestratorVersionProfileList, error)
GetOrchestratorVersionProfileListVLabs returns vlabs OrchestratorVersionProfileList object per (optionally) specified orchestrator and version
func NormalizeAzureRegion ¶ added in v0.6.0
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"`
// The Azure Active Directory Group Object ID that will be assigned the
// cluster-admin RBAC role.
// Optional
AdminGroupID string `json:"adminGroupID,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"`
KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"`
}
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) IsCoreOS ¶ added in v0.10.0
func (a *AgentPoolProfile) IsCoreOS() bool
IsCoreOS returns true if the agent specified a CoreOS distro
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, isUpdate 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, isUpdate 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, isUpdate bool, defaultKubernetesVersion string) (*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, isUpdate 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
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"`
// EtcdServerCertificate is the server certificate for etcd, and signed by the CA
EtcdServerCertificate string `json:"etcdServerCertificate,omitempty"`
// EtcdServerPrivateKey is the server private key for etcd, and signed by the CA
EtcdServerPrivateKey string `json:"etcdServerPrivateKey,omitempty"`
// EtcdClientCertificate is etcd client certificate, and signed by the CA
EtcdClientCertificate string `json:"etcdClientCertificate,omitempty"`
// EtcdClientPrivateKey is the etcd client private key, and signed by the CA
EtcdClientPrivateKey string `json:"etcdClientPrivateKey,omitempty"`
// EtcdPeerCertificates is list of etcd peer certificates, and signed by the CA
EtcdPeerCertificates []string `json:"etcdPeerCertificates,omitempty"`
// EtcdPeerPrivateKeys is list of etcd peer private keys, and signed by the CA
EtcdPeerPrivateKeys []string `json:"etcdPeerPrivateKeys,omitempty"`
}
CertificateProfile represents the definition of the master cluster
type CloudProviderConfig ¶ added in v0.12.0
type CloudProviderConfig struct {
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"`
}
CloudProviderConfig contains the KubernetesConfig properties specific to the Cloud Provider TODO use this when strict JSON checking accommodates struct embedding
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 {
DcosBootstrapURL string `json:"dcosBootstrapURL,omitempty"`
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
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 KubernetesAddon ¶ added in v0.9.4
type KubernetesAddon struct {
Name string `json:"name,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Containers []KubernetesContainerSpec `json:"containers,omitempty"`
Config map[string]string `json:"config,omitempty"`
}
KubernetesAddon defines a list of addons w/ configuration to include with the cluster deployment
func (*KubernetesAddon) IsEnabled ¶ added in v0.9.4
func (a *KubernetesAddon) IsEnabled(ifNil bool) bool
IsEnabled returns if the addon is explicitly enabled, or the user-provided default if non explicitly enabled
type KubernetesConfig ¶
type KubernetesConfig struct {
KubernetesImageBase string `json:"kubernetesImageBase,omitempty"`
ClusterSubnet string `json:"clusterSubnet,omitempty"`
NetworkPolicy string `json:"networkPolicy,omitempty"`
ContainerRuntime string `json:"containerRuntime,omitempty"`
MaxPods int `json:"maxPods,omitempty"`
DockerBridgeSubnet string `json:"dockerBridgeSubnet,omitempty"`
DNSServiceIP string `json:"dnsServiceIP,omitempty"`
ServiceCIDR string `json:"serviceCidr,omitempty"`
UseManagedIdentity bool `json:"useManagedIdentity,omitempty"`
CustomHyperkubeImage string `json:"customHyperkubeImage,omitempty"`
DockerEngineVersion string `json:"dockerEngineVersion,omitempty"`
CustomCcmImage string `json:"customCcmImage,omitempty"` // Image for cloud-controller-manager
UseCloudControllerManager *bool `json:"useCloudControllerManager,omitempty"`
UseInstanceMetadata *bool `json:"useInstanceMetadata,omitempty"`
EnableRbac *bool `json:"enableRbac,omitempty"`
EnableSecureKubelet *bool `json:"enableSecureKubelet,omitempty"`
EnableAggregatedAPIs bool `json:"enableAggregatedAPIs,omitempty"`
PrivateCluster *PrivateCluster `json:"privateCluster,omitempty"`
GCHighThreshold int `json:"gchighthreshold,omitempty"`
GCLowThreshold int `json:"gclowthreshold,omitempty"`
EtcdVersion string `json:"etcdVersion,omitempty"`
EtcdDiskSizeGB string `json:"etcdDiskSizeGB,omitempty"`
EnableDataEncryptionAtRest *bool `json:"enableDataEncryptionAtRest,omitempty"`
EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"`
Addons []KubernetesAddon `json:"addons,omitempty"`
KubeletConfig map[string]string `json:"kubeletConfig,omitempty"`
ControllerManagerConfig map[string]string `json:"controllerManagerConfig,omitempty"`
CloudControllerManagerConfig map[string]string `json:"cloudControllerManagerConfig,omitempty"`
APIServerConfig map[string]string `json:"apiServerConfig,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"`
NonMasqueradeCidr string `json:"nonMasqueradeCidr,omitempty"`
NodeStatusUpdateFrequency string `json:"nodeStatusUpdateFrequency,omitempty"`
HardEvictionThreshold string `json:"hardEvictionThreshold,omitempty"`
CtrlMgrNodeMonitorGracePeriod string `json:"ctrlMgrNodeMonitorGracePeriod,omitempty"`
CtrlMgrPodEvictionTimeout string `json:"ctrlMgrPodEvictionTimeout,omitempty"`
CtrlMgrRouteReconciliationPeriod string `json:"ctrlMgrRouteReconciliationPeriod,omitempty"`
}
KubernetesConfig contains the Kubernetes config structure, containing Kubernetes specific configuration
func (*KubernetesConfig) IsACIConnectorEnabled ¶ added in v0.10.0
func (k *KubernetesConfig) IsACIConnectorEnabled() bool
IsACIConnectorEnabled checks if the ACI Connector addon is enabled
func (*KubernetesConfig) IsDashboardEnabled ¶ added in v0.9.4
func (k *KubernetesConfig) IsDashboardEnabled() bool
IsDashboardEnabled checks if the kubernetes-dashboard addon is enabled
func (*KubernetesConfig) IsReschedulerEnabled ¶ added in v0.10.0
func (k *KubernetesConfig) IsReschedulerEnabled() bool
IsReschedulerEnabled checks if the rescheduler addon is enabled
func (*KubernetesConfig) IsTillerEnabled ¶ added in v0.9.4
func (k *KubernetesConfig) IsTillerEnabled() bool
IsTillerEnabled checks if the tiller addon is enabled
func (*KubernetesConfig) PrivateJumpboxProvision ¶ added in v0.14.0
func (k *KubernetesConfig) PrivateJumpboxProvision() bool
PrivateJumpboxProvision checks if a private cluster has jumpbox auto-provisioning
type KubernetesConfigDeprecated ¶ added in v0.12.0
type KubernetesConfigDeprecated struct {
NonMasqueradeCidr string `json:"nonMasqueradeCidr,omitempty"`
NodeStatusUpdateFrequency string `json:"nodeStatusUpdateFrequency,omitempty"`
HardEvictionThreshold string `json:"hardEvictionThreshold,omitempty"`
CtrlMgrNodeMonitorGracePeriod string `json:"ctrlMgrNodeMonitorGracePeriod,omitempty"`
CtrlMgrPodEvictionTimeout string `json:"ctrlMgrPodEvictionTimeout,omitempty"`
CtrlMgrRouteReconciliationPeriod string `json:"ctrlMgrRouteReconciliationPeriod,omitempty"`
}
KubernetesConfigDeprecated are properties that are no longer operable and will be ignored TODO use this when strict JSON checking accommodates struct embedding
type KubernetesContainerSpec ¶ added in v0.9.4
type KubernetesContainerSpec struct {
Name string `json:"name,omitempty"`
Image string `json:"image,omitempty"`
CPURequests string `json:"cpuRequests,omitempty"`
MemoryRequests string `json:"memoryRequests,omitempty"`
CPULimits string `json:"cpuLimits,omitempty"`
MemoryLimits string `json:"memoryLimits,omitempty"`
}
KubernetesContainerSpec defines configuration for a container spec
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"`
KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,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) IsCoreOS ¶ added in v0.10.0
func (m *MasterProfile) IsCoreOS() bool
IsCoreOS returns true if the master specified a CoreOS distro
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 OrchestratorProfile ¶
type OrchestratorProfile struct {
OrchestratorType string `json:"orchestratorType"`
OrchestratorVersion string `json:"orchestratorVersion"`
KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"`
DcosConfig *DcosConfig `json:"dcosConfig,omitempty"`
}
OrchestratorProfile contains Orchestrator properties
func (*OrchestratorProfile) GetAPIServerEtcdAPIVersion ¶ added in v0.9.0
func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string
GetAPIServerEtcdAPIVersion Used to set apiserver's etcdapi version
func (*OrchestratorProfile) IsAzureCNI ¶ added in v0.10.0
func (o *OrchestratorProfile) IsAzureCNI() bool
IsAzureCNI returns true if Azure VNET integration is enabled
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) IsMetricsServerEnabled ¶ added in v0.14.0
func (o *OrchestratorProfile) IsMetricsServerEnabled() bool
IsMetricsServerEnabled checks if the metrics server addon is enabled
func (*OrchestratorProfile) IsSwarmMode ¶
func (o *OrchestratorProfile) IsSwarmMode() bool
IsSwarmMode returns true if this template is for Swarm Mode orchestrator
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 PrivateCluster ¶ added in v0.14.0
type PrivateCluster struct {
Enabled *bool `json:"enabled,omitempty"`
JumpboxProfile *PrivateJumpboxProfile `json:"jumpboxProfile,omitempty"`
}
PrivateCluster defines the configuration for a private cluster
type PrivateJumpboxProfile ¶ added in v0.14.0
type PrivateJumpboxProfile struct {
Name string `json:"name" validate:"required"`
VMSize string `json:"vmSize" validate:"required"`
OSDiskSizeGB int `json:"osDiskSizeGB,omitempty" validate:"min=0,max=1023"`
Username string `json:"username,omitempty"`
PublicKey string `json:"publicKey" validate:"required"`
StorageProfile string `json:"storageProfile,omitempty"`
}
PrivateJumpboxProfile represents a jumpbox definition
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"`
WindowsImageSourceURL string `json:"windowsImageSourceURL"`
Secrets []KeyVaultSecrets `json:"secrets,omitempty"`
}
WindowsProfile represents the windows parameters passed to the cluster
func (*WindowsProfile) HasCustomImage ¶ added in v0.12.0
func (w *WindowsProfile) HasCustomImage() bool
HasCustomImage returns true if there is a custom windows os image url specified
func (*WindowsProfile) HasSecrets ¶
func (w *WindowsProfile) HasSecrets() bool
HasSecrets returns true if the customer specified secrets to install
Source Files
¶
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" |
|
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 |