google-cloud-asset-v1beta1 0.1.1 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24,43 +24,82 @@ 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
- # @return [Integer]
56
- # Version of the `Policy`. The default version is 0.
81
+ # @return [::Integer]
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
- # @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`.
97
+ # @return [::Array<::Google::Iam::V1::Binding>]
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
- # @return [String]
102
+ # @return [::String]
64
103
  # `etag` is used for optimistic concurrency control as a way to help
65
104
  # prevent simultaneous updates of a policy from overwriting each other.
66
105
  # It is strongly suggested that systems make use of the `etag` in the
@@ -70,20 +109,21 @@ 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
- include Google::Protobuf::MessageExts
76
- extend Google::Protobuf::MessageExts::ClassMethods
116
+ include ::Google::Protobuf::MessageExts
117
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
118
  end
78
119
 
79
120
  # Associates `members` with a `role`.
80
121
  # @!attribute [rw] role
81
- # @return [String]
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
- # @return [Array<String>]
126
+ # @return [::Array<::String>]
87
127
  # Specifies the identities requesting access for a Cloud Platform resource.
88
128
  # `members` can have the following values:
89
129
  #
@@ -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,41 +143,54 @@ 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
- include Google::Protobuf::MessageExts
110
- extend Google::Protobuf::MessageExts::ClassMethods
156
+ include ::Google::Protobuf::MessageExts
157
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
158
  end
112
159
 
113
160
  # The difference delta between two policies.
114
161
  # @!attribute [rw] binding_deltas
115
- # @return [Array<Google::Iam::V1::BindingDelta>]
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
- include Google::Protobuf::MessageExts
119
- extend Google::Protobuf::MessageExts::ClassMethods
168
+ include ::Google::Protobuf::MessageExts
169
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
170
  end
121
171
 
122
172
  # One delta entry for Binding. Each individual change (only one member in each
123
173
  # entry) to a binding will be a separate entry.
124
174
  # @!attribute [rw] action
125
- # @return [Google::Iam::V1::BindingDelta::Action]
175
+ # @return [::Google::Iam::V1::BindingDelta::Action]
126
176
  # The action that was performed on a Binding.
127
177
  # Required
128
178
  # @!attribute [rw] role
129
- # @return [String]
179
+ # @return [::String]
130
180
  # Role that is assigned to `members`.
131
181
  # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
132
182
  # Required
133
183
  # @!attribute [rw] member
134
- # @return [String]
184
+ # @return [::String]
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
- include Google::Protobuf::MessageExts
140
- extend Google::Protobuf::MessageExts::ClassMethods
192
+ include ::Google::Protobuf::MessageExts
193
+ extend ::Google::Protobuf::MessageExts::ClassMethods
141
194
 
142
195
  # The type of action performed on a Binding in a policy.
143
196
  module Action
@@ -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
@@ -22,26 +22,26 @@ module Google
22
22
  # This resource represents a long-running operation that is the result of a
23
23
  # network API call.
24
24
  # @!attribute [rw] name
25
- # @return [String]
25
+ # @return [::String]
26
26
  # The server-assigned name, which is only unique within the same service that
27
27
  # originally returns it. If you use the default HTTP mapping, the
28
28
  # `name` should have the format of `operations/some/unique/name`.
29
29
  # @!attribute [rw] metadata
30
- # @return [Google::Protobuf::Any]
30
+ # @return [::Google::Protobuf::Any]
31
31
  # Service-specific metadata associated with the operation. It typically
32
32
  # contains progress information and common metadata such as create time.
33
33
  # Some services might not provide such metadata. Any method that returns a
34
34
  # long-running operation should document the metadata type, if any.
35
35
  # @!attribute [rw] done
36
- # @return [Boolean]
36
+ # @return [::Boolean]
37
37
  # If the value is `false`, it means the operation is still in progress.
38
38
  # If true, the operation is completed, and either `error` or `response` is
39
39
  # available.
40
40
  # @!attribute [rw] error
41
- # @return [Google::Rpc::Status]
41
+ # @return [::Google::Rpc::Status]
42
42
  # The error result of the operation in case of failure or cancellation.
43
43
  # @!attribute [rw] response
44
- # @return [Google::Protobuf::Any]
44
+ # @return [::Google::Protobuf::Any]
45
45
  # The normal response of the operation in case of success. If the original
46
46
  # method returns no data on success, such as `Delete`, the response is
47
47
  # `google.protobuf.Empty`. If the original method is standard
@@ -51,65 +51,65 @@ module Google
51
51
  # is `TakeSnapshot()`, the inferred response type is
52
52
  # `TakeSnapshotResponse`.
53
53
  class Operation
54
- include Google::Protobuf::MessageExts
55
- extend Google::Protobuf::MessageExts::ClassMethods
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
56
  end
57
57
 
58
58
  # The request message for Operations.GetOperation.
59
59
  # @!attribute [rw] name
60
- # @return [String]
60
+ # @return [::String]
61
61
  # The name of the operation resource.
62
62
  class GetOperationRequest
63
- include Google::Protobuf::MessageExts
64
- extend Google::Protobuf::MessageExts::ClassMethods
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
65
  end
66
66
 
67
67
  # The request message for Operations.ListOperations.
68
68
  # @!attribute [rw] name
69
- # @return [String]
69
+ # @return [::String]
70
70
  # The name of the operation collection.
71
71
  # @!attribute [rw] filter
72
- # @return [String]
72
+ # @return [::String]
73
73
  # The standard list filter.
74
74
  # @!attribute [rw] page_size
75
- # @return [Integer]
75
+ # @return [::Integer]
76
76
  # The standard list page size.
77
77
  # @!attribute [rw] page_token
78
- # @return [String]
78
+ # @return [::String]
79
79
  # The standard list page token.
80
80
  class ListOperationsRequest
81
- include Google::Protobuf::MessageExts
82
- extend Google::Protobuf::MessageExts::ClassMethods
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
83
  end
84
84
 
85
85
  # The response message for Operations.ListOperations.
86
86
  # @!attribute [rw] operations
87
- # @return [Array<Google::Longrunning::Operation>]
87
+ # @return [::Array<::Google::Longrunning::Operation>]
88
88
  # A list of operations that matches the specified filter in the request.
89
89
  # @!attribute [rw] next_page_token
90
- # @return [String]
90
+ # @return [::String]
91
91
  # The standard List next-page token.
92
92
  class ListOperationsResponse
93
- include Google::Protobuf::MessageExts
94
- extend Google::Protobuf::MessageExts::ClassMethods
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
95
  end
96
96
 
97
97
  # The request message for Operations.CancelOperation.
98
98
  # @!attribute [rw] name
99
- # @return [String]
99
+ # @return [::String]
100
100
  # The name of the operation resource to be cancelled.
101
101
  class CancelOperationRequest
102
- include Google::Protobuf::MessageExts
103
- extend Google::Protobuf::MessageExts::ClassMethods
102
+ include ::Google::Protobuf::MessageExts
103
+ extend ::Google::Protobuf::MessageExts::ClassMethods
104
104
  end
105
105
 
106
106
  # The request message for Operations.DeleteOperation.
107
107
  # @!attribute [rw] name
108
- # @return [String]
108
+ # @return [::String]
109
109
  # The name of the operation resource to be deleted.
110
110
  class DeleteOperationRequest
111
- include Google::Protobuf::MessageExts
112
- extend Google::Protobuf::MessageExts::ClassMethods
111
+ include ::Google::Protobuf::MessageExts
112
+ extend ::Google::Protobuf::MessageExts::ClassMethods
113
113
  end
114
114
 
115
115
  # A message representing the message types used by a long-running operation.
@@ -124,7 +124,7 @@ module Google
124
124
  # };
125
125
  # }
126
126
  # @!attribute [rw] response_type
127
- # @return [String]
127
+ # @return [::String]
128
128
  # Required. The message name of the primary return type for this
129
129
  # long-running operation.
130
130
  # This type will be used to deserialize the LRO's response.
@@ -134,7 +134,7 @@ module Google
134
134
  #
135
135
  # Note: Altering this value constitutes a breaking change.
136
136
  # @!attribute [rw] metadata_type
137
- # @return [String]
137
+ # @return [::String]
138
138
  # Required. The message name of the metadata type for this long-running
139
139
  # operation.
140
140
  #
@@ -143,8 +143,8 @@ module Google
143
143
  #
144
144
  # Note: Altering this value constitutes a breaking change.
145
145
  class OperationInfo
146
- include Google::Protobuf::MessageExts
147
- extend Google::Protobuf::MessageExts::ClassMethods
146
+ include ::Google::Protobuf::MessageExts
147
+ extend ::Google::Protobuf::MessageExts::ClassMethods
148
148
  end
149
149
  end
150
150
  end
@@ -99,7 +99,7 @@ module Google
99
99
  # "value": "1.212s"
100
100
  # }
101
101
  # @!attribute [rw] type_url
102
- # @return [String]
102
+ # @return [::String]
103
103
  # A URL/resource name that uniquely identifies the type of the serialized
104
104
  # protocol buffer message. This string must contain at least
105
105
  # one "/" character. The last segment of the URL's path must represent
@@ -128,11 +128,11 @@ module Google
128
128
  # Schemes other than `http`, `https` (or the empty scheme) might be
129
129
  # used with implementation specific semantics.
130
130
  # @!attribute [rw] value
131
- # @return [String]
131
+ # @return [::String]
132
132
  # Must be a valid serialized protocol buffer of the above specified type.
133
133
  class Any
134
- include Google::Protobuf::MessageExts
135
- extend Google::Protobuf::MessageExts::ClassMethods
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
136
  end
137
137
  end
138
138
  end
@@ -29,8 +29,8 @@ module Google
29
29
  #
30
30
  # The JSON representation for `Empty` is empty JSON object `{}`.
31
31
  class Empty
32
- include Google::Protobuf::MessageExts
33
- extend Google::Protobuf::MessageExts::ClassMethods
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
34
  end
35
35
  end
36
36
  end
@@ -28,19 +28,19 @@ module Google
28
28
  #
29
29
  # The JSON representation for `Struct` is JSON object.
30
30
  # @!attribute [rw] fields
31
- # @return [Google::Protobuf::Map{String => Google::Protobuf::Value}]
31
+ # @return [::Google::Protobuf::Map{::String => ::Google::Protobuf::Value}]
32
32
  # Unordered map of dynamically typed values.
33
33
  class Struct
34
- include Google::Protobuf::MessageExts
35
- extend Google::Protobuf::MessageExts::ClassMethods
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
36
 
37
37
  # @!attribute [rw] key
38
- # @return [String]
38
+ # @return [::String]
39
39
  # @!attribute [rw] value
40
- # @return [Google::Protobuf::Value]
40
+ # @return [::Google::Protobuf::Value]
41
41
  class FieldsEntry
42
- include Google::Protobuf::MessageExts
43
- extend Google::Protobuf::MessageExts::ClassMethods
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
44
  end
45
45
  end
46
46
 
@@ -51,37 +51,37 @@ module Google
51
51
  #
52
52
  # The JSON representation for `Value` is JSON value.
53
53
  # @!attribute [rw] null_value
54
- # @return [Google::Protobuf::NullValue]
54
+ # @return [::Google::Protobuf::NullValue]
55
55
  # Represents a null value.
56
56
  # @!attribute [rw] number_value
57
- # @return [Float]
57
+ # @return [::Float]
58
58
  # Represents a double value.
59
59
  # @!attribute [rw] string_value
60
- # @return [String]
60
+ # @return [::String]
61
61
  # Represents a string value.
62
62
  # @!attribute [rw] bool_value
63
- # @return [Boolean]
63
+ # @return [::Boolean]
64
64
  # Represents a boolean value.
65
65
  # @!attribute [rw] struct_value
66
- # @return [Google::Protobuf::Struct]
66
+ # @return [::Google::Protobuf::Struct]
67
67
  # Represents a structured value.
68
68
  # @!attribute [rw] list_value
69
- # @return [Google::Protobuf::ListValue]
69
+ # @return [::Google::Protobuf::ListValue]
70
70
  # Represents a repeated `Value`.
71
71
  class Value
72
- include Google::Protobuf::MessageExts
73
- extend Google::Protobuf::MessageExts::ClassMethods
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
74
  end
75
75
 
76
76
  # `ListValue` is a wrapper around a repeated field of values.
77
77
  #
78
78
  # The JSON representation for `ListValue` is JSON array.
79
79
  # @!attribute [rw] values
80
- # @return [Array<Google::Protobuf::Value>]
80
+ # @return [::Array<::Google::Protobuf::Value>]
81
81
  # Repeated field of dynamically typed values.
82
82
  class ListValue
83
- include Google::Protobuf::MessageExts
84
- extend Google::Protobuf::MessageExts::ClassMethods
83
+ include ::Google::Protobuf::MessageExts
84
+ extend ::Google::Protobuf::MessageExts::ClassMethods
85
85
  end
86
86
 
87
87
  # `NullValue` is a singleton enumeration to represent the null value for the