google-iam-v1beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ # This gem does not autoload during Bundler.require. To load this gem,
20
+ # issue explicit require statements for the packages desired, e.g.:
21
+ # require "google/iam/v1beta"
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/iam/v1beta/workload_identity_pools"
20
+ require "google/iam/v1beta/version"
21
+
22
+ module Google
23
+ module Iam
24
+ ##
25
+ # To load this package, including all its services, and instantiate a client:
26
+ #
27
+ # require "google/iam/v1beta"
28
+ # client = ::Google::Iam::V1beta::WorkloadIdentityPools::Client.new
29
+ #
30
+ module V1beta
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Iam
22
+ module V1beta
23
+ VERSION = "0.1.0"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,141 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # source: google/iam/v1beta/workload_identity_pool.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/field_mask_pb'
12
+ Google::Protobuf::DescriptorPool.generated_pool.build do
13
+ add_file("google/iam/v1beta/workload_identity_pool.proto", :syntax => :proto3) do
14
+ add_message "google.iam.v1beta.WorkloadIdentityPool" do
15
+ optional :name, :string, 1
16
+ optional :display_name, :string, 2
17
+ optional :description, :string, 3
18
+ optional :state, :enum, 4, "google.iam.v1beta.WorkloadIdentityPool.State"
19
+ optional :disabled, :bool, 5
20
+ end
21
+ add_enum "google.iam.v1beta.WorkloadIdentityPool.State" do
22
+ value :STATE_UNSPECIFIED, 0
23
+ value :ACTIVE, 1
24
+ value :DELETED, 2
25
+ end
26
+ add_message "google.iam.v1beta.WorkloadIdentityPoolProvider" do
27
+ optional :name, :string, 1
28
+ optional :display_name, :string, 2
29
+ optional :description, :string, 3
30
+ optional :state, :enum, 4, "google.iam.v1beta.WorkloadIdentityPoolProvider.State"
31
+ optional :disabled, :bool, 5
32
+ map :attribute_mapping, :string, :string, 6
33
+ optional :attribute_condition, :string, 7
34
+ oneof :provider_config do
35
+ optional :aws, :message, 8, "google.iam.v1beta.WorkloadIdentityPoolProvider.Aws"
36
+ optional :oidc, :message, 9, "google.iam.v1beta.WorkloadIdentityPoolProvider.Oidc"
37
+ end
38
+ end
39
+ add_message "google.iam.v1beta.WorkloadIdentityPoolProvider.Aws" do
40
+ optional :account_id, :string, 1
41
+ end
42
+ add_message "google.iam.v1beta.WorkloadIdentityPoolProvider.Oidc" do
43
+ optional :issuer_uri, :string, 1
44
+ repeated :allowed_audiences, :string, 2
45
+ end
46
+ add_enum "google.iam.v1beta.WorkloadIdentityPoolProvider.State" do
47
+ value :STATE_UNSPECIFIED, 0
48
+ value :ACTIVE, 1
49
+ value :DELETED, 2
50
+ end
51
+ add_message "google.iam.v1beta.ListWorkloadIdentityPoolsRequest" do
52
+ optional :parent, :string, 1
53
+ optional :page_size, :int32, 2
54
+ optional :page_token, :string, 3
55
+ optional :show_deleted, :bool, 4
56
+ end
57
+ add_message "google.iam.v1beta.ListWorkloadIdentityPoolsResponse" do
58
+ repeated :workload_identity_pools, :message, 1, "google.iam.v1beta.WorkloadIdentityPool"
59
+ optional :next_page_token, :string, 2
60
+ end
61
+ add_message "google.iam.v1beta.GetWorkloadIdentityPoolRequest" do
62
+ optional :name, :string, 1
63
+ end
64
+ add_message "google.iam.v1beta.CreateWorkloadIdentityPoolRequest" do
65
+ optional :parent, :string, 1
66
+ optional :workload_identity_pool, :message, 2, "google.iam.v1beta.WorkloadIdentityPool"
67
+ optional :workload_identity_pool_id, :string, 3
68
+ end
69
+ add_message "google.iam.v1beta.UpdateWorkloadIdentityPoolRequest" do
70
+ optional :workload_identity_pool, :message, 1, "google.iam.v1beta.WorkloadIdentityPool"
71
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
72
+ end
73
+ add_message "google.iam.v1beta.DeleteWorkloadIdentityPoolRequest" do
74
+ optional :name, :string, 1
75
+ end
76
+ add_message "google.iam.v1beta.UndeleteWorkloadIdentityPoolRequest" do
77
+ optional :name, :string, 1
78
+ end
79
+ add_message "google.iam.v1beta.ListWorkloadIdentityPoolProvidersRequest" do
80
+ optional :parent, :string, 1
81
+ optional :page_size, :int32, 2
82
+ optional :page_token, :string, 3
83
+ optional :show_deleted, :bool, 4
84
+ end
85
+ add_message "google.iam.v1beta.ListWorkloadIdentityPoolProvidersResponse" do
86
+ repeated :workload_identity_pool_providers, :message, 1, "google.iam.v1beta.WorkloadIdentityPoolProvider"
87
+ optional :next_page_token, :string, 2
88
+ end
89
+ add_message "google.iam.v1beta.GetWorkloadIdentityPoolProviderRequest" do
90
+ optional :name, :string, 1
91
+ end
92
+ add_message "google.iam.v1beta.CreateWorkloadIdentityPoolProviderRequest" do
93
+ optional :parent, :string, 1
94
+ optional :workload_identity_pool_provider, :message, 2, "google.iam.v1beta.WorkloadIdentityPoolProvider"
95
+ optional :workload_identity_pool_provider_id, :string, 3
96
+ end
97
+ add_message "google.iam.v1beta.UpdateWorkloadIdentityPoolProviderRequest" do
98
+ optional :workload_identity_pool_provider, :message, 1, "google.iam.v1beta.WorkloadIdentityPoolProvider"
99
+ optional :update_mask, :message, 2, "google.protobuf.FieldMask"
100
+ end
101
+ add_message "google.iam.v1beta.DeleteWorkloadIdentityPoolProviderRequest" do
102
+ optional :name, :string, 1
103
+ end
104
+ add_message "google.iam.v1beta.UndeleteWorkloadIdentityPoolProviderRequest" do
105
+ optional :name, :string, 1
106
+ end
107
+ add_message "google.iam.v1beta.WorkloadIdentityPoolOperationMetadata" do
108
+ end
109
+ add_message "google.iam.v1beta.WorkloadIdentityPoolProviderOperationMetadata" do
110
+ end
111
+ end
112
+ end
113
+
114
+ module Google
115
+ module Iam
116
+ module V1beta
117
+ WorkloadIdentityPool = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPool").msgclass
118
+ WorkloadIdentityPool::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPool.State").enummodule
119
+ WorkloadIdentityPoolProvider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolProvider").msgclass
120
+ WorkloadIdentityPoolProvider::Aws = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolProvider.Aws").msgclass
121
+ WorkloadIdentityPoolProvider::Oidc = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolProvider.Oidc").msgclass
122
+ WorkloadIdentityPoolProvider::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolProvider.State").enummodule
123
+ ListWorkloadIdentityPoolsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.ListWorkloadIdentityPoolsRequest").msgclass
124
+ ListWorkloadIdentityPoolsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.ListWorkloadIdentityPoolsResponse").msgclass
125
+ GetWorkloadIdentityPoolRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.GetWorkloadIdentityPoolRequest").msgclass
126
+ CreateWorkloadIdentityPoolRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.CreateWorkloadIdentityPoolRequest").msgclass
127
+ UpdateWorkloadIdentityPoolRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.UpdateWorkloadIdentityPoolRequest").msgclass
128
+ DeleteWorkloadIdentityPoolRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.DeleteWorkloadIdentityPoolRequest").msgclass
129
+ UndeleteWorkloadIdentityPoolRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.UndeleteWorkloadIdentityPoolRequest").msgclass
130
+ ListWorkloadIdentityPoolProvidersRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.ListWorkloadIdentityPoolProvidersRequest").msgclass
131
+ ListWorkloadIdentityPoolProvidersResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.ListWorkloadIdentityPoolProvidersResponse").msgclass
132
+ GetWorkloadIdentityPoolProviderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.GetWorkloadIdentityPoolProviderRequest").msgclass
133
+ CreateWorkloadIdentityPoolProviderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.CreateWorkloadIdentityPoolProviderRequest").msgclass
134
+ UpdateWorkloadIdentityPoolProviderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.UpdateWorkloadIdentityPoolProviderRequest").msgclass
135
+ DeleteWorkloadIdentityPoolProviderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.DeleteWorkloadIdentityPoolProviderRequest").msgclass
136
+ UndeleteWorkloadIdentityPoolProviderRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.UndeleteWorkloadIdentityPoolProviderRequest").msgclass
137
+ WorkloadIdentityPoolOperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolOperationMetadata").msgclass
138
+ WorkloadIdentityPoolProviderOperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v1beta.WorkloadIdentityPoolProviderOperationMetadata").msgclass
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,103 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/iam/v1beta/workload_identity_pool.proto for package 'google.iam.v1beta'
3
+ # Original file comments:
4
+ # Copyright 2020 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/iam/v1beta/workload_identity_pool_pb'
21
+
22
+ module Google
23
+ module Iam
24
+ module V1beta
25
+ module WorkloadIdentityPools
26
+ # Manages WorkloadIdentityPools.
27
+ class Service
28
+
29
+ include GRPC::GenericService
30
+
31
+ self.marshal_class_method = :encode
32
+ self.unmarshal_class_method = :decode
33
+ self.service_name = 'google.iam.v1beta.WorkloadIdentityPools'
34
+
35
+ # Lists all non-deleted
36
+ # [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool]s in a
37
+ # project. If `show_deleted` is set to `true`, then deleted pools are also
38
+ # listed.
39
+ rpc :ListWorkloadIdentityPools, ::Google::Iam::V1beta::ListWorkloadIdentityPoolsRequest, ::Google::Iam::V1beta::ListWorkloadIdentityPoolsResponse
40
+ # Gets an individual
41
+ # [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
42
+ rpc :GetWorkloadIdentityPool, ::Google::Iam::V1beta::GetWorkloadIdentityPoolRequest, ::Google::Iam::V1beta::WorkloadIdentityPool
43
+ # Creates a new
44
+ # [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
45
+ #
46
+ # You cannot reuse the name of a deleted pool until 30 days after deletion.
47
+ rpc :CreateWorkloadIdentityPool, ::Google::Iam::V1beta::CreateWorkloadIdentityPoolRequest, ::Google::Longrunning::Operation
48
+ # Updates an existing
49
+ # [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
50
+ rpc :UpdateWorkloadIdentityPool, ::Google::Iam::V1beta::UpdateWorkloadIdentityPoolRequest, ::Google::Longrunning::Operation
51
+ # Deletes a
52
+ # [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
53
+ #
54
+ # You cannot use a deleted pool to exchange external
55
+ # credentials for Google Cloud credentials. However, deletion does
56
+ # not revoke credentials that have already been issued.
57
+ # Credentials issued for a deleted pool do not grant access to resources.
58
+ # If the pool is undeleted, and the credentials are not expired, they
59
+ # grant access again.
60
+ # You can undelete a pool for 30 days. After 30 days, deletion is
61
+ # permanent.
62
+ # You cannot update deleted pools. However, you can view and list them.
63
+ rpc :DeleteWorkloadIdentityPool, ::Google::Iam::V1beta::DeleteWorkloadIdentityPoolRequest, ::Google::Longrunning::Operation
64
+ # Undeletes a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool],
65
+ # as long as it was deleted fewer than 30 days ago.
66
+ rpc :UndeleteWorkloadIdentityPool, ::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolRequest, ::Google::Longrunning::Operation
67
+ # Lists all non-deleted
68
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityPoolProvider]s
69
+ # in a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
70
+ # If `show_deleted` is set to `true`, then deleted providers are also listed.
71
+ rpc :ListWorkloadIdentityPoolProviders, ::Google::Iam::V1beta::ListWorkloadIdentityPoolProvidersRequest, ::Google::Iam::V1beta::ListWorkloadIdentityPoolProvidersResponse
72
+ # Gets an individual
73
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityPoolProvider].
74
+ rpc :GetWorkloadIdentityPoolProvider, ::Google::Iam::V1beta::GetWorkloadIdentityPoolProviderRequest, ::Google::Iam::V1beta::WorkloadIdentityPoolProvider
75
+ # Creates a new
76
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider]
77
+ # in a [WorkloadIdentityPool][google.iam.v1beta.WorkloadIdentityPool].
78
+ #
79
+ # You cannot reuse the name of a deleted provider until 30 days after
80
+ # deletion.
81
+ rpc :CreateWorkloadIdentityPoolProvider, ::Google::Iam::V1beta::CreateWorkloadIdentityPoolProviderRequest, ::Google::Longrunning::Operation
82
+ # Updates an existing
83
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider].
84
+ rpc :UpdateWorkloadIdentityPoolProvider, ::Google::Iam::V1beta::UpdateWorkloadIdentityPoolProviderRequest, ::Google::Longrunning::Operation
85
+ # Deletes a
86
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider].
87
+ # Deleting a provider does not revoke credentials that have already been
88
+ # issued; they continue to grant access.
89
+ # You can undelete a provider for 30 days. After 30 days, deletion is
90
+ # permanent.
91
+ # You cannot update deleted providers. However, you can view and list them.
92
+ rpc :DeleteWorkloadIdentityPoolProvider, ::Google::Iam::V1beta::DeleteWorkloadIdentityPoolProviderRequest, ::Google::Longrunning::Operation
93
+ # Undeletes a
94
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider],
95
+ # as long as it was deleted fewer than 30 days ago.
96
+ rpc :UndeleteWorkloadIdentityPoolProvider, ::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolProviderRequest, ::Google::Longrunning::Operation
97
+ end
98
+
99
+ Stub = Service.rpc_stub_class
100
+ end
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/iam/v1beta/version"
24
+
25
+ require "google/iam/v1beta/workload_identity_pools/credentials"
26
+ require "google/iam/v1beta/workload_identity_pools/paths"
27
+ require "google/iam/v1beta/workload_identity_pools/operations"
28
+ require "google/iam/v1beta/workload_identity_pools/client"
29
+
30
+ module Google
31
+ module Iam
32
+ module V1beta
33
+ ##
34
+ # Manages WorkloadIdentityPools.
35
+ #
36
+ # To load this service and instantiate a client:
37
+ #
38
+ # require "google/iam/v1beta/workload_identity_pools"
39
+ # client = ::Google::Iam::V1beta::WorkloadIdentityPools::Client.new
40
+ #
41
+ module WorkloadIdentityPools
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ helper_path = ::File.join __dir__, "workload_identity_pools", "helpers.rb"
48
+ require "google/iam/v1beta/workload_identity_pools/helpers" if ::File.file? helper_path
@@ -0,0 +1,1364 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/iam/v1beta/workload_identity_pool_pb"
21
+
22
+ module Google
23
+ module Iam
24
+ module V1beta
25
+ module WorkloadIdentityPools
26
+ ##
27
+ # Client for the WorkloadIdentityPools service.
28
+ #
29
+ # Manages WorkloadIdentityPools.
30
+ #
31
+ class Client
32
+ include Paths
33
+
34
+ # @private
35
+ attr_reader :workload_identity_pools_stub
36
+
37
+ ##
38
+ # Configure the WorkloadIdentityPools Client class.
39
+ #
40
+ # See {::Google::Iam::V1beta::WorkloadIdentityPools::Client::Configuration}
41
+ # for a description of the configuration fields.
42
+ #
43
+ # ## Example
44
+ #
45
+ # To modify the configuration for all WorkloadIdentityPools clients:
46
+ #
47
+ # ::Google::Iam::V1beta::WorkloadIdentityPools::Client.configure do |config|
48
+ # config.timeout = 10.0
49
+ # end
50
+ #
51
+ # @yield [config] Configure the Client client.
52
+ # @yieldparam config [Client::Configuration]
53
+ #
54
+ # @return [Client::Configuration]
55
+ #
56
+ def self.configure
57
+ @configure ||= begin
58
+ namespace = ["Google", "Iam", "V1beta"]
59
+ parent_config = while namespace.any?
60
+ parent_name = namespace.join "::"
61
+ parent_const = const_get parent_name
62
+ break parent_const.configure if parent_const&.respond_to? :configure
63
+ namespace.pop
64
+ end
65
+ default_config = Client::Configuration.new parent_config
66
+
67
+ default_config.rpcs.list_workload_identity_pools.timeout = 60.0
68
+ default_config.rpcs.list_workload_identity_pools.retry_policy = {
69
+ initial_delay: 1.0,
70
+ max_delay: 10.0,
71
+ multiplier: 1.3,
72
+ retry_codes: [14, 4]
73
+ }
74
+
75
+ default_config.rpcs.get_workload_identity_pool.timeout = 60.0
76
+ default_config.rpcs.get_workload_identity_pool.retry_policy = {
77
+ initial_delay: 1.0,
78
+ max_delay: 10.0,
79
+ multiplier: 1.3,
80
+ retry_codes: [14, 4]
81
+ }
82
+
83
+ default_config.rpcs.create_workload_identity_pool.timeout = 60.0
84
+ default_config.rpcs.create_workload_identity_pool.retry_policy = {
85
+ initial_delay: 1.0,
86
+ max_delay: 10.0,
87
+ multiplier: 1.3,
88
+ retry_codes: [14, 4]
89
+ }
90
+
91
+ default_config.rpcs.update_workload_identity_pool.timeout = 60.0
92
+ default_config.rpcs.update_workload_identity_pool.retry_policy = {
93
+ initial_delay: 1.0,
94
+ max_delay: 10.0,
95
+ multiplier: 1.3,
96
+ retry_codes: [14, 4]
97
+ }
98
+
99
+ default_config.rpcs.delete_workload_identity_pool.timeout = 60.0
100
+ default_config.rpcs.delete_workload_identity_pool.retry_policy = {
101
+ initial_delay: 1.0,
102
+ max_delay: 10.0,
103
+ multiplier: 1.3,
104
+ retry_codes: [14, 4]
105
+ }
106
+
107
+ default_config.rpcs.undelete_workload_identity_pool.timeout = 60.0
108
+ default_config.rpcs.undelete_workload_identity_pool.retry_policy = {
109
+ initial_delay: 1.0,
110
+ max_delay: 10.0,
111
+ multiplier: 1.3,
112
+ retry_codes: [14, 4]
113
+ }
114
+
115
+ default_config.rpcs.list_workload_identity_pool_providers.timeout = 60.0
116
+ default_config.rpcs.list_workload_identity_pool_providers.retry_policy = {
117
+ initial_delay: 1.0,
118
+ max_delay: 10.0,
119
+ multiplier: 1.3,
120
+ retry_codes: [14, 4]
121
+ }
122
+
123
+ default_config.rpcs.get_workload_identity_pool_provider.timeout = 60.0
124
+ default_config.rpcs.get_workload_identity_pool_provider.retry_policy = {
125
+ initial_delay: 1.0,
126
+ max_delay: 10.0,
127
+ multiplier: 1.3,
128
+ retry_codes: [14, 4]
129
+ }
130
+
131
+ default_config.rpcs.create_workload_identity_pool_provider.timeout = 60.0
132
+ default_config.rpcs.create_workload_identity_pool_provider.retry_policy = {
133
+ initial_delay: 1.0,
134
+ max_delay: 10.0,
135
+ multiplier: 1.3,
136
+ retry_codes: [14, 4]
137
+ }
138
+
139
+ default_config.rpcs.update_workload_identity_pool_provider.timeout = 60.0
140
+ default_config.rpcs.update_workload_identity_pool_provider.retry_policy = {
141
+ initial_delay: 1.0,
142
+ max_delay: 10.0,
143
+ multiplier: 1.3,
144
+ retry_codes: [14, 4]
145
+ }
146
+
147
+ default_config.rpcs.delete_workload_identity_pool_provider.timeout = 60.0
148
+ default_config.rpcs.delete_workload_identity_pool_provider.retry_policy = {
149
+ initial_delay: 1.0,
150
+ max_delay: 10.0,
151
+ multiplier: 1.3,
152
+ retry_codes: [14, 4]
153
+ }
154
+
155
+ default_config.rpcs.undelete_workload_identity_pool_provider.timeout = 60.0
156
+ default_config.rpcs.undelete_workload_identity_pool_provider.retry_policy = {
157
+ initial_delay: 1.0,
158
+ max_delay: 10.0,
159
+ multiplier: 1.3,
160
+ retry_codes: [14, 4]
161
+ }
162
+
163
+ default_config
164
+ end
165
+ yield @configure if block_given?
166
+ @configure
167
+ end
168
+
169
+ ##
170
+ # Configure the WorkloadIdentityPools Client instance.
171
+ #
172
+ # The configuration is set to the derived mode, meaning that values can be changed,
173
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
174
+ # should be made on {Client.configure}.
175
+ #
176
+ # See {::Google::Iam::V1beta::WorkloadIdentityPools::Client::Configuration}
177
+ # for a description of the configuration fields.
178
+ #
179
+ # @yield [config] Configure the Client client.
180
+ # @yieldparam config [Client::Configuration]
181
+ #
182
+ # @return [Client::Configuration]
183
+ #
184
+ def configure
185
+ yield @config if block_given?
186
+ @config
187
+ end
188
+
189
+ ##
190
+ # Create a new WorkloadIdentityPools client object.
191
+ #
192
+ # ## Examples
193
+ #
194
+ # To create a new WorkloadIdentityPools client with the default
195
+ # configuration:
196
+ #
197
+ # client = ::Google::Iam::V1beta::WorkloadIdentityPools::Client.new
198
+ #
199
+ # To create a new WorkloadIdentityPools client with a custom
200
+ # configuration:
201
+ #
202
+ # client = ::Google::Iam::V1beta::WorkloadIdentityPools::Client.new do |config|
203
+ # config.timeout = 10.0
204
+ # end
205
+ #
206
+ # @yield [config] Configure the WorkloadIdentityPools client.
207
+ # @yieldparam config [Client::Configuration]
208
+ #
209
+ def initialize
210
+ # These require statements are intentionally placed here to initialize
211
+ # the gRPC module only when it's required.
212
+ # See https://github.com/googleapis/toolkit/issues/446
213
+ require "gapic/grpc"
214
+ require "google/iam/v1beta/workload_identity_pool_services_pb"
215
+
216
+ # Create the configuration object
217
+ @config = Configuration.new Client.configure
218
+
219
+ # Yield the configuration if needed
220
+ yield @config if block_given?
221
+
222
+ # Create credentials
223
+ credentials = @config.credentials
224
+ credentials ||= Credentials.default scope: @config.scope
225
+ if credentials.is_a?(String) || credentials.is_a?(Hash)
226
+ credentials = Credentials.new credentials, scope: @config.scope
227
+ end
228
+ @quota_project_id = @config.quota_project
229
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
230
+
231
+ @operations_client = Operations.new do |config|
232
+ config.credentials = credentials
233
+ config.endpoint = @config.endpoint
234
+ end
235
+
236
+ @workload_identity_pools_stub = ::Gapic::ServiceStub.new(
237
+ ::Google::Iam::V1beta::WorkloadIdentityPools::Stub,
238
+ credentials: credentials,
239
+ endpoint: @config.endpoint,
240
+ channel_args: @config.channel_args,
241
+ interceptors: @config.interceptors
242
+ )
243
+ end
244
+
245
+ ##
246
+ # Get the associated client for long-running operations.
247
+ #
248
+ # @return [::Google::Iam::V1beta::WorkloadIdentityPools::Operations]
249
+ #
250
+ attr_reader :operations_client
251
+
252
+ # Service calls
253
+
254
+ ##
255
+ # Lists all non-deleted
256
+ # {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}s in a
257
+ # project. If `show_deleted` is set to `true`, then deleted pools are also
258
+ # listed.
259
+ #
260
+ # @overload list_workload_identity_pools(request, options = nil)
261
+ # Pass arguments to `list_workload_identity_pools` via a request object, either of type
262
+ # {::Google::Iam::V1beta::ListWorkloadIdentityPoolsRequest} or an equivalent Hash.
263
+ #
264
+ # @param request [::Google::Iam::V1beta::ListWorkloadIdentityPoolsRequest, ::Hash]
265
+ # A request object representing the call parameters. Required. To specify no
266
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
267
+ # @param options [::Gapic::CallOptions, ::Hash]
268
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
269
+ #
270
+ # @overload list_workload_identity_pools(parent: nil, page_size: nil, page_token: nil, show_deleted: nil)
271
+ # Pass arguments to `list_workload_identity_pools` via keyword arguments. Note that at
272
+ # least one keyword argument is required. To specify no parameters, or to keep all
273
+ # the default parameter values, pass an empty Hash as a request object (see above).
274
+ #
275
+ # @param parent [::String]
276
+ # Required. The parent resource to list pools for.
277
+ # @param page_size [::Integer]
278
+ # The maximum number of pools to return.
279
+ # If unspecified, at most 50 pools are returned.
280
+ # The maximum value is 1000; values above are 1000 truncated to 1000.
281
+ # @param page_token [::String]
282
+ # A page token, received from a previous `ListWorkloadIdentityPools`
283
+ # call. Provide this to retrieve the subsequent page.
284
+ # @param show_deleted [::Boolean]
285
+ # Whether to return soft-deleted pools.
286
+ #
287
+ # @yield [response, operation] Access the result along with the RPC operation
288
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Iam::V1beta::WorkloadIdentityPool>]
289
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
290
+ #
291
+ # @return [::Gapic::PagedEnumerable<::Google::Iam::V1beta::WorkloadIdentityPool>]
292
+ #
293
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
294
+ #
295
+ def list_workload_identity_pools request, options = nil
296
+ raise ::ArgumentError, "request must be provided" if request.nil?
297
+
298
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::ListWorkloadIdentityPoolsRequest
299
+
300
+ # Converts hash and nil to an options object
301
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
302
+
303
+ # Customize the options with defaults
304
+ metadata = @config.rpcs.list_workload_identity_pools.metadata.to_h
305
+
306
+ # Set x-goog-api-client and x-goog-user-project headers
307
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
308
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
309
+ gapic_version: ::Google::Iam::V1beta::VERSION
310
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
311
+
312
+ header_params = {
313
+ "parent" => request.parent
314
+ }
315
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
316
+ metadata[:"x-goog-request-params"] ||= request_params_header
317
+
318
+ options.apply_defaults timeout: @config.rpcs.list_workload_identity_pools.timeout,
319
+ metadata: metadata,
320
+ retry_policy: @config.rpcs.list_workload_identity_pools.retry_policy
321
+ options.apply_defaults metadata: @config.metadata,
322
+ retry_policy: @config.retry_policy
323
+
324
+ @workload_identity_pools_stub.call_rpc :list_workload_identity_pools, request, options: options do |response, operation|
325
+ response = ::Gapic::PagedEnumerable.new @workload_identity_pools_stub, :list_workload_identity_pools, request, response, operation, options
326
+ yield response, operation if block_given?
327
+ return response
328
+ end
329
+ rescue ::GRPC::BadStatus => e
330
+ raise ::Google::Cloud::Error.from_error(e)
331
+ end
332
+
333
+ ##
334
+ # Gets an individual
335
+ # {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
336
+ #
337
+ # @overload get_workload_identity_pool(request, options = nil)
338
+ # Pass arguments to `get_workload_identity_pool` via a request object, either of type
339
+ # {::Google::Iam::V1beta::GetWorkloadIdentityPoolRequest} or an equivalent Hash.
340
+ #
341
+ # @param request [::Google::Iam::V1beta::GetWorkloadIdentityPoolRequest, ::Hash]
342
+ # A request object representing the call parameters. Required. To specify no
343
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
344
+ # @param options [::Gapic::CallOptions, ::Hash]
345
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
346
+ #
347
+ # @overload get_workload_identity_pool(name: nil)
348
+ # Pass arguments to `get_workload_identity_pool` via keyword arguments. Note that at
349
+ # least one keyword argument is required. To specify no parameters, or to keep all
350
+ # the default parameter values, pass an empty Hash as a request object (see above).
351
+ #
352
+ # @param name [::String]
353
+ # Required. The name of the pool to retrieve.
354
+ #
355
+ # @yield [response, operation] Access the result along with the RPC operation
356
+ # @yieldparam response [::Google::Iam::V1beta::WorkloadIdentityPool]
357
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
358
+ #
359
+ # @return [::Google::Iam::V1beta::WorkloadIdentityPool]
360
+ #
361
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
362
+ #
363
+ def get_workload_identity_pool request, options = nil
364
+ raise ::ArgumentError, "request must be provided" if request.nil?
365
+
366
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::GetWorkloadIdentityPoolRequest
367
+
368
+ # Converts hash and nil to an options object
369
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
370
+
371
+ # Customize the options with defaults
372
+ metadata = @config.rpcs.get_workload_identity_pool.metadata.to_h
373
+
374
+ # Set x-goog-api-client and x-goog-user-project headers
375
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
376
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
377
+ gapic_version: ::Google::Iam::V1beta::VERSION
378
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
379
+
380
+ header_params = {
381
+ "name" => request.name
382
+ }
383
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
384
+ metadata[:"x-goog-request-params"] ||= request_params_header
385
+
386
+ options.apply_defaults timeout: @config.rpcs.get_workload_identity_pool.timeout,
387
+ metadata: metadata,
388
+ retry_policy: @config.rpcs.get_workload_identity_pool.retry_policy
389
+ options.apply_defaults metadata: @config.metadata,
390
+ retry_policy: @config.retry_policy
391
+
392
+ @workload_identity_pools_stub.call_rpc :get_workload_identity_pool, request, options: options do |response, operation|
393
+ yield response, operation if block_given?
394
+ return response
395
+ end
396
+ rescue ::GRPC::BadStatus => e
397
+ raise ::Google::Cloud::Error.from_error(e)
398
+ end
399
+
400
+ ##
401
+ # Creates a new
402
+ # {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
403
+ #
404
+ # You cannot reuse the name of a deleted pool until 30 days after deletion.
405
+ #
406
+ # @overload create_workload_identity_pool(request, options = nil)
407
+ # Pass arguments to `create_workload_identity_pool` via a request object, either of type
408
+ # {::Google::Iam::V1beta::CreateWorkloadIdentityPoolRequest} or an equivalent Hash.
409
+ #
410
+ # @param request [::Google::Iam::V1beta::CreateWorkloadIdentityPoolRequest, ::Hash]
411
+ # A request object representing the call parameters. Required. To specify no
412
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
413
+ # @param options [::Gapic::CallOptions, ::Hash]
414
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
415
+ #
416
+ # @overload create_workload_identity_pool(parent: nil, workload_identity_pool: nil, workload_identity_pool_id: nil)
417
+ # Pass arguments to `create_workload_identity_pool` via keyword arguments. Note that at
418
+ # least one keyword argument is required. To specify no parameters, or to keep all
419
+ # the default parameter values, pass an empty Hash as a request object (see above).
420
+ #
421
+ # @param parent [::String]
422
+ # Required. The parent resource to create the pool in. The only supported
423
+ # location is `global`.
424
+ # @param workload_identity_pool [::Google::Iam::V1beta::WorkloadIdentityPool, ::Hash]
425
+ # Required. The pool to create.
426
+ # @param workload_identity_pool_id [::String]
427
+ # Required. The ID to use for the pool, which becomes the
428
+ # final component of the resource name. This value should be 4-32 characters,
429
+ # and may contain the characters [a-z0-9-]. The prefix `gcp-` is
430
+ # reserved for use by Google, and may not be specified.
431
+ #
432
+ # @yield [response, operation] Access the result along with the RPC operation
433
+ # @yieldparam response [::Gapic::Operation]
434
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
435
+ #
436
+ # @return [::Gapic::Operation]
437
+ #
438
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
439
+ #
440
+ def create_workload_identity_pool request, options = nil
441
+ raise ::ArgumentError, "request must be provided" if request.nil?
442
+
443
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::CreateWorkloadIdentityPoolRequest
444
+
445
+ # Converts hash and nil to an options object
446
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
447
+
448
+ # Customize the options with defaults
449
+ metadata = @config.rpcs.create_workload_identity_pool.metadata.to_h
450
+
451
+ # Set x-goog-api-client and x-goog-user-project headers
452
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
453
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
454
+ gapic_version: ::Google::Iam::V1beta::VERSION
455
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
456
+
457
+ header_params = {
458
+ "parent" => request.parent
459
+ }
460
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
461
+ metadata[:"x-goog-request-params"] ||= request_params_header
462
+
463
+ options.apply_defaults timeout: @config.rpcs.create_workload_identity_pool.timeout,
464
+ metadata: metadata,
465
+ retry_policy: @config.rpcs.create_workload_identity_pool.retry_policy
466
+ options.apply_defaults metadata: @config.metadata,
467
+ retry_policy: @config.retry_policy
468
+
469
+ @workload_identity_pools_stub.call_rpc :create_workload_identity_pool, request, options: options do |response, operation|
470
+ response = ::Gapic::Operation.new response, @operations_client, options: options
471
+ yield response, operation if block_given?
472
+ return response
473
+ end
474
+ rescue ::GRPC::BadStatus => e
475
+ raise ::Google::Cloud::Error.from_error(e)
476
+ end
477
+
478
+ ##
479
+ # Updates an existing
480
+ # {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
481
+ #
482
+ # @overload update_workload_identity_pool(request, options = nil)
483
+ # Pass arguments to `update_workload_identity_pool` via a request object, either of type
484
+ # {::Google::Iam::V1beta::UpdateWorkloadIdentityPoolRequest} or an equivalent Hash.
485
+ #
486
+ # @param request [::Google::Iam::V1beta::UpdateWorkloadIdentityPoolRequest, ::Hash]
487
+ # A request object representing the call parameters. Required. To specify no
488
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
489
+ # @param options [::Gapic::CallOptions, ::Hash]
490
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
491
+ #
492
+ # @overload update_workload_identity_pool(workload_identity_pool: nil, update_mask: nil)
493
+ # Pass arguments to `update_workload_identity_pool` via keyword arguments. Note that at
494
+ # least one keyword argument is required. To specify no parameters, or to keep all
495
+ # the default parameter values, pass an empty Hash as a request object (see above).
496
+ #
497
+ # @param workload_identity_pool [::Google::Iam::V1beta::WorkloadIdentityPool, ::Hash]
498
+ # Required. The pool to update. The `name` field is used to identify the pool.
499
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
500
+ # Required. The list of fields update.
501
+ #
502
+ # @yield [response, operation] Access the result along with the RPC operation
503
+ # @yieldparam response [::Gapic::Operation]
504
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
505
+ #
506
+ # @return [::Gapic::Operation]
507
+ #
508
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
509
+ #
510
+ def update_workload_identity_pool request, options = nil
511
+ raise ::ArgumentError, "request must be provided" if request.nil?
512
+
513
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::UpdateWorkloadIdentityPoolRequest
514
+
515
+ # Converts hash and nil to an options object
516
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
517
+
518
+ # Customize the options with defaults
519
+ metadata = @config.rpcs.update_workload_identity_pool.metadata.to_h
520
+
521
+ # Set x-goog-api-client and x-goog-user-project headers
522
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
523
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
524
+ gapic_version: ::Google::Iam::V1beta::VERSION
525
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
526
+
527
+ header_params = {
528
+ "workload_identity_pool.name" => request.workload_identity_pool.name
529
+ }
530
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
531
+ metadata[:"x-goog-request-params"] ||= request_params_header
532
+
533
+ options.apply_defaults timeout: @config.rpcs.update_workload_identity_pool.timeout,
534
+ metadata: metadata,
535
+ retry_policy: @config.rpcs.update_workload_identity_pool.retry_policy
536
+ options.apply_defaults metadata: @config.metadata,
537
+ retry_policy: @config.retry_policy
538
+
539
+ @workload_identity_pools_stub.call_rpc :update_workload_identity_pool, request, options: options do |response, operation|
540
+ response = ::Gapic::Operation.new response, @operations_client, options: options
541
+ yield response, operation if block_given?
542
+ return response
543
+ end
544
+ rescue ::GRPC::BadStatus => e
545
+ raise ::Google::Cloud::Error.from_error(e)
546
+ end
547
+
548
+ ##
549
+ # Deletes a
550
+ # {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
551
+ #
552
+ # You cannot use a deleted pool to exchange external
553
+ # credentials for Google Cloud credentials. However, deletion does
554
+ # not revoke credentials that have already been issued.
555
+ # Credentials issued for a deleted pool do not grant access to resources.
556
+ # If the pool is undeleted, and the credentials are not expired, they
557
+ # grant access again.
558
+ # You can undelete a pool for 30 days. After 30 days, deletion is
559
+ # permanent.
560
+ # You cannot update deleted pools. However, you can view and list them.
561
+ #
562
+ # @overload delete_workload_identity_pool(request, options = nil)
563
+ # Pass arguments to `delete_workload_identity_pool` via a request object, either of type
564
+ # {::Google::Iam::V1beta::DeleteWorkloadIdentityPoolRequest} or an equivalent Hash.
565
+ #
566
+ # @param request [::Google::Iam::V1beta::DeleteWorkloadIdentityPoolRequest, ::Hash]
567
+ # A request object representing the call parameters. Required. To specify no
568
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
569
+ # @param options [::Gapic::CallOptions, ::Hash]
570
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
571
+ #
572
+ # @overload delete_workload_identity_pool(name: nil)
573
+ # Pass arguments to `delete_workload_identity_pool` via keyword arguments. Note that at
574
+ # least one keyword argument is required. To specify no parameters, or to keep all
575
+ # the default parameter values, pass an empty Hash as a request object (see above).
576
+ #
577
+ # @param name [::String]
578
+ # Required. The name of the pool to delete.
579
+ #
580
+ # @yield [response, operation] Access the result along with the RPC operation
581
+ # @yieldparam response [::Gapic::Operation]
582
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
583
+ #
584
+ # @return [::Gapic::Operation]
585
+ #
586
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
587
+ #
588
+ def delete_workload_identity_pool request, options = nil
589
+ raise ::ArgumentError, "request must be provided" if request.nil?
590
+
591
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::DeleteWorkloadIdentityPoolRequest
592
+
593
+ # Converts hash and nil to an options object
594
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
595
+
596
+ # Customize the options with defaults
597
+ metadata = @config.rpcs.delete_workload_identity_pool.metadata.to_h
598
+
599
+ # Set x-goog-api-client and x-goog-user-project headers
600
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
601
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
602
+ gapic_version: ::Google::Iam::V1beta::VERSION
603
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
604
+
605
+ header_params = {
606
+ "name" => request.name
607
+ }
608
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
609
+ metadata[:"x-goog-request-params"] ||= request_params_header
610
+
611
+ options.apply_defaults timeout: @config.rpcs.delete_workload_identity_pool.timeout,
612
+ metadata: metadata,
613
+ retry_policy: @config.rpcs.delete_workload_identity_pool.retry_policy
614
+ options.apply_defaults metadata: @config.metadata,
615
+ retry_policy: @config.retry_policy
616
+
617
+ @workload_identity_pools_stub.call_rpc :delete_workload_identity_pool, request, options: options do |response, operation|
618
+ response = ::Gapic::Operation.new response, @operations_client, options: options
619
+ yield response, operation if block_given?
620
+ return response
621
+ end
622
+ rescue ::GRPC::BadStatus => e
623
+ raise ::Google::Cloud::Error.from_error(e)
624
+ end
625
+
626
+ ##
627
+ # Undeletes a {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool},
628
+ # as long as it was deleted fewer than 30 days ago.
629
+ #
630
+ # @overload undelete_workload_identity_pool(request, options = nil)
631
+ # Pass arguments to `undelete_workload_identity_pool` via a request object, either of type
632
+ # {::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolRequest} or an equivalent Hash.
633
+ #
634
+ # @param request [::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolRequest, ::Hash]
635
+ # A request object representing the call parameters. Required. To specify no
636
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
637
+ # @param options [::Gapic::CallOptions, ::Hash]
638
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
639
+ #
640
+ # @overload undelete_workload_identity_pool(name: nil)
641
+ # Pass arguments to `undelete_workload_identity_pool` via keyword arguments. Note that at
642
+ # least one keyword argument is required. To specify no parameters, or to keep all
643
+ # the default parameter values, pass an empty Hash as a request object (see above).
644
+ #
645
+ # @param name [::String]
646
+ # Required. The name of the pool to undelete.
647
+ #
648
+ # @yield [response, operation] Access the result along with the RPC operation
649
+ # @yieldparam response [::Gapic::Operation]
650
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
651
+ #
652
+ # @return [::Gapic::Operation]
653
+ #
654
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
655
+ #
656
+ def undelete_workload_identity_pool request, options = nil
657
+ raise ::ArgumentError, "request must be provided" if request.nil?
658
+
659
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolRequest
660
+
661
+ # Converts hash and nil to an options object
662
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
663
+
664
+ # Customize the options with defaults
665
+ metadata = @config.rpcs.undelete_workload_identity_pool.metadata.to_h
666
+
667
+ # Set x-goog-api-client and x-goog-user-project headers
668
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
669
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
670
+ gapic_version: ::Google::Iam::V1beta::VERSION
671
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
672
+
673
+ header_params = {
674
+ "name" => request.name
675
+ }
676
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
677
+ metadata[:"x-goog-request-params"] ||= request_params_header
678
+
679
+ options.apply_defaults timeout: @config.rpcs.undelete_workload_identity_pool.timeout,
680
+ metadata: metadata,
681
+ retry_policy: @config.rpcs.undelete_workload_identity_pool.retry_policy
682
+ options.apply_defaults metadata: @config.metadata,
683
+ retry_policy: @config.retry_policy
684
+
685
+ @workload_identity_pools_stub.call_rpc :undelete_workload_identity_pool, request, options: options do |response, operation|
686
+ response = ::Gapic::Operation.new response, @operations_client, options: options
687
+ yield response, operation if block_given?
688
+ return response
689
+ end
690
+ rescue ::GRPC::BadStatus => e
691
+ raise ::Google::Cloud::Error.from_error(e)
692
+ end
693
+
694
+ ##
695
+ # Lists all non-deleted
696
+ # {::Google::Iam::V1beta::WorkloadIdentityPoolProvider WorkloadIdentityPoolProvider}s
697
+ # in a {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
698
+ # If `show_deleted` is set to `true`, then deleted providers are also listed.
699
+ #
700
+ # @overload list_workload_identity_pool_providers(request, options = nil)
701
+ # Pass arguments to `list_workload_identity_pool_providers` via a request object, either of type
702
+ # {::Google::Iam::V1beta::ListWorkloadIdentityPoolProvidersRequest} or an equivalent Hash.
703
+ #
704
+ # @param request [::Google::Iam::V1beta::ListWorkloadIdentityPoolProvidersRequest, ::Hash]
705
+ # A request object representing the call parameters. Required. To specify no
706
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
707
+ # @param options [::Gapic::CallOptions, ::Hash]
708
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
709
+ #
710
+ # @overload list_workload_identity_pool_providers(parent: nil, page_size: nil, page_token: nil, show_deleted: nil)
711
+ # Pass arguments to `list_workload_identity_pool_providers` via keyword arguments. Note that at
712
+ # least one keyword argument is required. To specify no parameters, or to keep all
713
+ # the default parameter values, pass an empty Hash as a request object (see above).
714
+ #
715
+ # @param parent [::String]
716
+ # Required. The pool to list providers for.
717
+ # @param page_size [::Integer]
718
+ # The maximum number of providers to return.
719
+ # If unspecified, at most 50 providers are returned.
720
+ # The maximum value is 100; values above 100 are truncated to 100.
721
+ # @param page_token [::String]
722
+ # A page token, received from a previous
723
+ # `ListWorkloadIdentityPoolProviders` call. Provide this to retrieve the
724
+ # subsequent page.
725
+ # @param show_deleted [::Boolean]
726
+ # Whether to return soft-deleted providers.
727
+ #
728
+ # @yield [response, operation] Access the result along with the RPC operation
729
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Iam::V1beta::WorkloadIdentityPoolProvider>]
730
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
731
+ #
732
+ # @return [::Gapic::PagedEnumerable<::Google::Iam::V1beta::WorkloadIdentityPoolProvider>]
733
+ #
734
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
735
+ #
736
+ def list_workload_identity_pool_providers request, options = nil
737
+ raise ::ArgumentError, "request must be provided" if request.nil?
738
+
739
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::ListWorkloadIdentityPoolProvidersRequest
740
+
741
+ # Converts hash and nil to an options object
742
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
743
+
744
+ # Customize the options with defaults
745
+ metadata = @config.rpcs.list_workload_identity_pool_providers.metadata.to_h
746
+
747
+ # Set x-goog-api-client and x-goog-user-project headers
748
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
749
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
750
+ gapic_version: ::Google::Iam::V1beta::VERSION
751
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
752
+
753
+ header_params = {
754
+ "parent" => request.parent
755
+ }
756
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
757
+ metadata[:"x-goog-request-params"] ||= request_params_header
758
+
759
+ options.apply_defaults timeout: @config.rpcs.list_workload_identity_pool_providers.timeout,
760
+ metadata: metadata,
761
+ retry_policy: @config.rpcs.list_workload_identity_pool_providers.retry_policy
762
+ options.apply_defaults metadata: @config.metadata,
763
+ retry_policy: @config.retry_policy
764
+
765
+ @workload_identity_pools_stub.call_rpc :list_workload_identity_pool_providers, request, options: options do |response, operation|
766
+ response = ::Gapic::PagedEnumerable.new @workload_identity_pools_stub, :list_workload_identity_pool_providers, request, response, operation, options
767
+ yield response, operation if block_given?
768
+ return response
769
+ end
770
+ rescue ::GRPC::BadStatus => e
771
+ raise ::Google::Cloud::Error.from_error(e)
772
+ end
773
+
774
+ ##
775
+ # Gets an individual
776
+ # {::Google::Iam::V1beta::WorkloadIdentityPoolProvider WorkloadIdentityPoolProvider}.
777
+ #
778
+ # @overload get_workload_identity_pool_provider(request, options = nil)
779
+ # Pass arguments to `get_workload_identity_pool_provider` via a request object, either of type
780
+ # {::Google::Iam::V1beta::GetWorkloadIdentityPoolProviderRequest} or an equivalent Hash.
781
+ #
782
+ # @param request [::Google::Iam::V1beta::GetWorkloadIdentityPoolProviderRequest, ::Hash]
783
+ # A request object representing the call parameters. Required. To specify no
784
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
785
+ # @param options [::Gapic::CallOptions, ::Hash]
786
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
787
+ #
788
+ # @overload get_workload_identity_pool_provider(name: nil)
789
+ # Pass arguments to `get_workload_identity_pool_provider` via keyword arguments. Note that at
790
+ # least one keyword argument is required. To specify no parameters, or to keep all
791
+ # the default parameter values, pass an empty Hash as a request object (see above).
792
+ #
793
+ # @param name [::String]
794
+ # Required. The name of the provider to retrieve.
795
+ #
796
+ # @yield [response, operation] Access the result along with the RPC operation
797
+ # @yieldparam response [::Google::Iam::V1beta::WorkloadIdentityPoolProvider]
798
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
799
+ #
800
+ # @return [::Google::Iam::V1beta::WorkloadIdentityPoolProvider]
801
+ #
802
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
803
+ #
804
+ def get_workload_identity_pool_provider request, options = nil
805
+ raise ::ArgumentError, "request must be provided" if request.nil?
806
+
807
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::GetWorkloadIdentityPoolProviderRequest
808
+
809
+ # Converts hash and nil to an options object
810
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
811
+
812
+ # Customize the options with defaults
813
+ metadata = @config.rpcs.get_workload_identity_pool_provider.metadata.to_h
814
+
815
+ # Set x-goog-api-client and x-goog-user-project headers
816
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
817
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
818
+ gapic_version: ::Google::Iam::V1beta::VERSION
819
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
820
+
821
+ header_params = {
822
+ "name" => request.name
823
+ }
824
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
825
+ metadata[:"x-goog-request-params"] ||= request_params_header
826
+
827
+ options.apply_defaults timeout: @config.rpcs.get_workload_identity_pool_provider.timeout,
828
+ metadata: metadata,
829
+ retry_policy: @config.rpcs.get_workload_identity_pool_provider.retry_policy
830
+ options.apply_defaults metadata: @config.metadata,
831
+ retry_policy: @config.retry_policy
832
+
833
+ @workload_identity_pools_stub.call_rpc :get_workload_identity_pool_provider, request, options: options do |response, operation|
834
+ yield response, operation if block_given?
835
+ return response
836
+ end
837
+ rescue ::GRPC::BadStatus => e
838
+ raise ::Google::Cloud::Error.from_error(e)
839
+ end
840
+
841
+ ##
842
+ # Creates a new
843
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider]
844
+ # in a {::Google::Iam::V1beta::WorkloadIdentityPool WorkloadIdentityPool}.
845
+ #
846
+ # You cannot reuse the name of a deleted provider until 30 days after
847
+ # deletion.
848
+ #
849
+ # @overload create_workload_identity_pool_provider(request, options = nil)
850
+ # Pass arguments to `create_workload_identity_pool_provider` via a request object, either of type
851
+ # {::Google::Iam::V1beta::CreateWorkloadIdentityPoolProviderRequest} or an equivalent Hash.
852
+ #
853
+ # @param request [::Google::Iam::V1beta::CreateWorkloadIdentityPoolProviderRequest, ::Hash]
854
+ # A request object representing the call parameters. Required. To specify no
855
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
856
+ # @param options [::Gapic::CallOptions, ::Hash]
857
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
858
+ #
859
+ # @overload create_workload_identity_pool_provider(parent: nil, workload_identity_pool_provider: nil, workload_identity_pool_provider_id: nil)
860
+ # Pass arguments to `create_workload_identity_pool_provider` via keyword arguments. Note that at
861
+ # least one keyword argument is required. To specify no parameters, or to keep all
862
+ # the default parameter values, pass an empty Hash as a request object (see above).
863
+ #
864
+ # @param parent [::String]
865
+ # Required. The pool to create this provider in.
866
+ # @param workload_identity_pool_provider [::Google::Iam::V1beta::WorkloadIdentityPoolProvider, ::Hash]
867
+ # Required. The provider to create.
868
+ # @param workload_identity_pool_provider_id [::String]
869
+ # Required. The ID for the provider, which becomes the
870
+ # final component of the resource name. This value must be 4-32 characters,
871
+ # and may contain the characters [a-z0-9-]. The prefix `gcp-` is
872
+ # reserved for use by Google, and may not be specified.
873
+ #
874
+ # @yield [response, operation] Access the result along with the RPC operation
875
+ # @yieldparam response [::Gapic::Operation]
876
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
877
+ #
878
+ # @return [::Gapic::Operation]
879
+ #
880
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
881
+ #
882
+ def create_workload_identity_pool_provider request, options = nil
883
+ raise ::ArgumentError, "request must be provided" if request.nil?
884
+
885
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::CreateWorkloadIdentityPoolProviderRequest
886
+
887
+ # Converts hash and nil to an options object
888
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
889
+
890
+ # Customize the options with defaults
891
+ metadata = @config.rpcs.create_workload_identity_pool_provider.metadata.to_h
892
+
893
+ # Set x-goog-api-client and x-goog-user-project headers
894
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
895
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
896
+ gapic_version: ::Google::Iam::V1beta::VERSION
897
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
898
+
899
+ header_params = {
900
+ "parent" => request.parent
901
+ }
902
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
903
+ metadata[:"x-goog-request-params"] ||= request_params_header
904
+
905
+ options.apply_defaults timeout: @config.rpcs.create_workload_identity_pool_provider.timeout,
906
+ metadata: metadata,
907
+ retry_policy: @config.rpcs.create_workload_identity_pool_provider.retry_policy
908
+ options.apply_defaults metadata: @config.metadata,
909
+ retry_policy: @config.retry_policy
910
+
911
+ @workload_identity_pools_stub.call_rpc :create_workload_identity_pool_provider, request, options: options do |response, operation|
912
+ response = ::Gapic::Operation.new response, @operations_client, options: options
913
+ yield response, operation if block_given?
914
+ return response
915
+ end
916
+ rescue ::GRPC::BadStatus => e
917
+ raise ::Google::Cloud::Error.from_error(e)
918
+ end
919
+
920
+ ##
921
+ # Updates an existing
922
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider].
923
+ #
924
+ # @overload update_workload_identity_pool_provider(request, options = nil)
925
+ # Pass arguments to `update_workload_identity_pool_provider` via a request object, either of type
926
+ # {::Google::Iam::V1beta::UpdateWorkloadIdentityPoolProviderRequest} or an equivalent Hash.
927
+ #
928
+ # @param request [::Google::Iam::V1beta::UpdateWorkloadIdentityPoolProviderRequest, ::Hash]
929
+ # A request object representing the call parameters. Required. To specify no
930
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
931
+ # @param options [::Gapic::CallOptions, ::Hash]
932
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
933
+ #
934
+ # @overload update_workload_identity_pool_provider(workload_identity_pool_provider: nil, update_mask: nil)
935
+ # Pass arguments to `update_workload_identity_pool_provider` via keyword arguments. Note that at
936
+ # least one keyword argument is required. To specify no parameters, or to keep all
937
+ # the default parameter values, pass an empty Hash as a request object (see above).
938
+ #
939
+ # @param workload_identity_pool_provider [::Google::Iam::V1beta::WorkloadIdentityPoolProvider, ::Hash]
940
+ # Required. The provider to update.
941
+ # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
942
+ # Required. The list of fields to update.
943
+ #
944
+ # @yield [response, operation] Access the result along with the RPC operation
945
+ # @yieldparam response [::Gapic::Operation]
946
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
947
+ #
948
+ # @return [::Gapic::Operation]
949
+ #
950
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
951
+ #
952
+ def update_workload_identity_pool_provider request, options = nil
953
+ raise ::ArgumentError, "request must be provided" if request.nil?
954
+
955
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::UpdateWorkloadIdentityPoolProviderRequest
956
+
957
+ # Converts hash and nil to an options object
958
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
959
+
960
+ # Customize the options with defaults
961
+ metadata = @config.rpcs.update_workload_identity_pool_provider.metadata.to_h
962
+
963
+ # Set x-goog-api-client and x-goog-user-project headers
964
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
965
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
966
+ gapic_version: ::Google::Iam::V1beta::VERSION
967
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
968
+
969
+ header_params = {
970
+ "workload_identity_pool_provider.name" => request.workload_identity_pool_provider.name
971
+ }
972
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
973
+ metadata[:"x-goog-request-params"] ||= request_params_header
974
+
975
+ options.apply_defaults timeout: @config.rpcs.update_workload_identity_pool_provider.timeout,
976
+ metadata: metadata,
977
+ retry_policy: @config.rpcs.update_workload_identity_pool_provider.retry_policy
978
+ options.apply_defaults metadata: @config.metadata,
979
+ retry_policy: @config.retry_policy
980
+
981
+ @workload_identity_pools_stub.call_rpc :update_workload_identity_pool_provider, request, options: options do |response, operation|
982
+ response = ::Gapic::Operation.new response, @operations_client, options: options
983
+ yield response, operation if block_given?
984
+ return response
985
+ end
986
+ rescue ::GRPC::BadStatus => e
987
+ raise ::Google::Cloud::Error.from_error(e)
988
+ end
989
+
990
+ ##
991
+ # Deletes a
992
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider].
993
+ # Deleting a provider does not revoke credentials that have already been
994
+ # issued; they continue to grant access.
995
+ # You can undelete a provider for 30 days. After 30 days, deletion is
996
+ # permanent.
997
+ # You cannot update deleted providers. However, you can view and list them.
998
+ #
999
+ # @overload delete_workload_identity_pool_provider(request, options = nil)
1000
+ # Pass arguments to `delete_workload_identity_pool_provider` via a request object, either of type
1001
+ # {::Google::Iam::V1beta::DeleteWorkloadIdentityPoolProviderRequest} or an equivalent Hash.
1002
+ #
1003
+ # @param request [::Google::Iam::V1beta::DeleteWorkloadIdentityPoolProviderRequest, ::Hash]
1004
+ # A request object representing the call parameters. Required. To specify no
1005
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1006
+ # @param options [::Gapic::CallOptions, ::Hash]
1007
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1008
+ #
1009
+ # @overload delete_workload_identity_pool_provider(name: nil)
1010
+ # Pass arguments to `delete_workload_identity_pool_provider` via keyword arguments. Note that at
1011
+ # least one keyword argument is required. To specify no parameters, or to keep all
1012
+ # the default parameter values, pass an empty Hash as a request object (see above).
1013
+ #
1014
+ # @param name [::String]
1015
+ # Required. The name of the provider to delete.
1016
+ #
1017
+ # @yield [response, operation] Access the result along with the RPC operation
1018
+ # @yieldparam response [::Gapic::Operation]
1019
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1020
+ #
1021
+ # @return [::Gapic::Operation]
1022
+ #
1023
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1024
+ #
1025
+ def delete_workload_identity_pool_provider request, options = nil
1026
+ raise ::ArgumentError, "request must be provided" if request.nil?
1027
+
1028
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::DeleteWorkloadIdentityPoolProviderRequest
1029
+
1030
+ # Converts hash and nil to an options object
1031
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1032
+
1033
+ # Customize the options with defaults
1034
+ metadata = @config.rpcs.delete_workload_identity_pool_provider.metadata.to_h
1035
+
1036
+ # Set x-goog-api-client and x-goog-user-project headers
1037
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1038
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1039
+ gapic_version: ::Google::Iam::V1beta::VERSION
1040
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1041
+
1042
+ header_params = {
1043
+ "name" => request.name
1044
+ }
1045
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1046
+ metadata[:"x-goog-request-params"] ||= request_params_header
1047
+
1048
+ options.apply_defaults timeout: @config.rpcs.delete_workload_identity_pool_provider.timeout,
1049
+ metadata: metadata,
1050
+ retry_policy: @config.rpcs.delete_workload_identity_pool_provider.retry_policy
1051
+ options.apply_defaults metadata: @config.metadata,
1052
+ retry_policy: @config.retry_policy
1053
+
1054
+ @workload_identity_pools_stub.call_rpc :delete_workload_identity_pool_provider, request, options: options do |response, operation|
1055
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1056
+ yield response, operation if block_given?
1057
+ return response
1058
+ end
1059
+ rescue ::GRPC::BadStatus => e
1060
+ raise ::Google::Cloud::Error.from_error(e)
1061
+ end
1062
+
1063
+ ##
1064
+ # Undeletes a
1065
+ # [WorkloadIdentityPoolProvider][google.iam.v1beta.WorkloadIdentityProvider],
1066
+ # as long as it was deleted fewer than 30 days ago.
1067
+ #
1068
+ # @overload undelete_workload_identity_pool_provider(request, options = nil)
1069
+ # Pass arguments to `undelete_workload_identity_pool_provider` via a request object, either of type
1070
+ # {::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolProviderRequest} or an equivalent Hash.
1071
+ #
1072
+ # @param request [::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolProviderRequest, ::Hash]
1073
+ # A request object representing the call parameters. Required. To specify no
1074
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1075
+ # @param options [::Gapic::CallOptions, ::Hash]
1076
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1077
+ #
1078
+ # @overload undelete_workload_identity_pool_provider(name: nil)
1079
+ # Pass arguments to `undelete_workload_identity_pool_provider` via keyword arguments. Note that at
1080
+ # least one keyword argument is required. To specify no parameters, or to keep all
1081
+ # the default parameter values, pass an empty Hash as a request object (see above).
1082
+ #
1083
+ # @param name [::String]
1084
+ # Required. The name of the provider to undelete.
1085
+ #
1086
+ # @yield [response, operation] Access the result along with the RPC operation
1087
+ # @yieldparam response [::Gapic::Operation]
1088
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1089
+ #
1090
+ # @return [::Gapic::Operation]
1091
+ #
1092
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1093
+ #
1094
+ def undelete_workload_identity_pool_provider request, options = nil
1095
+ raise ::ArgumentError, "request must be provided" if request.nil?
1096
+
1097
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Iam::V1beta::UndeleteWorkloadIdentityPoolProviderRequest
1098
+
1099
+ # Converts hash and nil to an options object
1100
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1101
+
1102
+ # Customize the options with defaults
1103
+ metadata = @config.rpcs.undelete_workload_identity_pool_provider.metadata.to_h
1104
+
1105
+ # Set x-goog-api-client and x-goog-user-project headers
1106
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1107
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1108
+ gapic_version: ::Google::Iam::V1beta::VERSION
1109
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1110
+
1111
+ header_params = {
1112
+ "name" => request.name
1113
+ }
1114
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1115
+ metadata[:"x-goog-request-params"] ||= request_params_header
1116
+
1117
+ options.apply_defaults timeout: @config.rpcs.undelete_workload_identity_pool_provider.timeout,
1118
+ metadata: metadata,
1119
+ retry_policy: @config.rpcs.undelete_workload_identity_pool_provider.retry_policy
1120
+ options.apply_defaults metadata: @config.metadata,
1121
+ retry_policy: @config.retry_policy
1122
+
1123
+ @workload_identity_pools_stub.call_rpc :undelete_workload_identity_pool_provider, request, options: options do |response, operation|
1124
+ response = ::Gapic::Operation.new response, @operations_client, options: options
1125
+ yield response, operation if block_given?
1126
+ return response
1127
+ end
1128
+ rescue ::GRPC::BadStatus => e
1129
+ raise ::Google::Cloud::Error.from_error(e)
1130
+ end
1131
+
1132
+ ##
1133
+ # Configuration class for the WorkloadIdentityPools API.
1134
+ #
1135
+ # This class represents the configuration for WorkloadIdentityPools,
1136
+ # providing control over timeouts, retry behavior, logging, transport
1137
+ # parameters, and other low-level controls. Certain parameters can also be
1138
+ # applied individually to specific RPCs. See
1139
+ # {::Google::Iam::V1beta::WorkloadIdentityPools::Client::Configuration::Rpcs}
1140
+ # for a list of RPCs that can be configured independently.
1141
+ #
1142
+ # Configuration can be applied globally to all clients, or to a single client
1143
+ # on construction.
1144
+ #
1145
+ # # Examples
1146
+ #
1147
+ # To modify the global config, setting the timeout for list_workload_identity_pools
1148
+ # to 20 seconds, and all remaining timeouts to 10 seconds:
1149
+ #
1150
+ # ::Google::Iam::V1beta::WorkloadIdentityPools::Client.configure do |config|
1151
+ # config.timeout = 10.0
1152
+ # config.rpcs.list_workload_identity_pools.timeout = 20.0
1153
+ # end
1154
+ #
1155
+ # To apply the above configuration only to a new client:
1156
+ #
1157
+ # client = ::Google::Iam::V1beta::WorkloadIdentityPools::Client.new do |config|
1158
+ # config.timeout = 10.0
1159
+ # config.rpcs.list_workload_identity_pools.timeout = 20.0
1160
+ # end
1161
+ #
1162
+ # @!attribute [rw] endpoint
1163
+ # The hostname or hostname:port of the service endpoint.
1164
+ # Defaults to `"iam.googleapis.com"`.
1165
+ # @return [::String]
1166
+ # @!attribute [rw] credentials
1167
+ # Credentials to send with calls. You may provide any of the following types:
1168
+ # * (`String`) The path to a service account key file in JSON format
1169
+ # * (`Hash`) A service account key as a Hash
1170
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
1171
+ # (see the [googleauth docs](https://googleapis.dev/ruby/googleauth/latest/index.html))
1172
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
1173
+ # (see the [signet docs](https://googleapis.dev/ruby/signet/latest/Signet/OAuth2/Client.html))
1174
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
1175
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
1176
+ # * (`nil`) indicating no credentials
1177
+ # @return [::Object]
1178
+ # @!attribute [rw] scope
1179
+ # The OAuth scopes
1180
+ # @return [::Array<::String>]
1181
+ # @!attribute [rw] lib_name
1182
+ # The library name as recorded in instrumentation and logging
1183
+ # @return [::String]
1184
+ # @!attribute [rw] lib_version
1185
+ # The library version as recorded in instrumentation and logging
1186
+ # @return [::String]
1187
+ # @!attribute [rw] channel_args
1188
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
1189
+ # `GRPC::Core::Channel` object is provided as the credential.
1190
+ # @return [::Hash]
1191
+ # @!attribute [rw] interceptors
1192
+ # An array of interceptors that are run before calls are executed.
1193
+ # @return [::Array<::GRPC::ClientInterceptor>]
1194
+ # @!attribute [rw] timeout
1195
+ # The call timeout in seconds.
1196
+ # @return [::Numeric]
1197
+ # @!attribute [rw] metadata
1198
+ # Additional gRPC headers to be sent with the call.
1199
+ # @return [::Hash{::Symbol=>::String}]
1200
+ # @!attribute [rw] retry_policy
1201
+ # The retry policy. The value is a hash with the following keys:
1202
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1203
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1204
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1205
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1206
+ # trigger a retry.
1207
+ # @return [::Hash]
1208
+ # @!attribute [rw] quota_project
1209
+ # A separate project against which to charge quota.
1210
+ # @return [::String]
1211
+ #
1212
+ class Configuration
1213
+ extend ::Gapic::Config
1214
+
1215
+ config_attr :endpoint, "iam.googleapis.com", ::String
1216
+ config_attr :credentials, nil do |value|
1217
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1218
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
1219
+ allowed.any? { |klass| klass === value }
1220
+ end
1221
+ config_attr :scope, nil, ::String, ::Array, nil
1222
+ config_attr :lib_name, nil, ::String, nil
1223
+ config_attr :lib_version, nil, ::String, nil
1224
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1225
+ config_attr :interceptors, nil, ::Array, nil
1226
+ config_attr :timeout, nil, ::Numeric, nil
1227
+ config_attr :metadata, nil, ::Hash, nil
1228
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1229
+ config_attr :quota_project, nil, ::String, nil
1230
+
1231
+ # @private
1232
+ def initialize parent_config = nil
1233
+ @parent_config = parent_config unless parent_config.nil?
1234
+
1235
+ yield self if block_given?
1236
+ end
1237
+
1238
+ ##
1239
+ # Configurations for individual RPCs
1240
+ # @return [Rpcs]
1241
+ #
1242
+ def rpcs
1243
+ @rpcs ||= begin
1244
+ parent_rpcs = nil
1245
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1246
+ Rpcs.new parent_rpcs
1247
+ end
1248
+ end
1249
+
1250
+ ##
1251
+ # Configuration RPC class for the WorkloadIdentityPools API.
1252
+ #
1253
+ # Includes fields providing the configuration for each RPC in this service.
1254
+ # Each configuration object is of type `Gapic::Config::Method` and includes
1255
+ # the following configuration fields:
1256
+ #
1257
+ # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1258
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1259
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1260
+ # include the following keys:
1261
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
1262
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
1263
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
1264
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
1265
+ # trigger a retry.
1266
+ #
1267
+ class Rpcs
1268
+ ##
1269
+ # RPC-specific configuration for `list_workload_identity_pools`
1270
+ # @return [::Gapic::Config::Method]
1271
+ #
1272
+ attr_reader :list_workload_identity_pools
1273
+ ##
1274
+ # RPC-specific configuration for `get_workload_identity_pool`
1275
+ # @return [::Gapic::Config::Method]
1276
+ #
1277
+ attr_reader :get_workload_identity_pool
1278
+ ##
1279
+ # RPC-specific configuration for `create_workload_identity_pool`
1280
+ # @return [::Gapic::Config::Method]
1281
+ #
1282
+ attr_reader :create_workload_identity_pool
1283
+ ##
1284
+ # RPC-specific configuration for `update_workload_identity_pool`
1285
+ # @return [::Gapic::Config::Method]
1286
+ #
1287
+ attr_reader :update_workload_identity_pool
1288
+ ##
1289
+ # RPC-specific configuration for `delete_workload_identity_pool`
1290
+ # @return [::Gapic::Config::Method]
1291
+ #
1292
+ attr_reader :delete_workload_identity_pool
1293
+ ##
1294
+ # RPC-specific configuration for `undelete_workload_identity_pool`
1295
+ # @return [::Gapic::Config::Method]
1296
+ #
1297
+ attr_reader :undelete_workload_identity_pool
1298
+ ##
1299
+ # RPC-specific configuration for `list_workload_identity_pool_providers`
1300
+ # @return [::Gapic::Config::Method]
1301
+ #
1302
+ attr_reader :list_workload_identity_pool_providers
1303
+ ##
1304
+ # RPC-specific configuration for `get_workload_identity_pool_provider`
1305
+ # @return [::Gapic::Config::Method]
1306
+ #
1307
+ attr_reader :get_workload_identity_pool_provider
1308
+ ##
1309
+ # RPC-specific configuration for `create_workload_identity_pool_provider`
1310
+ # @return [::Gapic::Config::Method]
1311
+ #
1312
+ attr_reader :create_workload_identity_pool_provider
1313
+ ##
1314
+ # RPC-specific configuration for `update_workload_identity_pool_provider`
1315
+ # @return [::Gapic::Config::Method]
1316
+ #
1317
+ attr_reader :update_workload_identity_pool_provider
1318
+ ##
1319
+ # RPC-specific configuration for `delete_workload_identity_pool_provider`
1320
+ # @return [::Gapic::Config::Method]
1321
+ #
1322
+ attr_reader :delete_workload_identity_pool_provider
1323
+ ##
1324
+ # RPC-specific configuration for `undelete_workload_identity_pool_provider`
1325
+ # @return [::Gapic::Config::Method]
1326
+ #
1327
+ attr_reader :undelete_workload_identity_pool_provider
1328
+
1329
+ # @private
1330
+ def initialize parent_rpcs = nil
1331
+ list_workload_identity_pools_config = parent_rpcs&.list_workload_identity_pools if parent_rpcs&.respond_to? :list_workload_identity_pools
1332
+ @list_workload_identity_pools = ::Gapic::Config::Method.new list_workload_identity_pools_config
1333
+ get_workload_identity_pool_config = parent_rpcs&.get_workload_identity_pool if parent_rpcs&.respond_to? :get_workload_identity_pool
1334
+ @get_workload_identity_pool = ::Gapic::Config::Method.new get_workload_identity_pool_config
1335
+ create_workload_identity_pool_config = parent_rpcs&.create_workload_identity_pool if parent_rpcs&.respond_to? :create_workload_identity_pool
1336
+ @create_workload_identity_pool = ::Gapic::Config::Method.new create_workload_identity_pool_config
1337
+ update_workload_identity_pool_config = parent_rpcs&.update_workload_identity_pool if parent_rpcs&.respond_to? :update_workload_identity_pool
1338
+ @update_workload_identity_pool = ::Gapic::Config::Method.new update_workload_identity_pool_config
1339
+ delete_workload_identity_pool_config = parent_rpcs&.delete_workload_identity_pool if parent_rpcs&.respond_to? :delete_workload_identity_pool
1340
+ @delete_workload_identity_pool = ::Gapic::Config::Method.new delete_workload_identity_pool_config
1341
+ undelete_workload_identity_pool_config = parent_rpcs&.undelete_workload_identity_pool if parent_rpcs&.respond_to? :undelete_workload_identity_pool
1342
+ @undelete_workload_identity_pool = ::Gapic::Config::Method.new undelete_workload_identity_pool_config
1343
+ list_workload_identity_pool_providers_config = parent_rpcs&.list_workload_identity_pool_providers if parent_rpcs&.respond_to? :list_workload_identity_pool_providers
1344
+ @list_workload_identity_pool_providers = ::Gapic::Config::Method.new list_workload_identity_pool_providers_config
1345
+ get_workload_identity_pool_provider_config = parent_rpcs&.get_workload_identity_pool_provider if parent_rpcs&.respond_to? :get_workload_identity_pool_provider
1346
+ @get_workload_identity_pool_provider = ::Gapic::Config::Method.new get_workload_identity_pool_provider_config
1347
+ create_workload_identity_pool_provider_config = parent_rpcs&.create_workload_identity_pool_provider if parent_rpcs&.respond_to? :create_workload_identity_pool_provider
1348
+ @create_workload_identity_pool_provider = ::Gapic::Config::Method.new create_workload_identity_pool_provider_config
1349
+ update_workload_identity_pool_provider_config = parent_rpcs&.update_workload_identity_pool_provider if parent_rpcs&.respond_to? :update_workload_identity_pool_provider
1350
+ @update_workload_identity_pool_provider = ::Gapic::Config::Method.new update_workload_identity_pool_provider_config
1351
+ delete_workload_identity_pool_provider_config = parent_rpcs&.delete_workload_identity_pool_provider if parent_rpcs&.respond_to? :delete_workload_identity_pool_provider
1352
+ @delete_workload_identity_pool_provider = ::Gapic::Config::Method.new delete_workload_identity_pool_provider_config
1353
+ undelete_workload_identity_pool_provider_config = parent_rpcs&.undelete_workload_identity_pool_provider if parent_rpcs&.respond_to? :undelete_workload_identity_pool_provider
1354
+ @undelete_workload_identity_pool_provider = ::Gapic::Config::Method.new undelete_workload_identity_pool_provider_config
1355
+
1356
+ yield self if block_given?
1357
+ end
1358
+ end
1359
+ end
1360
+ end
1361
+ end
1362
+ end
1363
+ end
1364
+ end