-
Notifications
You must be signed in to change notification settings - Fork 63
PublicIPAddress support #264
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -226,3 +226,105 @@ type SubnetList struct { | |
| metav1.ListMeta `json:"metadata,omitempty"` | ||
| Items []Subnet `json:"items"` | ||
| } | ||
|
|
||
| // A PublicIPAddressSpec defines the desired state of a PublicIPAddress. | ||
| type PublicIPAddressSpec struct { | ||
| xpv1.ResourceSpec `json:",inline"` | ||
| // +kubebuilder:validation:Required | ||
| ForProvider PublicIPAddressFormat `json:"properties"` | ||
| } | ||
|
|
||
| // PublicIPAddressFormat defines properties of the PublicIPAddress. | ||
| type PublicIPAddressFormat struct { | ||
| // ResourceGroupName - Name of the Public IP address's resource group. | ||
| // +immutable | ||
| ResourceGroupName string `json:"resourceGroupName,omitempty"` | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hi @vaspahomov, |
||
|
|
||
| // ResourceGroupNameRef - A reference to the the Public IP address's resource | ||
| // group. | ||
| // +immutable | ||
| // +optional | ||
| ResourceGroupNameRef *xpv1.Reference `json:"resourceGroupNameRef,omitempty"` | ||
|
vaspahomov marked this conversation as resolved.
|
||
|
|
||
| // ResourceGroupNameSelector - Select a reference to the Public IP address's | ||
| // resource group. | ||
| // +optional | ||
| ResourceGroupNameSelector *xpv1.Selector `json:"resourceGroupNameSelector,omitempty"` | ||
|
vaspahomov marked this conversation as resolved.
Outdated
|
||
|
|
||
| // PublicIPAllocationMethod - The public IP address allocation method. Possible values include: 'Static', 'Dynamic' | ||
| // +kubebuilder:validation:Required | ||
| // +kubebuilder:validation:Enum=Static;Dynamic | ||
| PublicIPAllocationMethod string `json:"allocationMethod"` | ||
|
vaspahomov marked this conversation as resolved.
|
||
|
|
||
| // PublicIPAllocationMethod - The public IP address version. Possible values include: 'IPV4', 'IPV6' | ||
| // +kubebuilder:validation:Required | ||
| // +kubebuilder:validation:Enum=IPV4;IPV6 | ||
| PublicIPAddressVersion string `json:"version"` | ||
|
vaspahomov marked this conversation as resolved.
|
||
|
|
||
| // Location - Resource location. | ||
| // +optional | ||
| Location *string `json:"location,omitempty"` | ||
|
|
||
| // SKU of PublicIPAddress | ||
| // +optional | ||
| SKU *SKU `json:"sku,omitempty"` | ||
|
|
||
| // Tags - Resource tags. | ||
| // +optional | ||
| Tags map[string]*string `json:"tags,omitempty"` | ||
| } | ||
|
|
||
| // SKU of PublicIPAddress | ||
| type SKU struct { | ||
| // Name - Name of sku. Possible values include: ['Standard', 'Basic'] | ||
| // +kubebuilder:validation:Enum=Standard;Basic | ||
| Name string `json:"name,omitempty"` | ||
| } | ||
|
|
||
| // A PublicIPAddressStatus represents the observed state of a PublicIPAddress. | ||
| type PublicIPAddressStatus struct { | ||
| xpv1.ResourceStatus `json:",inline"` | ||
|
|
||
| // State of this PublicIPAddress. | ||
| State string `json:"state,omitempty"` | ||
|
|
||
| // A Message providing detail about the state of this PublicIPAddress, if any. | ||
| Message string `json:"message,omitempty"` | ||
|
|
||
| // Etag - A unique string that changes whenever the resource is updated. | ||
| Etag string `json:"etag,omitempty"` | ||
|
|
||
| // ID of this PublicIPAddress. | ||
| ID string `json:"id,omitempty"` | ||
|
|
||
| // Address - A string identifying address of PublicIPAddress resource | ||
| Address string `json:"address"` | ||
| } | ||
|
|
||
| // +kubebuilder:object:root=true | ||
|
|
||
| // A PublicIPAddress is a managed resource that represents an Azure PublicIPAddress. | ||
| // +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" | ||
| // +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" | ||
| // +kubebuilder:printcolumn:name="STATE",type="string",JSONPath=".status.state" | ||
| // +kubebuilder:printcolumn:name="LOCATION",type="string",JSONPath=".spec.properties.location" | ||
| // +kubebuilder:printcolumn:name="ADDRESS",type="string",JSONPath=".status.address" | ||
| // +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" | ||
| // +kubebuilder:subresource:status | ||
| // +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,azure} | ||
| type PublicIPAddress struct { | ||
| metav1.TypeMeta `json:",inline"` | ||
| metav1.ObjectMeta `json:"metadata,omitempty"` | ||
|
|
||
| Spec PublicIPAddressSpec `json:"spec"` | ||
| Status PublicIPAddressStatus `json:"status,omitempty"` | ||
| } | ||
|
|
||
| // +kubebuilder:object:root=true | ||
|
|
||
| // PublicIPAddressList contains a list of PublicIPAddress items | ||
| type PublicIPAddressList struct { | ||
| metav1.TypeMeta `json:",inline"` | ||
| metav1.ListMeta `json:"metadata,omitempty"` | ||
| Items []PublicIPAddress `json:"items"` | ||
| } | ||
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Uh oh!
There was an error while loading. Please reload this page.