strongdm 1.0.34 → 2.2.0

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