strongdm 4.1.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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}.