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
@@ -20,6 +20,7 @@ require "google/cloud/resource_manager/v3/folders"
20
20
  require "google/cloud/resource_manager/v3/organizations"
21
21
  require "google/cloud/resource_manager/v3/projects"
22
22
  require "google/cloud/resource_manager/v3/tag_bindings"
23
+ require "google/cloud/resource_manager/v3/tag_holds"
23
24
  require "google/cloud/resource_manager/v3/tag_keys"
24
25
  require "google/cloud/resource_manager/v3/tag_values"
25
26
  require "google/cloud/resource_manager/v3/version"
@@ -28,13 +29,18 @@ module Google
28
29
  module Cloud
29
30
  module ResourceManager
30
31
  ##
31
- # To load this package, including all its services, and instantiate a client:
32
+ # API client module.
32
33
  #
33
- # @example
34
+ # @example Load this package, including all its services, and instantiate a gRPC client
34
35
  #
35
36
  # require "google/cloud/resource_manager/v3"
36
37
  # client = ::Google::Cloud::ResourceManager::V3::Folders::Client.new
37
38
  #
39
+ # @example Load this package, including all its services, and instantiate a REST client
40
+ #
41
+ # require "google/cloud/resource_manager/v3"
42
+ # client = ::Google::Cloud::ResourceManager::V3::Folders::Rest::Client.new
43
+ #
38
44
  module V3
39
45
  end
40
46
  end
@@ -87,7 +87,9 @@ module Google
87
87
  # Updates a folder, changing its `display_name`.
88
88
  # Changes to the folder `display_name` will be rejected if they violate
89
89
  # either the `display_name` formatting rules or the naming constraints
90
- # described in the [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder] documentation.
90
+ # described in the
91
+ # [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
92
+ # documentation.
91
93
  #
92
94
  # The folder's `display_name` must start and end with a letter or digit,
93
95
  # may contain letters, digits, spaces, hyphens and underscores and can be
@@ -114,29 +116,33 @@ module Google
114
116
  # `FolderOperation` message as an aid to stateless clients.
115
117
  # Folder moves will be rejected if they violate either the naming, height,
116
118
  # or fanout constraints described in the
117
- # [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder] documentation.
118
- # The caller must have `resourcemanager.folders.move` permission on the
119
- # folder's current and proposed new parent.
119
+ # [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
120
+ # documentation. The caller must have `resourcemanager.folders.move`
121
+ # permission on the folder's current and proposed new parent.
120
122
  rpc :MoveFolder, ::Google::Cloud::ResourceManager::V3::MoveFolderRequest, ::Google::Longrunning::Operation
121
123
  # Requests deletion of a folder. The folder is moved into the
122
- # [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED] state
123
- # immediately, and is deleted approximately 30 days later. This method may
124
- # only be called on an empty folder, where a folder is empty if it doesn't
125
- # contain any folders or projects in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state.
126
- # If called on a folder in [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
124
+ # [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
125
+ # state immediately, and is deleted approximately 30 days later. This method
126
+ # may only be called on an empty folder, where a folder is empty if it
127
+ # doesn't contain any folders or projects in the
128
+ # [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. If
129
+ # called on a folder in
130
+ # [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED]
127
131
  # state the operation will result in a no-op success.
128
132
  # The caller must have `resourcemanager.folders.delete` permission on the
129
133
  # identified folder.
130
134
  rpc :DeleteFolder, ::Google::Cloud::ResourceManager::V3::DeleteFolderRequest, ::Google::Longrunning::Operation
131
135
  # Cancels the deletion request for a folder. This method may be called on a
132
- # folder in any state. If the folder is in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE]
133
- # state the result will be a no-op success. In order to succeed, the folder's
134
- # parent must be in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. In addition,
135
- # reintroducing the folder into the tree must not violate folder naming,
136
- # height, and fanout constraints described in the
137
- # [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder] documentation.
138
- # The caller must have `resourcemanager.folders.undelete` permission on the
139
- # identified folder.
136
+ # folder in any state. If the folder is in the
137
+ # [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state the
138
+ # result will be a no-op success. In order to succeed, the folder's parent
139
+ # must be in the
140
+ # [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. In
141
+ # addition, reintroducing the folder into the tree must not violate folder
142
+ # naming, height, and fanout constraints described in the
143
+ # [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder]
144
+ # documentation. The caller must have `resourcemanager.folders.undelete`
145
+ # permission on the identified folder.
140
146
  rpc :UndeleteFolder, ::Google::Cloud::ResourceManager::V3::UndeleteFolderRequest, ::Google::Longrunning::Operation
141
147
  # Gets the access control policy for a folder. The returned policy may be
142
148
  # empty if no such policy or resource exists. The `resource` field should
@@ -9,7 +9,6 @@ require 'google/api/field_behavior_pb'
9
9
  require 'google/api/resource_pb'
10
10
  require 'google/iam/v1/iam_policy_pb'
11
11
  require 'google/iam/v1/policy_pb'
12
- require 'google/longrunning/operations_pb'
13
12
  require 'google/protobuf/timestamp_pb'
14
13
 
15
14
  Google::Protobuf::DescriptorPool.generated_pool.build do
@@ -78,9 +78,12 @@ module Google
78
78
  # Upon success, the `Operation.response` field will be populated with the
79
79
  # moved project.
80
80
  #
81
- # The caller must have `resourcemanager.projects.update` permission on the
82
- # project and have `resourcemanager.projects.move` permission on the
83
- # project's current and proposed new parent.
81
+ # The caller must have `resourcemanager.projects.move` permission on the
82
+ # project, on the project's current and proposed new parent.
83
+ #
84
+ # If project has no current parent, or it currently does not have an
85
+ # associated organization resource, you will also need the
86
+ # `resourcemanager.projects.setIamPolicy` permission in the project.
84
87
  #
85
88
  #
86
89
  rpc :MoveProject, ::Google::Cloud::ResourceManager::V3::MoveProjectRequest, ::Google::Longrunning::Operation
@@ -92,7 +95,8 @@ module Google
92
95
  #
93
96
  # This method changes the Project's lifecycle state from
94
97
  # [ACTIVE][google.cloud.resourcemanager.v3.Project.State.ACTIVE]
95
- # to [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Project.State.DELETE_REQUESTED].
98
+ # to
99
+ # [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Project.State.DELETE_REQUESTED].
96
100
  # The deletion starts at an unspecified time,
97
101
  # at which point the Project is no longer accessible.
98
102
  #
@@ -127,10 +131,12 @@ module Google
127
131
  # The caller must have `resourcemanager.projects.undelete` permission for
128
132
  # this project.
129
133
  rpc :UndeleteProject, ::Google::Cloud::ResourceManager::V3::UndeleteProjectRequest, ::Google::Longrunning::Operation
130
- # Returns the IAM access control policy for the specified project.
134
+ # Returns the IAM access control policy for the specified project, in the
135
+ # format `projects/{ProjectIdOrNumber}` e.g. projects/123.
131
136
  # Permission is denied if the policy or the resource do not exist.
132
137
  rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
133
- # Sets the IAM access control policy for the specified project.
138
+ # Sets the IAM access control policy for the specified project, in the
139
+ # format `projects/{ProjectIdOrNumber}` e.g. projects/123.
134
140
  #
135
141
  # CAUTION: This method will replace the existing policy, and cannot be used
136
142
  # to append additional IAM settings.
@@ -162,20 +168,17 @@ module Google
162
168
  # `setIamPolicy()`;
163
169
  # they must be sent only using the Cloud Platform Console.
164
170
  #
165
- # + Membership changes that leave the project without any owners that have
166
- # accepted the Terms of Service (ToS) will be rejected.
167
- #
168
171
  # + If the project is not part of an organization, there must be at least
169
172
  # one owner who has accepted the Terms of Service (ToS) agreement in the
170
173
  # policy. Calling `setIamPolicy()` to remove the last ToS-accepted owner
171
174
  # from the policy will fail. This restriction also applies to legacy
172
175
  # projects that no longer have owners who have accepted the ToS. Edits to
173
176
  # IAM policies will be rejected until the lack of a ToS-accepting owner is
174
- # rectified.
175
- #
176
- # + Calling this method requires enabling the App Engine Admin API.
177
+ # rectified. If the project is part of an organization, you can remove all
178
+ # owners, potentially making the organization inaccessible.
177
179
  rpc :SetIamPolicy, ::Google::Iam::V1::SetIamPolicyRequest, ::Google::Iam::V1::Policy
178
- # Returns permissions that a caller has on the specified project.
180
+ # Returns permissions that a caller has on the specified project, in the
181
+ # format `projects/{ProjectIdOrNumber}` e.g. projects/123..
179
182
  rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
180
183
  end
181
184
 
@@ -8,6 +8,7 @@ require 'google/api/client_pb'
8
8
  require 'google/api/field_behavior_pb'
9
9
  require 'google/api/resource_pb'
10
10
  require 'google/longrunning/operations_pb'
11
+ require 'google/protobuf/empty_pb'
11
12
 
12
13
  Google::Protobuf::DescriptorPool.generated_pool.build do
13
14
  add_file("google/cloud/resourcemanager/v3/tag_bindings.proto", :syntax => :proto3) do
@@ -15,6 +16,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
15
16
  optional :name, :string, 1
16
17
  optional :parent, :string, 2
17
18
  optional :tag_value, :string, 3
19
+ optional :tag_value_namespaced_name, :string, 4
18
20
  end
19
21
  add_message "google.cloud.resourcemanager.v3.CreateTagBindingMetadata" do
20
22
  end
@@ -36,6 +38,23 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
36
38
  repeated :tag_bindings, :message, 1, "google.cloud.resourcemanager.v3.TagBinding"
37
39
  optional :next_page_token, :string, 2
38
40
  end
41
+ add_message "google.cloud.resourcemanager.v3.ListEffectiveTagsRequest" do
42
+ optional :parent, :string, 1
43
+ optional :page_size, :int32, 2
44
+ optional :page_token, :string, 3
45
+ end
46
+ add_message "google.cloud.resourcemanager.v3.ListEffectiveTagsResponse" do
47
+ repeated :effective_tags, :message, 1, "google.cloud.resourcemanager.v3.EffectiveTag"
48
+ optional :next_page_token, :string, 2
49
+ end
50
+ add_message "google.cloud.resourcemanager.v3.EffectiveTag" do
51
+ optional :tag_value, :string, 1
52
+ optional :namespaced_tag_value, :string, 2
53
+ optional :tag_key, :string, 3
54
+ optional :namespaced_tag_key, :string, 4
55
+ optional :tag_key_parent_name, :string, 6
56
+ optional :inherited, :bool, 5
57
+ end
39
58
  end
40
59
  end
41
60
 
@@ -50,6 +69,9 @@ module Google
50
69
  DeleteTagBindingRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.DeleteTagBindingRequest").msgclass
51
70
  ListTagBindingsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagBindingsRequest").msgclass
52
71
  ListTagBindingsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagBindingsResponse").msgclass
72
+ ListEffectiveTagsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListEffectiveTagsRequest").msgclass
73
+ ListEffectiveTagsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListEffectiveTagsResponse").msgclass
74
+ EffectiveTag = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.EffectiveTag").msgclass
53
75
  end
54
76
  end
55
77
  end
@@ -25,7 +25,7 @@ module Google
25
25
  module V3
26
26
  module TagBindings
27
27
  # Allow users to create and manage TagBindings between TagValues and
28
- # different cloud resources throughout the GCP resource hierarchy.
28
+ # different Google Cloud resources throughout the GCP resource hierarchy.
29
29
  class Service
30
30
 
31
31
  include ::GRPC::GenericService
@@ -34,17 +34,19 @@ module Google
34
34
  self.unmarshal_class_method = :decode
35
35
  self.service_name = 'google.cloud.resourcemanager.v3.TagBindings'
36
36
 
37
- # Lists the TagBindings for the given cloud resource, as specified with
38
- # `parent`.
37
+ # Lists the TagBindings for the given Google Cloud resource, as specified
38
+ # with `parent`.
39
39
  #
40
40
  # NOTE: The `parent` field is expected to be a full resource name:
41
41
  # https://cloud.google.com/apis/design/resource_names#full_resource_name
42
42
  rpc :ListTagBindings, ::Google::Cloud::ResourceManager::V3::ListTagBindingsRequest, ::Google::Cloud::ResourceManager::V3::ListTagBindingsResponse
43
- # Creates a TagBinding between a TagValue and a cloud resource
44
- # (currently project, folder, or organization).
43
+ # Creates a TagBinding between a TagValue and a Google Cloud resource.
45
44
  rpc :CreateTagBinding, ::Google::Cloud::ResourceManager::V3::CreateTagBindingRequest, ::Google::Longrunning::Operation
46
45
  # Deletes a TagBinding.
47
46
  rpc :DeleteTagBinding, ::Google::Cloud::ResourceManager::V3::DeleteTagBindingRequest, ::Google::Longrunning::Operation
47
+ # Return a list of effective tags for the given Google Cloud resource, as
48
+ # specified in `parent`.
49
+ rpc :ListEffectiveTags, ::Google::Cloud::ResourceManager::V3::ListEffectiveTagsRequest, ::Google::Cloud::ResourceManager::V3::ListEffectiveTagsResponse
48
50
  end
49
51
 
50
52
  Stub = Service.rpc_stub_class
@@ -0,0 +1,63 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/cloud/resourcemanager/v3/tag_holds.proto
3
+
4
+ require 'google/protobuf'
5
+
6
+ require 'google/api/annotations_pb'
7
+ require 'google/api/client_pb'
8
+ require 'google/api/field_behavior_pb'
9
+ require 'google/api/resource_pb'
10
+ require 'google/longrunning/operations_pb'
11
+ require 'google/protobuf/empty_pb'
12
+ require 'google/protobuf/timestamp_pb'
13
+
14
+ Google::Protobuf::DescriptorPool.generated_pool.build do
15
+ add_file("google/cloud/resourcemanager/v3/tag_holds.proto", :syntax => :proto3) do
16
+ add_message "google.cloud.resourcemanager.v3.TagHold" do
17
+ optional :name, :string, 1
18
+ optional :holder, :string, 2
19
+ optional :origin, :string, 3
20
+ optional :help_link, :string, 4
21
+ optional :create_time, :message, 5, "google.protobuf.Timestamp"
22
+ end
23
+ add_message "google.cloud.resourcemanager.v3.CreateTagHoldRequest" do
24
+ optional :parent, :string, 1
25
+ optional :tag_hold, :message, 2, "google.cloud.resourcemanager.v3.TagHold"
26
+ optional :validate_only, :bool, 3
27
+ end
28
+ add_message "google.cloud.resourcemanager.v3.CreateTagHoldMetadata" do
29
+ end
30
+ add_message "google.cloud.resourcemanager.v3.DeleteTagHoldRequest" do
31
+ optional :name, :string, 1
32
+ optional :validate_only, :bool, 2
33
+ end
34
+ add_message "google.cloud.resourcemanager.v3.DeleteTagHoldMetadata" do
35
+ end
36
+ add_message "google.cloud.resourcemanager.v3.ListTagHoldsRequest" do
37
+ optional :parent, :string, 1
38
+ optional :page_size, :int32, 2
39
+ optional :page_token, :string, 3
40
+ optional :filter, :string, 4
41
+ end
42
+ add_message "google.cloud.resourcemanager.v3.ListTagHoldsResponse" do
43
+ repeated :tag_holds, :message, 1, "google.cloud.resourcemanager.v3.TagHold"
44
+ optional :next_page_token, :string, 2
45
+ end
46
+ end
47
+ end
48
+
49
+ module Google
50
+ module Cloud
51
+ module ResourceManager
52
+ module V3
53
+ TagHold = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.TagHold").msgclass
54
+ CreateTagHoldRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagHoldRequest").msgclass
55
+ CreateTagHoldMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagHoldMetadata").msgclass
56
+ DeleteTagHoldRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.DeleteTagHoldRequest").msgclass
57
+ DeleteTagHoldMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.DeleteTagHoldMetadata").msgclass
58
+ ListTagHoldsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagHoldsRequest").msgclass
59
+ ListTagHoldsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagHoldsResponse").msgclass
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,54 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/resourcemanager/v3/tag_holds.proto for package 'Google.Cloud.ResourceManager.V3'
3
+ # Original file comments:
4
+ # Copyright 2023 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/resourcemanager/v3/tag_holds_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module ResourceManager
25
+ module V3
26
+ module TagHolds
27
+ # Allow users to create and manage TagHolds for TagValues. TagHolds represent
28
+ # the use of a Tag Value that is not captured by TagBindings but
29
+ # should still block TagValue deletion (such as a reference in a policy
30
+ # condition). This service provides isolated failure domains by cloud location
31
+ # so that TagHolds can be managed in the same location as their usage.
32
+ class Service
33
+
34
+ include ::GRPC::GenericService
35
+
36
+ self.marshal_class_method = :encode
37
+ self.unmarshal_class_method = :decode
38
+ self.service_name = 'google.cloud.resourcemanager.v3.TagHolds'
39
+
40
+ # Creates a TagHold. Returns ALREADY_EXISTS if a TagHold with the same
41
+ # resource and origin exists under the same TagValue.
42
+ rpc :CreateTagHold, ::Google::Cloud::ResourceManager::V3::CreateTagHoldRequest, ::Google::Longrunning::Operation
43
+ # Deletes a TagHold.
44
+ rpc :DeleteTagHold, ::Google::Cloud::ResourceManager::V3::DeleteTagHoldRequest, ::Google::Longrunning::Operation
45
+ # Lists TagHolds under a TagValue.
46
+ rpc :ListTagHolds, ::Google::Cloud::ResourceManager::V3::ListTagHoldsRequest, ::Google::Cloud::ResourceManager::V3::ListTagHoldsResponse
47
+ end
48
+
49
+ Stub = Service.rpc_stub_class
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -24,6 +24,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
24
24
  optional :create_time, :message, 6, "google.protobuf.Timestamp"
25
25
  optional :update_time, :message, 7, "google.protobuf.Timestamp"
26
26
  optional :etag, :string, 8
27
+ optional :purpose, :enum, 11, "google.cloud.resourcemanager.v3.Purpose"
28
+ map :purpose_data, :string, :string, 12
27
29
  end
28
30
  add_message "google.cloud.resourcemanager.v3.ListTagKeysRequest" do
29
31
  optional :parent, :string, 1
@@ -37,6 +39,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
37
39
  add_message "google.cloud.resourcemanager.v3.GetTagKeyRequest" do
38
40
  optional :name, :string, 1
39
41
  end
42
+ add_message "google.cloud.resourcemanager.v3.GetNamespacedTagKeyRequest" do
43
+ optional :name, :string, 1
44
+ end
40
45
  add_message "google.cloud.resourcemanager.v3.CreateTagKeyRequest" do
41
46
  optional :tag_key, :message, 1, "google.cloud.resourcemanager.v3.TagKey"
42
47
  optional :validate_only, :bool, 2
@@ -57,6 +62,10 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
57
62
  end
58
63
  add_message "google.cloud.resourcemanager.v3.DeleteTagKeyMetadata" do
59
64
  end
65
+ add_enum "google.cloud.resourcemanager.v3.Purpose" do
66
+ value :PURPOSE_UNSPECIFIED, 0
67
+ value :GCE_FIREWALL, 1
68
+ end
60
69
  end
61
70
  end
62
71
 
@@ -68,12 +77,14 @@ module Google
68
77
  ListTagKeysRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagKeysRequest").msgclass
69
78
  ListTagKeysResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagKeysResponse").msgclass
70
79
  GetTagKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.GetTagKeyRequest").msgclass
80
+ GetNamespacedTagKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.GetNamespacedTagKeyRequest").msgclass
71
81
  CreateTagKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagKeyRequest").msgclass
72
82
  CreateTagKeyMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagKeyMetadata").msgclass
73
83
  UpdateTagKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.UpdateTagKeyRequest").msgclass
74
84
  UpdateTagKeyMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.UpdateTagKeyMetadata").msgclass
75
85
  DeleteTagKeyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.DeleteTagKeyRequest").msgclass
76
86
  DeleteTagKeyMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.DeleteTagKeyMetadata").msgclass
87
+ Purpose = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.Purpose").enummodule
77
88
  end
78
89
  end
79
90
  end
@@ -38,10 +38,14 @@ module Google
38
38
  # Retrieves a TagKey. This method will return `PERMISSION_DENIED` if the
39
39
  # key does not exist or the user does not have permission to view it.
40
40
  rpc :GetTagKey, ::Google::Cloud::ResourceManager::V3::GetTagKeyRequest, ::Google::Cloud::ResourceManager::V3::TagKey
41
+ # Retrieves a TagKey by its namespaced name.
42
+ # This method will return `PERMISSION_DENIED` if the key does not exist
43
+ # or the user does not have permission to view it.
44
+ rpc :GetNamespacedTagKey, ::Google::Cloud::ResourceManager::V3::GetNamespacedTagKeyRequest, ::Google::Cloud::ResourceManager::V3::TagKey
41
45
  # Creates a new TagKey. If another request with the same parameters is
42
46
  # sent while the original request is in process, the second request
43
- # will receive an error. A maximum of 300 TagKeys can exist under a parent at
44
- # any given time.
47
+ # will receive an error. A maximum of 1000 TagKeys can exist under a parent
48
+ # at any given time.
45
49
  rpc :CreateTagKey, ::Google::Cloud::ResourceManager::V3::CreateTagKeyRequest, ::Google::Longrunning::Operation
46
50
  # Updates the attributes of the TagKey resource.
47
51
  rpc :UpdateTagKey, ::Google::Cloud::ResourceManager::V3::UpdateTagKeyRequest, ::Google::Longrunning::Operation
@@ -37,6 +37,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
37
37
  add_message "google.cloud.resourcemanager.v3.GetTagValueRequest" do
38
38
  optional :name, :string, 1
39
39
  end
40
+ add_message "google.cloud.resourcemanager.v3.GetNamespacedTagValueRequest" do
41
+ optional :name, :string, 1
42
+ end
40
43
  add_message "google.cloud.resourcemanager.v3.CreateTagValueRequest" do
41
44
  optional :tag_value, :message, 1, "google.cloud.resourcemanager.v3.TagValue"
42
45
  optional :validate_only, :bool, 2
@@ -68,6 +71,7 @@ module Google
68
71
  ListTagValuesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagValuesRequest").msgclass
69
72
  ListTagValuesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.ListTagValuesResponse").msgclass
70
73
  GetTagValueRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.GetTagValueRequest").msgclass
74
+ GetNamespacedTagValueRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.GetNamespacedTagValueRequest").msgclass
71
75
  CreateTagValueRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagValueRequest").msgclass
72
76
  CreateTagValueMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.CreateTagValueMetadata").msgclass
73
77
  UpdateTagValueRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.resourcemanager.v3.UpdateTagValueRequest").msgclass
@@ -35,13 +35,16 @@ module Google
35
35
 
36
36
  # Lists all TagValues for a specific TagKey.
37
37
  rpc :ListTagValues, ::Google::Cloud::ResourceManager::V3::ListTagValuesRequest, ::Google::Cloud::ResourceManager::V3::ListTagValuesResponse
38
- # Retrieves TagValue. If the TagValue or namespaced name does not exist, or
39
- # if the user does not have permission to view it, this method will return
40
- # `PERMISSION_DENIED`.
38
+ # Retrieves a TagValue. This method will return `PERMISSION_DENIED` if the
39
+ # value does not exist or the user does not have permission to view it.
41
40
  rpc :GetTagValue, ::Google::Cloud::ResourceManager::V3::GetTagValueRequest, ::Google::Cloud::ResourceManager::V3::TagValue
41
+ # Retrieves a TagValue by its namespaced name.
42
+ # This method will return `PERMISSION_DENIED` if the value does not exist
43
+ # or the user does not have permission to view it.
44
+ rpc :GetNamespacedTagValue, ::Google::Cloud::ResourceManager::V3::GetNamespacedTagValueRequest, ::Google::Cloud::ResourceManager::V3::TagValue
42
45
  # Creates a TagValue as a child of the specified TagKey. If a another
43
46
  # request with the same parameters is sent while the original request is in
44
- # process the second request will receive an error. A maximum of 300
47
+ # process the second request will receive an error. A maximum of 1000
45
48
  # TagValues can exist under a TagKey at any given time.
46
49
  rpc :CreateTagValue, ::Google::Cloud::ResourceManager::V3::CreateTagValueRequest, ::Google::Longrunning::Operation
47
50
  # Updates the attributes of the TagValue resource.