@epilot360/icons 0.0.2 → 0.1.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 (479) hide show
  1. package/dist/bundle.js +1 -1
  2. package/dist/bundle.js.map +1 -1
  3. package/index.js.map +1 -1
  4. package/package.json +35 -8
  5. package/react/Close/index.d.ts +4 -0
  6. package/react/Close/index.js +28 -0
  7. package/react/Close/index.js.map +1 -0
  8. package/react/ContentCopy/index.d.ts +4 -0
  9. package/react/ContentCopy/index.js +28 -0
  10. package/react/ContentCopy/index.js.map +1 -0
  11. package/react/DataObject/index.d.ts +4 -0
  12. package/react/DataObject/index.js +28 -0
  13. package/react/DataObject/index.js.map +1 -0
  14. package/react/Edit/index.d.ts +4 -0
  15. package/react/Edit/index.js +28 -0
  16. package/react/Edit/index.js.map +1 -0
  17. package/react/EpilotIcon.d.ts +21 -0
  18. package/react/EpilotIcon.js +41 -0
  19. package/react/EpilotIcon.js.map +1 -0
  20. package/react/OpenInNew/index.d.ts +4 -0
  21. package/react/OpenInNew/index.js +28 -0
  22. package/react/OpenInNew/index.js.map +1 -0
  23. package/react/Share/index.d.ts +4 -0
  24. package/react/Share/index.js +28 -0
  25. package/react/Share/index.js.map +1 -0
  26. package/react/index.d.ts +6 -0
  27. package/react/index.js +6 -0
  28. package/react/index.js.map +1 -1
  29. package/react/types.d.ts +7 -0
  30. package/react/types.js +9 -0
  31. package/react/types.js.map +1 -0
  32. package/src/stories/Readme.mdx +53 -0
  33. package/iac/node_modules/@balena/dockerignore/LICENSE.md +0 -206
  34. package/iac/node_modules/@balena/dockerignore/README.md +0 -261
  35. package/iac/node_modules/@cspotcode/source-map-support/LICENSE.md +0 -21
  36. package/iac/node_modules/@cspotcode/source-map-support/README.md +0 -289
  37. package/iac/node_modules/@jridgewell/resolve-uri/LICENSE +0 -19
  38. package/iac/node_modules/@jridgewell/resolve-uri/README.md +0 -40
  39. package/iac/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +0 -1
  40. package/iac/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +0 -1
  41. package/iac/node_modules/@jridgewell/sourcemap-codec/LICENSE +0 -21
  42. package/iac/node_modules/@jridgewell/sourcemap-codec/README.md +0 -200
  43. package/iac/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +0 -1
  44. package/iac/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +0 -1
  45. package/iac/node_modules/@jridgewell/trace-mapping/LICENSE +0 -19
  46. package/iac/node_modules/@jridgewell/trace-mapping/README.md +0 -193
  47. package/iac/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +0 -1
  48. package/iac/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +0 -1
  49. package/iac/node_modules/@tsconfig/node10/LICENSE +0 -21
  50. package/iac/node_modules/@tsconfig/node10/README.md +0 -40
  51. package/iac/node_modules/@tsconfig/node12/LICENSE +0 -21
  52. package/iac/node_modules/@tsconfig/node12/README.md +0 -40
  53. package/iac/node_modules/@tsconfig/node14/LICENSE +0 -21
  54. package/iac/node_modules/@tsconfig/node14/README.md +0 -40
  55. package/iac/node_modules/@tsconfig/node16/LICENSE +0 -21
  56. package/iac/node_modules/@tsconfig/node16/README.md +0 -40
  57. package/iac/node_modules/@types/jest/LICENSE +0 -21
  58. package/iac/node_modules/@types/jest/README.md +0 -17
  59. package/iac/node_modules/@types/node/LICENSE +0 -21
  60. package/iac/node_modules/@types/node/README.md +0 -16
  61. package/iac/node_modules/@types/prettier/LICENSE +0 -21
  62. package/iac/node_modules/@types/prettier/README.md +0 -16
  63. package/iac/node_modules/acorn/LICENSE +0 -21
  64. package/iac/node_modules/acorn/README.md +0 -273
  65. package/iac/node_modules/acorn-walk/LICENSE +0 -21
  66. package/iac/node_modules/acorn-walk/README.md +0 -126
  67. package/iac/node_modules/ansi-regex/license +0 -9
  68. package/iac/node_modules/ansi-regex/readme.md +0 -78
  69. package/iac/node_modules/ansi-styles/license +0 -9
  70. package/iac/node_modules/ansi-styles/readme.md +0 -144
  71. package/iac/node_modules/arg/LICENSE.md +0 -21
  72. package/iac/node_modules/arg/README.md +0 -280
  73. package/iac/node_modules/at-least-node/LICENSE +0 -6
  74. package/iac/node_modules/at-least-node/README.md +0 -25
  75. package/iac/node_modules/aws-cdk/LICENSE +0 -201
  76. package/iac/node_modules/aws-cdk/README.md +0 -742
  77. package/iac/node_modules/aws-cdk/lib/init-templates/LICENSE +0 -16
  78. package/iac/node_modules/aws-cdk/lib/init-templates/app/csharp/README.md +0 -14
  79. package/iac/node_modules/aws-cdk/lib/init-templates/app/fsharp/README.md +0 -18
  80. package/iac/node_modules/aws-cdk/lib/init-templates/app/go/README.md +0 -12
  81. package/iac/node_modules/aws-cdk/lib/init-templates/app/java/README.md +0 -18
  82. package/iac/node_modules/aws-cdk/lib/init-templates/app/javascript/README.md +0 -12
  83. package/iac/node_modules/aws-cdk/lib/init-templates/app/python/README.template.md +0 -58
  84. package/iac/node_modules/aws-cdk/lib/init-templates/app/typescript/README.md +0 -14
  85. package/iac/node_modules/aws-cdk/lib/init-templates/lib/typescript/README.template.md +0 -12
  86. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/csharp/README.template.md +0 -19
  87. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/fsharp/README.template.md +0 -20
  88. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/go/README.md +0 -12
  89. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/java/README.template.md +0 -19
  90. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/javascript/README.template.md +0 -13
  91. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/python/README.template.md +0 -65
  92. package/iac/node_modules/aws-cdk/lib/init-templates/sample-app/typescript/README.template.md +0 -15
  93. package/iac/node_modules/aws-cdk/test/integ/cli/README.md +0 -48
  94. package/iac/node_modules/aws-cdk/test/integ/cli-regression-patches/README.md +0 -54
  95. package/iac/node_modules/aws-cdk-lib/LICENSE +0 -201
  96. package/iac/node_modules/aws-cdk-lib/README.md +0 -1119
  97. package/iac/node_modules/aws-cdk-lib/alexa-ask/README.md +0 -27
  98. package/iac/node_modules/aws-cdk-lib/assertions/README.md +0 -571
  99. package/iac/node_modules/aws-cdk-lib/assets/README.md +0 -4
  100. package/iac/node_modules/aws-cdk-lib/aws-accessanalyzer/README.md +0 -27
  101. package/iac/node_modules/aws-cdk-lib/aws-acmpca/README.md +0 -59
  102. package/iac/node_modules/aws-cdk-lib/aws-amazonmq/README.md +0 -27
  103. package/iac/node_modules/aws-cdk-lib/aws-amplify/README.md +0 -32
  104. package/iac/node_modules/aws-cdk-lib/aws-amplifyuibuilder/README.md +0 -27
  105. package/iac/node_modules/aws-cdk-lib/aws-apigateway/README.md +0 -1335
  106. package/iac/node_modules/aws-cdk-lib/aws-apigatewayv2/README.md +0 -32
  107. package/iac/node_modules/aws-cdk-lib/aws-appconfig/README.md +0 -27
  108. package/iac/node_modules/aws-cdk-lib/aws-appflow/README.md +0 -27
  109. package/iac/node_modules/aws-cdk-lib/aws-appintegrations/README.md +0 -27
  110. package/iac/node_modules/aws-cdk-lib/aws-applicationautoscaling/README.md +0 -246
  111. package/iac/node_modules/aws-cdk-lib/aws-applicationinsights/README.md +0 -27
  112. package/iac/node_modules/aws-cdk-lib/aws-appmesh/README.md +0 -883
  113. package/iac/node_modules/aws-cdk-lib/aws-apprunner/README.md +0 -32
  114. package/iac/node_modules/aws-cdk-lib/aws-appstream/README.md +0 -27
  115. package/iac/node_modules/aws-cdk-lib/aws-appsync/README.md +0 -32
  116. package/iac/node_modules/aws-cdk-lib/aws-aps/README.md +0 -27
  117. package/iac/node_modules/aws-cdk-lib/aws-athena/README.md +0 -27
  118. package/iac/node_modules/aws-cdk-lib/aws-auditmanager/README.md +0 -27
  119. package/iac/node_modules/aws-cdk-lib/aws-autoscaling/README.md +0 -540
  120. package/iac/node_modules/aws-cdk-lib/aws-autoscaling-common/README.md +0 -8
  121. package/iac/node_modules/aws-cdk-lib/aws-autoscaling-hooktargets/README.md +0 -18
  122. package/iac/node_modules/aws-cdk-lib/aws-autoscalingplans/README.md +0 -27
  123. package/iac/node_modules/aws-cdk-lib/aws-backup/README.md +0 -210
  124. package/iac/node_modules/aws-cdk-lib/aws-batch/README.md +0 -32
  125. package/iac/node_modules/aws-cdk-lib/aws-billingconductor/README.md +0 -27
  126. package/iac/node_modules/aws-cdk-lib/aws-budgets/README.md +0 -27
  127. package/iac/node_modules/aws-cdk-lib/aws-cassandra/README.md +0 -27
  128. package/iac/node_modules/aws-cdk-lib/aws-ce/README.md +0 -27
  129. package/iac/node_modules/aws-cdk-lib/aws-certificatemanager/README.md +0 -166
  130. package/iac/node_modules/aws-cdk-lib/aws-certificatemanager/lambda-packages/dns_validated_certificate_handler/README.md +0 -2
  131. package/iac/node_modules/aws-cdk-lib/aws-certificatemanager/suffixes/README.txt +0 -8
  132. package/iac/node_modules/aws-cdk-lib/aws-chatbot/README.md +0 -44
  133. package/iac/node_modules/aws-cdk-lib/aws-cloud9/README.md +0 -32
  134. package/iac/node_modules/aws-cdk-lib/aws-cloudformation/README.md +0 -4
  135. package/iac/node_modules/aws-cdk-lib/aws-cloudfront/README.md +0 -973
  136. package/iac/node_modules/aws-cdk-lib/aws-cloudfront-origins/README.md +0 -126
  137. package/iac/node_modules/aws-cdk-lib/aws-cloudtrail/README.md +0 -189
  138. package/iac/node_modules/aws-cdk-lib/aws-cloudwatch/README.md +0 -579
  139. package/iac/node_modules/aws-cdk-lib/aws-cloudwatch-actions/README.md +0 -43
  140. package/iac/node_modules/aws-cdk-lib/aws-codeartifact/README.md +0 -27
  141. package/iac/node_modules/aws-cdk-lib/aws-codebuild/README.md +0 -759
  142. package/iac/node_modules/aws-cdk-lib/aws-codecommit/README.md +0 -85
  143. package/iac/node_modules/aws-cdk-lib/aws-codedeploy/README.md +0 -319
  144. package/iac/node_modules/aws-cdk-lib/aws-codeguruprofiler/README.md +0 -37
  145. package/iac/node_modules/aws-cdk-lib/aws-codegurureviewer/README.md +0 -27
  146. package/iac/node_modules/aws-cdk-lib/aws-codepipeline/README.md +0 -481
  147. package/iac/node_modules/aws-cdk-lib/aws-codepipeline-actions/README.md +0 -1203
  148. package/iac/node_modules/aws-cdk-lib/aws-codestar/README.md +0 -32
  149. package/iac/node_modules/aws-cdk-lib/aws-codestarconnections/README.md +0 -27
  150. package/iac/node_modules/aws-cdk-lib/aws-codestarnotifications/README.md +0 -68
  151. package/iac/node_modules/aws-cdk-lib/aws-cognito/README.md +0 -843
  152. package/iac/node_modules/aws-cdk-lib/aws-config/README.md +0 -218
  153. package/iac/node_modules/aws-cdk-lib/aws-connect/README.md +0 -27
  154. package/iac/node_modules/aws-cdk-lib/aws-controltower/README.md +0 -27
  155. package/iac/node_modules/aws-cdk-lib/aws-cur/README.md +0 -27
  156. package/iac/node_modules/aws-cdk-lib/aws-customerprofiles/README.md +0 -27
  157. package/iac/node_modules/aws-cdk-lib/aws-databrew/README.md +0 -27
  158. package/iac/node_modules/aws-cdk-lib/aws-datapipeline/README.md +0 -27
  159. package/iac/node_modules/aws-cdk-lib/aws-datasync/README.md +0 -27
  160. package/iac/node_modules/aws-cdk-lib/aws-dax/README.md +0 -27
  161. package/iac/node_modules/aws-cdk-lib/aws-detective/README.md +0 -27
  162. package/iac/node_modules/aws-cdk-lib/aws-devopsguru/README.md +0 -27
  163. package/iac/node_modules/aws-cdk-lib/aws-directoryservice/README.md +0 -27
  164. package/iac/node_modules/aws-cdk-lib/aws-dlm/README.md +0 -27
  165. package/iac/node_modules/aws-cdk-lib/aws-dms/README.md +0 -27
  166. package/iac/node_modules/aws-cdk-lib/aws-docdb/README.md +0 -153
  167. package/iac/node_modules/aws-cdk-lib/aws-dynamodb/README.md +0 -200
  168. package/iac/node_modules/aws-cdk-lib/aws-ec2/README.md +0 -1514
  169. package/iac/node_modules/aws-cdk-lib/aws-ecr/README.md +0 -110
  170. package/iac/node_modules/aws-cdk-lib/aws-ecr-assets/README.md +0 -167
  171. package/iac/node_modules/aws-cdk-lib/aws-ecs/README.md +0 -1225
  172. package/iac/node_modules/aws-cdk-lib/aws-ecs-patterns/README.md +0 -980
  173. package/iac/node_modules/aws-cdk-lib/aws-efs/README.md +0 -154
  174. package/iac/node_modules/aws-cdk-lib/aws-eks/README.md +0 -1450
  175. package/iac/node_modules/aws-cdk-lib/aws-elasticache/README.md +0 -27
  176. package/iac/node_modules/aws-cdk-lib/aws-elasticbeanstalk/README.md +0 -27
  177. package/iac/node_modules/aws-cdk-lib/aws-elasticloadbalancing/README.md +0 -40
  178. package/iac/node_modules/aws-cdk-lib/aws-elasticloadbalancingv2/README.md +0 -569
  179. package/iac/node_modules/aws-cdk-lib/aws-elasticloadbalancingv2-actions/README.md +0 -68
  180. package/iac/node_modules/aws-cdk-lib/aws-elasticloadbalancingv2-targets/README.md +0 -4
  181. package/iac/node_modules/aws-cdk-lib/aws-elasticsearch/README.md +0 -441
  182. package/iac/node_modules/aws-cdk-lib/aws-emr/README.md +0 -27
  183. package/iac/node_modules/aws-cdk-lib/aws-emrcontainers/README.md +0 -27
  184. package/iac/node_modules/aws-cdk-lib/aws-emrserverless/README.md +0 -27
  185. package/iac/node_modules/aws-cdk-lib/aws-events/README.md +0 -249
  186. package/iac/node_modules/aws-cdk-lib/aws-events-targets/README.md +0 -339
  187. package/iac/node_modules/aws-cdk-lib/aws-eventschemas/README.md +0 -27
  188. package/iac/node_modules/aws-cdk-lib/aws-evidently/README.md +0 -27
  189. package/iac/node_modules/aws-cdk-lib/aws-finspace/README.md +0 -27
  190. package/iac/node_modules/aws-cdk-lib/aws-fis/README.md +0 -27
  191. package/iac/node_modules/aws-cdk-lib/aws-fms/README.md +0 -27
  192. package/iac/node_modules/aws-cdk-lib/aws-forecast/README.md +0 -27
  193. package/iac/node_modules/aws-cdk-lib/aws-frauddetector/README.md +0 -27
  194. package/iac/node_modules/aws-cdk-lib/aws-fsx/README.md +0 -200
  195. package/iac/node_modules/aws-cdk-lib/aws-gamelift/README.md +0 -27
  196. package/iac/node_modules/aws-cdk-lib/aws-globalaccelerator/README.md +0 -182
  197. package/iac/node_modules/aws-cdk-lib/aws-globalaccelerator-endpoints/README.md +0 -10
  198. package/iac/node_modules/aws-cdk-lib/aws-glue/README.md +0 -32
  199. package/iac/node_modules/aws-cdk-lib/aws-greengrass/README.md +0 -27
  200. package/iac/node_modules/aws-cdk-lib/aws-greengrassv2/README.md +0 -27
  201. package/iac/node_modules/aws-cdk-lib/aws-groundstation/README.md +0 -27
  202. package/iac/node_modules/aws-cdk-lib/aws-guardduty/README.md +0 -27
  203. package/iac/node_modules/aws-cdk-lib/aws-healthlake/README.md +0 -27
  204. package/iac/node_modules/aws-cdk-lib/aws-iam/README.md +0 -509
  205. package/iac/node_modules/aws-cdk-lib/aws-imagebuilder/README.md +0 -27
  206. package/iac/node_modules/aws-cdk-lib/aws-inspector/README.md +0 -27
  207. package/iac/node_modules/aws-cdk-lib/aws-inspectorv2/README.md +0 -27
  208. package/iac/node_modules/aws-cdk-lib/aws-iot/README.md +0 -32
  209. package/iac/node_modules/aws-cdk-lib/aws-iot1click/README.md +0 -27
  210. package/iac/node_modules/aws-cdk-lib/aws-iotanalytics/README.md +0 -27
  211. package/iac/node_modules/aws-cdk-lib/aws-iotcoredeviceadvisor/README.md +0 -27
  212. package/iac/node_modules/aws-cdk-lib/aws-iotevents/README.md +0 -32
  213. package/iac/node_modules/aws-cdk-lib/aws-iotfleethub/README.md +0 -27
  214. package/iac/node_modules/aws-cdk-lib/aws-iotsitewise/README.md +0 -27
  215. package/iac/node_modules/aws-cdk-lib/aws-iotthingsgraph/README.md +0 -27
  216. package/iac/node_modules/aws-cdk-lib/aws-iottwinmaker/README.md +0 -27
  217. package/iac/node_modules/aws-cdk-lib/aws-iotwireless/README.md +0 -27
  218. package/iac/node_modules/aws-cdk-lib/aws-ivs/README.md +0 -32
  219. package/iac/node_modules/aws-cdk-lib/aws-kafkaconnect/README.md +0 -27
  220. package/iac/node_modules/aws-cdk-lib/aws-kendra/README.md +0 -27
  221. package/iac/node_modules/aws-cdk-lib/aws-kinesis/README.md +0 -188
  222. package/iac/node_modules/aws-cdk-lib/aws-kinesisanalytics/README.md +0 -27
  223. package/iac/node_modules/aws-cdk-lib/aws-kinesisanalyticsv2/README.md +0 -27
  224. package/iac/node_modules/aws-cdk-lib/aws-kinesisfirehose/README.md +0 -32
  225. package/iac/node_modules/aws-cdk-lib/aws-kinesisvideo/README.md +0 -27
  226. package/iac/node_modules/aws-cdk-lib/aws-kms/README.md +0 -209
  227. package/iac/node_modules/aws-cdk-lib/aws-lakeformation/README.md +0 -27
  228. package/iac/node_modules/aws-cdk-lib/aws-lambda/README.md +0 -985
  229. package/iac/node_modules/aws-cdk-lib/aws-lambda-destinations/README.md +0 -147
  230. package/iac/node_modules/aws-cdk-lib/aws-lambda-event-sources/README.md +0 -281
  231. package/iac/node_modules/aws-cdk-lib/aws-lambda-nodejs/README.md +0 -317
  232. package/iac/node_modules/aws-cdk-lib/aws-lex/README.md +0 -27
  233. package/iac/node_modules/aws-cdk-lib/aws-licensemanager/README.md +0 -27
  234. package/iac/node_modules/aws-cdk-lib/aws-lightsail/README.md +0 -27
  235. package/iac/node_modules/aws-cdk-lib/aws-location/README.md +0 -27
  236. package/iac/node_modules/aws-cdk-lib/aws-logs/README.md +0 -322
  237. package/iac/node_modules/aws-cdk-lib/aws-logs-destinations/README.md +0 -7
  238. package/iac/node_modules/aws-cdk-lib/aws-lookoutequipment/README.md +0 -27
  239. package/iac/node_modules/aws-cdk-lib/aws-lookoutmetrics/README.md +0 -27
  240. package/iac/node_modules/aws-cdk-lib/aws-lookoutvision/README.md +0 -27
  241. package/iac/node_modules/aws-cdk-lib/aws-m2/README.md +0 -27
  242. package/iac/node_modules/aws-cdk-lib/aws-macie/README.md +0 -27
  243. package/iac/node_modules/aws-cdk-lib/aws-managedblockchain/README.md +0 -27
  244. package/iac/node_modules/aws-cdk-lib/aws-mediaconnect/README.md +0 -27
  245. package/iac/node_modules/aws-cdk-lib/aws-mediaconvert/README.md +0 -27
  246. package/iac/node_modules/aws-cdk-lib/aws-medialive/README.md +0 -27
  247. package/iac/node_modules/aws-cdk-lib/aws-mediapackage/README.md +0 -27
  248. package/iac/node_modules/aws-cdk-lib/aws-mediastore/README.md +0 -27
  249. package/iac/node_modules/aws-cdk-lib/aws-mediatailor/README.md +0 -27
  250. package/iac/node_modules/aws-cdk-lib/aws-memorydb/README.md +0 -27
  251. package/iac/node_modules/aws-cdk-lib/aws-msk/README.md +0 -32
  252. package/iac/node_modules/aws-cdk-lib/aws-mwaa/README.md +0 -27
  253. package/iac/node_modules/aws-cdk-lib/aws-neptune/README.md +0 -32
  254. package/iac/node_modules/aws-cdk-lib/aws-networkfirewall/README.md +0 -27
  255. package/iac/node_modules/aws-cdk-lib/aws-networkmanager/README.md +0 -27
  256. package/iac/node_modules/aws-cdk-lib/aws-nimblestudio/README.md +0 -27
  257. package/iac/node_modules/aws-cdk-lib/aws-opensearchservice/README.md +0 -378
  258. package/iac/node_modules/aws-cdk-lib/aws-opsworks/README.md +0 -27
  259. package/iac/node_modules/aws-cdk-lib/aws-opsworkscm/README.md +0 -27
  260. package/iac/node_modules/aws-cdk-lib/aws-panorama/README.md +0 -27
  261. package/iac/node_modules/aws-cdk-lib/aws-personalize/README.md +0 -27
  262. package/iac/node_modules/aws-cdk-lib/aws-pinpoint/README.md +0 -27
  263. package/iac/node_modules/aws-cdk-lib/aws-pinpointemail/README.md +0 -27
  264. package/iac/node_modules/aws-cdk-lib/aws-qldb/README.md +0 -27
  265. package/iac/node_modules/aws-cdk-lib/aws-quicksight/README.md +0 -27
  266. package/iac/node_modules/aws-cdk-lib/aws-ram/README.md +0 -27
  267. package/iac/node_modules/aws-cdk-lib/aws-rds/README.md +0 -704
  268. package/iac/node_modules/aws-cdk-lib/aws-redshift/README.md +0 -32
  269. package/iac/node_modules/aws-cdk-lib/aws-redshiftserverless/README.md +0 -27
  270. package/iac/node_modules/aws-cdk-lib/aws-refactorspaces/README.md +0 -27
  271. package/iac/node_modules/aws-cdk-lib/aws-rekognition/README.md +0 -27
  272. package/iac/node_modules/aws-cdk-lib/aws-resiliencehub/README.md +0 -27
  273. package/iac/node_modules/aws-cdk-lib/aws-resourcegroups/README.md +0 -27
  274. package/iac/node_modules/aws-cdk-lib/aws-robomaker/README.md +0 -27
  275. package/iac/node_modules/aws-cdk-lib/aws-route53/README.md +0 -281
  276. package/iac/node_modules/aws-cdk-lib/aws-route53-patterns/README.md +0 -45
  277. package/iac/node_modules/aws-cdk-lib/aws-route53-targets/README.md +0 -181
  278. package/iac/node_modules/aws-cdk-lib/aws-route53recoverycontrol/README.md +0 -27
  279. package/iac/node_modules/aws-cdk-lib/aws-route53recoveryreadiness/README.md +0 -27
  280. package/iac/node_modules/aws-cdk-lib/aws-route53resolver/README.md +0 -32
  281. package/iac/node_modules/aws-cdk-lib/aws-rum/README.md +0 -27
  282. package/iac/node_modules/aws-cdk-lib/aws-s3/README.md +0 -581
  283. package/iac/node_modules/aws-cdk-lib/aws-s3-assets/README.md +0 -179
  284. package/iac/node_modules/aws-cdk-lib/aws-s3-deployment/README.md +0 -349
  285. package/iac/node_modules/aws-cdk-lib/aws-s3-notifications/README.md +0 -46
  286. package/iac/node_modules/aws-cdk-lib/aws-s3objectlambda/README.md +0 -32
  287. package/iac/node_modules/aws-cdk-lib/aws-s3outposts/README.md +0 -27
  288. package/iac/node_modules/aws-cdk-lib/aws-sagemaker/README.md +0 -27
  289. package/iac/node_modules/aws-cdk-lib/aws-sam/README.md +0 -27
  290. package/iac/node_modules/aws-cdk-lib/aws-sdb/README.md +0 -27
  291. package/iac/node_modules/aws-cdk-lib/aws-secretsmanager/README.md +0 -285
  292. package/iac/node_modules/aws-cdk-lib/aws-securityhub/README.md +0 -27
  293. package/iac/node_modules/aws-cdk-lib/aws-servicecatalog/README.md +0 -491
  294. package/iac/node_modules/aws-cdk-lib/aws-servicecatalogappregistry/README.md +0 -32
  295. package/iac/node_modules/aws-cdk-lib/aws-servicediscovery/README.md +0 -45
  296. package/iac/node_modules/aws-cdk-lib/aws-ses/README.md +0 -194
  297. package/iac/node_modules/aws-cdk-lib/aws-ses-actions/README.md +0 -16
  298. package/iac/node_modules/aws-cdk-lib/aws-signer/README.md +0 -41
  299. package/iac/node_modules/aws-cdk-lib/aws-sns/README.md +0 -184
  300. package/iac/node_modules/aws-cdk-lib/aws-sns-subscriptions/README.md +0 -120
  301. package/iac/node_modules/aws-cdk-lib/aws-sqs/README.md +0 -57
  302. package/iac/node_modules/aws-cdk-lib/aws-ssm/README.md +0 -99
  303. package/iac/node_modules/aws-cdk-lib/aws-ssmcontacts/README.md +0 -27
  304. package/iac/node_modules/aws-cdk-lib/aws-ssmincidents/README.md +0 -27
  305. package/iac/node_modules/aws-cdk-lib/aws-sso/README.md +0 -27
  306. package/iac/node_modules/aws-cdk-lib/aws-stepfunctions/README.md +0 -884
  307. package/iac/node_modules/aws-cdk-lib/aws-stepfunctions-tasks/README.md +0 -1288
  308. package/iac/node_modules/aws-cdk-lib/aws-supportapp/README.md +0 -27
  309. package/iac/node_modules/aws-cdk-lib/aws-synthetics/README.md +0 -32
  310. package/iac/node_modules/aws-cdk-lib/aws-timestream/README.md +0 -27
  311. package/iac/node_modules/aws-cdk-lib/aws-transfer/README.md +0 -27
  312. package/iac/node_modules/aws-cdk-lib/aws-voiceid/README.md +0 -27
  313. package/iac/node_modules/aws-cdk-lib/aws-waf/README.md +0 -27
  314. package/iac/node_modules/aws-cdk-lib/aws-wafregional/README.md +0 -27
  315. package/iac/node_modules/aws-cdk-lib/aws-wafv2/README.md +0 -27
  316. package/iac/node_modules/aws-cdk-lib/aws-wisdom/README.md +0 -27
  317. package/iac/node_modules/aws-cdk-lib/aws-workspaces/README.md +0 -27
  318. package/iac/node_modules/aws-cdk-lib/aws-xray/README.md +0 -27
  319. package/iac/node_modules/aws-cdk-lib/cloud-assembly-schema/README.md +0 -55
  320. package/iac/node_modules/aws-cdk-lib/cloud-assembly-schema/schema/README.md +0 -5
  321. package/iac/node_modules/aws-cdk-lib/cloudformation-include/README.md +0 -466
  322. package/iac/node_modules/aws-cdk-lib/core/README.md +0 -1078
  323. package/iac/node_modules/aws-cdk-lib/custom-resources/README.md +0 -624
  324. package/iac/node_modules/aws-cdk-lib/cx-api/README.md +0 -98
  325. package/iac/node_modules/aws-cdk-lib/lambda-layer-awscli/README.md +0 -19
  326. package/iac/node_modules/aws-cdk-lib/lambda-layer-kubectl/README.md +0 -20
  327. package/iac/node_modules/aws-cdk-lib/lambda-layer-node-proxy-agent/README.md +0 -18
  328. package/iac/node_modules/aws-cdk-lib/node_modules/@balena/dockerignore/LICENSE.md +0 -206
  329. package/iac/node_modules/aws-cdk-lib/node_modules/@balena/dockerignore/README.md +0 -261
  330. package/iac/node_modules/aws-cdk-lib/node_modules/at-least-node/LICENSE +0 -6
  331. package/iac/node_modules/aws-cdk-lib/node_modules/at-least-node/README.md +0 -25
  332. package/iac/node_modules/aws-cdk-lib/node_modules/balanced-match/LICENSE.md +0 -21
  333. package/iac/node_modules/aws-cdk-lib/node_modules/balanced-match/README.md +0 -97
  334. package/iac/node_modules/aws-cdk-lib/node_modules/brace-expansion/LICENSE +0 -21
  335. package/iac/node_modules/aws-cdk-lib/node_modules/brace-expansion/README.md +0 -129
  336. package/iac/node_modules/aws-cdk-lib/node_modules/case/LICENSE +0 -22
  337. package/iac/node_modules/aws-cdk-lib/node_modules/case/README.md +0 -139
  338. package/iac/node_modules/aws-cdk-lib/node_modules/case/dist/Case.min.js.map +0 -1
  339. package/iac/node_modules/aws-cdk-lib/node_modules/case/dist/Case.plus.min.js.map +0 -1
  340. package/iac/node_modules/aws-cdk-lib/node_modules/concat-map/LICENSE +0 -18
  341. package/iac/node_modules/aws-cdk-lib/node_modules/concat-map/README.markdown +0 -62
  342. package/iac/node_modules/aws-cdk-lib/node_modules/fs-extra/LICENSE +0 -15
  343. package/iac/node_modules/aws-cdk-lib/node_modules/fs-extra/README.md +0 -264
  344. package/iac/node_modules/aws-cdk-lib/node_modules/graceful-fs/LICENSE +0 -15
  345. package/iac/node_modules/aws-cdk-lib/node_modules/graceful-fs/README.md +0 -143
  346. package/iac/node_modules/aws-cdk-lib/node_modules/ignore/README.md +0 -412
  347. package/iac/node_modules/aws-cdk-lib/node_modules/jsonfile/LICENSE +0 -15
  348. package/iac/node_modules/aws-cdk-lib/node_modules/jsonfile/README.md +0 -230
  349. package/iac/node_modules/aws-cdk-lib/node_modules/jsonschema/LICENSE +0 -21
  350. package/iac/node_modules/aws-cdk-lib/node_modules/jsonschema/README.md +0 -421
  351. package/iac/node_modules/aws-cdk-lib/node_modules/lru-cache/LICENSE +0 -15
  352. package/iac/node_modules/aws-cdk-lib/node_modules/lru-cache/README.md +0 -166
  353. package/iac/node_modules/aws-cdk-lib/node_modules/minimatch/LICENSE +0 -15
  354. package/iac/node_modules/aws-cdk-lib/node_modules/minimatch/README.md +0 -230
  355. package/iac/node_modules/aws-cdk-lib/node_modules/punycode/README.md +0 -122
  356. package/iac/node_modules/aws-cdk-lib/node_modules/semver/LICENSE +0 -15
  357. package/iac/node_modules/aws-cdk-lib/node_modules/semver/README.md +0 -568
  358. package/iac/node_modules/aws-cdk-lib/node_modules/universalify/LICENSE +0 -20
  359. package/iac/node_modules/aws-cdk-lib/node_modules/universalify/README.md +0 -76
  360. package/iac/node_modules/aws-cdk-lib/node_modules/yallist/LICENSE +0 -15
  361. package/iac/node_modules/aws-cdk-lib/node_modules/yallist/README.md +0 -204
  362. package/iac/node_modules/aws-cdk-lib/node_modules/yaml/LICENSE +0 -13
  363. package/iac/node_modules/aws-cdk-lib/node_modules/yaml/README.md +0 -127
  364. package/iac/node_modules/aws-cdk-lib/pipelines/README.md +0 -1573
  365. package/iac/node_modules/aws-cdk-lib/region-info/README.md +0 -84
  366. package/iac/node_modules/aws-cdk-lib/triggers/README.md +0 -86
  367. package/iac/node_modules/balanced-match/LICENSE.md +0 -21
  368. package/iac/node_modules/balanced-match/README.md +0 -97
  369. package/iac/node_modules/brace-expansion/LICENSE +0 -21
  370. package/iac/node_modules/brace-expansion/README.md +0 -129
  371. package/iac/node_modules/buffer-from/LICENSE +0 -21
  372. package/iac/node_modules/buffer-from/readme.md +0 -69
  373. package/iac/node_modules/case/LICENSE +0 -22
  374. package/iac/node_modules/case/README.md +0 -139
  375. package/iac/node_modules/case/dist/Case.min.js.map +0 -1
  376. package/iac/node_modules/case/dist/Case.plus.min.js.map +0 -1
  377. package/iac/node_modules/chalk/license +0 -9
  378. package/iac/node_modules/chalk/node_modules/ansi-styles/license +0 -9
  379. package/iac/node_modules/chalk/node_modules/ansi-styles/readme.md +0 -152
  380. package/iac/node_modules/chalk/readme.md +0 -341
  381. package/iac/node_modules/color-convert/LICENSE +0 -21
  382. package/iac/node_modules/color-convert/README.md +0 -68
  383. package/iac/node_modules/color-name/LICENSE +0 -8
  384. package/iac/node_modules/color-name/README.md +0 -11
  385. package/iac/node_modules/concat-map/LICENSE +0 -18
  386. package/iac/node_modules/concat-map/README.markdown +0 -62
  387. package/iac/node_modules/constructs/LICENSE +0 -202
  388. package/iac/node_modules/constructs/README.md +0 -28
  389. package/iac/node_modules/create-require/LICENSE +0 -25
  390. package/iac/node_modules/create-require/README.md +0 -46
  391. package/iac/node_modules/diff/LICENSE +0 -31
  392. package/iac/node_modules/diff/README.md +0 -207
  393. package/iac/node_modules/diff-sequences/LICENSE +0 -21
  394. package/iac/node_modules/diff-sequences/README.md +0 -404
  395. package/iac/node_modules/fs-extra/LICENSE +0 -15
  396. package/iac/node_modules/fs-extra/README.md +0 -264
  397. package/iac/node_modules/fsevents/LICENSE +0 -22
  398. package/iac/node_modules/fsevents/README.md +0 -83
  399. package/iac/node_modules/graceful-fs/LICENSE +0 -15
  400. package/iac/node_modules/graceful-fs/README.md +0 -143
  401. package/iac/node_modules/has-flag/license +0 -9
  402. package/iac/node_modules/has-flag/readme.md +0 -89
  403. package/iac/node_modules/ignore/README.md +0 -412
  404. package/iac/node_modules/jest-diff/LICENSE +0 -21
  405. package/iac/node_modules/jest-diff/README.md +0 -671
  406. package/iac/node_modules/jest-get-type/LICENSE +0 -21
  407. package/iac/node_modules/jest-matcher-utils/LICENSE +0 -21
  408. package/iac/node_modules/jest-matcher-utils/README.md +0 -24
  409. package/iac/node_modules/jsonfile/LICENSE +0 -15
  410. package/iac/node_modules/jsonfile/README.md +0 -230
  411. package/iac/node_modules/jsonschema/LICENSE +0 -21
  412. package/iac/node_modules/jsonschema/README.md +0 -421
  413. package/iac/node_modules/lru-cache/LICENSE +0 -15
  414. package/iac/node_modules/lru-cache/README.md +0 -166
  415. package/iac/node_modules/make-error/LICENSE +0 -5
  416. package/iac/node_modules/make-error/README.md +0 -112
  417. package/iac/node_modules/minimatch/LICENSE +0 -15
  418. package/iac/node_modules/minimatch/README.md +0 -230
  419. package/iac/node_modules/pretty-format/LICENSE +0 -21
  420. package/iac/node_modules/pretty-format/README.md +0 -458
  421. package/iac/node_modules/punycode/README.md +0 -122
  422. package/iac/node_modules/react-is/LICENSE +0 -21
  423. package/iac/node_modules/react-is/README.md +0 -104
  424. package/iac/node_modules/semver/LICENSE +0 -15
  425. package/iac/node_modules/semver/README.md +0 -568
  426. package/iac/node_modules/source-map/LICENSE +0 -28
  427. package/iac/node_modules/source-map/README.md +0 -742
  428. package/iac/node_modules/source-map/dist/source-map.min.js.map +0 -1
  429. package/iac/node_modules/source-map-support/LICENSE.md +0 -21
  430. package/iac/node_modules/source-map-support/README.md +0 -284
  431. package/iac/node_modules/supports-color/license +0 -9
  432. package/iac/node_modules/supports-color/readme.md +0 -76
  433. package/iac/node_modules/ts-node/LICENSE +0 -21
  434. package/iac/node_modules/ts-node/README.md +0 -1442
  435. package/iac/node_modules/ts-node/dist/bin-cwd.js.map +0 -1
  436. package/iac/node_modules/ts-node/dist/bin-esm.js.map +0 -1
  437. package/iac/node_modules/ts-node/dist/bin-script-deprecated.js.map +0 -1
  438. package/iac/node_modules/ts-node/dist/bin-script.js.map +0 -1
  439. package/iac/node_modules/ts-node/dist/bin-transpile.js.map +0 -1
  440. package/iac/node_modules/ts-node/dist/bin.js.map +0 -1
  441. package/iac/node_modules/ts-node/dist/child/argv-payload.js.map +0 -1
  442. package/iac/node_modules/ts-node/dist/child/child-entrypoint.js.map +0 -1
  443. package/iac/node_modules/ts-node/dist/child/child-loader.js.map +0 -1
  444. package/iac/node_modules/ts-node/dist/child/child-require.js.map +0 -1
  445. package/iac/node_modules/ts-node/dist/child/spawn-child.js.map +0 -1
  446. package/iac/node_modules/ts-node/dist/cjs-resolve-hooks.js.map +0 -1
  447. package/iac/node_modules/ts-node/dist/configuration.js.map +0 -1
  448. package/iac/node_modules/ts-node/dist/esm.js.map +0 -1
  449. package/iac/node_modules/ts-node/dist/file-extensions.js.map +0 -1
  450. package/iac/node_modules/ts-node/dist/index.js.map +0 -1
  451. package/iac/node_modules/ts-node/dist/module-type-classifier.js.map +0 -1
  452. package/iac/node_modules/ts-node/dist/node-module-type-classifier.js.map +0 -1
  453. package/iac/node_modules/ts-node/dist/repl.js.map +0 -1
  454. package/iac/node_modules/ts-node/dist/resolver-functions.js.map +0 -1
  455. package/iac/node_modules/ts-node/dist/transpilers/swc.js.map +0 -1
  456. package/iac/node_modules/ts-node/dist/transpilers/types.js.map +0 -1
  457. package/iac/node_modules/ts-node/dist/ts-compiler-types.js.map +0 -1
  458. package/iac/node_modules/ts-node/dist/ts-internals.js.map +0 -1
  459. package/iac/node_modules/ts-node/dist/ts-transpile-module.js.map +0 -1
  460. package/iac/node_modules/ts-node/dist/tsconfig-schema.js.map +0 -1
  461. package/iac/node_modules/ts-node/dist/tsconfigs.js.map +0 -1
  462. package/iac/node_modules/ts-node/dist/util.js.map +0 -1
  463. package/iac/node_modules/ts-node/dist-raw/README.md +0 -36
  464. package/iac/node_modules/typescript/LICENSE.txt +0 -55
  465. package/iac/node_modules/typescript/README.md +0 -104
  466. package/iac/node_modules/typescript/lib/README.md +0 -5
  467. package/iac/node_modules/universalify/LICENSE +0 -20
  468. package/iac/node_modules/universalify/README.md +0 -76
  469. package/iac/node_modules/v8-compile-cache-lib/LICENSE +0 -21
  470. package/iac/node_modules/v8-compile-cache-lib/README.md +0 -60
  471. package/iac/node_modules/yallist/LICENSE +0 -15
  472. package/iac/node_modules/yallist/README.md +0 -204
  473. package/iac/node_modules/yaml/LICENSE +0 -13
  474. package/iac/node_modules/yaml/README.md +0 -127
  475. package/iac/node_modules/yn/license +0 -9
  476. package/iac/node_modules/yn/readme.md +0 -83
  477. package/react/Edit.d.ts +0 -3
  478. package/react/Edit.js +0 -10
  479. package/react/Edit.js.map +0 -1
@@ -1,624 +0,0 @@
1
- # AWS CDK Custom Resources
2
-
3
-
4
- ## Provider Framework
5
-
6
- AWS CloudFormation [custom resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html) are extension points to the provisioning
7
- engine. When CloudFormation needs to create, update or delete a custom resource,
8
- it sends a lifecycle event notification to a **custom resource provider**. The provider
9
- handles the event (e.g. creates a resource) and sends back a response to CloudFormation.
10
-
11
- The `@aws-cdk/custom-resources.Provider` construct is a "mini-framework" for
12
- implementing providers for AWS CloudFormation custom resources. The framework offers a high-level API which makes it easier to implement robust
13
- and powerful custom resources. If you are looking to implement a custom resource provider, we recommend
14
- you use this module unless you have good reasons not to. For an overview of different provider types you
15
- could be using, see the [Custom Resource Providers section in the core library documentation](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib-readme.html#custom-resource-providers).
16
-
17
- > **N.B.**: if you use the provider framework in this module you will write AWS Lambda Functions that look a lot like, but aren't exactly the same as the Lambda Functions you would write if you wrote CloudFormation Custom Resources directly, without this framework.
18
- >
19
- > Specifically, to report success or failure, have your Lambda Function exit in the right way: return data for success, or throw an
20
- > exception for failure. *Do not* post the success or failure of your custom resource to an HTTPS URL as the CloudFormation
21
- > documentation tells you to do.
22
-
23
- The framework has the following capabilities:
24
-
25
- * Handles responses to AWS CloudFormation and protects against blocked
26
- deployments
27
- * Validates handler return values to help with correct handler implementation
28
- * Supports asynchronous handlers to enable operations that require a long waiting period for a resource, which can exceed the AWS Lambda timeout
29
- * Implements default behavior for physical resource IDs.
30
-
31
- The following code shows how the `Provider` construct is used in conjunction
32
- with a `CustomResource` and a user-provided AWS Lambda function which implements
33
- the actual handler.
34
-
35
- ```ts
36
- declare const onEvent: lambda.Function;
37
- declare const isComplete: lambda.Function;
38
- declare const myRole: iam.Role;
39
-
40
- const myProvider = new cr.Provider(this, 'MyProvider', {
41
- onEventHandler: onEvent,
42
- isCompleteHandler: isComplete, // optional async "waiter"
43
- logRetention: logs.RetentionDays.ONE_DAY, // default is INFINITE
44
- role: myRole, // must be assumable by the `lambda.amazonaws.com` service principal
45
- });
46
-
47
- new CustomResource(this, 'Resource1', { serviceToken: myProvider.serviceToken });
48
- new CustomResource(this, 'Resource2', { serviceToken: myProvider.serviceToken });
49
- ```
50
-
51
- Providers are implemented through AWS Lambda functions that are triggered by the
52
- provider framework in response to lifecycle events.
53
-
54
- At the minimum, users must define the `onEvent` handler, which is invoked by the
55
- framework for all resource lifecycle events (`Create`, `Update` and `Delete`)
56
- and returns a result which is then submitted to CloudFormation.
57
-
58
- The following example is a skeleton for a Python implementation of `onEvent`:
59
-
60
- ```py
61
- def on_event(event, context):
62
- print(event)
63
- request_type = event['RequestType']
64
- if request_type == 'Create': return on_create(event)
65
- if request_type == 'Update': return on_update(event)
66
- if request_type == 'Delete': return on_delete(event)
67
- raise Exception("Invalid request type: %s" % request_type)
68
-
69
- def on_create(event):
70
- props = event["ResourceProperties"]
71
- print("create new resource with props %s" % props)
72
-
73
- # add your create code here...
74
- physical_id = ...
75
-
76
- return { 'PhysicalResourceId': physical_id }
77
-
78
- def on_update(event):
79
- physical_id = event["PhysicalResourceId"]
80
- props = event["ResourceProperties"]
81
- print("update resource %s with props %s" % (physical_id, props))
82
- # ...
83
-
84
- def on_delete(event):
85
- physical_id = event["PhysicalResourceId"]
86
- print("delete resource %s" % physical_id)
87
- # ...
88
- ```
89
-
90
- > When writing your handlers, there are a couple of non-obvious corner cases you need to
91
- > pay attention to. See the [important cases to handle](#important-cases-to-handle) section for more information.
92
-
93
- Users may also provide an additional handler called `isComplete`, for cases
94
- where the lifecycle operation cannot be completed immediately. The
95
- `isComplete` handler will be retried asynchronously after `onEvent` until it
96
- returns `IsComplete: true`, or until the total provider timeout has expired.
97
-
98
- The following example is a skeleton for a Python implementation of `isComplete`:
99
-
100
- ```py
101
- def is_complete(event, context):
102
- physical_id = event["PhysicalResourceId"]
103
- request_type = event["RequestType"]
104
-
105
- # check if resource is stable based on request_type
106
- is_ready = ...
107
-
108
- return { 'IsComplete': is_ready }
109
- ```
110
-
111
- > **Security Note**: the Custom Resource Provider Framework will write the value of `ResponseURL`,
112
- > which is a pre-signed S3 URL used to report the success or failure of the Custom Resource execution
113
- > back to CloudFormation, in a readable form to the AWS Step Functions execution history.
114
- >
115
- > Anybody who can list and read AWS StepFunction executions in your account will be able to write
116
- > a fake response to this URL and make your CloudFormation deployments fail.
117
- >
118
- > Do not use this library if your threat model requires that you cannot trust actors who are able
119
- > to list StepFunction executions in your account.
120
-
121
- ### Handling Lifecycle Events: onEvent
122
-
123
- The user-defined `onEvent` AWS Lambda function is invoked whenever a resource
124
- lifecycle event occurs. The function is expected to handle the event and return
125
- a response to the framework that, at least, includes the physical resource ID.
126
-
127
- If `onEvent` returns successfully, the framework will submit a "SUCCESS" response
128
- to AWS CloudFormation for this resource operation. If the provider is
129
- [asynchronous](#asynchronous-providers-iscomplete) (`isCompleteHandler` is
130
- defined), the framework will only submit a response based on the result of
131
- `isComplete`.
132
-
133
- If `onEvent` throws an error, the framework will submit a "FAILED" response to
134
- AWS CloudFormation.
135
-
136
- The input event includes the following fields derived from the [Custom Resource
137
- Provider Request]:
138
-
139
- |Field|Type|Description
140
- |-----|----|----------------
141
- |`RequestType`|String|The type of lifecycle event: `Create`, `Update` or `Delete`.
142
- |`LogicalResourceId`|String|The template developer-chosen name (logical ID) of the custom resource in the AWS CloudFormation template.
143
- |`PhysicalResourceId`|String|This field will only be present for `Update` and `Delete` events and includes the value returned in `PhysicalResourceId` of the previous operation.
144
- |`ResourceProperties`|JSON|This field contains the properties defined in the template for this custom resource.
145
- |`OldResourceProperties`|JSON|This field will only be present for `Update` events and contains the resource properties that were declared previous to the update request.
146
- |`ResourceType`|String|The resource type defined for this custom resource in the template. A provider may handle any number of custom resource types.
147
- |`RequestId`|String|A unique ID for the request.
148
- |`StackId`|String|The ARN that identifies the stack that contains the custom resource.
149
-
150
- The return value from `onEvent` must be a JSON object with the following fields:
151
-
152
- |Field|Type|Required|Description
153
- |-----|----|--------|-----------
154
- |`PhysicalResourceId`|String|No|The allocated/assigned physical ID of the resource. If omitted for `Create` events, the event's `RequestId` will be used. For `Update`, the current physical ID will be used. If a different value is returned, CloudFormation will follow with a subsequent `Delete` for the previous ID (resource replacement). For `Delete`, it will always return the current physical resource ID, and if the user returns a different one, an error will occur.
155
- |`Data`|JSON|No|Resource attributes, which can later be retrieved through `Fn::GetAtt` on the custom resource object.
156
- |`NoEcho`|Boolean|No|Whether to mask the output of the custom resource when retrieved by using the `Fn::GetAtt` function.
157
- |*any*|*any*|No|Any other field included in the response will be passed through to `isComplete`. This can sometimes be useful to pass state between the handlers.
158
-
159
- [Custom Resource Provider Request]: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-ref-requests.html#crpg-ref-request-fields
160
-
161
- ### Asynchronous Providers: isComplete
162
-
163
- It is not uncommon for the provisioning of resources to be an asynchronous
164
- operation, which means that the operation does not immediately finish, and we
165
- need to "wait" until the resource stabilizes.
166
-
167
- The provider framework makes it easy to implement "waiters" by allowing users to
168
- specify an additional AWS Lambda function in `isCompleteHandler`.
169
-
170
- The framework will repeatedly invoke the handler every `queryInterval`. When
171
- `isComplete` returns with `IsComplete: true`, the framework will submit a
172
- "SUCCESS" response to AWS CloudFormation. If `totalTimeout` expires and the
173
- operation has not yet completed, the framework will submit a "FAILED" response
174
- with the message "Operation timed out".
175
-
176
- If an error is thrown, the framework will submit a "FAILED" response to AWS
177
- CloudFormation.
178
-
179
- The input event to `isComplete` includes all request fields, combined with all
180
- fields returned from `onEvent`. If `PhysicalResourceId` has not been explicitly
181
- returned from `onEvent`, it's value will be calculated based on the heuristics
182
- described above.
183
-
184
- The return value must be a JSON object with the following fields:
185
-
186
- |Field|Type|Required|Description
187
- |-----|----|--------|-----------
188
- |`IsComplete`|Boolean|Yes|Indicates if the operation has finished or not.
189
- |`Data`|JSON|No|May only be sent if `IsComplete` is `true` and includes additional resource attributes. These attributes will be **merged** with the ones returned from `onEvent`
190
-
191
- ### Physical Resource IDs
192
-
193
- Every resource in CloudFormation has a physical resource ID. When a resource is
194
- created, the `PhysicalResourceId` returned from the `Create` operation is stored
195
- by AWS CloudFormation and assigned to the logical ID defined for this resource
196
- in the template. If a `Create` operation returns without a `PhysicalResourceId`,
197
- the framework will use `RequestId` as the default. This is sufficient for
198
- various cases such as "pseudo-resources" which only query data.
199
-
200
- For `Update` and `Delete` operations, the resource event will always include the
201
- current `PhysicalResourceId` of the resource.
202
-
203
- When an `Update` operation occurs, the default behavior is to return the current
204
- physical resource ID. if the `onEvent` returns a `PhysicalResourceId` which is
205
- different from the current one, AWS CloudFormation will treat this as a
206
- **resource replacement**, and it will issue a subsequent `Delete` operation for
207
- the old resource.
208
-
209
- As a rule of thumb, if your custom resource supports configuring a physical name
210
- (e.g. you can specify a `BucketName` when you define an `AWS::S3::Bucket`), you
211
- must return this name in `PhysicalResourceId` and make sure to handle
212
- replacement properly. The `S3File` example demonstrates this
213
- through the `objectKey` property.
214
-
215
- ### When there are errors
216
-
217
- As mentioned above, if any of the user handlers fail (i.e. throws an exception)
218
- or times out (due to their AWS Lambda timing out), the framework will trap these
219
- errors and submit a "FAILED" response to AWS CloudFormation, along with the error
220
- message.
221
-
222
- Since errors can occur in multiple places in the provider (framework, `onEvent`,
223
- `isComplete`), it is important to know that there could situations where a
224
- resource operation fails even though the operation technically succeeded (i.e.
225
- isComplete throws an error).
226
-
227
- When AWS CloudFormation receives a "FAILED" response, it will attempt to roll
228
- back the stack to it's last state. This has different meanings for different
229
- lifecycle events:
230
-
231
- * If a `Create` event fails, the resource provider framework will automatically
232
- ignore the subsequent `Delete` operation issued by AWS CloudFormation. The
233
- framework currently does not support customizing this behavior (see
234
- https://github.com/aws/aws-cdk/issues/5524).
235
- * If an `Update` event fails, CloudFormation will issue an additional `Update`
236
- with the previous properties.
237
- * If a `Delete` event fails, CloudFormation will abandon this resource.
238
-
239
- ### Important cases to handle
240
-
241
- You should keep the following list in mind when writing custom resources to
242
- make sure your custom resource behaves correctly in all cases:
243
-
244
- * During `Create`:
245
- * If the create fails, the *provider framework* will make sure you
246
- don't get a subsequent `Delete` event. If your create involves multiple distinct
247
- operations, it is your responsibility to catch and rethrow and clean up
248
- any partial updates that have already been performed. Make sure your
249
- API call timeouts and Lambda timeouts allow for this.
250
- * During `Update`:
251
- * If the update fails, you will get a subsequent `Update` event
252
- to roll back to the previous state (with `ResourceProperties` and
253
- `OldResourceProperties` reversed).
254
- * If you return a different `PhysicalResourceId`, you will subsequently
255
- receive a `Delete` event to clean up the previous state of the resource.
256
- * During `Delete`:
257
- * If the behavior of your custom resource is tied to another AWS resource
258
- (for example, it exists to clean the contents of a stateful resource), keep
259
- in mind that your custom resource may be deleted independently of the other
260
- resource and you must confirm that it is appropriate to perform the action.
261
- * (only if you are *not* using the provider framework) a `Delete` event
262
- may be caused by a failed `Create`. You must be able to handle the case
263
- where the resource you are trying to delete hasn't even been created yet.
264
- * If you update the code of your custom resource and change the format of the
265
- resource properties, be aware that there may still be already-deployed
266
- instances of your custom resource out there, and you may still receive
267
- the *old* property format in `ResourceProperties` (during `Delete` and
268
- rollback `Updates`) or in `OldResourceProperties` (during rollforward
269
- `Update`). You must continue to handle all possible sets of properties
270
- your custom resource could have ever been created with in the past.
271
-
272
- ### Provider Framework Execution Policy
273
-
274
- Similarly to any AWS Lambda function, if the user-defined handlers require
275
- access to AWS resources, you will have to define these permissions
276
- by calling "grant" methods such as `myBucket.grantRead(myHandler)`), using `myHandler.addToRolePolicy`
277
- or specifying an `initialPolicy` when defining the function.
278
-
279
- Bear in mind that in most cases, a single provider will be used for multiple
280
- resource instances. This means that the execution policy of the provider must
281
- have the appropriate privileges.
282
-
283
- The following example grants the `onEvent` handler `s3:GetObject*` permissions
284
- to all buckets:
285
-
286
- ```ts
287
- new lambda.Function(this, 'OnEventHandler', {
288
- runtime: lambda.Runtime.NODEJS_14_X,
289
- handler: 'index.handler',
290
- code: lambda.Code.fromInline('my code'),
291
- initialPolicy: [
292
- new iam.PolicyStatement({ actions: [ 's3:GetObject*' ], resources: [ '*' ] }),
293
- ],
294
- });
295
- ```
296
-
297
- ### Timeouts
298
-
299
- Users are responsible to define the timeouts for the AWS Lambda functions for
300
- user-defined handlers. It is recommended not to exceed a **14 minutes** timeout,
301
- since all framework functions are configured to time out after 15 minutes, which
302
- is the maximal AWS Lambda timeout.
303
-
304
- If your operation takes over **14 minutes**, the recommended approach is to
305
- implement an [asynchronous provider](#asynchronous-providers-iscomplete), and
306
- then configure the timeouts for the asynchronous retries through the
307
- `queryInterval` and the `totalTimeout` options.
308
-
309
- ### Provider Framework Examples
310
-
311
- This module includes a few examples for custom resource implementations:
312
-
313
- #### S3File
314
-
315
- Provisions an object in an S3 bucket with textual contents. See the source code
316
- for the
317
- [construct](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file.ts) and
318
- [handler](https://github.com/aws/aws-cdk/blob/main/packages/%40aws-cdk/custom-resources/test/provider-framework/integration-test-fixtures/s3-file-handler/index.ts).
319
-
320
- The following example will create the file `folder/file1.txt` inside `myBucket`
321
- with the contents `hello!`.
322
-
323
-
324
- ```plaintext
325
- // This example exists only for TypeScript
326
-
327
- declare const myBucket: s3.Bucket;
328
- new cr.S3File(this, 'MyFile', {
329
- bucket: myBucket,
330
- objectKey: 'folder/file1.txt', // optional
331
- content: 'hello!',
332
- public: true, // optional
333
- });
334
- ```
335
-
336
- This sample demonstrates the following concepts:
337
-
338
- * Synchronous implementation (`isComplete` is not defined)
339
- * Automatically generates the physical name if `objectKey` is not defined
340
- * Handles physical name changes
341
- * Returns resource attributes
342
- * Handles deletions
343
- * Implemented in TypeScript
344
-
345
- #### S3Assert
346
-
347
- Checks that the textual contents of an S3 object matches a certain value. The check will be retried for 5 minutes as long as the object is not found or the value is different. See the source code for the [construct](test/provider-framework/integration-test-fixtures/s3-assert.ts) and [handler](test/provider-framework/integration-test-fixtures/s3-assert-handler/index.py).
348
-
349
- The following example defines an `S3Assert` resource which waits until
350
- `myfile.txt` in `myBucket` exists and includes the contents `foo bar`:
351
-
352
- ```plaintext
353
- // This example exists only for TypeScript
354
-
355
- declare const myBucket: s3.Bucket;
356
- new cr.S3Assert(this, 'AssertMyFile', {
357
- bucket: myBucket,
358
- objectKey: 'myfile.txt',
359
- expectedContent: 'foo bar',
360
- });
361
- ```
362
-
363
- This sample demonstrates the following concepts:
364
-
365
- * Asynchronous implementation
366
- * Non-intrinsic physical IDs
367
- * Implemented in Python
368
-
369
-
370
- ### Customizing Provider Function name
371
-
372
- In multi-account environments or when the custom resource may be re-utilized across several
373
- stacks it may be useful to manually set a name for the Provider Function Lambda and therefore
374
- have a predefined service token ARN.
375
-
376
- ```ts
377
- declare const onEvent: lambda.Function;
378
- declare const isComplete: lambda.Function;
379
- declare const myRole: iam.Role;
380
- const myProvider = new cr.Provider(this, 'MyProvider', {
381
- onEventHandler: onEvent,
382
- isCompleteHandler: isComplete,
383
- logRetention: logs.RetentionDays.ONE_DAY,
384
- role: myRole,
385
- providerFunctionName: 'the-lambda-name', // Optional
386
- });
387
-
388
- ```
389
-
390
- ## Custom Resources for AWS APIs
391
-
392
- Sometimes a single API call can fill the gap in the CloudFormation coverage. In
393
- this case you can use the `AwsCustomResource` construct. This construct creates
394
- a custom resource that can be customized to make specific API calls for the
395
- `CREATE`, `UPDATE` and `DELETE` events. Additionally, data returned by the API
396
- call can be extracted and used in other constructs/resources (creating a real
397
- CloudFormation dependency using `Fn::GetAtt` under the hood).
398
-
399
- The physical id of the custom resource can be specified or derived from the data
400
- returned by the API call.
401
-
402
- The `AwsCustomResource` uses the AWS SDK for JavaScript. Services, actions and
403
- parameters can be found in the [API documentation](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/index.html).
404
-
405
- Path to data must be specified using a dot notation, e.g. to get the string value
406
- of the `Title` attribute for the first item returned by `dynamodb.query` it should
407
- be `Items.0.Title.S`.
408
-
409
- To make sure that the newest API calls are available the latest AWS SDK v2 is installed
410
- in the Lambda function implementing the custom resource. The installation takes around 60
411
- seconds. If you prefer to optimize for speed, you can disable the installation by setting
412
- the `installLatestAwsSdk` prop to `false`.
413
-
414
- ### Custom Resource Execution Policy
415
-
416
- The `policy` property defines the IAM Policy that will be applied to the API calls. This must be provided
417
- if an existing `role` is not specified and is optional otherwise. The library provides two factory methods
418
- to quickly configure this:
419
-
420
- * **`AwsCustomResourcePolicy.fromSdkCalls`** - Use this to auto-generate IAM
421
- Policy statements based on the configured SDK calls. Keep two things in mind
422
- when using this policy:
423
- * This policy variant assumes the IAM policy name has the same name as the API
424
- call. This is true in 99% of cases, but there are exceptions (for example,
425
- S3's `PutBucketLifecycleConfiguration` requires
426
- `s3:PutLifecycleConfiguration` permissions, Lambda's `Invoke` requires
427
- `lambda:InvokeFunction` permissions). Use `fromStatements` if you want to
428
- do a call that requires different IAM action names.
429
- * You will have to either provide specific ARNs, or explicitly use
430
- `AwsCustomResourcePolicy.ANY_RESOURCE` to allow access to any resource.
431
- * **`AwsCustomResourcePolicy.fromStatements`** - Use this to specify your own
432
- custom statements.
433
-
434
- The custom resource also implements `iam.IGrantable`, making it possible to use the `grantXxx()` methods.
435
-
436
- As this custom resource uses a singleton Lambda function, it's important to note
437
- that the function's role will eventually accumulate the permissions/grants from all
438
- resources.
439
-
440
- Chained API calls can be achieved by creating dependencies:
441
-
442
- ```ts
443
- const awsCustom1 = new cr.AwsCustomResource(this, 'API1', {
444
- onCreate: {
445
- service: '...',
446
- action: '...',
447
- physicalResourceId: cr.PhysicalResourceId.of('...'),
448
- },
449
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
450
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
451
- }),
452
- });
453
-
454
- const awsCustom2 = new cr.AwsCustomResource(this, 'API2', {
455
- onCreate: {
456
- service: '...',
457
- action: '...',
458
- parameters: {
459
- text: awsCustom1.getResponseField('Items.0.text'),
460
- },
461
- physicalResourceId: cr.PhysicalResourceId.of('...'),
462
- },
463
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
464
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
465
- }),
466
- });
467
- ```
468
-
469
- ### Physical Resource Id Parameter
470
-
471
- Some AWS APIs may require passing the physical resource id in as a parameter for doing updates and deletes. You can pass it by using `PhysicalResourceIdReference`.
472
-
473
- ```ts
474
- const awsCustom = new cr.AwsCustomResource(this, 'aws-custom', {
475
- onCreate: {
476
- service: '...',
477
- action: '...',
478
- parameters: {
479
- text: '...',
480
- },
481
- physicalResourceId: cr.PhysicalResourceId.of('...'),
482
- },
483
- onUpdate: {
484
- service: '...',
485
- action: '...',
486
- parameters: {
487
- text: '...',
488
- resourceId: new cr.PhysicalResourceIdReference(),
489
- },
490
- },
491
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
492
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
493
- }),
494
- })
495
- ```
496
-
497
- ### Handling Custom Resource Errors
498
-
499
- Every error produced by the API call is treated as is and will cause a "FAILED" response to be submitted to CloudFormation.
500
- You can ignore some errors by specifying the `ignoreErrorCodesMatching` property, which accepts a regular expression that is
501
- tested against the `code` property of the response. If matched, a "SUCCESS" response is submitted.
502
- Note that in such a case, the call response data and the `Data` key submitted to CloudFormation would both be an empty JSON object.
503
- Since a successful resource provisioning might or might not produce outputs, this presents us with some limitations:
504
-
505
- * `PhysicalResourceId.fromResponse` - Since the call response data might be empty, we cannot use it to extract the physical id.
506
- * `getResponseField` and `getResponseFieldReference` - Since the `Data` key is empty, the resource will not have any attributes, and therefore, invoking these functions will result in an error.
507
-
508
- In both the cases, you will get a synth time error if you attempt to use it in conjunction with `ignoreErrorCodesMatching`.
509
-
510
- ### Customizing the Lambda function implementing the custom resource
511
-
512
- Use the `role`, `timeout`, `logRetention` and `functionName` properties to customize
513
- the Lambda function implementing the custom resource:
514
-
515
- ```ts
516
- declare const myRole: iam.Role;
517
- new cr.AwsCustomResource(this, 'Customized', {
518
- role: myRole, // must be assumable by the `lambda.amazonaws.com` service principal
519
- timeout: Duration.minutes(10), // defaults to 2 minutes
520
- logRetention: logs.RetentionDays.ONE_WEEK, // defaults to never delete logs
521
- functionName: 'my-custom-name', // defaults to a CloudFormation generated name
522
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
523
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
524
- }),
525
- });
526
- ```
527
-
528
- Additionally, the Lambda function can be placed in a private VPC by using the `vpc`
529
- and `vpcSubnets` properties.
530
-
531
- ```ts
532
- declare const myVpc: ec2.Vpc;
533
- new cr.AwsCustomResource(this, 'CustomizedInVpc', {
534
- vpc,
535
- vpcSubnets: { subnetType: ec2.SubnetType.PRIVATE_NAT },
536
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
537
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
538
- }
539
- })
540
- ```
541
-
542
- Note that Lambda functions in a VPC
543
- [require Network Address Translation (NAT) in order to access the internet][vpc-internet].
544
- The subnets specified in `vpcSubnets` must be private subnets.
545
-
546
- [vpc-internet]: https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-internet
547
-
548
- ### Restricting the output of the Custom Resource
549
-
550
- CloudFormation imposes a hard limit of 4096 bytes for custom resources response
551
- objects. If your API call returns an object that exceeds this limit, you can restrict
552
- the data returned by the custom resource to specific paths in the API response:
553
-
554
- ```ts
555
- new cr.AwsCustomResource(this, 'ListObjects', {
556
- onCreate: {
557
- service: 's3',
558
- action: 'listObjectsV2',
559
- parameters: {
560
- Bucket: 'my-bucket',
561
- },
562
- physicalResourceId: cr.PhysicalResourceId.of('id'),
563
- outputPaths: ['Contents.0.Key', 'Contents.1.Key'], // Output only the two first keys
564
- },
565
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
566
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
567
- }),
568
- });
569
- ```
570
-
571
- Note that even if you restrict the output of your custom resource you can still use any
572
- path in `PhysicalResourceId.fromResponse()`.
573
-
574
- ### Custom Resource Examples
575
-
576
- #### Get the latest version of a secure SSM parameter
577
-
578
- ```ts
579
- const getParameter = new cr.AwsCustomResource(this, 'GetParameter', {
580
- onUpdate: { // will also be called for a CREATE event
581
- service: 'SSM',
582
- action: 'getParameter',
583
- parameters: {
584
- Name: 'my-parameter',
585
- WithDecryption: true,
586
- },
587
- physicalResourceId: cr.PhysicalResourceId.of(Date.now().toString()), // Update physical id to always fetch the latest version
588
- },
589
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
590
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
591
- }),
592
- });
593
-
594
- // Use the value in another construct with
595
- getParameter.getResponseField('Parameter.Value');
596
- ```
597
-
598
- #### Associate a PrivateHostedZone with VPC shared from another account
599
-
600
- ```ts
601
- const getParameter = new cr.AwsCustomResource(this, 'AssociateVPCWithHostedZone', {
602
- onCreate: {
603
- assumedRoleArn: 'arn:aws:iam::OTHERACCOUNT:role/CrossAccount/ManageHostedZoneConnections',
604
- service: 'Route53',
605
- action: 'associateVPCWithHostedZone',
606
- parameters: {
607
- HostedZoneId: 'hz-123',
608
- VPC: {
609
- VPCId: 'vpc-123',
610
- VPCRegion: 'region-for-vpc',
611
- },
612
- },
613
- physicalResourceId: cr.PhysicalResourceId.of('${vpcStack.SharedVpc.VpcId}-${vpcStack.Region}-${PrivateHostedZone.HostedZoneId}'),
614
- },
615
- //Will ignore any resource and use the assumedRoleArn as resource and 'sts:AssumeRole' for service:action
616
- policy: cr.AwsCustomResourcePolicy.fromSdkCalls({
617
- resources: cr.AwsCustomResourcePolicy.ANY_RESOURCE,
618
- }),
619
- });
620
- ```
621
-
622
- ---
623
-
624
- This module is part of the [AWS Cloud Development Kit](https://github.com/aws/aws-cdk) project.