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.
Files changed (253) hide show
  1. checksums.yaml +4 -4
  2. data/.git/ORIG_HEAD +1 -1
  3. data/.git/config +0 -3
  4. data/.git/index +0 -0
  5. data/.git/logs/HEAD +3 -4
  6. data/.git/logs/refs/heads/master +2 -2
  7. data/.git/logs/refs/remotes/origin/HEAD +1 -1
  8. data/.git/objects/pack/pack-ae9c31d15ecb69c51d515e053295673b38840788.idx +0 -0
  9. data/.git/objects/pack/{pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.pack → pack-ae9c31d15ecb69c51d515e053295673b38840788.pack} +0 -0
  10. data/.git/packed-refs +5 -2
  11. data/.git/refs/heads/master +1 -1
  12. data/.yardopts +9 -0
  13. data/README.md +18 -6
  14. data/lib/errors/errors.rb +1 -1
  15. data/lib/grpc/account_attachments_services_pb.rb +1 -1
  16. data/lib/grpc/accounts_services_pb.rb +2 -2
  17. data/lib/grpc/drivers_pb.rb +41 -0
  18. data/lib/grpc/nodes_services_pb.rb +1 -1
  19. data/lib/grpc/options_pb.rb +35 -41
  20. data/lib/grpc/plumbing.rb +1235 -982
  21. data/lib/grpc/resources_services_pb.rb +3 -1
  22. data/lib/grpc/role_attachments_services_pb.rb +10 -0
  23. data/lib/grpc/role_grants_services_pb.rb +10 -0
  24. data/lib/grpc/roles_services_pb.rb +4 -6
  25. data/lib/grpc/secret_store_types_pb.rb +17 -0
  26. data/lib/grpc/secret_stores_services_pb.rb +1 -1
  27. data/lib/models/porcelain.rb +1255 -2961
  28. data/lib/strongdm.rb +53 -16
  29. data/lib/svc.rb +163 -14
  30. data/lib/version +1 -1
  31. data/lib/version.rb +1 -1
  32. metadata +5 -224
  33. data/.git/FETCH_HEAD +0 -2
  34. data/.git/logs/refs/heads/development +0 -1
  35. data/.git/objects/pack/pack-802051e74a1de9449b3bc69f695b0b5e55e448e5.idx +0 -0
  36. data/.git/refs/heads/development +0 -1
  37. data/doc/LICENSE.html +0 -187
  38. data/doc/Object.html +0 -114
  39. data/doc/README_md.html +0 -146
  40. data/doc/SDM/AKS.html +0 -352
  41. data/doc/SDM/AKSBasicAuth.html +0 -337
  42. data/doc/SDM/AKSServiceAccount.html +0 -322
  43. data/doc/SDM/AKSServiceAccountUserImpersonation.html +0 -322
  44. data/doc/SDM/AKSUserImpersonation.html +0 -352
  45. data/doc/SDM/AWS.html +0 -337
  46. data/doc/SDM/AWSStore.html +0 -232
  47. data/doc/SDM/AccountAttachment.html +0 -219
  48. data/doc/SDM/AccountAttachmentCreateResponse.html +0 -219
  49. data/doc/SDM/AccountAttachmentDeleteResponse.html +0 -204
  50. data/doc/SDM/AccountAttachmentGetResponse.html +0 -219
  51. data/doc/SDM/AccountAttachments.html +0 -354
  52. data/doc/SDM/AccountCreateResponse.html +0 -234
  53. data/doc/SDM/AccountDeleteResponse.html +0 -204
  54. data/doc/SDM/AccountGetResponse.html +0 -219
  55. data/doc/SDM/AccountGrant.html +0 -249
  56. data/doc/SDM/AccountGrantCreateResponse.html +0 -219
  57. data/doc/SDM/AccountGrantDeleteResponse.html +0 -204
  58. data/doc/SDM/AccountGrantGetResponse.html +0 -219
  59. data/doc/SDM/AccountGrants.html +0 -354
  60. data/doc/SDM/AccountUpdateResponse.html +0 -219
  61. data/doc/SDM/Accounts.html +0 -409
  62. data/doc/SDM/AlreadyExistsError.html +0 -140
  63. data/doc/SDM/AmazonEKS.html +0 -397
  64. data/doc/SDM/AmazonEKSUserImpersonation.html +0 -397
  65. data/doc/SDM/AmazonES.html +0 -367
  66. data/doc/SDM/AmazonMQAMQP091.html +0 -352
  67. data/doc/SDM/Athena.html +0 -367
  68. data/doc/SDM/AuroraMysql.html +0 -352
  69. data/doc/SDM/AuroraPostgres.html +0 -367
  70. data/doc/SDM/AuthenticationError.html +0 -140
  71. data/doc/SDM/Azure.html +0 -307
  72. data/doc/SDM/AzureCertificate.html +0 -307
  73. data/doc/SDM/AzurePostgres.html +0 -367
  74. data/doc/SDM/AzureStore.html +0 -232
  75. data/doc/SDM/BadRequestError.html +0 -140
  76. data/doc/SDM/BigQuery.html +0 -337
  77. data/doc/SDM/Cassandra.html +0 -352
  78. data/doc/SDM/Citus.html +0 -367
  79. data/doc/SDM/Client.html +0 -443
  80. data/doc/SDM/Clustrix.html +0 -352
  81. data/doc/SDM/Cockroach.html +0 -367
  82. data/doc/SDM/ControlPanel.html +0 -248
  83. data/doc/SDM/ControlPanelGetSSHCAPublicKeyResponse.html +0 -219
  84. data/doc/SDM/ControlPanelVerifyJWTResponse.html +0 -219
  85. data/doc/SDM/CreateResponseMetadata.html +0 -169
  86. data/doc/SDM/DB2LUW.html +0 -352
  87. data/doc/SDM/DB2i.html +0 -352
  88. data/doc/SDM/DeadlineExceededError.html +0 -140
  89. data/doc/SDM/DeleteResponseMetadata.html +0 -169
  90. data/doc/SDM/DocumentDBHost.html +0 -352
  91. data/doc/SDM/DocumentDBReplicaSet.html +0 -367
  92. data/doc/SDM/Druid.html +0 -337
  93. data/doc/SDM/DynamoDB.html +0 -367
  94. data/doc/SDM/Elastic.html +0 -352
  95. data/doc/SDM/ElasticacheRedis.html +0 -337
  96. data/doc/SDM/GCP.html +0 -292
  97. data/doc/SDM/Gateway.html +0 -279
  98. data/doc/SDM/GetResponseMetadata.html +0 -169
  99. data/doc/SDM/GoogleGKE.html +0 -322
  100. data/doc/SDM/GoogleGKEUserImpersonation.html +0 -322
  101. data/doc/SDM/Greenplum.html +0 -367
  102. data/doc/SDM/HTTPAuth.html +0 -352
  103. data/doc/SDM/HTTPBasicAuth.html +0 -367
  104. data/doc/SDM/HTTPNoAuth.html +0 -337
  105. data/doc/SDM/InternalError.html +0 -140
  106. data/doc/SDM/Kubernetes.html +0 -352
  107. data/doc/SDM/KubernetesBasicAuth.html +0 -337
  108. data/doc/SDM/KubernetesServiceAccount.html +0 -322
  109. data/doc/SDM/KubernetesServiceAccountUserImpersonation.html +0 -322
  110. data/doc/SDM/KubernetesUserImpersonation.html +0 -352
  111. data/doc/SDM/Maria.html +0 -352
  112. data/doc/SDM/Memcached.html +0 -307
  113. data/doc/SDM/Memsql.html +0 -352
  114. data/doc/SDM/MongoHost.html +0 -367
  115. data/doc/SDM/MongoLegacyHost.html +0 -382
  116. data/doc/SDM/MongoLegacyReplicaset.html +0 -397
  117. data/doc/SDM/MongoReplicaSet.html +0 -397
  118. data/doc/SDM/MongoShardedCluster.html +0 -352
  119. data/doc/SDM/Mysql.html +0 -352
  120. data/doc/SDM/Neptune.html +0 -307
  121. data/doc/SDM/NeptuneIAM.html +0 -382
  122. data/doc/SDM/NodeCreateResponse.html +0 -234
  123. data/doc/SDM/NodeDeleteResponse.html +0 -204
  124. data/doc/SDM/NodeGetResponse.html +0 -219
  125. data/doc/SDM/NodeUpdateResponse.html +0 -219
  126. data/doc/SDM/Nodes.html +0 -409
  127. data/doc/SDM/NotFoundError.html +0 -140
  128. data/doc/SDM/Oracle.html +0 -367
  129. data/doc/SDM/PermissionError.html +0 -140
  130. data/doc/SDM/Plumbing.html +0 -16086
  131. data/doc/SDM/Postgres.html +0 -367
  132. data/doc/SDM/Presto.html +0 -367
  133. data/doc/SDM/RDP.html +0 -352
  134. data/doc/SDM/RPCError.html +0 -157
  135. data/doc/SDM/RabbitMQAMQP091.html +0 -352
  136. data/doc/SDM/RateLimitError.html +0 -157
  137. data/doc/SDM/RateLimitMetadata.html +0 -234
  138. data/doc/SDM/RawTCP.html +0 -307
  139. data/doc/SDM/Redis.html +0 -322
  140. data/doc/SDM/Redshift.html +0 -367
  141. data/doc/SDM/Relay.html +0 -249
  142. data/doc/SDM/ResourceCreateResponse.html +0 -219
  143. data/doc/SDM/ResourceDeleteResponse.html +0 -204
  144. data/doc/SDM/ResourceGetResponse.html +0 -219
  145. data/doc/SDM/ResourceUpdateResponse.html +0 -219
  146. data/doc/SDM/Resources.html +0 -456
  147. data/doc/SDM/Role.html +0 -249
  148. data/doc/SDM/RoleAttachment.html +0 -219
  149. data/doc/SDM/RoleAttachmentCreateResponse.html +0 -219
  150. data/doc/SDM/RoleAttachmentDeleteResponse.html +0 -204
  151. data/doc/SDM/RoleAttachmentGetResponse.html +0 -219
  152. data/doc/SDM/RoleAttachments.html +0 -354
  153. data/doc/SDM/RoleCreateResponse.html +0 -219
  154. data/doc/SDM/RoleDeleteResponse.html +0 -204
  155. data/doc/SDM/RoleGetResponse.html +0 -219
  156. data/doc/SDM/RoleGrant.html +0 -219
  157. data/doc/SDM/RoleGrantCreateResponse.html +0 -219
  158. data/doc/SDM/RoleGrantDeleteResponse.html +0 -204
  159. data/doc/SDM/RoleGrantGetResponse.html +0 -219
  160. data/doc/SDM/RoleGrants.html +0 -354
  161. data/doc/SDM/RoleUpdateResponse.html +0 -219
  162. data/doc/SDM/Roles.html +0 -403
  163. data/doc/SDM/SQLServer.html +0 -382
  164. data/doc/SDM/SSH.html +0 -352
  165. data/doc/SDM/SSHCert.html +0 -337
  166. data/doc/SDM/SSHCustomerKey.html +0 -352
  167. data/doc/SDM/SecretStoreCreateResponse.html +0 -219
  168. data/doc/SDM/SecretStoreDeleteResponse.html +0 -204
  169. data/doc/SDM/SecretStoreGetResponse.html +0 -219
  170. data/doc/SDM/SecretStoreUpdateResponse.html +0 -219
  171. data/doc/SDM/SecretStores.html +0 -403
  172. data/doc/SDM/Service.html +0 -234
  173. data/doc/SDM/SingleStore.html +0 -352
  174. data/doc/SDM/Snowflake.html +0 -352
  175. data/doc/SDM/Sybase.html +0 -337
  176. data/doc/SDM/SybaseIQ.html +0 -337
  177. data/doc/SDM/Tag.html +0 -202
  178. data/doc/SDM/Teradata.html +0 -337
  179. data/doc/SDM/UpdateResponseMetadata.html +0 -169
  180. data/doc/SDM/User.html +0 -264
  181. data/doc/SDM/VaultTLSStore.html +0 -292
  182. data/doc/SDM/VaultTokenStore.html +0 -247
  183. data/doc/SDM.html +0 -122
  184. data/doc/V1/AccountAttachments/Service.html +0 -107
  185. data/doc/V1/AccountAttachments.html +0 -100
  186. data/doc/V1/AccountGrants/Service.html +0 -107
  187. data/doc/V1/AccountGrants.html +0 -100
  188. data/doc/V1/Accounts/Service.html +0 -112
  189. data/doc/V1/Accounts.html +0 -100
  190. data/doc/V1/ControlPanel/Service.html +0 -107
  191. data/doc/V1/ControlPanel.html +0 -100
  192. data/doc/V1/Nodes/Service.html +0 -112
  193. data/doc/V1/Nodes.html +0 -100
  194. data/doc/V1/Resources/Service.html +0 -105
  195. data/doc/V1/Resources.html +0 -100
  196. data/doc/V1/RoleAttachments/Service.html +0 -107
  197. data/doc/V1/RoleAttachments.html +0 -100
  198. data/doc/V1/RoleGrants/Service.html +0 -107
  199. data/doc/V1/RoleGrants.html +0 -100
  200. data/doc/V1/Roles/Service.html +0 -107
  201. data/doc/V1/Roles.html +0 -100
  202. data/doc/V1/SecretStores/Service.html +0 -107
  203. data/doc/V1/SecretStores.html +0 -100
  204. data/doc/V1/Tags.html +0 -100
  205. data/doc/V1.html +0 -506
  206. data/doc/created.rid +0 -37
  207. data/doc/css/fonts.css +0 -167
  208. data/doc/css/rdoc.css +0 -639
  209. data/doc/examples/Gemfile.html +0 -89
  210. data/doc/fonts/Lato-Light.ttf +0 -0
  211. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  212. data/doc/fonts/Lato-Regular.ttf +0 -0
  213. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  214. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  215. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  216. data/doc/images/add.png +0 -0
  217. data/doc/images/arrow_up.png +0 -0
  218. data/doc/images/brick.png +0 -0
  219. data/doc/images/brick_link.png +0 -0
  220. data/doc/images/bug.png +0 -0
  221. data/doc/images/bullet_black.png +0 -0
  222. data/doc/images/bullet_toggle_minus.png +0 -0
  223. data/doc/images/bullet_toggle_plus.png +0 -0
  224. data/doc/images/date.png +0 -0
  225. data/doc/images/delete.png +0 -0
  226. data/doc/images/find.png +0 -0
  227. data/doc/images/loadingAnimation.gif +0 -0
  228. data/doc/images/macFFBgHack.png +0 -0
  229. data/doc/images/package.png +0 -0
  230. data/doc/images/page_green.png +0 -0
  231. data/doc/images/page_white_text.png +0 -0
  232. data/doc/images/page_white_width.png +0 -0
  233. data/doc/images/plugin.png +0 -0
  234. data/doc/images/ruby.png +0 -0
  235. data/doc/images/tag_blue.png +0 -0
  236. data/doc/images/tag_green.png +0 -0
  237. data/doc/images/transparent.png +0 -0
  238. data/doc/images/wrench.png +0 -0
  239. data/doc/images/wrench_orange.png +0 -0
  240. data/doc/images/zoom.png +0 -0
  241. data/doc/index.html +0 -257
  242. data/doc/js/darkfish.js +0 -84
  243. data/doc/js/navigation.js +0 -105
  244. data/doc/js/navigation.js.gz +0 -0
  245. data/doc/js/search.js +0 -110
  246. data/doc/js/search_index.js +0 -1
  247. data/doc/js/search_index.js.gz +0 -0
  248. data/doc/js/searcher.js +0 -229
  249. data/doc/js/searcher.js.gz +0 -0
  250. data/doc/lib/version.html +0 -92
  251. data/doc/table_of_contents.html +0 -4680
  252. data/examples/Gemfile +0 -3
  253. 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
- DEFAULT_MAX_RETRIES = 3
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 or composite 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
- # Roles are tools for controlling user access to resources. Each Role holds a
132
- # list of resources which they grant access to. Composite roles are a special
133
- # type of Role which have no resource associations of their own, but instead
134
- # grant access to the combined resources associated with a set of child roles.
135
- # Each user can be a member of one Role or composite role.
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 or composite 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 patches a Account by ID.
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 a Account by ID.
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 patches a Node by ID.
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 patches a Resource by ID.
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
- # Roles are tools for controlling user access to resources. Each Role holds a
1242
- # list of resources which they grant access to. Composite roles are a special
1243
- # type of Role which have no resource associations of their own, but instead
1244
- # grant access to the combined resources associated with a set of child roles.
1245
- # Each user can be a member of one Role or composite role.
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 patches a Role by ID.
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 patches a SecretStore by ID.
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
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "1.0.34"
16
+ VERSION = "2.2.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "1.0.34"
16
+ VERSION = "2.2.0"
17
17
  end