generated from crossplane/upjet-provider-template
/
zz_site_types.go
executable file
·157 lines (111 loc) · 5.38 KB
/
zz_site_types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
/*
Copyright 2022 Upbound Inc.
*/
// Code generated by upjet. DO NOT EDIT.
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
v1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
)
type SiteObservation struct {
AsnIds []*float64 `json:"asnIds,omitempty" tf:"asn_ids,omitempty"`
CustomFields map[string]*string `json:"customFields,omitempty" tf:"custom_fields,omitempty"`
Description *string `json:"description,omitempty" tf:"description,omitempty"`
Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`
GroupID *float64 `json:"groupId,omitempty" tf:"group_id,omitempty"`
ID *string `json:"id,omitempty" tf:"id,omitempty"`
Latitude *float64 `json:"latitude,omitempty" tf:"latitude,omitempty"`
Longitude *float64 `json:"longitude,omitempty" tf:"longitude,omitempty"`
PhysicalAddress *string `json:"physicalAddress,omitempty" tf:"physical_address,omitempty"`
RegionID *float64 `json:"regionId,omitempty" tf:"region_id,omitempty"`
ShippingAddress *string `json:"shippingAddress,omitempty" tf:"shipping_address,omitempty"`
Slug *string `json:"slug,omitempty" tf:"slug,omitempty"`
// Defaults to `active`.
Status *string `json:"status,omitempty" tf:"status,omitempty"`
Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
TenantID *float64 `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`
}
type SiteParameters struct {
// +kubebuilder:validation:Optional
AsnIds []*float64 `json:"asnIds,omitempty" tf:"asn_ids,omitempty"`
// +kubebuilder:validation:Optional
CustomFields map[string]*string `json:"customFields,omitempty" tf:"custom_fields,omitempty"`
// +kubebuilder:validation:Optional
Description *string `json:"description,omitempty" tf:"description,omitempty"`
// +kubebuilder:validation:Optional
Facility *string `json:"facility,omitempty" tf:"facility,omitempty"`
// +kubebuilder:validation:Optional
GroupID *float64 `json:"groupId,omitempty" tf:"group_id,omitempty"`
// +kubebuilder:validation:Optional
Latitude *float64 `json:"latitude,omitempty" tf:"latitude,omitempty"`
// +kubebuilder:validation:Optional
Longitude *float64 `json:"longitude,omitempty" tf:"longitude,omitempty"`
// +kubebuilder:validation:Optional
PhysicalAddress *string `json:"physicalAddress,omitempty" tf:"physical_address,omitempty"`
// +kubebuilder:validation:Optional
RegionID *float64 `json:"regionId,omitempty" tf:"region_id,omitempty"`
// +kubebuilder:validation:Optional
ShippingAddress *string `json:"shippingAddress,omitempty" tf:"shipping_address,omitempty"`
// +kubebuilder:validation:Optional
Slug *string `json:"slug,omitempty" tf:"slug,omitempty"`
// Defaults to `active`.
// +kubebuilder:validation:Optional
Status *string `json:"status,omitempty" tf:"status,omitempty"`
// +kubebuilder:validation:Optional
Tags []*string `json:"tags,omitempty" tf:"tags,omitempty"`
// +crossplane:generate:reference:type=github.com/fire-ant/provider-netbox/apis/tenant/v1alpha1.Tenant
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
TenantID *float64 `json:"tenantId,omitempty" tf:"tenant_id,omitempty"`
// Reference to a Tenant in tenant to populate tenantId.
// +kubebuilder:validation:Optional
TenantIDRef *v1.Reference `json:"tenantIdRef,omitempty" tf:"-"`
// Selector for a Tenant in tenant to populate tenantId.
// +kubebuilder:validation:Optional
TenantIDSelector *v1.Selector `json:"tenantIdSelector,omitempty" tf:"-"`
// +kubebuilder:validation:Optional
Timezone *string `json:"timezone,omitempty" tf:"timezone,omitempty"`
}
// SiteSpec defines the desired state of Site
type SiteSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider SiteParameters `json:"forProvider"`
}
// SiteStatus defines the observed state of Site.
type SiteStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider SiteObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Site is the Schema for the Sites API. <no value>
// +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="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name"
// +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
// +kubebuilder:subresource:status
// +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,netbox}
type Site struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SiteSpec `json:"spec"`
Status SiteStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// SiteList contains a list of Sites
type SiteList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Site `json:"items"`
}
// Repository type metadata.
var (
Site_Kind = "Site"
Site_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Site_Kind}.String()
Site_KindAPIVersion = Site_Kind + "." + CRDGroupVersion.String()
Site_GroupVersionKind = CRDGroupVersion.WithKind(Site_Kind)
)
func init() {
SchemeBuilder.Register(&Site{}, &SiteList{})
}