-
Notifications
You must be signed in to change notification settings - Fork 197
/
datafusioninstance_types.go
193 lines (154 loc) · 7.96 KB
/
datafusioninstance_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
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
// 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/clients/generated/apis/k8s/v1alpha1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
type InstanceNetworkConfig struct {
/* Immutable. The IP range in CIDR notation to use for the managed Data Fusion instance nodes. This range must not overlap with any other ranges used in the customer network. */
// +optional
IpAllocation *string `json:"ipAllocation,omitempty"`
/* Immutable. */
// +optional
NetworkRef *v1alpha1.ResourceRef `json:"networkRef,omitempty"`
}
type DataFusionInstanceSpec struct {
// +optional
DataprocServiceAccountRef *v1alpha1.ResourceRef `json:"dataprocServiceAccountRef,omitempty"`
/* Immutable. A description of this instance. */
// +optional
Description *string `json:"description,omitempty"`
/* Immutable. Display name for an instance. */
// +optional
DisplayName *string `json:"displayName,omitempty"`
/* Option to enable Stackdriver Logging. */
// +optional
EnableStackdriverLogging *bool `json:"enableStackdriverLogging,omitempty"`
/* Option to enable Stackdriver Monitoring. */
// +optional
EnableStackdriverMonitoring *bool `json:"enableStackdriverMonitoring,omitempty"`
/* Immutable. The location for the resource */
Location string `json:"location"`
/* Immutable. Network configuration options. These are required when a private Data Fusion instance is to be created. */
// +optional
NetworkConfig *InstanceNetworkConfig `json:"networkConfig,omitempty"`
/* Immutable. Map of additional options used to configure the behavior of Data Fusion instance. */
// +optional
Options map[string]string `json:"options,omitempty"`
/* Immutable. Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet. */
// +optional
PrivateInstance *bool `json:"privateInstance,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"`
/* Immutable. Required. Instance type. Possible values: TYPE_UNSPECIFIED, BASIC, ENTERPRISE, DEVELOPER */
Type string `json:"type"`
/* Current version of the Data Fusion. */
// +optional
Version *string `json:"version,omitempty"`
/* Immutable. Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field. */
// +optional
Zone *string `json:"zone,omitempty"`
}
type InstanceAvailableVersionStatus struct {
/* Represents a list of available feature names for a given version. */
// +optional
AvailableFeatures []string `json:"availableFeatures,omitempty"`
/* Whether this is currently the default version for Cloud Data Fusion */
// +optional
DefaultVersion *bool `json:"defaultVersion,omitempty"`
/* The version number of the Data Fusion instance, such as '6.0.1.0'. */
// +optional
VersionNumber *string `json:"versionNumber,omitempty"`
}
type DataFusionInstanceStatus struct {
/* Conditions represent the latest available observations of the
DataFusionInstance's current state. */
Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
/* Output only. Endpoint on which the REST APIs is accessible. */
// +optional
ApiEndpoint *string `json:"apiEndpoint,omitempty"`
/* Available versions that the instance can be upgraded to. */
// +optional
AvailableVersion []InstanceAvailableVersionStatus `json:"availableVersion,omitempty"`
/* Output only. The time the instance was created. */
// +optional
CreateTime *string `json:"createTime,omitempty"`
/* Output only. Cloud Storage bucket generated by Data Fusion in the customer project. */
// +optional
GcsBucket *string `json:"gcsBucket,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. */
// +optional
ObservedGeneration *int64 `json:"observedGeneration,omitempty"`
/* Output only. P4 service account for the customer project. */
// +optional
P4ServiceAccount *string `json:"p4ServiceAccount,omitempty"`
/* Output only. Endpoint on which the Data Fusion UI is accessible. */
// +optional
ServiceEndpoint *string `json:"serviceEndpoint,omitempty"`
/* Output only. The current state of this Data Fusion instance. Possible values: STATE_UNSPECIFIED, ENABLED, DISABLED, UNKNOWN */
// +optional
State *string `json:"state,omitempty"`
/* Output only. Additional information about the current state of this Data Fusion instance if available. */
// +optional
StateMessage *string `json:"stateMessage,omitempty"`
/* Output only. The name of the tenant project. */
// +optional
TenantProjectId *string `json:"tenantProjectId,omitempty"`
/* Output only. The time the instance was last updated. */
// +optional
UpdateTime *string `json:"updateTime,omitempty"`
}
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// +kubebuilder:resource:categories=gcp,shortName=gcpdatafusioninstance;gcpdatafusioninstances
// +kubebuilder:subresource:status
// +kubebuilder:metadata:labels="cnrm.cloud.google.com/dcl2crd=true";"cnrm.cloud.google.com/managed-by-kcc=true";"cnrm.cloud.google.com/stability-level=stable";"cnrm.cloud.google.com/system=true"
// +kubebuilder:printcolumn:name="Age",JSONPath=".metadata.creationTimestamp",type="date"
// +kubebuilder:printcolumn:name="Ready",JSONPath=".status.conditions[?(@.type=='Ready')].status",type="string",description="When 'True', the most recent reconcile of the resource succeeded"
// +kubebuilder:printcolumn:name="Status",JSONPath=".status.conditions[?(@.type=='Ready')].reason",type="string",description="The reason for the value in 'Ready'"
// +kubebuilder:printcolumn:name="Status Age",JSONPath=".status.conditions[?(@.type=='Ready')].lastTransitionTime",type="date",description="The last transition time for the value in 'Status'"
// DataFusionInstance is the Schema for the datafusion API
// +k8s:openapi-gen=true
type DataFusionInstance struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DataFusionInstanceSpec `json:"spec,omitempty"`
Status DataFusionInstanceStatus `json:"status,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// DataFusionInstanceList contains a list of DataFusionInstance
type DataFusionInstanceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DataFusionInstance `json:"items"`
}
func init() {
SchemeBuilder.Register(&DataFusionInstance{}, &DataFusionInstanceList{})
}