google-cloud-resource_manager-v3 0.3.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +1 -1
  3. data/README.md +3 -3
  4. data/lib/google/cloud/resource_manager/v3/folders/client.rb +75 -67
  5. data/lib/google/cloud/resource_manager/v3/folders/operations.rb +14 -16
  6. data/lib/google/cloud/resource_manager/v3/folders/rest/client.rb +1281 -0
  7. data/lib/google/cloud/resource_manager/v3/folders/rest/operations.rb +793 -0
  8. data/lib/google/cloud/resource_manager/v3/folders/rest/service_stub.rb +698 -0
  9. data/lib/google/cloud/resource_manager/v3/folders/rest.rb +55 -0
  10. data/lib/google/cloud/resource_manager/v3/folders.rb +7 -1
  11. data/lib/google/cloud/resource_manager/v3/organizations/client.rb +16 -16
  12. data/lib/google/cloud/resource_manager/v3/organizations/rest/client.rb +704 -0
  13. data/lib/google/cloud/resource_manager/v3/organizations/rest/service_stub.rb +344 -0
  14. data/lib/google/cloud/resource_manager/v3/organizations/rest.rb +52 -0
  15. data/lib/google/cloud/resource_manager/v3/organizations.rb +7 -1
  16. data/lib/google/cloud/resource_manager/v3/projects/client.rb +72 -71
  17. data/lib/google/cloud/resource_manager/v3/projects/operations.rb +14 -16
  18. data/lib/google/cloud/resource_manager/v3/projects/rest/client.rb +1304 -0
  19. data/lib/google/cloud/resource_manager/v3/projects/rest/operations.rb +793 -0
  20. data/lib/google/cloud/resource_manager/v3/projects/rest/service_stub.rb +698 -0
  21. data/lib/google/cloud/resource_manager/v3/projects/rest.rb +53 -0
  22. data/lib/google/cloud/resource_manager/v3/projects.rb +7 -1
  23. data/lib/google/cloud/resource_manager/v3/rest.rb +43 -0
  24. data/lib/google/cloud/resource_manager/v3/tag_bindings/client.rb +127 -31
  25. data/lib/google/cloud/resource_manager/v3/tag_bindings/operations.rb +14 -16
  26. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/client.rb +606 -0
  27. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/operations.rb +793 -0
  28. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/service_stub.rb +279 -0
  29. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest.rb +54 -0
  30. data/lib/google/cloud/resource_manager/v3/tag_bindings.rb +8 -2
  31. data/lib/google/cloud/resource_manager/v3/tag_holds/client.rb +640 -0
  32. data/lib/google/cloud/resource_manager/v3/tag_holds/credentials.rb +52 -0
  33. data/lib/google/cloud/resource_manager/v3/tag_holds/operations.rb +768 -0
  34. data/lib/google/cloud/resource_manager/v3/tag_holds/paths.rb +64 -0
  35. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/client.rb +533 -0
  36. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/operations.rb +793 -0
  37. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/service_stub.rb +226 -0
  38. data/lib/google/cloud/resource_manager/v3/tag_holds/rest.rb +57 -0
  39. data/lib/google/cloud/resource_manager/v3/tag_holds.rb +60 -0
  40. data/lib/google/cloud/resource_manager/v3/tag_keys/client.rb +127 -40
  41. data/lib/google/cloud/resource_manager/v3/tag_keys/operations.rb +14 -16
  42. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/client.rb +1012 -0
  43. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/operations.rb +793 -0
  44. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/service_stub.rb +578 -0
  45. data/lib/google/cloud/resource_manager/v3/tag_keys/rest.rb +53 -0
  46. data/lib/google/cloud/resource_manager/v3/tag_keys.rb +7 -1
  47. data/lib/google/cloud/resource_manager/v3/tag_values/client.rb +139 -47
  48. data/lib/google/cloud/resource_manager/v3/tag_values/operations.rb +14 -16
  49. data/lib/google/cloud/resource_manager/v3/tag_values/rest/client.rb +1013 -0
  50. data/lib/google/cloud/resource_manager/v3/tag_values/rest/operations.rb +793 -0
  51. data/lib/google/cloud/resource_manager/v3/tag_values/rest/service_stub.rb +578 -0
  52. data/lib/google/cloud/resource_manager/v3/tag_values/rest.rb +53 -0
  53. data/lib/google/cloud/resource_manager/v3/tag_values.rb +7 -1
  54. data/lib/google/cloud/resource_manager/v3/version.rb +1 -1
  55. data/lib/google/cloud/resource_manager/v3.rb +8 -2
  56. data/lib/google/cloud/resourcemanager/v3/folders_services_pb.rb +23 -17
  57. data/lib/google/cloud/resourcemanager/v3/organizations_pb.rb +0 -1
  58. data/lib/google/cloud/resourcemanager/v3/projects_services_pb.rb +16 -13
  59. data/lib/google/cloud/resourcemanager/v3/tag_bindings_pb.rb +22 -0
  60. data/lib/google/cloud/resourcemanager/v3/tag_bindings_services_pb.rb +7 -5
  61. data/lib/google/cloud/resourcemanager/v3/tag_holds_pb.rb +63 -0
  62. data/lib/google/cloud/resourcemanager/v3/tag_holds_services_pb.rb +54 -0
  63. data/lib/google/cloud/resourcemanager/v3/tag_keys_pb.rb +11 -0
  64. data/lib/google/cloud/resourcemanager/v3/tag_keys_services_pb.rb +6 -2
  65. data/lib/google/cloud/resourcemanager/v3/tag_values_pb.rb +4 -0
  66. data/lib/google/cloud/resourcemanager/v3/tag_values_services_pb.rb +7 -4
  67. data/proto_docs/google/api/client.rb +372 -0
  68. data/proto_docs/google/api/launch_stage.rb +71 -0
  69. data/proto_docs/google/cloud/resourcemanager/v3/folders.rb +25 -19
  70. data/proto_docs/google/cloud/resourcemanager/v3/organizations.rb +13 -11
  71. data/proto_docs/google/cloud/resourcemanager/v3/projects.rb +32 -30
  72. data/proto_docs/google/cloud/resourcemanager/v3/tag_bindings.rb +101 -15
  73. data/proto_docs/google/cloud/resourcemanager/v3/tag_holds.rb +161 -0
  74. data/proto_docs/google/cloud/resourcemanager/v3/tag_keys.rb +81 -23
  75. data/proto_docs/google/cloud/resourcemanager/v3/tag_values.rb +52 -29
  76. data/proto_docs/google/iam/v1/policy.rb +8 -4
  77. data/proto_docs/google/protobuf/empty.rb +0 -2
  78. data/proto_docs/google/rpc/status.rb +4 -2
  79. metadata +46 -8
@@ -26,8 +26,8 @@ module Google
26
26
  # Google Cloud Platform resources.
27
27
  # @!attribute [r] name
28
28
  # @return [::String]
29
- # Output only. The unique resource name of the project. It is an int64 generated number
30
- # prefixed by "projects/".
29
+ # Output only. The unique resource name of the project. It is an int64
30
+ # generated number prefixed by "projects/".
31
31
  #
32
32
  # Example: `projects/415104041262`
33
33
  # @!attribute [rw] parent
@@ -64,9 +64,9 @@ module Google
64
64
  # Output only. The time at which this resource was requested for deletion.
65
65
  # @!attribute [r] etag
66
66
  # @return [::String]
67
- # Output only. A checksum computed by the server based on the current value of the Project
68
- # resource. This may be sent on update and delete requests to ensure the
69
- # client has an up-to-date value before proceeding.
67
+ # Output only. A checksum computed by the server based on the current value
68
+ # of the Project resource. This may be sent on update and delete requests to
69
+ # ensure the client has an up-to-date value before proceeding.
70
70
  # @!attribute [rw] labels
71
71
  # @return [::Google::Protobuf::Map{::String => ::String}]
72
72
  # Optional. The labels associated with this project.
@@ -77,7 +77,7 @@ module Google
77
77
  # Label values must be between 0 and 63 characters long and must conform
78
78
  # to the regular expression (\[a-z\](\[-a-z0-9\]*\[a-z0-9\])?)?.
79
79
  #
80
- # No more than 256 labels can be associated with a given resource.
80
+ # No more than 64 labels can be associated with a given resource.
81
81
  #
82
82
  # Clients should store labels in a representation such as JSON that does not
83
83
  # depend on specific characters being disallowed.
@@ -131,15 +131,17 @@ module Google
131
131
  # method.
132
132
  # @!attribute [rw] parent
133
133
  # @return [::String]
134
- # Required. The name of the parent resource to list projects under.
134
+ # Required. The name of the parent resource whose projects are being listed.
135
+ # Only children of this parent resource are listed; descendants are not
136
+ # listed.
135
137
  #
136
- # For example, setting this field to 'folders/1234' would list all projects
137
- # directly under that folder.
138
+ # If the parent is a folder, use the value `folders/{folder_id}`. If the
139
+ # parent is an organization, use the value `organizations/{org_id}`.
138
140
  # @!attribute [rw] page_token
139
141
  # @return [::String]
140
- # Optional. A pagination token returned from a previous call to [ListProjects]
141
- # [google.cloud.resourcemanager.v3.Projects.ListProjects]
142
- # that indicates from where listing should continue.
142
+ # Optional. A pagination token returned from a previous call to
143
+ # [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects] that
144
+ # indicates from where listing should continue.
143
145
  # @!attribute [rw] page_size
144
146
  # @return [::Integer]
145
147
  # Optional. The maximum number of projects to return in the response.
@@ -147,8 +149,8 @@ module Google
147
149
  # If unspecified, server picks an appropriate default.
148
150
  # @!attribute [rw] show_deleted
149
151
  # @return [::Boolean]
150
- # Optional. Indicate that projects in the `DELETE_REQUESTED` state should also be
151
- # returned. Normally only `ACTIVE` projects are returned.
152
+ # Optional. Indicate that projects in the `DELETE_REQUESTED` state should
153
+ # also be returned. Normally only `ACTIVE` projects are returned.
152
154
  class ListProjectsRequest
153
155
  include ::Google::Protobuf::MessageExts
154
156
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -192,22 +194,22 @@ module Google
192
194
  # @return [::String]
193
195
  # Optional. A query string for searching for projects that the caller has
194
196
  # `resourcemanager.projects.get` permission to. If multiple fields are
195
- # included in the query, the it will return results that match any of the
197
+ # included in the query, then it will return results that match any of the
196
198
  # fields. Some eligible fields are:
197
199
  #
198
200
  # ```
199
201
  # | Field | Description |
200
202
  # |-------------------------|----------------------------------------------|
201
203
  # | displayName, name | Filters by displayName. |
202
- # | parent | Project's parent. (for example: folders/123,
203
- # organizations/*) Prefer parent field over parent.type and parent.id. |
204
- # | parent.type | Parent's type: `folder` or `organization`. |
205
- # | parent.id | Parent's id number (for example: 123) |
206
- # | id, projectId | Filters by projectId. |
207
- # | state, lifecycleState | Filters by state. |
208
- # | labels | Filters by label name or value. |
209
- # | labels.<key> (where *key* is the name of a label) | Filters by label
210
- # name. |
204
+ # | parent | Project's parent (for example: folders/123,
205
+ # organizations/*). Prefer parent field over parent.type and parent.id.| |
206
+ # parent.type | Parent's type: `folder` or `organization`. | |
207
+ # parent.id | Parent's id number (for example: 123) | |
208
+ # id, projectId | Filters by projectId. | |
209
+ # state, lifecycleState | Filters by state. | |
210
+ # labels | Filters by label name or value. | |
211
+ # labels.\<key\> (where *key* is the name of a label) | Filters by label
212
+ # name.|
211
213
  # ```
212
214
  #
213
215
  # Search expressions are case insensitive.
@@ -223,17 +225,17 @@ module Google
223
225
  # | NAME:howl | Equivalent to above. |
224
226
  # | labels.color:* | The project has the label `color`. |
225
227
  # | labels.color:red | The project's label `color` has the value `red`. |
226
- # | labels.color:red&nbsp;labels.size:big | The project's label `color` has
227
- # the value `red` and its label `size` has the value `big`. |
228
+ # | labels.color:red labels.size:big | The project's label `color` has the
229
+ # value `red` or its label `size` has the value `big`. |
228
230
  # ```
229
231
  #
230
232
  # If no query is specified, the call will return projects for which the user
231
233
  # has the `resourcemanager.projects.get` permission.
232
234
  # @!attribute [rw] page_token
233
235
  # @return [::String]
234
- # Optional. A pagination token returned from a previous call to [ListProjects]
235
- # [google.cloud.resourcemanager.v3.Projects.ListProjects]
236
- # that indicates from where listing should continue.
236
+ # Optional. A pagination token returned from a previous call to
237
+ # [ListProjects] [google.cloud.resourcemanager.v3.Projects.ListProjects] that
238
+ # indicates from where listing should continue.
237
239
  # @!attribute [rw] page_size
238
240
  # @return [::Integer]
239
241
  # Optional. The maximum number of projects to return in the response.
@@ -285,7 +287,7 @@ module Google
285
287
  #
286
288
  # If the `parent` field is set, the `resourcemanager.projects.create`
287
289
  # permission is checked on the parent resource. If no parent is set and
288
- # the authorization credentials belong to an Organziation, the parent
290
+ # the authorization credentials belong to an Organization, the parent
289
291
  # will be set to that Organization.
290
292
  class CreateProjectRequest
291
293
  include ::Google::Protobuf::MessageExts
@@ -22,9 +22,8 @@ module Google
22
22
  module ResourceManager
23
23
  module V3
24
24
  # A TagBinding represents a connection between a TagValue and a cloud
25
- # resource (currently project, folder, or organization). Once a TagBinding is
26
- # created, the TagValue is applied to all the descendants of the cloud
27
- # resource.
25
+ # resource Once a TagBinding is created, the TagValue is applied to all the
26
+ # descendants of the Google Cloud resource.
28
27
  # @!attribute [r] name
29
28
  # @return [::String]
30
29
  # Output only. The name of the TagBinding. This is a String of the form:
@@ -38,6 +37,15 @@ module Google
38
37
  # @return [::String]
39
38
  # The TagValue of the TagBinding.
40
39
  # Must be of the form `tagValues/456`.
40
+ # @!attribute [rw] tag_value_namespaced_name
41
+ # @return [::String]
42
+ # The namespaced name for the TagValue of the TagBinding.
43
+ # Must be in the format
44
+ # `{parent_id}/{tag_key_short_name}/{short_name}`.
45
+ #
46
+ # For methods that support TagValue namespaced name, only one of
47
+ # tag_value_namespaced_name or tag_value may be filled. Requests with both
48
+ # fields will be rejected.
41
49
  class TagBinding
42
50
  include ::Google::Protobuf::MessageExts
43
51
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -55,8 +63,8 @@ module Google
55
63
  # Required. The TagBinding to be created.
56
64
  # @!attribute [rw] validate_only
57
65
  # @return [::Boolean]
58
- # Optional. Set to true to perform the validations necessary for creating the resource,
59
- # but not actually perform the action.
66
+ # Optional. Set to true to perform the validations necessary for creating the
67
+ # resource, but not actually perform the action.
60
68
  class CreateTagBindingRequest
61
69
  include ::Google::Protobuf::MessageExts
62
70
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -82,18 +90,18 @@ module Google
82
90
  # The request message to list all TagBindings for a parent.
83
91
  # @!attribute [rw] parent
84
92
  # @return [::String]
85
- # Required. The full resource name of a resource for which you want to list existing
86
- # TagBindings.
87
- # E.g. "//cloudresourcemanager.googleapis.com/projects/123"
93
+ # Required. The full resource name of a resource for which you want to list
94
+ # existing TagBindings. E.g.
95
+ # "//cloudresourcemanager.googleapis.com/projects/123"
88
96
  # @!attribute [rw] page_size
89
97
  # @return [::Integer]
90
- # Optional. The maximum number of TagBindings to return in the response. The server
91
- # allows a maximum of 300 TagBindings to return. If unspecified, the server
92
- # will use 100 as the default.
98
+ # Optional. The maximum number of TagBindings to return in the response. The
99
+ # server allows a maximum of 300 TagBindings to return. If unspecified, the
100
+ # server will use 100 as the default.
93
101
  # @!attribute [rw] page_token
94
102
  # @return [::String]
95
- # Optional. A pagination token returned from a previous call to `ListTagBindings`
96
- # that indicates where this listing should continue from.
103
+ # Optional. A pagination token returned from a previous call to
104
+ # `ListTagBindings` that indicates where this listing should continue from.
97
105
  class ListTagBindingsRequest
98
106
  include ::Google::Protobuf::MessageExts
99
107
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -102,8 +110,7 @@ module Google
102
110
  # The ListTagBindings response.
103
111
  # @!attribute [rw] tag_bindings
104
112
  # @return [::Array<::Google::Cloud::ResourceManager::V3::TagBinding>]
105
- # A possibly paginated list of TagBindings for the specified TagValue or
106
- # resource.
113
+ # A possibly paginated list of TagBindings for the specified resource.
107
114
  # @!attribute [rw] next_page_token
108
115
  # @return [::String]
109
116
  # Pagination token.
@@ -121,6 +128,85 @@ module Google
121
128
  include ::Google::Protobuf::MessageExts
122
129
  extend ::Google::Protobuf::MessageExts::ClassMethods
123
130
  end
131
+
132
+ # The request message to ListEffectiveTags
133
+ # @!attribute [rw] parent
134
+ # @return [::String]
135
+ # Required. The full resource name of a resource for which you want to list
136
+ # the effective tags. E.g.
137
+ # "//cloudresourcemanager.googleapis.com/projects/123"
138
+ # @!attribute [rw] page_size
139
+ # @return [::Integer]
140
+ # Optional. The maximum number of effective tags to return in the response.
141
+ # The server allows a maximum of 300 effective tags to return in a single
142
+ # page. If unspecified, the server will use 100 as the default.
143
+ # @!attribute [rw] page_token
144
+ # @return [::String]
145
+ # Optional. A pagination token returned from a previous call to
146
+ # `ListEffectiveTags` that indicates from where this listing should continue.
147
+ class ListEffectiveTagsRequest
148
+ include ::Google::Protobuf::MessageExts
149
+ extend ::Google::Protobuf::MessageExts::ClassMethods
150
+ end
151
+
152
+ # The response of ListEffectiveTags.
153
+ # @!attribute [rw] effective_tags
154
+ # @return [::Array<::Google::Cloud::ResourceManager::V3::EffectiveTag>]
155
+ # A possibly paginated list of effective tags for the specified resource.
156
+ # @!attribute [rw] next_page_token
157
+ # @return [::String]
158
+ # Pagination token.
159
+ #
160
+ # If the result set is too large to fit in a single response, this token
161
+ # is returned. It encodes the position of the current result cursor.
162
+ # Feeding this value into a new list request with the `page_token` parameter
163
+ # gives the next page of the results.
164
+ #
165
+ # When `next_page_token` is not filled in, there is no next page and
166
+ # the list returned is the last page in the result set.
167
+ #
168
+ # Pagination tokens have a limited lifetime.
169
+ class ListEffectiveTagsResponse
170
+ include ::Google::Protobuf::MessageExts
171
+ extend ::Google::Protobuf::MessageExts::ClassMethods
172
+ end
173
+
174
+ # An EffectiveTag represents a tag that applies to a resource during policy
175
+ # evaluation. Tags can be either directly bound to a resource or inherited from
176
+ # its ancestor. EffectiveTag contains the name and
177
+ # namespaced_name of the tag value and tag key, with additional fields of
178
+ # `inherited` to indicate the inheritance status of the effective tag.
179
+ # @!attribute [rw] tag_value
180
+ # @return [::String]
181
+ # Resource name for TagValue in the format `tagValues/456`.
182
+ # @!attribute [rw] namespaced_tag_value
183
+ # @return [::String]
184
+ # Namespaced name of the TagValue. Now only supported in the format
185
+ # `{organization_id}/{tag_key_short_name}/{tag_value_short_name}`.
186
+ # Other formats will be supported when we add non-org parented tags.
187
+ # @!attribute [rw] tag_key
188
+ # @return [::String]
189
+ # The name of the TagKey, in the format `tagKeys/{id}`, such as
190
+ # `tagKeys/123`.
191
+ # @!attribute [rw] namespaced_tag_key
192
+ # @return [::String]
193
+ # The namespaced_name of the TagKey. Now only supported in the format of
194
+ # `{organization_id}/{tag_key_short_name}`. Other formats will be
195
+ # supported when we add non-org parented tags.
196
+ # @!attribute [rw] tag_key_parent_name
197
+ # @return [::String]
198
+ # The parent name of the tag key.
199
+ # Must be in the format `organizations/{organization_id}`.
200
+ # @!attribute [rw] inherited
201
+ # @return [::Boolean]
202
+ # Indicates the inheritance status of a tag value
203
+ # attached to the given resource. If the tag value is inherited from one of
204
+ # the resource's ancestors, inherited will be true. If false, then the tag
205
+ # value is directly attached to the resource, inherited will be false.
206
+ class EffectiveTag
207
+ include ::Google::Protobuf::MessageExts
208
+ extend ::Google::Protobuf::MessageExts::ClassMethods
209
+ end
124
210
  end
125
211
  end
126
212
  end
@@ -0,0 +1,161 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2023 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 ResourceManager
23
+ module V3
24
+ # A TagHold represents the use of a TagValue that is not captured by
25
+ # TagBindings. If a TagValue has any TagHolds, deletion will be blocked.
26
+ # This resource is intended to be created in the same cloud location as the
27
+ # `holder`.
28
+ # @!attribute [r] name
29
+ # @return [::String]
30
+ # Output only. The resource name of a TagHold. This is a String of the form:
31
+ # `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`
32
+ # (e.g. `tagValues/123/tagHolds/456`). This resource name is generated by
33
+ # the server.
34
+ # @!attribute [rw] holder
35
+ # @return [::String]
36
+ # Required. The name of the resource where the TagValue is being used. Must
37
+ # be less than 200 characters. E.g.
38
+ # `//compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group`
39
+ # @!attribute [rw] origin
40
+ # @return [::String]
41
+ # Optional. An optional string representing the origin of this request. This
42
+ # field should include human-understandable information to distinguish
43
+ # origins from each other. Must be less than 200 characters. E.g.
44
+ # `migs-35678234`
45
+ # @!attribute [rw] help_link
46
+ # @return [::String]
47
+ # Optional. A URL where an end user can learn more about removing this hold.
48
+ # E.g.
49
+ # `https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing`
50
+ # @!attribute [r] create_time
51
+ # @return [::Google::Protobuf::Timestamp]
52
+ # Output only. The time this TagHold was created.
53
+ class TagHold
54
+ include ::Google::Protobuf::MessageExts
55
+ extend ::Google::Protobuf::MessageExts::ClassMethods
56
+ end
57
+
58
+ # The request message to create a TagHold.
59
+ # @!attribute [rw] parent
60
+ # @return [::String]
61
+ # Required. The resource name of the TagHold's parent TagValue. Must be of
62
+ # the form: `tagValues/{tag-value-id}`.
63
+ # @!attribute [rw] tag_hold
64
+ # @return [::Google::Cloud::ResourceManager::V3::TagHold]
65
+ # Required. The TagHold to be created.
66
+ # @!attribute [rw] validate_only
67
+ # @return [::Boolean]
68
+ # Optional. Set to true to perform the validations necessary for creating the
69
+ # resource, but not actually perform the action.
70
+ class CreateTagHoldRequest
71
+ include ::Google::Protobuf::MessageExts
72
+ extend ::Google::Protobuf::MessageExts::ClassMethods
73
+ end
74
+
75
+ # Runtime operation information for creating a TagHold.
76
+ # (-- The metadata is currently empty, but may include information in the
77
+ # future. --)
78
+ class CreateTagHoldMetadata
79
+ include ::Google::Protobuf::MessageExts
80
+ extend ::Google::Protobuf::MessageExts::ClassMethods
81
+ end
82
+
83
+ # The request message to delete a TagHold.
84
+ # @!attribute [rw] name
85
+ # @return [::String]
86
+ # Required. The resource name of the TagHold to delete. Must be of the form:
87
+ # `tagValues/{tag-value-id}/tagHolds/{tag-hold-id}`.
88
+ # @!attribute [rw] validate_only
89
+ # @return [::Boolean]
90
+ # Optional. Set to true to perform the validations necessary for deleting the
91
+ # resource, but not actually perform the action.
92
+ class DeleteTagHoldRequest
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # Runtime operation information for deleting a TagHold.
98
+ # (-- The metadata is currently empty, but may include information in the
99
+ # future. --)
100
+ class DeleteTagHoldMetadata
101
+ include ::Google::Protobuf::MessageExts
102
+ extend ::Google::Protobuf::MessageExts::ClassMethods
103
+ end
104
+
105
+ # The request message for listing the TagHolds under a TagValue.
106
+ # @!attribute [rw] parent
107
+ # @return [::String]
108
+ # Required. The resource name of the parent TagValue. Must be of the form:
109
+ # `tagValues/{tag-value-id}`.
110
+ # @!attribute [rw] page_size
111
+ # @return [::Integer]
112
+ # Optional. The maximum number of TagHolds to return in the response. The
113
+ # server allows a maximum of 300 TagHolds to return. If unspecified, the
114
+ # server will use 100 as the default.
115
+ # @!attribute [rw] page_token
116
+ # @return [::String]
117
+ # Optional. A pagination token returned from a previous call to
118
+ # `ListTagHolds` that indicates where this listing should continue from.
119
+ # @!attribute [rw] filter
120
+ # @return [::String]
121
+ # Optional. Criteria used to select a subset of TagHolds parented by the
122
+ # TagValue to return. This field follows the syntax defined by aip.dev/160;
123
+ # the `holder` and `origin` fields are supported for filtering. Currently
124
+ # only `AND` syntax is supported. Some example queries are:
125
+ #
126
+ # * `holder =
127
+ # //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group`
128
+ # * `origin = 35678234`
129
+ # * `holder =
130
+ # //compute.googleapis.com/compute/projects/myproject/regions/us-east-1/instanceGroupManagers/instance-group
131
+ # AND origin = 35678234`
132
+ class ListTagHoldsRequest
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+ end
136
+
137
+ # The ListTagHolds response.
138
+ # @!attribute [rw] tag_holds
139
+ # @return [::Array<::Google::Cloud::ResourceManager::V3::TagHold>]
140
+ # A possibly paginated list of TagHolds.
141
+ # @!attribute [rw] next_page_token
142
+ # @return [::String]
143
+ # Pagination token.
144
+ #
145
+ # If the result set is too large to fit in a single response, this token
146
+ # is returned. It encodes the position of the current result cursor.
147
+ # Feeding this value into a new list request with the `page_token` parameter
148
+ # gives the next page of the results.
149
+ #
150
+ # When `next_page_token` is not filled in, there is no next page and
151
+ # the list returned is the last page in the result set.
152
+ #
153
+ # Pagination tokens have a limited lifetime.
154
+ class ListTagHoldsResponse
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+ end
159
+ end
160
+ end
161
+ end
@@ -33,8 +33,8 @@ module Google
33
33
  # Must be of the form `organizations/{org_id}`.
34
34
  # @!attribute [rw] short_name
35
35
  # @return [::String]
36
- # Required. Immutable. The user friendly name for a TagKey. The short name should be
37
- # unique for TagKeys within the same tag namespace.
36
+ # Required. Immutable. The user friendly name for a TagKey. The short name
37
+ # should be unique for TagKeys within the same tag namespace.
38
38
  #
39
39
  # The short name must be 1-63 characters, beginning and ending with
40
40
  # an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
@@ -44,7 +44,8 @@ module Google
44
44
  # Output only. Immutable. Namespaced name of the TagKey.
45
45
  # @!attribute [rw] description
46
46
  # @return [::String]
47
- # Optional. User-assigned description of the TagKey. Must not exceed 256 characters.
47
+ # Optional. User-assigned description of the TagKey. Must not exceed 256
48
+ # characters.
48
49
  #
49
50
  # Read-write.
50
51
  # @!attribute [r] create_time
@@ -55,11 +56,36 @@ module Google
55
56
  # Output only. Update time.
56
57
  # @!attribute [rw] etag
57
58
  # @return [::String]
58
- # Optional. Entity tag which users can pass to prevent race conditions. This field is
59
- # always set in server responses. See UpdateTagKeyRequest for details.
59
+ # Optional. Entity tag which users can pass to prevent race conditions. This
60
+ # field is always set in server responses. See UpdateTagKeyRequest for
61
+ # details.
62
+ # @!attribute [rw] purpose
63
+ # @return [::Google::Cloud::ResourceManager::V3::Purpose]
64
+ # Optional. A purpose denotes that this Tag is intended for use in policies
65
+ # of a specific policy engine, and will involve that policy engine in
66
+ # management operations involving this Tag. A purpose does not grant a
67
+ # policy engine exclusive rights to the Tag, and it may be referenced by
68
+ # other policy engines.
69
+ #
70
+ # A purpose cannot be changed once set.
71
+ # @!attribute [rw] purpose_data
72
+ # @return [::Google::Protobuf::Map{::String => ::String}]
73
+ # Optional. Purpose data corresponds to the policy system that the tag is
74
+ # intended for. See documentation for `Purpose` for formatting of this field.
75
+ #
76
+ # Purpose data cannot be changed once set.
60
77
  class TagKey
61
78
  include ::Google::Protobuf::MessageExts
62
79
  extend ::Google::Protobuf::MessageExts::ClassMethods
80
+
81
+ # @!attribute [rw] key
82
+ # @return [::String]
83
+ # @!attribute [rw] value
84
+ # @return [::String]
85
+ class PurposeDataEntry
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
63
89
  end
64
90
 
65
91
  # The request message for listing all TagKeys under a parent resource.
@@ -69,9 +95,9 @@ module Google
69
95
  # Must be of the form `folders/{folder_id}` or `organizations/{org_id}`.
70
96
  # @!attribute [rw] page_size
71
97
  # @return [::Integer]
72
- # Optional. The maximum number of TagKeys to return in the response. The server allows
73
- # a maximum of 300 TagKeys to return. If unspecified, the server will use 100
74
- # as the default.
98
+ # Optional. The maximum number of TagKeys to return in the response. The
99
+ # server allows a maximum of 300 TagKeys to return. If unspecified, the
100
+ # server will use 100 as the default.
75
101
  # @!attribute [rw] page_token
76
102
  # @return [::String]
77
103
  # Optional. A pagination token returned from a previous call to `ListTagKey`
@@ -104,15 +130,27 @@ module Google
104
130
  extend ::Google::Protobuf::MessageExts::ClassMethods
105
131
  end
106
132
 
133
+ # The request message for getting a TagKey by its namespaced name.
134
+ # @!attribute [rw] name
135
+ # @return [::String]
136
+ # Required. A namespaced tag key name in the format
137
+ # `{parentId}/{tagKeyShort}`, such as `42/foo` for a key with short name
138
+ # "foo" under the organization with ID 42 or `r2-d2/bar` for a key with short
139
+ # name "bar" under the project `r2-d2`.
140
+ class GetNamespacedTagKeyRequest
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
107
145
  # The request message for creating a TagKey.
108
146
  # @!attribute [rw] tag_key
109
147
  # @return [::Google::Cloud::ResourceManager::V3::TagKey]
110
- # Required. The TagKey to be created. Only fields `short_name`, `description`,
111
- # and `parent` are considered during the creation request.
148
+ # Required. The TagKey to be created. Only fields `short_name`,
149
+ # `description`, and `parent` are considered during the creation request.
112
150
  # @!attribute [rw] validate_only
113
151
  # @return [::Boolean]
114
- # Optional. Set to true to perform validations necessary for creating the resource, but
115
- # not actually perform the action.
152
+ # Optional. Set to true to perform validations necessary for creating the
153
+ # resource, but not actually perform the action.
116
154
  class CreateTagKeyRequest
117
155
  include ::Google::Protobuf::MessageExts
118
156
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -127,10 +165,10 @@ module Google
127
165
  # The request message for updating a TagKey.
128
166
  # @!attribute [rw] tag_key
129
167
  # @return [::Google::Cloud::ResourceManager::V3::TagKey]
130
- # Required. The new definition of the TagKey. Only the `description` and `etag` fields
131
- # can be updated by this request. If the `etag` field is not empty, it
132
- # must match the `etag` field of the existing tag key. Otherwise,
133
- # `FAILED_PRECONDITION` will be returned.
168
+ # Required. The new definition of the TagKey. Only the `description` and
169
+ # `etag` fields can be updated by this request. If the `etag` field is not
170
+ # empty, it must match the `etag` field of the existing tag key. Otherwise,
171
+ # `ABORTED` will be returned.
134
172
  # @!attribute [rw] update_mask
135
173
  # @return [::Google::Protobuf::FieldMask]
136
174
  # Fields to be updated. The mask may only contain `description` or
@@ -154,17 +192,17 @@ module Google
154
192
  # The request message for deleting a TagKey.
155
193
  # @!attribute [rw] name
156
194
  # @return [::String]
157
- # Required. The resource name of a TagKey to be deleted in the format `tagKeys/123`.
158
- # The TagKey cannot be a parent of any existing TagValues or it will not be
159
- # deleted successfully.
195
+ # Required. The resource name of a TagKey to be deleted in the format
196
+ # `tagKeys/123`. The TagKey cannot be a parent of any existing TagValues or
197
+ # it will not be deleted successfully.
160
198
  # @!attribute [rw] validate_only
161
199
  # @return [::Boolean]
162
- # Optional. Set as true to perform validations necessary for deletion, but not actually
163
- # perform the action.
200
+ # Optional. Set as true to perform validations necessary for deletion, but
201
+ # not actually perform the action.
164
202
  # @!attribute [rw] etag
165
203
  # @return [::String]
166
- # Optional. The etag known to the client for the expected state of the TagKey. This is
167
- # to be used for optimistic concurrency.
204
+ # Optional. The etag known to the client for the expected state of the
205
+ # TagKey. This is to be used for optimistic concurrency.
168
206
  class DeleteTagKeyRequest
169
207
  include ::Google::Protobuf::MessageExts
170
208
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -175,6 +213,26 @@ module Google
175
213
  include ::Google::Protobuf::MessageExts
176
214
  extend ::Google::Protobuf::MessageExts::ClassMethods
177
215
  end
216
+
217
+ # A purpose for each policy engine requiring such an integration. A single
218
+ # policy engine may have multiple purposes defined, however a TagKey may only
219
+ # specify a single purpose.
220
+ module Purpose
221
+ # Unspecified purpose.
222
+ PURPOSE_UNSPECIFIED = 0
223
+
224
+ # Purpose for Compute Engine firewalls.
225
+ # A corresponding purpose_data should be set for the network the tag is
226
+ # intended for. The key should be 'network' and the value should be in
227
+ # either of these two formats:
228
+ # -https://www.googleapis.com/compute/\\{compute_version}/projects/\\{project_id}/global/networks/\\{network_id}
229
+ # -\\{project_id}/\\{network_name}
230
+ #
231
+ # Examples:
232
+ # -https://www.googleapis.com/compute/staging_v1/projects/fail-closed-load-testing/global/networks/6992953698831725600
233
+ # -fail-closed-load-testing/load-testing-network
234
+ GCE_FIREWALL = 1
235
+ end
178
236
  end
179
237
  end
180
238
  end