strongdm 1.0.34 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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