Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the azureprovider v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-azure/pkg/apis/azureprovider +k8s:defaulter-gen=TypeMeta +groupName=azureprovider.k8s.io
Package v1alpha1 contains API Schema definitions for the azureprovider v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-azure/pkg/apis/azureprovider +k8s:defaulter-gen=TypeMeta +groupName=azureprovider.k8s.io
Index ¶
- Constants
- Variables
- func EncodeClusterSpec(spec *AzureClusterProviderSpec) (*runtime.RawExtension, error)
- func EncodeClusterStatus(status *AzureClusterProviderStatus) (*runtime.RawExtension, error)
- func EncodeMachineSpec(spec *AzureMachineProviderSpec) (*runtime.RawExtension, error)
- func EncodeMachineStatus(status *AzureMachineProviderStatus) (*runtime.RawExtension, error)
- type AzureClusterProviderSpec
- type AzureClusterProviderStatus
- type AzureMachineProviderCondition
- type AzureMachineProviderConditionType
- type AzureMachineProviderSpec
- type AzureMachineProviderStatus
- type AzureResourceReference
- type BackendPool
- type FrontendIPConfig
- type Image
- type IngressRule
- type IngressRules
- type KeyPair
- type KubeadmConfiguration
- type LoadBalancer
- type LoadBalancerHealthCheck
- type LoadBalancerListener
- type LoadBalancerProtocol
- type ManagedDisk
- type Network
- type NetworkSpec
- type OSDisk
- type PublicIP
- type ResourceSpec
- type SKU
- type SecurityGroup
- type SecurityGroupProtocol
- type SecurityGroupRole
- type SubnetSpec
- type Subnets
- type VM
- type VMIdentity
- type VMState
- type VnetSpec
Constants ¶
const ( // ControlPlane machine label ControlPlane string = "controlplane" // Node machine label Node string = "node" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "azureprovider.k8s.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
var ( // SecurityGroupBastion defines an SSH bastion role SecurityGroupBastion = SecurityGroupRole("bastion") // SecurityGroupNode defines a Kubernetes workload node role SecurityGroupNode = SecurityGroupRole(Node) // SecurityGroupControlPlane defines a Kubernetes control plane node role SecurityGroupControlPlane = SecurityGroupRole(ControlPlane) )
var ( // SecurityGroupProtocolAll is a wildcard for all IP protocols SecurityGroupProtocolAll = SecurityGroupProtocol("*") // SecurityGroupProtocolTCP represents the TCP protocol in ingress rules SecurityGroupProtocolTCP = SecurityGroupProtocol("Tcp") // SecurityGroupProtocolUDP represents the UDP protocol in ingress rules SecurityGroupProtocolUDP = SecurityGroupProtocol("Udp") )
var ( SKUBasic = SKU("Basic") SKUStandard = SKU("Standard") )
var ( // LoadBalancerProtocolTCP defines the LB API string representing the TCP protocol LoadBalancerProtocolTCP = LoadBalancerProtocol("TCP") // LoadBalancerProtocolSSL defines the LB API string representing the TLS protocol LoadBalancerProtocolSSL = LoadBalancerProtocol("SSL") // LoadBalancerProtocolHTTP defines the LB API string representing the HTTP protocol at L7 LoadBalancerProtocolHTTP = LoadBalancerProtocol("HTTP") // LoadBalancerProtocolHTTPS defines the LB API string representing the HTTP protocol at L7 LoadBalancerProtocolHTTPS = LoadBalancerProtocol("HTTPS") )
TODO
var ( // VMStateCreating ... VMStateCreating = VMState("Creating") // VMStateDeleting ... VMStateDeleting = VMState("Deleting") // VMStateFailed ... VMStateFailed = VMState("Failed") // VMStateMigrating ... VMStateMigrating = VMState("Migrating") // VMStateSucceeded ... VMStateSucceeded = VMState("Succeeded") // VMStateUpdating ... VMStateUpdating = VMState("Updating") )
Functions ¶
func EncodeClusterSpec ¶
func EncodeClusterSpec(spec *AzureClusterProviderSpec) (*runtime.RawExtension, error)
EncodeClusterSpec marshals the cluster provider spec.
func EncodeClusterStatus ¶
func EncodeClusterStatus(status *AzureClusterProviderStatus) (*runtime.RawExtension, error)
EncodeClusterStatus marshals the cluster status.
func EncodeMachineSpec ¶
func EncodeMachineSpec(spec *AzureMachineProviderSpec) (*runtime.RawExtension, error)
EncodeMachineSpec marshals the machine provider spec.
func EncodeMachineStatus ¶
func EncodeMachineStatus(status *AzureMachineProviderStatus) (*runtime.RawExtension, error)
EncodeMachineStatus marshals the machine status
Types ¶
type AzureClusterProviderSpec ¶
type AzureClusterProviderSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // NetworkSpec encapsulates all things related to Azure network. NetworkSpec NetworkSpec `json:"networkSpec,omitempty"` ResourceGroup string `json:"resourceGroup"` Location string `json:"location"` // CAKeyPair is the key pair for CA certs. CAKeyPair KeyPair `json:"caKeyPair,omitempty"` // EtcdCAKeyPair is the key pair for etcd. EtcdCAKeyPair KeyPair `json:"etcdCAKeyPair,omitempty"` // FrontProxyCAKeyPair is the key pair for the front proxy. FrontProxyCAKeyPair KeyPair `json:"frontProxyCAKeyPair,omitempty"` // SAKeyPair is the service account key pair. SAKeyPair KeyPair `json:"saKeyPair,omitempty"` // AdminKubeconfig generated using the certificates part of the spec // do not move to status, since it uses on disk ca certs, which causes issues during regeneration AdminKubeconfig string `json:"adminKubeconfig,omitempty"` // DiscoveryHashes generated using the certificates part of the spec, used by master and nodes bootstrapping // this never changes until ca is rotated // do not move to status, since it uses on disk ca certs, which causes issues during regeneration DiscoveryHashes []string `json:"discoveryHashes,omitempty"` // ClusterConfiguration holds the cluster-wide information used during a // kubeadm init call. ClusterConfiguration kubeadmv1beta1.ClusterConfiguration `json:"clusterConfiguration,omitempty"` }
AzureClusterProviderSpec is the providerConfig for Azure in the cluster. +k8s:openapi-gen=true
func ClusterConfigFromProviderSpec ¶
func ClusterConfigFromProviderSpec(providerConfig clusterv1.ProviderSpec) (*AzureClusterProviderSpec, error)
ClusterConfigFromProviderSpec unmarshals a provider config into an Azure Cluster type
func (*AzureClusterProviderSpec) DeepCopy ¶
func (in *AzureClusterProviderSpec) DeepCopy() *AzureClusterProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureClusterProviderSpec.
func (*AzureClusterProviderSpec) DeepCopyInto ¶
func (in *AzureClusterProviderSpec) DeepCopyInto(out *AzureClusterProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureClusterProviderSpec) DeepCopyObject ¶
func (in *AzureClusterProviderSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AzureClusterProviderStatus ¶
type AzureClusterProviderStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Network Network `json:"network,omitempty"` Bastion VM `json:"bastion,omitempty"` }
AzureClusterProviderStatus contains the status fields relevant to Azure in the cluster object. +k8s:openapi-gen=true
func ClusterStatusFromProviderStatus ¶
func ClusterStatusFromProviderStatus(extension *runtime.RawExtension) (*AzureClusterProviderStatus, error)
ClusterStatusFromProviderStatus unmarshals a raw extension into an Azure Cluster type
func (*AzureClusterProviderStatus) DeepCopy ¶
func (in *AzureClusterProviderStatus) DeepCopy() *AzureClusterProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureClusterProviderStatus.
func (*AzureClusterProviderStatus) DeepCopyInto ¶
func (in *AzureClusterProviderStatus) DeepCopyInto(out *AzureClusterProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureClusterProviderStatus) DeepCopyObject ¶
func (in *AzureClusterProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AzureMachineProviderCondition ¶
type AzureMachineProviderCondition struct { // Type is the type of the condition. Type AzureMachineProviderConditionType `json:"type"` // Status is the status of the condition. Status corev1.ConditionStatus `json:"status"` // LastProbeTime is the last time we probed the condition. // +optional LastProbeTime metav1.Time `json:"lastProbeTime"` // LastTransitionTime is the last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime"` // Reason is a unique, one-word, CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason"` // Message is a human-readable message indicating details about last transition. // +optional Message string `json:"message"` }
AzureMachineProviderCondition is a condition in a AzureMachineProviderStatus
func (*AzureMachineProviderCondition) DeepCopy ¶
func (in *AzureMachineProviderCondition) DeepCopy() *AzureMachineProviderCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachineProviderCondition.
func (*AzureMachineProviderCondition) DeepCopyInto ¶
func (in *AzureMachineProviderCondition) DeepCopyInto(out *AzureMachineProviderCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureMachineProviderConditionType ¶
type AzureMachineProviderConditionType string
AzureMachineProviderConditionType is a valid value for AzureMachineProviderCondition.Type
const ( // MachineCreated indicates whether the machine has been created or not. If not, // it should include a reason and message for the failure. MachineCreated AzureMachineProviderConditionType = "MachineCreated" )
Valid conditions for an Azure machine instance
type AzureMachineProviderSpec ¶
type AzureMachineProviderSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Location string `json:"location"` VMSize string `json:"vmSize"` Image Image `json:"image"` OSDisk OSDisk `json:"osDisk"` SSHPublicKey string `json:"sshPublicKey"` }
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 +k8s:openapi-gen=true
func (*AzureMachineProviderSpec) DeepCopy ¶
func (in *AzureMachineProviderSpec) DeepCopy() *AzureMachineProviderSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachineProviderSpec.
func (*AzureMachineProviderSpec) DeepCopyInto ¶
func (in *AzureMachineProviderSpec) DeepCopyInto(out *AzureMachineProviderSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachineProviderSpec) DeepCopyObject ¶
func (in *AzureMachineProviderSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AzureMachineProviderStatus ¶
type AzureMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // VMID is the ID of the virtual machine created in Azure. // +optional VMID *string `json:"vmId,omitempty"` // VMState is the provisioning state of the Azure virtual machine. // +optional VMState *VMState `json:"vmState,omitempty"` // Conditions is a set of conditions associated with the Machine to indicate // errors or other status. // +optional Conditions []AzureMachineProviderCondition `json:"conditions,omitempty"` }
AzureMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains Azure-specific status information. +k8s:openapi-gen=true
func MachineStatusFromProviderStatus ¶
func MachineStatusFromProviderStatus(extension *runtime.RawExtension) (*AzureMachineProviderStatus, error)
MachineStatusFromProviderStatus unmarshals a raw extension into an Azure machine type
func (*AzureMachineProviderStatus) DeepCopy ¶
func (in *AzureMachineProviderStatus) DeepCopy() *AzureMachineProviderStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureMachineProviderStatus.
func (*AzureMachineProviderStatus) DeepCopyInto ¶
func (in *AzureMachineProviderStatus) DeepCopyInto(out *AzureMachineProviderStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureMachineProviderStatus) DeepCopyObject ¶
func (in *AzureMachineProviderStatus) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AzureResourceReference ¶
type AzureResourceReference struct { // ID of resource // +optional ID *string `json:"id,omitempty"` }
AzureResourceReference is a reference to a specific Azure resource by ID
func (*AzureResourceReference) DeepCopy ¶
func (in *AzureResourceReference) DeepCopy() *AzureResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureResourceReference.
func (*AzureResourceReference) DeepCopyInto ¶
func (in *AzureResourceReference) DeepCopyInto(out *AzureResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendPool ¶
func (*BackendPool) DeepCopy ¶
func (in *BackendPool) DeepCopy() *BackendPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendPool.
func (*BackendPool) DeepCopyInto ¶
func (in *BackendPool) DeepCopyInto(out *BackendPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FrontendIPConfig ¶
type FrontendIPConfig struct { }
func (*FrontendIPConfig) DeepCopy ¶
func (in *FrontendIPConfig) DeepCopy() *FrontendIPConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FrontendIPConfig.
func (*FrontendIPConfig) DeepCopyInto ¶
func (in *FrontendIPConfig) DeepCopyInto(out *FrontendIPConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { Publisher string `json:"publisher"` Offer string `json:"offer"` SKU string `json:"sku"` Version string `json:"version"` }
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressRule ¶
type IngressRule struct { Description string `json:"description"` Protocol SecurityGroupProtocol `json:"protocol"` // SourcePorts - The source port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. SourcePorts *string `json:"sourcePorts,omitempty"` // DestinationPorts - The destination port or range. Integer or range between 0 and 65535. Asterix '*' can also be used to match all ports. DestinationPorts *string `json:"destinationPorts,omitempty"` // Source - The CIDR or source IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If this is an ingress rule, specifies where network traffic originates from. Source *string `json:"source,omitempty"` // Destination - The destination address prefix. CIDR or destination IP range. Asterix '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. Destination *string `json:"destination,omitempty"` }
TODO IngressRule defines an Azure ingress rule for security groups.
func (*IngressRule) DeepCopy ¶
func (in *IngressRule) DeepCopy() *IngressRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRule.
func (*IngressRule) DeepCopyInto ¶
func (in *IngressRule) DeepCopyInto(out *IngressRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressRules ¶
type IngressRules []*IngressRule
TODO IngressRules is a slice of Azure ingress rules for security groups.
func (IngressRules) DeepCopy ¶
func (in IngressRules) DeepCopy() IngressRules
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressRules.
func (IngressRules) DeepCopyInto ¶
func (in IngressRules) DeepCopyInto(out *IngressRules)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KeyPair ¶
type KeyPair struct { // base64 encoded cert and key Cert []byte `json:"cert"` Key []byte `json:"key"` }
KeyPair is how operators can supply custom keypairs for kubeadm to use.
func (*KeyPair) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KeyPair.
func (*KeyPair) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KeyPair) HasCertAndKey ¶
HasCertAndKey returns whether a keypair contains cert and key of non-zero length.
type KubeadmConfiguration ¶
type KubeadmConfiguration struct { // JoinConfiguration is used to customize any kubeadm join configuration // parameters. Join kubeadmv1beta1.JoinConfiguration `json:"join,omitempty"` // InitConfiguration is used to customize any kubeadm init configuration // parameters. Init kubeadmv1beta1.InitConfiguration `json:"init,omitempty"` }
KubeadmConfiguration holds the various configurations that kubeadm uses.
func (*KubeadmConfiguration) DeepCopy ¶
func (in *KubeadmConfiguration) DeepCopy() *KubeadmConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmConfiguration.
func (*KubeadmConfiguration) DeepCopyInto ¶
func (in *KubeadmConfiguration) DeepCopyInto(out *KubeadmConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` SKU SKU `json:"sku,omitempty"` FrontendIPConfig FrontendIPConfig `json:"frontendIpConfig,omitempty"` BackendPool BackendPool `json:"backendPool,omitempty"` }
TODO LoadBalancer defines an Azure load balancer.
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerHealthCheck ¶
type LoadBalancerHealthCheck struct { Target string `json:"target"` Interval time.Duration `json:"interval"` Timeout time.Duration `json:"timeout"` HealthyThreshold int64 `json:"healthyThreshold"` UnhealthyThreshold int64 `json:"unhealthyThreshold"` }
TODO LoadBalancerHealthCheck defines an Azure load balancer health check.
func (*LoadBalancerHealthCheck) DeepCopy ¶
func (in *LoadBalancerHealthCheck) DeepCopy() *LoadBalancerHealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerHealthCheck.
func (*LoadBalancerHealthCheck) DeepCopyInto ¶
func (in *LoadBalancerHealthCheck) DeepCopyInto(out *LoadBalancerHealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerListener ¶
type LoadBalancerListener struct { Protocol LoadBalancerProtocol `json:"protocol"` Port int64 `json:"port"` InstanceProtocol LoadBalancerProtocol `json:"instanceProtocol"` InstancePort int64 `json:"instancePort"` }
TODO LoadBalancerListener defines an Azure load balancer listener.
func (*LoadBalancerListener) DeepCopy ¶
func (in *LoadBalancerListener) DeepCopy() *LoadBalancerListener
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerListener.
func (*LoadBalancerListener) DeepCopyInto ¶
func (in *LoadBalancerListener) DeepCopyInto(out *LoadBalancerListener)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerProtocol ¶
type LoadBalancerProtocol string
TODO LoadBalancerProtocol defines listener protocols for a load balancer.
type ManagedDisk ¶
type ManagedDisk struct {
StorageAccountType string `json:"storageAccountType"`
}
func (*ManagedDisk) DeepCopy ¶
func (in *ManagedDisk) DeepCopy() *ManagedDisk
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedDisk.
func (*ManagedDisk) DeepCopyInto ¶
func (in *ManagedDisk) DeepCopyInto(out *ManagedDisk)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { // SecurityGroups is a map from the role/kind of the security group to its unique name, if any. SecurityGroups map[SecurityGroupRole]*SecurityGroup `json:"securityGroups,omitempty"` // APIServerLB is the Kubernetes API server load balancer. APIServerLB LoadBalancer `json:"apiServerLb,omitempty"` // APIServerIP is the Kubernetes API server public IP address. APIServerIP PublicIP `json:"apiServerIp,omitempty"` }
Network encapsulates Azure networking resources.
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // Vnet configuration. // +optional Vnet VnetSpec `json:"vnet,omitempty"` // Subnets configuration. // +optional Subnets Subnets `json:"subnets,omitempty"` }
NetworkSpec encapsulates all things related to Azure network.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OSDisk ¶
type OSDisk struct { OSType string `json:"osType"` ManagedDisk ManagedDisk `json:"managedDisk"` DiskSizeGB int32 `json:"diskSizeGB"` }
func (*OSDisk) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSDisk.
func (*OSDisk) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PublicIP ¶
type PublicIP struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` IPAddress string `json:"ipAddress,omitempty"` DNSName string `json:"dnsName,omitempty"` }
PublicIP defines an Azure public IP address. TODO: Remove once load balancer is implemented.
func (*PublicIP) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicIP.
func (*PublicIP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSpec ¶ added in v0.2.0
type ResourceSpec interface{}
ResourceSpec defines a generic spec that can used to define Azure resources. TODO: ResourceSpec should be removed once concrete specs have been defined for all Azure resources in use.
type SecurityGroup ¶
type SecurityGroup struct { ID string `json:"id"` Name string `json:"name"` IngressRules IngressRules `json:"ingressRule"` }
SecurityGroup defines an Azure security group.
func (*SecurityGroup) DeepCopy ¶
func (in *SecurityGroup) DeepCopy() *SecurityGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroup.
func (*SecurityGroup) DeepCopyInto ¶
func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityGroupProtocol ¶
type SecurityGroupProtocol string
SecurityGroupProtocol defines the protocol type for a security group rule.
type SecurityGroupRole ¶
type SecurityGroupRole string
SecurityGroupRole defines the unique role of a security group.
type SubnetSpec ¶
type SubnetSpec struct { // ID defines a unique identifier to reference this resource. ID string `json:"id,omitempty"` // Name defines a name for the subnet resource. Name string `json:"name"` // VnetID defines the ID of the virtual network this subnet should be built in. VnetID string `json:"vnetId"` // CidrBlock is the CIDR block to be used when the provider creates a managed Vnet. CidrBlock string `json:"cidrBlock,omitempty"` // SecurityGroup defines the NSG (network security group) that should be attached to this subnet. SecurityGroup SecurityGroup `json:"securityGroup"` }
SubnetSpec configures an Azure subnet.
func (*SubnetSpec) DeepCopy ¶
func (in *SubnetSpec) DeepCopy() *SubnetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.
func (*SubnetSpec) DeepCopyInto ¶
func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subnets ¶
type Subnets []*SubnetSpec
Subnets is a slice of Subnet.
func (Subnets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (Subnets) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Subnets) ToMap ¶
func (s Subnets) ToMap() map[string]*SubnetSpec
TODO ToMap returns a map from id to subnet.
type VM ¶
type VM struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` // Hardware profile VMSize string `json:"vmSize,omitempty"` // Storage profile Image Image `json:"image,omitempty"` OSDisk OSDisk `json:"osDisk,omitempty"` StartupScript string `json:"startupScript,omitempty"` // State - The provisioning state, which only appears in the response. State VMState `json:"vmState,omitempty"` Identity VMIdentity `json:"identity,omitempty"` }
VM describes an Azure virtual machine.
func (*VM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VM.
func (*VM) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VMIdentity ¶
type VMIdentity string
VMIdentity defines the identity of the virtual machine, if configured.
type VnetSpec ¶
type VnetSpec struct { // ID is the identifier of the virtual network this provider should use to create resources. ID string `json:"id,omitempty"` // Name defines a name for the virtual network resource. Name string `json:"name"` // CidrBlock is the CIDR block to be used when the provider creates a managed virtual network. CidrBlock string `json:"cidrBlock,omitempty"` }
VnetSpec configures an Azure virtual network.
func (*VnetSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VnetSpec.
func (*VnetSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.