-
Notifications
You must be signed in to change notification settings - Fork 202
/
computevpntunnel_types.go
174 lines (145 loc) · 6.88 KB
/
computevpntunnel_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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
// Copyright 2020 Google LLC
//
// 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.
// ----------------------------------------------------------------------------
//
// *** AUTO GENERATED CODE *** AUTO GENERATED CODE ***
//
// ----------------------------------------------------------------------------
//
// This file is automatically generated by Config Connector and manual
// changes will be clobbered when the file is regenerated.
//
// ----------------------------------------------------------------------------
// *** DISCLAIMER ***
// Config Connector's go-client for CRDs is currently in ALPHA, which means
// that future versions of the go-client may include breaking changes.
// Please try it out and give us feedback!
package v1beta1
import (
"github.com/GoogleCloudPlatform/k8s-config-connector/pkg/apis/k8s/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
type VpntunnelSharedSecret struct {
/* Value of the field. Cannot be used if 'valueFrom' is specified. */
// +optional
Value *string `json:"value,omitempty"`
/* Source for the field's value. Cannot be used if 'value' is specified. */
// +optional
ValueFrom *VpntunnelValueFrom `json:"valueFrom,omitempty"`
}
type VpntunnelValueFrom struct {
/* Reference to a value with the given key in the given Secret in the resource's namespace. */
// +optional
SecretKeyRef *v1alpha1.ResourceRef `json:"secretKeyRef,omitempty"`
}
type ComputeVPNTunnelSpec struct {
/* Immutable. An optional description of this resource. */
// +optional
Description *string `json:"description,omitempty"`
/* Immutable. IKE protocol version to use when establishing the VPN tunnel with
peer VPN gateway.
Acceptable IKE versions are 1 or 2. Default version is 2. */
// +optional
IkeVersion *int `json:"ikeVersion,omitempty"`
/* Immutable. Local traffic selector to use when establishing the VPN tunnel with
peer VPN gateway. The value should be a CIDR formatted string,
for example '192.168.0.0/16'. The ranges should be disjoint.
Only IPv4 is supported. */
// +optional
LocalTrafficSelector []string `json:"localTrafficSelector,omitempty"`
/* Immutable. The interface ID of the external VPN gateway to which this VPN tunnel is connected. */
// +optional
PeerExternalGatewayInterface *int `json:"peerExternalGatewayInterface,omitempty"`
/* The peer side external VPN gateway to which this VPN tunnel
is connected. */
// +optional
PeerExternalGatewayRef *v1alpha1.ResourceRef `json:"peerExternalGatewayRef,omitempty"`
/* The peer side HA GCP VPN gateway to which this VPN tunnel is
connected. If provided, the VPN tunnel will automatically use the
same VPN gateway interface ID in the peer GCP VPN gateway. */
// +optional
PeerGCPGatewayRef *v1alpha1.ResourceRef `json:"peerGCPGatewayRef,omitempty"`
/* Immutable. IP address of the peer VPN gateway. Only IPv4 is supported. */
// +optional
PeerIp *string `json:"peerIp,omitempty"`
/* Immutable. The region where the tunnel is located. If unset, is set to the region of 'target_vpn_gateway'. */
Region string `json:"region"`
/* Immutable. Remote traffic selector to use when establishing the VPN tunnel with
peer VPN gateway. The value should be a CIDR formatted string,
for example '192.168.0.0/16'. The ranges should be disjoint.
Only IPv4 is supported. */
// +optional
RemoteTrafficSelector []string `json:"remoteTrafficSelector,omitempty"`
/* Immutable. Optional. The name of the resource. Used for creation and acquisition. When unset, the value of `metadata.name` is used as the default. */
// +optional
ResourceID *string `json:"resourceID,omitempty"`
/* The router to be used for dynamic routing. */
// +optional
RouterRef *v1alpha1.ResourceRef `json:"routerRef,omitempty"`
/* Immutable. Shared secret used to set the secure session between the Cloud VPN
gateway and the peer VPN gateway. */
SharedSecret VpntunnelSharedSecret `json:"sharedSecret"`
/* The ComputeTargetVPNGateway with which this VPN tunnel is
associated. */
// +optional
TargetVPNGatewayRef *v1alpha1.ResourceRef `json:"targetVPNGatewayRef,omitempty"`
/* Immutable. The interface ID of the VPN gateway with which this VPN tunnel is associated. */
// +optional
VpnGatewayInterface *int `json:"vpnGatewayInterface,omitempty"`
/* The ComputeVPNGateway with which this VPN tunnel is associated.
This must be used if a High Availability VPN gateway resource is
created. */
// +optional
VpnGatewayRef *v1alpha1.ResourceRef `json:"vpnGatewayRef,omitempty"`
}
type ComputeVPNTunnelStatus struct {
/* Conditions represent the latest available observations of the
ComputeVPNTunnel's current state. */
Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
/* Creation timestamp in RFC3339 text format. */
CreationTimestamp string `json:"creationTimestamp,omitempty"`
/* Detailed status message for the VPN tunnel. */
DetailedStatus string `json:"detailedStatus,omitempty"`
/* The fingerprint used for optimistic locking of this resource. Used
internally during updates. */
LabelFingerprint string `json:"labelFingerprint,omitempty"`
/* ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource. */
ObservedGeneration int `json:"observedGeneration,omitempty"`
/* */
SelfLink string `json:"selfLink,omitempty"`
/* Hash of the shared secret. */
SharedSecretHash string `json:"sharedSecretHash,omitempty"`
/* The unique identifier for the resource. This identifier is defined by the server. */
TunnelId string `json:"tunnelId,omitempty"`
}
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ComputeVPNTunnel is the Schema for the compute API
// +k8s:openapi-gen=true
type ComputeVPNTunnel struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ComputeVPNTunnelSpec `json:"spec,omitempty"`
Status ComputeVPNTunnelStatus `json:"status,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// ComputeVPNTunnelList contains a list of ComputeVPNTunnel
type ComputeVPNTunnelList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ComputeVPNTunnel `json:"items"`
}
func init() {
SchemeBuilder.Register(&ComputeVPNTunnel{}, &ComputeVPNTunnelList{})
}