google-cloud-data_catalog-v1 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -64,6 +64,23 @@ module Google
64
64
  "projects/#{project}/locations/#{location}/entryGroups/#{entry_group}"
65
65
  end
66
66
 
67
+ ##
68
+ # Create a fully-qualified Location resource string.
69
+ #
70
+ # The resource will be in the following format:
71
+ #
72
+ # `projects/{project}/locations/{location}`
73
+ #
74
+ # @param project [String]
75
+ # @param location [String]
76
+ #
77
+ # @return [String]
78
+ def location_path project:, location:
79
+ raise ArgumentError, "project cannot contain /" if project.to_s.include? "/"
80
+
81
+ "projects/#{project}/locations/#{location}"
82
+ end
83
+
67
84
  ##
68
85
  # Create a fully-qualified Tag resource string.
69
86
  #
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module DataCatalog
23
23
  module V1
24
- VERSION = "0.1.0"
24
+ VERSION = "0.2.0"
25
25
  end
26
26
  end
27
27
  end
@@ -24,8 +24,7 @@ module Google
24
24
  # @!attribute [rw] resource
25
25
  # @return [String]
26
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}`.
27
+ # See the operation documentation for the appropriate value for this field.
29
28
  # @!attribute [rw] policy
30
29
  # @return [Google::Iam::V1::Policy]
31
30
  # REQUIRED: The complete policy to be applied to the `resource`. The size of
@@ -41,8 +40,11 @@ module Google
41
40
  # @!attribute [rw] resource
42
41
  # @return [String]
43
42
  # 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}`.
43
+ # See the operation documentation for the appropriate value for this field.
44
+ # @!attribute [rw] options
45
+ # @return [Google::Iam::V1::GetPolicyOptions]
46
+ # OPTIONAL: A `GetPolicyOptions` object for specifying options to
47
+ # `GetIamPolicy`. This field is only used by Cloud IAM.
46
48
  class GetIamPolicyRequest
47
49
  include Google::Protobuf::MessageExts
48
50
  extend Google::Protobuf::MessageExts::ClassMethods
@@ -52,8 +54,7 @@ module Google
52
54
  # @!attribute [rw] resource
53
55
  # @return [String]
54
56
  # 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
+ # See the operation documentation for the appropriate value for this field.
57
58
  # @!attribute [rw] permissions
58
59
  # @return [Array<String>]
59
60
  # The set of permissions to check for the `resource`. Permissions with
@@ -0,0 +1,40 @@
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
+ # Encapsulates settings provided to GetIamPolicy.
24
+ # @!attribute [rw] requested_policy_version
25
+ # @return [Integer]
26
+ # Optional. The policy format version to be returned.
27
+ #
28
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
29
+ # rejected.
30
+ #
31
+ # Requests for policies with any conditional bindings must specify version 3.
32
+ # Policies without any conditional bindings may specify any valid value or
33
+ # leave the field unset.
34
+ class GetPolicyOptions
35
+ include Google::Protobuf::MessageExts
36
+ extend Google::Protobuf::MessageExts::ClassMethods
37
+ end
38
+ end
39
+ end
40
+ end
@@ -24,40 +24,79 @@ module Google
24
24
  # specify access control policies for Cloud Platform resources.
25
25
  #
26
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.
27
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
28
+ # `members` to a single `role`. Members can be user accounts, service accounts,
29
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
30
+ # permissions (defined by IAM or configured by users). A `binding` can
31
+ # optionally specify a `condition`, which is a logic expression that further
32
+ # constrains the role binding based on attributes about the request and/or
33
+ # target resource.
31
34
  #
32
- # **Example**
35
+ # **JSON Example**
33
36
  #
34
37
  # {
35
38
  # "bindings": [
36
39
  # {
37
- # "role": "roles/owner",
40
+ # "role": "roles/resourcemanager.organizationAdmin",
38
41
  # "members": [
39
42
  # "user:mike@example.com",
40
43
  # "group:admins@example.com",
41
44
  # "domain:google.com",
42
- # "serviceAccount:my-other-app@appspot.gserviceaccount.com",
45
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
43
46
  # ]
44
47
  # },
45
48
  # {
46
- # "role": "roles/viewer",
47
- # "members": ["user:sean@example.com"]
49
+ # "role": "roles/resourcemanager.organizationViewer",
50
+ # "members": ["user:eve@example.com"],
51
+ # "condition": {
52
+ # "title": "expirable access",
53
+ # "description": "Does not grant access after Sep 2020",
54
+ # "expression": "request.time <
55
+ # timestamp('2020-10-01T00:00:00.000Z')",
56
+ # }
48
57
  # }
49
58
  # ]
50
59
  # }
51
60
  #
61
+ # **YAML Example**
62
+ #
63
+ # bindings:
64
+ # - members:
65
+ # - user:mike@example.com
66
+ # - group:admins@example.com
67
+ # - domain:google.com
68
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
69
+ # role: roles/resourcemanager.organizationAdmin
70
+ # - members:
71
+ # - user:eve@example.com
72
+ # role: roles/resourcemanager.organizationViewer
73
+ # condition:
74
+ # title: expirable access
75
+ # description: Does not grant access after Sep 2020
76
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
77
+ #
52
78
  # For a description of IAM and its features, see the
53
- # [IAM developer's guide](https://cloud.google.com/iam).
79
+ # [IAM developer's guide](https://cloud.google.com/iam/docs).
54
80
  # @!attribute [rw] version
55
81
  # @return [Integer]
56
- # Version of the `Policy`. The default version is 0.
82
+ # Specifies the format of the policy.
83
+ #
84
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
85
+ # rejected.
86
+ #
87
+ # Operations affecting conditional bindings must specify version 3. This can
88
+ # be either setting a conditional policy, modifying a conditional binding,
89
+ # or removing a binding (conditional or unconditional) from the stored
90
+ # conditional policy.
91
+ # Operations on non-conditional policies may specify any valid value or
92
+ # leave the field unset.
93
+ #
94
+ # If no etag is provided in the call to `setIamPolicy`, version compliance
95
+ # checks against the stored policy is skipped.
57
96
  # @!attribute [rw] bindings
58
97
  # @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`.
98
+ # Associates a list of `members` to a `role`. Optionally may specify a
99
+ # `condition` that determines when binding is in effect.
61
100
  # `bindings` with no members will result in an error.
62
101
  # @!attribute [rw] etag
63
102
  # @return [String]
@@ -70,7 +109,9 @@ module Google
70
109
  # ensure that their change will be applied to the same version of the policy.
71
110
  #
72
111
  # If no `etag` is provided in the call to `setIamPolicy`, then the existing
73
- # policy is overwritten blindly.
112
+ # policy is overwritten. Due to blind-set semantics of an etag-less policy,
113
+ # 'setIamPolicy' will not fail even if the incoming policy version does not
114
+ # meet the requirements for modifying the stored policy.
74
115
  class Policy
75
116
  include Google::Protobuf::MessageExts
76
117
  extend Google::Protobuf::MessageExts::ClassMethods
@@ -81,7 +122,6 @@ module Google
81
122
  # @return [String]
82
123
  # Role that is assigned to `members`.
83
124
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
84
- # Required
85
125
  # @!attribute [rw] members
86
126
  # @return [Array<String>]
87
127
  # Specifies the identities requesting access for a Cloud Platform resource.
@@ -94,7 +134,7 @@ module Google
94
134
  # who is authenticated with a Google account or a service account.
95
135
  #
96
136
  # * `user:{emailid}`: An email address that represents a specific Google
97
- # account. For example, `alice@gmail.com` or `joe@example.com`.
137
+ # account. For example, `alice@example.com` .
98
138
  #
99
139
  #
100
140
  # * `serviceAccount:{emailid}`: An email address that represents a service
@@ -103,8 +143,15 @@ module Google
103
143
  # * `group:{emailid}`: An email address that represents a Google group.
104
144
  # For example, `admins@example.com`.
105
145
  #
106
- # * `domain:{domain}`: A Google Apps domain name that represents all the
146
+ #
147
+ # * `domain:{domain}`: The G Suite domain (primary) that represents all the
107
148
  # users of that domain. For example, `google.com` or `example.com`.
149
+ # @!attribute [rw] condition
150
+ # @return [Google::Type::Expr]
151
+ # The condition that is associated with this binding.
152
+ # NOTE: An unsatisfied condition will not allow user access via current
153
+ # binding. Different bindings, including their conditions, are examined
154
+ # independently.
108
155
  class Binding
109
156
  include Google::Protobuf::MessageExts
110
157
  extend Google::Protobuf::MessageExts::ClassMethods
@@ -114,6 +161,9 @@ module Google
114
161
  # @!attribute [rw] binding_deltas
115
162
  # @return [Array<Google::Iam::V1::BindingDelta>]
116
163
  # The delta for Bindings between two policies.
164
+ # @!attribute [rw] audit_config_deltas
165
+ # @return [Array<Google::Iam::V1::AuditConfigDelta>]
166
+ # The delta for AuditConfigs between two policies.
117
167
  class PolicyDelta
118
168
  include Google::Protobuf::MessageExts
119
169
  extend Google::Protobuf::MessageExts::ClassMethods
@@ -135,6 +185,9 @@ module Google
135
185
  # A single identity requesting access for a Cloud Platform resource.
136
186
  # Follows the same format of Binding.members.
137
187
  # Required
188
+ # @!attribute [rw] condition
189
+ # @return [Google::Type::Expr]
190
+ # The condition that is associated with this binding.
138
191
  class BindingDelta
139
192
  include Google::Protobuf::MessageExts
140
193
  extend Google::Protobuf::MessageExts::ClassMethods
@@ -151,6 +204,45 @@ module Google
151
204
  REMOVE = 2
152
205
  end
153
206
  end
207
+
208
+ # One delta entry for AuditConfig. Each individual change (only one
209
+ # exempted_member in each entry) to a AuditConfig will be a separate entry.
210
+ # @!attribute [rw] action
211
+ # @return [Google::Iam::V1::AuditConfigDelta::Action]
212
+ # The action that was performed on an audit configuration in a policy.
213
+ # Required
214
+ # @!attribute [rw] service
215
+ # @return [String]
216
+ # Specifies a service that was configured for Cloud Audit Logging.
217
+ # For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
218
+ # `allServices` is a special value that covers all services.
219
+ # Required
220
+ # @!attribute [rw] exempted_member
221
+ # @return [String]
222
+ # A single identity that is exempted from "data access" audit
223
+ # logging for the `service` specified above.
224
+ # Follows the same format of Binding.members.
225
+ # @!attribute [rw] log_type
226
+ # @return [String]
227
+ # Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always
228
+ # enabled, and cannot be configured.
229
+ # Required
230
+ class AuditConfigDelta
231
+ include Google::Protobuf::MessageExts
232
+ extend Google::Protobuf::MessageExts::ClassMethods
233
+
234
+ # The type of action performed on an audit configuration in a policy.
235
+ module Action
236
+ # Unspecified.
237
+ ACTION_UNSPECIFIED = 0
238
+
239
+ # Addition of an audit configuration.
240
+ ADD = 1
241
+
242
+ # Removal of an audit configuration.
243
+ REMOVE = 2
244
+ end
245
+ end
154
246
  end
155
247
  end
156
248
  end
@@ -0,0 +1,52 @@
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 Type
22
+ # Represents an expression text. Example:
23
+ #
24
+ # title: "User account presence"
25
+ # description: "Determines whether the request has a user account"
26
+ # expression: "size(request.user) > 0"
27
+ # @!attribute [rw] expression
28
+ # @return [String]
29
+ # Textual representation of an expression in
30
+ # Common Expression Language syntax.
31
+ #
32
+ # The application context of the containing message determines which
33
+ # well-known feature set of CEL is supported.
34
+ # @!attribute [rw] title
35
+ # @return [String]
36
+ # An optional title for the expression, i.e. a short string describing
37
+ # its purpose. This can be used e.g. in UIs which allow to enter the
38
+ # expression.
39
+ # @!attribute [rw] description
40
+ # @return [String]
41
+ # An optional description of the expression. This is a longer text which
42
+ # describes the expression, e.g. when hovered over it in a UI.
43
+ # @!attribute [rw] location
44
+ # @return [String]
45
+ # An optional string indicating the location of the expression for error
46
+ # reporting, e.g. a file name and a position in the file.
47
+ class Expr
48
+ include Google::Protobuf::MessageExts
49
+ extend Google::Protobuf::MessageExts::ClassMethods
50
+ end
51
+ end
52
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-data_catalog-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-07 00:00:00.000000000 Z
11
+ date: 2020-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -42,16 +42,22 @@ dependencies:
42
42
  name: grpc-google-iam-v1
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.6.10
48
+ - - "<"
46
49
  - !ruby/object:Gem::Version
47
- version: 0.6.9
50
+ version: '2.0'
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
- - - "~>"
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: 0.6.10
58
+ - - "<"
53
59
  - !ruby/object:Gem::Version
54
- version: 0.6.9
60
+ version: '2.0'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: google-style
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -177,10 +183,12 @@ files:
177
183
  - proto_docs/google/cloud/datacatalog/v1/tags.rb
178
184
  - proto_docs/google/cloud/datacatalog/v1/timestamps.rb
179
185
  - proto_docs/google/iam/v1/iam_policy.rb
186
+ - proto_docs/google/iam/v1/options.rb
180
187
  - proto_docs/google/iam/v1/policy.rb
181
188
  - proto_docs/google/protobuf/empty.rb
182
189
  - proto_docs/google/protobuf/field_mask.rb
183
190
  - proto_docs/google/protobuf/timestamp.rb
191
+ - proto_docs/google/type/expr.rb
184
192
  homepage: https://github.com/googleapis/google-cloud-ruby
185
193
  licenses:
186
194
  - Apache-2.0