strongdm 16.12.0 → 16.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a038a94fd529ae0e51b5d2002ae521d9123ea6d6be81a8d5cb2ed3c6bf81814e
4
- data.tar.gz: a2fb9acfc697669b6e29b3afe3414f53245ee76e7d5940d435606fe5a7b58c81
3
+ metadata.gz: d705798c4508a762c17a56e3f92caa9114a3674efea97d1da41fd63a81e51000
4
+ data.tar.gz: 2344fc01fb80f9a3ad4cdecaa52d484e61ddfd4f5fedaa05dfba6f408e7134f6
5
5
  SHA512:
6
- metadata.gz: 7348d3f9a154ab9775a0ba3b02c492ee6bcf3b6acded7ff4e5243292ea98d0c30b944b94a50718137b6e72aa766d8fcf36abbc2590b1a5e8951d24aff13a52fc
7
- data.tar.gz: fc5db62193d77350e30a1558b8f6f1d730155d8a2af837c0c7cb73a0ba5df009d3a293e880aae6b7f7238969d4c416f6ddbbd394e1057b05357e0e0592b96e28
6
+ metadata.gz: cfab5b194548d7c3c1aeef888b177d62e14c9a21419ee6ba2f1ac1859672bdebb86d9942f14e76e494c08e3b8c773937ff54c72d9b1391ec6215fa17c60957d5
7
+ data.tar.gz: b50fd5249504677fbe99144e6dad53a29111f8af057a3933165e2d06f79a381b05686235559bec67fd2c188accb0de3b8f8043b7535ab4a157962886269608ec
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 99fbe594d2068aedeaf1616d5dc24cdaa5674d55
1
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 root <root@016f1c2e4b47.(none)> 1772064384 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 root <root@016f1c2e4b47.(none)> 1772064384 +0000 checkout: moving from master to master
3
- 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@016f1c2e4b47.(none)> 1772064384 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@f05442c61c76.(none)> 1772133656 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@f05442c61c76.(none)> 1772133656 +0000 checkout: moving from master to master
3
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e 2021ebc52e6f975f3eedbd795c3a0a9dadc2caa3 root <root@f05442c61c76.(none)> 1772133656 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 root <root@016f1c2e4b47.(none)> 1772064384 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@016f1c2e4b47.(none)> 1772064384 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@f05442c61c76.(none)> 1772133656 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e 2021ebc52e6f975f3eedbd795c3a0a9dadc2caa3 root <root@f05442c61c76.(none)> 1772133656 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 root <root@016f1c2e4b47.(none)> 1772064384 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e root <root@f05442c61c76.(none)> 1772133656 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
data/.git/packed-refs CHANGED
@@ -1,6 +1,6 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e refs/remotes/origin/development
3
- 99fbe594d2068aedeaf1616d5dc24cdaa5674d55 refs/remotes/origin/master
2
+ 2021ebc52e6f975f3eedbd795c3a0a9dadc2caa3 refs/remotes/origin/development
3
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e refs/remotes/origin/master
4
4
  2e4fe8087177ddea9b3991ca499f758384839c89 refs/tags/untagged-84fd83a4484c785cce63
5
5
  04f604866214fab4d5663b5171a3e596331577bd refs/tags/v0.9.4
6
6
  6f9a7b75b345c65fb554884907b7060680c807b7 refs/tags/v0.9.5
@@ -141,6 +141,7 @@ c3b0eeef356ddf0cf408d1305fd766791121803f refs/tags/v15.46.0
141
141
  68c6bf260ea0ac7c4c151e0de221aac18fabcd3c refs/tags/v16.0.0
142
142
  38de225069b8053585aeb22f569abdd9d1ffe5dd refs/tags/v16.1.0
143
143
  99fbe594d2068aedeaf1616d5dc24cdaa5674d55 refs/tags/v16.11.0
144
+ 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e refs/tags/v16.12.0
144
145
  3f2a99e1a4296cf5b4937d57b901051b9381c209 refs/tags/v16.3.0
145
146
  eb2c5388eb894fce71666148224e02d977c87baa refs/tags/v16.4.0
146
147
  6450bdc10119fb8a00123c4262d6f245a70ed06a refs/tags/v16.5.0
@@ -1 +1 @@
1
- 2e067a01b90cfd6cce4b1bde6395a2f0019ef29e
1
+ 2021ebc52e6f975f3eedbd795c3a0a9dadc2caa3
data/lib/constants.rb CHANGED
@@ -385,6 +385,7 @@ module SDM
385
385
  DEPRECATED_DATASOURCE_GRANT = "datasource:grant"
386
386
  DISCOVERY_CONNECTOR_READ = "discoveryconnector:read"
387
387
  DISCOVERY_CONNECTOR_WRITE = "discoveryconnector:write"
388
+ ENTITLEMENTS_READ = "entitlements:read"
388
389
  GRANT_READ = "grant:read"
389
390
  GRANT_WRITE = "grant:write"
390
391
  GROUP_READ = "group:read"
@@ -0,0 +1,58 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # source: granted_account_entitlements.proto
17
+
18
+ require "google/protobuf"
19
+
20
+ require "google/protobuf/timestamp_pb"
21
+ require "options_pb"
22
+ require "spec_pb"
23
+
24
+ Google::Protobuf::DescriptorPool.generated_pool.build do
25
+ add_file("granted_account_entitlements.proto", :syntax => :proto3) do
26
+ add_message "v1.GrantedAccountEntitlementListRequest" do
27
+ optional :meta, :message, 1, "v1.ListRequestMetadata"
28
+ optional :account_id, :string, 2
29
+ optional :filter, :string, 3
30
+ end
31
+ add_message "v1.GrantedAccountEntitlementListResponse" do
32
+ optional :meta, :message, 1, "v1.ListResponseMetadata"
33
+ repeated :granted_account_entitlements, :message, 2, "v1.GrantedAccountEntitlement"
34
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
35
+ end
36
+ add_message "v1.GrantedAccountEntitlement" do
37
+ optional :resource_id, :string, 1
38
+ optional :origin_id, :string, 2
39
+ optional :last_accessed, :message, 3, "google.protobuf.Timestamp"
40
+ optional :mapped_identities, :message, 4, "v1.MappedIdentities"
41
+ optional :group_id, :string, 5
42
+ end
43
+ add_message "v1.MappedIdentities" do
44
+ optional :kubernetes, :message, 1, "v1.GrantedEntitlementKubernetesPrivileges"
45
+ end
46
+ add_message "v1.GrantedEntitlementKubernetesPrivileges" do
47
+ repeated :groups, :string, 1
48
+ end
49
+ end
50
+ end
51
+
52
+ module V1
53
+ GrantedAccountEntitlementListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedAccountEntitlementListRequest").msgclass
54
+ GrantedAccountEntitlementListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedAccountEntitlementListResponse").msgclass
55
+ GrantedAccountEntitlement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedAccountEntitlement").msgclass
56
+ MappedIdentities = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.MappedIdentities").msgclass
57
+ GrantedEntitlementKubernetesPrivileges = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedEntitlementKubernetesPrivileges").msgclass
58
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # Source: granted_account_entitlements.proto for package 'v1'
17
+
18
+ require "grpc"
19
+ require "granted_account_entitlements_pb"
20
+
21
+ module V1
22
+ module GrantedAccountEntitlements
23
+ # GrantedAccountEntitlements enumerates the resources to which an account has been granted access.
24
+ # The GrantedAccountEntitlements service is read-only.
25
+ class Service
26
+ include ::GRPC::GenericService
27
+
28
+ self.marshal_class_method = :encode
29
+ self.unmarshal_class_method = :decode
30
+ self.service_name = "v1.GrantedAccountEntitlements"
31
+
32
+ # List gets a list of GrantedAccountEntitlement records matching a given set of criteria.
33
+ rpc :List, ::V1::GrantedAccountEntitlementListRequest, ::V1::GrantedAccountEntitlementListResponse
34
+ end
35
+
36
+ Stub = Service.rpc_stub_class
37
+ end
38
+ end
@@ -0,0 +1,51 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # source: granted_resource_entitlements.proto
17
+
18
+ require "google/protobuf"
19
+
20
+ require "google/protobuf/timestamp_pb"
21
+ require "options_pb"
22
+ require "spec_pb"
23
+ require "granted_account_entitlements_pb"
24
+
25
+ Google::Protobuf::DescriptorPool.generated_pool.build do
26
+ add_file("granted_resource_entitlements.proto", :syntax => :proto3) do
27
+ add_message "v1.GrantedResourceEntitlementListRequest" do
28
+ optional :meta, :message, 1, "v1.ListRequestMetadata"
29
+ optional :resource_id, :string, 2
30
+ optional :filter, :string, 3
31
+ end
32
+ add_message "v1.GrantedResourceEntitlementListResponse" do
33
+ optional :meta, :message, 1, "v1.ListResponseMetadata"
34
+ repeated :granted_resource_entitlements, :message, 2, "v1.GrantedResourceEntitlement"
35
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
36
+ end
37
+ add_message "v1.GrantedResourceEntitlement" do
38
+ optional :account_id, :string, 1
39
+ optional :origin_id, :string, 2
40
+ optional :last_accessed, :message, 3, "google.protobuf.Timestamp"
41
+ optional :mapped_identities, :message, 4, "v1.MappedIdentities"
42
+ optional :group_id, :string, 5
43
+ end
44
+ end
45
+ end
46
+
47
+ module V1
48
+ GrantedResourceEntitlementListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedResourceEntitlementListRequest").msgclass
49
+ GrantedResourceEntitlementListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedResourceEntitlementListResponse").msgclass
50
+ GrantedResourceEntitlement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedResourceEntitlement").msgclass
51
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # Source: granted_resource_entitlements.proto for package 'v1'
17
+
18
+ require "grpc"
19
+ require "granted_resource_entitlements_pb"
20
+
21
+ module V1
22
+ module GrantedResourceEntitlements
23
+ # GrantedResourceEntitlements enumerates the accounts that have been granted access to a given resource.
24
+ # The GrantedResourceEntitlements service is read-only.
25
+ class Service
26
+ include ::GRPC::GenericService
27
+
28
+ self.marshal_class_method = :encode
29
+ self.unmarshal_class_method = :decode
30
+ self.service_name = "v1.GrantedResourceEntitlements"
31
+
32
+ # List gets a list of GrantedResourceEntitlement records matching a given set of criteria.
33
+ rpc :List, ::V1::GrantedResourceEntitlementListRequest, ::V1::GrantedResourceEntitlementListResponse
34
+ end
35
+
36
+ Stub = Service.rpc_stub_class
37
+ end
38
+ end
@@ -0,0 +1,50 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # source: granted_role_entitlements.proto
17
+
18
+ require "google/protobuf"
19
+
20
+ require "google/protobuf/timestamp_pb"
21
+ require "options_pb"
22
+ require "spec_pb"
23
+ require "granted_account_entitlements_pb"
24
+
25
+ Google::Protobuf::DescriptorPool.generated_pool.build do
26
+ add_file("granted_role_entitlements.proto", :syntax => :proto3) do
27
+ add_message "v1.GrantedRoleEntitlementListRequest" do
28
+ optional :meta, :message, 1, "v1.ListRequestMetadata"
29
+ optional :role_id, :string, 2
30
+ optional :filter, :string, 3
31
+ end
32
+ add_message "v1.GrantedRoleEntitlementListResponse" do
33
+ optional :meta, :message, 1, "v1.ListResponseMetadata"
34
+ repeated :granted_role_entitlements, :message, 2, "v1.GrantedRoleEntitlement"
35
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
36
+ end
37
+ add_message "v1.GrantedRoleEntitlement" do
38
+ optional :resource_id, :string, 1
39
+ optional :last_accessed, :message, 2, "google.protobuf.Timestamp"
40
+ optional :mapped_identities, :message, 3, "v1.MappedIdentities"
41
+ optional :group_id, :string, 4
42
+ end
43
+ end
44
+ end
45
+
46
+ module V1
47
+ GrantedRoleEntitlementListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedRoleEntitlementListRequest").msgclass
48
+ GrantedRoleEntitlementListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedRoleEntitlementListResponse").msgclass
49
+ GrantedRoleEntitlement = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GrantedRoleEntitlement").msgclass
50
+ end
@@ -0,0 +1,38 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # Source: granted_role_entitlements.proto for package 'v1'
17
+
18
+ require "grpc"
19
+ require "granted_role_entitlements_pb"
20
+
21
+ module V1
22
+ module GrantedRoleEntitlements
23
+ # GrantedRoleEntitlements enumerates the resources to which a role grants access.
24
+ # The GrantedRoleEntitlements service is read-only.
25
+ class Service
26
+ include ::GRPC::GenericService
27
+
28
+ self.marshal_class_method = :encode
29
+ self.unmarshal_class_method = :decode
30
+ self.service_name = "v1.GrantedRoleEntitlements"
31
+
32
+ # List gets a list of GrantedRoleEntitlement records matching a given set of criteria.
33
+ rpc :List, ::V1::GrantedRoleEntitlementListRequest, ::V1::GrantedRoleEntitlementListResponse
34
+ end
35
+
36
+ Stub = Service.rpc_stub_class
37
+ end
38
+ end
data/lib/grpc/plumbing.rb CHANGED
@@ -47,6 +47,9 @@ require_relative "./approval_workflows_history_pb"
47
47
  require_relative "./authorization_policies_pb"
48
48
  require_relative "./control_panel_pb"
49
49
  require_relative "./discovery_connectors_pb"
50
+ require_relative "./granted_account_entitlements_pb"
51
+ require_relative "./granted_resource_entitlements_pb"
52
+ require_relative "./granted_role_entitlements_pb"
50
53
  require_relative "./roles_pb"
51
54
  require_relative "./groups_pb"
52
55
  require_relative "./groups_history_pb"
@@ -8473,6 +8476,164 @@ module SDM
8473
8476
  end
8474
8477
  items
8475
8478
  end
8479
+ def self.convert_granted_account_entitlement_to_porcelain(plumbing)
8480
+ if plumbing == nil
8481
+ return nil
8482
+ end
8483
+ porcelain = GrantedAccountEntitlement.new()
8484
+ porcelain.group_id = (plumbing.group_id)
8485
+ porcelain.last_accessed = convert_timestamp_to_porcelain(plumbing.last_accessed)
8486
+ porcelain.mapped_identities = convert_mapped_identities_to_porcelain(plumbing.mapped_identities)
8487
+ porcelain.origin_id = (plumbing.origin_id)
8488
+ porcelain.resource_id = (plumbing.resource_id)
8489
+ porcelain
8490
+ end
8491
+
8492
+ def self.convert_granted_account_entitlement_to_plumbing(porcelain)
8493
+ if porcelain == nil
8494
+ return nil
8495
+ end
8496
+ plumbing = V1::GrantedAccountEntitlement.new()
8497
+ plumbing.group_id = (porcelain.group_id)
8498
+ plumbing.last_accessed = convert_timestamp_to_plumbing(porcelain.last_accessed)
8499
+ plumbing.mapped_identities = convert_mapped_identities_to_plumbing(porcelain.mapped_identities)
8500
+ plumbing.origin_id = (porcelain.origin_id)
8501
+ plumbing.resource_id = (porcelain.resource_id)
8502
+ plumbing
8503
+ end
8504
+ def self.convert_repeated_granted_account_entitlement_to_plumbing(porcelains)
8505
+ items = Array.new
8506
+ porcelains.each do |porcelain|
8507
+ plumbing = convert_granted_account_entitlement_to_plumbing(porcelain)
8508
+ items.append(plumbing)
8509
+ end
8510
+ items
8511
+ end
8512
+
8513
+ def self.convert_repeated_granted_account_entitlement_to_porcelain(plumbings)
8514
+ items = Array.new
8515
+ plumbings.each do |plumbing|
8516
+ porcelain = convert_granted_account_entitlement_to_porcelain(plumbing)
8517
+ items.append(porcelain)
8518
+ end
8519
+ items
8520
+ end
8521
+ def self.convert_granted_entitlement_kubernetes_privileges_to_porcelain(plumbing)
8522
+ if plumbing == nil
8523
+ return nil
8524
+ end
8525
+ porcelain = GrantedEntitlementKubernetesPrivileges.new()
8526
+ porcelain.groups = (plumbing.groups)
8527
+ porcelain
8528
+ end
8529
+
8530
+ def self.convert_granted_entitlement_kubernetes_privileges_to_plumbing(porcelain)
8531
+ if porcelain == nil
8532
+ return nil
8533
+ end
8534
+ plumbing = V1::GrantedEntitlementKubernetesPrivileges.new()
8535
+ plumbing.groups += (porcelain.groups)
8536
+ plumbing
8537
+ end
8538
+ def self.convert_repeated_granted_entitlement_kubernetes_privileges_to_plumbing(porcelains)
8539
+ items = Array.new
8540
+ porcelains.each do |porcelain|
8541
+ plumbing = convert_granted_entitlement_kubernetes_privileges_to_plumbing(porcelain)
8542
+ items.append(plumbing)
8543
+ end
8544
+ items
8545
+ end
8546
+
8547
+ def self.convert_repeated_granted_entitlement_kubernetes_privileges_to_porcelain(plumbings)
8548
+ items = Array.new
8549
+ plumbings.each do |plumbing|
8550
+ porcelain = convert_granted_entitlement_kubernetes_privileges_to_porcelain(plumbing)
8551
+ items.append(porcelain)
8552
+ end
8553
+ items
8554
+ end
8555
+ def self.convert_granted_resource_entitlement_to_porcelain(plumbing)
8556
+ if plumbing == nil
8557
+ return nil
8558
+ end
8559
+ porcelain = GrantedResourceEntitlement.new()
8560
+ porcelain.account_id = (plumbing.account_id)
8561
+ porcelain.group_id = (plumbing.group_id)
8562
+ porcelain.last_accessed = convert_timestamp_to_porcelain(plumbing.last_accessed)
8563
+ porcelain.mapped_identities = convert_mapped_identities_to_porcelain(plumbing.mapped_identities)
8564
+ porcelain.origin_id = (plumbing.origin_id)
8565
+ porcelain
8566
+ end
8567
+
8568
+ def self.convert_granted_resource_entitlement_to_plumbing(porcelain)
8569
+ if porcelain == nil
8570
+ return nil
8571
+ end
8572
+ plumbing = V1::GrantedResourceEntitlement.new()
8573
+ plumbing.account_id = (porcelain.account_id)
8574
+ plumbing.group_id = (porcelain.group_id)
8575
+ plumbing.last_accessed = convert_timestamp_to_plumbing(porcelain.last_accessed)
8576
+ plumbing.mapped_identities = convert_mapped_identities_to_plumbing(porcelain.mapped_identities)
8577
+ plumbing.origin_id = (porcelain.origin_id)
8578
+ plumbing
8579
+ end
8580
+ def self.convert_repeated_granted_resource_entitlement_to_plumbing(porcelains)
8581
+ items = Array.new
8582
+ porcelains.each do |porcelain|
8583
+ plumbing = convert_granted_resource_entitlement_to_plumbing(porcelain)
8584
+ items.append(plumbing)
8585
+ end
8586
+ items
8587
+ end
8588
+
8589
+ def self.convert_repeated_granted_resource_entitlement_to_porcelain(plumbings)
8590
+ items = Array.new
8591
+ plumbings.each do |plumbing|
8592
+ porcelain = convert_granted_resource_entitlement_to_porcelain(plumbing)
8593
+ items.append(porcelain)
8594
+ end
8595
+ items
8596
+ end
8597
+ def self.convert_granted_role_entitlement_to_porcelain(plumbing)
8598
+ if plumbing == nil
8599
+ return nil
8600
+ end
8601
+ porcelain = GrantedRoleEntitlement.new()
8602
+ porcelain.group_id = (plumbing.group_id)
8603
+ porcelain.last_accessed = convert_timestamp_to_porcelain(plumbing.last_accessed)
8604
+ porcelain.mapped_identities = convert_mapped_identities_to_porcelain(plumbing.mapped_identities)
8605
+ porcelain.resource_id = (plumbing.resource_id)
8606
+ porcelain
8607
+ end
8608
+
8609
+ def self.convert_granted_role_entitlement_to_plumbing(porcelain)
8610
+ if porcelain == nil
8611
+ return nil
8612
+ end
8613
+ plumbing = V1::GrantedRoleEntitlement.new()
8614
+ plumbing.group_id = (porcelain.group_id)
8615
+ plumbing.last_accessed = convert_timestamp_to_plumbing(porcelain.last_accessed)
8616
+ plumbing.mapped_identities = convert_mapped_identities_to_plumbing(porcelain.mapped_identities)
8617
+ plumbing.resource_id = (porcelain.resource_id)
8618
+ plumbing
8619
+ end
8620
+ def self.convert_repeated_granted_role_entitlement_to_plumbing(porcelains)
8621
+ items = Array.new
8622
+ porcelains.each do |porcelain|
8623
+ plumbing = convert_granted_role_entitlement_to_plumbing(porcelain)
8624
+ items.append(plumbing)
8625
+ end
8626
+ items
8627
+ end
8628
+
8629
+ def self.convert_repeated_granted_role_entitlement_to_porcelain(plumbings)
8630
+ items = Array.new
8631
+ plumbings.each do |plumbing|
8632
+ porcelain = convert_granted_role_entitlement_to_porcelain(plumbing)
8633
+ items.append(porcelain)
8634
+ end
8635
+ items
8636
+ end
8476
8637
  def self.convert_greenplum_to_porcelain(plumbing)
8477
8638
  if plumbing == nil
8478
8639
  return nil
@@ -12041,6 +12202,40 @@ module SDM
12041
12202
  end
12042
12203
  items
12043
12204
  end
12205
+ def self.convert_mapped_identities_to_porcelain(plumbing)
12206
+ if plumbing == nil
12207
+ return nil
12208
+ end
12209
+ porcelain = MappedIdentities.new()
12210
+ porcelain.kubernetes = convert_granted_entitlement_kubernetes_privileges_to_porcelain(plumbing.kubernetes)
12211
+ porcelain
12212
+ end
12213
+
12214
+ def self.convert_mapped_identities_to_plumbing(porcelain)
12215
+ if porcelain == nil
12216
+ return nil
12217
+ end
12218
+ plumbing = V1::MappedIdentities.new()
12219
+ plumbing.kubernetes = convert_granted_entitlement_kubernetes_privileges_to_plumbing(porcelain.kubernetes)
12220
+ plumbing
12221
+ end
12222
+ def self.convert_repeated_mapped_identities_to_plumbing(porcelains)
12223
+ items = Array.new
12224
+ porcelains.each do |porcelain|
12225
+ plumbing = convert_mapped_identities_to_plumbing(porcelain)
12226
+ items.append(plumbing)
12227
+ end
12228
+ items
12229
+ end
12230
+
12231
+ def self.convert_repeated_mapped_identities_to_porcelain(plumbings)
12232
+ items = Array.new
12233
+ plumbings.each do |plumbing|
12234
+ porcelain = convert_mapped_identities_to_porcelain(plumbing)
12235
+ items.append(porcelain)
12236
+ end
12237
+ items
12238
+ end
12044
12239
  def self.convert_maria_to_porcelain(plumbing)
12045
12240
  if plumbing == nil
12046
12241
  return nil
@@ -8013,6 +8013,132 @@ module SDM
8013
8013
  end
8014
8014
  end
8015
8015
 
8016
+ # GrantedAccountEntitlement represents an individual entitlement of an Account to a Resource that has been granted.
8017
+ class GrantedAccountEntitlement
8018
+ # The unique identifier of the group associated with this entitlement, if any.
8019
+ attr_accessor :group_id
8020
+ # The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
8021
+ attr_accessor :last_accessed
8022
+ # The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
8023
+ attr_accessor :mapped_identities
8024
+ # The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
8025
+ attr_accessor :origin_id
8026
+ # The unique identifier of the Resource to which access is granted.
8027
+ attr_accessor :resource_id
8028
+
8029
+ def initialize(
8030
+ group_id: nil,
8031
+ last_accessed: nil,
8032
+ mapped_identities: nil,
8033
+ origin_id: nil,
8034
+ resource_id: nil
8035
+ )
8036
+ @group_id = group_id == nil ? "" : group_id
8037
+ @last_accessed = last_accessed == nil ? nil : last_accessed
8038
+ @mapped_identities = mapped_identities == nil ? nil : mapped_identities
8039
+ @origin_id = origin_id == nil ? "" : origin_id
8040
+ @resource_id = resource_id == nil ? "" : resource_id
8041
+ end
8042
+
8043
+ def to_json(options = {})
8044
+ hash = {}
8045
+ self.instance_variables.each do |var|
8046
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8047
+ end
8048
+ hash.to_json
8049
+ end
8050
+ end
8051
+
8052
+ # GrantedEntitlementKubernetesPrivileges holds Kubernetes group memberships for a granted entitlement.
8053
+ class GrantedEntitlementKubernetesPrivileges
8054
+ # The Kubernetes groups granted to this principal for this resource.
8055
+ attr_accessor :groups
8056
+
8057
+ def initialize(
8058
+ groups: nil
8059
+ )
8060
+ @groups = groups == nil ? [] : groups
8061
+ end
8062
+
8063
+ def to_json(options = {})
8064
+ hash = {}
8065
+ self.instance_variables.each do |var|
8066
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8067
+ end
8068
+ hash.to_json
8069
+ end
8070
+ end
8071
+
8072
+ # GrantedResourceEntitlement represents an individual entitlement of an Account to a Resource,
8073
+ # viewed from the resource's perspective.
8074
+ class GrantedResourceEntitlement
8075
+ # The unique identifier of the Account that has access to this resource.
8076
+ attr_accessor :account_id
8077
+ # The unique identifier of the group associated with this entitlement, if any.
8078
+ attr_accessor :group_id
8079
+ # The most recent time at which the account accessed this resource. Empty if the resource has never been accessed.
8080
+ attr_accessor :last_accessed
8081
+ # The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
8082
+ attr_accessor :mapped_identities
8083
+ # The unique identifier of the origin of this entitlement (e.g., a Role or AccountGrant ID).
8084
+ attr_accessor :origin_id
8085
+
8086
+ def initialize(
8087
+ account_id: nil,
8088
+ group_id: nil,
8089
+ last_accessed: nil,
8090
+ mapped_identities: nil,
8091
+ origin_id: nil
8092
+ )
8093
+ @account_id = account_id == nil ? "" : account_id
8094
+ @group_id = group_id == nil ? "" : group_id
8095
+ @last_accessed = last_accessed == nil ? nil : last_accessed
8096
+ @mapped_identities = mapped_identities == nil ? nil : mapped_identities
8097
+ @origin_id = origin_id == nil ? "" : origin_id
8098
+ end
8099
+
8100
+ def to_json(options = {})
8101
+ hash = {}
8102
+ self.instance_variables.each do |var|
8103
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8104
+ end
8105
+ hash.to_json
8106
+ end
8107
+ end
8108
+
8109
+ # GrantedRoleEntitlement represents an individual resource entitlement granted through a Role.
8110
+ class GrantedRoleEntitlement
8111
+ # The unique identifier of the group associated with this entitlement, if any.
8112
+ attr_accessor :group_id
8113
+ # The most recent time at which any account in the organization accessed this resource.
8114
+ # Empty if the resource has never been accessed.
8115
+ attr_accessor :last_accessed
8116
+ # The mapped identity privileges for this entitlement, such as Kubernetes group memberships.
8117
+ attr_accessor :mapped_identities
8118
+ # The unique identifier of the Resource to which the role grants access.
8119
+ attr_accessor :resource_id
8120
+
8121
+ def initialize(
8122
+ group_id: nil,
8123
+ last_accessed: nil,
8124
+ mapped_identities: nil,
8125
+ resource_id: nil
8126
+ )
8127
+ @group_id = group_id == nil ? "" : group_id
8128
+ @last_accessed = last_accessed == nil ? nil : last_accessed
8129
+ @mapped_identities = mapped_identities == nil ? nil : mapped_identities
8130
+ @resource_id = resource_id == nil ? "" : resource_id
8131
+ end
8132
+
8133
+ def to_json(options = {})
8134
+ hash = {}
8135
+ self.instance_variables.each do |var|
8136
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8137
+ end
8138
+ hash.to_json
8139
+ end
8140
+ end
8141
+
8016
8142
  class Greenplum
8017
8143
  # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8018
8144
  attr_accessor :bind_interface
@@ -11142,6 +11268,26 @@ module SDM
11142
11268
  end
11143
11269
  end
11144
11270
 
11271
+ # MappedIdentities represents the mapped identity privileges granted alongside an entitlement.
11272
+ class MappedIdentities
11273
+ # Kubernetes group memberships.
11274
+ attr_accessor :kubernetes
11275
+
11276
+ def initialize(
11277
+ kubernetes: nil
11278
+ )
11279
+ @kubernetes = kubernetes == nil ? nil : kubernetes
11280
+ end
11281
+
11282
+ def to_json(options = {})
11283
+ hash = {}
11284
+ self.instance_variables.each do |var|
11285
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
11286
+ end
11287
+ hash.to_json
11288
+ end
11289
+ end
11290
+
11145
11291
  class Maria
11146
11292
  # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
11147
11293
  attr_accessor :bind_interface
data/lib/strongdm.rb CHANGED
@@ -31,7 +31,7 @@ module SDM #:nodoc:
31
31
  DEFAULT_RETRY_FACTOR = 1.6
32
32
  DEFAULT_RETRY_JITTER = 0.2
33
33
  API_VERSION = "2025-04-14"
34
- USER_AGENT = "strongdm-sdk-ruby/16.12.0"
34
+ USER_AGENT = "strongdm-sdk-ruby/16.13.0"
35
35
  private_constant :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :DEFAULT_RETRY_FACTOR, :DEFAULT_RETRY_JITTER, :API_VERSION, :USER_AGENT
36
36
 
37
37
  # Creates a new strongDM API client.
@@ -85,6 +85,9 @@ module SDM #:nodoc:
85
85
  @approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
86
86
  @control_panel = ControlPanel.new(@channel, self)
87
87
  @discovery_connectors = DiscoveryConnectors.new(@channel, self)
88
+ @granted_account_entitlements = GrantedAccountEntitlements.new(@channel, self)
89
+ @granted_resource_entitlements = GrantedResourceEntitlements.new(@channel, self)
90
+ @granted_role_entitlements = GrantedRoleEntitlements.new(@channel, self)
88
91
  @roles = Roles.new(@channel, self)
89
92
  @groups = Groups.new(@channel, self)
90
93
  @groups_history = GroupsHistory.new(@channel, self)
@@ -342,6 +345,21 @@ module SDM #:nodoc:
342
345
  #
343
346
  # See {DiscoveryConnectors}.
344
347
  attr_reader :discovery_connectors
348
+ # GrantedAccountEntitlements enumerates the resources to which an account has been granted access.
349
+ # The GrantedAccountEntitlements service is read-only.
350
+ #
351
+ # See {GrantedAccountEntitlements}.
352
+ attr_reader :granted_account_entitlements
353
+ # GrantedResourceEntitlements enumerates the accounts that have been granted access to a given resource.
354
+ # The GrantedResourceEntitlements service is read-only.
355
+ #
356
+ # See {GrantedResourceEntitlements}.
357
+ attr_reader :granted_resource_entitlements
358
+ # GrantedRoleEntitlements enumerates the resources to which a role grants access.
359
+ # The GrantedRoleEntitlements service is read-only.
360
+ #
361
+ # See {GrantedRoleEntitlements}.
362
+ attr_reader :granted_role_entitlements
345
363
  # A Role has a list of access rules which determine which Resources the members
346
364
  # of the Role have access to. An Account can be a member of multiple Roles via
347
365
  # AccountAttachments.
@@ -564,6 +582,9 @@ module SDM #:nodoc:
564
582
  @approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
565
583
  @control_panel = ControlPanel.new(@channel, self)
566
584
  @discovery_connectors = DiscoveryConnectors.new(@channel, self)
585
+ @granted_account_entitlements = GrantedAccountEntitlements.new(@channel, self)
586
+ @granted_resource_entitlements = GrantedResourceEntitlements.new(@channel, self)
587
+ @granted_role_entitlements = GrantedRoleEntitlements.new(@channel, self)
567
588
  @roles = Roles.new(@channel, self)
568
589
  @groups = Groups.new(@channel, self)
569
590
  @groups_history = GroupsHistory.new(@channel, self)
@@ -623,6 +644,9 @@ module SDM #:nodoc:
623
644
  @approval_workflow_steps = SnapshotApprovalWorkflowSteps.new(client.approval_workflow_steps)
624
645
  @approval_workflows = SnapshotApprovalWorkflows.new(client.approval_workflows)
625
646
  @discovery_connectors = SnapshotDiscoveryConnectors.new(client.discovery_connectors)
647
+ @granted_account_entitlements = SnapshotGrantedAccountEntitlements.new(client.granted_account_entitlements)
648
+ @granted_resource_entitlements = SnapshotGrantedResourceEntitlements.new(client.granted_resource_entitlements)
649
+ @granted_role_entitlements = SnapshotGrantedRoleEntitlements.new(client.granted_role_entitlements)
626
650
  @roles = SnapshotRoles.new(client.roles)
627
651
  @groups = SnapshotGroups.new(client.groups)
628
652
  @groups_roles = SnapshotGroupsRoles.new(client.groups_roles)
@@ -692,6 +716,21 @@ module SDM #:nodoc:
692
716
  #
693
717
  # See {SnapshotDiscoveryConnectors}.
694
718
  attr_reader :discovery_connectors
719
+ # GrantedAccountEntitlements enumerates the resources to which an account has been granted access.
720
+ # The GrantedAccountEntitlements service is read-only.
721
+ #
722
+ # See {SnapshotGrantedAccountEntitlements}.
723
+ attr_reader :granted_account_entitlements
724
+ # GrantedResourceEntitlements enumerates the accounts that have been granted access to a given resource.
725
+ # The GrantedResourceEntitlements service is read-only.
726
+ #
727
+ # See {SnapshotGrantedResourceEntitlements}.
728
+ attr_reader :granted_resource_entitlements
729
+ # GrantedRoleEntitlements enumerates the resources to which a role grants access.
730
+ # The GrantedRoleEntitlements service is read-only.
731
+ #
732
+ # See {SnapshotGrantedRoleEntitlements}.
733
+ attr_reader :granted_role_entitlements
695
734
  # A Role has a list of access rules which determine which Resources the members
696
735
  # of the Role have access to. An Account can be a member of multiple Roles via
697
736
  # AccountAttachments.
data/lib/svc.rb CHANGED
@@ -2750,6 +2750,255 @@ module SDM #:nodoc:
2750
2750
  end
2751
2751
  end
2752
2752
 
2753
+ # GrantedAccountEntitlements enumerates the resources to which an account has been granted access.
2754
+ # The GrantedAccountEntitlements service is read-only.
2755
+ #
2756
+ # See {GrantedAccountEntitlement}.
2757
+ class GrantedAccountEntitlements
2758
+ extend Gem::Deprecate
2759
+
2760
+ def initialize(channel, parent)
2761
+ begin
2762
+ @stub = V1::GrantedAccountEntitlements::Stub.new(nil, nil, channel_override: channel)
2763
+ rescue => exception
2764
+ raise Plumbing::convert_error_to_porcelain(exception)
2765
+ end
2766
+ @parent = parent
2767
+ end
2768
+
2769
+ # List gets a list of GrantedAccountEntitlement records matching a given set of criteria.
2770
+ def list(
2771
+ account_id,
2772
+ filter,
2773
+ *args,
2774
+ deadline: nil
2775
+ )
2776
+ req = V1::GrantedAccountEntitlementListRequest.new()
2777
+ req.meta = V1::ListRequestMetadata.new()
2778
+ if not @parent.page_limit.nil?
2779
+ req.meta.limit = @parent.page_limit
2780
+ end
2781
+ if not @parent.snapshot_time.nil?
2782
+ req.meta.snapshot_at = @parent.snapshot_time
2783
+ end
2784
+
2785
+ req.account_id = (account_id)
2786
+ req.filter = Plumbing::quote_filter_args(filter, *args)
2787
+ resp = Enumerator::Generator.new { |g|
2788
+ tries = 0
2789
+ loop do
2790
+ begin
2791
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("GrantedAccountEntitlements.List", req), deadline: deadline)
2792
+ rescue => exception
2793
+ if (@parent.shouldRetry(tries, exception, deadline))
2794
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2795
+ next
2796
+ end
2797
+ raise Plumbing::convert_error_to_porcelain(exception)
2798
+ end
2799
+ tries = 0
2800
+ plumbing_response.granted_account_entitlements.each do |plumbing_item|
2801
+ g.yield Plumbing::convert_granted_account_entitlement_to_porcelain(plumbing_item)
2802
+ end
2803
+ break if plumbing_response.meta.next_cursor == ""
2804
+ req.meta.cursor = plumbing_response.meta.next_cursor
2805
+ end
2806
+ }
2807
+ resp
2808
+ end
2809
+ end
2810
+
2811
+ # SnapshotGrantedAccountEntitlements exposes the read only methods of the GrantedAccountEntitlements
2812
+ # service for historical queries.
2813
+ class SnapshotGrantedAccountEntitlements
2814
+ extend Gem::Deprecate
2815
+
2816
+ def initialize(granted_account_entitlements)
2817
+ @granted_account_entitlements = granted_account_entitlements
2818
+ end
2819
+
2820
+ # List gets a list of GrantedAccountEntitlement records matching a given set of criteria.
2821
+ def list(
2822
+ account_id,
2823
+ filter,
2824
+ *args,
2825
+ deadline: nil
2826
+ )
2827
+ return @granted_account_entitlements.list(
2828
+ account_id,
2829
+ filter,
2830
+ *args,
2831
+ deadline: deadline,
2832
+ )
2833
+ end
2834
+ end
2835
+
2836
+ # GrantedResourceEntitlements enumerates the accounts that have been granted access to a given resource.
2837
+ # The GrantedResourceEntitlements service is read-only.
2838
+ #
2839
+ # See {GrantedResourceEntitlement}.
2840
+ class GrantedResourceEntitlements
2841
+ extend Gem::Deprecate
2842
+
2843
+ def initialize(channel, parent)
2844
+ begin
2845
+ @stub = V1::GrantedResourceEntitlements::Stub.new(nil, nil, channel_override: channel)
2846
+ rescue => exception
2847
+ raise Plumbing::convert_error_to_porcelain(exception)
2848
+ end
2849
+ @parent = parent
2850
+ end
2851
+
2852
+ # List gets a list of GrantedResourceEntitlement records matching a given set of criteria.
2853
+ def list(
2854
+ resource_id,
2855
+ filter,
2856
+ *args,
2857
+ deadline: nil
2858
+ )
2859
+ req = V1::GrantedResourceEntitlementListRequest.new()
2860
+ req.meta = V1::ListRequestMetadata.new()
2861
+ if not @parent.page_limit.nil?
2862
+ req.meta.limit = @parent.page_limit
2863
+ end
2864
+ if not @parent.snapshot_time.nil?
2865
+ req.meta.snapshot_at = @parent.snapshot_time
2866
+ end
2867
+
2868
+ req.resource_id = (resource_id)
2869
+ req.filter = Plumbing::quote_filter_args(filter, *args)
2870
+ resp = Enumerator::Generator.new { |g|
2871
+ tries = 0
2872
+ loop do
2873
+ begin
2874
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("GrantedResourceEntitlements.List", req), deadline: deadline)
2875
+ rescue => exception
2876
+ if (@parent.shouldRetry(tries, exception, deadline))
2877
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2878
+ next
2879
+ end
2880
+ raise Plumbing::convert_error_to_porcelain(exception)
2881
+ end
2882
+ tries = 0
2883
+ plumbing_response.granted_resource_entitlements.each do |plumbing_item|
2884
+ g.yield Plumbing::convert_granted_resource_entitlement_to_porcelain(plumbing_item)
2885
+ end
2886
+ break if plumbing_response.meta.next_cursor == ""
2887
+ req.meta.cursor = plumbing_response.meta.next_cursor
2888
+ end
2889
+ }
2890
+ resp
2891
+ end
2892
+ end
2893
+
2894
+ # SnapshotGrantedResourceEntitlements exposes the read only methods of the GrantedResourceEntitlements
2895
+ # service for historical queries.
2896
+ class SnapshotGrantedResourceEntitlements
2897
+ extend Gem::Deprecate
2898
+
2899
+ def initialize(granted_resource_entitlements)
2900
+ @granted_resource_entitlements = granted_resource_entitlements
2901
+ end
2902
+
2903
+ # List gets a list of GrantedResourceEntitlement records matching a given set of criteria.
2904
+ def list(
2905
+ resource_id,
2906
+ filter,
2907
+ *args,
2908
+ deadline: nil
2909
+ )
2910
+ return @granted_resource_entitlements.list(
2911
+ resource_id,
2912
+ filter,
2913
+ *args,
2914
+ deadline: deadline,
2915
+ )
2916
+ end
2917
+ end
2918
+
2919
+ # GrantedRoleEntitlements enumerates the resources to which a role grants access.
2920
+ # The GrantedRoleEntitlements service is read-only.
2921
+ #
2922
+ # See {GrantedRoleEntitlement}.
2923
+ class GrantedRoleEntitlements
2924
+ extend Gem::Deprecate
2925
+
2926
+ def initialize(channel, parent)
2927
+ begin
2928
+ @stub = V1::GrantedRoleEntitlements::Stub.new(nil, nil, channel_override: channel)
2929
+ rescue => exception
2930
+ raise Plumbing::convert_error_to_porcelain(exception)
2931
+ end
2932
+ @parent = parent
2933
+ end
2934
+
2935
+ # List gets a list of GrantedRoleEntitlement records matching a given set of criteria.
2936
+ def list(
2937
+ role_id,
2938
+ filter,
2939
+ *args,
2940
+ deadline: nil
2941
+ )
2942
+ req = V1::GrantedRoleEntitlementListRequest.new()
2943
+ req.meta = V1::ListRequestMetadata.new()
2944
+ if not @parent.page_limit.nil?
2945
+ req.meta.limit = @parent.page_limit
2946
+ end
2947
+ if not @parent.snapshot_time.nil?
2948
+ req.meta.snapshot_at = @parent.snapshot_time
2949
+ end
2950
+
2951
+ req.role_id = (role_id)
2952
+ req.filter = Plumbing::quote_filter_args(filter, *args)
2953
+ resp = Enumerator::Generator.new { |g|
2954
+ tries = 0
2955
+ loop do
2956
+ begin
2957
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("GrantedRoleEntitlements.List", req), deadline: deadline)
2958
+ rescue => exception
2959
+ if (@parent.shouldRetry(tries, exception, deadline))
2960
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2961
+ next
2962
+ end
2963
+ raise Plumbing::convert_error_to_porcelain(exception)
2964
+ end
2965
+ tries = 0
2966
+ plumbing_response.granted_role_entitlements.each do |plumbing_item|
2967
+ g.yield Plumbing::convert_granted_role_entitlement_to_porcelain(plumbing_item)
2968
+ end
2969
+ break if plumbing_response.meta.next_cursor == ""
2970
+ req.meta.cursor = plumbing_response.meta.next_cursor
2971
+ end
2972
+ }
2973
+ resp
2974
+ end
2975
+ end
2976
+
2977
+ # SnapshotGrantedRoleEntitlements exposes the read only methods of the GrantedRoleEntitlements
2978
+ # service for historical queries.
2979
+ class SnapshotGrantedRoleEntitlements
2980
+ extend Gem::Deprecate
2981
+
2982
+ def initialize(granted_role_entitlements)
2983
+ @granted_role_entitlements = granted_role_entitlements
2984
+ end
2985
+
2986
+ # List gets a list of GrantedRoleEntitlement records matching a given set of criteria.
2987
+ def list(
2988
+ role_id,
2989
+ filter,
2990
+ *args,
2991
+ deadline: nil
2992
+ )
2993
+ return @granted_role_entitlements.list(
2994
+ role_id,
2995
+ filter,
2996
+ *args,
2997
+ deadline: deadline,
2998
+ )
2999
+ end
3000
+ end
3001
+
2753
3002
  # A Role has a list of access rules which determine which Resources the members
2754
3003
  # of the Role have access to. An Account can be a member of multiple Roles via
2755
3004
  # AccountAttachments.
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "16.12.0"
16
+ VERSION = "16.13.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "16.12.0"
16
+ VERSION = "16.13.0"
17
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 16.12.0
4
+ version: 16.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
@@ -81,8 +81,8 @@ files:
81
81
  - "./.git/logs/HEAD"
82
82
  - "./.git/logs/refs/heads/master"
83
83
  - "./.git/logs/refs/remotes/origin/HEAD"
84
- - "./.git/objects/pack/pack-cf73833c619336fb8fb8650f501c5aae54cb27dd.idx"
85
- - "./.git/objects/pack/pack-cf73833c619336fb8fb8650f501c5aae54cb27dd.pack"
84
+ - "./.git/objects/pack/pack-e86c3c4c6f4358738486ecba9b8a87ac3fb4410a.idx"
85
+ - "./.git/objects/pack/pack-e86c3c4c6f4358738486ecba9b8a87ac3fb4410a.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"
@@ -141,6 +141,12 @@ files:
141
141
  - "./lib/grpc/discovery_connectors_pb.rb"
142
142
  - "./lib/grpc/discovery_connectors_services_pb.rb"
143
143
  - "./lib/grpc/drivers_pb.rb"
144
+ - "./lib/grpc/granted_account_entitlements_pb.rb"
145
+ - "./lib/grpc/granted_account_entitlements_services_pb.rb"
146
+ - "./lib/grpc/granted_resource_entitlements_pb.rb"
147
+ - "./lib/grpc/granted_resource_entitlements_services_pb.rb"
148
+ - "./lib/grpc/granted_role_entitlements_pb.rb"
149
+ - "./lib/grpc/granted_role_entitlements_services_pb.rb"
144
150
  - "./lib/grpc/groups_history_pb.rb"
145
151
  - "./lib/grpc/groups_history_services_pb.rb"
146
152
  - "./lib/grpc/groups_pb.rb"