strongdm 1.0.12 → 1.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) 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/{DB2.html → AWS.html} +46 -46
  6. data/doc/SDM/AWSStore.html +283 -0
  7. data/doc/SDM/AccessRuleCreateResponse.html +267 -0
  8. data/doc/SDM/AccessRuleDeleteResponse.html +249 -0
  9. data/doc/SDM/AccessRuleUpdateResponse.html +267 -0
  10. data/doc/SDM/AccountAttachment.html +2 -2
  11. data/doc/SDM/AccountAttachmentCreateResponse.html +2 -2
  12. data/doc/SDM/AccountAttachmentDeleteResponse.html +2 -2
  13. data/doc/SDM/AccountAttachmentGetResponse.html +2 -2
  14. data/doc/SDM/AccountCreateResponse.html +2 -2
  15. data/doc/SDM/AccountDeleteResponse.html +2 -2
  16. data/doc/SDM/AccountGetResponse.html +2 -2
  17. data/doc/SDM/AccountGrant.html +2 -2
  18. data/doc/SDM/AccountGrantCreateResponse.html +2 -2
  19. data/doc/SDM/AccountGrantDeleteResponse.html +2 -2
  20. data/doc/SDM/AccountGrantGetResponse.html +2 -2
  21. data/doc/SDM/AccountUpdateResponse.html +2 -2
  22. data/doc/SDM/AmazonEKS.html +39 -3
  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 +37 -6
  31. data/doc/SDM/Clustrix.html +21 -3
  32. data/doc/SDM/Cockroach.html +21 -3
  33. data/doc/SDM/ControlPanel.html +236 -0
  34. data/doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html +267 -0
  35. data/doc/SDM/DB2LUW.html +21 -3
  36. data/doc/SDM/DB2i.html +21 -3
  37. data/doc/SDM/Druid.html +21 -3
  38. data/doc/SDM/DynamoDB.html +57 -3
  39. data/doc/SDM/Elastic.html +21 -3
  40. data/doc/SDM/ElasticacheRedis.html +21 -3
  41. data/doc/SDM/Gateway.html +2 -2
  42. data/doc/SDM/GoogleGKE.html +21 -3
  43. data/doc/SDM/Greenplum.html +21 -3
  44. data/doc/SDM/HTTPAuth.html +21 -3
  45. data/doc/SDM/HTTPBasicAuth.html +21 -3
  46. data/doc/SDM/HTTPNoAuth.html +21 -3
  47. data/doc/SDM/Kubernetes.html +21 -3
  48. data/doc/SDM/KubernetesBasicAuth.html +21 -3
  49. data/doc/SDM/KubernetesServiceAccount.html +21 -3
  50. data/doc/SDM/Maria.html +21 -3
  51. data/doc/SDM/Memcached.html +21 -3
  52. data/doc/SDM/Memsql.html +21 -3
  53. data/doc/SDM/MongoHost.html +21 -3
  54. data/doc/SDM/MongoLegacyHost.html +21 -3
  55. data/doc/SDM/MongoLegacyReplicaset.html +21 -3
  56. data/doc/SDM/MongoReplicaSet.html +21 -3
  57. data/doc/SDM/Mysql.html +21 -3
  58. data/doc/SDM/NodeCreateResponse.html +2 -2
  59. data/doc/SDM/NodeDeleteResponse.html +2 -2
  60. data/doc/SDM/NodeGetResponse.html +2 -2
  61. data/doc/SDM/NodeUpdateResponse.html +2 -2
  62. data/doc/SDM/Nodes.html +6 -6
  63. data/doc/SDM/Oracle.html +21 -3
  64. data/doc/SDM/Plumbing.html +3126 -1160
  65. data/doc/SDM/Postgres.html +21 -3
  66. data/doc/SDM/Presto.html +21 -3
  67. data/doc/SDM/RDP.html +21 -3
  68. data/doc/SDM/Redis.html +21 -3
  69. data/doc/SDM/Redshift.html +21 -3
  70. data/doc/SDM/Relay.html +2 -2
  71. data/doc/SDM/ResourceCreateResponse.html +2 -2
  72. data/doc/SDM/ResourceDeleteResponse.html +2 -2
  73. data/doc/SDM/ResourceGetResponse.html +2 -2
  74. data/doc/SDM/ResourceUpdateResponse.html +2 -2
  75. data/doc/SDM/Resources.html +74 -6
  76. data/doc/SDM/Role.html +2 -2
  77. data/doc/SDM/RoleAttachment.html +2 -2
  78. data/doc/SDM/RoleAttachmentCreateResponse.html +2 -2
  79. data/doc/SDM/RoleAttachmentDeleteResponse.html +2 -2
  80. data/doc/SDM/RoleAttachmentGetResponse.html +2 -2
  81. data/doc/SDM/RoleAttachments.html +5 -5
  82. data/doc/SDM/RoleCreateResponse.html +2 -2
  83. data/doc/SDM/RoleDeleteResponse.html +2 -2
  84. data/doc/SDM/RoleGetResponse.html +2 -2
  85. data/doc/SDM/RoleGrant.html +2 -2
  86. data/doc/SDM/RoleGrantCreateResponse.html +2 -2
  87. data/doc/SDM/RoleGrantDeleteResponse.html +2 -2
  88. data/doc/SDM/RoleGrantGetResponse.html +2 -2
  89. data/doc/SDM/RoleGrants.html +5 -5
  90. data/doc/SDM/RoleUpdateResponse.html +2 -2
  91. data/doc/SDM/Roles.html +6 -6
  92. data/doc/SDM/SQLServer.html +21 -3
  93. data/doc/SDM/SSH.html +21 -3
  94. data/doc/SDM/SSHCert.html +21 -3
  95. data/doc/SDM/SecretStore.html +303 -0
  96. data/doc/SDM/SecretStoreCreateResponse.html +267 -0
  97. data/doc/SDM/SecretStoreDeleteResponse.html +249 -0
  98. data/doc/SDM/SecretStoreGetResponse.html +267 -0
  99. data/doc/SDM/SecretStoreUpdateResponse.html +267 -0
  100. data/doc/SDM/SecretStores.html +492 -0
  101. data/doc/SDM/Service.html +2 -2
  102. data/doc/SDM/Snowflake.html +21 -3
  103. data/doc/SDM/Sybase.html +21 -3
  104. data/doc/SDM/SybaseIQ.html +21 -3
  105. data/doc/SDM/Tag.html +247 -0
  106. data/doc/SDM/Teradata.html +21 -3
  107. data/doc/SDM/User.html +2 -2
  108. data/doc/SDM/VaultTLSStore.html +337 -0
  109. data/doc/SDM/VaultTokenStore.html +283 -0
  110. data/doc/V1.html +325 -0
  111. data/doc/V1/AccessRules.html +113 -0
  112. data/doc/V1/AccessRules/Service.html +119 -0
  113. data/doc/V1/Audits.html +113 -0
  114. data/doc/V1/Audits/Service.html +119 -0
  115. data/doc/V1/BuildsPrivate.html +113 -0
  116. data/doc/V1/BuildsPrivate/Service.html +119 -0
  117. data/doc/V1/ControlPanel.html +113 -0
  118. data/doc/V1/ControlPanel/Service.html +119 -0
  119. data/doc/V1/DemoProvisioningRequests.html +113 -0
  120. data/doc/V1/DemoProvisioningRequests/Service.html +119 -0
  121. data/doc/V1/SecretStoreHealths.html +113 -0
  122. data/doc/V1/SecretStoreHealths/Service.html +119 -0
  123. data/doc/V1/SecretStores.html +113 -0
  124. data/doc/V1/SecretStores/Service.html +119 -0
  125. data/doc/created.rid +52 -35
  126. data/doc/index.html +52 -0
  127. data/doc/js/navigation.js.gz +0 -0
  128. data/doc/js/search_index.js +1 -1
  129. data/doc/js/search_index.js.gz +0 -0
  130. data/doc/js/searcher.js.gz +0 -0
  131. data/doc/lib/version.html +1 -1
  132. data/doc/table_of_contents.html +989 -494
  133. data/lib/grpc/account_attachments_pb.rb +0 -2
  134. data/lib/grpc/account_attachments_services_pb.rb +4 -4
  135. data/lib/grpc/account_grants_pb.rb +0 -2
  136. data/lib/grpc/account_grants_services_pb.rb +4 -4
  137. data/lib/grpc/accounts_pb.rb +0 -2
  138. data/lib/grpc/accounts_services_pb.rb +5 -5
  139. data/lib/grpc/control_panel_pb.rb +38 -0
  140. data/lib/grpc/control_panel_services_pb.rb +37 -0
  141. data/lib/grpc/demo_provisioning_requests_pb.rb +93 -0
  142. data/lib/grpc/demo_provisioning_requests_services_pb.rb +49 -0
  143. data/lib/grpc/drivers_pb.rb +69 -1
  144. data/lib/grpc/nodes_pb.rb +0 -2
  145. data/lib/grpc/nodes_services_pb.rb +5 -5
  146. data/lib/grpc/options_pb.rb +18 -0
  147. data/lib/grpc/plumbing.rb +571 -1
  148. data/lib/grpc/resources_pb.rb +12 -1
  149. data/lib/grpc/resources_services_pb.rb +7 -5
  150. data/lib/grpc/role_attachments_pb.rb +0 -2
  151. data/lib/grpc/role_attachments_services_pb.rb +4 -4
  152. data/lib/grpc/role_grants_pb.rb +0 -2
  153. data/lib/grpc/role_grants_services_pb.rb +4 -4
  154. data/lib/grpc/roles_pb.rb +0 -2
  155. data/lib/grpc/roles_services_pb.rb +5 -5
  156. data/lib/grpc/secret_store_types_pb.rb +60 -0
  157. data/lib/grpc/secret_stores_pb.rb +84 -0
  158. data/lib/grpc/secret_stores_services_pb.rb +44 -0
  159. data/lib/grpc/spec_pb.rb +6 -0
  160. data/lib/grpc/tags_pb.rb +5 -0
  161. data/lib/models/porcelain.rb +736 -3
  162. data/lib/strongdm.rb +11 -2
  163. data/lib/svc.rb +254 -0
  164. data/lib/version +1 -1
  165. data/lib/version.rb +1 -1
  166. metadata +39 -4
  167. data/lib/grpc/protoc-gen-swagger/options/annotations_pb.rb +0 -15
@@ -29,19 +29,24 @@ 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
37
40
  @account_attachments = AccountAttachments.new(host, insecure, self)
38
41
  @account_grants = AccountGrants.new(host, insecure, self)
39
42
  @accounts = Accounts.new(host, insecure, self)
43
+ @control_panel = ControlPanel.new(host, insecure, self)
40
44
  @nodes = Nodes.new(host, insecure, self)
41
45
  @resources = Resources.new(host, insecure, self)
42
46
  @role_attachments = RoleAttachments.new(host, insecure, self)
43
47
  @role_grants = RoleGrants.new(host, insecure, self)
44
48
  @roles = Roles.new(host, insecure, self)
49
+ @secret_stores = SecretStores.new(host, insecure, self)
45
50
  @_test_options = Hash.new
46
51
  end
47
52
 
@@ -98,6 +103,8 @@ module SDM
98
103
  # 1. **Users:** humans who are authenticated through username and password or SSO.
99
104
  # 2. **Service Accounts:** machines that are authenticated using a service token.
100
105
  attr_reader :accounts
106
+ # ControlPanel contains all administrative controls.
107
+ attr_reader :control_panel
101
108
  # Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
102
109
  # - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers.
103
110
  # - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.
@@ -120,6 +127,8 @@ module SDM
120
127
  # grant access to the combined resources associated with a set of child roles.
121
128
  # Each user can be a member of one Role or composite role.
122
129
  attr_reader :roles
130
+ # SecretStores are servers where resource secrets (passwords, keys) are stored.
131
+ attr_reader :secret_stores
123
132
  attr_reader :_test_options
124
133
  end
125
134
  end
data/lib/svc.rb CHANGED
@@ -486,6 +486,51 @@ module SDM
486
486
  end
487
487
  end
488
488
 
489
+ # ControlPanel contains all administrative controls.
490
+ class ControlPanel
491
+ def initialize(host, insecure, parent)
492
+ begin
493
+ if insecure
494
+ @stub = V1::ControlPanel::Stub.new(host, :this_channel_is_insecure)
495
+ else
496
+ cred = GRPC::Core::ChannelCredentials.new()
497
+ @stub = V1::ControlPanel::Stub.new(host, cred)
498
+ end
499
+ rescue => exception
500
+ raise Plumbing::convert_error_to_porcelain(exception)
501
+ end
502
+ @parent = parent
503
+ end
504
+
505
+ # GetSSHCAPublicKey retrieves the SSH CA public key.
506
+ def get_sshca_public_key(
507
+ deadline: nil
508
+ )
509
+ req = V1::ControlPanelGetSSHCAPublicKeyRequest.new()
510
+
511
+ tries = 0
512
+ plumbing_response = nil
513
+ loop do
514
+ begin
515
+ plumbing_response = @stub.get_sshca_public_key(req, metadata: @parent.get_metadata("ControlPanel.GetSSHCAPublicKey", req), deadline: deadline)
516
+ rescue => exception
517
+ if (@parent.shouldRetry(tries, exception))
518
+ tries + +@parent.jitterSleep(tries)
519
+ next
520
+ end
521
+ raise Plumbing::convert_error_to_porcelain(exception)
522
+ end
523
+ break
524
+ end
525
+
526
+ resp = ControlPanelGetSSHCAPublicKeyResponse.new()
527
+ resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
528
+ resp.public_key = (plumbing_response.public_key)
529
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
530
+ resp
531
+ end
532
+ end
533
+
489
534
  # Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
490
535
  # - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers.
491
536
  # - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.
@@ -677,6 +722,43 @@ module SDM
677
722
  @parent = parent
678
723
  end
679
724
 
725
+ # EnumerateTags gets a list of the filter matching tags.
726
+ def enumerate_tags(
727
+ filter,
728
+ *args,
729
+ deadline: nil
730
+ )
731
+ req = V1::EnumerateTagsRequest.new()
732
+ req.meta = V1::ListRequestMetadata.new()
733
+ page_size_option = @parent._test_options["PageSize"]
734
+ if page_size_option.is_a? Integer
735
+ req.meta.limit = page_size_option
736
+ end
737
+
738
+ req.filter = Plumbing::quote_filter_args(filter, *args)
739
+ resp = Enumerator::Generator.new { |g|
740
+ tries = 0
741
+ loop do
742
+ begin
743
+ plumbing_response = @stub.enumerate_tags(req, metadata: @parent.get_metadata("Resources.EnumerateTags", req), deadline: deadline)
744
+ rescue => exception
745
+ if (@parent.shouldRetry(tries, exception))
746
+ tries + +@parent.jitterSleep(tries)
747
+ next
748
+ end
749
+ raise Plumbing::convert_error_to_porcelain(exception)
750
+ end
751
+ tries = 0
752
+ plumbing_response.matches.each do |plumbing_item|
753
+ g.yield Plumbing::convert_tag_to_porcelain(plumbing_item)
754
+ end
755
+ break if plumbing_response.meta.next_cursor == ""
756
+ req.meta.cursor = plumbing_response.meta.next_cursor
757
+ end
758
+ }
759
+ resp
760
+ end
761
+
680
762
  # Create registers a new Resource.
681
763
  def create(
682
764
  resource,
@@ -1302,4 +1384,176 @@ module SDM
1302
1384
  resp
1303
1385
  end
1304
1386
  end
1387
+
1388
+ # SecretStores are servers where resource secrets (passwords, keys) are stored.
1389
+ class SecretStores
1390
+ def initialize(host, insecure, parent)
1391
+ begin
1392
+ if insecure
1393
+ @stub = V1::SecretStores::Stub.new(host, :this_channel_is_insecure)
1394
+ else
1395
+ cred = GRPC::Core::ChannelCredentials.new()
1396
+ @stub = V1::SecretStores::Stub.new(host, cred)
1397
+ end
1398
+ rescue => exception
1399
+ raise Plumbing::convert_error_to_porcelain(exception)
1400
+ end
1401
+ @parent = parent
1402
+ end
1403
+
1404
+ def create(
1405
+ secret_store,
1406
+ deadline: nil
1407
+ )
1408
+ req = V1::SecretStoreCreateRequest.new()
1409
+
1410
+ req.secret_store = Plumbing::convert_secret_store_to_plumbing(secret_store)
1411
+ tries = 0
1412
+ plumbing_response = nil
1413
+ loop do
1414
+ begin
1415
+ plumbing_response = @stub.create(req, metadata: @parent.get_metadata("SecretStores.Create", req), deadline: deadline)
1416
+ rescue => exception
1417
+ if (@parent.shouldRetry(tries, exception))
1418
+ tries + +@parent.jitterSleep(tries)
1419
+ next
1420
+ end
1421
+ raise Plumbing::convert_error_to_porcelain(exception)
1422
+ end
1423
+ break
1424
+ end
1425
+
1426
+ resp = SecretStoreCreateResponse.new()
1427
+ resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta)
1428
+ resp.secret_store = Plumbing::convert_secret_store_to_porcelain(plumbing_response.secret_store)
1429
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
1430
+ resp
1431
+ end
1432
+
1433
+ # Get reads one SecretStore by ID.
1434
+ def get(
1435
+ id,
1436
+ deadline: nil
1437
+ )
1438
+ req = V1::SecretStoreGetRequest.new()
1439
+
1440
+ req.id = (id)
1441
+ tries = 0
1442
+ plumbing_response = nil
1443
+ loop do
1444
+ begin
1445
+ plumbing_response = @stub.get(req, metadata: @parent.get_metadata("SecretStores.Get", req), deadline: deadline)
1446
+ rescue => exception
1447
+ if (@parent.shouldRetry(tries, exception))
1448
+ tries + +@parent.jitterSleep(tries)
1449
+ next
1450
+ end
1451
+ raise Plumbing::convert_error_to_porcelain(exception)
1452
+ end
1453
+ break
1454
+ end
1455
+
1456
+ resp = SecretStoreGetResponse.new()
1457
+ resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
1458
+ resp.secret_store = Plumbing::convert_secret_store_to_porcelain(plumbing_response.secret_store)
1459
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
1460
+ resp
1461
+ end
1462
+
1463
+ # Update patches a SecretStore by ID.
1464
+ def update(
1465
+ secret_store,
1466
+ deadline: nil
1467
+ )
1468
+ req = V1::SecretStoreUpdateRequest.new()
1469
+
1470
+ req.secret_store = Plumbing::convert_secret_store_to_plumbing(secret_store)
1471
+ tries = 0
1472
+ plumbing_response = nil
1473
+ loop do
1474
+ begin
1475
+ plumbing_response = @stub.update(req, metadata: @parent.get_metadata("SecretStores.Update", req), deadline: deadline)
1476
+ rescue => exception
1477
+ if (@parent.shouldRetry(tries, exception))
1478
+ tries + +@parent.jitterSleep(tries)
1479
+ next
1480
+ end
1481
+ raise Plumbing::convert_error_to_porcelain(exception)
1482
+ end
1483
+ break
1484
+ end
1485
+
1486
+ resp = SecretStoreUpdateResponse.new()
1487
+ resp.meta = Plumbing::convert_update_response_metadata_to_porcelain(plumbing_response.meta)
1488
+ resp.secret_store = Plumbing::convert_secret_store_to_porcelain(plumbing_response.secret_store)
1489
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
1490
+ resp
1491
+ end
1492
+
1493
+ # Delete removes a SecretStore by ID.
1494
+ def delete(
1495
+ id,
1496
+ deadline: nil
1497
+ )
1498
+ req = V1::SecretStoreDeleteRequest.new()
1499
+
1500
+ req.id = (id)
1501
+ tries = 0
1502
+ plumbing_response = nil
1503
+ loop do
1504
+ begin
1505
+ plumbing_response = @stub.delete(req, metadata: @parent.get_metadata("SecretStores.Delete", req), deadline: deadline)
1506
+ rescue => exception
1507
+ if (@parent.shouldRetry(tries, exception))
1508
+ tries + +@parent.jitterSleep(tries)
1509
+ next
1510
+ end
1511
+ raise Plumbing::convert_error_to_porcelain(exception)
1512
+ end
1513
+ break
1514
+ end
1515
+
1516
+ resp = SecretStoreDeleteResponse.new()
1517
+ resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta)
1518
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
1519
+ resp
1520
+ end
1521
+
1522
+ # List gets a list of SecretStores matching a given set of criteria.
1523
+ def list(
1524
+ filter,
1525
+ *args,
1526
+ deadline: nil
1527
+ )
1528
+ req = V1::SecretStoreListRequest.new()
1529
+ req.meta = V1::ListRequestMetadata.new()
1530
+ page_size_option = @parent._test_options["PageSize"]
1531
+ if page_size_option.is_a? Integer
1532
+ req.meta.limit = page_size_option
1533
+ end
1534
+
1535
+ req.filter = Plumbing::quote_filter_args(filter, *args)
1536
+ resp = Enumerator::Generator.new { |g|
1537
+ tries = 0
1538
+ loop do
1539
+ begin
1540
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("SecretStores.List", req), deadline: deadline)
1541
+ rescue => exception
1542
+ if (@parent.shouldRetry(tries, exception))
1543
+ tries + +@parent.jitterSleep(tries)
1544
+ next
1545
+ end
1546
+ raise Plumbing::convert_error_to_porcelain(exception)
1547
+ end
1548
+ tries = 0
1549
+ plumbing_response.secret_stores.each do |plumbing_item|
1550
+ g.yield Plumbing::convert_secret_store_to_porcelain(plumbing_item)
1551
+ end
1552
+ break if plumbing_response.meta.next_cursor == ""
1553
+ req.meta.cursor = plumbing_response.meta.next_cursor
1554
+ end
1555
+ }
1556
+ resp
1557
+ end
1558
+ end
1305
1559
  end
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "1.0.12"
16
+ VERSION = "1.0.17"
17
17
  end
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "1.0.12"
16
+ VERSION = "1.0.17"
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.12
4
+ version: 1.0.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-31 00:00:00.000000000 Z
11
+ date: 2021-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -88,6 +88,11 @@ files:
88
88
  - doc/SDM/AKS.html
89
89
  - doc/SDM/AKSBasicAuth.html
90
90
  - doc/SDM/AKSServiceAccount.html
91
+ - doc/SDM/AWS.html
92
+ - doc/SDM/AWSStore.html
93
+ - doc/SDM/AccessRuleCreateResponse.html
94
+ - doc/SDM/AccessRuleDeleteResponse.html
95
+ - doc/SDM/AccessRuleUpdateResponse.html
91
96
  - doc/SDM/AccountAttachment.html
92
97
  - doc/SDM/AccountAttachmentCreateOptions.html
93
98
  - doc/SDM/AccountAttachmentCreateResponse.html
@@ -118,8 +123,9 @@ files:
118
123
  - doc/SDM/Client.html
119
124
  - doc/SDM/Clustrix.html
120
125
  - doc/SDM/Cockroach.html
126
+ - doc/SDM/ControlPanel.html
127
+ - doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html
121
128
  - doc/SDM/CreateResponseMetadata.html
122
- - doc/SDM/DB2.html
123
129
  - doc/SDM/DB2LUW.html
124
130
  - doc/SDM/DB2i.html
125
131
  - doc/SDM/DeadlineExceededError.html
@@ -189,20 +195,39 @@ files:
189
195
  - doc/SDM/SQLServer.html
190
196
  - doc/SDM/SSH.html
191
197
  - doc/SDM/SSHCert.html
198
+ - doc/SDM/SecretStore.html
199
+ - doc/SDM/SecretStoreCreateResponse.html
200
+ - doc/SDM/SecretStoreDeleteResponse.html
201
+ - doc/SDM/SecretStoreGetResponse.html
202
+ - doc/SDM/SecretStoreUpdateResponse.html
203
+ - doc/SDM/SecretStores.html
192
204
  - doc/SDM/Service.html
193
205
  - doc/SDM/Snowflake.html
194
206
  - doc/SDM/Sybase.html
195
207
  - doc/SDM/SybaseIQ.html
208
+ - doc/SDM/Tag.html
196
209
  - doc/SDM/Teradata.html
197
210
  - doc/SDM/UpdateResponseMetadata.html
198
211
  - doc/SDM/User.html
212
+ - doc/SDM/VaultTLSStore.html
213
+ - doc/SDM/VaultTokenStore.html
199
214
  - doc/V1.html
215
+ - doc/V1/AccessRules.html
216
+ - doc/V1/AccessRules/Service.html
200
217
  - doc/V1/AccountAttachments.html
201
218
  - doc/V1/AccountAttachments/Service.html
202
219
  - doc/V1/AccountGrants.html
203
220
  - doc/V1/AccountGrants/Service.html
204
221
  - doc/V1/Accounts.html
205
222
  - doc/V1/Accounts/Service.html
223
+ - doc/V1/Audits.html
224
+ - doc/V1/Audits/Service.html
225
+ - doc/V1/BuildsPrivate.html
226
+ - doc/V1/BuildsPrivate/Service.html
227
+ - doc/V1/ControlPanel.html
228
+ - doc/V1/ControlPanel/Service.html
229
+ - doc/V1/DemoProvisioningRequests.html
230
+ - doc/V1/DemoProvisioningRequests/Service.html
206
231
  - doc/V1/Nodes.html
207
232
  - doc/V1/Nodes/Service.html
208
233
  - doc/V1/Resources.html
@@ -213,6 +238,10 @@ files:
213
238
  - doc/V1/RoleGrants/Service.html
214
239
  - doc/V1/Roles.html
215
240
  - doc/V1/Roles/Service.html
241
+ - doc/V1/SecretStoreHealths.html
242
+ - doc/V1/SecretStoreHealths/Service.html
243
+ - doc/V1/SecretStores.html
244
+ - doc/V1/SecretStores/Service.html
216
245
  - doc/V1/Tags.html
217
246
  - doc/created.rid
218
247
  - doc/css/fonts.css
@@ -275,12 +304,15 @@ files:
275
304
  - lib/grpc/account_grants_services_pb.rb
276
305
  - lib/grpc/accounts_pb.rb
277
306
  - lib/grpc/accounts_services_pb.rb
307
+ - lib/grpc/control_panel_pb.rb
308
+ - lib/grpc/control_panel_services_pb.rb
309
+ - lib/grpc/demo_provisioning_requests_pb.rb
310
+ - lib/grpc/demo_provisioning_requests_services_pb.rb
278
311
  - lib/grpc/drivers_pb.rb
279
312
  - lib/grpc/nodes_pb.rb
280
313
  - lib/grpc/nodes_services_pb.rb
281
314
  - lib/grpc/options_pb.rb
282
315
  - lib/grpc/plumbing.rb
283
- - lib/grpc/protoc-gen-swagger/options/annotations_pb.rb
284
316
  - lib/grpc/resources_pb.rb
285
317
  - lib/grpc/resources_services_pb.rb
286
318
  - lib/grpc/role_attachments_pb.rb
@@ -289,6 +321,9 @@ files:
289
321
  - lib/grpc/role_grants_services_pb.rb
290
322
  - lib/grpc/roles_pb.rb
291
323
  - lib/grpc/roles_services_pb.rb
324
+ - lib/grpc/secret_store_types_pb.rb
325
+ - lib/grpc/secret_stores_pb.rb
326
+ - lib/grpc/secret_stores_services_pb.rb
292
327
  - lib/grpc/spec_pb.rb
293
328
  - lib/grpc/tags_pb.rb
294
329
  - lib/models/porcelain.rb
@@ -1,15 +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
- # this file is intentionally left empty