google-cloud-data_catalog-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +203 -0
  5. data/README.md +24 -0
  6. data/lib/google-cloud-data_catalog-v1.rb +1 -0
  7. data/lib/google/cloud/common_resources_pb.rb +15 -0
  8. data/lib/google/cloud/data_catalog/v1.rb +19 -0
  9. data/lib/google/cloud/data_catalog/v1/data_catalog.rb +20 -0
  10. data/lib/google/cloud/data_catalog/v1/data_catalog/client.rb +2639 -0
  11. data/lib/google/cloud/data_catalog/v1/data_catalog/credentials.rb +51 -0
  12. data/lib/google/cloud/data_catalog/v1/data_catalog/paths.rb +136 -0
  13. data/lib/google/cloud/data_catalog/v1/version.rb +28 -0
  14. data/lib/google/cloud/datacatalog/v1/common_pb.rb +24 -0
  15. data/lib/google/cloud/datacatalog/v1/datacatalog_pb.rb +226 -0
  16. data/lib/google/cloud/datacatalog/v1/datacatalog_services_pb.rb +222 -0
  17. data/lib/google/cloud/datacatalog/v1/gcs_fileset_spec_pb.rb +31 -0
  18. data/lib/google/cloud/datacatalog/v1/schema_pb.rb +31 -0
  19. data/lib/google/cloud/datacatalog/v1/search_pb.rb +39 -0
  20. data/lib/google/cloud/datacatalog/v1/table_spec_pb.rb +48 -0
  21. data/lib/google/cloud/datacatalog/v1/tags_pb.rb +84 -0
  22. data/lib/google/cloud/datacatalog/v1/timestamps_pb.rb +26 -0
  23. data/proto_docs/README.md +4 -0
  24. data/proto_docs/google/api/field_behavior.rb +59 -0
  25. data/proto_docs/google/api/resource.rb +247 -0
  26. data/proto_docs/google/cloud/datacatalog/v1/common.rb +39 -0
  27. data/proto_docs/google/cloud/datacatalog/v1/datacatalog.rb +748 -0
  28. data/proto_docs/google/cloud/datacatalog/v1/gcs_fileset_spec.rb +79 -0
  29. data/proto_docs/google/cloud/datacatalog/v1/schema.rb +60 -0
  30. data/proto_docs/google/cloud/datacatalog/v1/search.rb +80 -0
  31. data/proto_docs/google/cloud/datacatalog/v1/table_spec.rb +98 -0
  32. data/proto_docs/google/cloud/datacatalog/v1/tags.rb +238 -0
  33. data/proto_docs/google/cloud/datacatalog/v1/timestamps.rb +42 -0
  34. data/proto_docs/google/iam/v1/iam_policy.rb +79 -0
  35. data/proto_docs/google/iam/v1/policy.rb +156 -0
  36. data/proto_docs/google/protobuf/empty.rb +36 -0
  37. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  38. data/proto_docs/google/protobuf/timestamp.rb +120 -0
  39. metadata +207 -0
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # Describes a Cloud Storage fileset entry.
25
+ # @!attribute [rw] file_patterns
26
+ # @return [Array<String>]
27
+ # Required. Patterns to identify a set of files in Google Cloud Storage. See [Cloud
28
+ # Storage documentation](/storage/docs/gsutil/addlhelp/WildcardNames) for
29
+ # more information. Note that bucket wildcards are currently not supported.
30
+ #
31
+ # Examples of valid file_patterns:
32
+ #
33
+ # * `gs://bucket_name/dir/*`: matches all files within `bucket_name/dir`
34
+ # directory.
35
+ # * `gs://bucket_name/dir/**`: matches all files in `bucket_name/dir`
36
+ # spanning all subdirectories.
37
+ # * `gs://bucket_name/file*`: matches files prefixed by `file` in
38
+ # `bucket_name`
39
+ # * `gs://bucket_name/??.txt`: matches files with two characters followed by
40
+ # `.txt` in `bucket_name`
41
+ # * `gs://bucket_name/[aeiou].txt`: matches files that contain a single
42
+ # vowel character followed by `.txt` in
43
+ # `bucket_name`
44
+ # * `gs://bucket_name/[a-m].txt`: matches files that contain `a`, `b`, ...
45
+ # or `m` followed by `.txt` in `bucket_name`
46
+ # * `gs://bucket_name/a/*/b`: matches all files in `bucket_name` that match
47
+ # `a/*/b` pattern, such as `a/c/b`, `a/d/b`
48
+ # * `gs://another_bucket/a.txt`: matches `gs://another_bucket/a.txt`
49
+ #
50
+ # You can combine wildcards to provide more powerful matches, for example:
51
+ #
52
+ # * `gs://bucket_name/[a-m]??.j*g`
53
+ # @!attribute [r] sample_gcs_file_specs
54
+ # @return [Array<Google::Cloud::DataCatalog::V1::GcsFileSpec>]
55
+ # Output only. Sample files contained in this fileset, not all files
56
+ # contained in this fileset are represented here.
57
+ class GcsFilesetSpec
58
+ include Google::Protobuf::MessageExts
59
+ extend Google::Protobuf::MessageExts::ClassMethods
60
+ end
61
+
62
+ # Specifications of a single file in Cloud Storage.
63
+ # @!attribute [rw] file_path
64
+ # @return [String]
65
+ # Required. The full file path. Example: `gs://bucket_name/a/b.txt`.
66
+ # @!attribute [r] gcs_timestamps
67
+ # @return [Google::Cloud::DataCatalog::V1::SystemTimestamps]
68
+ # Output only. Timestamps about the Cloud Storage file.
69
+ # @!attribute [r] size_bytes
70
+ # @return [Integer]
71
+ # Output only. The size of the file, in bytes.
72
+ class GcsFileSpec
73
+ include Google::Protobuf::MessageExts
74
+ extend Google::Protobuf::MessageExts::ClassMethods
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # Represents a schema (e.g. BigQuery, GoogleSQL, Avro schema).
25
+ # @!attribute [rw] columns
26
+ # @return [Array<Google::Cloud::DataCatalog::V1::ColumnSchema>]
27
+ # Required. Schema of columns. A maximum of 10,000 columns and sub-columns can be
28
+ # specified.
29
+ class Schema
30
+ include Google::Protobuf::MessageExts
31
+ extend Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # Representation of a column within a schema. Columns could be nested inside
35
+ # other columns.
36
+ # @!attribute [rw] column
37
+ # @return [String]
38
+ # Required. Name of the column.
39
+ # @!attribute [rw] type
40
+ # @return [String]
41
+ # Required. Type of the column.
42
+ # @!attribute [rw] description
43
+ # @return [String]
44
+ # Optional. Description of the column. Default value is an empty string.
45
+ # @!attribute [rw] mode
46
+ # @return [String]
47
+ # Optional. A column's mode indicates whether the values in this column are required,
48
+ # nullable, etc. Only `NULLABLE`, `REQUIRED` and `REPEATED` are supported.
49
+ # Default mode is `NULLABLE`.
50
+ # @!attribute [rw] subcolumns
51
+ # @return [Array<Google::Cloud::DataCatalog::V1::ColumnSchema>]
52
+ # Optional. Schema of sub-columns. A column can have zero or more sub-columns.
53
+ class ColumnSchema
54
+ include Google::Protobuf::MessageExts
55
+ extend Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # A result that appears in the response of a search request. Each result
25
+ # captures details of one entry that matches the search.
26
+ # @!attribute [rw] search_result_type
27
+ # @return [Google::Cloud::DataCatalog::V1::SearchResultType]
28
+ # Type of the search result. This field can be used to determine which Get
29
+ # method to call to fetch the full resource.
30
+ # @!attribute [rw] search_result_subtype
31
+ # @return [String]
32
+ # Sub-type of the search result. This is a dot-delimited description of the
33
+ # resource's full type, and is the same as the value callers would provide in
34
+ # the "type" search facet. Examples: `entry.table`, `entry.dataStream`,
35
+ # `tagTemplate`.
36
+ # @!attribute [rw] relative_resource_name
37
+ # @return [String]
38
+ # The relative resource name of the resource in URL format.
39
+ # Examples:
40
+ #
41
+ # * `projects/{project_id}/locations/{location_id}/entryGroups/{entry_group_id}/entries/{entry_id}`
42
+ # * `projects/{project_id}/tagTemplates/{tag_template_id}`
43
+ # @!attribute [rw] linked_resource
44
+ # @return [String]
45
+ # The full name of the cloud resource the entry belongs to. See:
46
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name.
47
+ # Example:
48
+ #
49
+ # * `//bigquery.googleapis.com/projects/projectId/datasets/datasetId/tables/tableId`
50
+ # @!attribute [r] integrated_system
51
+ # @return [Google::Cloud::DataCatalog::V1::IntegratedSystem]
52
+ # Output only. This field indicates the entry's source system that Data Catalog
53
+ # integrates with, such as BigQuery or Cloud Pub/Sub.
54
+ # @!attribute [rw] user_specified_system
55
+ # @return [String]
56
+ # This field indicates the entry's source system that Data Catalog does not
57
+ # integrate with.
58
+ class SearchCatalogResult
59
+ include Google::Protobuf::MessageExts
60
+ extend Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+
63
+ # The different types of resources that can be returned in search.
64
+ module SearchResultType
65
+ # Default unknown type.
66
+ SEARCH_RESULT_TYPE_UNSPECIFIED = 0
67
+
68
+ # An {Google::Cloud::DataCatalog::V1::Entry Entry}.
69
+ ENTRY = 1
70
+
71
+ # A {Google::Cloud::DataCatalog::V1::TagTemplate TagTemplate}.
72
+ TAG_TEMPLATE = 2
73
+
74
+ # An {Google::Cloud::DataCatalog::V1::EntryGroup EntryGroup}.
75
+ ENTRY_GROUP = 3
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,98 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # Describes a BigQuery table.
25
+ # @!attribute [r] table_source_type
26
+ # @return [Google::Cloud::DataCatalog::V1::TableSourceType]
27
+ # Output only. The table source type.
28
+ # @!attribute [rw] view_spec
29
+ # @return [Google::Cloud::DataCatalog::V1::ViewSpec]
30
+ # Table view specification. This field should only be populated if
31
+ # `table_source_type` is `BIGQUERY_VIEW`.
32
+ # @!attribute [rw] table_spec
33
+ # @return [Google::Cloud::DataCatalog::V1::TableSpec]
34
+ # Spec of a BigQuery table. This field should only be populated if
35
+ # `table_source_type` is `BIGQUERY_TABLE`.
36
+ class BigQueryTableSpec
37
+ include Google::Protobuf::MessageExts
38
+ extend Google::Protobuf::MessageExts::ClassMethods
39
+ end
40
+
41
+ # Table view specification.
42
+ # @!attribute [r] view_query
43
+ # @return [String]
44
+ # Output only. The query that defines the table view.
45
+ class ViewSpec
46
+ include Google::Protobuf::MessageExts
47
+ extend Google::Protobuf::MessageExts::ClassMethods
48
+ end
49
+
50
+ # Normal BigQuery table spec.
51
+ # @!attribute [r] grouped_entry
52
+ # @return [String]
53
+ # Output only. If the table is a dated shard, i.e., with name pattern `[prefix]YYYYMMDD`,
54
+ # `grouped_entry` is the Data Catalog resource name of the date sharded
55
+ # grouped entry, for example,
56
+ # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
57
+ # Otherwise, `grouped_entry` is empty.
58
+ class TableSpec
59
+ include Google::Protobuf::MessageExts
60
+ extend Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+
63
+ # Spec for a group of BigQuery tables with name pattern `[prefix]YYYYMMDD`.
64
+ # Context:
65
+ # https://cloud.google.com/bigquery/docs/partitioned-tables#partitioning_versus_sharding
66
+ # @!attribute [r] dataset
67
+ # @return [String]
68
+ # Output only. The Data Catalog resource name of the dataset entry the current table
69
+ # belongs to, for example,
70
+ # `projects/{project_id}/locations/{location}/entrygroups/{entry_group_id}/entries/{entry_id}`.
71
+ # @!attribute [r] table_prefix
72
+ # @return [String]
73
+ # Output only. The table name prefix of the shards. The name of any given shard is
74
+ # `[table_prefix]YYYYMMDD`, for example, for shard `MyTable20180101`, the
75
+ # `table_prefix` is `MyTable`.
76
+ # @!attribute [r] shard_count
77
+ # @return [Integer]
78
+ # Output only. Total number of shards.
79
+ class BigQueryDateShardedSpec
80
+ include Google::Protobuf::MessageExts
81
+ extend Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # Table source type.
85
+ module TableSourceType
86
+ # Default unknown type.
87
+ TABLE_SOURCE_TYPE_UNSPECIFIED = 0
88
+
89
+ # Table view.
90
+ BIGQUERY_VIEW = 2
91
+
92
+ # BigQuery native table.
93
+ BIGQUERY_TABLE = 5
94
+ end
95
+ end
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,238 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module DataCatalog
23
+ module V1
24
+ # Tags are used to attach custom metadata to Data Catalog resources. Tags
25
+ # conform to the specifications within their tag template.
26
+ #
27
+ # See [Data Catalog IAM](/data-catalog/docs/concepts/iam) for information on
28
+ # the permissions needed to create or view tags.
29
+ # @!attribute [rw] name
30
+ # @return [String]
31
+ # The resource name of the tag in URL format. Example:
32
+ #
33
+ # * projects/\\{project_id}/locations/\\{location}/entrygroups/\\{entry_group_id}/entries/\\{entry_id}/tags/\\{tag_id}
34
+ #
35
+ # where `tag_id` is a system-generated identifier.
36
+ # Note that this Tag may not actually be stored in the location in this name.
37
+ # @!attribute [rw] template
38
+ # @return [String]
39
+ # Required. The resource name of the tag template that this tag uses. Example:
40
+ #
41
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template_id}
42
+ #
43
+ # This field cannot be modified after creation.
44
+ # @!attribute [r] template_display_name
45
+ # @return [String]
46
+ # Output only. The display name of the tag template.
47
+ # @!attribute [rw] column
48
+ # @return [String]
49
+ # Resources like Entry can have schemas associated with them. This scope
50
+ # allows users to attach tags to an individual column based on that schema.
51
+ #
52
+ # For attaching a tag to a nested column, use `.` to separate the column
53
+ # names. Example:
54
+ #
55
+ # * `outer_column.inner_column`
56
+ # @!attribute [rw] fields
57
+ # @return [Google::Protobuf::Map{String => Google::Cloud::DataCatalog::V1::TagField}]
58
+ # Required. This maps the ID of a tag field to the value of and additional information
59
+ # about that field. Valid field IDs are defined by the tag's template. A tag
60
+ # must have at least 1 field and at most 500 fields.
61
+ class Tag
62
+ include Google::Protobuf::MessageExts
63
+ extend Google::Protobuf::MessageExts::ClassMethods
64
+
65
+ # @!attribute [rw] key
66
+ # @return [String]
67
+ # @!attribute [rw] value
68
+ # @return [Google::Cloud::DataCatalog::V1::TagField]
69
+ class FieldsEntry
70
+ include Google::Protobuf::MessageExts
71
+ extend Google::Protobuf::MessageExts::ClassMethods
72
+ end
73
+ end
74
+
75
+ # Contains the value and supporting information for a field within
76
+ # a {Google::Cloud::DataCatalog::V1::Tag Tag}.
77
+ # @!attribute [r] display_name
78
+ # @return [String]
79
+ # Output only. The display name of this field.
80
+ # @!attribute [rw] double_value
81
+ # @return [Float]
82
+ # Holds the value for a tag field with double type.
83
+ # @!attribute [rw] string_value
84
+ # @return [String]
85
+ # Holds the value for a tag field with string type.
86
+ # @!attribute [rw] bool_value
87
+ # @return [Boolean]
88
+ # Holds the value for a tag field with boolean type.
89
+ # @!attribute [rw] timestamp_value
90
+ # @return [Google::Protobuf::Timestamp]
91
+ # Holds the value for a tag field with timestamp type.
92
+ # @!attribute [rw] enum_value
93
+ # @return [Google::Cloud::DataCatalog::V1::TagField::EnumValue]
94
+ # Holds the value for a tag field with enum type. This value must be
95
+ # one of the allowed values in the definition of this enum.
96
+ # @!attribute [r] order
97
+ # @return [Integer]
98
+ # Output only. The order of this field with respect to other fields in this tag. It can be
99
+ # set in {Google::Cloud::DataCatalog::V1::TagTemplateField#order Tag}. For
100
+ # example, a higher value can indicate a more important field. The value can
101
+ # be negative. Multiple fields can have the same order, and field orders
102
+ # within a tag do not have to be sequential.
103
+ class TagField
104
+ include Google::Protobuf::MessageExts
105
+ extend Google::Protobuf::MessageExts::ClassMethods
106
+
107
+ # Holds an enum value.
108
+ # @!attribute [rw] display_name
109
+ # @return [String]
110
+ # The display name of the enum value.
111
+ class EnumValue
112
+ include Google::Protobuf::MessageExts
113
+ extend Google::Protobuf::MessageExts::ClassMethods
114
+ end
115
+ end
116
+
117
+ # A tag template defines a tag, which can have one or more typed fields.
118
+ # The template is used to create and attach the tag to GCP resources.
119
+ # [Tag template roles](/iam/docs/understanding-roles#data-catalog-roles)
120
+ # provide permissions to create, edit, and use the template. See, for example,
121
+ # the [TagTemplate User](/data-catalog/docs/how-to/template-user) role, which
122
+ # includes permission to use the tag template to tag resources.
123
+ # @!attribute [rw] name
124
+ # @return [String]
125
+ # The resource name of the tag template in URL format. Example:
126
+ #
127
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template_id}
128
+ #
129
+ # Note that this TagTemplate and its child resources may not actually be
130
+ # stored in the location in this name.
131
+ # @!attribute [rw] display_name
132
+ # @return [String]
133
+ # The display name for this template. Defaults to an empty string.
134
+ # @!attribute [rw] fields
135
+ # @return [Google::Protobuf::Map{String => Google::Cloud::DataCatalog::V1::TagTemplateField}]
136
+ # Required. Map of tag template field IDs to the settings for the field.
137
+ # This map is an exhaustive list of the allowed fields. This map must contain
138
+ # at least one field and at most 500 fields.
139
+ #
140
+ # The keys to this map are tag template field IDs. Field IDs can contain
141
+ # letters (both uppercase and lowercase), numbers (0-9) and underscores (_).
142
+ # Field IDs must be at least 1 character long and at most
143
+ # 64 characters long. Field IDs must start with a letter or underscore.
144
+ class TagTemplate
145
+ include Google::Protobuf::MessageExts
146
+ extend Google::Protobuf::MessageExts::ClassMethods
147
+
148
+ # @!attribute [rw] key
149
+ # @return [String]
150
+ # @!attribute [rw] value
151
+ # @return [Google::Cloud::DataCatalog::V1::TagTemplateField]
152
+ class FieldsEntry
153
+ include Google::Protobuf::MessageExts
154
+ extend Google::Protobuf::MessageExts::ClassMethods
155
+ end
156
+ end
157
+
158
+ # The template for an individual field within a tag template.
159
+ # @!attribute [r] name
160
+ # @return [String]
161
+ # Output only. The resource name of the tag template field in URL format. Example:
162
+ #
163
+ # * projects/\\{project_id}/locations/\\{location}/tagTemplates/\\{tag_template}/fields/\\{field}
164
+ #
165
+ # Note that this TagTemplateField may not actually be stored in the location
166
+ # in this name.
167
+ # @!attribute [rw] display_name
168
+ # @return [String]
169
+ # The display name for this field. Defaults to an empty string.
170
+ # @!attribute [rw] type
171
+ # @return [Google::Cloud::DataCatalog::V1::FieldType]
172
+ # Required. The type of value this tag field can contain.
173
+ # @!attribute [rw] is_required
174
+ # @return [Boolean]
175
+ # Whether this is a required field. Defaults to false.
176
+ # @!attribute [rw] order
177
+ # @return [Integer]
178
+ # The order of this field with respect to other fields in this tag
179
+ # template. For example, a higher value can indicate a more important field.
180
+ # The value can be negative. Multiple fields can have the same order, and
181
+ # field orders within a tag do not have to be sequential.
182
+ class TagTemplateField
183
+ include Google::Protobuf::MessageExts
184
+ extend Google::Protobuf::MessageExts::ClassMethods
185
+ end
186
+
187
+ # @!attribute [rw] primitive_type
188
+ # @return [Google::Cloud::DataCatalog::V1::FieldType::PrimitiveType]
189
+ # Represents primitive types - string, bool etc.
190
+ # @!attribute [rw] enum_type
191
+ # @return [Google::Cloud::DataCatalog::V1::FieldType::EnumType]
192
+ # Represents an enum type.
193
+ class FieldType
194
+ include Google::Protobuf::MessageExts
195
+ extend Google::Protobuf::MessageExts::ClassMethods
196
+
197
+ # @!attribute [rw] allowed_values
198
+ # @return [Array<Google::Cloud::DataCatalog::V1::FieldType::EnumType::EnumValue>]
199
+ # Required on create; optional on update. The set of allowed values for
200
+ # this enum. This set must not be empty, the display names of the values in
201
+ # this set must not be empty and the display names of the values must be
202
+ # case-insensitively unique within this set. Currently, enum values can
203
+ # only be added to the list of allowed values. Deletion and renaming of
204
+ # enum values are not supported. Can have up to 500 allowed values.
205
+ class EnumType
206
+ include Google::Protobuf::MessageExts
207
+ extend Google::Protobuf::MessageExts::ClassMethods
208
+
209
+ # @!attribute [rw] display_name
210
+ # @return [String]
211
+ # Required. The display name of the enum value. Must not be an empty string.
212
+ class EnumValue
213
+ include Google::Protobuf::MessageExts
214
+ extend Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+ end
217
+
218
+ module PrimitiveType
219
+ # This is the default invalid value for a type.
220
+ PRIMITIVE_TYPE_UNSPECIFIED = 0
221
+
222
+ # A double precision number.
223
+ DOUBLE = 1
224
+
225
+ # An UTF-8 string.
226
+ STRING = 2
227
+
228
+ # A boolean value.
229
+ BOOL = 3
230
+
231
+ # A timestamp.
232
+ TIMESTAMP = 4
233
+ end
234
+ end
235
+ end
236
+ end
237
+ end
238
+ end