@kensio/yulin 1.5.0 → 1.6.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 (348) hide show
  1. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts +26 -0
  2. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.d.ts.map +1 -0
  3. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js +36 -0
  4. package/dist/service/acm/command/delete-certificate/delete-certificate-authorizer.js.map +1 -0
  5. package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts +22 -0
  6. package/dist/service/acm/command/delete-certificate/delete-certificate.command.d.ts.map +1 -0
  7. package/dist/service/acm/command/delete-certificate/delete-certificate.command.js +2 -0
  8. package/dist/service/acm/command/delete-certificate/delete-certificate.command.js.map +1 -0
  9. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts +39 -0
  10. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.d.ts.map +1 -0
  11. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js +43 -0
  12. package/dist/service/acm/command/delete-certificate/delete-certificate.handler.js.map +1 -0
  13. package/dist/service/acm/sdk/sim-acm-sdk-command-router.d.ts.map +1 -1
  14. package/dist/service/acm/sdk/sim-acm-sdk-command-router.js +4 -0
  15. package/dist/service/acm/sdk/sim-acm-sdk-command-router.js.map +1 -1
  16. package/dist/service/acm/sim-acm.d.ts +5 -0
  17. package/dist/service/acm/sim-acm.d.ts.map +1 -1
  18. package/dist/service/acm/sim-acm.js +12 -0
  19. package/dist/service/acm/sim-acm.js.map +1 -1
  20. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-import-properties.js +1 -1
  21. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js +2 -2
  22. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-properties.js.map +1 -1
  23. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts +22 -7
  24. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.d.ts.map +1 -1
  25. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js +37 -16
  26. package/dist/service/apigatewayv2/cfn/api/sim-cfn-http-api-property-rules.js.map +1 -1
  27. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js +1 -1
  28. package/dist/service/apigatewayv2/cfn/authorizer/sim-cfn-http-api-authorizer-properties.js.map +1 -1
  29. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js +1 -1
  30. package/dist/service/apigatewayv2/cfn/integration/sim-cfn-http-api-integration-properties.js.map +1 -1
  31. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js +1 -1
  32. package/dist/service/apigatewayv2/cfn/route/sim-cfn-http-api-route-properties.js.map +1 -1
  33. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts +17 -12
  34. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.d.ts.map +1 -1
  35. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js +21 -17
  36. package/dist/service/apigatewayv2/cfn/sim-cfn-api-gateway-v2-property-parser.js.map +1 -1
  37. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js +1 -1
  38. package/dist/service/apigatewayv2/cfn/stage/sim-cfn-http-api-stage-properties.js.map +1 -1
  39. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts +47 -0
  40. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.d.ts.map +1 -0
  41. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js +55 -0
  42. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-properties.js.map +1 -0
  43. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts +33 -0
  44. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.d.ts.map +1 -0
  45. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js +2 -0
  46. package/dist/service/cloudformation/resource/ignore/sim-cfn-ignored-property.type.js.map +1 -0
  47. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts +17 -36
  48. package/dist/service/cloudformation/resource/sim-cfn-resource.d.ts.map +1 -1
  49. package/dist/service/cloudformation/resource/sim-cfn-resource.js +20 -5
  50. package/dist/service/cloudformation/resource/sim-cfn-resource.js.map +1 -1
  51. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts +34 -0
  52. package/dist/service/cloudformation/resource/sim-cfn-resource.type.d.ts.map +1 -0
  53. package/dist/service/cloudformation/resource/sim-cfn-resource.type.js +2 -0
  54. package/dist/service/cloudformation/resource/sim-cfn-resource.type.js.map +1 -0
  55. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts +9 -0
  56. package/dist/service/cloudformation/stack/sim-cfn-stack.d.ts.map +1 -1
  57. package/dist/service/cloudformation/stack/sim-cfn-stack.js +13 -0
  58. package/dist/service/cloudformation/stack/sim-cfn-stack.js.map +1 -1
  59. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js +1 -1
  60. package/dist/service/cognito/cfn/client/sim-cfn-cognito-client-properties.js.map +1 -1
  61. package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js +1 -1
  62. package/dist/service/cognito/cfn/client/sim-cfn-cognito-token-validity-units.js.map +1 -1
  63. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js +1 -1
  64. package/dist/service/cognito/cfn/group/sim-cfn-cognito-group-properties.js.map +1 -1
  65. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts +22 -14
  66. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.d.ts.map +1 -1
  67. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js +27 -20
  68. package/dist/service/cognito/cfn/sim-cfn-cognito-property-parser.js.map +1 -1
  69. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js +1 -1
  70. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-password-policy.js.map +1 -1
  71. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js +1 -1
  72. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-policies.js.map +1 -1
  73. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js +1 -1
  74. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-sign-in-policy.js.map +1 -1
  75. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.d.ts +3 -3
  76. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js +6 -6
  77. package/dist/service/cognito/cfn/user-pool/sim-cfn-cognito-user-pool-properties.js.map +1 -1
  78. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js +22 -2
  79. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-capacity.js.map +1 -1
  80. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts +4 -4
  81. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.d.ts.map +1 -1
  82. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js +13 -10
  83. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-properties.js.map +1 -1
  84. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts +6 -5
  85. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.d.ts.map +1 -1
  86. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js +12 -12
  87. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-property-rules.js.map +1 -1
  88. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts +4 -3
  89. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.d.ts.map +1 -1
  90. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js +8 -8
  91. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replica-rules.js.map +1 -1
  92. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts +28 -20
  93. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.d.ts.map +1 -1
  94. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js +49 -32
  95. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-replicas.js.map +1 -1
  96. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts +6 -4
  97. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.d.ts.map +1 -1
  98. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js +18 -17
  99. package/dist/service/dynamodb/cfn/global-table/sim-cfn-dynamodb-global-table-simulated.js.map +1 -1
  100. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts +6 -14
  101. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.d.ts.map +1 -1
  102. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js +6 -19
  103. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-error.js.map +1 -1
  104. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts +19 -16
  105. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.d.ts.map +1 -1
  106. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js +25 -20
  107. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-property-rules.js.map +1 -1
  108. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts +14 -0
  109. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.d.ts.map +1 -0
  110. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js +2 -0
  111. package/dist/service/dynamodb/cfn/property/sim-cfn-dynamodb-resource-scope.js.map +1 -0
  112. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js +1 -1
  113. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-creator.js.map +1 -1
  114. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts +6 -4
  115. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.d.ts.map +1 -1
  116. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js +7 -6
  117. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-index-rules.js.map +1 -1
  118. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts +2 -2
  119. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.d.ts.map +1 -1
  120. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js +7 -4
  121. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-properties.js.map +1 -1
  122. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts +13 -13
  123. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.d.ts.map +1 -1
  124. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js +22 -23
  125. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-property-rules.js.map +1 -1
  126. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts +6 -4
  127. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.d.ts.map +1 -1
  128. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js +6 -5
  129. package/dist/service/dynamodb/cfn/table/sim-cfn-dynamodb-table-stream-rules.js.map +1 -1
  130. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts +8 -0
  131. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.d.ts.map +1 -0
  132. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js +2 -0
  133. package/dist/service/iam/command/policy/delete-policy/delete-policy.command.js.map +1 -0
  134. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts +38 -0
  135. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.d.ts.map +1 -0
  136. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js +52 -0
  137. package/dist/service/iam/command/policy/delete-policy/delete-policy.handler.js.map +1 -0
  138. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts +9 -0
  139. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.d.ts.map +1 -0
  140. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js +2 -0
  141. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.command.js.map +1 -0
  142. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts +28 -0
  143. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.d.ts.map +1 -0
  144. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js +44 -0
  145. package/dist/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.js.map +1 -0
  146. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts +8 -0
  147. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.d.ts.map +1 -1
  148. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js +17 -1
  149. package/dist/service/iam/command/policy/sim-iam-policy-command-handlers.js.map +1 -1
  150. package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts +19 -0
  151. package/dist/service/iam/command/role/delete-role/delete-role.command.d.ts.map +1 -0
  152. package/dist/service/iam/command/role/delete-role/delete-role.command.js +2 -0
  153. package/dist/service/iam/command/role/delete-role/delete-role.command.js.map +1 -0
  154. package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts +30 -0
  155. package/dist/service/iam/command/role/delete-role/delete-role.handler.d.ts.map +1 -0
  156. package/dist/service/iam/command/role/delete-role/delete-role.handler.js +47 -0
  157. package/dist/service/iam/command/role/delete-role/delete-role.handler.js.map +1 -0
  158. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts +20 -0
  159. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.d.ts.map +1 -0
  160. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js +2 -0
  161. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.command.js.map +1 -0
  162. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts +28 -0
  163. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.d.ts.map +1 -0
  164. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js +44 -0
  165. package/dist/service/iam/command/role/detach-role-policy/detach-role-policy.handler.js.map +1 -0
  166. package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts +15 -0
  167. package/dist/service/iam/command/role/sim-iam-role-command-handlers.d.ts.map +1 -1
  168. package/dist/service/iam/command/role/sim-iam-role-command-handlers.js +36 -0
  169. package/dist/service/iam/command/role/sim-iam-role-command-handlers.js.map +1 -1
  170. package/dist/service/iam/command/sim-iam-command-handlers.d.ts.map +1 -1
  171. package/dist/service/iam/command/sim-iam-command-handlers.js +1 -0
  172. package/dist/service/iam/command/sim-iam-command-handlers.js.map +1 -1
  173. package/dist/service/iam/command/sim-iam-command.types.d.ts +22 -0
  174. package/dist/service/iam/command/sim-iam-command.types.d.ts.map +1 -0
  175. package/dist/service/iam/command/sim-iam-command.types.js +8 -0
  176. package/dist/service/iam/command/sim-iam-command.types.js.map +1 -0
  177. package/dist/service/iam/error/sim-iam.error.d.ts +11 -0
  178. package/dist/service/iam/error/sim-iam.error.d.ts.map +1 -1
  179. package/dist/service/iam/error/sim-iam.error.js +13 -0
  180. package/dist/service/iam/error/sim-iam.error.js.map +1 -1
  181. package/dist/service/iam/sdk/sim-iam-sdk-command-router.d.ts.map +1 -1
  182. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js +16 -0
  183. package/dist/service/iam/sdk/sim-iam-sdk-command-router.js.map +1 -1
  184. package/dist/service/iam/sim-iam.d.ts +28 -22
  185. package/dist/service/iam/sim-iam.d.ts.map +1 -1
  186. package/dist/service/iam/sim-iam.js +24 -0
  187. package/dist/service/iam/sim-iam.js.map +1 -1
  188. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js +1 -1
  189. package/dist/service/kms/cfn/key/sim-cfn-kms-key-properties.js.map +1 -1
  190. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts +19 -16
  191. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.d.ts.map +1 -1
  192. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js +30 -28
  193. package/dist/service/kms/cfn/key/sim-cfn-kms-unsimulated-key-properties.js.map +1 -1
  194. package/dist/service/kms/command/alias/alias.command.d.ts +14 -0
  195. package/dist/service/kms/command/alias/alias.command.d.ts.map +1 -1
  196. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts +10 -1
  197. package/dist/service/kms/command/alias/sim-kms-alias-commands.d.ts.map +1 -1
  198. package/dist/service/kms/command/alias/sim-kms-alias-commands.js +27 -2
  199. package/dist/service/kms/command/alias/sim-kms-alias-commands.js.map +1 -1
  200. package/dist/service/kms/command/sim-kms-command.types.d.ts +1 -1
  201. package/dist/service/kms/command/sim-kms-command.types.d.ts.map +1 -1
  202. package/dist/service/kms/key/sim-kms-key-store.d.ts +7 -0
  203. package/dist/service/kms/key/sim-kms-key-store.d.ts.map +1 -1
  204. package/dist/service/kms/key/sim-kms-key-store.js +9 -0
  205. package/dist/service/kms/key/sim-kms-key-store.js.map +1 -1
  206. package/dist/service/kms/sdk/sim-kms-sdk-command-router.d.ts.map +1 -1
  207. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js +4 -0
  208. package/dist/service/kms/sdk/sim-kms-sdk-command-router.js.map +1 -1
  209. package/dist/service/kms/sim-kms-commands.d.ts +40 -0
  210. package/dist/service/kms/sim-kms-commands.d.ts.map +1 -0
  211. package/dist/service/kms/sim-kms-commands.js +66 -0
  212. package/dist/service/kms/sim-kms-commands.js.map +1 -0
  213. package/dist/service/kms/sim-kms.d.ts +6 -18
  214. package/dist/service/kms/sim-kms.d.ts.map +1 -1
  215. package/dist/service/kms/sim-kms.js +40 -89
  216. package/dist/service/kms/sim-kms.js.map +1 -1
  217. package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts +22 -0
  218. package/dist/service/lambda/command/delete-function/delete-function-authorizer.d.ts.map +1 -0
  219. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js +32 -0
  220. package/dist/service/lambda/command/delete-function/delete-function-authorizer.js.map +1 -0
  221. package/dist/service/lambda/command/delete-function/delete-function.command.d.ts +23 -0
  222. package/dist/service/lambda/command/delete-function/delete-function.command.d.ts.map +1 -0
  223. package/dist/service/lambda/command/delete-function/delete-function.command.js +2 -0
  224. package/dist/service/lambda/command/delete-function/delete-function.command.js.map +1 -0
  225. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts +45 -0
  226. package/dist/service/lambda/command/delete-function/delete-function.handler.d.ts.map +1 -0
  227. package/dist/service/lambda/command/delete-function/delete-function.handler.js +53 -0
  228. package/dist/service/lambda/command/delete-function/delete-function.handler.js.map +1 -0
  229. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts +7 -0
  230. package/dist/service/lambda/command/function/sim-lambda-function-commands.d.ts.map +1 -1
  231. package/dist/service/lambda/command/function/sim-lambda-function-commands.js +7 -0
  232. package/dist/service/lambda/command/function/sim-lambda-function-commands.js.map +1 -1
  233. package/dist/service/lambda/command/sim-lambda-command.types.d.ts +1 -0
  234. package/dist/service/lambda/command/sim-lambda-command.types.d.ts.map +1 -1
  235. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts +7 -0
  236. package/dist/service/lambda/function/url/sim-lambda-function-url-store.d.ts.map +1 -1
  237. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js +11 -0
  238. package/dist/service/lambda/function/url/sim-lambda-function-url-store.js.map +1 -1
  239. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.d.ts.map +1 -1
  240. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js +4 -0
  241. package/dist/service/lambda/sdk/sim-lambda-sdk-command-router.js.map +1 -1
  242. package/dist/service/lambda/sim-lambda-commands.d.ts.map +1 -1
  243. package/dist/service/lambda/sim-lambda-commands.js +1 -0
  244. package/dist/service/lambda/sim-lambda-commands.js.map +1 -1
  245. package/dist/service/lambda/sim-lambda.d.ts +4 -0
  246. package/dist/service/lambda/sim-lambda.d.ts.map +1 -1
  247. package/dist/service/lambda/sim-lambda.js +6 -0
  248. package/dist/service/lambda/sim-lambda.js.map +1 -1
  249. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts +26 -0
  250. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.d.ts.map +1 -0
  251. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js +36 -0
  252. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone-authorizer.js.map +1 -0
  253. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts +26 -0
  254. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.d.ts.map +1 -0
  255. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js +2 -0
  256. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.command.js.map +1 -0
  257. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts +44 -0
  258. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.d.ts.map +1 -0
  259. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js +59 -0
  260. package/dist/service/route53/command/delete-hosted-zone/delete-hosted-zone.handler.js.map +1 -0
  261. package/dist/service/route53/error/sim-route53.error.d.ts +12 -0
  262. package/dist/service/route53/error/sim-route53.error.d.ts.map +1 -1
  263. package/dist/service/route53/error/sim-route53.error.js +14 -0
  264. package/dist/service/route53/error/sim-route53.error.js.map +1 -1
  265. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts +8 -0
  266. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.d.ts.map +1 -1
  267. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js +14 -0
  268. package/dist/service/route53/hosted-zone/sim-route53-hosted-zone.js.map +1 -1
  269. package/dist/service/route53/local-name/sim-route53-local-name.d.ts +11 -0
  270. package/dist/service/route53/local-name/sim-route53-local-name.d.ts.map +1 -1
  271. package/dist/service/route53/local-name/sim-route53-local-name.js +18 -3
  272. package/dist/service/route53/local-name/sim-route53-local-name.js.map +1 -1
  273. package/dist/service/route53/registry/sim-route53-registry.d.ts +8 -0
  274. package/dist/service/route53/registry/sim-route53-registry.d.ts.map +1 -1
  275. package/dist/service/route53/registry/sim-route53-registry.js +11 -0
  276. package/dist/service/route53/registry/sim-route53-registry.js.map +1 -1
  277. package/dist/service/route53/resolve/sim-route53-resolver.d.ts +8 -2
  278. package/dist/service/route53/resolve/sim-route53-resolver.d.ts.map +1 -1
  279. package/dist/service/route53/resolve/sim-route53-resolver.js +10 -4
  280. package/dist/service/route53/resolve/sim-route53-resolver.js.map +1 -1
  281. package/dist/service/route53/sdk/sim-route53-sdk-command-router.d.ts.map +1 -1
  282. package/dist/service/route53/sdk/sim-route53-sdk-command-router.js +4 -0
  283. package/dist/service/route53/sdk/sim-route53-sdk-command-router.js.map +1 -1
  284. package/dist/service/route53/sim-route53.d.ts +5 -0
  285. package/dist/service/route53/sim-route53.d.ts.map +1 -1
  286. package/dist/service/route53/sim-route53.js +13 -0
  287. package/dist/service/route53/sim-route53.js.map +1 -1
  288. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts +37 -0
  289. package/dist/service/s3/bucket/sim-s3-bucket-access.d.ts.map +1 -0
  290. package/dist/service/s3/bucket/sim-s3-bucket-access.js +46 -0
  291. package/dist/service/s3/bucket/sim-s3-bucket-access.js.map +1 -0
  292. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts +4 -5
  293. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.d.ts.map +1 -1
  294. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js +6 -6
  295. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-creator.js.map +1 -1
  296. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts +26 -0
  297. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.d.ts.map +1 -0
  298. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js +77 -0
  299. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-names.js.map +1 -0
  300. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts +18 -7
  301. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.d.ts.map +1 -1
  302. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js +25 -65
  303. package/dist/service/s3/cfn/bucket/sim-cfn-s3-bucket-property-rules.js.map +1 -1
  304. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts +4 -0
  305. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.d.ts.map +1 -1
  306. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js +7 -0
  307. package/dist/service/s3/command/bucket/sim-s3-bucket-commands.js.map +1 -1
  308. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts +24 -0
  309. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.d.ts.map +1 -0
  310. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js +37 -0
  311. package/dist/service/s3/command/delete-bucket/delete-bucket-authorizer.js.map +1 -0
  312. package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts +23 -0
  313. package/dist/service/s3/command/delete-bucket/delete-bucket.command.d.ts.map +1 -0
  314. package/dist/service/s3/command/delete-bucket/delete-bucket.command.js +2 -0
  315. package/dist/service/s3/command/delete-bucket/delete-bucket.command.js.map +1 -0
  316. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts +43 -0
  317. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.d.ts.map +1 -0
  318. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js +55 -0
  319. package/dist/service/s3/command/delete-bucket/delete-bucket.handler.js.map +1 -0
  320. package/dist/service/s3/command/sim-s3-command.types.d.ts +1 -0
  321. package/dist/service/s3/command/sim-s3-command.types.d.ts.map +1 -1
  322. package/dist/service/s3/error/sim-s3.error.d.ts +10 -0
  323. package/dist/service/s3/error/sim-s3.error.d.ts.map +1 -1
  324. package/dist/service/s3/error/sim-s3.error.js +12 -0
  325. package/dist/service/s3/error/sim-s3.error.js.map +1 -1
  326. package/dist/service/s3/sdk/sim-s3-sdk-command-router.d.ts.map +1 -1
  327. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js +4 -0
  328. package/dist/service/s3/sdk/sim-s3-sdk-command-router.js.map +1 -1
  329. package/dist/service/s3/sim-s3-global-registry.d.ts +7 -0
  330. package/dist/service/s3/sim-s3-global-registry.d.ts.map +1 -1
  331. package/dist/service/s3/sim-s3-global-registry.js +9 -0
  332. package/dist/service/s3/sim-s3-global-registry.js.map +1 -1
  333. package/dist/service/s3/sim-s3.d.ts +5 -0
  334. package/dist/service/s3/sim-s3.d.ts.map +1 -1
  335. package/dist/service/s3/sim-s3.js +16 -12
  336. package/dist/service/s3/sim-s3.js.map +1 -1
  337. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.d.ts.map +1 -1
  338. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js +2 -1
  339. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-properties.js.map +1 -1
  340. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts +31 -0
  341. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.d.ts.map +1 -0
  342. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js +63 -0
  343. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-names.js.map +1 -0
  344. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts +27 -17
  345. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.d.ts.map +1 -1
  346. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js +39 -73
  347. package/dist/service/sqs/cfn/queue/sim-cfn-sqs-queue-property-rules.js.map +1 -1
  348. package/package.json +1 -1
@@ -0,0 +1,38 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimArn } from "../../../../aws/arn.js";
4
+ import type { SimIamManagedPolicy } from "../../../policy/sim-iam-policy.js";
5
+ import type { SimIamRole, SimIamRoleName } from "../../../role/sim-iam-role.js";
6
+ import type { SimIamUser, SimIamUsername } from "../../../user/sim-iam-user.js";
7
+ import type { SimDeletePolicyCommand, SimDeletePolicyCommandOutput } from "./delete-policy.command.js";
8
+ interface DeletePolicyCommandHandlerProperties {
9
+ readonly policies: Map<SimArn, SimIamManagedPolicy>;
10
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
11
+ readonly users: Map<SimIamUsername, SimIamUser>;
12
+ readonly background?: BackgroundScheduler;
13
+ }
14
+ /**
15
+ * IAM DeletePolicyCommand handler.
16
+ *
17
+ * Real IAM refuses to delete a managed policy while anything is attached to
18
+ * it, so this counts the Roles and Users carrying the ARN rather than reading
19
+ * the policy record's own attachment count: attachment is recorded on the
20
+ * identity, which is where AttachRolePolicy puts it.
21
+ *
22
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeletePolicyCommand/
23
+ */
24
+ export declare class DeletePolicyCommandHandler implements CommandHandler<SimDeletePolicyCommand, SimDeletePolicyCommandOutput> {
25
+ private readonly policies;
26
+ private readonly roles;
27
+ private readonly users;
28
+ private readonly background;
29
+ constructor(properties: DeletePolicyCommandHandlerProperties);
30
+ /**
31
+ * Handle a DeletePolicyCommand from the SDK.
32
+ */
33
+ handle(command: SimDeletePolicyCommand): Promise<SimDeletePolicyCommandOutput>;
34
+ private assertNotAttached;
35
+ private attachmentCount;
36
+ }
37
+ export {};
38
+ //# sourceMappingURL=delete-policy.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-policy/delete-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,qBAAa,0BAA2B,YAAW,cAAc,CAC/D,sBAAsB,EACtB,4BAA4B,CAC7B;IACC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,oCAAoC,EAY3D;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,4BAA4B,CAAC,CAkBvC;IAED,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,eAAe;CAOxB"}
@@ -0,0 +1,52 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamDeleteConflict, SimIamNoSuchEntity, } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM DeletePolicyCommand handler.
5
+ *
6
+ * Real IAM refuses to delete a managed policy while anything is attached to
7
+ * it, so this counts the Roles and Users carrying the ARN rather than reading
8
+ * the policy record's own attachment count: attachment is recorded on the
9
+ * identity, which is where AttachRolePolicy puts it.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeletePolicyCommand/
12
+ */
13
+ export class DeletePolicyCommandHandler {
14
+ policies;
15
+ roles;
16
+ users;
17
+ background;
18
+ constructor(properties) {
19
+ const { policies, roles, users, background = new BackgroundTasks(), } = properties;
20
+ this.policies = policies;
21
+ this.roles = roles;
22
+ this.users = users;
23
+ this.background = background;
24
+ }
25
+ /**
26
+ * Handle a DeletePolicyCommand from the SDK.
27
+ */
28
+ async handle(command) {
29
+ const policyArn = command.input.PolicyArn;
30
+ if (policyArn === undefined || policyArn.length === 0) {
31
+ throw new Error("PolicyArn is required");
32
+ }
33
+ // Allow for potential non-deterministic sequencing of async events.
34
+ await this.background.sequence();
35
+ if (!this.policies.has(policyArn)) {
36
+ throw new SimIamNoSuchEntity(`No IAM Policy with ARN ${policyArn}`);
37
+ }
38
+ this.assertNotAttached(policyArn);
39
+ this.policies.delete(policyArn);
40
+ return {};
41
+ }
42
+ assertNotAttached(policyArn) {
43
+ if (this.attachmentCount(policyArn) > 0) {
44
+ throw new SimIamDeleteConflict(`Cannot delete a policy attached to entities: IAM Policy ${policyArn}`);
45
+ }
46
+ }
47
+ attachmentCount(policyArn) {
48
+ const identities = [...this.roles.values(), ...this.users.values()];
49
+ return identities.filter((identity) => identity.attachedPolicyArns.has(policyArn)).length;
50
+ }
51
+ }
52
+ //# sourceMappingURL=delete-policy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-policy/delete-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAgBzC;;;;;;;;;GASG;AACH,MAAM,OAAO,0BAA0B;IAIpB,QAAQ,CAAmC;IAC3C,KAAK,CAAkC;IACvC,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAAgD;QAC1D,MAAM,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,UAAU,GAAG,IAAI,eAAe,EAAE,GACnC,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA+B;QAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAA+B,CAAC;QAEhE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,kBAAkB,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QACzC,IAAI,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,oBAAoB,CAC5B,2DAA2D,SAAS,EAAE,CACvE,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACpC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAC3C,CAAC,MAAM,CAAC;IACX,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ export interface SimDeleteRolePolicyCommandInput {
2
+ readonly RoleName?: string | undefined;
3
+ readonly PolicyName?: string | undefined;
4
+ }
5
+ export interface SimDeleteRolePolicyCommand {
6
+ readonly input: SimDeleteRolePolicyCommandInput;
7
+ }
8
+ export type SimDeleteRolePolicyCommandOutput = Record<string, never>;
9
+ //# sourceMappingURL=delete-role-policy.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role-policy.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-role-policy/delete-role-policy.command.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;CACjD;AAED,MAAM,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-role-policy.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role-policy.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-role-policy/delete-role-policy.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamRole, SimIamRoleName } from "../../../role/sim-iam-role.js";
4
+ import type { SimDeleteRolePolicyCommand, SimDeleteRolePolicyCommandOutput } from "./delete-role-policy.command.js";
5
+ interface DeleteRolePolicyCommandHandlerProperties {
6
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM DeleteRolePolicyCommand handler.
11
+ *
12
+ * This removes an inline policy stored on the Role, which is what
13
+ * PutRolePolicy put there. A policy name the Role does not carry is refused,
14
+ * as real IAM has nothing to remove.
15
+ *
16
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteRolePolicyCommand/
17
+ */
18
+ export declare class DeleteRolePolicyCommandHandler implements CommandHandler<SimDeleteRolePolicyCommand, SimDeleteRolePolicyCommandOutput> {
19
+ private readonly roles;
20
+ private readonly background;
21
+ constructor(properties: DeleteRolePolicyCommandHandlerProperties);
22
+ /**
23
+ * Handle a DeleteRolePolicyCommand from the SDK.
24
+ */
25
+ handle(command: SimDeleteRolePolicyCommand): Promise<SimDeleteRolePolicyCommandOutput>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=delete-role-policy.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAEzC,UAAU,wCAAwC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,qBAAa,8BAA+B,YAAW,cAAc,CACnE,0BAA0B,EAC1B,gCAAgC,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,gCAAgC,CAAC,CA6B3C;CACF"}
@@ -0,0 +1,44 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamNoSuchEntity } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM DeleteRolePolicyCommand handler.
5
+ *
6
+ * This removes an inline policy stored on the Role, which is what
7
+ * PutRolePolicy put there. A policy name the Role does not carry is refused,
8
+ * as real IAM has nothing to remove.
9
+ *
10
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteRolePolicyCommand/
11
+ */
12
+ export class DeleteRolePolicyCommandHandler {
13
+ roles;
14
+ background;
15
+ constructor(properties) {
16
+ const { roles, background = new BackgroundTasks() } = properties;
17
+ this.roles = roles;
18
+ this.background = background;
19
+ }
20
+ /**
21
+ * Handle a DeleteRolePolicyCommand from the SDK.
22
+ */
23
+ async handle(command) {
24
+ const roleName = command.input.RoleName;
25
+ if (roleName === undefined || roleName.length === 0) {
26
+ throw new Error("RoleName is required");
27
+ }
28
+ const { PolicyName: policyName } = command.input;
29
+ if (policyName === undefined || policyName.length === 0) {
30
+ throw new Error("PolicyName is required");
31
+ }
32
+ // Allow for potential non-deterministic sequencing of async events.
33
+ await this.background.sequence();
34
+ const role = this.roles.get(roleName);
35
+ if (role === undefined) {
36
+ throw new SimIamNoSuchEntity(`No IAM Role with name ${roleName}`);
37
+ }
38
+ if (!role.inlinePolicies.delete(policyName)) {
39
+ throw new SimIamNoSuchEntity(`No inline IAM Policy named ${policyName} on Role ${roleName}`);
40
+ }
41
+ return {};
42
+ }
43
+ }
44
+ //# sourceMappingURL=delete-role-policy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/policy/delete-role-policy/delete-role-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAYrE;;;;;;;;GAQG;AACH,MAAM,OAAO,8BAA8B;IAIxB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAAoD;QAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAmC;QAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QAEtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;QAEjD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,UAAU,YAAY,QAAQ,EAAE,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -3,15 +3,18 @@ import type { BackgroundScheduler } from "../../../../util/background/background
3
3
  import type { SimArn } from "../../../aws/arn.js";
4
4
  import type { SimIamActionAuthorizer } from "../../authorize/sim-iam-action-authorizer.js";
5
5
  import type { SimIamManagedPolicy } from "../../policy/sim-iam-policy.js";
6
+ import type { SimIamRole, SimIamRoleName } from "../../role/sim-iam-role.js";
6
7
  import type { SimIamUser, SimIamUsername } from "../../user/sim-iam-user.js";
7
8
  import type { SimIamRequestOptions } from "../sim-iam-request-options.js";
8
9
  import type { SimCreatePolicyCommand, SimCreatePolicyCommandOutput } from "./create-policy/create-policy.command.js";
9
10
  import type { SimGetPolicyCommand, SimGetPolicyCommandOutput } from "./get-policy/get-policy.command.js";
10
11
  import type { SimListPoliciesCommand, SimListPoliciesCommandOutput } from "./list-policies/list-policies.command.js";
12
+ import type { SimDeletePolicyCommand, SimDeletePolicyCommandOutput } from "./delete-policy/delete-policy.command.js";
11
13
  import type { SimPutUserPolicyCommand, SimPutUserPolicyCommandOutput } from "./put-user-policy/put-user-policy.command.js";
12
14
  interface SimIamPolicyCommandHandlersProperties {
13
15
  readonly accountId: SimAwsAccountId;
14
16
  readonly policies: Map<SimArn, SimIamManagedPolicy>;
17
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
15
18
  readonly users: Map<SimIamUsername, SimIamUser>;
16
19
  readonly background: BackgroundScheduler;
17
20
  readonly authorizer: SimIamActionAuthorizer;
@@ -26,10 +29,15 @@ interface SimIamPolicyCommandHandlersProperties {
26
29
  export declare class SimIamPolicyCommandHandlers {
27
30
  private readonly accountId;
28
31
  private readonly policies;
32
+ private readonly roles;
29
33
  private readonly users;
30
34
  private readonly background;
31
35
  private readonly authorizer;
32
36
  constructor(properties: SimIamPolicyCommandHandlersProperties);
37
+ /**
38
+ * Handle a DeletePolicy command from the SDK.
39
+ */
40
+ deletePolicy(command: SimDeletePolicyCommand, options?: SimIamRequestOptions): Promise<SimDeletePolicyCommandOutput>;
33
41
  /**
34
42
  * Handle a CreatePolicy command from the SDK.
35
43
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-policy-command-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/command/policy/sim-iam-policy-command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,8CAA8C,CAAC;AAEtD,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,YAAY,UAAU,EAAE,qCAAqC,EAQ5D;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAYvC;IAED;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAWpC;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAOvC;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CAWxC;CACF"}
1
+ {"version":3,"file":"sim-iam-policy-command-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/command/policy/sim-iam-policy-command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC7B,MAAM,0CAA0C,CAAC;AAElD,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,8CAA8C,CAAC;AAEtD,UAAU,qCAAqC;IAC7C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,YAAY,UAAU,EAAE,qCAAqC,EAU5D;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAavC;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAYvC;IAED;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAWpC;IAED;;OAEG;IACG,YAAY,CAChB,OAAO,EAAE,sBAAsB,EAC/B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAOvC;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CAWxC;CACF"}
@@ -1,6 +1,7 @@
1
1
  import { CreatePolicyCommandHandler } from "./create-policy/create-policy.handler.js";
2
2
  import { GetPolicyCommandHandler } from "./get-policy/get-policy.handler.js";
3
3
  import { ListPoliciesCommandHandler } from "./list-policies/list-policies.handler.js";
4
+ import { DeletePolicyCommandHandler } from "./delete-policy/delete-policy.handler.js";
4
5
  import { PutUserPolicyCommandHandler } from "./put-user-policy/put-user-policy.handler.js";
5
6
  /**
6
7
  * Wires and runs the SDK command handlers that operate on IAM policies.
@@ -12,17 +13,32 @@ import { PutUserPolicyCommandHandler } from "./put-user-policy/put-user-policy.h
12
13
  export class SimIamPolicyCommandHandlers {
13
14
  accountId;
14
15
  policies;
16
+ roles;
15
17
  users;
16
18
  background;
17
19
  authorizer;
18
20
  constructor(properties) {
19
- const { accountId, policies, users, background, authorizer } = properties;
21
+ const { accountId, policies, roles, users, background, authorizer } = properties;
20
22
  this.accountId = accountId;
21
23
  this.policies = policies;
24
+ this.roles = roles;
22
25
  this.users = users;
23
26
  this.background = background;
24
27
  this.authorizer = authorizer;
25
28
  }
29
+ /**
30
+ * Handle a DeletePolicy command from the SDK.
31
+ */
32
+ async deletePolicy(command, options) {
33
+ this.authorizer.authorize("iam:DeletePolicy", command.input.PolicyArn ?? "*", options?.caller);
34
+ const handler = new DeletePolicyCommandHandler({
35
+ policies: this.policies,
36
+ roles: this.roles,
37
+ users: this.users,
38
+ background: this.background,
39
+ });
40
+ return await handler.handle(command);
41
+ }
26
42
  /**
27
43
  * Handle a CreatePolicy command from the SDK.
28
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-policy-command-handlers.js","sourceRoot":"","sources":["../../../../../src/service/iam/command/policy/sim-iam-policy-command-handlers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAK7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAc3F;;;;;;GAMG;AACH,MAAM,OAAO,2BAA2B;IACrB,SAAS,CAAkB;IAC3B,QAAQ,CAAmC;IAC3C,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAChC,UAAU,CAAyB;IAEpD,YAAY,UAAiD;QAC3D,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;QAE1E,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAA+B,EAC/B,OAA8B;QAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,kBAAkB,EAClB,gBAAgB,IAAI,CAAC,SAAS,WAAW,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,GAAG,EAAE,EAC1E,OAAO,EAAE,MAAM,CAChB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC;YAC7C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAA4B,EAC5B,OAA8B;QAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,eAAe,EACf,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,GAAG,EAC9B,OAAO,EAAE,MAAM,CAChB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,uBAAuB,CAAC;YAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,OAA+B,EAC/B,OAA8B;QAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,kBAAkB,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,0BAA0B,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,OAAgC,EAChC,OAA8B;QAE9B,IAAI,CAAC,UAAU,CAAC,SAAS,CACvB,mBAAmB,EACnB,gBAAgB,IAAI,CAAC,SAAS,SAAS,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE,EACtE,OAAO,EAAE,MAAM,CAChB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,2BAA2B,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"sim-iam-policy-command-handlers.js","sourceRoot":"","sources":["../../../../../src/service/iam/command/policy/sim-iam-policy-command-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Minimal structural sim IAM DeleteRole command.
3
+ */
4
+ export interface SimDeleteRoleCommand {
5
+ readonly input: SimDeleteRoleCommandInput;
6
+ }
7
+ /**
8
+ * Minimal structural sim IAM DeleteRole input.
9
+ */
10
+ export interface SimDeleteRoleCommandInput {
11
+ readonly RoleName?: string | undefined;
12
+ }
13
+ /**
14
+ * Minimal structural sim IAM DeleteRole output.
15
+ *
16
+ * Real IAM answers a successful DeleteRole with an empty response body.
17
+ */
18
+ export type SimDeleteRoleCommandOutput = Record<string, never>;
19
+ //# sourceMappingURL=delete-role.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/delete-role/delete-role.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=delete-role.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/delete-role/delete-role.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamRole, SimIamRoleName } from "../../../role/sim-iam-role.js";
4
+ import type { SimDeleteRoleCommand, SimDeleteRoleCommandOutput } from "./delete-role.command.js";
5
+ interface DeleteRoleCommandHandlerProperties {
6
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM DeleteRoleCommand handler.
11
+ *
12
+ * Real IAM only deletes a Role nothing is hanging off. A Role with inline
13
+ * policies or attached managed policies is refused, leaving the caller to
14
+ * remove them first with DeleteRolePolicy and DetachRolePolicy. That refusal
15
+ * is why a CloudFormation Stack deletes a Role's policies before the Role.
16
+ *
17
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteRoleCommand/
18
+ */
19
+ export declare class DeleteRoleCommandHandler implements CommandHandler<SimDeleteRoleCommand, SimDeleteRoleCommandOutput> {
20
+ private readonly roles;
21
+ private readonly background;
22
+ constructor(properties: DeleteRoleCommandHandlerProperties);
23
+ /**
24
+ * Handle a DeleteRoleCommand from the SDK.
25
+ */
26
+ handle(command: SimDeleteRoleCommand): Promise<SimDeleteRoleCommandOutput>;
27
+ private assertNothingAttached;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=delete-role.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/delete-role/delete-role.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAKtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAElC,UAAU,kCAAkC;IAC1C,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;GASG;AACH,qBAAa,wBAAyB,YAAW,cAAc,CAC7D,oBAAoB,EACpB,0BAA0B,CAC3B;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,kCAAkC,EAKzD;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CAoBrC;IAED,OAAO,CAAC,qBAAqB;CAU9B"}
@@ -0,0 +1,47 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamDeleteConflict, SimIamNoSuchEntity, } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM DeleteRoleCommand handler.
5
+ *
6
+ * Real IAM only deletes a Role nothing is hanging off. A Role with inline
7
+ * policies or attached managed policies is refused, leaving the caller to
8
+ * remove them first with DeleteRolePolicy and DetachRolePolicy. That refusal
9
+ * is why a CloudFormation Stack deletes a Role's policies before the Role.
10
+ *
11
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DeleteRoleCommand/
12
+ */
13
+ export class DeleteRoleCommandHandler {
14
+ roles;
15
+ background;
16
+ constructor(properties) {
17
+ const { roles, background = new BackgroundTasks() } = properties;
18
+ this.roles = roles;
19
+ this.background = background;
20
+ }
21
+ /**
22
+ * Handle a DeleteRoleCommand from the SDK.
23
+ */
24
+ async handle(command) {
25
+ const roleName = command.input.RoleName;
26
+ if (roleName === undefined || roleName.length === 0) {
27
+ throw new Error("RoleName is required");
28
+ }
29
+ // Allow for potential non-deterministic sequencing of async events.
30
+ await this.background.sequence();
31
+ const role = this.roles.get(roleName);
32
+ if (role === undefined) {
33
+ throw new SimIamNoSuchEntity(`No IAM Role with name ${roleName}`);
34
+ }
35
+ this.assertNothingAttached(role);
36
+ this.roles.delete(roleName);
37
+ return {};
38
+ }
39
+ assertNothingAttached(role) {
40
+ const attached = role.inlinePolicies.size + role.attachedPolicyArns.size;
41
+ if (attached > 0) {
42
+ throw new SimIamDeleteConflict(`Cannot delete entity, must detach all policies first: ` +
43
+ `IAM Role ${role.roleName}`);
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=delete-role.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-role.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/delete-role/delete-role.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,iCAAiC,CAAC;AAYzC;;;;;;;;;GASG;AACH,MAAM,OAAO,wBAAwB;IAIlB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAA8C;QACxD,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA6B;QAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QAEtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,qBAAqB,CAAC,IAAgB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;QAEzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,oBAAoB,CAC5B,wDAAwD;gBACtD,YAAY,IAAI,CAAC,QAAQ,EAAE,CAC9B,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Minimal structural sim IAM DetachRolePolicy command.
3
+ */
4
+ export interface SimDetachRolePolicyCommand {
5
+ readonly input: SimDetachRolePolicyCommandInput;
6
+ }
7
+ /**
8
+ * Minimal structural sim IAM DetachRolePolicy input.
9
+ */
10
+ export interface SimDetachRolePolicyCommandInput {
11
+ readonly RoleName?: string | undefined;
12
+ readonly PolicyArn?: string | undefined;
13
+ }
14
+ /**
15
+ * Minimal structural sim IAM DetachRolePolicy output.
16
+ *
17
+ * Real IAM answers a successful DetachRolePolicy with an empty response body.
18
+ */
19
+ export type SimDetachRolePolicyCommandOutput = Record<string, never>;
20
+ //# sourceMappingURL=detach-role-policy.command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach-role-policy.command.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/detach-role-policy/detach-role-policy.command.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,+BAA+B,CAAC;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED;;;;GAIG;AACH,MAAM,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=detach-role-policy.command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach-role-policy.command.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/detach-role-policy/detach-role-policy.command.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import type { CommandHandler } from "../../../../../command/command-handler.js";
2
+ import { type BackgroundScheduler } from "../../../../../util/background/background.js";
3
+ import type { SimIamRole, SimIamRoleName } from "../../../role/sim-iam-role.js";
4
+ import type { SimDetachRolePolicyCommand, SimDetachRolePolicyCommandOutput } from "./detach-role-policy.command.js";
5
+ interface DetachRolePolicyCommandHandlerProperties {
6
+ readonly roles: Map<SimIamRoleName, SimIamRole>;
7
+ readonly background?: BackgroundScheduler;
8
+ }
9
+ /**
10
+ * IAM DetachRolePolicyCommand handler.
11
+ *
12
+ * Detaching removes the attachment record rather than the managed policy
13
+ * itself, which is the other half of what AttachRolePolicy records. A policy
14
+ * that is not attached is refused, as real IAM has nothing to detach.
15
+ *
16
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DetachRolePolicyCommand/
17
+ */
18
+ export declare class DetachRolePolicyCommandHandler implements CommandHandler<SimDetachRolePolicyCommand, SimDetachRolePolicyCommandOutput> {
19
+ private readonly roles;
20
+ private readonly background;
21
+ constructor(properties: DetachRolePolicyCommandHandlerProperties);
22
+ /**
23
+ * Handle a DetachRolePolicyCommand from the SDK.
24
+ */
25
+ handle(command: SimDetachRolePolicyCommand): Promise<SimDetachRolePolicyCommandOutput>;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=detach-role-policy.handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach-role-policy.handler.d.ts","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/detach-role-policy/detach-role-policy.handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,KAAK,mBAAmB,EAEzB,MAAM,8CAA8C,CAAC;AAGtD,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAEzC,UAAU,wCAAwC;IAChD,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;GAQG;AACH,qBAAa,8BAA+B,YAAW,cAAc,CACnE,0BAA0B,EAC1B,gCAAgC,CACjC;IACC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,YAAY,UAAU,EAAE,wCAAwC,EAK/D;IAED;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,gCAAgC,CAAC,CA6B3C;CACF"}
@@ -0,0 +1,44 @@
1
+ import { BackgroundTasks, } from "../../../../../util/background/background.js";
2
+ import { SimIamNoSuchEntity } from "../../../error/sim-iam.error.js";
3
+ /**
4
+ * IAM DetachRolePolicyCommand handler.
5
+ *
6
+ * Detaching removes the attachment record rather than the managed policy
7
+ * itself, which is the other half of what AttachRolePolicy records. A policy
8
+ * that is not attached is refused, as real IAM has nothing to detach.
9
+ *
10
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/iam/command/DetachRolePolicyCommand/
11
+ */
12
+ export class DetachRolePolicyCommandHandler {
13
+ roles;
14
+ background;
15
+ constructor(properties) {
16
+ const { roles, background = new BackgroundTasks() } = properties;
17
+ this.roles = roles;
18
+ this.background = background;
19
+ }
20
+ /**
21
+ * Handle a DetachRolePolicyCommand from the SDK.
22
+ */
23
+ async handle(command) {
24
+ const roleName = command.input.RoleName;
25
+ if (roleName === undefined || roleName.length === 0) {
26
+ throw new Error("RoleName is required");
27
+ }
28
+ const policyArn = command.input.PolicyArn;
29
+ if (policyArn === undefined || policyArn.length === 0) {
30
+ throw new Error("PolicyArn is required");
31
+ }
32
+ // Allow for potential non-deterministic sequencing of async events.
33
+ await this.background.sequence();
34
+ const role = this.roles.get(roleName);
35
+ if (role === undefined) {
36
+ throw new SimIamNoSuchEntity(`No IAM Role with name ${roleName}`);
37
+ }
38
+ if (!role.attachedPolicyArns.delete(policyArn)) {
39
+ throw new SimIamNoSuchEntity(`IAM Policy ${policyArn} is not attached to Role ${roleName}`);
40
+ }
41
+ return {};
42
+ }
43
+ }
44
+ //# sourceMappingURL=detach-role-policy.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detach-role-policy.handler.js","sourceRoot":"","sources":["../../../../../../src/service/iam/command/role/detach-role-policy/detach-role-policy.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,eAAe,GAChB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAYrE;;;;;;;;GAQG;AACH,MAAM,OAAO,8BAA8B;IAIxB,KAAK,CAAkC;IACvC,UAAU,CAAsB;IAEjD,YAAY,UAAoD;QAC9D,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,UAAU,CAAC;QAEjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAAmC;QAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAsC,CAAC;QAEtE,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAA+B,CAAC;QAEhE,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,oEAAoE;QACpE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEtC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,kBAAkB,CAC1B,cAAc,SAAS,4BAA4B,QAAQ,EAAE,CAC9D,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -8,6 +8,9 @@ import type { SimGetRoleCommand, SimGetRoleCommandOutput } from "./get-role/get-
8
8
  import type { SimListRolesCommand, SimListRolesCommandOutput } from "./list-roles/list-roles.command.js";
9
9
  import type { SimPutRolePolicyCommand, SimPutRolePolicyCommandOutput } from "../policy/put-role-policy/put-role-policy.command.js";
10
10
  import type { SimAttachRolePolicyCommand, SimAttachRolePolicyCommandOutput } from "./attach-role-policy/attach-role-policy.command.js";
11
+ import type { SimDetachRolePolicyCommand, SimDetachRolePolicyCommandOutput } from "./detach-role-policy/detach-role-policy.command.js";
12
+ import type { SimDeleteRoleCommand, SimDeleteRoleCommandOutput } from "./delete-role/delete-role.command.js";
13
+ import type { SimDeleteRolePolicyCommand, SimDeleteRolePolicyCommandOutput } from "../policy/delete-role-policy/delete-role-policy.command.js";
11
14
  interface SimIamRoleCommandHandlersProperties {
12
15
  readonly accountId: SimAwsAccountId;
13
16
  readonly roles: Map<SimIamRoleName, SimIamRole>;
@@ -49,6 +52,18 @@ export declare class SimIamRoleCommandHandlers {
49
52
  * Handle an AttachRolePolicy command from the SDK.
50
53
  */
51
54
  attachRolePolicy(command: SimAttachRolePolicyCommand, options?: SimIamRequestOptions): Promise<SimAttachRolePolicyCommandOutput>;
55
+ /**
56
+ * Handle a DetachRolePolicy command from the SDK.
57
+ */
58
+ detachRolePolicy(command: SimDetachRolePolicyCommand, options?: SimIamRequestOptions): Promise<SimDetachRolePolicyCommandOutput>;
59
+ /**
60
+ * Handle a DeleteRolePolicy command from the SDK.
61
+ */
62
+ deleteRolePolicy(command: SimDeleteRolePolicyCommand, options?: SimIamRequestOptions): Promise<SimDeleteRolePolicyCommandOutput>;
63
+ /**
64
+ * Handle a DeleteRole command from the SDK.
65
+ */
66
+ deleteRole(command: SimDeleteRoleCommand, options?: SimIamRequestOptions): Promise<SimDeleteRoleCommandOutput>;
52
67
  /**
53
68
  * The Role ARN a command operates on, for authorization.
54
69
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sim-iam-role-command-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/command/role/sim-iam-role-command-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE7E,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAC1B,MAAM,oCAAoC,CAAC;AAE5C,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC9B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,KAAK,EACV,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,oDAAoD,CAAC;AAE5D,UAAU,mCAAmC;IAC3C,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,UAAU,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;CAC7C;AAED;;;;;;;;GAQG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACjD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IAEpD,YAAY,UAAU,EAAE,mCAAmC,EAO1D;IAED;;OAEG;IACG,UAAU,CACd,OAAO,EAAE,oBAAoB,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,0BAA0B,CAAC,CAYrC;IAED;;OAEG;IACG,OAAO,CACX,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAWlC;IAED;;OAEG;IACG,SAAS,CACb,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,yBAAyB,CAAC,CAOpC;IAED;;OAEG;IACG,aAAa,CACjB,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,6BAA6B,CAAC,CAWxC;IAED;;OAEG;IACG,gBAAgB,CACpB,OAAO,EAAE,0BAA0B,EACnC,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,gCAAgC,CAAC,CAW3C;IAED;;OAEG;IACH,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"sim-iam-role-command-handlers.d.ts","sourceRoot":"","sources":["../../../../../src/service/iam/command/role/sim-iam-role-command-handlers.ts"],"names":[],"mappings":"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"}