-
Notifications
You must be signed in to change notification settings - Fork 202
/
bigquerydataset_types.go
225 lines (179 loc) · 8.76 KB
/
bigquerydataset_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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
// 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 DatasetAccess struct {
/* A domain to grant access to. Any users signed in with the
domain specified will be granted the specified access */
// +optional
Domain *string `json:"domain,omitempty"`
/* An email address of a Google Group to grant access to. */
// +optional
GroupByEmail *string `json:"groupByEmail,omitempty"`
/* Describes the rights granted to the user specified by the other
member of the access object. Basic, predefined, and custom roles
are supported. Predefined roles that have equivalent basic roles
are swapped by the API to their basic counterparts. See
[official docs](https://cloud.google.com/bigquery/docs/access-control). */
// +optional
Role *string `json:"role,omitempty"`
/* A special group to grant access to. Possible values include:
* 'projectOwners': Owners of the enclosing project.
* 'projectReaders': Readers of the enclosing project.
* 'projectWriters': Writers of the enclosing project.
* 'allAuthenticatedUsers': All authenticated BigQuery users. */
// +optional
SpecialGroup *string `json:"specialGroup,omitempty"`
/* An email address of a user to grant access to. For example:
fred@example.com */
// +optional
UserByEmail *string `json:"userByEmail,omitempty"`
/* A view from a different dataset to grant access to. Queries
executed against that view will have read access to tables in
this dataset. The role field is not required when this field is
set. If that view is updated by any user, access to the view
needs to be granted again via an update operation. */
// +optional
View *DatasetView `json:"view,omitempty"`
}
type DatasetDefaultEncryptionConfiguration struct {
/* Describes the Cloud KMS encryption key that will be used to protect destination
BigQuery table. The BigQuery Service Account associated with your project requires
access to this encryption key. */
KmsKeyRef v1alpha1.ResourceRef `json:"kmsKeyRef"`
}
type DatasetView struct {
/* The ID of the dataset containing this table. */
DatasetId string `json:"datasetId"`
/* The ID of the project containing this table. */
ProjectId string `json:"projectId"`
/* The ID of the table. The ID must contain only letters (a-z,
A-Z), numbers (0-9), or underscores (_). The maximum length
is 1,024 characters. */
TableId string `json:"tableId"`
}
type BigQueryDatasetSpec struct {
/* An array of objects that define dataset access for one or more entities. */
// +optional
Access []DatasetAccess `json:"access,omitempty"`
/* The default encryption key for all tables in the dataset. Once this property is set,
all newly-created partitioned tables in the dataset will have encryption key set to
this value, unless table creation request (or query) overrides the key. */
// +optional
DefaultEncryptionConfiguration *DatasetDefaultEncryptionConfiguration `json:"defaultEncryptionConfiguration,omitempty"`
/* The default partition expiration for all partitioned tables in
the dataset, in milliseconds.
Once this property is set, all newly-created partitioned tables in
the dataset will have an 'expirationMs' property in the 'timePartitioning'
settings set to this value, and changing the value will only
affect new tables, not existing ones. The storage in a partition will
have an expiration time of its partition time plus this value.
Setting this property overrides the use of 'defaultTableExpirationMs'
for partitioned tables: only one of 'defaultTableExpirationMs' and
'defaultPartitionExpirationMs' will be used for any new partitioned
table. If you provide an explicit 'timePartitioning.expirationMs' when
creating or updating a partitioned table, that value takes precedence
over the default partition expiration time indicated by this property. */
// +optional
DefaultPartitionExpirationMs *int `json:"defaultPartitionExpirationMs,omitempty"`
/* The default lifetime of all tables in the dataset, in milliseconds.
The minimum value is 3600000 milliseconds (one hour).
Once this property is set, all newly-created tables in the dataset
will have an 'expirationTime' property set to the creation time plus
the value in this property, and changing the value will only affect
new tables, not existing ones. When the 'expirationTime' for a given
table is reached, that table will be deleted automatically.
If a table's 'expirationTime' is modified or removed before the
table expires, or if you provide an explicit 'expirationTime' when
creating a table, that value takes precedence over the default
expiration time indicated by this property. */
// +optional
DefaultTableExpirationMs *int `json:"defaultTableExpirationMs,omitempty"`
/* A user-friendly description of the dataset */
// +optional
Description *string `json:"description,omitempty"`
/* A descriptive name for the dataset */
// +optional
FriendlyName *string `json:"friendlyName,omitempty"`
/* Immutable. The geographic location where the dataset should reside.
See [official docs](https://cloud.google.com/bigquery/docs/dataset-locations).
There are two types of locations, regional or multi-regional. A regional
location is a specific geographic place, such as Tokyo, and a multi-regional
location is a large geographic area, such as the United States, that
contains at least two geographic places.
The default value is multi-regional location 'US'.
Changing this forces a new resource to be created. */
// +optional
Location *string `json:"location,omitempty"`
/* The project that this resource belongs to. */
// +optional
ProjectRef *v1alpha1.ResourceRef `json:"projectRef,omitempty"`
/* Immutable. Optional. The datasetId 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"`
}
type BigQueryDatasetStatus struct {
/* Conditions represent the latest available observations of the
BigQueryDataset's current state. */
Conditions []v1alpha1.Condition `json:"conditions,omitempty"`
/* The time when this dataset was created, in milliseconds since the
epoch. */
CreationTime int `json:"creationTime,omitempty"`
/* A hash of the resource. */
Etag string `json:"etag,omitempty"`
/* The date when this dataset or any of its tables was last modified, in
milliseconds since the epoch. */
LastModifiedTime int `json:"lastModifiedTime,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"`
}
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// BigQueryDataset is the Schema for the bigquery API
// +k8s:openapi-gen=true
type BigQueryDataset struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BigQueryDatasetSpec `json:"spec,omitempty"`
Status BigQueryDatasetStatus `json:"status,omitempty"`
}
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
// BigQueryDatasetList contains a list of BigQueryDataset
type BigQueryDatasetList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []BigQueryDataset `json:"items"`
}
func init() {
SchemeBuilder.Register(&BigQueryDataset{}, &BigQueryDatasetList{})
}