strongdm 1.0.15 → 1.0.21

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.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/doc/SDM/AKS.html +21 -3
  3. data/doc/SDM/AKSBasicAuth.html +21 -3
  4. data/doc/SDM/AKSServiceAccount.html +21 -3
  5. data/doc/SDM/AKSServiceAccountUserImpersonation.html +391 -0
  6. data/doc/SDM/AKSUserImpersonation.html +427 -0
  7. data/doc/SDM/AWS.html +39 -3
  8. data/doc/SDM/AWSStore.html +2 -2
  9. data/doc/SDM/AccountAttachment.html +2 -2
  10. data/doc/SDM/AccountAttachmentCreateResponse.html +2 -2
  11. data/doc/SDM/AccountAttachmentDeleteResponse.html +2 -2
  12. data/doc/SDM/AccountAttachmentGetResponse.html +2 -2
  13. data/doc/SDM/AccountCreateResponse.html +2 -2
  14. data/doc/SDM/AccountDeleteResponse.html +2 -2
  15. data/doc/SDM/AccountGetResponse.html +2 -2
  16. data/doc/SDM/AccountGrant.html +2 -2
  17. data/doc/SDM/AccountGrantCreateResponse.html +2 -2
  18. data/doc/SDM/AccountGrantDeleteResponse.html +2 -2
  19. data/doc/SDM/AccountGrantGetResponse.html +2 -2
  20. data/doc/SDM/AccountUpdateResponse.html +2 -2
  21. data/doc/SDM/AmazonEKS.html +39 -3
  22. data/doc/SDM/AmazonEKSUserImpersonation.html +481 -0
  23. data/doc/SDM/AmazonES.html +57 -3
  24. data/doc/SDM/Athena.html +57 -3
  25. data/doc/SDM/AuroraMysql.html +21 -3
  26. data/doc/SDM/AuroraPostgres.html +21 -3
  27. data/doc/SDM/BigQuery.html +21 -3
  28. data/doc/SDM/Cassandra.html +21 -3
  29. data/doc/SDM/Citus.html +21 -3
  30. data/doc/SDM/Client.html +9 -6
  31. data/doc/SDM/Clustrix.html +21 -3
  32. data/doc/SDM/Cockroach.html +21 -3
  33. data/doc/SDM/ControlPanel.html +62 -0
  34. data/doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html +2 -2
  35. data/doc/SDM/ControlPanelVerifyJWTResponse.html +267 -0
  36. data/doc/SDM/DB2LUW.html +21 -3
  37. data/doc/SDM/DB2i.html +21 -3
  38. data/doc/SDM/Druid.html +21 -3
  39. data/doc/SDM/DynamoDB.html +57 -3
  40. data/doc/SDM/Elastic.html +21 -3
  41. data/doc/SDM/ElasticacheRedis.html +21 -3
  42. data/doc/SDM/Gateway.html +2 -2
  43. data/doc/SDM/GoogleGKE.html +21 -3
  44. data/doc/SDM/GoogleGKEUserImpersonation.html +391 -0
  45. data/doc/SDM/Greenplum.html +21 -3
  46. data/doc/SDM/HTTPAuth.html +21 -3
  47. data/doc/SDM/HTTPBasicAuth.html +21 -3
  48. data/doc/SDM/HTTPNoAuth.html +21 -3
  49. data/doc/SDM/Kubernetes.html +21 -3
  50. data/doc/SDM/KubernetesBasicAuth.html +21 -3
  51. data/doc/SDM/KubernetesServiceAccount.html +21 -3
  52. data/doc/SDM/KubernetesServiceAccountUserImpersonation.html +391 -0
  53. data/doc/SDM/KubernetesUserImpersonation.html +427 -0
  54. data/doc/SDM/Maria.html +21 -3
  55. data/doc/SDM/Memcached.html +21 -3
  56. data/doc/SDM/Memsql.html +21 -3
  57. data/doc/SDM/MongoHost.html +21 -3
  58. data/doc/SDM/MongoLegacyHost.html +21 -3
  59. data/doc/SDM/MongoLegacyReplicaset.html +21 -3
  60. data/doc/SDM/MongoReplicaSet.html +21 -3
  61. data/doc/SDM/Mysql.html +21 -3
  62. data/doc/SDM/NodeCreateResponse.html +2 -2
  63. data/doc/SDM/NodeDeleteResponse.html +2 -2
  64. data/doc/SDM/NodeGetResponse.html +2 -2
  65. data/doc/SDM/NodeUpdateResponse.html +2 -2
  66. data/doc/SDM/Nodes.html +6 -6
  67. data/doc/SDM/Oracle.html +21 -3
  68. data/doc/SDM/Plumbing.html +2575 -825
  69. data/doc/SDM/Postgres.html +21 -3
  70. data/doc/SDM/Presto.html +21 -3
  71. data/doc/SDM/RDP.html +21 -3
  72. data/doc/SDM/Redis.html +21 -3
  73. data/doc/SDM/Redshift.html +21 -3
  74. data/doc/SDM/Relay.html +2 -2
  75. data/doc/SDM/ResourceCreateResponse.html +2 -2
  76. data/doc/SDM/ResourceDeleteResponse.html +2 -2
  77. data/doc/SDM/ResourceGetResponse.html +2 -2
  78. data/doc/SDM/ResourceUpdateResponse.html +2 -2
  79. data/doc/SDM/Resources.html +74 -6
  80. data/doc/SDM/Role.html +2 -2
  81. data/doc/SDM/RoleAttachment.html +2 -2
  82. data/doc/SDM/RoleAttachmentCreateResponse.html +2 -2
  83. data/doc/SDM/RoleAttachmentDeleteResponse.html +2 -2
  84. data/doc/SDM/RoleAttachmentGetResponse.html +2 -2
  85. data/doc/SDM/RoleAttachments.html +5 -5
  86. data/doc/SDM/RoleCreateResponse.html +2 -2
  87. data/doc/SDM/RoleDeleteResponse.html +2 -2
  88. data/doc/SDM/RoleGetResponse.html +2 -2
  89. data/doc/SDM/RoleGrant.html +2 -2
  90. data/doc/SDM/RoleGrantCreateResponse.html +2 -2
  91. data/doc/SDM/RoleGrantDeleteResponse.html +2 -2
  92. data/doc/SDM/RoleGrantGetResponse.html +2 -2
  93. data/doc/SDM/RoleGrants.html +5 -5
  94. data/doc/SDM/RoleUpdateResponse.html +2 -2
  95. data/doc/SDM/Roles.html +6 -6
  96. data/doc/SDM/SQLServer.html +21 -3
  97. data/doc/SDM/SSH.html +21 -3
  98. data/doc/SDM/SSHCert.html +21 -3
  99. data/doc/SDM/SSHCustomerKey.html +427 -0
  100. data/doc/SDM/SecretStoreCreateResponse.html +2 -2
  101. data/doc/SDM/SecretStoreDeleteResponse.html +2 -2
  102. data/doc/SDM/SecretStoreGetResponse.html +2 -2
  103. data/doc/SDM/SecretStoreUpdateResponse.html +2 -2
  104. data/doc/SDM/SecretStores.html +6 -6
  105. data/doc/SDM/Service.html +2 -2
  106. data/doc/SDM/Snowflake.html +21 -3
  107. data/doc/SDM/Sybase.html +21 -3
  108. data/doc/SDM/SybaseIQ.html +21 -3
  109. data/doc/SDM/Tag.html +247 -0
  110. data/doc/SDM/Teradata.html +21 -3
  111. data/doc/SDM/User.html +2 -2
  112. data/doc/SDM/VaultTLSStore.html +2 -2
  113. data/doc/SDM/VaultTokenStore.html +2 -2
  114. data/doc/V1.html +120 -0
  115. data/doc/V1/BuildsPrivate.html +113 -0
  116. data/doc/V1/BuildsPrivate/Service.html +119 -0
  117. data/doc/V1/Permissions/Service.html +119 -0
  118. data/doc/created.rid +51 -47
  119. data/doc/index.html +22 -0
  120. data/doc/js/navigation.js.gz +0 -0
  121. data/doc/js/search_index.js +1 -1
  122. data/doc/js/search_index.js.gz +0 -0
  123. data/doc/js/searcher.js.gz +0 -0
  124. data/doc/lib/version.html +1 -1
  125. data/doc/strongdm_gemspec.html +1 -1
  126. data/doc/table_of_contents.html +556 -221
  127. data/lib/grpc/control_panel_pb.rb +11 -0
  128. data/lib/grpc/control_panel_services_pb.rb +2 -0
  129. data/lib/grpc/drivers_pb.rb +166 -0
  130. data/lib/grpc/options_pb.rb +5 -1
  131. data/lib/grpc/plumbing.rb +616 -4
  132. data/lib/grpc/resources_pb.rb +12 -0
  133. data/lib/grpc/resources_services_pb.rb +2 -0
  134. data/lib/grpc/spec_pb.rb +7 -0
  135. data/lib/grpc/tags_pb.rb +5 -0
  136. data/lib/models/porcelain.rb +1074 -81
  137. data/lib/strongdm.rb +5 -2
  138. data/lib/svc.rb +67 -0
  139. data/lib/version +1 -1
  140. data/lib/version.rb +1 -1
  141. metadata +14 -10
  142. data/lib/grpc/access_rules_pb.rb +0 -115
  143. data/lib/grpc/access_rules_services_pb.rb +0 -50
  144. data/lib/grpc/audits_pb.rb +0 -40
  145. data/lib/grpc/audits_services_pb.rb +0 -37
  146. data/lib/grpc/demo_provisioning_requests_pb.rb +0 -93
  147. data/lib/grpc/demo_provisioning_requests_services_pb.rb +0 -49
  148. data/lib/grpc/secret_store_healths_pb.rb +0 -61
  149. data/lib/grpc/secret_store_healths_services_pb.rb +0 -39
data/lib/strongdm.rb CHANGED
@@ -29,8 +29,11 @@ module SDM
29
29
  class Client
30
30
  # Creates a new strongDM API client.
31
31
  def initialize(api_access_key, api_secret_key, host: "api.strongdm.com:443", insecure: false)
32
- @api_access_key = api_access_key
33
- @api_secret_key = Base64.strict_decode64(api_secret_key)
32
+ raise TypeError, "client access key must be a string" unless api_access_key.kind_of?(String)
33
+ raise TypeError, "client secret key must be a string" unless api_secret_key.kind_of?(String)
34
+ raise TypeError, "client host must be a string" unless host.kind_of?(String)
35
+ @api_access_key = api_access_key.strip
36
+ @api_secret_key = Base64.strict_decode64(api_secret_key.strip)
34
37
  @max_retries = DEFAULT_MAX_RETRIES
35
38
  @base_retry_delay = DEFAULT_BASE_RETRY_DELAY
36
39
  @max_retry_delay = DEFAULT_MAX_RETRY_DELAY
data/lib/svc.rb CHANGED
@@ -529,6 +529,36 @@ module SDM
529
529
  resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
530
530
  resp
531
531
  end
532
+
533
+ # VerifyJWT reports whether the given JWT token (x-sdm-token) is valid.
534
+ def verify_jwt(
535
+ token,
536
+ deadline: nil
537
+ )
538
+ req = V1::ControlPanelVerifyJWTRequest.new()
539
+
540
+ req.token = (token)
541
+ tries = 0
542
+ plumbing_response = nil
543
+ loop do
544
+ begin
545
+ plumbing_response = @stub.verify_jwt(req, metadata: @parent.get_metadata("ControlPanel.VerifyJWT", req), deadline: deadline)
546
+ rescue => exception
547
+ if (@parent.shouldRetry(tries, exception))
548
+ tries + +@parent.jitterSleep(tries)
549
+ next
550
+ end
551
+ raise Plumbing::convert_error_to_porcelain(exception)
552
+ end
553
+ break
554
+ end
555
+
556
+ resp = ControlPanelVerifyJWTResponse.new()
557
+ resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
558
+ resp.valid = (plumbing_response.valid)
559
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
560
+ resp
561
+ end
532
562
  end
533
563
 
534
564
  # Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
@@ -722,6 +752,43 @@ module SDM
722
752
  @parent = parent
723
753
  end
724
754
 
755
+ # EnumerateTags gets a list of the filter matching tags.
756
+ def enumerate_tags(
757
+ filter,
758
+ *args,
759
+ deadline: nil
760
+ )
761
+ req = V1::EnumerateTagsRequest.new()
762
+ req.meta = V1::ListRequestMetadata.new()
763
+ page_size_option = @parent._test_options["PageSize"]
764
+ if page_size_option.is_a? Integer
765
+ req.meta.limit = page_size_option
766
+ end
767
+
768
+ req.filter = Plumbing::quote_filter_args(filter, *args)
769
+ resp = Enumerator::Generator.new { |g|
770
+ tries = 0
771
+ loop do
772
+ begin
773
+ plumbing_response = @stub.enumerate_tags(req, metadata: @parent.get_metadata("Resources.EnumerateTags", req), deadline: deadline)
774
+ rescue => exception
775
+ if (@parent.shouldRetry(tries, exception))
776
+ tries + +@parent.jitterSleep(tries)
777
+ next
778
+ end
779
+ raise Plumbing::convert_error_to_porcelain(exception)
780
+ end
781
+ tries = 0
782
+ plumbing_response.matches.each do |plumbing_item|
783
+ g.yield Plumbing::convert_tag_to_porcelain(plumbing_item)
784
+ end
785
+ break if plumbing_response.meta.next_cursor == ""
786
+ req.meta.cursor = plumbing_response.meta.next_cursor
787
+ end
788
+ }
789
+ resp
790
+ end
791
+
725
792
  # Create registers a new Resource.
726
793
  def create(
727
794
  resource,
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "1.0.15"
16
+ VERSION = "1.0.21"
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 = "1.0.15"
16
+ VERSION = "1.0.21"
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.15
4
+ version: 1.0.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-11 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -88,6 +88,8 @@ files:
88
88
  - doc/SDM/AKS.html
89
89
  - doc/SDM/AKSBasicAuth.html
90
90
  - doc/SDM/AKSServiceAccount.html
91
+ - doc/SDM/AKSServiceAccountUserImpersonation.html
92
+ - doc/SDM/AKSUserImpersonation.html
91
93
  - doc/SDM/AWS.html
92
94
  - doc/SDM/AWSStore.html
93
95
  - doc/SDM/AccessRuleCreateResponse.html
@@ -111,6 +113,7 @@ files:
111
113
  - doc/SDM/Accounts.html
112
114
  - doc/SDM/AlreadyExistsError.html
113
115
  - doc/SDM/AmazonEKS.html
116
+ - doc/SDM/AmazonEKSUserImpersonation.html
114
117
  - doc/SDM/AmazonES.html
115
118
  - doc/SDM/Athena.html
116
119
  - doc/SDM/AuroraMysql.html
@@ -125,6 +128,7 @@ files:
125
128
  - doc/SDM/Cockroach.html
126
129
  - doc/SDM/ControlPanel.html
127
130
  - doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html
131
+ - doc/SDM/ControlPanelVerifyJWTResponse.html
128
132
  - doc/SDM/CreateResponseMetadata.html
129
133
  - doc/SDM/DB2LUW.html
130
134
  - doc/SDM/DB2i.html
@@ -137,6 +141,7 @@ files:
137
141
  - doc/SDM/Gateway.html
138
142
  - doc/SDM/GetResponseMetadata.html
139
143
  - doc/SDM/GoogleGKE.html
144
+ - doc/SDM/GoogleGKEUserImpersonation.html
140
145
  - doc/SDM/Greenplum.html
141
146
  - doc/SDM/HTTPAuth.html
142
147
  - doc/SDM/HTTPBasicAuth.html
@@ -145,6 +150,8 @@ files:
145
150
  - doc/SDM/Kubernetes.html
146
151
  - doc/SDM/KubernetesBasicAuth.html
147
152
  - doc/SDM/KubernetesServiceAccount.html
153
+ - doc/SDM/KubernetesServiceAccountUserImpersonation.html
154
+ - doc/SDM/KubernetesUserImpersonation.html
148
155
  - doc/SDM/Maria.html
149
156
  - doc/SDM/Memcached.html
150
157
  - doc/SDM/Memsql.html
@@ -195,6 +202,7 @@ files:
195
202
  - doc/SDM/SQLServer.html
196
203
  - doc/SDM/SSH.html
197
204
  - doc/SDM/SSHCert.html
205
+ - doc/SDM/SSHCustomerKey.html
198
206
  - doc/SDM/SecretStore.html
199
207
  - doc/SDM/SecretStoreCreateResponse.html
200
208
  - doc/SDM/SecretStoreDeleteResponse.html
@@ -205,6 +213,7 @@ files:
205
213
  - doc/SDM/Snowflake.html
206
214
  - doc/SDM/Sybase.html
207
215
  - doc/SDM/SybaseIQ.html
216
+ - doc/SDM/Tag.html
208
217
  - doc/SDM/Teradata.html
209
218
  - doc/SDM/UpdateResponseMetadata.html
210
219
  - doc/SDM/User.html
@@ -221,12 +230,15 @@ files:
221
230
  - doc/V1/Accounts/Service.html
222
231
  - doc/V1/Audits.html
223
232
  - doc/V1/Audits/Service.html
233
+ - doc/V1/BuildsPrivate.html
234
+ - doc/V1/BuildsPrivate/Service.html
224
235
  - doc/V1/ControlPanel.html
225
236
  - doc/V1/ControlPanel/Service.html
226
237
  - doc/V1/DemoProvisioningRequests.html
227
238
  - doc/V1/DemoProvisioningRequests/Service.html
228
239
  - doc/V1/Nodes.html
229
240
  - doc/V1/Nodes/Service.html
241
+ - doc/V1/Permissions/Service.html
230
242
  - doc/V1/Resources.html
231
243
  - doc/V1/Resources/Service.html
232
244
  - doc/V1/RoleAttachments.html
@@ -295,20 +307,14 @@ files:
295
307
  - examples/Gemfile
296
308
  - examples/listUsers.rb
297
309
  - lib/errors/errors.rb
298
- - lib/grpc/access_rules_pb.rb
299
- - lib/grpc/access_rules_services_pb.rb
300
310
  - lib/grpc/account_attachments_pb.rb
301
311
  - lib/grpc/account_attachments_services_pb.rb
302
312
  - lib/grpc/account_grants_pb.rb
303
313
  - lib/grpc/account_grants_services_pb.rb
304
314
  - lib/grpc/accounts_pb.rb
305
315
  - lib/grpc/accounts_services_pb.rb
306
- - lib/grpc/audits_pb.rb
307
- - lib/grpc/audits_services_pb.rb
308
316
  - lib/grpc/control_panel_pb.rb
309
317
  - lib/grpc/control_panel_services_pb.rb
310
- - lib/grpc/demo_provisioning_requests_pb.rb
311
- - lib/grpc/demo_provisioning_requests_services_pb.rb
312
318
  - lib/grpc/drivers_pb.rb
313
319
  - lib/grpc/nodes_pb.rb
314
320
  - lib/grpc/nodes_services_pb.rb
@@ -322,8 +328,6 @@ files:
322
328
  - lib/grpc/role_grants_services_pb.rb
323
329
  - lib/grpc/roles_pb.rb
324
330
  - lib/grpc/roles_services_pb.rb
325
- - lib/grpc/secret_store_healths_pb.rb
326
- - lib/grpc/secret_store_healths_services_pb.rb
327
331
  - lib/grpc/secret_store_types_pb.rb
328
332
  - lib/grpc/secret_stores_pb.rb
329
333
  - lib/grpc/secret_stores_services_pb.rb
@@ -1,115 +0,0 @@
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: access_rules.proto
17
-
18
- require "google/protobuf"
19
-
20
- require "options_pb"
21
- require "spec_pb"
22
- require "tags_pb"
23
- Google::Protobuf::DescriptorPool.generated_pool.build do
24
- add_file("access_rules.proto", :syntax => :proto3) do
25
- add_message "v1.AccessRuleCreateRequest" do
26
- optional :meta, :message, 1, "v1.CreateRequestMetadata"
27
- optional :access_rule, :message, 2, "v1.AccessRule"
28
- end
29
- add_message "v1.AccessRuleCreateResponse" do
30
- optional :meta, :message, 1, "v1.CreateResponseMetadata"
31
- optional :access_rule, :message, 2, "v1.AccessRule"
32
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
33
- end
34
- add_message "v1.AccessRuleGetRequest" do
35
- optional :meta, :message, 1, "v1.GetRequestMetadata"
36
- optional :id, :string, 2
37
- end
38
- add_message "v1.AccessRuleGetResponse" do
39
- optional :meta, :message, 1, "v1.GetResponseMetadata"
40
- optional :access_rule, :message, 2, "v1.AccessRule"
41
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
42
- end
43
- add_message "v1.AccessRuleUpdateRequest" do
44
- optional :meta, :message, 1, "v1.UpdateRequestMetadata"
45
- optional :id, :string, 2
46
- optional :access_rule, :message, 3, "v1.AccessRule"
47
- end
48
- add_message "v1.AccessRuleUpdateResponse" do
49
- optional :meta, :message, 1, "v1.UpdateResponseMetadata"
50
- optional :access_rule, :message, 2, "v1.AccessRule"
51
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
52
- end
53
- add_message "v1.AccessRuleDeleteRequest" do
54
- optional :meta, :message, 1, "v1.DeleteRequestMetadata"
55
- optional :id, :string, 2
56
- end
57
- add_message "v1.AccessRuleDeleteResponse" do
58
- optional :meta, :message, 1, "v1.DeleteResponseMetadata"
59
- optional :rate_limit, :message, 2, "v1.RateLimitMetadata"
60
- end
61
- add_message "v1.AccessRuleListRequest" do
62
- optional :meta, :message, 1, "v1.ListRequestMetadata"
63
- optional :filter, :string, 2
64
- end
65
- add_message "v1.AccessRuleListResponse" do
66
- optional :meta, :message, 1, "v1.ListResponseMetadata"
67
- repeated :access_rules, :message, 2, "v1.AccessRule"
68
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
69
- end
70
- add_message "v1.AccessRule" do
71
- optional :id, :string, 1
72
- optional :resource_type, :string, 2
73
- optional :role_id, :string, 3
74
- repeated :resource_ids, :string, 4
75
- optional :tags, :message, 5, "v1.Tags"
76
- optional :affected_resources, :int64, 6
77
- end
78
- add_message "v1.AccessRulePlanRequest" do
79
- optional :meta, :message, 1, "v1.CreateRequestMetadata"
80
- optional :access_rule, :message, 2, "v1.AccessRule"
81
- end
82
- add_message "v1.AccessRulePlanResponse" do
83
- optional :meta, :message, 1, "v1.CreateResponseMetadata"
84
- optional :affected_resources, :int64, 2
85
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
86
- end
87
- add_message "v1.ApplyAccessRuleRequest" do
88
- optional :meta, :message, 1, "v1.CreateRequestMetadata"
89
- optional :role_id, :string, 2
90
- repeated :access_rules, :message, 3, "v1.AccessRule"
91
- end
92
- add_message "v1.ApplyAccessRuleResponse" do
93
- optional :meta, :message, 1, "v1.CreateResponseMetadata"
94
- optional :rate_limit, :message, 2, "v1.RateLimitMetadata"
95
- end
96
- end
97
- end
98
-
99
- module V1
100
- AccessRuleCreateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleCreateRequest").msgclass
101
- AccessRuleCreateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleCreateResponse").msgclass
102
- AccessRuleGetRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleGetRequest").msgclass
103
- AccessRuleGetResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleGetResponse").msgclass
104
- AccessRuleUpdateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleUpdateRequest").msgclass
105
- AccessRuleUpdateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleUpdateResponse").msgclass
106
- AccessRuleDeleteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleDeleteRequest").msgclass
107
- AccessRuleDeleteResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleDeleteResponse").msgclass
108
- AccessRuleListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleListRequest").msgclass
109
- AccessRuleListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRuleListResponse").msgclass
110
- AccessRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRule").msgclass
111
- AccessRulePlanRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRulePlanRequest").msgclass
112
- AccessRulePlanResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRulePlanResponse").msgclass
113
- ApplyAccessRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ApplyAccessRuleRequest").msgclass
114
- ApplyAccessRuleResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ApplyAccessRuleResponse").msgclass
115
- end
@@ -1,50 +0,0 @@
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: access_rules.proto for package 'v1'
17
-
18
- require "grpc"
19
- require "access_rules_pb"
20
-
21
- module V1
22
- module AccessRules
23
- # AccessRules allows the use of tags and other attributes to grant resources
24
- # to roles. Each Role may have several access rules.
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.AccessRules"
31
-
32
- # Plan registers a new AccessRule.
33
- rpc :Plan, AccessRulePlanRequest, AccessRulePlanResponse
34
- # Create registers a new AccessRule.
35
- rpc :Create, AccessRuleCreateRequest, AccessRuleCreateResponse
36
- # Get reads one AccessRule by ID.
37
- rpc :Get, AccessRuleGetRequest, AccessRuleGetResponse
38
- # Update patches a AccessRule by ID.
39
- rpc :Update, AccessRuleUpdateRequest, AccessRuleUpdateResponse
40
- # Delete removes a AccessRule by ID.
41
- rpc :Delete, AccessRuleDeleteRequest, AccessRuleDeleteResponse
42
- # List gets a list of Access Rules matching a given set of criteria.
43
- rpc :List, AccessRuleListRequest, AccessRuleListResponse
44
- # Apply resets a role and apply all given access rules.
45
- rpc :Apply, ApplyAccessRuleRequest, ApplyAccessRuleResponse
46
- end
47
-
48
- Stub = Service.rpc_stub_class
49
- end
50
- end
@@ -1,40 +0,0 @@
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: audits.proto
17
-
18
- require "google/protobuf"
19
-
20
- require "options_pb"
21
- require "spec_pb"
22
- require "access_rules_pb"
23
- Google::Protobuf::DescriptorPool.generated_pool.build do
24
- add_file("audits.proto", :syntax => :proto3) do
25
- add_message "v1.GetAccessRulesRequest" do
26
- optional :meta, :message, 1, "v1.GetRequestMetadata"
27
- optional :when, :string, 2
28
- end
29
- add_message "v1.GetAccessRulesResponse" do
30
- optional :meta, :message, 1, "v1.GetResponseMetadata"
31
- repeated :access_rules, :message, 2, "v1.AccessRule"
32
- optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
33
- end
34
- end
35
- end
36
-
37
- module V1
38
- GetAccessRulesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GetAccessRulesRequest").msgclass
39
- GetAccessRulesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GetAccessRulesResponse").msgclass
40
- end
@@ -1,37 +0,0 @@
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: audits.proto for package 'v1'
17
-
18
- require "grpc"
19
- require "audits_pb"
20
-
21
- module V1
22
- module Audits
23
- # Audit exposes the endpoints to extract point-in-time snapshot of data.
24
- class Service
25
- include GRPC::GenericService
26
-
27
- self.marshal_class_method = :encode
28
- self.unmarshal_class_method = :decode
29
- self.service_name = "v1.Audits"
30
-
31
- # GetAccessRules gets a list of Access Rules at point-in-time.
32
- rpc :GetAccessRules, GetAccessRulesRequest, GetAccessRulesResponse
33
- end
34
-
35
- Stub = Service.rpc_stub_class
36
- end
37
- end