strongdm 1.0.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 (216) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +30 -0
  4. data/doc/Google.html +95 -0
  5. data/doc/Google/Protobuf.html +95 -0
  6. data/doc/LICENSE.html +294 -0
  7. data/doc/Object.html +290 -0
  8. data/doc/README_md.html +128 -0
  9. data/doc/SDM.html +143 -0
  10. data/doc/SDM/AKS.html +347 -0
  11. data/doc/SDM/AKSBasicAuth.html +279 -0
  12. data/doc/SDM/AKSServiceAccount.html +262 -0
  13. data/doc/SDM/AccountAttachment.html +217 -0
  14. data/doc/SDM/AccountAttachmentCreateOptions.html +182 -0
  15. data/doc/SDM/AccountAttachmentCreateResponse.html +216 -0
  16. data/doc/SDM/AccountAttachmentDeleteResponse.html +199 -0
  17. data/doc/SDM/AccountAttachmentGetResponse.html +215 -0
  18. data/doc/SDM/AccountAttachments.html +429 -0
  19. data/doc/SDM/AccountCreateResponse.html +232 -0
  20. data/doc/SDM/AccountDeleteResponse.html +197 -0
  21. data/doc/SDM/AccountGetResponse.html +214 -0
  22. data/doc/SDM/AccountGrant.html +253 -0
  23. data/doc/SDM/AccountGrantCreateResponse.html +215 -0
  24. data/doc/SDM/AccountGrantDeleteResponse.html +198 -0
  25. data/doc/SDM/AccountGrantGetResponse.html +214 -0
  26. data/doc/SDM/AccountGrants.html +425 -0
  27. data/doc/SDM/AccountUpdateResponse.html +214 -0
  28. data/doc/SDM/Accounts.html +492 -0
  29. data/doc/SDM/AlreadyExistsError.html +161 -0
  30. data/doc/SDM/AmazonEKS.html +330 -0
  31. data/doc/SDM/AmazonES.html +296 -0
  32. data/doc/SDM/Athena.html +296 -0
  33. data/doc/SDM/AuroraMysql.html +313 -0
  34. data/doc/SDM/AuroraPostgres.html +330 -0
  35. data/doc/SDM/AuthenticationError.html +161 -0
  36. data/doc/SDM/BadRequestError.html +161 -0
  37. data/doc/SDM/BigQuery.html +296 -0
  38. data/doc/SDM/Cassandra.html +313 -0
  39. data/doc/SDM/Client.html +549 -0
  40. data/doc/SDM/Clustrix.html +313 -0
  41. data/doc/SDM/Cockroach.html +330 -0
  42. data/doc/SDM/CreateResponseMetadata.html +156 -0
  43. data/doc/SDM/DeadlineExceededError.html +161 -0
  44. data/doc/SDM/DeleteResponseMetadata.html +156 -0
  45. data/doc/SDM/Druid.html +296 -0
  46. data/doc/SDM/DynamoDB.html +296 -0
  47. data/doc/SDM/Elastic.html +313 -0
  48. data/doc/SDM/ElasticacheRedis.html +296 -0
  49. data/doc/SDM/Gateway.html +252 -0
  50. data/doc/SDM/GetResponseMetadata.html +156 -0
  51. data/doc/SDM/GoogleGKE.html +296 -0
  52. data/doc/SDM/Greenplum.html +330 -0
  53. data/doc/SDM/HTTPAuth.html +313 -0
  54. data/doc/SDM/HTTPBasicAuth.html +330 -0
  55. data/doc/SDM/HTTPNoAuth.html +296 -0
  56. data/doc/SDM/InternalError.html +161 -0
  57. data/doc/SDM/Kubernetes.html +347 -0
  58. data/doc/SDM/KubernetesBasicAuth.html +279 -0
  59. data/doc/SDM/KubernetesServiceAccount.html +262 -0
  60. data/doc/SDM/Maria.html +313 -0
  61. data/doc/SDM/Memcached.html +262 -0
  62. data/doc/SDM/Memsql.html +313 -0
  63. data/doc/SDM/MongoHost.html +330 -0
  64. data/doc/SDM/MongoLegacyHost.html +347 -0
  65. data/doc/SDM/MongoLegacyReplicaset.html +364 -0
  66. data/doc/SDM/MongoReplicaSet.html +364 -0
  67. data/doc/SDM/Mysql.html +313 -0
  68. data/doc/SDM/NodeCreateResponse.html +232 -0
  69. data/doc/SDM/NodeDeleteResponse.html +197 -0
  70. data/doc/SDM/NodeGetResponse.html +214 -0
  71. data/doc/SDM/NodeUpdateResponse.html +214 -0
  72. data/doc/SDM/Nodes.html +493 -0
  73. data/doc/SDM/NotFoundError.html +161 -0
  74. data/doc/SDM/Oracle.html +330 -0
  75. data/doc/SDM/PermissionError.html +161 -0
  76. data/doc/SDM/Plumbing.html +15821 -0
  77. data/doc/SDM/Postgres.html +330 -0
  78. data/doc/SDM/Presto.html +330 -0
  79. data/doc/SDM/RDP.html +296 -0
  80. data/doc/SDM/RPCError.html +182 -0
  81. data/doc/SDM/RateLimitError.html +183 -0
  82. data/doc/SDM/RateLimitMetadata.html +233 -0
  83. data/doc/SDM/Redis.html +279 -0
  84. data/doc/SDM/Redshift.html +330 -0
  85. data/doc/SDM/Relay.html +216 -0
  86. data/doc/SDM/ResourceCreateResponse.html +214 -0
  87. data/doc/SDM/ResourceDeleteResponse.html +197 -0
  88. data/doc/SDM/ResourceGetResponse.html +214 -0
  89. data/doc/SDM/ResourceUpdateResponse.html +215 -0
  90. data/doc/SDM/Resources.html +482 -0
  91. data/doc/SDM/Role.html +216 -0
  92. data/doc/SDM/RoleAttachment.html +216 -0
  93. data/doc/SDM/RoleAttachmentCreateResponse.html +216 -0
  94. data/doc/SDM/RoleAttachmentDeleteResponse.html +199 -0
  95. data/doc/SDM/RoleAttachmentGetResponse.html +214 -0
  96. data/doc/SDM/RoleAttachments.html +427 -0
  97. data/doc/SDM/RoleCreateResponse.html +215 -0
  98. data/doc/SDM/RoleDeleteResponse.html +197 -0
  99. data/doc/SDM/RoleGetResponse.html +214 -0
  100. data/doc/SDM/RoleGrant.html +214 -0
  101. data/doc/SDM/RoleGrantCreateResponse.html +215 -0
  102. data/doc/SDM/RoleGrantDeleteResponse.html +198 -0
  103. data/doc/SDM/RoleGrantGetResponse.html +214 -0
  104. data/doc/SDM/RoleGrants.html +427 -0
  105. data/doc/SDM/RoleUpdateResponse.html +215 -0
  106. data/doc/SDM/Roles.html +490 -0
  107. data/doc/SDM/SQLServer.html +347 -0
  108. data/doc/SDM/SSH.html +296 -0
  109. data/doc/SDM/Service.html +215 -0
  110. data/doc/SDM/Snowflake.html +313 -0
  111. data/doc/SDM/Sybase.html +296 -0
  112. data/doc/SDM/SybaseIQ.html +296 -0
  113. data/doc/SDM/Teradata.html +296 -0
  114. data/doc/SDM/UpdateResponseMetadata.html +156 -0
  115. data/doc/SDM/User.html +248 -0
  116. data/doc/V1.html +864 -0
  117. data/doc/V1/AccountAttachments.html +109 -0
  118. data/doc/V1/AccountAttachments/Service.html +116 -0
  119. data/doc/V1/AccountGrants.html +109 -0
  120. data/doc/V1/AccountGrants/Service.html +117 -0
  121. data/doc/V1/Accounts.html +109 -0
  122. data/doc/V1/Accounts/Service.html +122 -0
  123. data/doc/V1/Nodes.html +109 -0
  124. data/doc/V1/Nodes/Service.html +124 -0
  125. data/doc/V1/Resources.html +109 -0
  126. data/doc/V1/Resources/Service.html +113 -0
  127. data/doc/V1/RoleAttachments.html +109 -0
  128. data/doc/V1/RoleAttachments/Service.html +119 -0
  129. data/doc/V1/RoleGrants.html +109 -0
  130. data/doc/V1/RoleGrants/Service.html +119 -0
  131. data/doc/V1/Roles.html +109 -0
  132. data/doc/V1/Roles/Service.html +120 -0
  133. data/doc/created.rid +37 -0
  134. data/doc/css/fonts.css +167 -0
  135. data/doc/css/rdoc.css +590 -0
  136. data/doc/examples/Gemfile.html +95 -0
  137. data/doc/examples/Gemfile_lock.html +112 -0
  138. data/doc/examples/README_md.html +95 -0
  139. data/doc/fonts/Lato-Light.ttf +0 -0
  140. data/doc/fonts/Lato-LightItalic.ttf +0 -0
  141. data/doc/fonts/Lato-Regular.ttf +0 -0
  142. data/doc/fonts/Lato-RegularItalic.ttf +0 -0
  143. data/doc/fonts/SourceCodePro-Bold.ttf +0 -0
  144. data/doc/fonts/SourceCodePro-Regular.ttf +0 -0
  145. data/doc/images/add.png +0 -0
  146. data/doc/images/arrow_up.png +0 -0
  147. data/doc/images/brick.png +0 -0
  148. data/doc/images/brick_link.png +0 -0
  149. data/doc/images/bug.png +0 -0
  150. data/doc/images/bullet_black.png +0 -0
  151. data/doc/images/bullet_toggle_minus.png +0 -0
  152. data/doc/images/bullet_toggle_plus.png +0 -0
  153. data/doc/images/date.png +0 -0
  154. data/doc/images/delete.png +0 -0
  155. data/doc/images/find.png +0 -0
  156. data/doc/images/loadingAnimation.gif +0 -0
  157. data/doc/images/macFFBgHack.png +0 -0
  158. data/doc/images/package.png +0 -0
  159. data/doc/images/page_green.png +0 -0
  160. data/doc/images/page_white_text.png +0 -0
  161. data/doc/images/page_white_width.png +0 -0
  162. data/doc/images/plugin.png +0 -0
  163. data/doc/images/ruby.png +0 -0
  164. data/doc/images/tag_blue.png +0 -0
  165. data/doc/images/tag_green.png +0 -0
  166. data/doc/images/transparent.png +0 -0
  167. data/doc/images/wrench.png +0 -0
  168. data/doc/images/wrench_orange.png +0 -0
  169. data/doc/images/zoom.png +0 -0
  170. data/doc/index.html +353 -0
  171. data/doc/js/darkfish.js +161 -0
  172. data/doc/js/jquery.js +4 -0
  173. data/doc/js/navigation.js +142 -0
  174. data/doc/js/navigation.js.gz +0 -0
  175. data/doc/js/search.js +109 -0
  176. data/doc/js/search_index.js +1 -0
  177. data/doc/js/search_index.js.gz +0 -0
  178. data/doc/js/searcher.js +228 -0
  179. data/doc/js/searcher.js.gz +0 -0
  180. data/doc/lib/version.html +98 -0
  181. data/doc/strongdm_gemspec.html +117 -0
  182. data/doc/table_of_contents.html +3002 -0
  183. data/examples/Gemfile +3 -0
  184. data/examples/Gemfile.lock +14 -0
  185. data/examples/README.md +5 -0
  186. data/examples/listUsers.rb +21 -0
  187. data/examples/panicButton.rb +154 -0
  188. data/lib/errors/errors.rb +85 -0
  189. data/lib/grpc/account_attachments_pb.rb +84 -0
  190. data/lib/grpc/account_attachments_services_pb.rb +44 -0
  191. data/lib/grpc/account_grants_pb.rb +82 -0
  192. data/lib/grpc/account_grants_services_pb.rb +44 -0
  193. data/lib/grpc/accounts_pb.rb +107 -0
  194. data/lib/grpc/accounts_services_pb.rb +49 -0
  195. data/lib/grpc/drivers_pb.rb +601 -0
  196. data/lib/grpc/nodes_pb.rb +107 -0
  197. data/lib/grpc/nodes_services_pb.rb +49 -0
  198. data/lib/grpc/options_pb.rb +60 -0
  199. data/lib/grpc/plumbing.rb +4283 -0
  200. data/lib/grpc/protoc-gen-swagger/options/annotations_pb.rb +15 -0
  201. data/lib/grpc/resources_pb.rb +85 -0
  202. data/lib/grpc/resources_services_pb.rb +45 -0
  203. data/lib/grpc/role_attachments_pb.rb +79 -0
  204. data/lib/grpc/role_attachments_services_pb.rb +47 -0
  205. data/lib/grpc/role_grants_pb.rb +79 -0
  206. data/lib/grpc/role_grants_services_pb.rb +47 -0
  207. data/lib/grpc/roles_pb.rb +91 -0
  208. data/lib/grpc/roles_services_pb.rb +50 -0
  209. data/lib/grpc/spec_pb.rb +95 -0
  210. data/lib/models/porcelain.rb +4033 -0
  211. data/lib/strongdm.rb +128 -0
  212. data/lib/svc.rb +1331 -0
  213. data/lib/version +3 -0
  214. data/lib/version.rb +17 -0
  215. data/strongdm.gemspec +23 -0
  216. metadata +318 -0
@@ -0,0 +1,215 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class SDM::RoleUpdateResponse - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ </script>
12
+
13
+ <script src="../js/jquery.js"></script>
14
+ <script src="../js/darkfish.js"></script>
15
+
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="class">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="../index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="../table_of_contents.html#pages">Pages</a>
31
+ <a href="../table_of_contents.html#classes">Classes</a>
32
+ <a href="../table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+ <div id="parent-class-section" class="nav-section">
58
+ <h3>Parent</h3>
59
+
60
+
61
+ <p class="link"><a href="../Object.html">Object</a>
62
+
63
+ </div>
64
+
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <div id="method-list-section" class="nav-section">
69
+ <h3>Methods</h3>
70
+
71
+ <ul class="link-list" role="directory">
72
+
73
+ <li ><a href="#method-c-new">::new</a>
74
+
75
+ </ul>
76
+ </div>
77
+
78
+ </div>
79
+ </nav>
80
+
81
+ <main role="main" aria-labelledby="class-SDM::RoleUpdateResponse">
82
+ <h1 id="class-SDM::RoleUpdateResponse" class="class">
83
+ class SDM::RoleUpdateResponse
84
+ </h1>
85
+
86
+ <section class="description">
87
+
88
+ <p><a href="RoleUpdateResponse.html">RoleUpdateResponse</a> returns the fields
89
+ of a <a href="Role.html">Role</a> after it has been updated by a
90
+ RoleUpdateRequest.</p>
91
+
92
+ </section>
93
+
94
+
95
+
96
+
97
+ <section id="5Buntitled-5D" class="documentation-section">
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <section class="attribute-method-details" class="method-section">
106
+ <header>
107
+ <h3>Attributes</h3>
108
+ </header>
109
+
110
+
111
+ <div id="attribute-i-meta" class="method-detail">
112
+ <div class="method-heading attribute-method-heading">
113
+ <span class="method-name">meta</span><span
114
+ class="attribute-access-type">[RW]</span>
115
+ </div>
116
+
117
+ <div class="method-description">
118
+
119
+ <p>Reserved for future use.</p>
120
+
121
+ </div>
122
+ </div>
123
+
124
+ <div id="attribute-i-rate_limit" class="method-detail">
125
+ <div class="method-heading attribute-method-heading">
126
+ <span class="method-name">rate_limit</span><span
127
+ class="attribute-access-type">[RW]</span>
128
+ </div>
129
+
130
+ <div class="method-description">
131
+
132
+ <p>Rate limit information.</p>
133
+
134
+ </div>
135
+ </div>
136
+
137
+ <div id="attribute-i-role" class="method-detail">
138
+ <div class="method-heading attribute-method-heading">
139
+ <span class="method-name">role</span><span
140
+ class="attribute-access-type">[RW]</span>
141
+ </div>
142
+
143
+ <div class="method-description">
144
+
145
+ <p>The updated <a href="Role.html">Role</a>.</p>
146
+
147
+ </div>
148
+ </div>
149
+
150
+ </section>
151
+
152
+
153
+
154
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
155
+ <header>
156
+ <h3>Public Class Methods</h3>
157
+ </header>
158
+
159
+
160
+ <div id="method-c-new" class="method-detail ">
161
+
162
+ <div class="method-heading">
163
+ <span class="method-name">new</span><span
164
+ class="method-args">( meta:nil \ , role:nil \ , rate_limit:nil \ )</span>
165
+
166
+ <span class="method-click-advice">click to toggle source</span>
167
+
168
+ </div>
169
+
170
+
171
+ <div class="method-description">
172
+
173
+
174
+
175
+
176
+
177
+
178
+ <div class="method-source-code" id="new-source">
179
+ <pre><span class="ruby-comment"># File lib/models/porcelain.rb, line 3970</span>
180
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(
181
+ <span class="ruby-identifier">meta</span><span class="ruby-value">:nil</span> ,
182
+ <span class="ruby-identifier">role</span><span class="ruby-value">:nil</span> ,
183
+ <span class="ruby-identifier">rate_limit</span><span class="ruby-value">:nil</span> )
184
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">meta</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
185
+ <span class="ruby-ivar">@meta</span> = <span class="ruby-identifier">meta</span>
186
+ <span class="ruby-keyword">end</span>
187
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">role</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
188
+ <span class="ruby-ivar">@role</span> = <span class="ruby-identifier">role</span>
189
+ <span class="ruby-keyword">end</span>
190
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">rate_limit</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword">nil</span>
191
+ <span class="ruby-ivar">@rate_limit</span> = <span class="ruby-identifier">rate_limit</span>
192
+ <span class="ruby-keyword">end</span>
193
+ <span class="ruby-keyword">end</span></pre>
194
+ </div>
195
+
196
+ </div>
197
+
198
+
199
+
200
+
201
+ </div>
202
+
203
+
204
+ </section>
205
+
206
+ </section>
207
+ </main>
208
+
209
+
210
+ <footer id="validator-badges" role="contentinfo">
211
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
212
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
213
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
214
+ </footer>
215
+
@@ -0,0 +1,490 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class SDM::Roles - RDoc Documentation</title>
8
+
9
+ <script type="text/javascript">
10
+ var rdoc_rel_prefix = "../";
11
+ </script>
12
+
13
+ <script src="../js/jquery.js"></script>
14
+ <script src="../js/darkfish.js"></script>
15
+
16
+ <link href="../css/fonts.css" rel="stylesheet">
17
+ <link href="../css/rdoc.css" rel="stylesheet">
18
+
19
+
20
+
21
+ <body id="top" role="document" class="class">
22
+ <nav role="navigation">
23
+ <div id="project-navigation">
24
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
25
+ <h2>
26
+ <a href="../index.html" rel="home">Home</a>
27
+ </h2>
28
+
29
+ <div id="table-of-contents-navigation">
30
+ <a href="../table_of_contents.html#pages">Pages</a>
31
+ <a href="../table_of_contents.html#classes">Classes</a>
32
+ <a href="../table_of_contents.html#methods">Methods</a>
33
+ </div>
34
+ </div>
35
+
36
+ <div id="search-section" role="search" class="project-section initially-hidden">
37
+ <form action="#" method="get" accept-charset="utf-8">
38
+ <div id="search-field-wrapper">
39
+ <input id="search-field" role="combobox" aria-label="Search"
40
+ aria-autocomplete="list" aria-controls="search-results"
41
+ type="text" name="search" placeholder="Search" spellcheck="false"
42
+ title="Type to search, Up and Down to navigate, Enter to load">
43
+ </div>
44
+
45
+ <ul id="search-results" aria-label="Search Results"
46
+ aria-busy="false" aria-expanded="false"
47
+ aria-atomic="false" class="initially-hidden"></ul>
48
+ </form>
49
+ </div>
50
+
51
+ </div>
52
+
53
+
54
+
55
+ <div id="class-metadata">
56
+
57
+ <div id="parent-class-section" class="nav-section">
58
+ <h3>Parent</h3>
59
+
60
+
61
+ <p class="link"><a href="../Object.html">Object</a>
62
+
63
+ </div>
64
+
65
+
66
+
67
+ <!-- Method Quickref -->
68
+ <div id="method-list-section" class="nav-section">
69
+ <h3>Methods</h3>
70
+
71
+ <ul class="link-list" role="directory">
72
+
73
+ <li ><a href="#method-c-new">::new</a>
74
+
75
+ <li ><a href="#method-i-create">#create</a>
76
+
77
+ <li ><a href="#method-i-delete">#delete</a>
78
+
79
+ <li ><a href="#method-i-get">#get</a>
80
+
81
+ <li ><a href="#method-i-list">#list</a>
82
+
83
+ <li ><a href="#method-i-update">#update</a>
84
+
85
+ </ul>
86
+ </div>
87
+
88
+ </div>
89
+ </nav>
90
+
91
+ <main role="main" aria-labelledby="class-SDM::Roles">
92
+ <h1 id="class-SDM::Roles" class="class">
93
+ class SDM::Roles
94
+ </h1>
95
+
96
+ <section class="description">
97
+
98
+ <p><a href="Roles.html">Roles</a> are tools for controlling user access to
99
+ resources. Each <a href="Role.html">Role</a> holds a list of resources
100
+ which they grant access to. Composite roles are a special type of <a
101
+ href="Role.html">Role</a> which have no resource associations of their own,
102
+ but instead grant access to the combined resources associated with a set of
103
+ child roles. Each user can be a member of one <a href="Role.html">Role</a>
104
+ or composite role.</p>
105
+
106
+ </section>
107
+
108
+
109
+
110
+
111
+ <section id="5Buntitled-5D" class="documentation-section">
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ <section id="public-class-5Buntitled-5D-method-details" class="method-section">
122
+ <header>
123
+ <h3>Public Class Methods</h3>
124
+ </header>
125
+
126
+
127
+ <div id="method-c-new" class="method-detail ">
128
+
129
+ <div class="method-heading">
130
+ <span class="method-name">new</span><span
131
+ class="method-args">(host, insecure, parent)</span>
132
+
133
+ <span class="method-click-advice">click to toggle source</span>
134
+
135
+ </div>
136
+
137
+
138
+ <div class="method-description">
139
+
140
+
141
+
142
+
143
+
144
+
145
+ <div class="method-source-code" id="new-source">
146
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1157</span>
147
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">insecure</span>, <span class="ruby-identifier">parent</span>)
148
+ <span class="ruby-keyword">begin</span>
149
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">insecure</span>
150
+ <span class="ruby-ivar">@stub</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">Roles</span><span class="ruby-operator">::</span><span class="ruby-constant">Stub</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">host</span>, <span class="ruby-value">:this_channel_is_insecure</span>)
151
+ <span class="ruby-keyword">else</span>
152
+ <span class="ruby-identifier">cred</span> = <span class="ruby-constant">GRPC</span><span class="ruby-operator">::</span><span class="ruby-constant">Core</span><span class="ruby-operator">::</span><span class="ruby-constant">ChannelCredentials</span>.<span class="ruby-identifier">new</span>()
153
+ <span class="ruby-ivar">@stub</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">Roles</span><span class="ruby-operator">::</span><span class="ruby-constant">Stub</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">host</span>, <span class="ruby-identifier">cred</span>)
154
+ <span class="ruby-keyword">end</span>
155
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
156
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
157
+ <span class="ruby-keyword">end</span>
158
+ <span class="ruby-ivar">@parent</span> = <span class="ruby-identifier">parent</span>
159
+ <span class="ruby-keyword">end</span></pre>
160
+ </div>
161
+
162
+ </div>
163
+
164
+
165
+
166
+
167
+ </div>
168
+
169
+
170
+ </section>
171
+
172
+ <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
173
+ <header>
174
+ <h3>Public Instance Methods</h3>
175
+ </header>
176
+
177
+
178
+ <div id="method-i-create" class="method-detail ">
179
+
180
+ <div class="method-heading">
181
+ <span class="method-name">create</span><span
182
+ class="method-args">( role \ , deadline:nil)</span>
183
+
184
+ <span class="method-click-advice">click to toggle source</span>
185
+
186
+ </div>
187
+
188
+
189
+ <div class="method-description">
190
+
191
+ <p>Create registers a new <a href="Role.html">Role</a>.</p>
192
+
193
+
194
+
195
+
196
+ <div class="method-source-code" id="create-source">
197
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1171</span>
198
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">create</span>(
199
+ <span class="ruby-identifier">role</span> ,
200
+ <span class="ruby-identifier">deadline</span><span class="ruby-value">:nil</span>)
201
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">RoleCreateRequest</span>.<span class="ruby-identifier">new</span>()
202
+
203
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">role</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_plumbing</span>(<span class="ruby-identifier">role</span>)
204
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
205
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-keyword">nil</span>
206
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
207
+ <span class="ruby-keyword">begin</span>
208
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-ivar">@stub</span>.<span class="ruby-identifier">create</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">metadata</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-string">&#39;Roles.Create&#39;</span>, <span class="ruby-identifier">req</span>), <span class="ruby-identifier">deadline</span><span class="ruby-value">:deadline</span>)
209
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
210
+ <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">tries</span>, <span class="ruby-identifier">exception</span>))
211
+ <span class="ruby-identifier">tries</span><span class="ruby-operator">+</span><span class="ruby-operator">+</span>
212
+ <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">tries</span>)
213
+ <span class="ruby-keyword">next</span>
214
+ <span class="ruby-keyword">end</span>
215
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
216
+ <span class="ruby-keyword">end</span>
217
+ <span class="ruby-keyword">break</span>
218
+ <span class="ruby-keyword">end</span>
219
+
220
+
221
+ <span class="ruby-identifier">resp</span> = <span class="ruby-constant">RoleCreateResponse</span>.<span class="ruby-identifier">new</span>()
222
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">meta</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">create_response_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>)
223
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">role</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">role</span>)
224
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">rate_limit</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">rate_limit_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">rate_limit</span>)
225
+ <span class="ruby-identifier">resp</span>
226
+ <span class="ruby-keyword">end</span></pre>
227
+ </div>
228
+
229
+ </div>
230
+
231
+
232
+
233
+
234
+ </div>
235
+
236
+
237
+ <div id="method-i-delete" class="method-detail ">
238
+
239
+ <div class="method-heading">
240
+ <span class="method-name">delete</span><span
241
+ class="method-args">( id \ , deadline:nil)</span>
242
+
243
+ <span class="method-click-advice">click to toggle source</span>
244
+
245
+ </div>
246
+
247
+
248
+ <div class="method-description">
249
+
250
+ <p>Delete removes a <a href="Role.html">Role</a> by ID.</p>
251
+
252
+
253
+
254
+
255
+ <div class="method-source-code" id="delete-source">
256
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1264</span>
257
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">delete</span>(
258
+ <span class="ruby-identifier">id</span> ,
259
+ <span class="ruby-identifier">deadline</span><span class="ruby-value">:nil</span>)
260
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">RoleDeleteRequest</span>.<span class="ruby-identifier">new</span>()
261
+
262
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">id</span> = <span class="ruby-identifier">id</span>
263
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
264
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-keyword">nil</span>
265
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
266
+ <span class="ruby-keyword">begin</span>
267
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-ivar">@stub</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">metadata</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-string">&#39;Roles.Delete&#39;</span>, <span class="ruby-identifier">req</span>), <span class="ruby-identifier">deadline</span><span class="ruby-value">:deadline</span>)
268
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
269
+ <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">tries</span>, <span class="ruby-identifier">exception</span>))
270
+ <span class="ruby-identifier">tries</span><span class="ruby-operator">+</span><span class="ruby-operator">+</span>
271
+ <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">tries</span>)
272
+ <span class="ruby-keyword">next</span>
273
+ <span class="ruby-keyword">end</span>
274
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
275
+ <span class="ruby-keyword">end</span>
276
+ <span class="ruby-keyword">break</span>
277
+ <span class="ruby-keyword">end</span>
278
+
279
+
280
+ <span class="ruby-identifier">resp</span> = <span class="ruby-constant">RoleDeleteResponse</span>.<span class="ruby-identifier">new</span>()
281
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">meta</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">delete_response_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>)
282
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">rate_limit</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">rate_limit_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">rate_limit</span>)
283
+ <span class="ruby-identifier">resp</span>
284
+ <span class="ruby-keyword">end</span></pre>
285
+ </div>
286
+
287
+ </div>
288
+
289
+
290
+
291
+
292
+ </div>
293
+
294
+
295
+ <div id="method-i-get" class="method-detail ">
296
+
297
+ <div class="method-heading">
298
+ <span class="method-name">get</span><span
299
+ class="method-args">( id \ , deadline:nil)</span>
300
+
301
+ <span class="method-click-advice">click to toggle source</span>
302
+
303
+ </div>
304
+
305
+
306
+ <div class="method-description">
307
+
308
+ <p>Get reads one <a href="Role.html">Role</a> by ID.</p>
309
+
310
+
311
+
312
+
313
+ <div class="method-source-code" id="get-source">
314
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1202</span>
315
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">get</span>(
316
+ <span class="ruby-identifier">id</span> ,
317
+ <span class="ruby-identifier">deadline</span><span class="ruby-value">:nil</span>)
318
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">RoleGetRequest</span>.<span class="ruby-identifier">new</span>()
319
+
320
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">id</span> = <span class="ruby-identifier">id</span>
321
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
322
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-keyword">nil</span>
323
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
324
+ <span class="ruby-keyword">begin</span>
325
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-ivar">@stub</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">metadata</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-string">&#39;Roles.Get&#39;</span>, <span class="ruby-identifier">req</span>), <span class="ruby-identifier">deadline</span><span class="ruby-value">:deadline</span>)
326
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
327
+ <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">tries</span>, <span class="ruby-identifier">exception</span>))
328
+ <span class="ruby-identifier">tries</span><span class="ruby-operator">+</span><span class="ruby-operator">+</span>
329
+ <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">tries</span>)
330
+ <span class="ruby-keyword">next</span>
331
+ <span class="ruby-keyword">end</span>
332
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
333
+ <span class="ruby-keyword">end</span>
334
+ <span class="ruby-keyword">break</span>
335
+ <span class="ruby-keyword">end</span>
336
+
337
+
338
+ <span class="ruby-identifier">resp</span> = <span class="ruby-constant">RoleGetResponse</span>.<span class="ruby-identifier">new</span>()
339
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">meta</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">get_response_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>)
340
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">role</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">role</span>)
341
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">rate_limit</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">rate_limit_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">rate_limit</span>)
342
+ <span class="ruby-identifier">resp</span>
343
+ <span class="ruby-keyword">end</span></pre>
344
+ </div>
345
+
346
+ </div>
347
+
348
+
349
+
350
+
351
+ </div>
352
+
353
+
354
+ <div id="method-i-list" class="method-detail ">
355
+
356
+ <div class="method-heading">
357
+ <span class="method-name">list</span><span
358
+ class="method-args">( filter \ , *args, deadline:nil)</span>
359
+
360
+ <span class="method-click-advice">click to toggle source</span>
361
+
362
+ </div>
363
+
364
+
365
+ <div class="method-description">
366
+
367
+ <p>List gets a list of <a href="Roles.html">Roles</a> matching a given set of
368
+ criteria.</p>
369
+
370
+
371
+
372
+
373
+ <div class="method-source-code" id="list-source">
374
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1294</span>
375
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">list</span>(
376
+ <span class="ruby-identifier">filter</span> ,
377
+ <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,
378
+ <span class="ruby-identifier">deadline</span><span class="ruby-value">:nil</span>)
379
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">RoleListRequest</span>.<span class="ruby-identifier">new</span>()
380
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">meta</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">ListRequestMetadata</span>.<span class="ruby-identifier">new</span>()
381
+ <span class="ruby-identifier">page_size_option</span> = <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">_test_options</span>[<span class="ruby-string">&#39;PageSize&#39;</span>]
382
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">page_size_option</span>.<span class="ruby-identifier">is_a?</span> <span class="ruby-constant">Integer</span>
383
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">meta</span>.<span class="ruby-identifier">limit</span> = <span class="ruby-identifier">page_size_option</span>
384
+ <span class="ruby-keyword">end</span>
385
+
386
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">filter</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">quote_filter_args</span>(<span class="ruby-identifier">filter</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
387
+ <span class="ruby-identifier">resp</span> = <span class="ruby-constant">Enumerator</span><span class="ruby-operator">::</span><span class="ruby-constant">Generator</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span>
388
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
389
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
390
+ <span class="ruby-keyword">begin</span>
391
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-ivar">@stub</span>.<span class="ruby-identifier">list</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">metadata</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-string">&#39;Roles.List&#39;</span>, <span class="ruby-identifier">req</span>), <span class="ruby-identifier">deadline</span><span class="ruby-value">:deadline</span>)
392
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
393
+ <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">tries</span>, <span class="ruby-identifier">exception</span>))
394
+ <span class="ruby-identifier">tries</span><span class="ruby-operator">+</span><span class="ruby-operator">+</span>
395
+ <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">tries</span>)
396
+ <span class="ruby-keyword">next</span>
397
+ <span class="ruby-keyword">end</span>
398
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
399
+ <span class="ruby-keyword">end</span>
400
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
401
+ <span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">roles</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">plumbing_item</span><span class="ruby-operator">|</span>
402
+ <span class="ruby-identifier">g</span>.<span class="ruby-identifier">yield</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_porcelain</span>(<span class="ruby-identifier">plumbing_item</span>)
403
+ <span class="ruby-keyword">end</span>
404
+ <span class="ruby-keyword">break</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>.<span class="ruby-identifier">next_cursor</span> <span class="ruby-operator">==</span> <span class="ruby-string">&quot;&quot;</span>
405
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">meta</span>.<span class="ruby-identifier">cursor</span> = <span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>.<span class="ruby-identifier">next_cursor</span>
406
+ <span class="ruby-keyword">end</span>
407
+ }
408
+ <span class="ruby-identifier">resp</span>
409
+ <span class="ruby-keyword">end</span></pre>
410
+ </div>
411
+
412
+ </div>
413
+
414
+
415
+
416
+
417
+ </div>
418
+
419
+
420
+ <div id="method-i-update" class="method-detail ">
421
+
422
+ <div class="method-heading">
423
+ <span class="method-name">update</span><span
424
+ class="method-args">( role \ , deadline:nil)</span>
425
+
426
+ <span class="method-click-advice">click to toggle source</span>
427
+
428
+ </div>
429
+
430
+
431
+ <div class="method-description">
432
+
433
+ <p>Update patches a <a href="Role.html">Role</a> by ID.</p>
434
+
435
+
436
+
437
+
438
+ <div class="method-source-code" id="update-source">
439
+ <pre><span class="ruby-comment"># File lib/svc.rb, line 1233</span>
440
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier">update</span>(
441
+ <span class="ruby-identifier">role</span> ,
442
+ <span class="ruby-identifier">deadline</span><span class="ruby-value">:nil</span>)
443
+ <span class="ruby-identifier">req</span> = <span class="ruby-constant">V1</span><span class="ruby-operator">::</span><span class="ruby-constant">RoleUpdateRequest</span>.<span class="ruby-identifier">new</span>()
444
+
445
+ <span class="ruby-identifier">req</span>.<span class="ruby-identifier">role</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_plumbing</span>(<span class="ruby-identifier">role</span>)
446
+ <span class="ruby-identifier">tries</span> = <span class="ruby-value">0</span>
447
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-keyword">nil</span>
448
+ <span class="ruby-identifier">loop</span> <span class="ruby-keyword">do</span>
449
+ <span class="ruby-keyword">begin</span>
450
+ <span class="ruby-identifier">plumbing_response</span> = <span class="ruby-ivar">@stub</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">req</span>, <span class="ruby-identifier">metadata</span><span class="ruby-operator">:</span> <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">get_metadata</span>(<span class="ruby-string">&#39;Roles.Update&#39;</span>, <span class="ruby-identifier">req</span>), <span class="ruby-identifier">deadline</span><span class="ruby-value">:deadline</span>)
451
+ <span class="ruby-keyword">rescue</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">exception</span>
452
+ <span class="ruby-keyword">if</span> (<span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">shouldRetry</span>(<span class="ruby-identifier">tries</span>, <span class="ruby-identifier">exception</span>))
453
+ <span class="ruby-identifier">tries</span><span class="ruby-operator">+</span><span class="ruby-operator">+</span>
454
+ <span class="ruby-ivar">@parent</span>.<span class="ruby-identifier">jitterSleep</span>(<span class="ruby-identifier">tries</span>)
455
+ <span class="ruby-keyword">next</span>
456
+ <span class="ruby-keyword">end</span>
457
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">error_to_porcelain</span>(<span class="ruby-identifier">exception</span>)
458
+ <span class="ruby-keyword">end</span>
459
+ <span class="ruby-keyword">break</span>
460
+ <span class="ruby-keyword">end</span>
461
+
462
+
463
+ <span class="ruby-identifier">resp</span> = <span class="ruby-constant">RoleUpdateResponse</span>.<span class="ruby-identifier">new</span>()
464
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">meta</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">update_response_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">meta</span>)
465
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">role</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">role_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">role</span>)
466
+ <span class="ruby-identifier">resp</span>.<span class="ruby-identifier">rate_limit</span> = <span class="ruby-constant">Plumbing</span><span class="ruby-operator">::</span><span class="ruby-identifier">rate_limit_metadata_to_porcelain</span>(<span class="ruby-identifier">plumbing_response</span>.<span class="ruby-identifier">rate_limit</span>)
467
+ <span class="ruby-identifier">resp</span>
468
+ <span class="ruby-keyword">end</span></pre>
469
+ </div>
470
+
471
+ </div>
472
+
473
+
474
+
475
+
476
+ </div>
477
+
478
+
479
+ </section>
480
+
481
+ </section>
482
+ </main>
483
+
484
+
485
+ <footer id="validator-badges" role="contentinfo">
486
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
487
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.1.
488
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
489
+ </footer>
490
+