strongdm 3.3.1 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e601daad8604b14b6efca595b6007963a167cfb7a30f4d8c70676b8b23abb0e6
4
- data.tar.gz: 10a34dd76e8c1442b565dd5b62bbfe7d7095ffd7737f832af40da6eee6927e8f
3
+ metadata.gz: eb6f505400b8b6c5710dbc854055f1d2178df204ff75863655d5126e76e73e3a
4
+ data.tar.gz: aa8137e2c86546358948f6ad254d8e133cfa8bf6dd0d9b3834afafe17d474ceb
5
5
  SHA512:
6
- metadata.gz: 420fcca922334958f92b8a9172e23bba99ce7f70c9deb39a42414ac59943f09158f5467396da6672b4dbf951457991d52ab47d46eb6091b2516ec9ee40e6f71e
7
- data.tar.gz: 5542cddd713db6b73216d3dbe5d54b2afe6c49f3d88c6c1ae2c1db7a4a3127bb82b73d01fe06c09de8d1343049999340b7f5bb58912a493cafcc4c5dfe9b06aa
6
+ metadata.gz: 8b7270d476d1b60443cb89d1b9dd07931a825c2362fdfcdb15ba72d3c34bbe486b1e311867e1cbd6f5d147824c8402206008b9201fa8d31191478e6e9c701fa2
7
+ data.tar.gz: 75672cb02e8bea1b6725042a03029683a89f9626a3bde1658646f628fa6a6f9ac018f8519748246e51ff54fe425c34023e895e4f52cfc40a1b2770abef8154dd
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 390199f6fe9dc45de4cd68aae9f5a433228506f5
1
+ c07c84aa4982d50d60f10720b331c76f56f8c53f
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 390199f6fe9dc45de4cd68aae9f5a433228506f5 sdmrelease <support@strongdm.com> 1664835782 +0000 clone: from git@github.com:strongdm/strongdm-sdk-ruby.git
2
- 390199f6fe9dc45de4cd68aae9f5a433228506f5 390199f6fe9dc45de4cd68aae9f5a433228506f5 sdmrelease <support@strongdm.com> 1664835782 +0000 checkout: moving from master to master
3
- 390199f6fe9dc45de4cd68aae9f5a433228506f5 f99114303af624f557c49036ef7e65c4cdfdb862 sdmrelease <support@strongdm.com> 1664835782 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 c07c84aa4982d50d60f10720b331c76f56f8c53f sdmrelease <support@strongdm.com> 1668525718 +0000 clone: from git@github.com:strongdm/strongdm-sdk-ruby.git
2
+ c07c84aa4982d50d60f10720b331c76f56f8c53f c07c84aa4982d50d60f10720b331c76f56f8c53f sdmrelease <support@strongdm.com> 1668525718 +0000 checkout: moving from master to master
3
+ c07c84aa4982d50d60f10720b331c76f56f8c53f bfb8a3cdb41c617913f0295b25ac7ecc7398d2c2 sdmrelease <support@strongdm.com> 1668525718 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 390199f6fe9dc45de4cd68aae9f5a433228506f5 sdmrelease <support@strongdm.com> 1664835782 +0000 clone: from git@github.com:strongdm/strongdm-sdk-ruby.git
2
- 390199f6fe9dc45de4cd68aae9f5a433228506f5 f99114303af624f557c49036ef7e65c4cdfdb862 sdmrelease <support@strongdm.com> 1664835782 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 c07c84aa4982d50d60f10720b331c76f56f8c53f sdmrelease <support@strongdm.com> 1668525718 +0000 clone: from git@github.com:strongdm/strongdm-sdk-ruby.git
2
+ c07c84aa4982d50d60f10720b331c76f56f8c53f bfb8a3cdb41c617913f0295b25ac7ecc7398d2c2 sdmrelease <support@strongdm.com> 1668525718 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 390199f6fe9dc45de4cd68aae9f5a433228506f5 sdmrelease <support@strongdm.com> 1664835782 +0000 clone: from git@github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 c07c84aa4982d50d60f10720b331c76f56f8c53f sdmrelease <support@strongdm.com> 1668525718 +0000 clone: from git@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
- f99114303af624f557c49036ef7e65c4cdfdb862 refs/remotes/origin/development
3
- 390199f6fe9dc45de4cd68aae9f5a433228506f5 refs/remotes/origin/master
2
+ bfb8a3cdb41c617913f0295b25ac7ecc7398d2c2 refs/remotes/origin/development
3
+ c07c84aa4982d50d60f10720b331c76f56f8c53f 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
@@ -47,3 +47,5 @@ dd6a8a74ad5675831f42e3a820208e96f7361f80 refs/tags/v3.2.1
47
47
  09ee1a3be370a7b5e21709a7857d0f189f23da8b refs/tags/v3.2.2
48
48
  d0ae780dd221eab9c3108d74697661483c1e1085 refs/tags/v3.2.3
49
49
  390199f6fe9dc45de4cd68aae9f5a433228506f5 refs/tags/v3.3.0
50
+ f99114303af624f557c49036ef7e65c4cdfdb862 refs/tags/v3.3.1
51
+ c07c84aa4982d50d60f10720b331c76f56f8c53f refs/tags/v3.3.2
@@ -1 +1 @@
1
- f99114303af624f557c49036ef7e65c4cdfdb862
1
+ bfb8a3cdb41c617913f0295b25ac7ecc7398d2c2
@@ -82,6 +82,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
82
82
  optional :suspended, :bool, 5
83
83
  optional :tags, :message, 6, "v1.Tags"
84
84
  optional :permission_level, :string, 7
85
+ optional :managed_by, :string, 8
86
+ optional :external_id, :string, 9
85
87
  end
86
88
  add_message "v1.Service" do
87
89
  optional :id, :string, 1
@@ -40,6 +40,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
40
40
  optional :aurora_postgres, :message, 1301, "v1.AuroraPostgres"
41
41
  optional :azure, :message, 2800, "v1.Azure"
42
42
  optional :azure_certificate, :message, 2801, "v1.AzureCertificate"
43
+ optional :azure_mysql, :message, 1107, "v1.AzureMysql"
43
44
  optional :azure_postgres, :message, 1307, "v1.AzurePostgres"
44
45
  optional :big_query, :message, 200, "v1.BigQuery"
45
46
  optional :cassandra, :message, 300, "v1.Cassandra"
@@ -369,6 +370,21 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
369
370
  optional :client_certificate, :string, 3
370
371
  optional :tenant_id, :string, 2
371
372
  end
373
+ add_message "v1.AzureMysql" do
374
+ optional :id, :string, 32768
375
+ optional :name, :string, 32769
376
+ optional :healthy, :bool, 32770
377
+ optional :tags, :message, 32771, "v1.Tags"
378
+ optional :secret_store_id, :string, 32772
379
+ optional :egress_filter, :string, 32773
380
+ optional :bind_interface, :string, 32774
381
+ optional :database, :string, 4
382
+ optional :hostname, :string, 1
383
+ optional :password, :string, 3
384
+ optional :port, :int32, 6
385
+ optional :port_override, :int32, 5
386
+ optional :username, :string, 2
387
+ end
372
388
  add_message "v1.AzurePostgres" do
373
389
  optional :id, :string, 32768
374
390
  optional :name, :string, 32769
@@ -1266,6 +1282,7 @@ module V1
1266
1282
  AuroraPostgres = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AuroraPostgres").msgclass
1267
1283
  Azure = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Azure").msgclass
1268
1284
  AzureCertificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureCertificate").msgclass
1285
+ AzureMysql = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureMysql").msgclass
1269
1286
  AzurePostgres = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgres").msgclass
1270
1287
  BigQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.BigQuery").msgclass
1271
1288
  Cassandra = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Cassandra").msgclass
data/lib/grpc/nodes_pb.rb CHANGED
@@ -80,6 +80,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
80
80
  optional :state, :string, 3
81
81
  optional :tags, :message, 4, "v1.Tags"
82
82
  optional :gateway_filter, :string, 5
83
+ optional :device, :string, 6
84
+ optional :location, :string, 7
85
+ optional :version, :string, 8
83
86
  end
84
87
  add_message "v1.Gateway" do
85
88
  optional :id, :string, 1
@@ -89,6 +92,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
89
92
  optional :bind_address, :string, 5
90
93
  optional :tags, :message, 6, "v1.Tags"
91
94
  optional :gateway_filter, :string, 7
95
+ optional :device, :string, 8
96
+ optional :location, :string, 9
97
+ optional :version, :string, 10
92
98
  end
93
99
  end
94
100
  end
data/lib/grpc/plumbing.rb CHANGED
@@ -1664,6 +1664,64 @@ module SDM
1664
1664
  end
1665
1665
  items
1666
1666
  end
1667
+ def self.convert_azure_mysql_to_porcelain(plumbing)
1668
+ if plumbing == nil
1669
+ return nil
1670
+ end
1671
+ porcelain = AzureMysql.new()
1672
+ porcelain.bind_interface = (plumbing.bind_interface)
1673
+ porcelain.database = (plumbing.database)
1674
+ porcelain.egress_filter = (plumbing.egress_filter)
1675
+ porcelain.healthy = (plumbing.healthy)
1676
+ porcelain.hostname = (plumbing.hostname)
1677
+ porcelain.id = (plumbing.id)
1678
+ porcelain.name = (plumbing.name)
1679
+ porcelain.password = (plumbing.password)
1680
+ porcelain.port = (plumbing.port)
1681
+ porcelain.port_override = (plumbing.port_override)
1682
+ porcelain.secret_store_id = (plumbing.secret_store_id)
1683
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
1684
+ porcelain.username = (plumbing.username)
1685
+ porcelain
1686
+ end
1687
+
1688
+ def self.convert_azure_mysql_to_plumbing(porcelain)
1689
+ if porcelain == nil
1690
+ return nil
1691
+ end
1692
+ plumbing = V1::AzureMysql.new()
1693
+ plumbing.bind_interface = (porcelain.bind_interface)
1694
+ plumbing.database = (porcelain.database)
1695
+ plumbing.egress_filter = (porcelain.egress_filter)
1696
+ plumbing.healthy = (porcelain.healthy)
1697
+ plumbing.hostname = (porcelain.hostname)
1698
+ plumbing.id = (porcelain.id)
1699
+ plumbing.name = (porcelain.name)
1700
+ plumbing.password = (porcelain.password)
1701
+ plumbing.port = (porcelain.port)
1702
+ plumbing.port_override = (porcelain.port_override)
1703
+ plumbing.secret_store_id = (porcelain.secret_store_id)
1704
+ plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
1705
+ plumbing.username = (porcelain.username)
1706
+ plumbing
1707
+ end
1708
+ def self.convert_repeated_azure_mysql_to_plumbing(porcelains)
1709
+ items = Array.new
1710
+ porcelains.each do |porcelain|
1711
+ plumbing = convert_azure_mysql_to_plumbing(porcelain)
1712
+ items.append(plumbing)
1713
+ end
1714
+ items
1715
+ end
1716
+
1717
+ def self.convert_repeated_azure_mysql_to_porcelain(plumbings)
1718
+ items = Array.new
1719
+ plumbings.each do |plumbing|
1720
+ porcelain = convert_azure_mysql_to_porcelain(plumbing)
1721
+ items.append(porcelain)
1722
+ end
1723
+ items
1724
+ end
1667
1725
  def self.convert_azure_postgres_to_porcelain(plumbing)
1668
1726
  if plumbing == nil
1669
1727
  return nil
@@ -2878,12 +2936,15 @@ module SDM
2878
2936
  end
2879
2937
  porcelain = Gateway.new()
2880
2938
  porcelain.bind_address = (plumbing.bind_address)
2939
+ porcelain.device = (plumbing.device)
2881
2940
  porcelain.gateway_filter = (plumbing.gateway_filter)
2882
2941
  porcelain.id = (plumbing.id)
2883
2942
  porcelain.listen_address = (plumbing.listen_address)
2943
+ porcelain.location = (plumbing.location)
2884
2944
  porcelain.name = (plumbing.name)
2885
2945
  porcelain.state = (plumbing.state)
2886
2946
  porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
2947
+ porcelain.version = (plumbing.version)
2887
2948
  porcelain
2888
2949
  end
2889
2950
 
@@ -2893,12 +2954,15 @@ module SDM
2893
2954
  end
2894
2955
  plumbing = V1::Gateway.new()
2895
2956
  plumbing.bind_address = (porcelain.bind_address)
2957
+ plumbing.device = (porcelain.device)
2896
2958
  plumbing.gateway_filter = (porcelain.gateway_filter)
2897
2959
  plumbing.id = (porcelain.id)
2898
2960
  plumbing.listen_address = (porcelain.listen_address)
2961
+ plumbing.location = (porcelain.location)
2899
2962
  plumbing.name = (porcelain.name)
2900
2963
  plumbing.state = (porcelain.state)
2901
2964
  plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
2965
+ plumbing.version = (porcelain.version)
2902
2966
  plumbing
2903
2967
  end
2904
2968
  def self.convert_repeated_gateway_to_plumbing(porcelains)
@@ -5083,11 +5147,14 @@ module SDM
5083
5147
  return nil
5084
5148
  end
5085
5149
  porcelain = Relay.new()
5150
+ porcelain.device = (plumbing.device)
5086
5151
  porcelain.gateway_filter = (plumbing.gateway_filter)
5087
5152
  porcelain.id = (plumbing.id)
5153
+ porcelain.location = (plumbing.location)
5088
5154
  porcelain.name = (plumbing.name)
5089
5155
  porcelain.state = (plumbing.state)
5090
5156
  porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
5157
+ porcelain.version = (plumbing.version)
5091
5158
  porcelain
5092
5159
  end
5093
5160
 
@@ -5096,11 +5163,14 @@ module SDM
5096
5163
  return nil
5097
5164
  end
5098
5165
  plumbing = V1::Relay.new()
5166
+ plumbing.device = (porcelain.device)
5099
5167
  plumbing.gateway_filter = (porcelain.gateway_filter)
5100
5168
  plumbing.id = (porcelain.id)
5169
+ plumbing.location = (porcelain.location)
5101
5170
  plumbing.name = (porcelain.name)
5102
5171
  plumbing.state = (porcelain.state)
5103
5172
  plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
5173
+ plumbing.version = (porcelain.version)
5104
5174
  plumbing
5105
5175
  end
5106
5176
  def self.convert_repeated_relay_to_plumbing(porcelains)
@@ -5440,6 +5510,9 @@ module SDM
5440
5510
  if porcelain.instance_of? AzureCertificate
5441
5511
  plumbing.azure_certificate = convert_azure_certificate_to_plumbing(porcelain)
5442
5512
  end
5513
+ if porcelain.instance_of? AzureMysql
5514
+ plumbing.azure_mysql = convert_azure_mysql_to_plumbing(porcelain)
5515
+ end
5443
5516
  if porcelain.instance_of? AzurePostgres
5444
5517
  plumbing.azure_postgres = convert_azure_postgres_to_plumbing(porcelain)
5445
5518
  end
@@ -5669,6 +5742,9 @@ module SDM
5669
5742
  if plumbing.azure_certificate != nil
5670
5743
  return convert_azure_certificate_to_porcelain(plumbing.azure_certificate)
5671
5744
  end
5745
+ if plumbing.azure_mysql != nil
5746
+ return convert_azure_mysql_to_porcelain(plumbing.azure_mysql)
5747
+ end
5672
5748
  if plumbing.azure_postgres != nil
5673
5749
  return convert_azure_postgres_to_porcelain(plumbing.azure_postgres)
5674
5750
  end
@@ -6015,6 +6091,7 @@ module SDM
6015
6091
  porcelain = Role.new()
6016
6092
  porcelain.access_rules = convert_access_rules_to_porcelain(plumbing.access_rules)
6017
6093
  porcelain.id = (plumbing.id)
6094
+ porcelain.managed_by = (plumbing.managed_by)
6018
6095
  porcelain.name = (plumbing.name)
6019
6096
  porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
6020
6097
  porcelain
@@ -6027,6 +6104,7 @@ module SDM
6027
6104
  plumbing = V1::Role.new()
6028
6105
  plumbing.access_rules = convert_access_rules_to_plumbing(porcelain.access_rules)
6029
6106
  plumbing.id = (porcelain.id)
6107
+ plumbing.managed_by = (porcelain.managed_by)
6030
6108
  plumbing.name = (porcelain.name)
6031
6109
  plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
6032
6110
  plumbing
@@ -7132,9 +7210,12 @@ module SDM
7132
7210
  end
7133
7211
  porcelain = User.new()
7134
7212
  porcelain.email = (plumbing.email)
7213
+ porcelain.external_id = (plumbing.external_id)
7135
7214
  porcelain.first_name = (plumbing.first_name)
7136
7215
  porcelain.id = (plumbing.id)
7137
7216
  porcelain.last_name = (plumbing.last_name)
7217
+ porcelain.managed_by = (plumbing.managed_by)
7218
+ porcelain.permission_level = (plumbing.permission_level)
7138
7219
  porcelain.suspended = (plumbing.suspended)
7139
7220
  porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
7140
7221
  porcelain
@@ -7146,9 +7227,12 @@ module SDM
7146
7227
  end
7147
7228
  plumbing = V1::User.new()
7148
7229
  plumbing.email = (porcelain.email)
7230
+ plumbing.external_id = (porcelain.external_id)
7149
7231
  plumbing.first_name = (porcelain.first_name)
7150
7232
  plumbing.id = (porcelain.id)
7151
7233
  plumbing.last_name = (porcelain.last_name)
7234
+ plumbing.managed_by = (porcelain.managed_by)
7235
+ plumbing.permission_level = (porcelain.permission_level)
7152
7236
  plumbing.suspended = (porcelain.suspended)
7153
7237
  plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
7154
7238
  plumbing
data/lib/grpc/roles_pb.rb CHANGED
@@ -70,8 +70,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
70
70
  add_message "v1.Role" do
71
71
  optional :id, :string, 1
72
72
  optional :name, :string, 2
73
- optional :access_rules, :string, 5
74
73
  optional :tags, :message, 4, "v1.Tags"
74
+ optional :access_rules, :string, 5
75
+ optional :managed_by, :string, 6
75
76
  end
76
77
  end
77
78
  end
@@ -1578,6 +1578,74 @@ module SDM
1578
1578
  end
1579
1579
  end
1580
1580
 
1581
+ # AzureMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
1582
+ class AzureMysql
1583
+ # Bind interface
1584
+ attr_accessor :bind_interface
1585
+
1586
+ attr_accessor :database
1587
+ # A filter applied to the routing logic to pin datasource to nodes.
1588
+ attr_accessor :egress_filter
1589
+ # True if the datasource is reachable and the credentials are valid.
1590
+ attr_accessor :healthy
1591
+
1592
+ attr_accessor :hostname
1593
+ # Unique identifier of the Resource.
1594
+ attr_accessor :id
1595
+ # Unique human-readable name of the Resource.
1596
+ attr_accessor :name
1597
+
1598
+ attr_accessor :password
1599
+
1600
+ attr_accessor :port
1601
+
1602
+ attr_accessor :port_override
1603
+ # ID of the secret store containing credentials for this resource, if any.
1604
+ attr_accessor :secret_store_id
1605
+ # Tags is a map of key, value pairs.
1606
+ attr_accessor :tags
1607
+
1608
+ attr_accessor :username
1609
+
1610
+ def initialize(
1611
+ bind_interface: nil,
1612
+ database: nil,
1613
+ egress_filter: nil,
1614
+ healthy: nil,
1615
+ hostname: nil,
1616
+ id: nil,
1617
+ name: nil,
1618
+ password: nil,
1619
+ port: nil,
1620
+ port_override: nil,
1621
+ secret_store_id: nil,
1622
+ tags: nil,
1623
+ username: nil
1624
+ )
1625
+ @bind_interface = bind_interface == nil ? "" : bind_interface
1626
+ @database = database == nil ? "" : database
1627
+ @egress_filter = egress_filter == nil ? "" : egress_filter
1628
+ @healthy = healthy == nil ? false : healthy
1629
+ @hostname = hostname == nil ? "" : hostname
1630
+ @id = id == nil ? "" : id
1631
+ @name = name == nil ? "" : name
1632
+ @password = password == nil ? "" : password
1633
+ @port = port == nil ? 0 : port
1634
+ @port_override = port_override == nil ? 0 : port_override
1635
+ @secret_store_id = secret_store_id == nil ? "" : secret_store_id
1636
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
1637
+ @username = username == nil ? "" : username
1638
+ end
1639
+
1640
+ def to_json(options = {})
1641
+ hash = {}
1642
+ self.instance_variables.each do |var|
1643
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1644
+ end
1645
+ hash.to_json
1646
+ end
1647
+ end
1648
+
1581
1649
  class AzurePostgres
1582
1650
  # Bind interface
1583
1651
  attr_accessor :bind_interface
@@ -2823,6 +2891,9 @@ module SDM
2823
2891
  # The hostname/port tuple which the gateway daemon will bind to.
2824
2892
  # If not provided on create, set to "0.0.0.0:listen_address_port".
2825
2893
  attr_accessor :bind_address
2894
+ # Device is a read only device name uploaded by the gateway process when
2895
+ # it comes online.
2896
+ attr_accessor :device
2826
2897
  # GatewayFilter can be used to restrict the peering between relays and
2827
2898
  # gateways.
2828
2899
  attr_accessor :gateway_filter
@@ -2830,6 +2901,9 @@ module SDM
2830
2901
  attr_accessor :id
2831
2902
  # The public hostname/port tuple at which the gateway will be accessible to clients.
2832
2903
  attr_accessor :listen_address
2904
+ # Location is a read only network location uploaded by the gateway process
2905
+ # when it comes online.
2906
+ attr_accessor :location
2833
2907
  # Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
2834
2908
  attr_accessor :name
2835
2909
  # The current state of the gateway. One of: "new", "verifying_restart",
@@ -2837,23 +2911,32 @@ module SDM
2837
2911
  attr_accessor :state
2838
2912
  # Tags is a map of key, value pairs.
2839
2913
  attr_accessor :tags
2914
+ # Version is a read only sdm binary version uploaded by the gateway process
2915
+ # when it comes online.
2916
+ attr_accessor :version
2840
2917
 
2841
2918
  def initialize(
2842
2919
  bind_address: nil,
2920
+ device: nil,
2843
2921
  gateway_filter: nil,
2844
2922
  id: nil,
2845
2923
  listen_address: nil,
2924
+ location: nil,
2846
2925
  name: nil,
2847
2926
  state: nil,
2848
- tags: nil
2927
+ tags: nil,
2928
+ version: nil
2849
2929
  )
2850
2930
  @bind_address = bind_address == nil ? "" : bind_address
2931
+ @device = device == nil ? "" : device
2851
2932
  @gateway_filter = gateway_filter == nil ? "" : gateway_filter
2852
2933
  @id = id == nil ? "" : id
2853
2934
  @listen_address = listen_address == nil ? "" : listen_address
2935
+ @location = location == nil ? "" : location
2854
2936
  @name = name == nil ? "" : name
2855
2937
  @state = state == nil ? "" : state
2856
2938
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
2939
+ @version = version == nil ? "" : version
2857
2940
  end
2858
2941
 
2859
2942
  def to_json(options = {})
@@ -5247,11 +5330,17 @@ module SDM
5247
5330
 
5248
5331
  # Relay represents a StrongDM CLI installation running in relay mode.
5249
5332
  class Relay
5333
+ # Device is a read only device name uploaded by the gateway process when
5334
+ # it comes online.
5335
+ attr_accessor :device
5250
5336
  # GatewayFilter can be used to restrict the peering between relays and
5251
5337
  # gateways.
5252
5338
  attr_accessor :gateway_filter
5253
5339
  # Unique identifier of the Relay.
5254
5340
  attr_accessor :id
5341
+ # Location is a read only network location uploaded by the gateway process
5342
+ # when it comes online.
5343
+ attr_accessor :location
5255
5344
  # Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
5256
5345
  attr_accessor :name
5257
5346
  # The current state of the relay. One of: "new", "verifying_restart",
@@ -5260,19 +5349,28 @@ module SDM
5260
5349
  attr_accessor :state
5261
5350
  # Tags is a map of key, value pairs.
5262
5351
  attr_accessor :tags
5352
+ # Version is a read only sdm binary version uploaded by the gateway process
5353
+ # when it comes online.
5354
+ attr_accessor :version
5263
5355
 
5264
5356
  def initialize(
5357
+ device: nil,
5265
5358
  gateway_filter: nil,
5266
5359
  id: nil,
5360
+ location: nil,
5267
5361
  name: nil,
5268
5362
  state: nil,
5269
- tags: nil
5363
+ tags: nil,
5364
+ version: nil
5270
5365
  )
5366
+ @device = device == nil ? "" : device
5271
5367
  @gateway_filter = gateway_filter == nil ? "" : gateway_filter
5272
5368
  @id = id == nil ? "" : id
5369
+ @location = location == nil ? "" : location
5273
5370
  @name = name == nil ? "" : name
5274
5371
  @state = state == nil ? "" : state
5275
5372
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
5373
+ @version = version == nil ? "" : version
5276
5374
  end
5277
5375
 
5278
5376
  def to_json(options = {})
@@ -5595,6 +5693,8 @@ module SDM
5595
5693
  attr_accessor :access_rules
5596
5694
  # Unique identifier of the Role.
5597
5695
  attr_accessor :id
5696
+ # Managed By is a read only field for what service manages this role, e.g. StrongDM, Okta, Azure.
5697
+ attr_accessor :managed_by
5598
5698
  # Unique human-readable name of the Role.
5599
5699
  attr_accessor :name
5600
5700
  # Tags is a map of key, value pairs.
@@ -5603,11 +5703,13 @@ module SDM
5603
5703
  def initialize(
5604
5704
  access_rules: nil,
5605
5705
  id: nil,
5706
+ managed_by: nil,
5606
5707
  name: nil,
5607
5708
  tags: nil
5608
5709
  )
5609
5710
  @access_rules = access_rules == nil ? SDM::_porcelain_zero_value_access_rules() : access_rules
5610
5711
  @id = id == nil ? "" : id
5712
+ @managed_by = managed_by == nil ? "" : managed_by
5611
5713
  @name = name == nil ? "" : name
5612
5714
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
5613
5715
  end
@@ -6594,12 +6696,18 @@ module SDM
6594
6696
  class User
6595
6697
  # The User's email address. Must be unique.
6596
6698
  attr_accessor :email
6699
+ # External ID is an alternative unique ID this user is represented by within an external service.
6700
+ attr_accessor :external_id
6597
6701
  # The User's first name.
6598
6702
  attr_accessor :first_name
6599
6703
  # Unique identifier of the User.
6600
6704
  attr_accessor :id
6601
6705
  # The User's last name.
6602
6706
  attr_accessor :last_name
6707
+ # Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.
6708
+ attr_accessor :managed_by
6709
+ # PermissionLevel is a read only field for the user's permission level e.g. admin, DBA, user.
6710
+ attr_accessor :permission_level
6603
6711
  # The User's suspended state.
6604
6712
  attr_accessor :suspended
6605
6713
  # Tags is a map of key, value pairs.
@@ -6607,16 +6715,22 @@ module SDM
6607
6715
 
6608
6716
  def initialize(
6609
6717
  email: nil,
6718
+ external_id: nil,
6610
6719
  first_name: nil,
6611
6720
  id: nil,
6612
6721
  last_name: nil,
6722
+ managed_by: nil,
6723
+ permission_level: nil,
6613
6724
  suspended: nil,
6614
6725
  tags: nil
6615
6726
  )
6616
6727
  @email = email == nil ? "" : email
6728
+ @external_id = external_id == nil ? "" : external_id
6617
6729
  @first_name = first_name == nil ? "" : first_name
6618
6730
  @id = id == nil ? "" : id
6619
6731
  @last_name = last_name == nil ? "" : last_name
6732
+ @managed_by = managed_by == nil ? "" : managed_by
6733
+ @permission_level = permission_level == nil ? "" : permission_level
6620
6734
  @suspended = suspended == nil ? false : suspended
6621
6735
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
6622
6736
  end
data/lib/strongdm.rb CHANGED
@@ -17,6 +17,7 @@
17
17
 
18
18
  require_relative "./svc"
19
19
  require "base64"
20
+ require "grpc"
20
21
  require "openssl"
21
22
  require "time"
22
23
 
@@ -28,7 +29,7 @@ module SDM #:nodoc:
28
29
  DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
29
30
  DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
30
31
  API_VERSION = "2021-08-23"
31
- USER_AGENT = "strongdm-sdk-ruby/3.3.1"
32
+ USER_AGENT = "strongdm-sdk-ruby/3.5.0"
32
33
  private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
33
34
 
34
35
  # Creates a new strongDM API client.
@@ -42,19 +43,38 @@ module SDM #:nodoc:
42
43
  @base_retry_delay = DEFAULT_BASE_RETRY_DELAY
43
44
  @max_retry_delay = DEFAULT_MAX_RETRY_DELAY
44
45
  @expose_rate_limit_errors = (not retry_rate_limit_errors)
45
- @account_attachments = AccountAttachments.new(host, insecure, self)
46
- @account_grants = AccountGrants.new(host, insecure, self)
47
- @accounts = Accounts.new(host, insecure, self)
48
- @control_panel = ControlPanel.new(host, insecure, self)
49
- @nodes = Nodes.new(host, insecure, self)
50
- @remote_identities = RemoteIdentities.new(host, insecure, self)
51
- @remote_identity_groups = RemoteIdentityGroups.new(host, insecure, self)
52
- @resources = Resources.new(host, insecure, self)
53
- @roles = Roles.new(host, insecure, self)
54
- @secret_stores = SecretStores.new(host, insecure, self)
46
+ begin
47
+ if insecure
48
+ @channel = GRPC::Core::Channel.new(host, {}, :this_channel_is_insecure)
49
+ else
50
+ cred = GRPC::Core::ChannelCredentials.new()
51
+ @channel = GRPC::Core::Channel.new(host, {}, cred)
52
+ end
53
+ rescue => exception
54
+ raise Plumbing::convert_error_to_porcelain(exception)
55
+ end
56
+ @account_attachments = AccountAttachments.new(@channel, self)
57
+ @account_grants = AccountGrants.new(@channel, self)
58
+ @accounts = Accounts.new(@channel, self)
59
+ @control_panel = ControlPanel.new(@channel, self)
60
+ @nodes = Nodes.new(@channel, self)
61
+ @remote_identities = RemoteIdentities.new(@channel, self)
62
+ @remote_identity_groups = RemoteIdentityGroups.new(@channel, self)
63
+ @resources = Resources.new(@channel, self)
64
+ @roles = Roles.new(@channel, self)
65
+ @secret_stores = SecretStores.new(@channel, self)
55
66
  @_test_options = Hash.new
56
67
  end
57
68
 
69
+ # Closes this client and releases all resources held by it.
70
+ def close
71
+ begin
72
+ @channel.close()
73
+ rescue => exception
74
+ raise Plumbing::convert_error_to_porcelain(exception)
75
+ end
76
+ end
77
+
58
78
  # @private
59
79
  def get_metadata(method_name, req)
60
80
  return {
@@ -96,6 +116,10 @@ module SDM #:nodoc:
96
116
  if (iter >= @max_retries - 1)
97
117
  return false
98
118
  end
119
+ # The grpc library unfortunately does not raise a more specific error class.
120
+ if err.is_a? RuntimeError and err.message == "closed!"
121
+ return false
122
+ end
99
123
  if not err.is_a? GRPC::BadStatus
100
124
  return true
101
125
  end
data/lib/svc.rb CHANGED
@@ -30,14 +30,9 @@ module SDM #:nodoc:
30
30
  class AccountAttachments
31
31
  extend Gem::Deprecate
32
32
 
33
- def initialize(host, insecure, parent)
33
+ def initialize(channel, parent)
34
34
  begin
35
- if insecure
36
- @stub = V1::AccountAttachments::Stub.new(host, :this_channel_is_insecure)
37
- else
38
- cred = GRPC::Core::ChannelCredentials.new()
39
- @stub = V1::AccountAttachments::Stub.new(host, cred)
40
- end
35
+ @stub = V1::AccountAttachments::Stub.new(nil, nil, channel_override: channel)
41
36
  rescue => exception
42
37
  raise Plumbing::convert_error_to_porcelain(exception)
43
38
  end
@@ -177,14 +172,9 @@ module SDM #:nodoc:
177
172
  class AccountGrants
178
173
  extend Gem::Deprecate
179
174
 
180
- def initialize(host, insecure, parent)
175
+ def initialize(channel, parent)
181
176
  begin
182
- if insecure
183
- @stub = V1::AccountGrants::Stub.new(host, :this_channel_is_insecure)
184
- else
185
- cred = GRPC::Core::ChannelCredentials.new()
186
- @stub = V1::AccountGrants::Stub.new(host, cred)
187
- end
177
+ @stub = V1::AccountGrants::Stub.new(nil, nil, channel_override: channel)
188
178
  rescue => exception
189
179
  raise Plumbing::convert_error_to_porcelain(exception)
190
180
  end
@@ -328,14 +318,9 @@ module SDM #:nodoc:
328
318
  class Accounts
329
319
  extend Gem::Deprecate
330
320
 
331
- def initialize(host, insecure, parent)
321
+ def initialize(channel, parent)
332
322
  begin
333
- if insecure
334
- @stub = V1::Accounts::Stub.new(host, :this_channel_is_insecure)
335
- else
336
- cred = GRPC::Core::ChannelCredentials.new()
337
- @stub = V1::Accounts::Stub.new(host, cred)
338
- end
323
+ @stub = V1::Accounts::Stub.new(nil, nil, channel_override: channel)
339
324
  rescue => exception
340
325
  raise Plumbing::convert_error_to_porcelain(exception)
341
326
  end
@@ -504,14 +489,9 @@ module SDM #:nodoc:
504
489
  class ControlPanel
505
490
  extend Gem::Deprecate
506
491
 
507
- def initialize(host, insecure, parent)
492
+ def initialize(channel, parent)
508
493
  begin
509
- if insecure
510
- @stub = V1::ControlPanel::Stub.new(host, :this_channel_is_insecure)
511
- else
512
- cred = GRPC::Core::ChannelCredentials.new()
513
- @stub = V1::ControlPanel::Stub.new(host, cred)
514
- end
494
+ @stub = V1::ControlPanel::Stub.new(nil, nil, channel_override: channel)
515
495
  rescue => exception
516
496
  raise Plumbing::convert_error_to_porcelain(exception)
517
497
  end
@@ -587,14 +567,9 @@ module SDM #:nodoc:
587
567
  class Nodes
588
568
  extend Gem::Deprecate
589
569
 
590
- def initialize(host, insecure, parent)
570
+ def initialize(channel, parent)
591
571
  begin
592
- if insecure
593
- @stub = V1::Nodes::Stub.new(host, :this_channel_is_insecure)
594
- else
595
- cred = GRPC::Core::ChannelCredentials.new()
596
- @stub = V1::Nodes::Stub.new(host, cred)
597
- end
572
+ @stub = V1::Nodes::Stub.new(nil, nil, channel_override: channel)
598
573
  rescue => exception
599
574
  raise Plumbing::convert_error_to_porcelain(exception)
600
575
  end
@@ -765,14 +740,9 @@ module SDM #:nodoc:
765
740
  class RemoteIdentities
766
741
  extend Gem::Deprecate
767
742
 
768
- def initialize(host, insecure, parent)
743
+ def initialize(channel, parent)
769
744
  begin
770
- if insecure
771
- @stub = V1::RemoteIdentities::Stub.new(host, :this_channel_is_insecure)
772
- else
773
- cred = GRPC::Core::ChannelCredentials.new()
774
- @stub = V1::RemoteIdentities::Stub.new(host, cred)
775
- end
745
+ @stub = V1::RemoteIdentities::Stub.new(nil, nil, channel_override: channel)
776
746
  rescue => exception
777
747
  raise Plumbing::convert_error_to_porcelain(exception)
778
748
  end
@@ -943,14 +913,9 @@ module SDM #:nodoc:
943
913
  class RemoteIdentityGroups
944
914
  extend Gem::Deprecate
945
915
 
946
- def initialize(host, insecure, parent)
916
+ def initialize(channel, parent)
947
917
  begin
948
- if insecure
949
- @stub = V1::RemoteIdentityGroups::Stub.new(host, :this_channel_is_insecure)
950
- else
951
- cred = GRPC::Core::ChannelCredentials.new()
952
- @stub = V1::RemoteIdentityGroups::Stub.new(host, cred)
953
- end
918
+ @stub = V1::RemoteIdentityGroups::Stub.new(nil, nil, channel_override: channel)
954
919
  rescue => exception
955
920
  raise Plumbing::convert_error_to_porcelain(exception)
956
921
  end
@@ -1046,6 +1011,7 @@ module SDM #:nodoc:
1046
1011
  # {AWSConsoleStaticKeyPair}
1047
1012
  # {Azure}
1048
1013
  # {AzureCertificate}
1014
+ # {AzureMysql}
1049
1015
  # {AzurePostgres}
1050
1016
  # {BigQuery}
1051
1017
  # {Cassandra}
@@ -1106,14 +1072,9 @@ module SDM #:nodoc:
1106
1072
  class Resources
1107
1073
  extend Gem::Deprecate
1108
1074
 
1109
- def initialize(host, insecure, parent)
1075
+ def initialize(channel, parent)
1110
1076
  begin
1111
- if insecure
1112
- @stub = V1::Resources::Stub.new(host, :this_channel_is_insecure)
1113
- else
1114
- cred = GRPC::Core::ChannelCredentials.new()
1115
- @stub = V1::Resources::Stub.new(host, cred)
1116
- end
1077
+ @stub = V1::Resources::Stub.new(nil, nil, channel_override: channel)
1117
1078
  rescue => exception
1118
1079
  raise Plumbing::convert_error_to_porcelain(exception)
1119
1080
  end
@@ -1322,14 +1283,9 @@ module SDM #:nodoc:
1322
1283
  class Roles
1323
1284
  extend Gem::Deprecate
1324
1285
 
1325
- def initialize(host, insecure, parent)
1286
+ def initialize(channel, parent)
1326
1287
  begin
1327
- if insecure
1328
- @stub = V1::Roles::Stub.new(host, :this_channel_is_insecure)
1329
- else
1330
- cred = GRPC::Core::ChannelCredentials.new()
1331
- @stub = V1::Roles::Stub.new(host, cred)
1332
- end
1288
+ @stub = V1::Roles::Stub.new(nil, nil, channel_override: channel)
1333
1289
  rescue => exception
1334
1290
  raise Plumbing::convert_error_to_porcelain(exception)
1335
1291
  end
@@ -1508,14 +1464,9 @@ module SDM #:nodoc:
1508
1464
  class SecretStores
1509
1465
  extend Gem::Deprecate
1510
1466
 
1511
- def initialize(host, insecure, parent)
1467
+ def initialize(channel, parent)
1512
1468
  begin
1513
- if insecure
1514
- @stub = V1::SecretStores::Stub.new(host, :this_channel_is_insecure)
1515
- else
1516
- cred = GRPC::Core::ChannelCredentials.new()
1517
- @stub = V1::SecretStores::Stub.new(host, cred)
1518
- end
1469
+ @stub = V1::SecretStores::Stub.new(nil, nil, channel_override: channel)
1519
1470
  rescue => exception
1520
1471
  raise Plumbing::convert_error_to_porcelain(exception)
1521
1472
  end
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "3.3.1"
16
+ VERSION = "3.5.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 = "3.3.1"
16
+ VERSION = "3.5.0"
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: 3.3.1
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-03 00:00:00.000000000 Z
11
+ date: 2022-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -79,8 +79,8 @@ files:
79
79
  - "./.git/logs/HEAD"
80
80
  - "./.git/logs/refs/heads/master"
81
81
  - "./.git/logs/refs/remotes/origin/HEAD"
82
- - "./.git/objects/pack/pack-ea0ccd24d2f4c50435ea82bed4bbdc59a80f8c50.idx"
83
- - "./.git/objects/pack/pack-ea0ccd24d2f4c50435ea82bed4bbdc59a80f8c50.pack"
82
+ - "./.git/objects/pack/pack-22bf2ffc59ed62c6a1cc735d89f3fcbc93552690.idx"
83
+ - "./.git/objects/pack/pack-22bf2ffc59ed62c6a1cc735d89f3fcbc93552690.pack"
84
84
  - "./.git/packed-refs"
85
85
  - "./.git/refs/heads/master"
86
86
  - "./.git/refs/remotes/origin/HEAD"
@@ -139,8 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  - !ruby/object:Gem::Version
140
140
  version: 1.3.6
141
141
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.7.6
142
+ rubygems_version: 3.0.8
144
143
  signing_key:
145
144
  specification_version: 4
146
145
  summary: strongDM SDK for the Ruby programming language.