@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,980 +0,0 @@
1
- # CDK Construct library for higher-level ECS Constructs
2
-
3
-
4
- This library provides higher-level Amazon ECS constructs which follow common architectural patterns. It contains:
5
-
6
- * Application Load Balanced Services
7
- * Network Load Balanced Services
8
- * Queue Processing Services
9
- * Scheduled Tasks (cron jobs)
10
- * Additional Examples
11
-
12
- ## Application Load Balanced Services
13
-
14
- To define an Amazon ECS service that is behind an application load balancer, instantiate one of the following:
15
-
16
- * `ApplicationLoadBalancedEc2Service`
17
-
18
- ```ts
19
- declare const cluster: ecs.Cluster;
20
- const loadBalancedEcsService = new ecsPatterns.ApplicationLoadBalancedEc2Service(this, 'Service', {
21
- cluster,
22
- memoryLimitMiB: 1024,
23
- taskImageOptions: {
24
- image: ecs.ContainerImage.fromRegistry('test'),
25
- environment: {
26
- TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
27
- TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value",
28
- },
29
- },
30
- desiredCount: 2,
31
- });
32
- ```
33
-
34
- * `ApplicationLoadBalancedFargateService`
35
-
36
- ```ts
37
- declare const cluster: ecs.Cluster;
38
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
39
- cluster,
40
- memoryLimitMiB: 1024,
41
- cpu: 512,
42
- taskImageOptions: {
43
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
44
- },
45
- });
46
-
47
- loadBalancedFargateService.targetGroup.configureHealthCheck({
48
- path: "/custom-health-path",
49
- });
50
- ```
51
-
52
- Instead of providing a cluster you can specify a VPC and CDK will create a new ECS cluster.
53
- If you deploy multiple services CDK will only create one cluster per VPC.
54
-
55
- You can omit `cluster` and `vpc` to let CDK create a new VPC with two AZs and create a cluster inside this VPC.
56
-
57
- You can customize the health check for your target group; otherwise it defaults to `HTTP` over port `80` hitting path `/`.
58
-
59
- Fargate services will use the `LATEST` platform version by default, but you can override by providing a value for the `platformVersion` property in the constructor.
60
-
61
- Fargate services use the default VPC Security Group unless one or more are provided using the `securityGroups` property in the constructor.
62
-
63
- By setting `redirectHTTP` to true, CDK will automatically create a listener on port 80 that redirects HTTP traffic to the HTTPS port.
64
-
65
- If you specify the option `recordType` you can decide if you want the construct to use CNAME or Route53-Aliases as record sets.
66
-
67
- If you need to encrypt the traffic between the load balancer and the ECS tasks, you can set the `targetProtocol` to `HTTPS`.
68
-
69
- Additionally, if more than one application target group are needed, instantiate one of the following:
70
-
71
- * `ApplicationMultipleTargetGroupsEc2Service`
72
-
73
- ```ts
74
- // One application load balancer with one listener and two target groups.
75
- declare const cluster: ecs.Cluster;
76
- const loadBalancedEc2Service = new ecsPatterns.ApplicationMultipleTargetGroupsEc2Service(this, 'Service', {
77
- cluster,
78
- memoryLimitMiB: 256,
79
- taskImageOptions: {
80
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
81
- },
82
- targetGroups: [
83
- {
84
- containerPort: 80,
85
- },
86
- {
87
- containerPort: 90,
88
- pathPattern: 'a/b/c',
89
- priority: 10,
90
- },
91
- ],
92
- });
93
- ```
94
-
95
- * `ApplicationMultipleTargetGroupsFargateService`
96
-
97
- ```ts
98
- // One application load balancer with one listener and two target groups.
99
- declare const cluster: ecs.Cluster;
100
- const loadBalancedFargateService = new ecsPatterns.ApplicationMultipleTargetGroupsFargateService(this, 'Service', {
101
- cluster,
102
- memoryLimitMiB: 1024,
103
- cpu: 512,
104
- taskImageOptions: {
105
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
106
- },
107
- targetGroups: [
108
- {
109
- containerPort: 80,
110
- },
111
- {
112
- containerPort: 90,
113
- pathPattern: 'a/b/c',
114
- priority: 10,
115
- },
116
- ],
117
- });
118
- ```
119
-
120
- ## Network Load Balanced Services
121
-
122
- To define an Amazon ECS service that is behind a network load balancer, instantiate one of the following:
123
-
124
- * `NetworkLoadBalancedEc2Service`
125
-
126
- ```ts
127
- declare const cluster: ecs.Cluster;
128
- const loadBalancedEcsService = new ecsPatterns.NetworkLoadBalancedEc2Service(this, 'Service', {
129
- cluster,
130
- memoryLimitMiB: 1024,
131
- taskImageOptions: {
132
- image: ecs.ContainerImage.fromRegistry('test'),
133
- environment: {
134
- TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
135
- TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value",
136
- },
137
- },
138
- desiredCount: 2,
139
- });
140
- ```
141
-
142
- * `NetworkLoadBalancedFargateService`
143
-
144
- ```ts
145
- declare const cluster: ecs.Cluster;
146
- const loadBalancedFargateService = new ecsPatterns.NetworkLoadBalancedFargateService(this, 'Service', {
147
- cluster,
148
- memoryLimitMiB: 1024,
149
- cpu: 512,
150
- taskImageOptions: {
151
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
152
- },
153
- });
154
- ```
155
-
156
- The CDK will create a new Amazon ECS cluster if you specify a VPC and omit `cluster`. If you deploy multiple services the CDK will only create one cluster per VPC.
157
-
158
- If `cluster` and `vpc` are omitted, the CDK creates a new VPC with subnets in two Availability Zones and a cluster within this VPC.
159
-
160
- If you specify the option `recordType` you can decide if you want the construct to use CNAME or Route53-Aliases as record sets.
161
-
162
- Additionally, if more than one network target group is needed, instantiate one of the following:
163
-
164
- * NetworkMultipleTargetGroupsEc2Service
165
-
166
- ```ts
167
- // Two network load balancers, each with their own listener and target group.
168
- declare const cluster: ecs.Cluster;
169
- const loadBalancedEc2Service = new ecsPatterns.NetworkMultipleTargetGroupsEc2Service(this, 'Service', {
170
- cluster,
171
- memoryLimitMiB: 256,
172
- taskImageOptions: {
173
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
174
- },
175
- loadBalancers: [
176
- {
177
- name: 'lb1',
178
- listeners: [
179
- {
180
- name: 'listener1',
181
- },
182
- ],
183
- },
184
- {
185
- name: 'lb2',
186
- listeners: [
187
- {
188
- name: 'listener2',
189
- },
190
- ],
191
- },
192
- ],
193
- targetGroups: [
194
- {
195
- containerPort: 80,
196
- listener: 'listener1',
197
- },
198
- {
199
- containerPort: 90,
200
- listener: 'listener2',
201
- },
202
- ],
203
- });
204
- ```
205
-
206
- * NetworkMultipleTargetGroupsFargateService
207
-
208
- ```ts
209
- // Two network load balancers, each with their own listener and target group.
210
- declare const cluster: ecs.Cluster;
211
- const loadBalancedFargateService = new ecsPatterns.NetworkMultipleTargetGroupsFargateService(this, 'Service', {
212
- cluster,
213
- memoryLimitMiB: 512,
214
- taskImageOptions: {
215
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
216
- },
217
- loadBalancers: [
218
- {
219
- name: 'lb1',
220
- listeners: [
221
- {
222
- name: 'listener1',
223
- },
224
- ],
225
- },
226
- {
227
- name: 'lb2',
228
- listeners: [
229
- {
230
- name: 'listener2',
231
- },
232
- ],
233
- },
234
- ],
235
- targetGroups: [
236
- {
237
- containerPort: 80,
238
- listener: 'listener1',
239
- },
240
- {
241
- containerPort: 90,
242
- listener: 'listener2',
243
- },
244
- ],
245
- });
246
- ```
247
-
248
- ## Queue Processing Services
249
-
250
- To define a service that creates a queue and reads from that queue, instantiate one of the following:
251
-
252
- * `QueueProcessingEc2Service`
253
-
254
- ```ts
255
- declare const cluster: ecs.Cluster;
256
- const queueProcessingEc2Service = new ecsPatterns.QueueProcessingEc2Service(this, 'Service', {
257
- cluster,
258
- memoryLimitMiB: 1024,
259
- image: ecs.ContainerImage.fromRegistry('test'),
260
- command: ["-c", "4", "amazon.com"],
261
- enableLogging: false,
262
- desiredTaskCount: 2,
263
- environment: {
264
- TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
265
- TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value",
266
- },
267
- maxScalingCapacity: 5,
268
- containerName: 'test',
269
- });
270
- ```
271
-
272
- * `QueueProcessingFargateService`
273
-
274
- ```ts
275
- declare const cluster: ecs.Cluster;
276
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
277
- cluster,
278
- memoryLimitMiB: 512,
279
- image: ecs.ContainerImage.fromRegistry('test'),
280
- command: ["-c", "4", "amazon.com"],
281
- enableLogging: false,
282
- desiredTaskCount: 2,
283
- environment: {
284
- TEST_ENVIRONMENT_VARIABLE1: "test environment variable 1 value",
285
- TEST_ENVIRONMENT_VARIABLE2: "test environment variable 2 value",
286
- },
287
- maxScalingCapacity: 5,
288
- containerName: 'test',
289
- });
290
- ```
291
-
292
- when queue not provided by user, CDK will create a primary queue and a dead letter queue with default redrive policy and attach permission to the task to be able to access the primary queue.
293
-
294
- ## Scheduled Tasks
295
-
296
- To define a task that runs periodically, there are 2 options:
297
-
298
- * `ScheduledEc2Task`
299
-
300
- ```ts
301
- // Instantiate an Amazon EC2 Task to run at a scheduled interval
302
- declare const cluster: ecs.Cluster;
303
- const ecsScheduledTask = new ecsPatterns.ScheduledEc2Task(this, 'ScheduledTask', {
304
- cluster,
305
- scheduledEc2TaskImageOptions: {
306
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
307
- memoryLimitMiB: 256,
308
- environment: { name: 'TRIGGER', value: 'CloudWatch Events' },
309
- },
310
- schedule: appscaling.Schedule.expression('rate(1 minute)'),
311
- enabled: true,
312
- ruleName: 'sample-scheduled-task-rule',
313
- });
314
- ```
315
-
316
- * `ScheduledFargateTask`
317
-
318
- ```ts
319
- declare const cluster: ecs.Cluster;
320
- const scheduledFargateTask = new ecsPatterns.ScheduledFargateTask(this, 'ScheduledFargateTask', {
321
- cluster,
322
- scheduledFargateTaskImageOptions: {
323
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
324
- memoryLimitMiB: 512,
325
- },
326
- schedule: appscaling.Schedule.expression('rate(1 minute)'),
327
- platformVersion: ecs.FargatePlatformVersion.LATEST,
328
- });
329
- ```
330
-
331
- ## Additional Examples
332
-
333
- In addition to using the constructs, users can also add logic to customize these constructs:
334
-
335
- ### Configure HTTPS on an ApplicationLoadBalancedFargateService
336
-
337
- ```ts
338
- import { HostedZone } from 'aws-cdk-lib/aws-route53';
339
- import { Certificate } from 'aws-cdk-lib/aws-certificatemanager';
340
- import { SslPolicy } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
341
-
342
- const domainZone = HostedZone.fromLookup(this, 'Zone', { domainName: 'example.com' });
343
- const certificate = Certificate.fromCertificateArn(this, 'Cert', 'arn:aws:acm:us-east-1:123456:certificate/abcdefg');
344
-
345
- declare const vpc: ec2.Vpc;
346
- declare const cluster: ecs.Cluster;
347
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
348
- vpc,
349
- cluster,
350
- certificate,
351
- sslPolicy: SslPolicy.RECOMMENDED,
352
- domainName: 'api.example.com',
353
- domainZone,
354
- redirectHTTP: true,
355
- taskImageOptions: {
356
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
357
- },
358
- });
359
- ```
360
-
361
- ### Set capacityProviderStrategies for ApplicationLoadBalancedFargateService
362
-
363
- ```ts
364
- declare const cluster: ecs.Cluster;
365
- cluster.enableFargateCapacityProviders();
366
-
367
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
368
- cluster,
369
- taskImageOptions: {
370
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
371
- },
372
- capacityProviderStrategies: [
373
- {
374
- capacityProvider: 'FARGATE_SPOT',
375
- weight: 2,
376
- base: 0,
377
- },
378
- {
379
- capacityProvider: 'FARGATE',
380
- weight: 1,
381
- base: 1,
382
- },
383
- ],
384
- });
385
- ```
386
-
387
- ### Add Schedule-Based Auto-Scaling to an ApplicationLoadBalancedFargateService
388
-
389
- ```ts
390
- declare const cluster: ecs.Cluster;
391
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
392
- cluster,
393
- memoryLimitMiB: 1024,
394
- desiredCount: 1,
395
- cpu: 512,
396
- taskImageOptions: {
397
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
398
- },
399
- });
400
-
401
- const scalableTarget = loadBalancedFargateService.service.autoScaleTaskCount({
402
- minCapacity: 5,
403
- maxCapacity: 20,
404
- });
405
-
406
- scalableTarget.scaleOnSchedule('DaytimeScaleDown', {
407
- schedule: appscaling.Schedule.cron({ hour: '8', minute: '0'}),
408
- minCapacity: 1,
409
- });
410
-
411
- scalableTarget.scaleOnSchedule('EveningRushScaleUp', {
412
- schedule: appscaling.Schedule.cron({ hour: '20', minute: '0'}),
413
- minCapacity: 10,
414
- });
415
- ```
416
-
417
- ### Add Metric-Based Auto-Scaling to an ApplicationLoadBalancedFargateService
418
-
419
- ```ts
420
- declare const cluster: ecs.Cluster;
421
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
422
- cluster,
423
- memoryLimitMiB: 1024,
424
- desiredCount: 1,
425
- cpu: 512,
426
- taskImageOptions: {
427
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
428
- },
429
- });
430
-
431
- const scalableTarget = loadBalancedFargateService.service.autoScaleTaskCount({
432
- minCapacity: 1,
433
- maxCapacity: 20,
434
- });
435
-
436
- scalableTarget.scaleOnCpuUtilization('CpuScaling', {
437
- targetUtilizationPercent: 50,
438
- });
439
-
440
- scalableTarget.scaleOnMemoryUtilization('MemoryScaling', {
441
- targetUtilizationPercent: 50,
442
- });
443
- ```
444
-
445
- ### Change the default Deployment Controller
446
-
447
- ```ts
448
- declare const cluster: ecs.Cluster;
449
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
450
- cluster,
451
- memoryLimitMiB: 1024,
452
- desiredCount: 1,
453
- cpu: 512,
454
- taskImageOptions: {
455
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
456
- },
457
- deploymentController: {
458
- type: ecs.DeploymentControllerType.CODE_DEPLOY,
459
- },
460
- });
461
- ```
462
-
463
- ### Deployment circuit breaker and rollback
464
-
465
- Amazon ECS [deployment circuit breaker](https://aws.amazon.com/tw/blogs/containers/announcing-amazon-ecs-deployment-circuit-breaker/)
466
- automatically rolls back unhealthy service deployments without the need for manual intervention. Use `circuitBreaker` to enable
467
- deployment circuit breaker and optionally enable `rollback` for automatic rollback. See [Using the deployment circuit breaker](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html)
468
- for more details.
469
-
470
- ```ts
471
- declare const cluster: ecs.Cluster;
472
- const service = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
473
- cluster,
474
- memoryLimitMiB: 1024,
475
- desiredCount: 1,
476
- cpu: 512,
477
- taskImageOptions: {
478
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
479
- },
480
- circuitBreaker: { rollback: true },
481
- });
482
- ```
483
-
484
- ### Set deployment configuration on QueueProcessingService
485
-
486
- ```ts
487
- declare const cluster: ecs.Cluster;
488
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
489
- cluster,
490
- memoryLimitMiB: 512,
491
- image: ecs.ContainerImage.fromRegistry('test'),
492
- command: ["-c", "4", "amazon.com"],
493
- enableLogging: false,
494
- desiredTaskCount: 2,
495
- environment: {},
496
- maxScalingCapacity: 5,
497
- maxHealthyPercent: 200,
498
- minHealthyPercent: 66,
499
- });
500
- ```
501
-
502
- ### Set taskSubnets and securityGroups for QueueProcessingFargateService
503
-
504
- ```ts
505
- declare const vpc: ec2.Vpc;
506
- declare const securityGroup: ec2.SecurityGroup;
507
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
508
- vpc,
509
- memoryLimitMiB: 512,
510
- image: ecs.ContainerImage.fromRegistry('test'),
511
- securityGroups: [securityGroup],
512
- taskSubnets: { subnetType: ec2.SubnetType.PRIVATE_ISOLATED },
513
- });
514
- ```
515
-
516
- ### Define tasks with public IPs for QueueProcessingFargateService
517
-
518
- ```ts
519
- declare const vpc: ec2.Vpc;
520
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
521
- vpc,
522
- memoryLimitMiB: 512,
523
- image: ecs.ContainerImage.fromRegistry('test'),
524
- assignPublicIp: true,
525
- });
526
- ```
527
-
528
- ### Define tasks with custom queue parameters for QueueProcessingFargateService
529
-
530
- ```ts
531
- declare const vpc: ec2.Vpc;
532
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
533
- vpc,
534
- memoryLimitMiB: 512,
535
- image: ecs.ContainerImage.fromRegistry('test'),
536
- maxReceiveCount: 42,
537
- retentionPeriod: Duration.days(7),
538
- visibilityTimeout: Duration.minutes(5),
539
- });
540
- ```
541
-
542
- ### Set capacityProviderStrategies for QueueProcessingFargateService
543
-
544
- ```ts
545
- declare const cluster: ecs.Cluster;
546
- cluster.enableFargateCapacityProviders();
547
-
548
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
549
- cluster,
550
- memoryLimitMiB: 512,
551
- image: ecs.ContainerImage.fromRegistry('test'),
552
- capacityProviderStrategies: [
553
- {
554
- capacityProvider: 'FARGATE_SPOT',
555
- weight: 2,
556
- },
557
- {
558
- capacityProvider: 'FARGATE',
559
- weight: 1,
560
- },
561
- ],
562
- });
563
- ```
564
-
565
- ### Set a custom container-level Healthcheck for QueueProcessingFargateService
566
-
567
- ```ts
568
- declare const vpc: ec2.Vpc;
569
- declare const securityGroup: ec2.SecurityGroup;
570
- const queueProcessingFargateService = new ecsPatterns.QueueProcessingFargateService(this, 'Service', {
571
- vpc,
572
- memoryLimitMiB: 512,
573
- image: ecs.ContainerImage.fromRegistry('test'),
574
- healthCheck: {
575
- command: [ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ],
576
- // the properties below are optional
577
- interval: Duration.minutes(30),
578
- retries: 123,
579
- startPeriod: Duration.minutes(30),
580
- timeout: Duration.minutes(30),
581
- },
582
- });
583
- ```
584
-
585
- ### Set capacityProviderStrategies for QueueProcessingEc2Service
586
-
587
- ```ts
588
- import * as autoscaling from 'aws-cdk-lib/aws-autoscaling';
589
-
590
- const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 1 });
591
- const cluster = new ecs.Cluster(this, 'EcsCluster', { vpc });
592
- const autoScalingGroup = new autoscaling.AutoScalingGroup(this, 'asg', {
593
- vpc,
594
- instanceType: ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE2, ec2.InstanceSize.MICRO),
595
- machineImage: ecs.EcsOptimizedImage.amazonLinux2(),
596
- });
597
- const capacityProvider = new ecs.AsgCapacityProvider(this, 'provider', {
598
- autoScalingGroup,
599
- });
600
- cluster.addAsgCapacityProvider(capacityProvider);
601
-
602
- const queueProcessingEc2Service = new ecsPatterns.QueueProcessingEc2Service(this, 'Service', {
603
- cluster,
604
- memoryLimitMiB: 512,
605
- image: ecs.ContainerImage.fromRegistry('test'),
606
- capacityProviderStrategies: [
607
- {
608
- capacityProvider: capacityProvider.capacityProviderName,
609
- },
610
- ],
611
- });
612
- ```
613
-
614
- ### Select specific vpc subnets for ApplicationLoadBalancedFargateService
615
-
616
- ```ts
617
- declare const cluster: ecs.Cluster;
618
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
619
- cluster,
620
- memoryLimitMiB: 1024,
621
- desiredCount: 1,
622
- cpu: 512,
623
- taskImageOptions: {
624
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
625
- },
626
- taskSubnets: {
627
- subnets: [ec2.Subnet.fromSubnetId(this, 'subnet', 'VpcISOLATEDSubnet1Subnet80F07FA0')],
628
- },
629
- });
630
- ```
631
-
632
- ### Select idleTimeout for ApplicationLoadBalancedFargateService
633
-
634
- ```ts
635
- declare const cluster: ecs.Cluster;
636
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
637
- cluster,
638
- memoryLimitMiB: 1024,
639
- desiredCount: 1,
640
- cpu: 512,
641
- taskImageOptions: {
642
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
643
- },
644
- idleTimeout: Duration.seconds(120),
645
- });
646
- ```
647
-
648
- ### Select idleTimeout for ApplicationMultipleTargetGroupsFargateService
649
-
650
- ```ts
651
- import { Certificate } from 'aws-cdk-lib/aws-certificatemanager';
652
- import { InstanceType } from 'aws-cdk-lib/aws-ec2';
653
- import { Cluster, ContainerImage } from 'aws-cdk-lib/aws-ecs';
654
- import { ApplicationProtocol, SslPolicy } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
655
- import { PublicHostedZone } from 'aws-cdk-lib/aws-route53';
656
- const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 1 });
657
- const loadBalancedFargateService = new ecsPatterns.ApplicationMultipleTargetGroupsFargateService(this, 'myService', {
658
- cluster: new ecs.Cluster(this, 'EcsCluster', { vpc }),
659
- memoryLimitMiB: 256,
660
- taskImageOptions: {
661
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
662
- },
663
- enableExecuteCommand: true,
664
- loadBalancers: [
665
- {
666
- name: 'lb',
667
- idleTimeout: Duration.seconds(400),
668
- domainName: 'api.example.com',
669
- domainZone: new PublicHostedZone(this, 'HostedZone', { zoneName: 'example.com' }),
670
- listeners: [
671
- {
672
- name: 'listener',
673
- protocol: ApplicationProtocol.HTTPS,
674
- certificate: Certificate.fromCertificateArn(this, 'Cert', 'helloworld'),
675
- sslPolicy: SslPolicy.TLS12_EXT,
676
- },
677
- ],
678
- },
679
- {
680
- name: 'lb2',
681
- idleTimeout: Duration.seconds(120),
682
- domainName: 'frontend.com',
683
- domainZone: new PublicHostedZone(this, 'HostedZone', { zoneName: 'frontend.com' }),
684
- listeners: [
685
- {
686
- name: 'listener2',
687
- protocol: ApplicationProtocol.HTTPS,
688
- certificate: Certificate.fromCertificateArn(this, 'Cert2', 'helloworld'),
689
- sslPolicy: SslPolicy.TLS12_EXT,
690
- },
691
- ],
692
- },
693
- ],
694
- targetGroups: [
695
- {
696
- containerPort: 80,
697
- listener: 'listener',
698
- },
699
- {
700
- containerPort: 90,
701
- pathPattern: 'a/b/c',
702
- priority: 10,
703
- listener: 'listener',
704
- },
705
- {
706
- containerPort: 443,
707
- listener: 'listener2',
708
- },
709
- {
710
- containerPort: 80,
711
- pathPattern: 'a/b/c',
712
- priority: 10,
713
- listener: 'listener2',
714
- },
715
- ],
716
- });
717
- ```
718
-
719
- ### Set health checks for ApplicationMultipleTargetGroupsFargateService
720
-
721
- ```ts
722
- import { Certificate } from 'aws-cdk-lib/aws-certificatemanager';
723
- import { InstanceType } from 'aws-cdk-lib/aws-ec2';
724
- import { Cluster, ContainerImage } from 'aws-cdk-lib/aws-ecs';
725
- import { ApplicationProtocol,Protocol, SslPolicy } from 'aws-cdk-lib/aws-elasticloadbalancingv2';
726
- import { PublicHostedZone } from 'aws-cdk-lib/aws-route53';
727
- const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 1 });
728
-
729
- const loadBalancedFargateService = new ecsPatterns.ApplicationMultipleTargetGroupsFargateService(this, 'myService', {
730
- cluster: new ecs.Cluster(this, 'EcsCluster', { vpc }),
731
- memoryLimitMiB: 256,
732
- taskImageOptions: {
733
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
734
- },
735
- enableExecuteCommand: true,
736
- loadBalancers: [
737
- {
738
- name: 'lb',
739
- idleTimeout: Duration.seconds(400),
740
- domainName: 'api.example.com',
741
- domainZone: new PublicHostedZone(this, 'HostedZone', { zoneName: 'example.com' }),
742
- listeners: [
743
- {
744
- name: 'listener',
745
- protocol: ApplicationProtocol.HTTPS,
746
- certificate: Certificate.fromCertificateArn(this, 'Cert', 'helloworld'),
747
- sslPolicy: SslPolicy.TLS12_EXT,
748
- },
749
- ],
750
- },
751
- {
752
- name: 'lb2',
753
- idleTimeout: Duration.seconds(120),
754
- domainName: 'frontend.com',
755
- domainZone: new PublicHostedZone(this, 'HostedZone', { zoneName: 'frontend.com' }),
756
- listeners: [
757
- {
758
- name: 'listener2',
759
- protocol: ApplicationProtocol.HTTPS,
760
- certificate: Certificate.fromCertificateArn(this, 'Cert2', 'helloworld'),
761
- sslPolicy: SslPolicy.TLS12_EXT,
762
- },
763
- ],
764
- },
765
- ],
766
- targetGroups: [
767
- {
768
- containerPort: 80,
769
- listener: 'listener',
770
- },
771
- {
772
- containerPort: 90,
773
- pathPattern: 'a/b/c',
774
- priority: 10,
775
- listener: 'listener',
776
- },
777
- {
778
- containerPort: 443,
779
- listener: 'listener2',
780
- },
781
- {
782
- containerPort: 80,
783
- pathPattern: 'a/b/c',
784
- priority: 10,
785
- listener: 'listener2',
786
- },
787
- ],
788
- });
789
-
790
- loadBalancedFargateService.targetGroups[0].configureHealthCheck({
791
- port: '8050',
792
- protocol: Protocol.HTTP,
793
- healthyThresholdCount: 2,
794
- unhealthyThresholdCount: 2,
795
- timeout: Duration.seconds(10),
796
- interval: Duration.seconds(30),
797
- healthyHttpCodes: '200',
798
- });
799
-
800
-
801
- loadBalancedFargateService.targetGroups[1].configureHealthCheck({
802
- port: '8050',
803
- protocol: Protocol.HTTP,
804
- healthyThresholdCount: 2,
805
- unhealthyThresholdCount: 2,
806
- timeout: Duration.seconds(10),
807
- interval: Duration.seconds(30),
808
- healthyHttpCodes: '200',
809
- });
810
-
811
- ```
812
-
813
- ### Set runtimePlatform for ApplicationLoadBalancedFargateService
814
-
815
- ```ts
816
- declare const cluster: ecs.Cluster;
817
- const applicationLoadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
818
- cluster,
819
- memoryLimitMiB: 512,
820
- taskImageOptions: {
821
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
822
- },
823
- runtimePlatform: {
824
- cpuArchitecture: ecs.CpuArchitecture.ARM64,
825
- operatingSystemFamily: ecs.OperatingSystemFamily.LINUX,
826
- },
827
- });
828
- ```
829
-
830
- ### Set PlatformVersion for ScheduledFargateTask
831
-
832
- ```ts
833
- declare const cluster: ecs.Cluster;
834
- const scheduledFargateTask = new ecsPatterns.ScheduledFargateTask(this, 'ScheduledFargateTask', {
835
- cluster,
836
- scheduledFargateTaskImageOptions: {
837
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
838
- memoryLimitMiB: 512,
839
- },
840
- schedule: appscaling.Schedule.expression('rate(1 minute)'),
841
- platformVersion: ecs.FargatePlatformVersion.VERSION1_4,
842
- });
843
- ```
844
-
845
- ### Set SecurityGroups for ScheduledFargateTask
846
-
847
- ```ts
848
- const vpc = new ec2.Vpc(this, 'Vpc', { maxAzs: 1 });
849
- const cluster = new ecs.Cluster(this, 'EcsCluster', { vpc });
850
- const securityGroup = new ec2.SecurityGroup(this, 'SG', { vpc });
851
-
852
- const scheduledFargateTask = new ecsPatterns.ScheduledFargateTask(this, 'ScheduledFargateTask', {
853
- cluster,
854
- scheduledFargateTaskImageOptions: {
855
- image: ecs.ContainerImage.fromRegistry('amazon/amazon-ecs-sample'),
856
- memoryLimitMiB: 512,
857
- },
858
- schedule: appscaling.Schedule.expression('rate(1 minute)'),
859
- securityGroups: [securityGroup],
860
- });
861
- ```
862
-
863
- ### Use the REMOVE_DEFAULT_DESIRED_COUNT feature flag
864
-
865
- The REMOVE_DEFAULT_DESIRED_COUNT feature flag is used to override the default desiredCount that is autogenerated by the CDK. This will set the desiredCount of any service created by any of the following constructs to be undefined.
866
-
867
- * ApplicationLoadBalancedEc2Service
868
- * ApplicationLoadBalancedFargateService
869
- * NetworkLoadBalancedEc2Service
870
- * NetworkLoadBalancedFargateService
871
- * QueueProcessingEc2Service
872
- * QueueProcessingFargateService
873
-
874
- If a desiredCount is not passed in as input to the above constructs, CloudFormation will either create a new service to start up with a desiredCount of 1, or update an existing service to start up with the same desiredCount as prior to the update.
875
-
876
- To enable the feature flag, ensure that the REMOVE_DEFAULT_DESIRED_COUNT flag within an application stack context is set to true, like so:
877
-
878
- ```ts
879
- declare const stack: Stack;
880
- stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true);
881
- ```
882
-
883
- The following is an example of an application with the REMOVE_DEFAULT_DESIRED_COUNT feature flag enabled:
884
-
885
- ```ts nofixture
886
- import { App, Stack } from 'aws-cdk-lib';
887
- import * as ec2 from 'aws-cdk-lib/aws-ec2';
888
- import * as ecs from 'aws-cdk-lib/aws-ecs';
889
- import * as ecsPatterns from 'aws-cdk-lib/aws-ecs-patterns';
890
- import * as cxapi from 'aws-cdk-lib/cx-api';
891
- import * as path from 'path';
892
-
893
- const app = new App();
894
-
895
- const stack = new Stack(app, 'aws-ecs-patterns-queue');
896
- stack.node.setContext(cxapi.ECS_REMOVE_DEFAULT_DESIRED_COUNT, true);
897
-
898
- const vpc = new ec2.Vpc(stack, 'VPC', {
899
- maxAzs: 2,
900
- });
901
-
902
- new ecsPatterns.QueueProcessingFargateService(stack, 'QueueProcessingService', {
903
- vpc,
904
- memoryLimitMiB: 512,
905
- image: new ecs.AssetImage(path.join(__dirname, '..', 'sqs-reader')),
906
- });
907
- ```
908
-
909
- ### Deploy application and metrics sidecar
910
-
911
- The following is an example of deploying an application along with a metrics sidecar container that utilizes `dockerLabels` for discovery:
912
-
913
- ```ts
914
- declare const cluster: ecs.Cluster;
915
- declare const vpc: ec2.Vpc;
916
- const service = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
917
- cluster,
918
- vpc,
919
- desiredCount: 1,
920
- taskImageOptions: {
921
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
922
- dockerLabels: {
923
- 'application.label.one': 'first_label',
924
- 'application.label.two': 'second_label',
925
- },
926
- },
927
- });
928
-
929
- service.taskDefinition.addContainer('Sidecar', {
930
- image: ecs.ContainerImage.fromRegistry('example/metrics-sidecar'),
931
- });
932
- ```
933
-
934
- ### Select specific load balancer name ApplicationLoadBalancedFargateService
935
-
936
- ```ts
937
- declare const cluster: ecs.Cluster;
938
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
939
- cluster,
940
- memoryLimitMiB: 1024,
941
- desiredCount: 1,
942
- cpu: 512,
943
- taskImageOptions: {
944
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
945
- },
946
- taskSubnets: {
947
- subnets: [ec2.Subnet.fromSubnetId(this, 'subnet', 'VpcISOLATEDSubnet1Subnet80F07FA0')],
948
- },
949
- loadBalancerName: 'application-lb-name',
950
- });
951
- ```
952
-
953
- ### ECS Exec
954
-
955
- You can use ECS Exec to run commands in or get a shell to a container running on an Amazon EC2 instance or on
956
- AWS Fargate. Enable ECS Exec, by setting `enableExecuteCommand` to `true`.
957
-
958
- ECS Exec is supported by all Services i.e. `ApplicationLoadBalanced(Fargate|Ec2)Service`, `ApplicationMultipleTargetGroups(Fargate|Ec2)Service`, `NetworkLoadBalanced(Fargate|Ec2)Service`, `NetworkMultipleTargetGroups(Fargate|Ec2)Service`, `QueueProcessing(Fargate|Ec2)Service`. It is not supported for `ScheduledTask`s.
959
-
960
- Read more about ECS Exec in the [ECS Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-exec.html).
961
-
962
- Example:
963
-
964
- ```ts
965
- declare const cluster: ecs.Cluster;
966
- const loadBalancedFargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, 'Service', {
967
- cluster,
968
- memoryLimitMiB: 1024,
969
- desiredCount: 1,
970
- cpu: 512,
971
- taskImageOptions: {
972
- image: ecs.ContainerImage.fromRegistry("amazon/amazon-ecs-sample"),
973
- },
974
- enableExecuteCommand: true
975
- });
976
- ```
977
-
978
- Please note, ECS Exec leverages AWS Systems Manager (SSM). So as a prerequisite for the exec command
979
- to work, you need to have the SSM plugin for the AWS CLI installed locally. For more information, see
980
- [Install Session Manager plugin for AWS CLI](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html).