strongdm 1.0.34 → 2.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.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/config +0 -3
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -4
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/pack-ae9c31d15ecb69c51d515e053295673b38840788.idx +0 -0
- data/.git/objects/pack/{pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.pack → pack-ae9c31d15ecb69c51d515e053295673b38840788.pack} +0 -0
- data/.git/packed-refs +5 -2
- data/.git/refs/heads/master +1 -1
- data/.yardopts +9 -0
- data/README.md +18 -6
- data/lib/errors/errors.rb +1 -1
- data/lib/grpc/account_attachments_services_pb.rb +1 -1
- data/lib/grpc/accounts_services_pb.rb +2 -2
- data/lib/grpc/drivers_pb.rb +41 -0
- data/lib/grpc/nodes_services_pb.rb +1 -1
- data/lib/grpc/options_pb.rb +35 -41
- data/lib/grpc/plumbing.rb +1235 -982
- data/lib/grpc/resources_services_pb.rb +3 -1
- data/lib/grpc/role_attachments_services_pb.rb +10 -0
- data/lib/grpc/role_grants_services_pb.rb +10 -0
- data/lib/grpc/roles_services_pb.rb +4 -6
- data/lib/grpc/secret_store_types_pb.rb +17 -0
- data/lib/grpc/secret_stores_services_pb.rb +1 -1
- data/lib/models/porcelain.rb +1255 -2961
- data/lib/strongdm.rb +53 -16
- data/lib/svc.rb +163 -14
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +5 -224
- data/.git/FETCH_HEAD +0 -2
- data/.git/logs/refs/heads/development +0 -1
- data/.git/objects/pack/pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.idx +0 -0
- data/.git/refs/heads/development +0 -1
- data/doc/LICENSE.html +0 -187
- data/doc/Object.html +0 -114
- data/doc/README_md.html +0 -146
- data/doc/SDM/AKS.html +0 -352
- data/doc/SDM/AKSBasicAuth.html +0 -337
- data/doc/SDM/AKSServiceAccount.html +0 -322
- data/doc/SDM/AKSServiceAccountUserImpersonation.html +0 -322
- data/doc/SDM/AKSUserImpersonation.html +0 -352
- data/doc/SDM/AWS.html +0 -337
- data/doc/SDM/AWSStore.html +0 -232
- data/doc/SDM/AccountAttachment.html +0 -219
- data/doc/SDM/AccountAttachmentCreateResponse.html +0 -219
- data/doc/SDM/AccountAttachmentDeleteResponse.html +0 -204
- data/doc/SDM/AccountAttachmentGetResponse.html +0 -219
- data/doc/SDM/AccountAttachments.html +0 -354
- data/doc/SDM/AccountCreateResponse.html +0 -234
- data/doc/SDM/AccountDeleteResponse.html +0 -204
- data/doc/SDM/AccountGetResponse.html +0 -219
- data/doc/SDM/AccountGrant.html +0 -249
- data/doc/SDM/AccountGrantCreateResponse.html +0 -219
- data/doc/SDM/AccountGrantDeleteResponse.html +0 -204
- data/doc/SDM/AccountGrantGetResponse.html +0 -219
- data/doc/SDM/AccountGrants.html +0 -354
- data/doc/SDM/AccountUpdateResponse.html +0 -219
- data/doc/SDM/Accounts.html +0 -409
- data/doc/SDM/AlreadyExistsError.html +0 -140
- data/doc/SDM/AmazonEKS.html +0 -397
- data/doc/SDM/AmazonEKSUserImpersonation.html +0 -397
- data/doc/SDM/AmazonES.html +0 -367
- data/doc/SDM/AmazonMQAMQP091.html +0 -352
- data/doc/SDM/Athena.html +0 -367
- data/doc/SDM/AuroraMysql.html +0 -352
- data/doc/SDM/AuroraPostgres.html +0 -367
- data/doc/SDM/AuthenticationError.html +0 -140
- data/doc/SDM/Azure.html +0 -307
- data/doc/SDM/AzureCertificate.html +0 -307
- data/doc/SDM/AzurePostgres.html +0 -367
- data/doc/SDM/AzureStore.html +0 -232
- data/doc/SDM/BadRequestError.html +0 -140
- data/doc/SDM/BigQuery.html +0 -337
- data/doc/SDM/Cassandra.html +0 -352
- data/doc/SDM/Citus.html +0 -367
- data/doc/SDM/Client.html +0 -443
- data/doc/SDM/Clustrix.html +0 -352
- data/doc/SDM/Cockroach.html +0 -367
- data/doc/SDM/ControlPanel.html +0 -248
- data/doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html +0 -219
- data/doc/SDM/ControlPanelVerifyJWTResponse.html +0 -219
- data/doc/SDM/CreateResponseMetadata.html +0 -169
- data/doc/SDM/DB2LUW.html +0 -352
- data/doc/SDM/DB2i.html +0 -352
- data/doc/SDM/DeadlineExceededError.html +0 -140
- data/doc/SDM/DeleteResponseMetadata.html +0 -169
- data/doc/SDM/DocumentDBHost.html +0 -352
- data/doc/SDM/DocumentDBReplicaSet.html +0 -367
- data/doc/SDM/Druid.html +0 -337
- data/doc/SDM/DynamoDB.html +0 -367
- data/doc/SDM/Elastic.html +0 -352
- data/doc/SDM/ElasticacheRedis.html +0 -337
- data/doc/SDM/GCP.html +0 -292
- data/doc/SDM/Gateway.html +0 -279
- data/doc/SDM/GetResponseMetadata.html +0 -169
- data/doc/SDM/GoogleGKE.html +0 -322
- data/doc/SDM/GoogleGKEUserImpersonation.html +0 -322
- data/doc/SDM/Greenplum.html +0 -367
- data/doc/SDM/HTTPAuth.html +0 -352
- data/doc/SDM/HTTPBasicAuth.html +0 -367
- data/doc/SDM/HTTPNoAuth.html +0 -337
- data/doc/SDM/InternalError.html +0 -140
- data/doc/SDM/Kubernetes.html +0 -352
- data/doc/SDM/KubernetesBasicAuth.html +0 -337
- data/doc/SDM/KubernetesServiceAccount.html +0 -322
- data/doc/SDM/KubernetesServiceAccountUserImpersonation.html +0 -322
- data/doc/SDM/KubernetesUserImpersonation.html +0 -352
- data/doc/SDM/Maria.html +0 -352
- data/doc/SDM/Memcached.html +0 -307
- data/doc/SDM/Memsql.html +0 -352
- data/doc/SDM/MongoHost.html +0 -367
- data/doc/SDM/MongoLegacyHost.html +0 -382
- data/doc/SDM/MongoLegacyReplicaset.html +0 -397
- data/doc/SDM/MongoReplicaSet.html +0 -397
- data/doc/SDM/MongoShardedCluster.html +0 -352
- data/doc/SDM/Mysql.html +0 -352
- data/doc/SDM/Neptune.html +0 -307
- data/doc/SDM/NeptuneIAM.html +0 -382
- data/doc/SDM/NodeCreateResponse.html +0 -234
- data/doc/SDM/NodeDeleteResponse.html +0 -204
- data/doc/SDM/NodeGetResponse.html +0 -219
- data/doc/SDM/NodeUpdateResponse.html +0 -219
- data/doc/SDM/Nodes.html +0 -409
- data/doc/SDM/NotFoundError.html +0 -140
- data/doc/SDM/Oracle.html +0 -367
- data/doc/SDM/PermissionError.html +0 -140
- data/doc/SDM/Plumbing.html +0 -16086
- data/doc/SDM/Postgres.html +0 -367
- data/doc/SDM/Presto.html +0 -367
- data/doc/SDM/RDP.html +0 -352
- data/doc/SDM/RPCError.html +0 -157
- data/doc/SDM/RabbitMQAMQP091.html +0 -352
- data/doc/SDM/RateLimitError.html +0 -157
- data/doc/SDM/RateLimitMetadata.html +0 -234
- data/doc/SDM/RawTCP.html +0 -307
- data/doc/SDM/Redis.html +0 -322
- data/doc/SDM/Redshift.html +0 -367
- data/doc/SDM/Relay.html +0 -249
- data/doc/SDM/ResourceCreateResponse.html +0 -219
- data/doc/SDM/ResourceDeleteResponse.html +0 -204
- data/doc/SDM/ResourceGetResponse.html +0 -219
- data/doc/SDM/ResourceUpdateResponse.html +0 -219
- data/doc/SDM/Resources.html +0 -456
- data/doc/SDM/Role.html +0 -249
- data/doc/SDM/RoleAttachment.html +0 -219
- data/doc/SDM/RoleAttachmentCreateResponse.html +0 -219
- data/doc/SDM/RoleAttachmentDeleteResponse.html +0 -204
- data/doc/SDM/RoleAttachmentGetResponse.html +0 -219
- data/doc/SDM/RoleAttachments.html +0 -354
- data/doc/SDM/RoleCreateResponse.html +0 -219
- data/doc/SDM/RoleDeleteResponse.html +0 -204
- data/doc/SDM/RoleGetResponse.html +0 -219
- data/doc/SDM/RoleGrant.html +0 -219
- data/doc/SDM/RoleGrantCreateResponse.html +0 -219
- data/doc/SDM/RoleGrantDeleteResponse.html +0 -204
- data/doc/SDM/RoleGrantGetResponse.html +0 -219
- data/doc/SDM/RoleGrants.html +0 -354
- data/doc/SDM/RoleUpdateResponse.html +0 -219
- data/doc/SDM/Roles.html +0 -403
- data/doc/SDM/SQLServer.html +0 -382
- data/doc/SDM/SSH.html +0 -352
- data/doc/SDM/SSHCert.html +0 -337
- data/doc/SDM/SSHCustomerKey.html +0 -352
- data/doc/SDM/SecretStoreCreateResponse.html +0 -219
- data/doc/SDM/SecretStoreDeleteResponse.html +0 -204
- data/doc/SDM/SecretStoreGetResponse.html +0 -219
- data/doc/SDM/SecretStoreUpdateResponse.html +0 -219
- data/doc/SDM/SecretStores.html +0 -403
- data/doc/SDM/Service.html +0 -234
- data/doc/SDM/SingleStore.html +0 -352
- data/doc/SDM/Snowflake.html +0 -352
- data/doc/SDM/Sybase.html +0 -337
- data/doc/SDM/SybaseIQ.html +0 -337
- data/doc/SDM/Tag.html +0 -202
- data/doc/SDM/Teradata.html +0 -337
- data/doc/SDM/UpdateResponseMetadata.html +0 -169
- data/doc/SDM/User.html +0 -264
- data/doc/SDM/VaultTLSStore.html +0 -292
- data/doc/SDM/VaultTokenStore.html +0 -247
- data/doc/SDM.html +0 -122
- data/doc/V1/AccountAttachments/Service.html +0 -107
- data/doc/V1/AccountAttachments.html +0 -100
- data/doc/V1/AccountGrants/Service.html +0 -107
- data/doc/V1/AccountGrants.html +0 -100
- data/doc/V1/Accounts/Service.html +0 -112
- data/doc/V1/Accounts.html +0 -100
- data/doc/V1/ControlPanel/Service.html +0 -107
- data/doc/V1/ControlPanel.html +0 -100
- data/doc/V1/Nodes/Service.html +0 -112
- data/doc/V1/Nodes.html +0 -100
- data/doc/V1/Resources/Service.html +0 -105
- data/doc/V1/Resources.html +0 -100
- data/doc/V1/RoleAttachments/Service.html +0 -107
- data/doc/V1/RoleAttachments.html +0 -100
- data/doc/V1/RoleGrants/Service.html +0 -107
- data/doc/V1/RoleGrants.html +0 -100
- data/doc/V1/Roles/Service.html +0 -107
- data/doc/V1/Roles.html +0 -100
- data/doc/V1/SecretStores/Service.html +0 -107
- data/doc/V1/SecretStores.html +0 -100
- data/doc/V1/Tags.html +0 -100
- data/doc/V1.html +0 -506
- data/doc/created.rid +0 -37
- data/doc/css/fonts.css +0 -167
- data/doc/css/rdoc.css +0 -639
- data/doc/examples/Gemfile.html +0 -89
- data/doc/fonts/Lato-Light.ttf +0 -0
- data/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/doc/fonts/Lato-Regular.ttf +0 -0
- data/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/doc/images/add.png +0 -0
- data/doc/images/arrow_up.png +0 -0
- data/doc/images/brick.png +0 -0
- data/doc/images/brick_link.png +0 -0
- data/doc/images/bug.png +0 -0
- data/doc/images/bullet_black.png +0 -0
- data/doc/images/bullet_toggle_minus.png +0 -0
- data/doc/images/bullet_toggle_plus.png +0 -0
- data/doc/images/date.png +0 -0
- data/doc/images/delete.png +0 -0
- data/doc/images/find.png +0 -0
- data/doc/images/loadingAnimation.gif +0 -0
- data/doc/images/macFFBgHack.png +0 -0
- data/doc/images/package.png +0 -0
- data/doc/images/page_green.png +0 -0
- data/doc/images/page_white_text.png +0 -0
- data/doc/images/page_white_width.png +0 -0
- data/doc/images/plugin.png +0 -0
- data/doc/images/ruby.png +0 -0
- data/doc/images/tag_blue.png +0 -0
- data/doc/images/tag_green.png +0 -0
- data/doc/images/transparent.png +0 -0
- data/doc/images/wrench.png +0 -0
- data/doc/images/wrench_orange.png +0 -0
- data/doc/images/zoom.png +0 -0
- data/doc/index.html +0 -257
- data/doc/js/darkfish.js +0 -84
- data/doc/js/navigation.js +0 -105
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +0 -110
- data/doc/js/search_index.js +0 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +0 -229
- data/doc/js/searcher.js.gz +0 -0
- data/doc/lib/version.html +0 -92
- data/doc/table_of_contents.html +0 -4680
- data/examples/Gemfile +0 -3
- data/examples/listUsers.rb +0 -21
data/lib/strongdm.rb
CHANGED
|
@@ -13,24 +13,26 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
#
|
|
15
15
|
|
|
16
|
-
# This file was generated by protogen. DO NOT EDIT.
|
|
16
|
+
# @internal This file was generated by protogen. DO NOT EDIT.
|
|
17
17
|
|
|
18
18
|
require_relative "./svc"
|
|
19
19
|
require "base64"
|
|
20
20
|
require "openssl"
|
|
21
|
+
require "time"
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
|
24
|
-
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
|
25
|
-
API_VERSION = "2021-08-23"
|
|
26
|
-
USER_AGENT = "strongdm-sdk-ruby/1.0.34"
|
|
27
|
-
|
|
28
|
-
module SDM
|
|
23
|
+
module SDM #:nodoc:
|
|
29
24
|
|
|
30
25
|
# Client bundles all the services together and initializes them.
|
|
31
26
|
class Client
|
|
27
|
+
DEFAULT_MAX_RETRIES = 3
|
|
28
|
+
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
|
29
|
+
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
|
30
|
+
API_VERSION = "2021-08-23"
|
|
31
|
+
USER_AGENT = "strongdm-sdk-ruby/2.2.0"
|
|
32
|
+
private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
|
|
33
|
+
|
|
32
34
|
# Creates a new strongDM API client.
|
|
33
|
-
def initialize(api_access_key, api_secret_key, host: "api.strongdm.com:443", insecure: false)
|
|
35
|
+
def initialize(api_access_key, api_secret_key, host: "api.strongdm.com:443", insecure: false, retry_rate_limit_errors: true)
|
|
34
36
|
raise TypeError, "client access key must be a string" unless api_access_key.kind_of?(String)
|
|
35
37
|
raise TypeError, "client secret key must be a string" unless api_secret_key.kind_of?(String)
|
|
36
38
|
raise TypeError, "client host must be a string" unless host.kind_of?(String)
|
|
@@ -39,6 +41,7 @@ module SDM
|
|
|
39
41
|
@max_retries = DEFAULT_MAX_RETRIES
|
|
40
42
|
@base_retry_delay = DEFAULT_BASE_RETRY_DELAY
|
|
41
43
|
@max_retry_delay = DEFAULT_MAX_RETRY_DELAY
|
|
44
|
+
@expose_rate_limit_errors = (not retry_rate_limit_errors)
|
|
42
45
|
@account_attachments = AccountAttachments.new(host, insecure, self)
|
|
43
46
|
@account_grants = AccountGrants.new(host, insecure, self)
|
|
44
47
|
@accounts = Accounts.new(host, insecure, self)
|
|
@@ -93,6 +96,17 @@ module SDM
|
|
|
93
96
|
if not err.is_a? GRPC::BadStatus
|
|
94
97
|
return true
|
|
95
98
|
end
|
|
99
|
+
porcelainErr = Plumbing::convert_error_to_porcelain(err)
|
|
100
|
+
if (not @expose_rate_limit_errors) and (porcelainErr.is_a? RateLimitError)
|
|
101
|
+
sleep_for = porcelainErr.rate_limit.reset_at - Time.now
|
|
102
|
+
# If timezones or clock drift causes this calculation to fail,
|
|
103
|
+
# wait at most one minute.
|
|
104
|
+
if sleep_for < 0 or sleep_for > 60
|
|
105
|
+
sleep_for = 60
|
|
106
|
+
end
|
|
107
|
+
sleep(sleep_for)
|
|
108
|
+
return true
|
|
109
|
+
end
|
|
96
110
|
return err.code() == 13
|
|
97
111
|
end
|
|
98
112
|
|
|
@@ -102,39 +116,62 @@ module SDM
|
|
|
102
116
|
|
|
103
117
|
# API authentication token (read-only).
|
|
104
118
|
attr_reader :api_access_key
|
|
105
|
-
# AccountAttachments assign an account to a role
|
|
119
|
+
# AccountAttachments assign an account to a role.
|
|
120
|
+
#
|
|
121
|
+
# See {AccountAttachments}.
|
|
106
122
|
attr_reader :account_attachments
|
|
107
123
|
# AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.
|
|
124
|
+
#
|
|
125
|
+
# See {AccountGrants}.
|
|
108
126
|
attr_reader :account_grants
|
|
109
127
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
110
128
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
111
129
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
130
|
+
#
|
|
131
|
+
# See {Accounts}.
|
|
112
132
|
attr_reader :accounts
|
|
113
133
|
# ControlPanel contains all administrative controls.
|
|
134
|
+
#
|
|
135
|
+
# See {ControlPanel}.
|
|
114
136
|
attr_reader :control_panel
|
|
115
137
|
# Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
|
|
116
138
|
# - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers.
|
|
117
139
|
# - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.
|
|
140
|
+
#
|
|
141
|
+
# See {Nodes}.
|
|
118
142
|
attr_reader :nodes
|
|
119
|
-
|
|
143
|
+
# Resources are databases, servers, clusters, websites, or clouds that strongDM
|
|
144
|
+
# delegates access to.
|
|
145
|
+
#
|
|
146
|
+
# See {Resources}.
|
|
120
147
|
attr_reader :resources
|
|
121
148
|
# RoleAttachments represent relationships between composite roles and the roles
|
|
122
149
|
# that make up those composite roles. When a composite role is attached to another
|
|
123
150
|
# role, the permissions granted to members of the composite role are augmented to
|
|
124
151
|
# include the permissions granted to members of the attached role.
|
|
152
|
+
#
|
|
153
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
154
|
+
#
|
|
155
|
+
# See {RoleAttachments}.
|
|
125
156
|
attr_reader :role_attachments
|
|
126
157
|
# RoleGrants represent relationships between composite roles and the roles
|
|
127
158
|
# that make up those composite roles. When a composite role is attached to another
|
|
128
159
|
# role, the permissions granted to members of the composite role are augmented to
|
|
129
160
|
# include the permissions granted to members of the attached role.
|
|
161
|
+
#
|
|
162
|
+
# Deprecated: use Role access rules instead.
|
|
163
|
+
#
|
|
164
|
+
# See {RoleGrants}.
|
|
130
165
|
attr_reader :role_grants
|
|
131
|
-
#
|
|
132
|
-
#
|
|
133
|
-
#
|
|
134
|
-
#
|
|
135
|
-
#
|
|
166
|
+
# A Role has a list of access rules which determine which Resources the members
|
|
167
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
|
168
|
+
# AccountAttachments.
|
|
169
|
+
#
|
|
170
|
+
# See {Roles}.
|
|
136
171
|
attr_reader :roles
|
|
137
172
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
|
173
|
+
#
|
|
174
|
+
# See {SecretStores}.
|
|
138
175
|
attr_reader :secret_stores
|
|
139
176
|
attr_reader :_test_options
|
|
140
177
|
end
|
data/lib/svc.rb
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
#
|
|
15
15
|
|
|
16
|
-
# This file was generated by protogen. DO NOT EDIT.
|
|
16
|
+
# @internal This file was generated by protogen. DO NOT EDIT.
|
|
17
17
|
|
|
18
18
|
this_dir = File.expand_path(File.dirname(__FILE__))
|
|
19
19
|
lib_dir = File.join(this_dir, "grpc")
|
|
@@ -23,9 +23,13 @@ require "enumerator"
|
|
|
23
23
|
Dir[File.join(__dir__, "grpc", "*.rb")].each { |file| require file }
|
|
24
24
|
Dir[File.join(__dir__, "models", "*.rb")].each { |file| require file }
|
|
25
25
|
|
|
26
|
-
module SDM
|
|
27
|
-
# AccountAttachments assign an account to a role
|
|
26
|
+
module SDM #:nodoc:
|
|
27
|
+
# AccountAttachments assign an account to a role.
|
|
28
|
+
#
|
|
29
|
+
# See {AccountAttachment}.
|
|
28
30
|
class AccountAttachments
|
|
31
|
+
extend Gem::Deprecate
|
|
32
|
+
|
|
29
33
|
def initialize(host, insecure, parent)
|
|
30
34
|
begin
|
|
31
35
|
if insecure
|
|
@@ -168,7 +172,11 @@ module SDM
|
|
|
168
172
|
end
|
|
169
173
|
|
|
170
174
|
# AccountGrants assign a resource directly to an account, giving the account the permission to connect to that resource.
|
|
175
|
+
#
|
|
176
|
+
# See {AccountGrant}.
|
|
171
177
|
class AccountGrants
|
|
178
|
+
extend Gem::Deprecate
|
|
179
|
+
|
|
172
180
|
def initialize(host, insecure, parent)
|
|
173
181
|
begin
|
|
174
182
|
if insecure
|
|
@@ -313,7 +321,13 @@ module SDM
|
|
|
313
321
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
314
322
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
315
323
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
324
|
+
#
|
|
325
|
+
# See:
|
|
326
|
+
# {Service}
|
|
327
|
+
# {User}
|
|
316
328
|
class Accounts
|
|
329
|
+
extend Gem::Deprecate
|
|
330
|
+
|
|
317
331
|
def initialize(host, insecure, parent)
|
|
318
332
|
begin
|
|
319
333
|
if insecure
|
|
@@ -389,7 +403,7 @@ module SDM
|
|
|
389
403
|
resp
|
|
390
404
|
end
|
|
391
405
|
|
|
392
|
-
# Update
|
|
406
|
+
# Update replaces all the fields of an Account by ID.
|
|
393
407
|
def update(
|
|
394
408
|
account,
|
|
395
409
|
deadline: nil
|
|
@@ -419,7 +433,7 @@ module SDM
|
|
|
419
433
|
resp
|
|
420
434
|
end
|
|
421
435
|
|
|
422
|
-
# Delete removes
|
|
436
|
+
# Delete removes an Account by ID.
|
|
423
437
|
def delete(
|
|
424
438
|
id,
|
|
425
439
|
deadline: nil
|
|
@@ -488,6 +502,8 @@ module SDM
|
|
|
488
502
|
|
|
489
503
|
# ControlPanel contains all administrative controls.
|
|
490
504
|
class ControlPanel
|
|
505
|
+
extend Gem::Deprecate
|
|
506
|
+
|
|
491
507
|
def initialize(host, insecure, parent)
|
|
492
508
|
begin
|
|
493
509
|
if insecure
|
|
@@ -564,7 +580,13 @@ module SDM
|
|
|
564
580
|
# Nodes make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:
|
|
565
581
|
# - **Gateways** are the entry points into network. They listen for connection from the strongDM client, and provide access to databases and servers.
|
|
566
582
|
# - **Relays** are used to extend the strongDM network into segmented subnets. They provide access to databases and servers but do not listen for incoming connections.
|
|
583
|
+
#
|
|
584
|
+
# See:
|
|
585
|
+
# {Gateway}
|
|
586
|
+
# {Relay}
|
|
567
587
|
class Nodes
|
|
588
|
+
extend Gem::Deprecate
|
|
589
|
+
|
|
568
590
|
def initialize(host, insecure, parent)
|
|
569
591
|
begin
|
|
570
592
|
if insecure
|
|
@@ -640,7 +662,7 @@ module SDM
|
|
|
640
662
|
resp
|
|
641
663
|
end
|
|
642
664
|
|
|
643
|
-
# Update
|
|
665
|
+
# Update replaces all the fields of a Node by ID.
|
|
644
666
|
def update(
|
|
645
667
|
node,
|
|
646
668
|
deadline: nil
|
|
@@ -737,7 +759,84 @@ module SDM
|
|
|
737
759
|
end
|
|
738
760
|
end
|
|
739
761
|
|
|
762
|
+
# Resources are databases, servers, clusters, websites, or clouds that strongDM
|
|
763
|
+
# delegates access to.
|
|
764
|
+
#
|
|
765
|
+
# See:
|
|
766
|
+
# {AKS}
|
|
767
|
+
# {AKSBasicAuth}
|
|
768
|
+
# {AKSServiceAccount}
|
|
769
|
+
# {AKSServiceAccountUserImpersonation}
|
|
770
|
+
# {AKSUserImpersonation}
|
|
771
|
+
# {AmazonEKS}
|
|
772
|
+
# {AmazonEKSUserImpersonation}
|
|
773
|
+
# {AmazonES}
|
|
774
|
+
# {AmazonMQAMQP091}
|
|
775
|
+
# {Athena}
|
|
776
|
+
# {AuroraMysql}
|
|
777
|
+
# {AuroraPostgres}
|
|
778
|
+
# {AWS}
|
|
779
|
+
# {Azure}
|
|
780
|
+
# {AzureCertificate}
|
|
781
|
+
# {AzurePostgres}
|
|
782
|
+
# {BigQuery}
|
|
783
|
+
# {Cassandra}
|
|
784
|
+
# {Citus}
|
|
785
|
+
# {Clustrix}
|
|
786
|
+
# {Cockroach}
|
|
787
|
+
# {DB2I}
|
|
788
|
+
# {DB2LUW}
|
|
789
|
+
# {DocumentDBHost}
|
|
790
|
+
# {DocumentDBReplicaSet}
|
|
791
|
+
# {Druid}
|
|
792
|
+
# {DynamoDB}
|
|
793
|
+
# {Elastic}
|
|
794
|
+
# {ElasticacheRedis}
|
|
795
|
+
# {GCP}
|
|
796
|
+
# {GoogleGKE}
|
|
797
|
+
# {GoogleGKEUserImpersonation}
|
|
798
|
+
# {Greenplum}
|
|
799
|
+
# {HTTPAuth}
|
|
800
|
+
# {HTTPBasicAuth}
|
|
801
|
+
# {HTTPNoAuth}
|
|
802
|
+
# {Kubernetes}
|
|
803
|
+
# {KubernetesBasicAuth}
|
|
804
|
+
# {KubernetesServiceAccount}
|
|
805
|
+
# {KubernetesServiceAccountUserImpersonation}
|
|
806
|
+
# {KubernetesUserImpersonation}
|
|
807
|
+
# {Maria}
|
|
808
|
+
# {Memcached}
|
|
809
|
+
# {Memsql}
|
|
810
|
+
# {MongoHost}
|
|
811
|
+
# {MongoLegacyHost}
|
|
812
|
+
# {MongoLegacyReplicaset}
|
|
813
|
+
# {MongoReplicaSet}
|
|
814
|
+
# {MongoShardedCluster}
|
|
815
|
+
# {MTLSMysql}
|
|
816
|
+
# {MTLSPostgres}
|
|
817
|
+
# {Mysql}
|
|
818
|
+
# {Neptune}
|
|
819
|
+
# {NeptuneIAM}
|
|
820
|
+
# {Oracle}
|
|
821
|
+
# {Postgres}
|
|
822
|
+
# {Presto}
|
|
823
|
+
# {RabbitMQAMQP091}
|
|
824
|
+
# {RawTCP}
|
|
825
|
+
# {RDP}
|
|
826
|
+
# {Redis}
|
|
827
|
+
# {Redshift}
|
|
828
|
+
# {SingleStore}
|
|
829
|
+
# {Snowflake}
|
|
830
|
+
# {SQLServer}
|
|
831
|
+
# {SSH}
|
|
832
|
+
# {SSHCert}
|
|
833
|
+
# {SSHCustomerKey}
|
|
834
|
+
# {Sybase}
|
|
835
|
+
# {SybaseIQ}
|
|
836
|
+
# {Teradata}
|
|
740
837
|
class Resources
|
|
838
|
+
extend Gem::Deprecate
|
|
839
|
+
|
|
741
840
|
def initialize(host, insecure, parent)
|
|
742
841
|
begin
|
|
743
842
|
if insecure
|
|
@@ -849,7 +948,7 @@ module SDM
|
|
|
849
948
|
resp
|
|
850
949
|
end
|
|
851
950
|
|
|
852
|
-
# Update
|
|
951
|
+
# Update replaces all the fields of a Resource by ID.
|
|
853
952
|
def update(
|
|
854
953
|
resource,
|
|
855
954
|
deadline: nil
|
|
@@ -950,7 +1049,13 @@ module SDM
|
|
|
950
1049
|
# that make up those composite roles. When a composite role is attached to another
|
|
951
1050
|
# role, the permissions granted to members of the composite role are augmented to
|
|
952
1051
|
# include the permissions granted to members of the attached role.
|
|
1052
|
+
#
|
|
1053
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
1054
|
+
#
|
|
1055
|
+
# See {RoleAttachment}.
|
|
953
1056
|
class RoleAttachments
|
|
1057
|
+
extend Gem::Deprecate
|
|
1058
|
+
|
|
954
1059
|
def initialize(host, insecure, parent)
|
|
955
1060
|
begin
|
|
956
1061
|
if insecure
|
|
@@ -966,6 +1071,8 @@ module SDM
|
|
|
966
1071
|
end
|
|
967
1072
|
|
|
968
1073
|
# Create registers a new RoleAttachment.
|
|
1074
|
+
#
|
|
1075
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
969
1076
|
def create(
|
|
970
1077
|
role_attachment,
|
|
971
1078
|
deadline: nil
|
|
@@ -995,7 +1102,10 @@ module SDM
|
|
|
995
1102
|
resp
|
|
996
1103
|
end
|
|
997
1104
|
|
|
1105
|
+
deprecate :create, :none, 2022, 6
|
|
998
1106
|
# Get reads one RoleAttachment by ID.
|
|
1107
|
+
#
|
|
1108
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
999
1109
|
def get(
|
|
1000
1110
|
id,
|
|
1001
1111
|
deadline: nil
|
|
@@ -1025,7 +1135,10 @@ module SDM
|
|
|
1025
1135
|
resp
|
|
1026
1136
|
end
|
|
1027
1137
|
|
|
1138
|
+
deprecate :get, :none, 2022, 6
|
|
1028
1139
|
# Delete removes a RoleAttachment by ID.
|
|
1140
|
+
#
|
|
1141
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
1029
1142
|
def delete(
|
|
1030
1143
|
id,
|
|
1031
1144
|
deadline: nil
|
|
@@ -1054,7 +1167,10 @@ module SDM
|
|
|
1054
1167
|
resp
|
|
1055
1168
|
end
|
|
1056
1169
|
|
|
1170
|
+
deprecate :delete, :none, 2022, 6
|
|
1057
1171
|
# List gets a list of RoleAttachments matching a given set of criteria.
|
|
1172
|
+
#
|
|
1173
|
+
# Deprecated: use multi-role via AccountAttachments instead.
|
|
1058
1174
|
def list(
|
|
1059
1175
|
filter,
|
|
1060
1176
|
*args,
|
|
@@ -1090,13 +1206,21 @@ module SDM
|
|
|
1090
1206
|
}
|
|
1091
1207
|
resp
|
|
1092
1208
|
end
|
|
1209
|
+
|
|
1210
|
+
deprecate :list, :none, 2022, 6
|
|
1093
1211
|
end
|
|
1094
1212
|
|
|
1095
1213
|
# RoleGrants represent relationships between composite roles and the roles
|
|
1096
1214
|
# that make up those composite roles. When a composite role is attached to another
|
|
1097
1215
|
# role, the permissions granted to members of the composite role are augmented to
|
|
1098
1216
|
# include the permissions granted to members of the attached role.
|
|
1217
|
+
#
|
|
1218
|
+
# Deprecated: use Role access rules instead.
|
|
1219
|
+
#
|
|
1220
|
+
# See {RoleGrant}.
|
|
1099
1221
|
class RoleGrants
|
|
1222
|
+
extend Gem::Deprecate
|
|
1223
|
+
|
|
1100
1224
|
def initialize(host, insecure, parent)
|
|
1101
1225
|
begin
|
|
1102
1226
|
if insecure
|
|
@@ -1112,6 +1236,8 @@ module SDM
|
|
|
1112
1236
|
end
|
|
1113
1237
|
|
|
1114
1238
|
# Create registers a new RoleGrant.
|
|
1239
|
+
#
|
|
1240
|
+
# Deprecated: use Role access rules instead.
|
|
1115
1241
|
def create(
|
|
1116
1242
|
role_grant,
|
|
1117
1243
|
deadline: nil
|
|
@@ -1141,7 +1267,10 @@ module SDM
|
|
|
1141
1267
|
resp
|
|
1142
1268
|
end
|
|
1143
1269
|
|
|
1270
|
+
deprecate :create, :none, 2022, 6
|
|
1144
1271
|
# Get reads one RoleGrant by ID.
|
|
1272
|
+
#
|
|
1273
|
+
# Deprecated: use Role access rules instead.
|
|
1145
1274
|
def get(
|
|
1146
1275
|
id,
|
|
1147
1276
|
deadline: nil
|
|
@@ -1171,7 +1300,10 @@ module SDM
|
|
|
1171
1300
|
resp
|
|
1172
1301
|
end
|
|
1173
1302
|
|
|
1303
|
+
deprecate :get, :none, 2022, 6
|
|
1174
1304
|
# Delete removes a RoleGrant by ID.
|
|
1305
|
+
#
|
|
1306
|
+
# Deprecated: use Role access rules instead.
|
|
1175
1307
|
def delete(
|
|
1176
1308
|
id,
|
|
1177
1309
|
deadline: nil
|
|
@@ -1200,7 +1332,10 @@ module SDM
|
|
|
1200
1332
|
resp
|
|
1201
1333
|
end
|
|
1202
1334
|
|
|
1335
|
+
deprecate :delete, :none, 2022, 6
|
|
1203
1336
|
# List gets a list of RoleGrants matching a given set of criteria.
|
|
1337
|
+
#
|
|
1338
|
+
# Deprecated: use Role access rules instead.
|
|
1204
1339
|
def list(
|
|
1205
1340
|
filter,
|
|
1206
1341
|
*args,
|
|
@@ -1236,14 +1371,18 @@ module SDM
|
|
|
1236
1371
|
}
|
|
1237
1372
|
resp
|
|
1238
1373
|
end
|
|
1374
|
+
|
|
1375
|
+
deprecate :list, :none, 2022, 6
|
|
1239
1376
|
end
|
|
1240
1377
|
|
|
1241
|
-
#
|
|
1242
|
-
#
|
|
1243
|
-
#
|
|
1244
|
-
#
|
|
1245
|
-
#
|
|
1378
|
+
# A Role has a list of access rules which determine which Resources the members
|
|
1379
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
|
1380
|
+
# AccountAttachments.
|
|
1381
|
+
#
|
|
1382
|
+
# See {Role}.
|
|
1246
1383
|
class Roles
|
|
1384
|
+
extend Gem::Deprecate
|
|
1385
|
+
|
|
1247
1386
|
def initialize(host, insecure, parent)
|
|
1248
1387
|
begin
|
|
1249
1388
|
if insecure
|
|
@@ -1318,7 +1457,7 @@ module SDM
|
|
|
1318
1457
|
resp
|
|
1319
1458
|
end
|
|
1320
1459
|
|
|
1321
|
-
# Update
|
|
1460
|
+
# Update replaces all the fields of a Role by ID.
|
|
1322
1461
|
def update(
|
|
1323
1462
|
role,
|
|
1324
1463
|
deadline: nil
|
|
@@ -1416,7 +1555,17 @@ module SDM
|
|
|
1416
1555
|
end
|
|
1417
1556
|
|
|
1418
1557
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
|
1558
|
+
#
|
|
1559
|
+
# See:
|
|
1560
|
+
# {AWSStore}
|
|
1561
|
+
# {AzureStore}
|
|
1562
|
+
# {GCPStore}
|
|
1563
|
+
# {VaultAppRoleStore}
|
|
1564
|
+
# {VaultTLSStore}
|
|
1565
|
+
# {VaultTokenStore}
|
|
1419
1566
|
class SecretStores
|
|
1567
|
+
extend Gem::Deprecate
|
|
1568
|
+
|
|
1420
1569
|
def initialize(host, insecure, parent)
|
|
1421
1570
|
begin
|
|
1422
1571
|
if insecure
|
|
@@ -1490,7 +1639,7 @@ module SDM
|
|
|
1490
1639
|
resp
|
|
1491
1640
|
end
|
|
1492
1641
|
|
|
1493
|
-
# Update
|
|
1642
|
+
# Update replaces all the fields of a SecretStore by ID.
|
|
1494
1643
|
def update(
|
|
1495
1644
|
secret_store,
|
|
1496
1645
|
deadline: nil
|
data/lib/version
CHANGED
data/lib/version.rb
CHANGED