Documentation ¶
Overview ¶
+kubebuilder:skip
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetAzureCredentialsRequestProviderSpec ¶
func GetAzureCredentialsRequestProviderSpec() *cloudcredentialv1.AzureProviderSpec
func NewAzureInfra ¶
func NewAzureInfra(directClient client.Client, rc *reconcilecontext.ReconcileContext) (reconcilecontext.Infra, error)
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