azure

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetAzureCredentialsRequestProviderSpec

func GetAzureCredentialsRequestProviderSpec() *cloudcredentialv1.AzureProviderSpec

Types

type AzureInfra

type AzureInfra struct {
	// contains filtered or unexported fields
}

func (*AzureInfra) GetUsedIPsByCIDR

func (i *AzureInfra) GetUsedIPsByCIDR(rc *reconcilecontext.ReconcileContext) (map[string][]net.IP, error)

GetUsedIPsByCIDR returns a map of reserved IPs by CIDR, this IPs cannot be used for assigning to namespaces

func (*AzureInfra) ReconcileInstanceSecondaryIPs

func (i *AzureInfra) ReconcileInstanceSecondaryIPs(rc *reconcilecontext.ReconcileContext) error

ReconcileInstanceSecondaryIPs will make sure that Assigned Egress IPs to instances are correclty reconciled this includes adding and possibly removing secondary IPs to selected instances.

func (*AzureInfra) RemoveAllAssignedIPs

func (i *AzureInfra) RemoveAllAssignedIPs(rc *reconcilecontext.ReconcileContext) error

RemoveAllAssignedIPs uncoditionally remoevs all the assigned IPs to VMs, used in clean-up login

type AzureMachineProviderSpec

type AzureMachineProviderSpec struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// UserDataSecret contains a local reference to a secret that contains the
	// UserData to apply to the instance
	UserDataSecret *corev1.SecretReference `json:"userDataSecret,omitempty"`

	// CredentialsSecret is a reference to the secret with Azure credentials.
	CredentialsSecret *corev1.SecretReference `json:"credentialsSecret,omitempty"`

	Location     string            `json:"location,omitempty"`
	VMSize       string            `json:"vmSize,omitempty"`
	SSHPublicKey string            `json:"sshPublicKey,omitempty"`
	PublicIP     bool              `json:"publicIP"`
	Tags         map[string]string `json:"tags,omitempty"`

	// Network Security Group that needs to be attached to the machine's interface.
	// No security group will be attached if empty.
	SecurityGroup string `json:"securityGroup,omitempty"`

	// Application Security Groups that need to be attached to the machine's interface.
	// No application security groups will be attached if zero-length.
	ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"`

	// Subnet to use for this instance
	Subnet string `json:"subnet"`

	// PublicLoadBalancer to use for this instance
	PublicLoadBalancer string `json:"publicLoadBalancer,omitempty"`

	// InternalLoadBalancerName to use for this instance
	InternalLoadBalancer string `json:"internalLoadBalancer,omitempty"`

	// NatRule to set inbound NAT rule of the load balancer
	NatRule *int `json:"natRule,omitempty"`

	// ManagedIdentity to set managed identity name
	ManagedIdentity string `json:"managedIdentity,omitempty"`

	// Vnet to set virtual network name
	Vnet string `json:"vnet,omitempty"`

	// Availability Zone for the virtual machine.
	// If nil, the virtual machine should be deployed to no zone
	Zone *string `json:"zone,omitempty"`

	NetworkResourceGroup string `json:"networkResourceGroup,omitempty"`
	ResourceGroup        string `json:"resourceGroup,omitempty"`
}

AzureMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an Azure virtual machine. It is used by the Azure machine actuator to create a single Machine. Required parameters such as location that are not specified by this configuration, will be defaulted by the actuator. TODO: Update type

Jump to

Keyboard shortcuts

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