google-cloud-resource_manager-v3 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/google/cloud/resource_manager/v3/folders/client.rb +47 -35
  4. data/lib/google/cloud/resource_manager/v3/folders/operations.rb +2 -2
  5. data/lib/google/cloud/resource_manager/v3/folders/rest/client.rb +47 -35
  6. data/lib/google/cloud/resource_manager/v3/folders/rest/operations.rb +2 -2
  7. data/lib/google/cloud/resource_manager/v3/organizations/client.rb +12 -10
  8. data/lib/google/cloud/resource_manager/v3/organizations/rest/client.rb +12 -10
  9. data/lib/google/cloud/resource_manager/v3/projects/client.rb +44 -39
  10. data/lib/google/cloud/resource_manager/v3/projects/operations.rb +2 -2
  11. data/lib/google/cloud/resource_manager/v3/projects/rest/client.rb +44 -39
  12. data/lib/google/cloud/resource_manager/v3/projects/rest/operations.rb +2 -2
  13. data/lib/google/cloud/resource_manager/v3/rest.rb +1 -0
  14. data/lib/google/cloud/resource_manager/v3/tag_bindings/client.rb +115 -17
  15. data/lib/google/cloud/resource_manager/v3/tag_bindings/operations.rb +2 -2
  16. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/client.rb +96 -17
  17. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/operations.rb +2 -2
  18. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest/service_stub.rb +57 -0
  19. data/lib/google/cloud/resource_manager/v3/tag_bindings/rest.rb +1 -1
  20. data/lib/google/cloud/resource_manager/v3/tag_bindings.rb +1 -1
  21. data/lib/google/cloud/resource_manager/v3/tag_holds/client.rb +640 -0
  22. data/lib/google/cloud/resource_manager/v3/tag_holds/credentials.rb +52 -0
  23. data/lib/google/cloud/resource_manager/v3/tag_holds/operations.rb +768 -0
  24. data/lib/google/cloud/resource_manager/v3/tag_holds/paths.rb +64 -0
  25. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/client.rb +533 -0
  26. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/operations.rb +793 -0
  27. data/lib/google/cloud/resource_manager/v3/tag_holds/rest/service_stub.rb +226 -0
  28. data/lib/google/cloud/resource_manager/v3/tag_holds/rest.rb +57 -0
  29. data/lib/google/cloud/resource_manager/v3/tag_holds.rb +60 -0
  30. data/lib/google/cloud/resource_manager/v3/tag_keys/client.rb +111 -22
  31. data/lib/google/cloud/resource_manager/v3/tag_keys/operations.rb +2 -2
  32. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/client.rb +96 -22
  33. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/operations.rb +2 -2
  34. data/lib/google/cloud/resource_manager/v3/tag_keys/rest/service_stub.rb +57 -0
  35. data/lib/google/cloud/resource_manager/v3/tag_values/client.rb +123 -29
  36. data/lib/google/cloud/resource_manager/v3/tag_values/operations.rb +2 -2
  37. data/lib/google/cloud/resource_manager/v3/tag_values/rest/client.rb +108 -29
  38. data/lib/google/cloud/resource_manager/v3/tag_values/rest/operations.rb +2 -2
  39. data/lib/google/cloud/resource_manager/v3/tag_values/rest/service_stub.rb +57 -0
  40. data/lib/google/cloud/resource_manager/v3/version.rb +1 -1
  41. data/lib/google/cloud/resource_manager/v3.rb +1 -0
  42. data/lib/google/cloud/resourcemanager/v3/folders_services_pb.rb +23 -17
  43. data/lib/google/cloud/resourcemanager/v3/projects_services_pb.rb +16 -13
  44. data/lib/google/cloud/resourcemanager/v3/tag_bindings_pb.rb +22 -0
  45. data/lib/google/cloud/resourcemanager/v3/tag_bindings_services_pb.rb +7 -5
  46. data/lib/google/cloud/resourcemanager/v3/tag_holds_pb.rb +63 -0
  47. data/lib/google/cloud/resourcemanager/v3/tag_holds_services_pb.rb +54 -0
  48. data/lib/google/cloud/resourcemanager/v3/tag_keys_pb.rb +11 -0
  49. data/lib/google/cloud/resourcemanager/v3/tag_keys_services_pb.rb +6 -2
  50. data/lib/google/cloud/resourcemanager/v3/tag_values_pb.rb +4 -0
  51. data/lib/google/cloud/resourcemanager/v3/tag_values_services_pb.rb +7 -4
  52. data/proto_docs/google/api/client.rb +57 -3
  53. data/proto_docs/google/cloud/resourcemanager/v3/folders.rb +25 -19
  54. data/proto_docs/google/cloud/resourcemanager/v3/organizations.rb +13 -11
  55. data/proto_docs/google/cloud/resourcemanager/v3/projects.rb +32 -30
  56. data/proto_docs/google/cloud/resourcemanager/v3/tag_bindings.rb +101 -15
  57. data/proto_docs/google/cloud/resourcemanager/v3/tag_holds.rb +161 -0
  58. data/proto_docs/google/cloud/resourcemanager/v3/tag_keys.rb +81 -23
  59. data/proto_docs/google/cloud/resourcemanager/v3/tag_values.rb +52 -29
  60. data/proto_docs/google/iam/v1/policy.rb +8 -4
  61. metadata +14 -2
@@ -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
@@ -32,16 +32,18 @@ module Google
32
32
  # Must be of the form `tagKeys/{tag_key_id}`.
33
33
  # @!attribute [rw] short_name
34
34
  # @return [::String]
35
- # Required. Immutable. User-assigned short name for TagValue. The short name should be
36
- # unique for TagValues within the same parent TagKey.
35
+ # Required. Immutable. User-assigned short name for TagValue. The short name
36
+ # should be unique for TagValues within the same parent TagKey.
37
37
  #
38
38
  # The short name must be 63 characters or less, beginning and ending with
39
39
  # an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
40
40
  # dots (.), and alphanumerics between.
41
41
  # @!attribute [r] namespaced_name
42
42
  # @return [::String]
43
- # Output only. Namespaced name of the TagValue. Must be in the format
44
- # `{organization_id}/{tag_key_short_name}/{short_name}`.
43
+ # Output only. Namespaced name of the TagValue. Now only supported in the
44
+ # format
45
+ # `{organization_id}/{tag_key_short_name}/{short_name}`. Other
46
+ # formats will be supported when we add non-org parented tags.
45
47
  # @!attribute [rw] description
46
48
  # @return [::String]
47
49
  # Optional. User-assigned description of the TagValue.
@@ -56,27 +58,29 @@ module Google
56
58
  # Output only. Update time.
57
59
  # @!attribute [rw] etag
58
60
  # @return [::String]
59
- # Optional. Entity tag which users can pass to prevent race conditions. This field is
60
- # always set in server responses. See UpdateTagValueRequest for details.
61
+ # Optional. Entity tag which users can pass to prevent race conditions. This
62
+ # field is always set in server responses. See UpdateTagValueRequest for
63
+ # details.
61
64
  class TagValue
62
65
  include ::Google::Protobuf::MessageExts
63
66
  extend ::Google::Protobuf::MessageExts::ClassMethods
64
67
  end
65
68
 
66
69
  # The request message for listing TagValues for the specified TagKey.
70
+ # Resource name for TagKey, parent of the TagValues to be listed,
71
+ # in the format `tagKeys/123`.
67
72
  # @!attribute [rw] parent
68
73
  # @return [::String]
69
- # Required. Resource name for TagKey, parent of the TagValues to be listed,
70
- # in the format `tagKeys/123`.
74
+ # Required.
71
75
  # @!attribute [rw] page_size
72
76
  # @return [::Integer]
73
- # Optional. The maximum number of TagValues to return in the response. The server
74
- # allows a maximum of 300 TagValues to return. If unspecified, the server
75
- # will use 100 as the default.
77
+ # Optional. The maximum number of TagValues to return in the response. The
78
+ # server allows a maximum of 300 TagValues to return. If unspecified, the
79
+ # server will use 100 as the default.
76
80
  # @!attribute [rw] page_token
77
81
  # @return [::String]
78
- # Optional. A pagination token returned from a previous call to `ListTagValues`
79
- # that indicates where this listing should continue from.
82
+ # Optional. A pagination token returned from a previous call to
83
+ # `ListTagValues` that indicates where this listing should continue from.
80
84
  class ListTagValuesRequest
81
85
  include ::Google::Protobuf::MessageExts
82
86
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -100,21 +104,39 @@ module Google
100
104
  # The request message for getting a TagValue.
101
105
  # @!attribute [rw] name
102
106
  # @return [::String]
103
- # Required. Resource name for TagValue to be fetched in the format `tagValues/456`.
107
+ # Required. Resource name for TagValue to be fetched in the format
108
+ # `tagValues/456`.
104
109
  class GetTagValueRequest
105
110
  include ::Google::Protobuf::MessageExts
106
111
  extend ::Google::Protobuf::MessageExts::ClassMethods
107
112
  end
108
113
 
114
+ # The request message for getting a TagValue by its namespaced name.
115
+ # @!attribute [rw] name
116
+ # @return [::String]
117
+ # Required. A namespaced tag value name in the following format:
118
+ #
119
+ # `{parentId}/{tagKeyShort}/{tagValueShort}`
120
+ #
121
+ # Examples:
122
+ # - `42/foo/abc` for a value with short name "abc" under the key with short
123
+ # name "foo" under the organization with ID 42
124
+ # - `r2-d2/bar/xyz` for a value with short name "xyz" under the key with
125
+ # short name "bar" under the project with ID "r2-d2"
126
+ class GetNamespacedTagValueRequest
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
109
131
  # The request message for creating a TagValue.
110
132
  # @!attribute [rw] tag_value
111
133
  # @return [::Google::Cloud::ResourceManager::V3::TagValue]
112
- # Required. The TagValue to be created. Only fields `short_name`, `description`,
113
- # and `parent` are considered during the creation request.
134
+ # Required. The TagValue to be created. Only fields `short_name`,
135
+ # `description`, and `parent` are considered during the creation request.
114
136
  # @!attribute [rw] validate_only
115
137
  # @return [::Boolean]
116
- # Optional. Set as true to perform the validations necessary for creating the resource,
117
- # but not actually perform the action.
138
+ # Optional. Set as true to perform the validations necessary for creating the
139
+ # resource, but not actually perform the action.
118
140
  class CreateTagValueRequest
119
141
  include ::Google::Protobuf::MessageExts
120
142
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -129,17 +151,17 @@ module Google
129
151
  # The request message for updating a TagValue.
130
152
  # @!attribute [rw] tag_value
131
153
  # @return [::Google::Cloud::ResourceManager::V3::TagValue]
132
- # Required. The new definition of the TagValue. Only fields `description` and `etag`
133
- # fields can be updated by this request. If the `etag` field is nonempty, it
134
- # must match the `etag` field of the existing ControlGroup. Otherwise,
135
- # `FAILED_PRECONDITION` will be returned.
154
+ # Required. The new definition of the TagValue. Only fields `description` and
155
+ # `etag` fields can be updated by this request. If the `etag` field is
156
+ # nonempty, it must match the `etag` field of the existing ControlGroup.
157
+ # Otherwise, `ABORTED` will be returned.
136
158
  # @!attribute [rw] update_mask
137
159
  # @return [::Google::Protobuf::FieldMask]
138
160
  # Optional. Fields to be updated.
139
161
  # @!attribute [rw] validate_only
140
162
  # @return [::Boolean]
141
- # Optional. True to perform validations necessary for updating the resource, but not
142
- # actually perform the action.
163
+ # Optional. True to perform validations necessary for updating the resource,
164
+ # but not actually perform the action.
143
165
  class UpdateTagValueRequest
144
166
  include ::Google::Protobuf::MessageExts
145
167
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -154,15 +176,16 @@ module Google
154
176
  # The request message for deleting a TagValue.
155
177
  # @!attribute [rw] name
156
178
  # @return [::String]
157
- # Required. Resource name for TagValue to be deleted in the format tagValues/456.
179
+ # Required. Resource name for TagValue to be deleted in the format
180
+ # tagValues/456.
158
181
  # @!attribute [rw] validate_only
159
182
  # @return [::Boolean]
160
- # Optional. Set as true to perform the validations necessary for deletion, but not
161
- # actually perform the action.
183
+ # Optional. Set as true to perform the validations necessary for deletion,
184
+ # but not actually perform the action.
162
185
  # @!attribute [rw] etag
163
186
  # @return [::String]
164
- # Optional. The etag known to the client for the expected state of the TagValue. This
165
- # is to be used for optimistic concurrency.
187
+ # Optional. The etag known to the client for the expected state of the
188
+ # TagValue. This is to be used for optimistic concurrency.
166
189
  class DeleteTagValueRequest
167
190
  include ::Google::Protobuf::MessageExts
168
191
  extend ::Google::Protobuf::MessageExts::ClassMethods