strongdm 4.1.0 → 4.2.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.
@@ -6036,6 +6036,435 @@ module SDM
6036
6036
  end
6037
6037
  end
6038
6038
 
6039
+ # PeeringGroups are the building blocks used for explicit network topology making.
6040
+ # They may be linked to other peering groups. Sets of PeeringGroupResource and PeeringGroupNode can be attached to a peering group.
6041
+ class PeeringGroup
6042
+ # Unique identifier of the PeeringGroup.
6043
+ attr_accessor :id
6044
+ # Unique human-readable name of the PeeringGroup.
6045
+ attr_accessor :name
6046
+
6047
+ def initialize(
6048
+ id: nil,
6049
+ name: nil
6050
+ )
6051
+ @id = id == nil ? "" : id
6052
+ @name = name == nil ? "" : name
6053
+ end
6054
+
6055
+ def to_json(options = {})
6056
+ hash = {}
6057
+ self.instance_variables.each do |var|
6058
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6059
+ end
6060
+ hash.to_json
6061
+ end
6062
+ end
6063
+
6064
+ # PeeringGroupCreateResponse reports how the PeeringGroup was created in the system.
6065
+ class PeeringGroupCreateResponse
6066
+ # Reserved for future use.
6067
+ attr_accessor :meta
6068
+ # The created PeeringGroup.
6069
+ attr_accessor :peering_group
6070
+ # Rate limit information.
6071
+ attr_accessor :rate_limit
6072
+
6073
+ def initialize(
6074
+ meta: nil,
6075
+ peering_group: nil,
6076
+ rate_limit: nil
6077
+ )
6078
+ @meta = meta == nil ? nil : meta
6079
+ @peering_group = peering_group == nil ? nil : peering_group
6080
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6081
+ end
6082
+
6083
+ def to_json(options = {})
6084
+ hash = {}
6085
+ self.instance_variables.each do |var|
6086
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6087
+ end
6088
+ hash.to_json
6089
+ end
6090
+ end
6091
+
6092
+ # PeeringGroupDeleteResponse returns information about a PeeringGroup that was deleted.
6093
+ class PeeringGroupDeleteResponse
6094
+ # Reserved for future use.
6095
+ attr_accessor :meta
6096
+ # Rate limit information.
6097
+ attr_accessor :rate_limit
6098
+
6099
+ def initialize(
6100
+ meta: nil,
6101
+ rate_limit: nil
6102
+ )
6103
+ @meta = meta == nil ? nil : meta
6104
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6105
+ end
6106
+
6107
+ def to_json(options = {})
6108
+ hash = {}
6109
+ self.instance_variables.each do |var|
6110
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6111
+ end
6112
+ hash.to_json
6113
+ end
6114
+ end
6115
+
6116
+ # PeeringGroupGetResponse returns a requested PeeringGroup.
6117
+ class PeeringGroupGetResponse
6118
+ # Reserved for future use.
6119
+ attr_accessor :meta
6120
+ # The requested PeeringGroup.
6121
+ attr_accessor :peering_group
6122
+ # Rate limit information.
6123
+ attr_accessor :rate_limit
6124
+
6125
+ def initialize(
6126
+ meta: nil,
6127
+ peering_group: nil,
6128
+ rate_limit: nil
6129
+ )
6130
+ @meta = meta == nil ? nil : meta
6131
+ @peering_group = peering_group == nil ? nil : peering_group
6132
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6133
+ end
6134
+
6135
+ def to_json(options = {})
6136
+ hash = {}
6137
+ self.instance_variables.each do |var|
6138
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6139
+ end
6140
+ hash.to_json
6141
+ end
6142
+ end
6143
+
6144
+ # PeeringGroupNode represents the attachment between a PeeringGroup and a Node.
6145
+ class PeeringGroupNode
6146
+ # Peering Group ID to which the node will be attached to.
6147
+ attr_accessor :group_id
6148
+ # Unique identifier of the Attachment.
6149
+ attr_accessor :id
6150
+ # Node ID to be attached.
6151
+ attr_accessor :node_id
6152
+
6153
+ def initialize(
6154
+ group_id: nil,
6155
+ id: nil,
6156
+ node_id: nil
6157
+ )
6158
+ @group_id = group_id == nil ? "" : group_id
6159
+ @id = id == nil ? "" : id
6160
+ @node_id = node_id == nil ? "" : node_id
6161
+ end
6162
+
6163
+ def to_json(options = {})
6164
+ hash = {}
6165
+ self.instance_variables.each do |var|
6166
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6167
+ end
6168
+ hash.to_json
6169
+ end
6170
+ end
6171
+
6172
+ # PeeringGroupNodeCreateResponse reports how the PeeringGroupNode was created in the system.
6173
+ class PeeringGroupNodeCreateResponse
6174
+ # Reserved for future use.
6175
+ attr_accessor :meta
6176
+ # The created PeeringGroupNode.
6177
+ attr_accessor :peering_group_node
6178
+ # Rate limit information.
6179
+ attr_accessor :rate_limit
6180
+
6181
+ def initialize(
6182
+ meta: nil,
6183
+ peering_group_node: nil,
6184
+ rate_limit: nil
6185
+ )
6186
+ @meta = meta == nil ? nil : meta
6187
+ @peering_group_node = peering_group_node == nil ? nil : peering_group_node
6188
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6189
+ end
6190
+
6191
+ def to_json(options = {})
6192
+ hash = {}
6193
+ self.instance_variables.each do |var|
6194
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6195
+ end
6196
+ hash.to_json
6197
+ end
6198
+ end
6199
+
6200
+ # PeeringGroupNodeDeleteResponse returns information about a PeeringGroupNode that was deleted.
6201
+ class PeeringGroupNodeDeleteResponse
6202
+ # Reserved for future use.
6203
+ attr_accessor :meta
6204
+ # Rate limit information.
6205
+ attr_accessor :rate_limit
6206
+
6207
+ def initialize(
6208
+ meta: nil,
6209
+ rate_limit: nil
6210
+ )
6211
+ @meta = meta == nil ? nil : meta
6212
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6213
+ end
6214
+
6215
+ def to_json(options = {})
6216
+ hash = {}
6217
+ self.instance_variables.each do |var|
6218
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6219
+ end
6220
+ hash.to_json
6221
+ end
6222
+ end
6223
+
6224
+ # PeeringGroupNodeGetResponse returns a requested PeeringGroupNode.
6225
+ class PeeringGroupNodeGetResponse
6226
+ # Reserved for future use.
6227
+ attr_accessor :meta
6228
+ # The requested PeeringGroupNode.
6229
+ attr_accessor :peering_group_node
6230
+ # Rate limit information.
6231
+ attr_accessor :rate_limit
6232
+
6233
+ def initialize(
6234
+ meta: nil,
6235
+ peering_group_node: nil,
6236
+ rate_limit: nil
6237
+ )
6238
+ @meta = meta == nil ? nil : meta
6239
+ @peering_group_node = peering_group_node == nil ? nil : peering_group_node
6240
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6241
+ end
6242
+
6243
+ def to_json(options = {})
6244
+ hash = {}
6245
+ self.instance_variables.each do |var|
6246
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6247
+ end
6248
+ hash.to_json
6249
+ end
6250
+ end
6251
+
6252
+ # PeeringGroupPeer represents the link between two PeeringGroups
6253
+ class PeeringGroupPeer
6254
+ # Group ID from which the link will originate.
6255
+ attr_accessor :group_id
6256
+ # Unique identifier of the Attachment.
6257
+ attr_accessor :id
6258
+ # Peering Group ID to which Group ID will link.
6259
+ attr_accessor :peers_with_group_id
6260
+
6261
+ def initialize(
6262
+ group_id: nil,
6263
+ id: nil,
6264
+ peers_with_group_id: nil
6265
+ )
6266
+ @group_id = group_id == nil ? "" : group_id
6267
+ @id = id == nil ? "" : id
6268
+ @peers_with_group_id = peers_with_group_id == nil ? "" : peers_with_group_id
6269
+ end
6270
+
6271
+ def to_json(options = {})
6272
+ hash = {}
6273
+ self.instance_variables.each do |var|
6274
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6275
+ end
6276
+ hash.to_json
6277
+ end
6278
+ end
6279
+
6280
+ # PeeringGroupPeerCreateResponse reports how the PeeringGroupPeer was created in the system.
6281
+ class PeeringGroupPeerCreateResponse
6282
+ # Reserved for future use.
6283
+ attr_accessor :meta
6284
+ # The created PeeringGroupPeer.
6285
+ attr_accessor :peering_group_peer
6286
+ # Rate limit information.
6287
+ attr_accessor :rate_limit
6288
+
6289
+ def initialize(
6290
+ meta: nil,
6291
+ peering_group_peer: nil,
6292
+ rate_limit: nil
6293
+ )
6294
+ @meta = meta == nil ? nil : meta
6295
+ @peering_group_peer = peering_group_peer == nil ? nil : peering_group_peer
6296
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6297
+ end
6298
+
6299
+ def to_json(options = {})
6300
+ hash = {}
6301
+ self.instance_variables.each do |var|
6302
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6303
+ end
6304
+ hash.to_json
6305
+ end
6306
+ end
6307
+
6308
+ # PeeringGroupPeerDeleteResponse returns information about a PeeringGroupPeer that was deleted.
6309
+ class PeeringGroupPeerDeleteResponse
6310
+ # Reserved for future use.
6311
+ attr_accessor :meta
6312
+ # Rate limit information.
6313
+ attr_accessor :rate_limit
6314
+
6315
+ def initialize(
6316
+ meta: nil,
6317
+ rate_limit: nil
6318
+ )
6319
+ @meta = meta == nil ? nil : meta
6320
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6321
+ end
6322
+
6323
+ def to_json(options = {})
6324
+ hash = {}
6325
+ self.instance_variables.each do |var|
6326
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6327
+ end
6328
+ hash.to_json
6329
+ end
6330
+ end
6331
+
6332
+ # PeeringGroupPeerGetResponse returns a requested PeeringGroupPeer.
6333
+ class PeeringGroupPeerGetResponse
6334
+ # Reserved for future use.
6335
+ attr_accessor :meta
6336
+ # The requested PeeringGroupPeer.
6337
+ attr_accessor :peering_group_peer
6338
+ # Rate limit information.
6339
+ attr_accessor :rate_limit
6340
+
6341
+ def initialize(
6342
+ meta: nil,
6343
+ peering_group_peer: nil,
6344
+ rate_limit: nil
6345
+ )
6346
+ @meta = meta == nil ? nil : meta
6347
+ @peering_group_peer = peering_group_peer == nil ? nil : peering_group_peer
6348
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6349
+ end
6350
+
6351
+ def to_json(options = {})
6352
+ hash = {}
6353
+ self.instance_variables.each do |var|
6354
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6355
+ end
6356
+ hash.to_json
6357
+ end
6358
+ end
6359
+
6360
+ # PeeringGroupResource represents the attachment between a PeeringGroup and a Resource.
6361
+ class PeeringGroupResource
6362
+ # Peering Group ID to which the resource will be attached to.
6363
+ attr_accessor :group_id
6364
+ # Unique identifier of the Attachment.
6365
+ attr_accessor :id
6366
+ # Resource ID to be attached.
6367
+ attr_accessor :resource_id
6368
+
6369
+ def initialize(
6370
+ group_id: nil,
6371
+ id: nil,
6372
+ resource_id: nil
6373
+ )
6374
+ @group_id = group_id == nil ? "" : group_id
6375
+ @id = id == nil ? "" : id
6376
+ @resource_id = resource_id == nil ? "" : resource_id
6377
+ end
6378
+
6379
+ def to_json(options = {})
6380
+ hash = {}
6381
+ self.instance_variables.each do |var|
6382
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6383
+ end
6384
+ hash.to_json
6385
+ end
6386
+ end
6387
+
6388
+ # PeeringGroupResourceCreateResponse reports how the attachment was created in the system.
6389
+ class PeeringGroupResourceCreateResponse
6390
+ # Reserved for future use.
6391
+ attr_accessor :meta
6392
+ # The created PeeringGroupResource.
6393
+ attr_accessor :peering_group_resource
6394
+ # Rate limit information.
6395
+ attr_accessor :rate_limit
6396
+
6397
+ def initialize(
6398
+ meta: nil,
6399
+ peering_group_resource: nil,
6400
+ rate_limit: nil
6401
+ )
6402
+ @meta = meta == nil ? nil : meta
6403
+ @peering_group_resource = peering_group_resource == nil ? nil : peering_group_resource
6404
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6405
+ end
6406
+
6407
+ def to_json(options = {})
6408
+ hash = {}
6409
+ self.instance_variables.each do |var|
6410
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6411
+ end
6412
+ hash.to_json
6413
+ end
6414
+ end
6415
+
6416
+ # PeeringGroupResourceDeleteResponse returns information about a PeeringGroupResource that was deleted.
6417
+ class PeeringGroupResourceDeleteResponse
6418
+ # Reserved for future use.
6419
+ attr_accessor :meta
6420
+ # Rate limit information.
6421
+ attr_accessor :rate_limit
6422
+
6423
+ def initialize(
6424
+ meta: nil,
6425
+ rate_limit: nil
6426
+ )
6427
+ @meta = meta == nil ? nil : meta
6428
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6429
+ end
6430
+
6431
+ def to_json(options = {})
6432
+ hash = {}
6433
+ self.instance_variables.each do |var|
6434
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6435
+ end
6436
+ hash.to_json
6437
+ end
6438
+ end
6439
+
6440
+ # PeeringGroupResourceGetResponse returns a requested PeeringGroupResource.
6441
+ class PeeringGroupResourceGetResponse
6442
+ # Reserved for future use.
6443
+ attr_accessor :meta
6444
+ # The requested PeeringGroupResource.
6445
+ attr_accessor :peering_group_resource
6446
+ # Rate limit information.
6447
+ attr_accessor :rate_limit
6448
+
6449
+ def initialize(
6450
+ meta: nil,
6451
+ peering_group_resource: nil,
6452
+ rate_limit: nil
6453
+ )
6454
+ @meta = meta == nil ? nil : meta
6455
+ @peering_group_resource = peering_group_resource == nil ? nil : peering_group_resource
6456
+ @rate_limit = rate_limit == nil ? nil : rate_limit
6457
+ end
6458
+
6459
+ def to_json(options = {})
6460
+ hash = {}
6461
+ self.instance_variables.each do |var|
6462
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
6463
+ end
6464
+ hash.to_json
6465
+ end
6466
+ end
6467
+
6039
6468
  class Postgres
6040
6469
  # 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.
6041
6470
  attr_accessor :bind_interface
data/lib/strongdm.rb CHANGED
@@ -29,7 +29,7 @@ module SDM #:nodoc:
29
29
  DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
30
30
  DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
31
31
  API_VERSION = "2021-08-23"
32
- USER_AGENT = "strongdm-sdk-ruby/4.1.0"
32
+ USER_AGENT = "strongdm-sdk-ruby/4.2.0"
33
33
  private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
34
34
 
35
35
  # Creates a new strongDM API client.
@@ -68,6 +68,10 @@ module SDM #:nodoc:
68
68
  @nodes = Nodes.new(@channel, self)
69
69
  @nodes_history = NodesHistory.new(@channel, self)
70
70
  @organization_history = OrganizationHistory.new(@channel, self)
71
+ @peering_group_nodes = PeeringGroupNodes.new(@channel, self)
72
+ @peering_group_peers = PeeringGroupPeers.new(@channel, self)
73
+ @peering_group_resources = PeeringGroupResources.new(@channel, self)
74
+ @peering_groups = PeeringGroups.new(@channel, self)
71
75
  @queries = Queries.new(@channel, self)
72
76
  @remote_identities = RemoteIdentities.new(@channel, self)
73
77
  @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self)
@@ -236,6 +240,22 @@ module SDM #:nodoc:
236
240
  #
237
241
  # See {OrganizationHistory}.
238
242
  attr_reader :organization_history
243
+ # PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group.
244
+ #
245
+ # See {PeeringGroupNodes}.
246
+ attr_reader :peering_group_nodes
247
+ # PeeringGroupPeers provides the building blocks necessary to link two peering groups.
248
+ #
249
+ # See {PeeringGroupPeers}.
250
+ attr_reader :peering_group_peers
251
+ # PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group.
252
+ #
253
+ # See {PeeringGroupResources}.
254
+ attr_reader :peering_group_resources
255
+ # PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing.
256
+ #
257
+ # See {PeeringGroups}.
258
+ attr_reader :peering_groups
239
259
  # A Query is a record of a single client request to a resource, such as a SQL query.
240
260
  # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
241
261
  # The Queries service is read-only.
@@ -324,6 +344,10 @@ module SDM #:nodoc:
324
344
  @nodes = Nodes.new(@channel, self)
325
345
  @nodes_history = NodesHistory.new(@channel, self)
326
346
  @organization_history = OrganizationHistory.new(@channel, self)
347
+ @peering_group_nodes = PeeringGroupNodes.new(@channel, self)
348
+ @peering_group_peers = PeeringGroupPeers.new(@channel, self)
349
+ @peering_group_resources = PeeringGroupResources.new(@channel, self)
350
+ @peering_groups = PeeringGroups.new(@channel, self)
327
351
  @queries = Queries.new(@channel, self)
328
352
  @remote_identities = RemoteIdentities.new(@channel, self)
329
353
  @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self)
@@ -350,6 +374,10 @@ module SDM #:nodoc:
350
374
  @account_resources = SnapshotAccountResources.new(client.account_resources)
351
375
  @accounts = SnapshotAccounts.new(client.accounts)
352
376
  @nodes = SnapshotNodes.new(client.nodes)
377
+ @peering_group_nodes = SnapshotPeeringGroupNodes.new(client.peering_group_nodes)
378
+ @peering_group_peers = SnapshotPeeringGroupPeers.new(client.peering_group_peers)
379
+ @peering_group_resources = SnapshotPeeringGroupResources.new(client.peering_group_resources)
380
+ @peering_groups = SnapshotPeeringGroups.new(client.peering_groups)
353
381
  @remote_identities = SnapshotRemoteIdentities.new(client.remote_identities)
354
382
  @remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups)
355
383
  @resources = SnapshotResources.new(client.resources)
@@ -388,6 +416,22 @@ module SDM #:nodoc:
388
416
  #
389
417
  # See {SnapshotNodes}.
390
418
  attr_reader :nodes
419
+ # PeeringGroupNodes provides the building blocks necessary to obtain attach a node to a peering group.
420
+ #
421
+ # See {SnapshotPeeringGroupNodes}.
422
+ attr_reader :peering_group_nodes
423
+ # PeeringGroupPeers provides the building blocks necessary to link two peering groups.
424
+ #
425
+ # See {SnapshotPeeringGroupPeers}.
426
+ attr_reader :peering_group_peers
427
+ # PeeringGroupResources provides the building blocks necessary to obtain attach a resource to a peering group.
428
+ #
429
+ # See {SnapshotPeeringGroupResources}.
430
+ attr_reader :peering_group_resources
431
+ # PeeringGroups provides the building blocks necessary to obtain explicit network topology and routing.
432
+ #
433
+ # See {SnapshotPeeringGroups}.
434
+ attr_reader :peering_groups
391
435
  # RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
392
436
  #
393
437
  # See {SnapshotRemoteIdentities}.