strongdm 1.0.0 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/doc/LICENSE.html +45 -136
- data/doc/Object.html +623 -105
- data/doc/README_md.html +15 -7
- data/doc/SDM.html +16 -24
- data/doc/SDM/AKS.html +150 -52
- data/doc/SDM/AKSBasicAuth.html +130 -36
- data/doc/SDM/AKSServiceAccount.html +125 -32
- data/doc/SDM/AccountAttachment.html +77 -27
- data/doc/SDM/AccountAttachmentCreateOptions.html +62 -13
- data/doc/SDM/AccountAttachmentCreateResponse.html +75 -24
- data/doc/SDM/AccountAttachmentDeleteResponse.html +69 -19
- data/doc/SDM/AccountAttachmentGetResponse.html +75 -23
- data/doc/SDM/AccountAttachments.html +62 -61
- data/doc/SDM/AccountCreateResponse.html +80 -27
- data/doc/SDM/AccountDeleteResponse.html +69 -17
- data/doc/SDM/AccountGetResponse.html +74 -21
- data/doc/SDM/AccountGrant.html +89 -39
- data/doc/SDM/AccountGrantCreateResponse.html +75 -23
- data/doc/SDM/AccountGrantDeleteResponse.html +69 -18
- data/doc/SDM/AccountGrantGetResponse.html +75 -22
- data/doc/SDM/AccountGrants.html +63 -58
- data/doc/SDM/AccountUpdateResponse.html +74 -21
- data/doc/SDM/Accounts.html +74 -68
- data/doc/SDM/AlreadyExistsError.html +13 -10
- data/doc/SDM/AmazonEKS.html +163 -48
- data/doc/SDM/AmazonES.html +117 -40
- data/doc/SDM/Athena.html +117 -40
- data/doc/SDM/AuroraMysql.html +122 -44
- data/doc/SDM/AuroraPostgres.html +127 -48
- data/doc/SDM/AuthenticationError.html +13 -10
- data/doc/SDM/BadRequestError.html +13 -10
- data/doc/SDM/BigQuery.html +117 -40
- data/doc/SDM/Cassandra.html +122 -44
- data/doc/SDM/Citus.html +409 -0
- data/doc/SDM/Client.html +29 -48
- data/doc/SDM/Clustrix.html +122 -44
- data/doc/SDM/Cockroach.html +127 -48
- data/doc/SDM/CreateResponseMetadata.html +59 -9
- data/doc/SDM/DB2.html +391 -0
- data/doc/SDM/DeadlineExceededError.html +13 -10
- data/doc/SDM/DeleteResponseMetadata.html +60 -10
- data/doc/SDM/Druid.html +117 -40
- data/doc/SDM/DynamoDB.html +117 -40
- data/doc/SDM/Elastic.html +122 -44
- data/doc/SDM/ElasticacheRedis.html +117 -40
- data/doc/SDM/Gateway.html +108 -39
- data/doc/SDM/GetResponseMetadata.html +60 -10
- data/doc/SDM/GoogleGKE.html +135 -40
- data/doc/SDM/Greenplum.html +127 -48
- data/doc/SDM/HTTPAuth.html +122 -44
- data/doc/SDM/HTTPBasicAuth.html +127 -48
- data/doc/SDM/HTTPNoAuth.html +117 -40
- data/doc/SDM/InternalError.html +13 -10
- data/doc/SDM/Kubernetes.html +150 -52
- data/doc/SDM/KubernetesBasicAuth.html +130 -36
- data/doc/SDM/KubernetesServiceAccount.html +125 -32
- data/doc/SDM/Maria.html +122 -44
- data/doc/SDM/Memcached.html +107 -32
- data/doc/SDM/Memsql.html +122 -44
- data/doc/SDM/MongoHost.html +127 -48
- data/doc/SDM/MongoLegacyHost.html +132 -52
- data/doc/SDM/MongoLegacyReplicaset.html +137 -56
- data/doc/SDM/MongoReplicaSet.html +137 -56
- data/doc/SDM/Mysql.html +122 -44
- data/doc/SDM/NodeCreateResponse.html +80 -27
- data/doc/SDM/NodeDeleteResponse.html +69 -17
- data/doc/SDM/NodeGetResponse.html +74 -21
- data/doc/SDM/NodeUpdateResponse.html +74 -21
- data/doc/SDM/Nodes.html +75 -70
- data/doc/SDM/NotFoundError.html +13 -10
- data/doc/SDM/Oracle.html +127 -48
- data/doc/SDM/PermissionError.html +13 -10
- data/doc/SDM/Plumbing.html +4177 -3576
- data/doc/SDM/Postgres.html +127 -48
- data/doc/SDM/Presto.html +127 -48
- data/doc/SDM/RDP.html +117 -40
- data/doc/SDM/RPCError.html +12 -8
- data/doc/SDM/RateLimitError.html +13 -10
- data/doc/SDM/RateLimitMetadata.html +81 -29
- data/doc/SDM/Redis.html +112 -36
- data/doc/SDM/Redshift.html +127 -48
- data/doc/SDM/Relay.html +96 -27
- data/doc/SDM/ResourceCreateResponse.html +74 -21
- data/doc/SDM/ResourceDeleteResponse.html +69 -17
- data/doc/SDM/ResourceGetResponse.html +74 -21
- data/doc/SDM/ResourceUpdateResponse.html +74 -22
- data/doc/SDM/Resources.html +71 -63
- data/doc/SDM/Role.html +96 -27
- data/doc/SDM/RoleAttachment.html +77 -26
- data/doc/SDM/RoleAttachmentCreateResponse.html +75 -24
- data/doc/SDM/RoleAttachmentDeleteResponse.html +69 -19
- data/doc/SDM/RoleAttachmentGetResponse.html +75 -22
- data/doc/SDM/RoleAttachments.html +63 -60
- data/doc/SDM/RoleCreateResponse.html +75 -23
- data/doc/SDM/RoleDeleteResponse.html +69 -17
- data/doc/SDM/RoleGetResponse.html +75 -22
- data/doc/SDM/RoleGrant.html +77 -24
- data/doc/SDM/RoleGrantCreateResponse.html +75 -23
- data/doc/SDM/RoleGrantDeleteResponse.html +69 -18
- data/doc/SDM/RoleGrantGetResponse.html +75 -22
- data/doc/SDM/RoleGrants.html +63 -60
- data/doc/SDM/RoleUpdateResponse.html +75 -23
- data/doc/SDM/Roles.html +76 -74
- data/doc/SDM/SQLServer.html +132 -52
- data/doc/SDM/SSH.html +135 -40
- data/doc/SDM/SSHCert.html +373 -0
- data/doc/SDM/Service.html +95 -25
- data/doc/SDM/Snowflake.html +122 -44
- data/doc/SDM/Sybase.html +117 -40
- data/doc/SDM/SybaseIQ.html +117 -40
- data/doc/SDM/Teradata.html +117 -40
- data/doc/SDM/UpdateResponseMetadata.html +60 -10
- data/doc/SDM/User.html +104 -31
- data/doc/V1.html +35 -11
- data/doc/V1/AccountAttachments.html +10 -6
- data/doc/V1/AccountAttachments/Service.html +11 -8
- data/doc/V1/AccountGrants.html +10 -6
- data/doc/V1/AccountGrants/Service.html +11 -9
- data/doc/V1/Accounts.html +10 -6
- data/doc/V1/Accounts/Service.html +12 -10
- data/doc/V1/Nodes.html +10 -6
- data/doc/V1/Nodes/Service.html +13 -13
- data/doc/V1/Resources.html +10 -6
- data/doc/V1/Resources/Service.html +10 -6
- data/doc/V1/RoleAttachments.html +10 -6
- data/doc/V1/RoleAttachments/Service.html +11 -11
- data/doc/V1/RoleGrants.html +10 -6
- data/doc/V1/RoleGrants/Service.html +11 -11
- data/doc/V1/Roles.html +10 -6
- data/doc/V1/Roles/Service.html +11 -12
- data/doc/V1/Tags.html +113 -0
- data/doc/created.rid +45 -37
- data/doc/css/fonts.css +6 -6
- data/doc/css/rdoc.css +22 -1
- data/doc/examples/Gemfile.html +14 -4
- data/doc/examples/Gemfile_lock.html +14 -4
- data/doc/examples/README_md.html +14 -4
- data/doc/examples/okta-sync/Gemfile.html +105 -0
- data/doc/examples/okta-sync/Gemfile_lock.html +146 -0
- data/doc/index.html +23 -10
- data/doc/js/darkfish.js +23 -100
- data/doc/js/navigation.js +4 -41
- data/doc/js/navigation.js.gz +0 -0
- data/doc/js/search.js +32 -31
- data/doc/js/search_index.js +1 -1
- data/doc/js/search_index.js.gz +0 -0
- data/doc/js/searcher.js +7 -6
- data/doc/js/searcher.js.gz +0 -0
- data/doc/lib/version.html +16 -6
- data/doc/strongdm_gemspec.html +15 -5
- data/doc/table_of_contents.html +1587 -771
- data/examples/Gemfile +2 -2
- data/examples/ldap-sync/ldapSync.rb +290 -0
- data/examples/listUsers.rb +8 -8
- data/examples/okta-sync/Gemfile +4 -0
- data/examples/okta-sync/Gemfile.lock +38 -0
- data/examples/okta-sync/matchers.yml +11 -0
- data/examples/okta-sync/oktaSync.rb +173 -0
- data/examples/panicButton.rb +103 -119
- data/lib/errors/errors.rb +55 -53
- data/lib/grpc/account_attachments_pb.rb +9 -14
- data/lib/grpc/account_attachments_services_pb.rb +7 -8
- data/lib/grpc/account_grants_pb.rb +10 -10
- data/lib/grpc/account_grants_services_pb.rb +8 -9
- data/lib/grpc/accounts_pb.rb +12 -9
- data/lib/grpc/accounts_services_pb.rb +7 -8
- data/lib/grpc/drivers_pb.rb +104 -7
- data/lib/grpc/nodes_pb.rb +12 -9
- data/lib/grpc/nodes_services_pb.rb +7 -8
- data/lib/grpc/options_pb.rb +16 -5
- data/lib/grpc/plumbing.rb +4367 -4084
- data/lib/grpc/protoc-gen-swagger/options/annotations_pb.rb +4 -4
- data/lib/grpc/resources_pb.rb +9 -9
- data/lib/grpc/resources_services_pb.rb +7 -8
- data/lib/grpc/role_attachments_pb.rb +9 -9
- data/lib/grpc/role_attachments_services_pb.rb +7 -8
- data/lib/grpc/role_grants_pb.rb +9 -9
- data/lib/grpc/role_grants_services_pb.rb +7 -8
- data/lib/grpc/roles_pb.rb +11 -9
- data/lib/grpc/roles_services_pb.rb +7 -8
- data/lib/grpc/spec_pb.rb +7 -8
- data/lib/grpc/tags_pb.rb +36 -0
- data/lib/models/porcelain.rb +4966 -4017
- data/lib/strongdm.rb +94 -95
- data/lib/svc.rb +1200 -1224
- data/lib/version +16 -2
- data/lib/version.rb +6 -6
- data/strongdm.gemspec +10 -10
- metadata +27 -15
data/doc/SDM/Citus.html
ADDED
@@ -0,0 +1,409 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
|
3
|
+
<html>
|
4
|
+
<head>
|
5
|
+
<meta charset="UTF-8">
|
6
|
+
|
7
|
+
<title>class SDM::Citus - RDoc Documentation</title>
|
8
|
+
|
9
|
+
<script type="text/javascript">
|
10
|
+
var rdoc_rel_prefix = "../";
|
11
|
+
var index_rel_prefix = "../";
|
12
|
+
</script>
|
13
|
+
|
14
|
+
<script src="../js/navigation.js" defer></script>
|
15
|
+
<script src="../js/search.js" defer></script>
|
16
|
+
<script src="../js/search_index.js" defer></script>
|
17
|
+
<script src="../js/searcher.js" defer></script>
|
18
|
+
<script src="../js/darkfish.js" defer></script>
|
19
|
+
|
20
|
+
<link href="../css/fonts.css" rel="stylesheet">
|
21
|
+
<link href="../css/rdoc.css" rel="stylesheet">
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
|
26
|
+
<body id="top" role="document" class="class">
|
27
|
+
<nav role="navigation">
|
28
|
+
<div id="project-navigation">
|
29
|
+
<div id="home-section" role="region" title="Quick navigation" class="nav-section">
|
30
|
+
<h2>
|
31
|
+
<a href="../index.html" rel="home">Home</a>
|
32
|
+
</h2>
|
33
|
+
|
34
|
+
<div id="table-of-contents-navigation">
|
35
|
+
<a href="../table_of_contents.html#pages">Pages</a>
|
36
|
+
<a href="../table_of_contents.html#classes">Classes</a>
|
37
|
+
<a href="../table_of_contents.html#methods">Methods</a>
|
38
|
+
</div>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div id="search-section" role="search" class="project-section initially-hidden">
|
42
|
+
<form action="#" method="get" accept-charset="utf-8">
|
43
|
+
<div id="search-field-wrapper">
|
44
|
+
<input id="search-field" role="combobox" aria-label="Search"
|
45
|
+
aria-autocomplete="list" aria-controls="search-results"
|
46
|
+
type="text" name="search" placeholder="Search" spellcheck="false"
|
47
|
+
title="Type to search, Up and Down to navigate, Enter to load">
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<ul id="search-results" aria-label="Search Results"
|
51
|
+
aria-busy="false" aria-expanded="false"
|
52
|
+
aria-atomic="false" class="initially-hidden"></ul>
|
53
|
+
</form>
|
54
|
+
</div>
|
55
|
+
|
56
|
+
</div>
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
<div id="class-metadata">
|
61
|
+
|
62
|
+
<div id="parent-class-section" class="nav-section">
|
63
|
+
<h3>Parent</h3>
|
64
|
+
|
65
|
+
|
66
|
+
<p class="link"><a href="../Object.html">Object</a>
|
67
|
+
|
68
|
+
</div>
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
<!-- Method Quickref -->
|
73
|
+
<div id="method-list-section" class="nav-section">
|
74
|
+
<h3>Methods</h3>
|
75
|
+
|
76
|
+
<ul class="link-list" role="directory">
|
77
|
+
|
78
|
+
<li ><a href="#method-c-new">::new</a>
|
79
|
+
|
80
|
+
<li ><a href="#method-i-to_json">#to_json</a>
|
81
|
+
|
82
|
+
</ul>
|
83
|
+
</div>
|
84
|
+
|
85
|
+
</div>
|
86
|
+
</nav>
|
87
|
+
|
88
|
+
<main role="main" aria-labelledby="class-SDM::Citus">
|
89
|
+
<h1 id="class-SDM::Citus" class="class">
|
90
|
+
class SDM::Citus
|
91
|
+
</h1>
|
92
|
+
|
93
|
+
<section class="description">
|
94
|
+
|
95
|
+
</section>
|
96
|
+
|
97
|
+
|
98
|
+
<section id="5Buntitled-5D" class="documentation-section">
|
99
|
+
|
100
|
+
|
101
|
+
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
<section class="attribute-method-details" class="method-section">
|
107
|
+
<header>
|
108
|
+
<h3>Attributes</h3>
|
109
|
+
</header>
|
110
|
+
|
111
|
+
|
112
|
+
<div id="attribute-i-database" class="method-detail">
|
113
|
+
<div class="method-heading attribute-method-heading">
|
114
|
+
<span class="method-name">database</span><span
|
115
|
+
class="attribute-access-type">[RW]</span>
|
116
|
+
</div>
|
117
|
+
|
118
|
+
<div class="method-description">
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
</div>
|
123
|
+
</div>
|
124
|
+
|
125
|
+
<div id="attribute-i-healthy" class="method-detail">
|
126
|
+
<div class="method-heading attribute-method-heading">
|
127
|
+
<span class="method-name">healthy</span><span
|
128
|
+
class="attribute-access-type">[RW]</span>
|
129
|
+
</div>
|
130
|
+
|
131
|
+
<div class="method-description">
|
132
|
+
|
133
|
+
<p>True if the datasource is reachable and the credentials are valid.</p>
|
134
|
+
|
135
|
+
</div>
|
136
|
+
</div>
|
137
|
+
|
138
|
+
<div id="attribute-i-hostname" class="method-detail">
|
139
|
+
<div class="method-heading attribute-method-heading">
|
140
|
+
<span class="method-name">hostname</span><span
|
141
|
+
class="attribute-access-type">[RW]</span>
|
142
|
+
</div>
|
143
|
+
|
144
|
+
<div class="method-description">
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
</div>
|
149
|
+
</div>
|
150
|
+
|
151
|
+
<div id="attribute-i-id" class="method-detail">
|
152
|
+
<div class="method-heading attribute-method-heading">
|
153
|
+
<span class="method-name">id</span><span
|
154
|
+
class="attribute-access-type">[RW]</span>
|
155
|
+
</div>
|
156
|
+
|
157
|
+
<div class="method-description">
|
158
|
+
|
159
|
+
<p>Unique identifier of the Resource.</p>
|
160
|
+
|
161
|
+
</div>
|
162
|
+
</div>
|
163
|
+
|
164
|
+
<div id="attribute-i-name" class="method-detail">
|
165
|
+
<div class="method-heading attribute-method-heading">
|
166
|
+
<span class="method-name">name</span><span
|
167
|
+
class="attribute-access-type">[RW]</span>
|
168
|
+
</div>
|
169
|
+
|
170
|
+
<div class="method-description">
|
171
|
+
|
172
|
+
<p>Unique human-readable name of the Resource.</p>
|
173
|
+
|
174
|
+
</div>
|
175
|
+
</div>
|
176
|
+
|
177
|
+
<div id="attribute-i-override_database" class="method-detail">
|
178
|
+
<div class="method-heading attribute-method-heading">
|
179
|
+
<span class="method-name">override_database</span><span
|
180
|
+
class="attribute-access-type">[RW]</span>
|
181
|
+
</div>
|
182
|
+
|
183
|
+
<div class="method-description">
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
</div>
|
188
|
+
</div>
|
189
|
+
|
190
|
+
<div id="attribute-i-password" class="method-detail">
|
191
|
+
<div class="method-heading attribute-method-heading">
|
192
|
+
<span class="method-name">password</span><span
|
193
|
+
class="attribute-access-type">[RW]</span>
|
194
|
+
</div>
|
195
|
+
|
196
|
+
<div class="method-description">
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
</div>
|
201
|
+
</div>
|
202
|
+
|
203
|
+
<div id="attribute-i-port" class="method-detail">
|
204
|
+
<div class="method-heading attribute-method-heading">
|
205
|
+
<span class="method-name">port</span><span
|
206
|
+
class="attribute-access-type">[RW]</span>
|
207
|
+
</div>
|
208
|
+
|
209
|
+
<div class="method-description">
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
</div>
|
214
|
+
</div>
|
215
|
+
|
216
|
+
<div id="attribute-i-port_override" class="method-detail">
|
217
|
+
<div class="method-heading attribute-method-heading">
|
218
|
+
<span class="method-name">port_override</span><span
|
219
|
+
class="attribute-access-type">[RW]</span>
|
220
|
+
</div>
|
221
|
+
|
222
|
+
<div class="method-description">
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
</div>
|
227
|
+
</div>
|
228
|
+
|
229
|
+
<div id="attribute-i-tags" class="method-detail">
|
230
|
+
<div class="method-heading attribute-method-heading">
|
231
|
+
<span class="method-name">tags</span><span
|
232
|
+
class="attribute-access-type">[RW]</span>
|
233
|
+
</div>
|
234
|
+
|
235
|
+
<div class="method-description">
|
236
|
+
|
237
|
+
<p>Tags is a map of key, value pairs.</p>
|
238
|
+
|
239
|
+
</div>
|
240
|
+
</div>
|
241
|
+
|
242
|
+
<div id="attribute-i-username" class="method-detail">
|
243
|
+
<div class="method-heading attribute-method-heading">
|
244
|
+
<span class="method-name">username</span><span
|
245
|
+
class="attribute-access-type">[RW]</span>
|
246
|
+
</div>
|
247
|
+
|
248
|
+
<div class="method-description">
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
</div>
|
253
|
+
</div>
|
254
|
+
|
255
|
+
</section>
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
<section id="public-class-5Buntitled-5D-method-details" class="method-section">
|
260
|
+
<header>
|
261
|
+
<h3>Public Class Methods</h3>
|
262
|
+
</header>
|
263
|
+
|
264
|
+
|
265
|
+
<div id="method-c-new" class="method-detail ">
|
266
|
+
|
267
|
+
<div class="method-heading">
|
268
|
+
<span class="method-name">new</span><span
|
269
|
+
class="method-args">( id:nil \ , name:nil \ , healthy:nil \ , tags:nil \ , hostname:nil \ , username:nil \ , password:nil \ , database:nil \ , port_override:nil \ , port:nil \ , override_database:nil \ )</span>
|
270
|
+
|
271
|
+
<span class="method-click-advice">click to toggle source</span>
|
272
|
+
|
273
|
+
</div>
|
274
|
+
|
275
|
+
|
276
|
+
<div class="method-description">
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
<div class="method-source-code" id="new-source">
|
284
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 3574</span>
|
285
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(
|
286
|
+
<span class="ruby-value">id:</span><span class="ruby-keyword">nil</span> \
|
287
|
+
,
|
288
|
+
<span class="ruby-value">name:</span><span class="ruby-keyword">nil</span> \
|
289
|
+
,
|
290
|
+
<span class="ruby-value">healthy:</span><span class="ruby-keyword">nil</span> \
|
291
|
+
,
|
292
|
+
<span class="ruby-value">tags:</span><span class="ruby-keyword">nil</span> \
|
293
|
+
,
|
294
|
+
<span class="ruby-value">hostname:</span><span class="ruby-keyword">nil</span> \
|
295
|
+
,
|
296
|
+
<span class="ruby-value">username:</span><span class="ruby-keyword">nil</span> \
|
297
|
+
,
|
298
|
+
<span class="ruby-value">password:</span><span class="ruby-keyword">nil</span> \
|
299
|
+
,
|
300
|
+
<span class="ruby-value">database:</span><span class="ruby-keyword">nil</span> \
|
301
|
+
,
|
302
|
+
<span class="ruby-value">port_override:</span><span class="ruby-keyword">nil</span> \
|
303
|
+
,
|
304
|
+
<span class="ruby-value">port:</span><span class="ruby-keyword">nil</span> \
|
305
|
+
,
|
306
|
+
<span class="ruby-value">override_database:</span><span class="ruby-keyword">nil</span> \
|
307
|
+
)
|
308
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
309
|
+
<span class="ruby-ivar">@id</span> = <span class="ruby-identifier">id</span>
|
310
|
+
<span class="ruby-keyword">end</span>
|
311
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
312
|
+
<span class="ruby-ivar">@name</span> = <span class="ruby-identifier">name</span>
|
313
|
+
<span class="ruby-keyword">end</span>
|
314
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">healthy</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
315
|
+
<span class="ruby-ivar">@healthy</span> = <span class="ruby-identifier">healthy</span>
|
316
|
+
<span class="ruby-keyword">end</span>
|
317
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">tags</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
318
|
+
<span class="ruby-ivar">@tags</span> = <span class="ruby-identifier">tags</span>
|
319
|
+
<span class="ruby-keyword">end</span>
|
320
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">hostname</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
321
|
+
<span class="ruby-ivar">@hostname</span> = <span class="ruby-identifier">hostname</span>
|
322
|
+
<span class="ruby-keyword">end</span>
|
323
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">username</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
324
|
+
<span class="ruby-ivar">@username</span> = <span class="ruby-identifier">username</span>
|
325
|
+
<span class="ruby-keyword">end</span>
|
326
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">password</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
327
|
+
<span class="ruby-ivar">@password</span> = <span class="ruby-identifier">password</span>
|
328
|
+
<span class="ruby-keyword">end</span>
|
329
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">database</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
330
|
+
<span class="ruby-ivar">@database</span> = <span class="ruby-identifier">database</span>
|
331
|
+
<span class="ruby-keyword">end</span>
|
332
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port_override</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
333
|
+
<span class="ruby-ivar">@port_override</span> = <span class="ruby-identifier">port_override</span>
|
334
|
+
<span class="ruby-keyword">end</span>
|
335
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">port</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
336
|
+
<span class="ruby-ivar">@port</span> = <span class="ruby-identifier">port</span>
|
337
|
+
<span class="ruby-keyword">end</span>
|
338
|
+
<span class="ruby-keyword">if</span> <span class="ruby-identifier">override_database</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
|
339
|
+
<span class="ruby-ivar">@override_database</span> = <span class="ruby-identifier">override_database</span>
|
340
|
+
<span class="ruby-keyword">end</span>
|
341
|
+
<span class="ruby-keyword">end</span></pre>
|
342
|
+
</div>
|
343
|
+
|
344
|
+
</div>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
</div>
|
350
|
+
|
351
|
+
|
352
|
+
</section>
|
353
|
+
|
354
|
+
<section id="public-instance-5Buntitled-5D-method-details" class="method-section">
|
355
|
+
<header>
|
356
|
+
<h3>Public Instance Methods</h3>
|
357
|
+
</header>
|
358
|
+
|
359
|
+
|
360
|
+
<div id="method-i-to_json" class="method-detail ">
|
361
|
+
|
362
|
+
<div class="method-heading">
|
363
|
+
<span class="method-name">to_json</span><span
|
364
|
+
class="method-args">(options={})</span>
|
365
|
+
|
366
|
+
<span class="method-click-advice">click to toggle source</span>
|
367
|
+
|
368
|
+
</div>
|
369
|
+
|
370
|
+
|
371
|
+
<div class="method-description">
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
<div class="method-source-code" id="to_json-source">
|
379
|
+
<pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 3631</span>
|
380
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">to_json</span>(<span class="ruby-identifier">options</span>={})
|
381
|
+
<span class="ruby-identifier">hash</span> = {}
|
382
|
+
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">var</span><span class="ruby-operator">|</span>
|
383
|
+
<span class="ruby-identifier">hash</span>[<span class="ruby-identifier">var</span>.<span class="ruby-identifier">id2name</span>.<span class="ruby-identifier">delete_prefix</span>(<span class="ruby-string">'@'</span>)] = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">instance_variable_get</span> <span class="ruby-identifier">var</span>
|
384
|
+
<span class="ruby-keyword">end</span>
|
385
|
+
<span class="ruby-identifier">hash</span>.<span class="ruby-identifier">to_json</span>
|
386
|
+
<span class="ruby-keyword">end</span></pre>
|
387
|
+
</div>
|
388
|
+
|
389
|
+
</div>
|
390
|
+
|
391
|
+
|
392
|
+
|
393
|
+
|
394
|
+
</div>
|
395
|
+
|
396
|
+
|
397
|
+
</section>
|
398
|
+
|
399
|
+
</section>
|
400
|
+
|
401
|
+
</main>
|
402
|
+
|
403
|
+
|
404
|
+
<footer id="validator-badges" role="contentinfo">
|
405
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
406
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.2.
|
407
|
+
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
408
|
+
</footer>
|
409
|
+
|
data/doc/SDM/Client.html
CHANGED
@@ -8,16 +8,21 @@
|
|
8
8
|
|
9
9
|
<script type="text/javascript">
|
10
10
|
var rdoc_rel_prefix = "../";
|
11
|
+
var index_rel_prefix = "../";
|
11
12
|
</script>
|
12
13
|
|
13
|
-
<script src="../js/
|
14
|
-
<script src="../js/
|
14
|
+
<script src="../js/navigation.js" defer></script>
|
15
|
+
<script src="../js/search.js" defer></script>
|
16
|
+
<script src="../js/search_index.js" defer></script>
|
17
|
+
<script src="../js/searcher.js" defer></script>
|
18
|
+
<script src="../js/darkfish.js" defer></script>
|
15
19
|
|
16
20
|
<link href="../css/fonts.css" rel="stylesheet">
|
17
21
|
<link href="../css/rdoc.css" rel="stylesheet">
|
18
22
|
|
19
23
|
|
20
24
|
|
25
|
+
|
21
26
|
<body id="top" role="document" class="class">
|
22
27
|
<nav role="navigation">
|
23
28
|
<div id="project-navigation">
|
@@ -93,14 +98,11 @@
|
|
93
98
|
|
94
99
|
<section class="description">
|
95
100
|
|
96
|
-
<p><a href="Client.html">Client</a> bundles all the services together and
|
97
|
-
initializes them.</p>
|
101
|
+
<p><a href="Client.html"><code>Client</code></a> bundles all the services together and initializes them.</p>
|
98
102
|
|
99
103
|
</section>
|
100
104
|
|
101
105
|
|
102
|
-
|
103
|
-
|
104
106
|
<section id="5Buntitled-5D" class="documentation-section">
|
105
107
|
|
106
108
|
|
@@ -136,8 +138,7 @@ initializes them.
|
|
136
138
|
|
137
139
|
<div class="method-description">
|
138
140
|
|
139
|
-
<p><a href="AccountAttachments.html">AccountAttachments</a> assign an account
|
140
|
-
to a role.</p>
|
141
|
+
<p><a href="AccountAttachments.html"><code>AccountAttachments</code></a> assign an account to a role.</p>
|
141
142
|
|
142
143
|
</div>
|
143
144
|
</div>
|
@@ -150,9 +151,7 @@ to a role.
|
|
150
151
|
|
151
152
|
<div class="method-description">
|
152
153
|
|
153
|
-
<p><a href="AccountGrants.html">AccountGrants</a>
|
154
|
-
to an account, giving the account the permission to connect to that
|
155
|
-
resource.</p>
|
154
|
+
<p><a href="AccountGrants.html"><code>AccountGrants</code></a> assign a resource directly to an account, giving the account the permission to connect to that resource.</p>
|
156
155
|
|
157
156
|
</div>
|
158
157
|
</div>
|
@@ -165,11 +164,9 @@ resource.
|
|
165
164
|
|
166
165
|
<div class="method-description">
|
167
166
|
|
168
|
-
<p><a href="Accounts.html">Accounts</a> are users that have access to
|
169
|
-
strongDM. There are two types of accounts:</p>
|
167
|
+
<p><a href="Accounts.html"><code>Accounts</code></a> are users that have access to strongDM. There are two types of accounts:</p>
|
170
168
|
<ol><li>
|
171
|
-
<p>**Regular users:** humans who are authenticated through username and
|
172
|
-
password or SSO</p>
|
169
|
+
<p>**Regular users:** humans who are authenticated through username and password or SSO</p>
|
173
170
|
</li><li>
|
174
171
|
<p>**Service users:** machines that are authneticated using a service token</p>
|
175
172
|
</li></ol>
|
@@ -237,14 +234,11 @@ password or SSO
|
|
237
234
|
|
238
235
|
<div class="method-description">
|
239
236
|
|
240
|
-
<p><a href="Nodes.html">Nodes</a> make up the strongDM network, and allow your
|
241
|
-
users to connect securely to your resources. There are two types of nodes:</p>
|
237
|
+
<p><a href="Nodes.html"><code>Nodes</code></a> make up the strongDM network, and allow your users to connect securely to your resources. There are two types of nodes:</p>
|
242
238
|
<ol><li>
|
243
|
-
<p>*<strong>Relay:</strong>* creates connectivity to your datasources, while
|
244
|
-
maintaining the egress-only nature of your firewall</p>
|
239
|
+
<p>*<strong>Relay:</strong>* creates connectivity to your datasources, while maintaining the egress-only nature of your firewall</p>
|
245
240
|
</li><li>
|
246
|
-
<p>*<strong>Gateways:</strong>* a relay that also listens for connections from
|
247
|
-
strongDM clients</p>
|
241
|
+
<p>*<strong>Gateways:</strong>* a relay that also listens for connections from strongDM clients</p>
|
248
242
|
</li></ol>
|
249
243
|
|
250
244
|
</div>
|
@@ -271,11 +265,7 @@ strongDM clients
|
|
271
265
|
|
272
266
|
<div class="method-description">
|
273
267
|
|
274
|
-
<p><a href="RoleAttachments.html">RoleAttachments</a> represent relationships
|
275
|
-
between composite roles and the roles that make up those composite roles.
|
276
|
-
When a composite role is attached to another role, the permissions granted
|
277
|
-
to members of the composite role are augmented to include the permissions
|
278
|
-
granted to members of the attached role.</p>
|
268
|
+
<p><a href="RoleAttachments.html"><code>RoleAttachments</code></a> represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.</p>
|
279
269
|
|
280
270
|
</div>
|
281
271
|
</div>
|
@@ -288,11 +278,7 @@ granted to members of the attached role.
|
|
288
278
|
|
289
279
|
<div class="method-description">
|
290
280
|
|
291
|
-
<p><a href="RoleGrants.html">RoleGrants</a> represent relationships between
|
292
|
-
composite roles and the roles that make up those composite roles. When a
|
293
|
-
composite role is attached to another role, the permissions granted to
|
294
|
-
members of the composite role are augmented to include the permissions
|
295
|
-
granted to members of the attached role.</p>
|
281
|
+
<p><a href="RoleGrants.html"><code>RoleGrants</code></a> represent relationships between composite roles and the roles that make up those composite roles. When a composite role is attached to another role, the permissions granted to members of the composite role are augmented to include the permissions granted to members of the attached role.</p>
|
296
282
|
|
297
283
|
</div>
|
298
284
|
</div>
|
@@ -305,13 +291,7 @@ granted to members of the attached role.
|
|
305
291
|
|
306
292
|
<div class="method-description">
|
307
293
|
|
308
|
-
<p><a href="Roles.html">Roles</a> are tools for controlling user access to
|
309
|
-
resources. Each <a href="Role.html">Role</a> holds a list of resources
|
310
|
-
which they grant access to. Composite roles are a special type of <a
|
311
|
-
href="Role.html">Role</a> which have no resource associations of their own,
|
312
|
-
but instead grant access to the combined resources associated with a set of
|
313
|
-
child roles. Each user can be a member of one <a href="Role.html">Role</a>
|
314
|
-
or composite role.</p>
|
294
|
+
<p><a href="Roles.html"><code>Roles</code></a> are tools for controlling user access to resources. Each <a href="Role.html"><code>Role</code></a> holds a list of resources which they grant access to. Composite roles are a special type of <a href="Role.html"><code>Role</code></a> which have no resource associations of their own, but instead grant access to the combined resources associated with a set of child roles. Each user can be a member of one <a href="Role.html"><code>Role</code></a> or composite role.</p>
|
315
295
|
|
316
296
|
</div>
|
317
297
|
</div>
|
@@ -330,7 +310,7 @@ or composite role.
|
|
330
310
|
|
331
311
|
<div class="method-heading">
|
332
312
|
<span class="method-name">new</span><span
|
333
|
-
class="method-args">(api_access_key, api_secret_key, host
|
313
|
+
class="method-args">(api_access_key, api_secret_key, host:"api.strongdm.com:443", insecure:false)</span>
|
334
314
|
|
335
315
|
<span class="method-click-advice">click to toggle source</span>
|
336
316
|
|
@@ -346,7 +326,7 @@ or composite role.
|
|
346
326
|
|
347
327
|
<div class="method-source-code" id="new-source">
|
348
328
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 31</span>
|
349
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">api_access_key</span>, <span class="ruby-identifier">api_secret_key</span>, <span class="ruby-
|
329
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">initialize</span>(<span class="ruby-identifier">api_access_key</span>, <span class="ruby-identifier">api_secret_key</span>, <span class="ruby-value">host:</span><span class="ruby-string">"api.strongdm.com:443"</span>, <span class="ruby-value">insecure:</span><span class="ruby-keyword">false</span>)
|
350
330
|
<span class="ruby-ivar">@api_access_key</span> = <span class="ruby-identifier">api_access_key</span>
|
351
331
|
<span class="ruby-ivar">@api_secret_key</span> = <span class="ruby-constant">Base64</span>.<span class="ruby-identifier">strict_decode64</span>(<span class="ruby-identifier">api_secret_key</span>)
|
352
332
|
<span class="ruby-ivar">@max_retries</span> = <span class="ruby-constant">DEFAULT_MAX_RETRIES</span>
|
@@ -400,8 +380,8 @@ or composite role.
|
|
400
380
|
|
401
381
|
<div class="method-source-code" id="get_metadata-source">
|
402
382
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 48</span>
|
403
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">get_metadata</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>)
|
404
|
-
<span class="ruby-keyword">return</span> { <span class="ruby-
|
383
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_metadata</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>)
|
384
|
+
<span class="ruby-keyword">return</span> { <span class="ruby-value">'x-sdm-authentication':</span> <span class="ruby-ivar">@api_access_key</span>,<span class="ruby-value">'x-sdm-signature':</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_proto</span>)}
|
405
385
|
<span class="ruby-keyword">end</span></pre>
|
406
386
|
</div>
|
407
387
|
|
@@ -433,7 +413,7 @@ or composite role.
|
|
433
413
|
|
434
414
|
<div class="method-source-code" id="jitterSleep-source">
|
435
415
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 68</span>
|
436
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">iter</span>)
|
416
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">jitterSleep</span>(<span class="ruby-identifier">iter</span>)
|
437
417
|
<span class="ruby-identifier">dur_max</span> = <span class="ruby-ivar">@base_retry_delay</span> <span class="ruby-operator">*</span> <span class="ruby-value">2</span><span class="ruby-operator">**</span><span class="ruby-identifier">iter</span>
|
438
418
|
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">dur_max</span> <span class="ruby-operator">></span> <span class="ruby-ivar">@max_retry_delay</span>)
|
439
419
|
<span class="ruby-identifier">dur_max</span> = <span class="ruby-ivar">@max_retry_delay</span>
|
@@ -471,8 +451,8 @@ or composite role.
|
|
471
451
|
|
472
452
|
<div class="method-source-code" id="shouldRetry-source">
|
473
453
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 77</span>
|
474
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">iter</span>, <span class="ruby-identifier">err</span>)
|
475
|
-
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">iter</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@max_retries</span><span class="ruby-
|
454
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">shouldRetry</span>(<span class="ruby-identifier">iter</span>, <span class="ruby-identifier">err</span>)
|
455
|
+
<span class="ruby-keyword">if</span> (<span class="ruby-identifier">iter</span> <span class="ruby-operator">>=</span> <span class="ruby-ivar">@max_retries</span><span class="ruby-value">-1</span>)
|
476
456
|
<span class="ruby-keyword">return</span> <span class="ruby-keyword">false</span>
|
477
457
|
<span class="ruby-keyword">end</span>
|
478
458
|
<span class="ruby-keyword">if</span> <span class="ruby-keyword">not</span> <span class="ruby-identifier">err</span> .<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">GRPC</span><span class="ruby-operator">::</span><span class="ruby-constant">BadStatus</span>
|
@@ -510,7 +490,7 @@ or composite role.
|
|
510
490
|
|
511
491
|
<div class="method-source-code" id="sign-source">
|
512
492
|
<pre><span class="ruby-comment"># File lib/strongdm.rb, line 52</span>
|
513
|
-
<span class="ruby-keyword">def</span> <span class="ruby-identifier">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">msg_bytes</span>)
|
493
|
+
<span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">sign</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">msg_bytes</span>)
|
514
494
|
<span class="ruby-identifier">current_utc_date</span> = <span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>.<span class="ruby-identifier">utc</span>
|
515
495
|
<span class="ruby-identifier">date</span> = <span class="ruby-identifier">sprintf</span>(<span class="ruby-string">"%04d-%02d-%02d"</span>,<span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">year</span>, <span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">month</span>, <span class="ruby-identifier">current_utc_date</span>.<span class="ruby-identifier">day</span>)
|
516
496
|
|
@@ -538,12 +518,13 @@ or composite role.
|
|
538
518
|
</section>
|
539
519
|
|
540
520
|
</section>
|
521
|
+
|
541
522
|
</main>
|
542
523
|
|
543
524
|
|
544
525
|
<footer id="validator-badges" role="contentinfo">
|
545
|
-
<p><a href="
|
546
|
-
<p>Generated by <a href="
|
526
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
527
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.1.2.
|
547
528
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
548
529
|
</footer>
|
549
530
|
|