strongdm 15.1.0 → 15.4.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.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-260518a45e53ce31a7d2f4aa33bc6fda08677d0f.idx → pack-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.idx} +0 -0
- data/.git/objects/pack/{pack-260518a45e53ce31a7d2f4aa33bc6fda08677d0f.pack → pack-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/approval_workflow_approvers_pb.rb +1 -0
- data/lib/grpc/approval_workflows_pb.rb +1 -0
- data/lib/grpc/drivers_pb.rb +39 -0
- data/lib/grpc/plumbing.rb +248 -1
- data/lib/models/porcelain.rb +248 -0
- data/lib/strongdm.rb +16 -16
- data/lib/svc.rb +216 -214
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +4 -4
data/lib/models/porcelain.rb
CHANGED
@@ -286,6 +286,7 @@ module SDM
|
|
286
286
|
end
|
287
287
|
end
|
288
288
|
|
289
|
+
# AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
|
289
290
|
class AKSServiceAccountUserImpersonation
|
290
291
|
# 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.
|
291
292
|
attr_accessor :bind_interface
|
@@ -357,6 +358,7 @@ module SDM
|
|
357
358
|
end
|
358
359
|
end
|
359
360
|
|
361
|
+
# AKSUserImpersonation is deprecated, see docs for more info.
|
360
362
|
class AKSUserImpersonation
|
361
363
|
# 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.
|
362
364
|
attr_accessor :bind_interface
|
@@ -436,6 +438,82 @@ module SDM
|
|
436
438
|
end
|
437
439
|
end
|
438
440
|
|
441
|
+
# AMQP is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
442
|
+
class AMQP
|
443
|
+
# 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.
|
444
|
+
attr_accessor :bind_interface
|
445
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
446
|
+
attr_accessor :egress_filter
|
447
|
+
# True if the datasource is reachable and the credentials are valid.
|
448
|
+
attr_accessor :healthy
|
449
|
+
# The host to dial to initiate a connection from the egress node to this resource.
|
450
|
+
attr_accessor :hostname
|
451
|
+
# Unique identifier of the Resource.
|
452
|
+
attr_accessor :id
|
453
|
+
# Unique human-readable name of the Resource.
|
454
|
+
attr_accessor :name
|
455
|
+
# The password to authenticate with.
|
456
|
+
attr_accessor :password
|
457
|
+
# The port to dial to initiate a connection from the egress node to this resource.
|
458
|
+
attr_accessor :port
|
459
|
+
# The local port used by clients to connect to this resource.
|
460
|
+
attr_accessor :port_override
|
461
|
+
# ID of the proxy cluster for this resource, if any.
|
462
|
+
attr_accessor :proxy_cluster_id
|
463
|
+
# ID of the secret store containing credentials for this resource, if any.
|
464
|
+
attr_accessor :secret_store_id
|
465
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
466
|
+
attr_accessor :subdomain
|
467
|
+
# Tags is a map of key, value pairs.
|
468
|
+
attr_accessor :tags
|
469
|
+
# If set, TLS must be used to connect to this resource.
|
470
|
+
attr_accessor :tls_required
|
471
|
+
# The username to authenticate with.
|
472
|
+
attr_accessor :username
|
473
|
+
|
474
|
+
def initialize(
|
475
|
+
bind_interface: nil,
|
476
|
+
egress_filter: nil,
|
477
|
+
healthy: nil,
|
478
|
+
hostname: nil,
|
479
|
+
id: nil,
|
480
|
+
name: nil,
|
481
|
+
password: nil,
|
482
|
+
port: nil,
|
483
|
+
port_override: nil,
|
484
|
+
proxy_cluster_id: nil,
|
485
|
+
secret_store_id: nil,
|
486
|
+
subdomain: nil,
|
487
|
+
tags: nil,
|
488
|
+
tls_required: nil,
|
489
|
+
username: nil
|
490
|
+
)
|
491
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
492
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
493
|
+
@healthy = healthy == nil ? false : healthy
|
494
|
+
@hostname = hostname == nil ? "" : hostname
|
495
|
+
@id = id == nil ? "" : id
|
496
|
+
@name = name == nil ? "" : name
|
497
|
+
@password = password == nil ? "" : password
|
498
|
+
@port = port == nil ? 0 : port
|
499
|
+
@port_override = port_override == nil ? 0 : port_override
|
500
|
+
@proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
|
501
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
502
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
503
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
504
|
+
@tls_required = tls_required == nil ? false : tls_required
|
505
|
+
@username = username == nil ? "" : username
|
506
|
+
end
|
507
|
+
|
508
|
+
def to_json(options = {})
|
509
|
+
hash = {}
|
510
|
+
self.instance_variables.each do |var|
|
511
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
512
|
+
end
|
513
|
+
hash.to_json
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
439
517
|
class AWS
|
440
518
|
# The Access Key ID to use to authenticate.
|
441
519
|
attr_accessor :access_key
|
@@ -2243,6 +2321,7 @@ module SDM
|
|
2243
2321
|
end
|
2244
2322
|
end
|
2245
2323
|
|
2324
|
+
# AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
|
2246
2325
|
class AmazonEKSInstanceProfileUserImpersonation
|
2247
2326
|
# 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.
|
2248
2327
|
attr_accessor :bind_interface
|
@@ -2326,6 +2405,7 @@ module SDM
|
|
2326
2405
|
end
|
2327
2406
|
end
|
2328
2407
|
|
2408
|
+
# AmazonEKSUserImpersonation is deprecated, see docs for more info.
|
2329
2409
|
class AmazonEKSUserImpersonation
|
2330
2410
|
# The Access Key ID to use to authenticate.
|
2331
2411
|
attr_accessor :access_key
|
@@ -2741,6 +2821,7 @@ module SDM
|
|
2741
2821
|
end
|
2742
2822
|
|
2743
2823
|
# ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
|
2824
|
+
# ApprovalWorkflowApprover is deprecated, see docs for more info.
|
2744
2825
|
class ApprovalWorkflowApprover
|
2745
2826
|
# The approver account id.
|
2746
2827
|
attr_accessor :account_id
|
@@ -3047,6 +3128,7 @@ module SDM
|
|
3047
3128
|
end
|
3048
3129
|
|
3049
3130
|
# ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
|
3131
|
+
# ApprovalWorkflowStep is deprecated, see docs for more info.
|
3050
3132
|
class ApprovalWorkflowStep
|
3051
3133
|
# The approval flow id specified the approval workflow that this step belongs to
|
3052
3134
|
attr_accessor :approval_flow_id
|
@@ -4002,6 +4084,86 @@ module SDM
|
|
4002
4084
|
end
|
4003
4085
|
end
|
4004
4086
|
|
4087
|
+
# AzureMysqlManagedIdentity is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
4088
|
+
class AzureMysqlManagedIdentity
|
4089
|
+
# 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.
|
4090
|
+
attr_accessor :bind_interface
|
4091
|
+
# The database for healthchecks. Does not affect client requests.
|
4092
|
+
attr_accessor :database
|
4093
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
4094
|
+
attr_accessor :egress_filter
|
4095
|
+
# True if the datasource is reachable and the credentials are valid.
|
4096
|
+
attr_accessor :healthy
|
4097
|
+
# The host to dial to initiate a connection from the egress node to this resource.
|
4098
|
+
attr_accessor :hostname
|
4099
|
+
# Unique identifier of the Resource.
|
4100
|
+
attr_accessor :id
|
4101
|
+
# Unique human-readable name of the Resource.
|
4102
|
+
attr_accessor :name
|
4103
|
+
# The password to authenticate with.
|
4104
|
+
attr_accessor :password
|
4105
|
+
# The port to dial to initiate a connection from the egress node to this resource.
|
4106
|
+
attr_accessor :port
|
4107
|
+
# The local port used by clients to connect to this resource.
|
4108
|
+
attr_accessor :port_override
|
4109
|
+
# ID of the proxy cluster for this resource, if any.
|
4110
|
+
attr_accessor :proxy_cluster_id
|
4111
|
+
# ID of the secret store containing credentials for this resource, if any.
|
4112
|
+
attr_accessor :secret_store_id
|
4113
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
4114
|
+
attr_accessor :subdomain
|
4115
|
+
# Tags is a map of key, value pairs.
|
4116
|
+
attr_accessor :tags
|
4117
|
+
# If true, appends the hostname to the username when hitting a database.azure.com address
|
4118
|
+
attr_accessor :use_azure_single_server_usernames
|
4119
|
+
# The username to authenticate with.
|
4120
|
+
attr_accessor :username
|
4121
|
+
|
4122
|
+
def initialize(
|
4123
|
+
bind_interface: nil,
|
4124
|
+
database: nil,
|
4125
|
+
egress_filter: nil,
|
4126
|
+
healthy: nil,
|
4127
|
+
hostname: nil,
|
4128
|
+
id: nil,
|
4129
|
+
name: nil,
|
4130
|
+
password: nil,
|
4131
|
+
port: nil,
|
4132
|
+
port_override: nil,
|
4133
|
+
proxy_cluster_id: nil,
|
4134
|
+
secret_store_id: nil,
|
4135
|
+
subdomain: nil,
|
4136
|
+
tags: nil,
|
4137
|
+
use_azure_single_server_usernames: nil,
|
4138
|
+
username: nil
|
4139
|
+
)
|
4140
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
4141
|
+
@database = database == nil ? "" : database
|
4142
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
4143
|
+
@healthy = healthy == nil ? false : healthy
|
4144
|
+
@hostname = hostname == nil ? "" : hostname
|
4145
|
+
@id = id == nil ? "" : id
|
4146
|
+
@name = name == nil ? "" : name
|
4147
|
+
@password = password == nil ? "" : password
|
4148
|
+
@port = port == nil ? 0 : port
|
4149
|
+
@port_override = port_override == nil ? 0 : port_override
|
4150
|
+
@proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
|
4151
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
4152
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
4153
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
4154
|
+
@use_azure_single_server_usernames = use_azure_single_server_usernames == nil ? false : use_azure_single_server_usernames
|
4155
|
+
@username = username == nil ? "" : username
|
4156
|
+
end
|
4157
|
+
|
4158
|
+
def to_json(options = {})
|
4159
|
+
hash = {}
|
4160
|
+
self.instance_variables.each do |var|
|
4161
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
4162
|
+
end
|
4163
|
+
hash.to_json
|
4164
|
+
end
|
4165
|
+
end
|
4166
|
+
|
4005
4167
|
class AzurePostgres
|
4006
4168
|
# 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.
|
4007
4169
|
attr_accessor :bind_interface
|
@@ -6548,6 +6710,7 @@ module SDM
|
|
6548
6710
|
end
|
6549
6711
|
end
|
6550
6712
|
|
6713
|
+
# GoogleGKEUserImpersonation is deprecated, see docs for more info.
|
6551
6714
|
class GoogleGKEUserImpersonation
|
6552
6715
|
# 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.
|
6553
6716
|
attr_accessor :bind_interface
|
@@ -7953,6 +8116,7 @@ module SDM
|
|
7953
8116
|
end
|
7954
8117
|
end
|
7955
8118
|
|
8119
|
+
# KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
|
7956
8120
|
class KubernetesServiceAccountUserImpersonation
|
7957
8121
|
# 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.
|
7958
8122
|
attr_accessor :bind_interface
|
@@ -8024,6 +8188,7 @@ module SDM
|
|
8024
8188
|
end
|
8025
8189
|
end
|
8026
8190
|
|
8191
|
+
# KubernetesUserImpersonation is deprecated, see docs for more info.
|
8027
8192
|
class KubernetesUserImpersonation
|
8028
8193
|
# 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.
|
8029
8194
|
attr_accessor :bind_interface
|
@@ -8103,6 +8268,72 @@ module SDM
|
|
8103
8268
|
end
|
8104
8269
|
end
|
8105
8270
|
|
8271
|
+
class LogCategoryConfig
|
8272
|
+
# Indicates if the Organization should exclude replay data from remote logging for the log category.
|
8273
|
+
attr_accessor :remote_discard_replays
|
8274
|
+
# The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
|
8275
|
+
attr_accessor :remote_encoder
|
8276
|
+
|
8277
|
+
def initialize(
|
8278
|
+
remote_discard_replays: nil,
|
8279
|
+
remote_encoder: nil
|
8280
|
+
)
|
8281
|
+
@remote_discard_replays = remote_discard_replays == nil ? false : remote_discard_replays
|
8282
|
+
@remote_encoder = remote_encoder == nil ? "" : remote_encoder
|
8283
|
+
end
|
8284
|
+
|
8285
|
+
def to_json(options = {})
|
8286
|
+
hash = {}
|
8287
|
+
self.instance_variables.each do |var|
|
8288
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
8289
|
+
end
|
8290
|
+
hash.to_json
|
8291
|
+
end
|
8292
|
+
end
|
8293
|
+
|
8294
|
+
class LogConfig
|
8295
|
+
# The Organization's log category configuration settings.
|
8296
|
+
attr_accessor :categories
|
8297
|
+
# The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
|
8298
|
+
attr_accessor :local_encoder
|
8299
|
+
# The Organization's local log format, one of the LogLocalFormat constants.
|
8300
|
+
attr_accessor :local_format
|
8301
|
+
# The Organization's local log socket path.
|
8302
|
+
attr_accessor :local_socket_path
|
8303
|
+
# The Organization's local log storage, one of the LogLocalStorage constants.
|
8304
|
+
attr_accessor :local_storage
|
8305
|
+
# The Organization's local log TCP address.
|
8306
|
+
attr_accessor :local_tcp_address
|
8307
|
+
# The Organization's public key in PEM format for encrypting logs.
|
8308
|
+
attr_accessor :public_key
|
8309
|
+
|
8310
|
+
def initialize(
|
8311
|
+
categories: nil,
|
8312
|
+
local_encoder: nil,
|
8313
|
+
local_format: nil,
|
8314
|
+
local_socket_path: nil,
|
8315
|
+
local_storage: nil,
|
8316
|
+
local_tcp_address: nil,
|
8317
|
+
public_key: nil
|
8318
|
+
)
|
8319
|
+
@categories = categories == nil ? SDM::_porcelain_zero_value_log_category_config_map() : categories
|
8320
|
+
@local_encoder = local_encoder == nil ? "" : local_encoder
|
8321
|
+
@local_format = local_format == nil ? "" : local_format
|
8322
|
+
@local_socket_path = local_socket_path == nil ? "" : local_socket_path
|
8323
|
+
@local_storage = local_storage == nil ? "" : local_storage
|
8324
|
+
@local_tcp_address = local_tcp_address == nil ? "" : local_tcp_address
|
8325
|
+
@public_key = public_key == nil ? "" : public_key
|
8326
|
+
end
|
8327
|
+
|
8328
|
+
def to_json(options = {})
|
8329
|
+
hash = {}
|
8330
|
+
self.instance_variables.each do |var|
|
8331
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
8332
|
+
end
|
8333
|
+
hash.to_json
|
8334
|
+
end
|
8335
|
+
end
|
8336
|
+
|
8106
8337
|
# MTLSMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
8107
8338
|
class MTLSMysql
|
8108
8339
|
# 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.
|
@@ -10108,6 +10339,7 @@ module SDM
|
|
10108
10339
|
# The Organization's device trust provider, one of the DeviceTrustProvider constants.
|
10109
10340
|
attr_accessor :device_trust_provider
|
10110
10341
|
# Indicates if the Organization should drop replay data for SSH, RDP, and K8s logs.
|
10342
|
+
# Deprecated: use categories specific log_config.categories[].remote_discard_replays instead
|
10111
10343
|
attr_accessor :discard_replays
|
10112
10344
|
# Indicates if the Organization enforces a single session per user for the CLI and AdminUI.
|
10113
10345
|
attr_accessor :enforce_single_session
|
@@ -10117,17 +10349,25 @@ module SDM
|
|
10117
10349
|
attr_accessor :idle_timeout_enabled
|
10118
10350
|
# The Organization's type, one of the OrgKind constants.
|
10119
10351
|
attr_accessor :kind
|
10352
|
+
# The Organization's logging settings
|
10353
|
+
attr_accessor :log_config
|
10120
10354
|
# The Organization's local log encryption encoder, one of the LogLocalEncoder constants.
|
10355
|
+
# Deprecated: use log_config.local_encoder instead
|
10121
10356
|
attr_accessor :log_local_encoder
|
10122
10357
|
# The Organization's local log format, one of the LogLocalFormat constants.
|
10358
|
+
# Deprecated: use log_config.local_format instead
|
10123
10359
|
attr_accessor :log_local_format
|
10124
10360
|
# The Organization's local log storage, one of the LogLocalStorage constants.
|
10361
|
+
# Deprecated: use log_config.local_storage instead
|
10125
10362
|
attr_accessor :log_local_storage
|
10126
10363
|
# The Organization's remote log encryption encoder, one of the LogRemoteEncoder constants.
|
10364
|
+
# Deprecated: use categories specific log_config.categories[].remote_encoder instead
|
10127
10365
|
attr_accessor :log_remote_encoder
|
10128
10366
|
# The Organization's socket path for Socket local log storage.
|
10367
|
+
# Deprecated: use log_config.local_socket_path instead
|
10129
10368
|
attr_accessor :log_socket_path
|
10130
10369
|
# The Organization's TCP address for TCP or Syslog local log storage.
|
10370
|
+
# Deprecated: use log_config.local_tcp_address instead
|
10131
10371
|
attr_accessor :log_tcp_address
|
10132
10372
|
# The Organization's loopback range.
|
10133
10373
|
attr_accessor :loopback_range
|
@@ -10138,6 +10378,7 @@ module SDM
|
|
10138
10378
|
# The Organization's name.
|
10139
10379
|
attr_accessor :name
|
10140
10380
|
# The Organization's public key PEM for encrypting remote logs.
|
10381
|
+
# Deprecated: use log_config.public_key instead
|
10141
10382
|
attr_accessor :public_key_pem
|
10142
10383
|
# Indicates if the Organization requires secret stores.
|
10143
10384
|
attr_accessor :require_secret_store
|
@@ -10170,6 +10411,7 @@ module SDM
|
|
10170
10411
|
idle_timeout: nil,
|
10171
10412
|
idle_timeout_enabled: nil,
|
10172
10413
|
kind: nil,
|
10414
|
+
log_config: nil,
|
10173
10415
|
log_local_encoder: nil,
|
10174
10416
|
log_local_format: nil,
|
10175
10417
|
log_local_storage: nil,
|
@@ -10201,6 +10443,7 @@ module SDM
|
|
10201
10443
|
@idle_timeout = idle_timeout == nil ? nil : idle_timeout
|
10202
10444
|
@idle_timeout_enabled = idle_timeout_enabled == nil ? false : idle_timeout_enabled
|
10203
10445
|
@kind = kind == nil ? "" : kind
|
10446
|
+
@log_config = log_config == nil ? nil : log_config
|
10204
10447
|
@log_local_encoder = log_local_encoder == nil ? "" : log_local_encoder
|
10205
10448
|
@log_local_format = log_local_format == nil ? "" : log_local_format
|
10206
10449
|
@log_local_storage = log_local_storage == nil ? "" : log_local_storage
|
@@ -15621,6 +15864,7 @@ module SDM
|
|
15621
15864
|
end
|
15622
15865
|
|
15623
15866
|
# WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
|
15867
|
+
# WorkflowApprover is deprecated, see docs for more info.
|
15624
15868
|
class WorkflowApprover
|
15625
15869
|
# The approver account id.
|
15626
15870
|
attr_accessor :account_id
|
@@ -16224,4 +16468,8 @@ module SDM
|
|
16224
16468
|
def self._porcelain_zero_value_access_rule()
|
16225
16469
|
{}
|
16226
16470
|
end
|
16471
|
+
# @private
|
16472
|
+
def self._porcelain_zero_value_log_category_config_map()
|
16473
|
+
{}
|
16474
|
+
end
|
16227
16475
|
end
|
data/lib/strongdm.rb
CHANGED
@@ -30,7 +30,7 @@ module SDM #:nodoc:
|
|
30
30
|
DEFAULT_RETRY_FACTOR = 1.6
|
31
31
|
DEFAULT_RETRY_JITTER = 0.2
|
32
32
|
API_VERSION = "2025-04-14"
|
33
|
-
USER_AGENT = "strongdm-sdk-ruby/15.
|
33
|
+
USER_AGENT = "strongdm-sdk-ruby/15.4.0"
|
34
34
|
private_constant :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :DEFAULT_RETRY_FACTOR, :DEFAULT_RETRY_JITTER, :API_VERSION, :USER_AGENT
|
35
35
|
|
36
36
|
# Creates a new strongDM API client.
|
@@ -77,6 +77,7 @@ module SDM #:nodoc:
|
|
77
77
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
78
78
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
79
79
|
@control_panel = ControlPanel.new(@channel, self)
|
80
|
+
@roles = Roles.new(@channel, self)
|
80
81
|
@health_checks = HealthChecks.new(@channel, self)
|
81
82
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
82
83
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
@@ -103,7 +104,6 @@ module SDM #:nodoc:
|
|
103
104
|
@resources_history = ResourcesHistory.new(@channel, self)
|
104
105
|
@role_resources = RoleResources.new(@channel, self)
|
105
106
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
106
|
-
@roles = Roles.new(@channel, self)
|
107
107
|
@roles_history = RolesHistory.new(@channel, self)
|
108
108
|
@secret_stores = SecretStores.new(@channel, self)
|
109
109
|
@secret_engines = SecretEngines.new(@channel, self)
|
@@ -315,6 +315,12 @@ module SDM #:nodoc:
|
|
315
315
|
#
|
316
316
|
# See {ControlPanel}.
|
317
317
|
attr_reader :control_panel
|
318
|
+
# A Role has a list of access rules which determine which Resources the members
|
319
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
320
|
+
# AccountAttachments.
|
321
|
+
#
|
322
|
+
# See {Roles}.
|
323
|
+
attr_reader :roles
|
318
324
|
# HealthChecks lists the last healthcheck between each node and resource.
|
319
325
|
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
320
326
|
#
|
@@ -435,12 +441,6 @@ module SDM #:nodoc:
|
|
435
441
|
#
|
436
442
|
# See {RoleResourcesHistory}.
|
437
443
|
attr_reader :role_resources_history
|
438
|
-
# A Role has a list of access rules which determine which Resources the members
|
439
|
-
# of the Role have access to. An Account can be a member of multiple Roles via
|
440
|
-
# AccountAttachments.
|
441
|
-
#
|
442
|
-
# See {Roles}.
|
443
|
-
attr_reader :roles
|
444
444
|
# RolesHistory records all changes to the state of a Role.
|
445
445
|
#
|
446
446
|
# See {RolesHistory}.
|
@@ -516,6 +516,7 @@ module SDM #:nodoc:
|
|
516
516
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
517
517
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
518
518
|
@control_panel = ControlPanel.new(@channel, self)
|
519
|
+
@roles = Roles.new(@channel, self)
|
519
520
|
@health_checks = HealthChecks.new(@channel, self)
|
520
521
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
521
522
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
@@ -542,7 +543,6 @@ module SDM #:nodoc:
|
|
542
543
|
@resources_history = ResourcesHistory.new(@channel, self)
|
543
544
|
@role_resources = RoleResources.new(@channel, self)
|
544
545
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
545
|
-
@roles = Roles.new(@channel, self)
|
546
546
|
@roles_history = RolesHistory.new(@channel, self)
|
547
547
|
@secret_stores = SecretStores.new(@channel, self)
|
548
548
|
@secret_engines = SecretEngines.new(@channel, self)
|
@@ -569,6 +569,7 @@ module SDM #:nodoc:
|
|
569
569
|
@approval_workflow_approvers = SnapshotApprovalWorkflowApprovers.new(client.approval_workflow_approvers)
|
570
570
|
@approval_workflow_steps = SnapshotApprovalWorkflowSteps.new(client.approval_workflow_steps)
|
571
571
|
@approval_workflows = SnapshotApprovalWorkflows.new(client.approval_workflows)
|
572
|
+
@roles = SnapshotRoles.new(client.roles)
|
572
573
|
@identity_aliases = SnapshotIdentityAliases.new(client.identity_aliases)
|
573
574
|
@identity_sets = SnapshotIdentitySets.new(client.identity_sets)
|
574
575
|
@nodes = SnapshotNodes.new(client.nodes)
|
@@ -578,7 +579,6 @@ module SDM #:nodoc:
|
|
578
579
|
@remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups)
|
579
580
|
@resources = SnapshotResources.new(client.resources)
|
580
581
|
@role_resources = SnapshotRoleResources.new(client.role_resources)
|
581
|
-
@roles = SnapshotRoles.new(client.roles)
|
582
582
|
@secret_stores = SnapshotSecretStores.new(client.secret_stores)
|
583
583
|
@workflow_approvers = SnapshotWorkflowApprovers.new(client.workflow_approvers)
|
584
584
|
@workflow_roles = SnapshotWorkflowRoles.new(client.workflow_roles)
|
@@ -627,6 +627,12 @@ module SDM #:nodoc:
|
|
627
627
|
#
|
628
628
|
# See {SnapshotApprovalWorkflows}.
|
629
629
|
attr_reader :approval_workflows
|
630
|
+
# A Role has a list of access rules which determine which Resources the members
|
631
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
632
|
+
# AccountAttachments.
|
633
|
+
#
|
634
|
+
# See {SnapshotRoles}.
|
635
|
+
attr_reader :roles
|
630
636
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
631
637
|
# The alias is used as the username when connecting to a identity supported resource.
|
632
638
|
#
|
@@ -673,12 +679,6 @@ module SDM #:nodoc:
|
|
673
679
|
#
|
674
680
|
# See {SnapshotRoleResources}.
|
675
681
|
attr_reader :role_resources
|
676
|
-
# A Role has a list of access rules which determine which Resources the members
|
677
|
-
# of the Role have access to. An Account can be a member of multiple Roles via
|
678
|
-
# AccountAttachments.
|
679
|
-
#
|
680
|
-
# See {SnapshotRoles}.
|
681
|
-
attr_reader :roles
|
682
682
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
683
683
|
#
|
684
684
|
# See {SnapshotSecretStores}.
|