-
Notifications
You must be signed in to change notification settings - Fork 59
/
zz_connection_types.go
executable file
·120 lines (95 loc) · 4.9 KB
/
zz_connection_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
/*
Copyright 2021 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Code generated by upjet. DO NOT EDIT.
package v1beta1
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 ConnectionObservation struct {
ID *string `json:"id,omitempty" tf:"id,omitempty"`
// (Computed) The name of the VPC Network Peering connection that was created by the service producer.
Peering *string `json:"peering,omitempty" tf:"peering,omitempty"`
}
type ConnectionParameters struct {
// Name of VPC network connected with service producers using VPC peering.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.Network
// +crossplane:generate:reference:extractor=github.com/upbound/upjet/pkg/resource.ExtractResourceID()
// +kubebuilder:validation:Optional
Network *string `json:"network,omitempty" tf:"network,omitempty"`
// Reference to a Network in compute to populate network.
// +kubebuilder:validation:Optional
NetworkRef *v1.Reference `json:"networkRef,omitempty" tf:"-"`
// Selector for a Network in compute to populate network.
// +kubebuilder:validation:Optional
NetworkSelector *v1.Selector `json:"networkSelector,omitempty" tf:"-"`
// Named IP address range(s) of PEERING type reserved for
// this service provider. Note that invoking this method with a different range when connection
// is already established will not reallocate already provisioned service producer subnetworks.
// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/compute/v1beta1.GlobalAddress
// +kubebuilder:validation:Optional
ReservedPeeringRanges []*string `json:"reservedPeeringRanges,omitempty" tf:"reserved_peering_ranges,omitempty"`
// References to GlobalAddress in compute to populate reservedPeeringRanges.
// +kubebuilder:validation:Optional
ReservedPeeringRangesRefs []v1.Reference `json:"reservedPeeringRangesRefs,omitempty" tf:"-"`
// Selector for a list of GlobalAddress in compute to populate reservedPeeringRanges.
// +kubebuilder:validation:Optional
ReservedPeeringRangesSelector *v1.Selector `json:"reservedPeeringRangesSelector,omitempty" tf:"-"`
// Provider peering service that is managing peering connectivity for a
// service provider organization. For Google services that support this functionality it is
// 'servicenetworking.googleapis.com'.
// +kubebuilder:validation:Required
Service *string `json:"service" tf:"service,omitempty"`
}
// ConnectionSpec defines the desired state of Connection
type ConnectionSpec struct {
v1.ResourceSpec `json:",inline"`
ForProvider ConnectionParameters `json:"forProvider"`
}
// ConnectionStatus defines the observed state of Connection.
type ConnectionStatus struct {
v1.ResourceStatus `json:",inline"`
AtProvider ConnectionObservation `json:"atProvider,omitempty"`
}
// +kubebuilder:object:root=true
// Connection is the Schema for the Connections API. Manages creating a private VPC connection to a service provider.
// +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 Connection struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ConnectionSpec `json:"spec"`
Status ConnectionStatus `json:"status,omitempty"`
}
// +kubebuilder:object:root=true
// ConnectionList contains a list of Connections
type ConnectionList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Connection `json:"items"`
}
// Repository type metadata.
var (
Connection_Kind = "Connection"
Connection_GroupKind = schema.GroupKind{Group: CRDGroup, Kind: Connection_Kind}.String()
Connection_KindAPIVersion = Connection_Kind + "." + CRDGroupVersion.String()
Connection_GroupVersionKind = CRDGroupVersion.WithKind(Connection_Kind)
)
func init() {
SchemeBuilder.Register(&Connection{}, &ConnectionList{})
}