generated from crossplane/upjet-provider-template
/
zz_networkpeering_types.go
executable file
·143 lines (112 loc) · 7.59 KB
/
zz_networkpeering_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
/*
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 NetworkPeeringObservation struct {
// Whether to export the custom routes to the peer network. Defaults to false.
// Whether to export the custom routes to the peer network. Defaults to false.
ExportCustomRoutes *bool `json:"exportCustomRoutes,omitempty" tf:"export_custom_routes,omitempty"`
// Whether subnet routes with public IP range are exported. The default value is true, all subnet routes are exported. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and are not controlled by this field.
ExportSubnetRoutesWithPublicIP *bool `json:"exportSubnetRoutesWithPublicIp,omitempty" tf:"export_subnet_routes_with_public_ip,omitempty"`
// an identifier for the resource with format {{network}}/{{name}}
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// Whether to import the custom routes from the peer network. Defaults to false.
// Whether to export the custom routes from the peer network. Defaults to false.
ImportCustomRoutes *bool `json:"importCustomRoutes,omitempty" tf:"import_custom_routes,omitempty"`
// Whether subnet routes with public IP range are imported. The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field.
ImportSubnetRoutesWithPublicIP *bool `json:"importSubnetRoutesWithPublicIp,omitempty" tf:"import_subnet_routes_with_public_ip,omitempty"`
// The primary network of the peering.
// The primary network of the peering.
Network *string `json:"network,omitempty" tf:"network,omitempty"`
// The peer network in the peering. The peer network
// may belong to a different project.
// The peer network in the peering. The peer network may belong to a different project.
PeerNetwork *string `json:"peerNetwork,omitempty" tf:"peer_network,omitempty"`
// Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"].
// Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]
StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`
// State for the peering, either ACTIVE or INACTIVE. The peering is
// ACTIVE when there's a matching configuration in the peer network.
// State for the peering, either ACTIVE or INACTIVE. The peering is ACTIVE when there's a matching configuration in the peer network.
State *string `json:"state,omitempty" tf:"state,omitempty"`
// Details about the current state of the peering.
// Details about the current state of the peering.
StateDetails *string `json:"stateDetails,omitempty" tf:"state_details,omitempty"`
}
type NetworkPeeringParameters struct {
// Whether to export the custom routes to the peer network. Defaults to false.
// Whether to export the custom routes to the peer network. Defaults to false.
// +kubebuilder:validation:Optional
ExportCustomRoutes *bool `json:"exportCustomRoutes,omitempty" tf:"export_custom_routes,omitempty"`
// Whether subnet routes with public IP range are exported. The default value is true, all subnet routes are exported. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always exported to peers and are not controlled by this field.
// +kubebuilder:validation:Optional
ExportSubnetRoutesWithPublicIP *bool `json:"exportSubnetRoutesWithPublicIp,omitempty" tf:"export_subnet_routes_with_public_ip,omitempty"`
// Whether to import the custom routes from the peer network. Defaults to false.
// Whether to export the custom routes from the peer network. Defaults to false.
// +kubebuilder:validation:Optional
ImportCustomRoutes *bool `json:"importCustomRoutes,omitempty" tf:"import_custom_routes,omitempty"`
// Whether subnet routes with public IP range are imported. The default value is false. The IPv4 special-use ranges (https://en.wikipedia.org/wiki/IPv4#Special_addresses) are always imported from peers and are not controlled by this field.
// +kubebuilder:validation:Optional
ImportSubnetRoutesWithPublicIP *bool `json:"importSubnetRoutesWithPublicIp,omitempty" tf:"import_subnet_routes_with_public_ip,omitempty"`
// The primary network of the peering.
// The primary network of the peering.
// +kubebuilder:validation:Required
Network *string `json:"network" tf:"network,omitempty"`
// The peer network in the peering. The peer network
// may belong to a different project.
// The peer network in the peering. The peer network may belong to a different project.
// +kubebuilder:validation:Optional
PeerNetwork *string `json:"peerNetwork,omitempty" tf:"peer_network,omitempty"`
// Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"].
// Which IP version(s) of traffic and routes are allowed to be imported or exported between peer networks. The default value is IPV4_ONLY. Possible values: ["IPV4_ONLY", "IPV4_IPV6"]
// +kubebuilder:validation:Optional
StackType *string `json:"stackType,omitempty" tf:"stack_type,omitempty"`
}
// NetworkPeeringSpec defines the desired state of NetworkPeering
type NetworkPeeringSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider NetworkPeeringParameters `json:"forProvider"`
}
// NetworkPeeringStatus defines the observed state of NetworkPeering.
type NetworkPeeringStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider NetworkPeeringObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// NetworkPeering is the Schema for the NetworkPeerings API. Manages a network peering within GCE.
// +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,gcp}
type NetworkPeering struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
// +kubebuilder:validation:XValidation:rule="self.managementPolicy == 'ObserveOnly' || has(self.forProvider.peerNetwork)",message="peerNetwork is a required parameter"
Spec NetworkPeeringSpec `json:"spec"`
Status NetworkPeeringStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// NetworkPeeringList contains a list of NetworkPeerings
type NetworkPeeringList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NetworkPeering `json:"items"`
}
// Repository type metadata.
var (
NetworkPeering_Kind = "NetworkPeering"
NetworkPeering_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: NetworkPeering_Kind}.String()
NetworkPeering_KindAPIVersion = NetworkPeering_Kind + "." + CRDGroupVersion.String()
NetworkPeering_GroupVersionKind = CRDGroupVersion.WithKind(NetworkPeering_Kind)
)
func init() {
SchemeBuilder.Register(&NetworkPeering{}, &NetworkPeeringList{})
}