cloudstructs 0.6.7 → 0.6.10

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.
package/.gitattributes CHANGED
@@ -23,6 +23,8 @@
23
23
  /src/slack-app/provider-function.ts linguist-generated
24
24
  /src/slack-events/events-function.ts linguist-generated
25
25
  /src/slack-textract/detect-function.ts linguist-generated
26
+ /src/ssl-server-test/analyze-function.ts linguist-generated
27
+ /src/ssl-server-test/extract-grade-function.ts linguist-generated
26
28
  /src/static-website/origin-request-function.ts linguist-generated
27
29
  /src/toolkit-cleaner/clean-images-function.ts linguist-generated
28
30
  /src/toolkit-cleaner/clean-objects-function.ts linguist-generated
package/.jsii CHANGED
@@ -2859,7 +2859,7 @@
2859
2859
  },
2860
2860
  "name": "cloudstructs",
2861
2861
  "readme": {
2862
- "markdown": "# cloudstructs\n\nHigh-level constructs for AWS CDK\n\n## Installation\n\n`npm install cloudstructs` or `yarn add cloudstructs`\n\nVersion >= 0.2.0 requires AWS CDK v2.\n\n## Constructs\n\n* [`CodeCommitMirror`](src/codecommit-mirror) Mirror a repository to AWS CodeCommit on schedule\n\n* [`EcsServiceRoller`](src/ecs-service-roller) Roll your ECS service tasks on schedule or with\n a rule\n\n* [`EmailReceiver`](src/email-receiver) Receive emails through SES, save them to S3\n and invoke a Lambda function\n\n* [`SlackApp`](src/slack-app) Deploy Slack apps from manifests\n\n* [`SlackEvents`](src/slack-events) Send Slack events to Amazon EventBridge\n\n* [`SlackTextract`](src/slack-textract) Extract text from images posted to Slack\n using Amazon Textract. The extracted text is posted in a thread under the image\n and gets indexed!\n\n* [`StateMachineCustomResourceProvider`](src/state-machine-cr-provider) Implement custom\n resources with AWS Step Functions state machines\n\n* [`StaticWebsite`](src/static-website) A CloudFront static website hosted on S3 with\n HTTPS redirect, SPA redirect, HTTP security headers and backend configuration saved\n to the bucket.\n\n* [`ToolkitCleaner`](src/toolkit-cleaner) Clean unused S3 and ECR assets from your CDK\n Toolkit.\n\n* [`UrlShortener`](src/url-shortener) Deploy an URL shortener API\n"
2862
+ "markdown": "# cloudstructs\n\nHigh-level constructs for AWS CDK\n\n## Installation\n\n`npm install cloudstructs` or `yarn add cloudstructs`\n\nVersion >= 0.2.0 requires AWS CDK v2.\n\n## Constructs\n\n* [`CodeCommitMirror`](src/codecommit-mirror) Mirror a repository to AWS CodeCommit on schedule\n\n* [`EcsServiceRoller`](src/ecs-service-roller) Roll your ECS service tasks on schedule or with\n a rule\n\n* [`EmailReceiver`](src/email-receiver) Receive emails through SES, save them to S3\n and invoke a Lambda function\n\n* [`SlackApp`](src/slack-app) Deploy Slack apps from manifests\n\n* [`SlackEvents`](src/slack-events) Send Slack events to Amazon EventBridge\n\n* [`SlackTextract`](src/slack-textract) Extract text from images posted to Slack\n using Amazon Textract. The extracted text is posted in a thread under the image\n and gets indexed!\n\n* [`SslServerTest`](src/ssl-server-test) Test a server/host for SSL/TLS on schedule and\n get notified when the overall rating is not satisfactory. [Powered by Qualys SSL Labs](https://www.ssllabs.com/).\n\n* [`StateMachineCustomResourceProvider`](src/state-machine-cr-provider) Implement custom\n resources with AWS Step Functions state machines\n\n* [`StaticWebsite`](src/static-website) A CloudFront static website hosted on S3 with\n HTTPS redirect, SPA redirect, HTTP security headers and backend configuration saved\n to the bucket.\n\n* [`ToolkitCleaner`](src/toolkit-cleaner) Clean unused S3 and ECR assets from your CDK\n Toolkit.\n\n* [`UrlShortener`](src/url-shortener) Deploy an URL shortener API\n"
2863
2863
  },
2864
2864
  "repository": {
2865
2865
  "type": "git",
@@ -5495,6 +5495,222 @@
5495
5495
  ],
5496
5496
  "symbolId": "src/slack-app/manifest:SlackkAppManifestBotUser"
5497
5497
  },
5498
+ "cloudstructs.SslServerTest": {
5499
+ "assembly": "cloudstructs",
5500
+ "base": "constructs.Construct",
5501
+ "docs": {
5502
+ "stability": "stable",
5503
+ "summary": "Perform SSL server test for a hostname."
5504
+ },
5505
+ "fqn": "cloudstructs.SslServerTest",
5506
+ "initializer": {
5507
+ "docs": {
5508
+ "stability": "stable"
5509
+ },
5510
+ "locationInModule": {
5511
+ "filename": "src/ssl-server-test/index.ts",
5512
+ "line": 71
5513
+ },
5514
+ "parameters": [
5515
+ {
5516
+ "name": "scope",
5517
+ "type": {
5518
+ "fqn": "constructs.Construct"
5519
+ }
5520
+ },
5521
+ {
5522
+ "name": "id",
5523
+ "type": {
5524
+ "primitive": "string"
5525
+ }
5526
+ },
5527
+ {
5528
+ "name": "props",
5529
+ "type": {
5530
+ "fqn": "cloudstructs.SslServerTestProps"
5531
+ }
5532
+ }
5533
+ ]
5534
+ },
5535
+ "kind": "class",
5536
+ "locationInModule": {
5537
+ "filename": "src/ssl-server-test/index.ts",
5538
+ "line": 64
5539
+ },
5540
+ "name": "SslServerTest",
5541
+ "properties": [
5542
+ {
5543
+ "docs": {
5544
+ "stability": "stable",
5545
+ "summary": "The topic to which the SSL test results are sent when the grade is below the minimum grade."
5546
+ },
5547
+ "immutable": true,
5548
+ "locationInModule": {
5549
+ "filename": "src/ssl-server-test/index.ts",
5550
+ "line": 69
5551
+ },
5552
+ "name": "alarmTopic",
5553
+ "type": {
5554
+ "fqn": "aws-cdk-lib.aws_sns.ITopic"
5555
+ }
5556
+ }
5557
+ ],
5558
+ "symbolId": "src/ssl-server-test/index:SslServerTest"
5559
+ },
5560
+ "cloudstructs.SslServerTestGrade": {
5561
+ "assembly": "cloudstructs",
5562
+ "docs": {
5563
+ "stability": "stable",
5564
+ "summary": "SSL Server test grade."
5565
+ },
5566
+ "fqn": "cloudstructs.SslServerTestGrade",
5567
+ "kind": "enum",
5568
+ "locationInModule": {
5569
+ "filename": "src/ssl-server-test/index.ts",
5570
+ "line": 50
5571
+ },
5572
+ "members": [
5573
+ {
5574
+ "docs": {
5575
+ "stability": "stable"
5576
+ },
5577
+ "name": "A_PLUS"
5578
+ },
5579
+ {
5580
+ "docs": {
5581
+ "stability": "stable"
5582
+ },
5583
+ "name": "A"
5584
+ },
5585
+ {
5586
+ "docs": {
5587
+ "stability": "stable"
5588
+ },
5589
+ "name": "A_MINUS"
5590
+ },
5591
+ {
5592
+ "docs": {
5593
+ "stability": "stable"
5594
+ },
5595
+ "name": "B"
5596
+ },
5597
+ {
5598
+ "docs": {
5599
+ "stability": "stable"
5600
+ },
5601
+ "name": "C"
5602
+ },
5603
+ {
5604
+ "docs": {
5605
+ "stability": "stable"
5606
+ },
5607
+ "name": "D"
5608
+ },
5609
+ {
5610
+ "docs": {
5611
+ "stability": "stable"
5612
+ },
5613
+ "name": "E"
5614
+ },
5615
+ {
5616
+ "docs": {
5617
+ "stability": "stable"
5618
+ },
5619
+ "name": "F"
5620
+ }
5621
+ ],
5622
+ "name": "SslServerTestGrade",
5623
+ "symbolId": "src/ssl-server-test/index:SslServerTestGrade"
5624
+ },
5625
+ "cloudstructs.SslServerTestProps": {
5626
+ "assembly": "cloudstructs",
5627
+ "datatype": true,
5628
+ "docs": {
5629
+ "stability": "stable",
5630
+ "summary": "Properties for a SslServerTest."
5631
+ },
5632
+ "fqn": "cloudstructs.SslServerTestProps",
5633
+ "kind": "interface",
5634
+ "locationInModule": {
5635
+ "filename": "src/ssl-server-test/index.ts",
5636
+ "line": 15
5637
+ },
5638
+ "name": "SslServerTestProps",
5639
+ "properties": [
5640
+ {
5641
+ "abstract": true,
5642
+ "docs": {
5643
+ "stability": "stable",
5644
+ "summary": "The hostname to test."
5645
+ },
5646
+ "immutable": true,
5647
+ "locationInModule": {
5648
+ "filename": "src/ssl-server-test/index.ts",
5649
+ "line": 19
5650
+ },
5651
+ "name": "host",
5652
+ "type": {
5653
+ "primitive": "string"
5654
+ }
5655
+ },
5656
+ {
5657
+ "abstract": true,
5658
+ "docs": {
5659
+ "default": "- a new topic is created",
5660
+ "stability": "stable",
5661
+ "summary": "The topic to which the results must be sent when the grade is below the minimum grade."
5662
+ },
5663
+ "immutable": true,
5664
+ "locationInModule": {
5665
+ "filename": "src/ssl-server-test/index.ts",
5666
+ "line": 37
5667
+ },
5668
+ "name": "alarmTopic",
5669
+ "optional": true,
5670
+ "type": {
5671
+ "fqn": "aws-cdk-lib.aws_sns.ITopic"
5672
+ }
5673
+ },
5674
+ {
5675
+ "abstract": true,
5676
+ "docs": {
5677
+ "default": "SslServerTestGrade.A_PLUS",
5678
+ "remarks": "Used to send the results to an alarm SNS topic.",
5679
+ "stability": "stable",
5680
+ "summary": "Minimum grade for the test. The grade is calculated using the worst grade of all endpoints."
5681
+ },
5682
+ "immutable": true,
5683
+ "locationInModule": {
5684
+ "filename": "src/ssl-server-test/index.ts",
5685
+ "line": 29
5686
+ },
5687
+ "name": "minimumGrade",
5688
+ "optional": true,
5689
+ "type": {
5690
+ "fqn": "cloudstructs.SslServerTestGrade"
5691
+ }
5692
+ },
5693
+ {
5694
+ "abstract": true,
5695
+ "docs": {
5696
+ "default": "- every day",
5697
+ "stability": "stable",
5698
+ "summary": "The schedule for the test."
5699
+ },
5700
+ "immutable": true,
5701
+ "locationInModule": {
5702
+ "filename": "src/ssl-server-test/index.ts",
5703
+ "line": 44
5704
+ },
5705
+ "name": "schedule",
5706
+ "optional": true,
5707
+ "type": {
5708
+ "fqn": "aws-cdk-lib.aws_events.Schedule"
5709
+ }
5710
+ }
5711
+ ],
5712
+ "symbolId": "src/ssl-server-test/index:SslServerTestProps"
5713
+ },
5498
5714
  "cloudstructs.StateMachineCustomResourceProvider": {
5499
5715
  "assembly": "cloudstructs",
5500
5716
  "base": "constructs.Construct",
@@ -6175,6 +6391,6 @@
6175
6391
  "symbolId": "src/url-shortener/index:UrlShortenerProps"
6176
6392
  }
6177
6393
  },
6178
- "version": "0.6.7",
6179
- "fingerprint": "LaofZFVTWt/2ZJcZBYrjMOHzz6FgHfOJt1rweR3w0Co="
6394
+ "version": "0.6.10",
6395
+ "fingerprint": "lPjX6hEDBFR7HPFMaBdi6fD3DijolakEY6/M0iFnmAI="
6180
6396
  }
package/API.md CHANGED
@@ -16,6 +16,7 @@ Name|Description
16
16
  [SlackAppManifestDefinition](#cloudstructs-slackappmanifestdefinition)|A Slack app manifest definition.
17
17
  [SlackEvents](#cloudstructs-slackevents)|Send Slack events to Amazon EventBridge.
18
18
  [SlackTextract](#cloudstructs-slacktextract)|Extract text from images posted to Slack using Amazon Textract.
19
+ [SslServerTest](#cloudstructs-sslservertest)|Perform SSL server test for a hostname.
19
20
  [StateMachineCustomResourceProvider](#cloudstructs-statemachinecustomresourceprovider)|A state machine custom resource provider.
20
21
  [StaticWebsite](#cloudstructs-staticwebsite)|A CloudFront static website hosted on S3.
21
22
  [ToolkitCleaner](#cloudstructs-toolkitcleaner)|Clean unused S3 and ECR assets from your CDK Toolkit.
@@ -43,6 +44,7 @@ Name|Description
43
44
  [SlackEventsProps](#cloudstructs-slackeventsprops)|Properties for a SlackEvents.
44
45
  [SlackTextractProps](#cloudstructs-slacktextractprops)|Properties for a SlackTextract.
45
46
  [SlackkAppManifestBotUser](#cloudstructs-slackkappmanifestbotuser)|Bot user configuration.
47
+ [SslServerTestProps](#cloudstructs-sslservertestprops)|Properties for a SslServerTest.
46
48
  [StateMachineCustomResourceProviderProps](#cloudstructs-statemachinecustomresourceproviderprops)|Properties for a StateMachineCustomResourceProvider.
47
49
  [StaticWebsiteProps](#cloudstructs-staticwebsiteprops)|Properties for a StaticWebsite.
48
50
  [ToolkitCleanerProps](#cloudstructs-toolkitcleanerprops)|Properties for a ToolkitCleaner.
@@ -61,6 +63,7 @@ Name|Description
61
63
  Name|Description
62
64
  ----|-----------
63
65
  [SlackAppManifestShortcutType](#cloudstructs-slackappmanifestshortcuttype)|Type of shortcuts.
66
+ [SslServerTestGrade](#cloudstructs-sslservertestgrade)|SSL Server test grade.
64
67
 
65
68
 
66
69
 
@@ -557,6 +560,41 @@ new SlackTextract(scope: Construct, id: string, props: SlackTextractProps)
557
560
 
558
561
 
559
562
 
563
+ ## class SslServerTest <a id="cloudstructs-sslservertest"></a>
564
+
565
+ Perform SSL server test for a hostname.
566
+
567
+ __Implements__: [IConstruct](#constructs-iconstruct), [IDependable](#constructs-idependable)
568
+ __Extends__: [Construct](#constructs-construct)
569
+
570
+ ### Initializer
571
+
572
+
573
+
574
+
575
+ ```ts
576
+ new SslServerTest(scope: Construct, id: string, props: SslServerTestProps)
577
+ ```
578
+
579
+ * **scope** (<code>[Construct](#constructs-construct)</code>) *No description*
580
+ * **id** (<code>string</code>) *No description*
581
+ * **props** (<code>[SslServerTestProps](#cloudstructs-sslservertestprops)</code>) *No description*
582
+ * **host** (<code>string</code>) The hostname to test.
583
+ * **alarmTopic** (<code>[aws_sns.ITopic](#aws-cdk-lib-aws-sns-itopic)</code>) The topic to which the results must be sent when the grade is below the minimum grade. __*Default*__: a new topic is created
584
+ * **minimumGrade** (<code>[SslServerTestGrade](#cloudstructs-sslservertestgrade)</code>) Minimum grade for the test. The grade is calculated using the worst grade of all endpoints. __*Default*__: SslServerTestGrade.A_PLUS
585
+ * **schedule** (<code>[aws_events.Schedule](#aws-cdk-lib-aws-events-schedule)</code>) The schedule for the test. __*Default*__: every day
586
+
587
+
588
+
589
+ ### Properties
590
+
591
+
592
+ Name | Type | Description
593
+ -----|------|-------------
594
+ **alarmTopic** | <code>[aws_sns.ITopic](#aws-cdk-lib-aws-sns-itopic)</code> | The topic to which the SSL test results are sent when the grade is below the minimum grade.
595
+
596
+
597
+
560
598
  ## class StateMachineCustomResourceProvider <a id="cloudstructs-statemachinecustomresourceprovider"></a>
561
599
 
562
600
  A state machine custom resource provider.
@@ -983,6 +1021,22 @@ Name | Type | Description
983
1021
 
984
1022
 
985
1023
 
1024
+ ## struct SslServerTestProps <a id="cloudstructs-sslservertestprops"></a>
1025
+
1026
+
1027
+ Properties for a SslServerTest.
1028
+
1029
+
1030
+
1031
+ Name | Type | Description
1032
+ -----|------|-------------
1033
+ **host** | <code>string</code> | The hostname to test.
1034
+ **alarmTopic**? | <code>[aws_sns.ITopic](#aws-cdk-lib-aws-sns-itopic)</code> | The topic to which the results must be sent when the grade is below the minimum grade.<br/>__*Default*__: a new topic is created
1035
+ **minimumGrade**? | <code>[SslServerTestGrade](#cloudstructs-sslservertestgrade)</code> | Minimum grade for the test. The grade is calculated using the worst grade of all endpoints.<br/>__*Default*__: SslServerTestGrade.A_PLUS
1036
+ **schedule**? | <code>[aws_events.Schedule](#aws-cdk-lib-aws-events-schedule)</code> | The schedule for the test.<br/>__*Default*__: every day
1037
+
1038
+
1039
+
986
1040
  ## struct StateMachineCustomResourceProviderProps <a id="cloudstructs-statemachinecustomresourceproviderprops"></a>
987
1041
 
988
1042
 
@@ -1059,3 +1113,19 @@ Name | Description
1059
1113
  **GLOBAL** |Global shortcuts are available to users via the shortcuts button in the composer, and when using search in Slack.
1060
1114
 
1061
1115
 
1116
+ ## enum SslServerTestGrade <a id="cloudstructs-sslservertestgrade"></a>
1117
+
1118
+ SSL Server test grade.
1119
+
1120
+ Name | Description
1121
+ -----|-----
1122
+ **A_PLUS** |
1123
+ **A** |
1124
+ **A_MINUS** |
1125
+ **B** |
1126
+ **C** |
1127
+ **D** |
1128
+ **E** |
1129
+ **F** |
1130
+
1131
+
package/README.md CHANGED
@@ -26,6 +26,9 @@ Version >= 0.2.0 requires AWS CDK v2.
26
26
  using Amazon Textract. The extracted text is posted in a thread under the image
27
27
  and gets indexed!
28
28
 
29
+ * [`SslServerTest`](src/ssl-server-test) Test a server/host for SSL/TLS on schedule and
30
+ get notified when the overall rating is not satisfactory. [Powered by Qualys SSL Labs](https://www.ssllabs.com/).
31
+
29
32
  * [`StateMachineCustomResourceProvider`](src/state-machine-cr-provider) Implement custom
30
33
  resources with AWS Step Functions state machines
31
34