datamodel

package
v0.20200813.2 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2020 License: MIT Imports: 20 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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                              api.OSType               `json:"osType,omitempty"`
	Ports                               []int                    `json:"ports,omitempty"`
	ProvisioningState                   api.ProvisioningState    `json:"provisioningState,omitempty"`
	AvailabilityProfile                 string                   `json:"availabilityProfile"`
	ScaleSetPriority                    string                   `json:"scaleSetPriority,omitempty"`
	ScaleSetEvictionPolicy              string                   `json:"scaleSetEvictionPolicy,omitempty"`
	SpotMaxPrice                        *float64                 `json:"spotMaxPrice,omitempty"`
	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                              api.Distro               `json:"distro,omitempty"`
	Role                                api.AgentPoolProfileRole `json:"role,omitempty"`
	AcceleratedNetworkingEnabled        *bool                    `json:"acceleratedNetworkingEnabled,omitempty"`
	AcceleratedNetworkingEnabledWindows *bool                    `json:"acceleratedNetworkingEnabledWindows,omitempty"`
	VMSSOverProvisioningEnabled         *bool                    `json:"vmssOverProvisioningEnabled,omitempty"`
	FQDN                                string                   `json:"fqdn,omitempty"`
	CustomNodeLabels                    map[string]string        `json:"customNodeLabels,omitempty"`
	PreprovisionExtension               *api.Extension           `json:"preProvisionExtension"`
	Extensions                          []api.Extension          `json:"extensions"`
	KubernetesConfig                    *api.KubernetesConfig    `json:"kubernetesConfig,omitempty"`
	OrchestratorVersion                 string                   `json:"orchestratorVersion"`
	ImageRef                            *api.ImageReference      `json:"imageReference,omitempty"`
	MaxCount                            *int                     `json:"maxCount,omitempty"`
	MinCount                            *int                     `json:"minCount,omitempty"`
	EnableAutoScaling                   *bool                    `json:"enableAutoScaling,omitempty"`
	AvailabilityZones                   []string                 `json:"availabilityZones,omitempty"`
	PlatformFaultDomainCount            *int                     `json:"platformFaultDomainCount"`
	PlatformUpdateDomainCount           *int                     `json:"platformUpdateDomainCount"`
	SinglePlacementGroup                *bool                    `json:"singlePlacementGroup,omitempty"`
	VnetCidrs                           []string                 `json:"vnetCidrs,omitempty"`
	PreserveNodesProperties             *bool                    `json:"preserveNodesProperties,omitempty"`
	WindowsNameVersion                  string                   `json:"windowsNameVersion,omitempty"`
	EnableVMSSNodePublicIP              *bool                    `json:"enableVMSSNodePublicIP,omitempty"`
	LoadBalancerBackendAddressPoolIDs   []string                 `json:"loadBalancerBackendAddressPoolIDs,omitempty"`
	AuditDEnabled                       *bool                    `json:"auditDEnabled,omitempty"`
	CustomVMTags                        map[string]string        `json:"customVMTags,omitempty"`
	DiskEncryptionSetID                 string                   `json:"diskEncryptionSetID,omitempty"`
	UltraSSDEnabled                     *bool                    `json:"ultraSSDEnabled,omitempty"`
	EncryptionAtHost                    *bool                    `json:"encryptionAtHost,omitempty"`
	ProximityPlacementGroupID           string                   `json:"proximityPlacementGroupID,omitempty"`
}

AgentPoolProfile represents an agent pool definition

func (*AgentPoolProfile) GetKubernetesLabels

func (a *AgentPoolProfile) GetKubernetesLabels(rg string, deprecated bool) string

GetKubernetesLabels returns a k8s API-compliant labels string for nodes in this profile

func (*AgentPoolProfile) HasAvailabilityZones added in v0.20200813.1

func (a *AgentPoolProfile) HasAvailabilityZones() bool

HasAvailabilityZones returns true if the agent pool has availability zones

func (*AgentPoolProfile) HasDisks added in v0.20200813.1

func (a *AgentPoolProfile) HasDisks() bool

HasDisks returns true if the customer specified disks

func (*AgentPoolProfile) IsAuditDEnabled added in v0.20200813.1

func (a *AgentPoolProfile) IsAuditDEnabled() bool

IsAuditDEnabled returns true if the master profile is configured for auditd

func (*AgentPoolProfile) IsAvailabilitySets

func (a *AgentPoolProfile) IsAvailabilitySets() bool

IsAvailabilitySets returns true if the customer specified disks

func (*AgentPoolProfile) IsCoreOS added in v0.20200813.1

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 added in v0.20200813.1

func (a *AgentPoolProfile) IsLinux() bool

IsLinux returns true if the agent pool is linux

func (*AgentPoolProfile) IsSpotScaleSet added in v0.20200813.1

func (a *AgentPoolProfile) IsSpotScaleSet() bool

IsSpotScaleSet returns true if the VMSS is Spot Scale Set

func (*AgentPoolProfile) IsUbuntu1804 added in v0.20200813.1

func (a *AgentPoolProfile) IsUbuntu1804() bool

IsUbuntu1804 returns true if the agent pool profile distro is based on Ubuntu 16.04

func (*AgentPoolProfile) IsVHDDistro

func (a *AgentPoolProfile) IsVHDDistro() bool

IsVHDDistro returns true if the distro uses VHD SKUs

func (*AgentPoolProfile) IsVirtualMachineScaleSets

func (a *AgentPoolProfile) IsVirtualMachineScaleSets() bool

IsVirtualMachineScaleSets returns true if the agent pool availability profile is VMSS

func (*AgentPoolProfile) IsWindows

func (a *AgentPoolProfile) IsWindows() bool

IsWindows returns true if the agent pool is windows

type ContainerService

type ContainerService struct {
	ID       string                    `json:"id"`
	Location string                    `json:"location"`
	Name     string                    `json:"name"`
	Plan     *api.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 CreateMockContainerService

func CreateMockContainerService(containerServiceName, orchestratorVersion string, masterCount, agentCount int, certs bool) *ContainerService

CreateMockContainerService returns a mock container service for testing purposes

func (*ContainerService) GetCloudSpecConfig added in v0.20200806.1

func (cs *ContainerService) GetCloudSpecConfig() api.AzureEnvironmentSpecConfig

GetCloudSpecConfig returns the Kubernetes container images URL configurations based on the deploy target environment. for example: if the target is the public azure, then the default container image url should be k8s.gcr.io/... if the target is azure china, then the default container image should be mirror.azure.cn:5000/google_container/...

func (*ContainerService) GetLocations

func (cs *ContainerService) GetLocations() []string

GetLocations returns all supported regions. If AzurePublicCloud, AzureChinaCloud,AzureGermanCloud or AzureUSGovernmentCloud, GetLocations provides all azure regions in prod.

func (*ContainerService) IsAKSCustomCloud

func (cs *ContainerService) IsAKSCustomCloud() bool

IsAKSCustomCloud checks if it's in AKS custom cloud

func (*ContainerService) SetDefaultCerts added in v0.20200806.1

func (cs *ContainerService) SetDefaultCerts(params api.DefaultCertParams) (bool, []net.IP, error)

SetDefaultCerts generates and sets defaults for the container certificateProfile, returns true if certs are generated

func (*ContainerService) SetPropertiesDefaults added in v0.20200806.1

func (cs *ContainerService) SetPropertiesDefaults(params api.PropertiesDefaultsParams) (bool, error)

SetPropertiesDefaults for the container Properties, returns true if certs are generated

type Properties

type Properties struct {
	ClusterID               string
	ProvisioningState       api.ProvisioningState        `json:"provisioningState,omitempty"`
	OrchestratorProfile     *api.OrchestratorProfile     `json:"orchestratorProfile,omitempty"`
	MasterProfile           *api.MasterProfile           `json:"masterProfile,omitempty"`
	AgentPoolProfiles       []*AgentPoolProfile          `json:"agentPoolProfiles,omitempty"`
	LinuxProfile            *api.LinuxProfile            `json:"linuxProfile,omitempty"`
	WindowsProfile          *api.WindowsProfile          `json:"windowsProfile,omitempty"`
	ExtensionProfiles       []*api.ExtensionProfile      `json:"extensionProfiles"`
	DiagnosticsProfile      *api.DiagnosticsProfile      `json:"diagnosticsProfile,omitempty"`
	JumpboxProfile          *api.JumpboxProfile          `json:"jumpboxProfile,omitempty"`
	ServicePrincipalProfile *api.ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"`
	CertificateProfile      *api.CertificateProfile      `json:"certificateProfile,omitempty"`
	AADProfile              *api.AADProfile              `json:"aadProfile,omitempty"`
	CustomProfile           *api.CustomProfile           `json:"customProfile,omitempty"`
	HostedMasterProfile     *api.HostedMasterProfile     `json:"hostedMasterProfile,omitempty"`
	AddonProfiles           map[string]api.AddonProfile  `json:"addonProfiles,omitempty"`
	FeatureFlags            *api.FeatureFlags            `json:"featureFlags,omitempty"`
	TelemetryProfile        *api.TelemetryProfile        `json:"telemetryProfile,omitempty"`
	CustomCloudEnv          *api.CustomCloudEnv          `json:"customCloudEnv,omitempty"`
}

Properties represents the AKS cluster definition

func GetK8sDefaultProperties

func GetK8sDefaultProperties(hasWindows bool) *Properties

GetK8sDefaultProperties returns a struct of type Properties for testing purposes.

func (*Properties) AnyAgentIsLinux added in v0.20200813.1

func (p *Properties) AnyAgentIsLinux() bool

AnyAgentIsLinux checks whether any of the agents in the AgentPools are linux

func (*Properties) AreAgentProfilesCustomVNET

func (p *Properties) AreAgentProfilesCustomVNET() bool

AreAgentProfilesCustomVNET returns true if all of the agent profiles in the clusters are configured with VNET.

func (*Properties) GetAgentVMPrefix added in v0.20200813.1

func (p *Properties) GetAgentVMPrefix(a *AgentPoolProfile, index int) string

GetAgentVMPrefix returns the VM prefix for an agentpool.

func (*Properties) GetClusterID

func (p *Properties) GetClusterID() string

GetClusterID creates a unique 8 string cluster ID.

func (*Properties) GetCustomCloudName

func (p *Properties) GetCustomCloudName() string

GetCustomCloudName returns name of environment if customCloudProfile is provided, returns empty string if customCloudProfile is empty. Because customCloudProfile is empty for deployment is AzurePublicCloud, AzureChinaCloud,AzureGermanCloud,AzureUSGovernmentCloud, the return value will be empty string for those clouds

func (*Properties) GetCustomEnvironmentJSON

func (p *Properties) GetCustomEnvironmentJSON(escape bool) (string, error)

GetCustomEnvironmentJSON return the JSON format string for custom environment

func (*Properties) GetNSGName

func (p *Properties) GetNSGName() string

GetNSGName returns the name of the network security group of the cluster.

func (*Properties) GetPrimaryAvailabilitySetName

func (p *Properties) GetPrimaryAvailabilitySetName() string

GetPrimaryAvailabilitySetName returns the name of the primary availability set of the cluster

func (*Properties) GetPrimaryScaleSetName added in v0.20200813.1

func (p *Properties) GetPrimaryScaleSetName() string

GetPrimaryScaleSetName returns the name of the primary scale set node of the cluster

func (*Properties) GetResourcePrefix

func (p *Properties) GetResourcePrefix() string

GetResourcePrefix returns the prefix to use for naming cluster resources

func (*Properties) GetRouteTableName

func (p *Properties) GetRouteTableName() string

GetRouteTableName returns the route table name of the cluster.

func (*Properties) GetSubnetName

func (p *Properties) GetSubnetName() string

GetSubnetName returns the subnet name of the cluster based on its current configuration.

func (*Properties) GetVMType

func (p *Properties) GetVMType() string

GetVMType returns the type of VM "vmss" or "standard" to be passed to the cloud provider

func (*Properties) GetVNetResourceGroupName

func (p *Properties) GetVNetResourceGroupName() string

GetVNetResourceGroupName returns the virtual network resource group name of the cluster

func (*Properties) GetVirtualNetworkName

func (p *Properties) GetVirtualNetworkName() string

GetVirtualNetworkName returns the virtual network name of the cluster

func (*Properties) HasAadProfile

func (p *Properties) HasAadProfile() bool

HasAadProfile returns true if the has aad profile

func (*Properties) HasAvailabilityZones added in v0.20200813.1

func (p *Properties) HasAvailabilityZones() bool

HasAvailabilityZones returns true if the cluster contains a profile with zones

func (*Properties) HasCoreOS added in v0.20200813.1

func (p *Properties) HasCoreOS() bool

HasCoreOS returns true if the cluster contains coreos nodes

func (*Properties) HasDCSeriesSKU

func (p *Properties) HasDCSeriesSKU() bool

HasDCSeriesSKU returns whether or not there is an DC series SKU agent pool

func (*Properties) HasNSeriesSKU added in v0.20200813.1

func (p *Properties) HasNSeriesSKU() bool

HasNSeriesSKU returns whether or not there is an N series SKU agent pool

func (*Properties) HasVMSSAgentPool

func (p *Properties) HasVMSSAgentPool() bool

HasVMSSAgentPool returns true if the cluster contains Virtual Machine Scale Sets agent pools

func (*Properties) HasWindows

func (p *Properties) HasWindows() bool

HasWindows returns true if the cluster contains windows

func (*Properties) IsAKSCustomCloud

func (p *Properties) IsAKSCustomCloud() bool

IsAKSCustomCloud checks if it's in AKS custom cloud

func (*Properties) IsHostedMasterProfile added in v0.20200813.1

func (p *Properties) IsHostedMasterProfile() bool

IsHostedMasterProfile returns true if the cluster has a hosted master

func (*Properties) IsIPMasqAgentDisabled

func (p *Properties) IsIPMasqAgentDisabled() bool

IsIPMasqAgentDisabled returns true if the ip-masq-agent functionality is disabled

func (*Properties) IsIPMasqAgentEnabled

func (p *Properties) IsIPMasqAgentEnabled() bool

IsIPMasqAgentEnabled returns true if the cluster has a hosted master and IpMasqAgent is disabled

func (*Properties) IsVHDDistroForAllNodes

func (p *Properties) IsVHDDistroForAllNodes() bool

IsVHDDistroForAllNodes returns true if all of the agent pools plus masters are running the VHD image

func (*Properties) K8sOrchestratorName

func (p *Properties) K8sOrchestratorName() string

K8sOrchestratorName returns the 3 character orchestrator code for kubernetes-based clusters.

func (*Properties) SetCloudProviderRateLimitDefaults added in v0.20200813.1

func (p *Properties) SetCloudProviderRateLimitDefaults()

SetCloudProviderRateLimitDefaults sets default cloudprovider rate limiter config

func (*Properties) TotalNodes added in v0.20200813.1

func (p *Properties) TotalNodes() int

TotalNodes returns the total number of nodes in the cluster configuration

Jump to

Keyboard shortcuts

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