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,42 @@
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
+ # Timestamps about this resource according to a particular system.
25
+ # @!attribute [rw] create_time
26
+ # @return [Google::Protobuf::Timestamp]
27
+ # The creation time of the resource within the given system.
28
+ # @!attribute [rw] update_time
29
+ # @return [Google::Protobuf::Timestamp]
30
+ # The last-modified time of the resource within the given system.
31
+ # @!attribute [r] expire_time
32
+ # @return [Google::Protobuf::Timestamp]
33
+ # Output only. The expiration time of the resource within the given system.
34
+ # Currently only apllicable to BigQuery resources.
35
+ class SystemTimestamps
36
+ include Google::Protobuf::MessageExts
37
+ extend Google::Protobuf::MessageExts::ClassMethods
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -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 Iam
22
+ module V1
23
+ # Request message for `SetIamPolicy` method.
24
+ # @!attribute [rw] resource
25
+ # @return [String]
26
+ # REQUIRED: The resource for which the policy is being specified.
27
+ # `resource` is usually specified as a path. For example, a Project
28
+ # resource is specified as `projects/{project}`.
29
+ # @!attribute [rw] policy
30
+ # @return [Google::Iam::V1::Policy]
31
+ # REQUIRED: The complete policy to be applied to the `resource`. The size of
32
+ # the policy is limited to a few 10s of KB. An empty policy is a
33
+ # valid policy but certain Cloud Platform services (such as Projects)
34
+ # might reject them.
35
+ class SetIamPolicyRequest
36
+ include Google::Protobuf::MessageExts
37
+ extend Google::Protobuf::MessageExts::ClassMethods
38
+ end
39
+
40
+ # Request message for `GetIamPolicy` method.
41
+ # @!attribute [rw] resource
42
+ # @return [String]
43
+ # REQUIRED: The resource for which the policy is being requested.
44
+ # `resource` is usually specified as a path. For example, a Project
45
+ # resource is specified as `projects/{project}`.
46
+ class GetIamPolicyRequest
47
+ include Google::Protobuf::MessageExts
48
+ extend Google::Protobuf::MessageExts::ClassMethods
49
+ end
50
+
51
+ # Request message for `TestIamPermissions` method.
52
+ # @!attribute [rw] resource
53
+ # @return [String]
54
+ # REQUIRED: The resource for which the policy detail is being requested.
55
+ # `resource` is usually specified as a path. For example, a Project
56
+ # resource is specified as `projects/{project}`.
57
+ # @!attribute [rw] permissions
58
+ # @return [Array<String>]
59
+ # The set of permissions to check for the `resource`. Permissions with
60
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
61
+ # information see
62
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
63
+ class TestIamPermissionsRequest
64
+ include Google::Protobuf::MessageExts
65
+ extend Google::Protobuf::MessageExts::ClassMethods
66
+ end
67
+
68
+ # Response message for `TestIamPermissions` method.
69
+ # @!attribute [rw] permissions
70
+ # @return [Array<String>]
71
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
72
+ # allowed.
73
+ class TestIamPermissionsResponse
74
+ include Google::Protobuf::MessageExts
75
+ extend Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,156 @@
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 Iam
22
+ module V1
23
+ # Defines an Identity and Access Management (IAM) policy. It is used to
24
+ # specify access control policies for Cloud Platform resources.
25
+ #
26
+ #
27
+ # A `Policy` consists of a list of `bindings`. A `Binding` binds a list of
28
+ # `members` to a `role`, where the members can be user accounts, Google groups,
29
+ # Google domains, and service accounts. A `role` is a named list of permissions
30
+ # defined by IAM.
31
+ #
32
+ # **Example**
33
+ #
34
+ # {
35
+ # "bindings": [
36
+ # {
37
+ # "role": "roles/owner",
38
+ # "members": [
39
+ # "user:mike@example.com",
40
+ # "group:admins@example.com",
41
+ # "domain:google.com",
42
+ # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
43
+ # ]
44
+ # },
45
+ # {
46
+ # "role": "roles/viewer",
47
+ # "members": ["user:sean@example.com"]
48
+ # }
49
+ # ]
50
+ # }
51
+ #
52
+ # For a description of IAM and its features, see the
53
+ # [IAM developer's guide](https://cloud.google.com/iam).
54
+ # @!attribute [rw] version
55
+ # @return [Integer]
56
+ # Version of the `Policy`. The default version is 0.
57
+ # @!attribute [rw] bindings
58
+ # @return [Array<Google::Iam::V1::Binding>]
59
+ # Associates a list of `members` to a `role`.
60
+ # Multiple `bindings` must not be specified for the same `role`.
61
+ # `bindings` with no members will result in an error.
62
+ # @!attribute [rw] etag
63
+ # @return [String]
64
+ # `etag` is used for optimistic concurrency control as a way to help
65
+ # prevent simultaneous updates of a policy from overwriting each other.
66
+ # It is strongly suggested that systems make use of the `etag` in the
67
+ # read-modify-write cycle to perform policy updates in order to avoid race
68
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
69
+ # systems are expected to put that etag in the request to `setIamPolicy` to
70
+ # ensure that their change will be applied to the same version of the policy.
71
+ #
72
+ # If no `etag` is provided in the call to `setIamPolicy`, then the existing
73
+ # policy is overwritten blindly.
74
+ class Policy
75
+ include Google::Protobuf::MessageExts
76
+ extend Google::Protobuf::MessageExts::ClassMethods
77
+ end
78
+
79
+ # Associates `members` with a `role`.
80
+ # @!attribute [rw] role
81
+ # @return [String]
82
+ # Role that is assigned to `members`.
83
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
84
+ # Required
85
+ # @!attribute [rw] members
86
+ # @return [Array<String>]
87
+ # Specifies the identities requesting access for a Cloud Platform resource.
88
+ # `members` can have the following values:
89
+ #
90
+ # * `allUsers`: A special identifier that represents anyone who is
91
+ # on the internet; with or without a Google account.
92
+ #
93
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
94
+ # who is authenticated with a Google account or a service account.
95
+ #
96
+ # * `user:{emailid}`: An email address that represents a specific Google
97
+ # account. For example, `alice@gmail.com` or `joe@example.com`.
98
+ #
99
+ #
100
+ # * `serviceAccount:{emailid}`: An email address that represents a service
101
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
102
+ #
103
+ # * `group:{emailid}`: An email address that represents a Google group.
104
+ # For example, `admins@example.com`.
105
+ #
106
+ # * `domain:{domain}`: A Google Apps domain name that represents all the
107
+ # users of that domain. For example, `google.com` or `example.com`.
108
+ class Binding
109
+ include Google::Protobuf::MessageExts
110
+ extend Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # The difference delta between two policies.
114
+ # @!attribute [rw] binding_deltas
115
+ # @return [Array<Google::Iam::V1::BindingDelta>]
116
+ # The delta for Bindings between two policies.
117
+ class PolicyDelta
118
+ include Google::Protobuf::MessageExts
119
+ extend Google::Protobuf::MessageExts::ClassMethods
120
+ end
121
+
122
+ # One delta entry for Binding. Each individual change (only one member in each
123
+ # entry) to a binding will be a separate entry.
124
+ # @!attribute [rw] action
125
+ # @return [Google::Iam::V1::BindingDelta::Action]
126
+ # The action that was performed on a Binding.
127
+ # Required
128
+ # @!attribute [rw] role
129
+ # @return [String]
130
+ # Role that is assigned to `members`.
131
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
132
+ # Required
133
+ # @!attribute [rw] member
134
+ # @return [String]
135
+ # A single identity requesting access for a Cloud Platform resource.
136
+ # Follows the same format of Binding.members.
137
+ # Required
138
+ class BindingDelta
139
+ include Google::Protobuf::MessageExts
140
+ extend Google::Protobuf::MessageExts::ClassMethods
141
+
142
+ # The type of action performed on a Binding in a policy.
143
+ module Action
144
+ # Unspecified.
145
+ ACTION_UNSPECIFIED = 0
146
+
147
+ # Addition of a Binding.
148
+ ADD = 1
149
+
150
+ # Removal of a Binding.
151
+ REMOVE = 2
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,36 @@
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 Protobuf
22
+ # A generic empty message that you can re-use to avoid defining duplicated
23
+ # empty messages in your APIs. A typical example is to use it as the request
24
+ # or the response type of an API method. For instance:
25
+ #
26
+ # service Foo {
27
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
28
+ # }
29
+ #
30
+ # The JSON representation for `Empty` is empty JSON object `{}`.
31
+ class Empty
32
+ include Google::Protobuf::MessageExts
33
+ extend Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,229 @@
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 Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [Array<String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include Google::Protobuf::MessageExts
226
+ extend Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end