@rio-cloud/cdk-v2-constructs 8.2.1 → 8.4.0-alpha.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 (30) hide show
  1. package/.jsii +802 -145
  2. package/README.md +1 -0
  3. package/docs/AGENTS_DOCUMENTATION.md +64 -0
  4. package/docs/AGENTS_RIO_INFRASTRUCTURE_GUIDE.md +56 -0
  5. package/lib/backup/backup-policy.d.ts +7 -0
  6. package/lib/backup/backup-policy.js +8 -1
  7. package/lib/contributions/team-shipper-inbound-blue/pipeline/code-build-project.d.ts +64 -0
  8. package/lib/contributions/team-shipper-inbound-blue/pipeline/code-build-project.js +88 -0
  9. package/lib/contributions/team-shipper-inbound-blue/pipeline/index.d.ts +2 -0
  10. package/lib/contributions/team-shipper-inbound-blue/pipeline/index.js +19 -0
  11. package/lib/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.d.ts +81 -0
  12. package/lib/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.js +57 -0
  13. package/lib/datadogv2/datadog-slo.d.ts +7 -0
  14. package/lib/datadogv2/datadog-slo.js +8 -1
  15. package/lib/fargate/rio-fargate-service.d.ts +45 -0
  16. package/lib/fargate/rio-fargate-service.js +46 -1
  17. package/lib/index.d.ts +2 -3
  18. package/lib/index.js +3 -4
  19. package/lib/kafka/kafka-topic.d.ts +22 -1
  20. package/lib/kafka/kafka-topic.js +23 -2
  21. package/lib/pipeline/delivery-performance-monitoring-override.d.ts +36 -0
  22. package/lib/pipeline/delivery-performance-monitoring-override.js +49 -0
  23. package/lib/pipeline/index.d.ts +4 -0
  24. package/lib/pipeline/index.js +21 -0
  25. package/lib/pipeline/rio-pipeline-type.d.ts +5 -0
  26. package/lib/pipeline/rio-pipeline-type.js +6 -1
  27. package/lib/rio-landing-zone.d.ts +12 -1
  28. package/lib/rio-landing-zone.js +13 -2
  29. package/package.json +6 -3
  30. package/version.json +1 -1
package/.jsii CHANGED
@@ -9106,7 +9106,7 @@
9106
9106
  },
9107
9107
  "name": "@rio-cloud/cdk-v2-constructs",
9108
9108
  "readme": {
9109
- "markdown": "# RIO CDK Constructs\n\nThis package contains CDK2 constructs for RIO teams.\n\n> NPM: `@rio-cloud/cdk-v2-constructs`\n\n## Bootstrapping of CDK project\n\n```\n$ npx cdk init --language typescript\n```\n\n## Installation\n\n```\n$ npm install --save @rio-cloud/cdk-v2-constructs\n```\n\n## See also\n\n * [How to contribute](./docs/contribution.md)\n * [Changelog](./docs/changelog.md)\n * [brief API description](./docs/API.md)\n\n## Internal documentation for library devs\n[Documentation](./docs/developers-readme.md)\n\n## Constructs overview (Under construction...)\n\n### Watchful\n\nWatchful constructs help generate some default monitors based on the resources defined in your stack. E.g. - If your stack contains a lambda function, and you configure watchful construct, then it will create out of box metric monitors for Throttling, Lambda error and Log error monitors. The ever-growing list of resources that watchful creates monitors for as of today are:\n\n- Application load balancer\n- Cloudfront\n- Documentdb\n- Dynamodb\n- Fargate\n- Lambda\n- RDS\n\nSimply add the following to your CDK stack to get started.\n```\n import * as rio from '@rio-cloud/cdk-v2-constructs';\n ...\n const dw = new rio.watchfulv2.Watchful(this, 'Watchful', {\n serviceName,\n });\n dw.watchScope(this); // Generates alarms for all supported resources\n ...\n```\n\nThere are options to override some defaults too. Please be aware that the library is very opinionated and is written with the most general use cases in mind. It is necessary to keep the use of the library simple enough, which means that there is only limited flexibility regarding the configuration options. Having said that, feel free to reach out to team CLAID over slack #rio-platform-support in case of feature requests.\n\nThe broad classification of the monitors created by watchful are\n- Log error monitors\n- Metrics Query monitors: Basically everything other than log error monitors\n\nFor Metrics query monitors, you can configure the priority (defaults as 3). For log error monitors, you can configure priority, renotification interval and can configure if the auto close of the monitor is disabled.\n```\n ...\n const dw = new Watchful(stack, 'Watchful2', {\n logErrorMonitorConfig: {\n disableAutoClose: true,\n renotifyInterval: 150,\n priority: 4,\n },\n queryErrorMonitorConfig: {\n priority: 4\n }\n });\n dw.watchScope(stack);\n```\n\nThere is an `overrideAlarmThreshold` method which can be used to override the default watchful thresholds. Please make sure to use the method before the `watchscope` function.\nE.g. -\n```\n...\nconst dw = new Watchful(stack, 'Watchful', {});\ndw.overrideAlarmThreshold({\n monitoredResourceScope: lambdaA,\n monitorType: MonitorType.ERRORS,\n threshold: 5,\n});\ndw.watchScope(stack);\n```\n\n### ClassifyPipelineType\n\nThe pipelines can be tagged with key 'pipeline_type' to the following values:\n\n* deploy: To tag the production pipeline releasing the application\n* branch: The branch pipeline. Mostly used to test contributions / renovate updates\n* vulnerability: The vulnerability pipeline\n\nThe construct `ClassifyPipelineType` can be used to tag the pipeline accordingly. This tag is also picked up by the Datadog pipeline metric used to monitor the pipelines. It is added as a tag to the metric. This gives you more flexibility with managing the monitors also. E.g. some teams don't want to get alerted for branch pipelines. You can then leverage this metric tag to filter the pipelines.\n\nExample:\n\n```typescript\nconst pipeline = new pipelines.CodePipeline(this, 'Pipeline', {\n ...\n });\nrio.ClassifyPipelineType.apply(pipeline, rio.RioPipelineType.DEPLOY);\n```\n"
9109
+ "markdown": "# RIO CDK Constructs\n\nThis package contains CDK2 constructs for RIO teams.\n\n> NPM: `@rio-cloud/cdk-v2-constructs`\n\n## Bootstrapping of CDK project\n\n```\n$ npx cdk init --language typescript\n```\n\n## Installation\n\n```\n$ npm install --save @rio-cloud/cdk-v2-constructs\n```\n\n## See also\n\n * [How to contribute](./docs/contribution.md)\n * [Changelog](./docs/changelog.md)\n * [brief API description](./docs/API.md)\n * [Agent documentation](./docs/AGENTS_DOCUMENTATION.md)\n\n## Internal documentation for library devs\n[Documentation](./docs/developers-readme.md)\n\n## Constructs overview (Under construction...)\n\n### Watchful\n\nWatchful constructs help generate some default monitors based on the resources defined in your stack. E.g. - If your stack contains a lambda function, and you configure watchful construct, then it will create out of box metric monitors for Throttling, Lambda error and Log error monitors. The ever-growing list of resources that watchful creates monitors for as of today are:\n\n- Application load balancer\n- Cloudfront\n- Documentdb\n- Dynamodb\n- Fargate\n- Lambda\n- RDS\n\nSimply add the following to your CDK stack to get started.\n```\n import * as rio from '@rio-cloud/cdk-v2-constructs';\n ...\n const dw = new rio.watchfulv2.Watchful(this, 'Watchful', {\n serviceName,\n });\n dw.watchScope(this); // Generates alarms for all supported resources\n ...\n```\n\nThere are options to override some defaults too. Please be aware that the library is very opinionated and is written with the most general use cases in mind. It is necessary to keep the use of the library simple enough, which means that there is only limited flexibility regarding the configuration options. Having said that, feel free to reach out to team CLAID over slack #rio-platform-support in case of feature requests.\n\nThe broad classification of the monitors created by watchful are\n- Log error monitors\n- Metrics Query monitors: Basically everything other than log error monitors\n\nFor Metrics query monitors, you can configure the priority (defaults as 3). For log error monitors, you can configure priority, renotification interval and can configure if the auto close of the monitor is disabled.\n```\n ...\n const dw = new Watchful(stack, 'Watchful2', {\n logErrorMonitorConfig: {\n disableAutoClose: true,\n renotifyInterval: 150,\n priority: 4,\n },\n queryErrorMonitorConfig: {\n priority: 4\n }\n });\n dw.watchScope(stack);\n```\n\nThere is an `overrideAlarmThreshold` method which can be used to override the default watchful thresholds. Please make sure to use the method before the `watchscope` function.\nE.g. -\n```\n...\nconst dw = new Watchful(stack, 'Watchful', {});\ndw.overrideAlarmThreshold({\n monitoredResourceScope: lambdaA,\n monitorType: MonitorType.ERRORS,\n threshold: 5,\n});\ndw.watchScope(stack);\n```\n\n### ClassifyPipelineType\n\nThe pipelines can be tagged with key 'pipeline_type' to the following values:\n\n* deploy: To tag the production pipeline releasing the application\n* branch: The branch pipeline. Mostly used to test contributions / renovate updates\n* vulnerability: The vulnerability pipeline\n\nThe construct `ClassifyPipelineType` can be used to tag the pipeline accordingly. This tag is also picked up by the Datadog pipeline metric used to monitor the pipelines. It is added as a tag to the metric. This gives you more flexibility with managing the monitors also. E.g. some teams don't want to get alerted for branch pipelines. You can then leverage this metric tag to filter the pipelines.\n\nExample:\n\n```typescript\nconst pipeline = new pipelines.CodePipeline(this, 'Pipeline', {\n ...\n });\nrio.ClassifyPipelineType.apply(pipeline, rio.RioPipelineType.DEPLOY);\n```\n"
9110
9110
  },
9111
9111
  "repository": {
9112
9112
  "type": "git",
@@ -9124,49 +9124,49 @@
9124
9124
  "@rio-cloud/cdk-v2-constructs.datadog": {
9125
9125
  "locationInModule": {
9126
9126
  "filename": "src/index.ts",
9127
- "line": 11
9127
+ "line": 12
9128
9128
  },
9129
9129
  "symbolId": "src/datadog/index:"
9130
9130
  },
9131
9131
  "@rio-cloud/cdk-v2-constructs.datadogv2": {
9132
9132
  "locationInModule": {
9133
9133
  "filename": "src/index.ts",
9134
- "line": 12
9134
+ "line": 13
9135
9135
  },
9136
9136
  "symbolId": "src/datadogv2/index:"
9137
9137
  },
9138
9138
  "@rio-cloud/cdk-v2-constructs.ecr": {
9139
9139
  "locationInModule": {
9140
9140
  "filename": "src/index.ts",
9141
- "line": 13
9141
+ "line": 14
9142
9142
  },
9143
9143
  "symbolId": "src/ecr/index:"
9144
9144
  },
9145
9145
  "@rio-cloud/cdk-v2-constructs.fargate": {
9146
9146
  "locationInModule": {
9147
9147
  "filename": "src/index.ts",
9148
- "line": 14
9148
+ "line": 15
9149
9149
  },
9150
9150
  "symbolId": "src/fargate/index:"
9151
9151
  },
9152
9152
  "@rio-cloud/cdk-v2-constructs.kafka": {
9153
9153
  "locationInModule": {
9154
9154
  "filename": "src/index.ts",
9155
- "line": 19
9155
+ "line": 20
9156
9156
  },
9157
9157
  "symbolId": "src/kafka/index:"
9158
9158
  },
9159
9159
  "@rio-cloud/cdk-v2-constructs.ses": {
9160
9160
  "locationInModule": {
9161
9161
  "filename": "src/index.ts",
9162
- "line": 27
9162
+ "line": 26
9163
9163
  },
9164
9164
  "symbolId": "src/ses/index:"
9165
9165
  },
9166
9166
  "@rio-cloud/cdk-v2-constructs.watchfulv2": {
9167
9167
  "locationInModule": {
9168
9168
  "filename": "src/index.ts",
9169
- "line": 30
9169
+ "line": 29
9170
9170
  },
9171
9171
  "symbolId": "src/watchfulv2/index:"
9172
9172
  }
@@ -9866,6 +9866,7 @@
9866
9866
  "@rio-cloud/cdk-v2-constructs.BackupPolicy": {
9867
9867
  "assembly": "@rio-cloud/cdk-v2-constructs",
9868
9868
  "docs": {
9869
+ "remarks": "Apply this to stateful resources that must be discovered by the RIO landing-zone backup solution.\n\nExample:\n```ts\nBackupPolicy.apply(table, Criticality.HIGH);\n```",
9869
9870
  "stability": "stable",
9870
9871
  "summary": "Helper function to tag constructs with correct backup values to be picked up by the rio landing zone backup solution."
9871
9872
  },
@@ -9878,7 +9879,7 @@
9878
9879
  "kind": "class",
9879
9880
  "locationInModule": {
9880
9881
  "filename": "src/backup/backup-policy.ts",
9881
- "line": 17
9882
+ "line": 24
9882
9883
  },
9883
9884
  "methods": [
9884
9885
  {
@@ -9887,7 +9888,7 @@
9887
9888
  },
9888
9889
  "locationInModule": {
9889
9890
  "filename": "src/backup/backup-policy.ts",
9890
- "line": 18
9891
+ "line": 25
9891
9892
  },
9892
9893
  "name": "apply",
9893
9894
  "parameters": [
@@ -10216,7 +10217,7 @@
10216
10217
  "@rio-cloud/cdk-v2-constructs.ClassifyPipelineType": {
10217
10218
  "assembly": "@rio-cloud/cdk-v2-constructs",
10218
10219
  "docs": {
10219
- "remarks": "These tags are eventually used in datadog pipeline metrics to filter specific pipeline types\nEg - you can decide to not monitor branch pipelines",
10220
+ "remarks": "These tags are eventually used in datadog pipeline metrics to filter specific pipeline types\nEg - you can decide to not monitor branch pipelines\n\nExample:\n```ts\nClassifyPipelineType.apply(pipeline, RioPipelineType.DEPLOY);\n```",
10220
10221
  "stability": "stable",
10221
10222
  "summary": "Helper function to tag the pipeline with correct pipeline type."
10222
10223
  },
@@ -10229,7 +10230,7 @@
10229
10230
  "kind": "class",
10230
10231
  "locationInModule": {
10231
10232
  "filename": "src/pipeline/rio-pipeline-type.ts",
10232
- "line": 29
10233
+ "line": 34
10233
10234
  },
10234
10235
  "methods": [
10235
10236
  {
@@ -10238,7 +10239,7 @@
10238
10239
  },
10239
10240
  "locationInModule": {
10240
10241
  "filename": "src/pipeline/rio-pipeline-type.ts",
10241
- "line": 30
10242
+ "line": 35
10242
10243
  },
10243
10244
  "name": "apply",
10244
10245
  "parameters": [
@@ -12555,6 +12556,88 @@
12555
12556
  ],
12556
12557
  "symbolId": "src/contributions/team-claid/datadog-usage-monitoring/datadog-usage-monitoring:DatadogUsageMonitoringProps"
12557
12558
  },
12559
+ "@rio-cloud/cdk-v2-constructs.DeliveryPerformanceMonitoringOverride": {
12560
+ "assembly": "@rio-cloud/cdk-v2-constructs",
12561
+ "docs": {
12562
+ "remarks": "Example:\n```typescript\nimport { DeliveryPerformanceMonitoringOverride } from '@rio-cloud/cdk-v2-constructs'\nimport { pipeline } from './pipeline'\n\nDeliveryPerformanceMonitoringOverride.include(pipeline)\nDeliveryPerformanceMonitoringOverride.exclude(pipeline)\n```",
12563
+ "see": "https://bitbucket.collaboration-man.com/projects/RIODEV/repos/delivery-performance-monitoring/browse",
12564
+ "stability": "stable",
12565
+ "summary": "Convenience helpers to enforce including or excluding CodePipeline pipelines from delivery-performance-monitoring regardless of the default detection mechanism."
12566
+ },
12567
+ "fqn": "@rio-cloud/cdk-v2-constructs.DeliveryPerformanceMonitoringOverride",
12568
+ "initializer": {
12569
+ "docs": {
12570
+ "stability": "stable"
12571
+ }
12572
+ },
12573
+ "kind": "class",
12574
+ "locationInModule": {
12575
+ "filename": "src/pipeline/delivery-performance-monitoring-override.ts",
12576
+ "line": 30
12577
+ },
12578
+ "methods": [
12579
+ {
12580
+ "docs": {
12581
+ "stability": "stable",
12582
+ "summary": "Marks the pipeline as never tracked by delivery-performance-monitoring."
12583
+ },
12584
+ "locationInModule": {
12585
+ "filename": "src/pipeline/delivery-performance-monitoring-override.ts",
12586
+ "line": 41
12587
+ },
12588
+ "name": "exclude",
12589
+ "parameters": [
12590
+ {
12591
+ "name": "target",
12592
+ "type": {
12593
+ "union": {
12594
+ "types": [
12595
+ {
12596
+ "fqn": "aws-cdk-lib.pipelines.PipelineBase"
12597
+ },
12598
+ {
12599
+ "fqn": "aws-cdk-lib.aws_codepipeline.IPipeline"
12600
+ }
12601
+ ]
12602
+ }
12603
+ }
12604
+ }
12605
+ ],
12606
+ "static": true
12607
+ },
12608
+ {
12609
+ "docs": {
12610
+ "stability": "stable",
12611
+ "summary": "Marks the pipeline as always tracked by delivery-performance-monitoring account-module."
12612
+ },
12613
+ "locationInModule": {
12614
+ "filename": "src/pipeline/delivery-performance-monitoring-override.ts",
12615
+ "line": 34
12616
+ },
12617
+ "name": "include",
12618
+ "parameters": [
12619
+ {
12620
+ "name": "target",
12621
+ "type": {
12622
+ "union": {
12623
+ "types": [
12624
+ {
12625
+ "fqn": "aws-cdk-lib.pipelines.PipelineBase"
12626
+ },
12627
+ {
12628
+ "fqn": "aws-cdk-lib.aws_codepipeline.IPipeline"
12629
+ }
12630
+ ]
12631
+ }
12632
+ }
12633
+ }
12634
+ ],
12635
+ "static": true
12636
+ }
12637
+ ],
12638
+ "name": "DeliveryPerformanceMonitoringOverride",
12639
+ "symbolId": "src/pipeline/delivery-performance-monitoring-override:DeliveryPerformanceMonitoringOverride"
12640
+ },
12558
12641
  "@rio-cloud/cdk-v2-constructs.DownloadableDatadogDashboard": {
12559
12642
  "assembly": "@rio-cloud/cdk-v2-constructs",
12560
12643
  "base": "aws-cdk-lib.CfnResource",
@@ -13987,8 +14070,9 @@
13987
14070
  "assembly": "@rio-cloud/cdk-v2-constructs",
13988
14071
  "base": "constructs.Construct",
13989
14072
  "docs": {
14073
+ "remarks": "Prefer this construct for new topics. Keep the default retention and partition count unless there is a concrete\noperational requirement to change them. Partition increases are permanent and may require coordination with CLAID\nwhen service limits are exceeded.\n\nExample:\n```ts\nnew KafkaTopicV4(this, 'EventsTopic', {\n name: 'billing-view.events',\n metadata: {\n description: 'Domain events emitted by Billing View.',\n audience: 'company-internal',\n recoveryPolicy: 'recoverable',\n },\n acl: {\n write: ['billing-view'],\n read: ['billing-consumer'],\n },\n isLogCompacted: false,\n});\n```",
13990
14074
  "stability": "stable",
13991
- "summary": "Construct to create a kafka topic."
14075
+ "summary": "Construct to create a version 4 RIO Kafka topic."
13992
14076
  },
13993
14077
  "fqn": "@rio-cloud/cdk-v2-constructs.KafkaTopicV4",
13994
14078
  "initializer": {
@@ -13997,7 +14081,7 @@
13997
14081
  },
13998
14082
  "locationInModule": {
13999
14083
  "filename": "src/kafka/kafka-topic.ts",
14000
- "line": 281
14084
+ "line": 302
14001
14085
  },
14002
14086
  "parameters": [
14003
14087
  {
@@ -14023,7 +14107,7 @@
14023
14107
  "kind": "class",
14024
14108
  "locationInModule": {
14025
14109
  "filename": "src/kafka/kafka-topic.ts",
14026
- "line": 280
14110
+ "line": 301
14027
14111
  },
14028
14112
  "name": "KafkaTopicV4",
14029
14113
  "symbolId": "src/kafka/kafka-topic:KafkaTopicV4"
@@ -14849,197 +14933,763 @@
14849
14933
  {
14850
14934
  "docs": {
14851
14935
  "stability": "stable",
14852
- "summary": "Read throttle events for dynamodb."
14936
+ "summary": "Read throttle events for dynamodb."
14937
+ },
14938
+ "name": "READ_THROTTLE_EVENTS"
14939
+ },
14940
+ {
14941
+ "docs": {
14942
+ "stability": "stable",
14943
+ "summary": "Write throttle events for dynamodb."
14944
+ },
14945
+ "name": "WRITE_THROTTLE_EVENTS"
14946
+ },
14947
+ {
14948
+ "docs": {
14949
+ "stability": "stable",
14950
+ "summary": "Throttle request evebts for dynamodb."
14951
+ },
14952
+ "name": "THROTTLED_REQUESTS_EVENTS"
14953
+ },
14954
+ {
14955
+ "docs": {
14956
+ "stability": "stable",
14957
+ "summary": "Memory utilization for ECS."
14958
+ },
14959
+ "name": "MEMORY_UTILIZATION"
14960
+ },
14961
+ {
14962
+ "docs": {
14963
+ "stability": "stable",
14964
+ "summary": "Log error monitor for ECS and lambda."
14965
+ },
14966
+ "name": "LOG_ERROR_MONITOR"
14967
+ },
14968
+ {
14969
+ "docs": {
14970
+ "stability": "stable",
14971
+ "summary": "Inovation errors with lambda."
14972
+ },
14973
+ "name": "ERRORS"
14974
+ },
14975
+ {
14976
+ "docs": {
14977
+ "stability": "stable",
14978
+ "summary": "Throttle metrics for lambda."
14979
+ },
14980
+ "name": "THROTTLES"
14981
+ },
14982
+ {
14983
+ "docs": {
14984
+ "stability": "stable",
14985
+ "summary": "Runtime duration metrics for lambda."
14986
+ },
14987
+ "name": "DURATION"
14988
+ },
14989
+ {
14990
+ "docs": {
14991
+ "stability": "stable",
14992
+ "summary": "Free memory for Document DB and RDS."
14993
+ },
14994
+ "name": "FREEABLE_MEMORY"
14995
+ },
14996
+ {
14997
+ "docs": {
14998
+ "stability": "stable",
14999
+ "summary": "Connection error metrics for Application load balancer target group."
15000
+ },
15001
+ "name": "CONNECTION_ERROR"
15002
+ },
15003
+ {
15004
+ "docs": {
15005
+ "stability": "stable",
15006
+ "summary": "Running fargate tasks monitor."
15007
+ },
15008
+ "name": "RUNNING_TASKS"
15009
+ }
15010
+ ],
15011
+ "name": "MonitorType",
15012
+ "symbolId": "src/watchful/monitor-type:MonitorType"
15013
+ },
15014
+ "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate": {
15015
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15016
+ "docs": {
15017
+ "example": " const appStack = new AppStack()\n const template = Template.fromStack(appStack);\n expect(NormalizedTemplate.from(template).toMatchSnapshot();",
15018
+ "remarks": "The fromTemplate() method works by applying replacements for specific values with a\nplaceholder value. This is particularly useful because elements like the S3\nkeys for Lambda code assets include hash strings that change with every dependency update. Normalizing\nthese values prevents false negatives during template object comparisons.\n\nCurrent replacements:\n- SHA-256 hash strings (64 alphanumeric characters) are replaced with 'dummy-cdk-asset'.\n- Tags with Key 'dd_cdk_construct' are replaced with 'dummy-datadog-version'.\n- LatestNodeRuntimeMap with 'dummyKey': 'dummyValue'",
15019
+ "stability": "stable",
15020
+ "summary": "A utility class that normalizes a Template object to simplify template comparisons in tests."
15021
+ },
15022
+ "fqn": "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate",
15023
+ "initializer": {
15024
+ "docs": {
15025
+ "stability": "stable"
15026
+ }
15027
+ },
15028
+ "kind": "class",
15029
+ "locationInModule": {
15030
+ "filename": "src/test/normalized-test-template.ts",
15031
+ "line": 20
15032
+ },
15033
+ "methods": [
15034
+ {
15035
+ "docs": {
15036
+ "stability": "stable"
15037
+ },
15038
+ "locationInModule": {
15039
+ "filename": "src/test/normalized-test-template.ts",
15040
+ "line": 21
15041
+ },
15042
+ "name": "fromTemplate",
15043
+ "parameters": [
15044
+ {
15045
+ "name": "template",
15046
+ "type": {
15047
+ "fqn": "aws-cdk-lib.assertions.Template"
15048
+ }
15049
+ }
15050
+ ],
15051
+ "returns": {
15052
+ "type": {
15053
+ "fqn": "aws-cdk-lib.assertions.Template"
15054
+ }
15055
+ },
15056
+ "static": true
15057
+ }
15058
+ ],
15059
+ "name": "NormalizedTestTemplate",
15060
+ "symbolId": "src/test/normalized-test-template:NormalizedTestTemplate"
15061
+ },
15062
+ "@rio-cloud/cdk-v2-constructs.OverrideAlarmThresholdProps": {
15063
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15064
+ "datatype": true,
15065
+ "docs": {
15066
+ "stability": "stable"
15067
+ },
15068
+ "fqn": "@rio-cloud/cdk-v2-constructs.OverrideAlarmThresholdProps",
15069
+ "kind": "interface",
15070
+ "locationInModule": {
15071
+ "filename": "src/watchful/watchful.ts",
15072
+ "line": 59
15073
+ },
15074
+ "name": "OverrideAlarmThresholdProps",
15075
+ "properties": [
15076
+ {
15077
+ "abstract": true,
15078
+ "docs": {
15079
+ "stability": "stable",
15080
+ "summary": "The scope of the resource for which the threshold needs to be overriden."
15081
+ },
15082
+ "immutable": true,
15083
+ "locationInModule": {
15084
+ "filename": "src/watchful/watchful.ts",
15085
+ "line": 63
15086
+ },
15087
+ "name": "monitoredResourceScope",
15088
+ "type": {
15089
+ "fqn": "constructs.Construct"
15090
+ }
15091
+ },
15092
+ {
15093
+ "abstract": true,
15094
+ "docs": {
15095
+ "remarks": "Eg - Errors, Thresholds, LogErrorMonitor",
15096
+ "stability": "stable",
15097
+ "summary": "Id of the monitor that needs to be overriden."
15098
+ },
15099
+ "immutable": true,
15100
+ "locationInModule": {
15101
+ "filename": "src/watchful/watchful.ts",
15102
+ "line": 69
15103
+ },
15104
+ "name": "monitorType",
15105
+ "type": {
15106
+ "fqn": "@rio-cloud/cdk-v2-constructs.MonitorType"
15107
+ }
15108
+ },
15109
+ {
15110
+ "abstract": true,
15111
+ "docs": {
15112
+ "stability": "stable",
15113
+ "summary": "The threshold that needs to be set."
15114
+ },
15115
+ "immutable": true,
15116
+ "locationInModule": {
15117
+ "filename": "src/watchful/watchful.ts",
15118
+ "line": 74
15119
+ },
15120
+ "name": "threshold",
15121
+ "type": {
15122
+ "primitive": "number"
15123
+ }
15124
+ }
15125
+ ],
15126
+ "symbolId": "src/watchful/watchful:OverrideAlarmThresholdProps"
15127
+ },
15128
+ "@rio-cloud/cdk-v2-constructs.ParallelBuildProject": {
15129
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15130
+ "base": "aws-cdk-lib.aws_codebuild.PipelineProject",
15131
+ "docs": {
15132
+ "stability": "stable",
15133
+ "summary": "CodeBuild project for parallel pipeline build work."
15134
+ },
15135
+ "fqn": "@rio-cloud/cdk-v2-constructs.ParallelBuildProject",
15136
+ "initializer": {
15137
+ "docs": {
15138
+ "stability": "stable"
15139
+ },
15140
+ "locationInModule": {
15141
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15142
+ "line": 142
15143
+ },
15144
+ "parameters": [
15145
+ {
15146
+ "name": "scope",
15147
+ "type": {
15148
+ "fqn": "constructs.Construct"
15149
+ }
15150
+ },
15151
+ {
15152
+ "name": "id",
15153
+ "type": {
15154
+ "primitive": "string"
15155
+ }
15156
+ },
15157
+ {
15158
+ "name": "props",
15159
+ "type": {
15160
+ "fqn": "@rio-cloud/cdk-v2-constructs.ParallelBuildProjectProps"
15161
+ }
15162
+ }
15163
+ ]
15164
+ },
15165
+ "kind": "class",
15166
+ "locationInModule": {
15167
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15168
+ "line": 136
15169
+ },
15170
+ "name": "ParallelBuildProject",
15171
+ "properties": [
15172
+ {
15173
+ "docs": {
15174
+ "stability": "stable",
15175
+ "summary": "Hash of buildspec, project environment, and action-level environment inputs."
15176
+ },
15177
+ "immutable": true,
15178
+ "locationInModule": {
15179
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15180
+ "line": 140
15181
+ },
15182
+ "name": "projectConfigHash",
15183
+ "type": {
15184
+ "primitive": "string"
15185
+ }
15186
+ }
15187
+ ],
15188
+ "symbolId": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project:ParallelBuildProject"
15189
+ },
15190
+ "@rio-cloud/cdk-v2-constructs.ParallelBuildProjectProps": {
15191
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15192
+ "datatype": true,
15193
+ "docs": {
15194
+ "stability": "stable",
15195
+ "summary": "Properties for a CodeBuild project that is injected as a parallel CodePipeline action."
15196
+ },
15197
+ "fqn": "@rio-cloud/cdk-v2-constructs.ParallelBuildProjectProps",
15198
+ "kind": "interface",
15199
+ "locationInModule": {
15200
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15201
+ "line": 17
15202
+ },
15203
+ "name": "ParallelBuildProjectProps",
15204
+ "properties": [
15205
+ {
15206
+ "abstract": true,
15207
+ "docs": {
15208
+ "stability": "stable",
15209
+ "summary": "Path to the buildspec yaml file, resolved from the consuming CDK app's current working directory."
15210
+ },
15211
+ "immutable": true,
15212
+ "locationInModule": {
15213
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15214
+ "line": 21
15215
+ },
15216
+ "name": "buildSpecPath",
15217
+ "type": {
15218
+ "primitive": "string"
15219
+ }
15220
+ },
15221
+ {
15222
+ "abstract": true,
15223
+ "docs": {
15224
+ "stability": "stable",
15225
+ "summary": "Name of the hosted zone."
15226
+ },
15227
+ "immutable": true,
15228
+ "locationInModule": {
15229
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15230
+ "line": 31
15231
+ },
15232
+ "name": "hostedZoneName",
15233
+ "type": {
15234
+ "primitive": "string"
15235
+ }
15236
+ },
15237
+ {
15238
+ "abstract": true,
15239
+ "docs": {
15240
+ "stability": "stable",
15241
+ "summary": "Name of the service."
15242
+ },
15243
+ "immutable": true,
15244
+ "locationInModule": {
15245
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15246
+ "line": 26
15247
+ },
15248
+ "name": "serviceName",
15249
+ "type": {
15250
+ "primitive": "string"
15251
+ }
15252
+ },
15253
+ {
15254
+ "abstract": true,
15255
+ "docs": {
15256
+ "stability": "stable",
15257
+ "summary": "Additional project-level environment variables."
15258
+ },
15259
+ "immutable": true,
15260
+ "locationInModule": {
15261
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15262
+ "line": 67
15263
+ },
15264
+ "name": "additionalEnvironmentVariables",
15265
+ "optional": true,
15266
+ "type": {
15267
+ "collection": {
15268
+ "elementtype": {
15269
+ "fqn": "aws-cdk-lib.aws_codebuild.BuildEnvironmentVariable"
15270
+ },
15271
+ "kind": "map"
15272
+ }
15273
+ }
15274
+ },
15275
+ {
15276
+ "abstract": true,
15277
+ "docs": {
15278
+ "remarks": "Defaults to the ARM Amazon Linux 2023 standard image used by WebEDI-style services.",
15279
+ "stability": "stable",
15280
+ "summary": "Build image for the project."
15281
+ },
15282
+ "immutable": true,
15283
+ "locationInModule": {
15284
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15285
+ "line": 55
15286
+ },
15287
+ "name": "buildImage",
15288
+ "optional": true,
15289
+ "type": {
15290
+ "fqn": "aws-cdk-lib.aws_codebuild.IBuildImage"
15291
+ }
15292
+ },
15293
+ {
15294
+ "abstract": true,
15295
+ "docs": {
15296
+ "stability": "stable",
15297
+ "summary": "Caching strategy to use."
15298
+ },
15299
+ "immutable": true,
15300
+ "locationInModule": {
15301
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15302
+ "line": 48
15303
+ },
15304
+ "name": "cache",
15305
+ "optional": true,
15306
+ "type": {
15307
+ "fqn": "aws-cdk-lib.aws_codebuild.Cache"
15308
+ }
15309
+ },
15310
+ {
15311
+ "abstract": true,
15312
+ "docs": {
15313
+ "remarks": "Defaults to `BUILD_GENERAL1_LARGE`.",
15314
+ "stability": "stable",
15315
+ "summary": "Compute type for the project."
15316
+ },
15317
+ "immutable": true,
15318
+ "locationInModule": {
15319
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15320
+ "line": 62
15321
+ },
15322
+ "name": "computeType",
15323
+ "optional": true,
15324
+ "type": {
15325
+ "fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
15326
+ }
15327
+ },
15328
+ {
15329
+ "abstract": true,
15330
+ "docs": {
15331
+ "stability": "stable",
15332
+ "summary": "Action-level environment values used when calculating `projectConfigHash`."
15333
+ },
15334
+ "immutable": true,
15335
+ "locationInModule": {
15336
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15337
+ "line": 43
15338
+ },
15339
+ "name": "env",
15340
+ "optional": true,
15341
+ "type": {
15342
+ "collection": {
15343
+ "elementtype": {
15344
+ "primitive": "string"
15345
+ },
15346
+ "kind": "map"
15347
+ }
15348
+ }
15349
+ },
15350
+ {
15351
+ "abstract": true,
15352
+ "docs": {
15353
+ "remarks": "When provided, its URI is exposed as `REPO_URI`.",
15354
+ "stability": "stable",
15355
+ "summary": "Repository used by image build steps."
15356
+ },
15357
+ "immutable": true,
15358
+ "locationInModule": {
15359
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project.ts",
15360
+ "line": 38
15361
+ },
15362
+ "name": "repo",
15363
+ "optional": true,
15364
+ "type": {
15365
+ "fqn": "aws-cdk-lib.aws_ecr.IRepository"
15366
+ }
15367
+ }
15368
+ ],
15369
+ "symbolId": "src/contributions/team-shipper-inbound-blue/pipeline/code-build-project:ParallelBuildProjectProps"
15370
+ },
15371
+ "@rio-cloud/cdk-v2-constructs.PipelineBuildActionProps": {
15372
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15373
+ "datatype": true,
15374
+ "docs": {
15375
+ "stability": "stable",
15376
+ "summary": "Properties for a CodeBuild action added by `PipelineBuildStageActions`."
15377
+ },
15378
+ "fqn": "@rio-cloud/cdk-v2-constructs.PipelineBuildActionProps",
15379
+ "interfaces": [
15380
+ "aws-cdk-lib.aws_codepipeline.CommonAwsActionProps"
15381
+ ],
15382
+ "kind": "interface",
15383
+ "locationInModule": {
15384
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15385
+ "line": 25
15386
+ },
15387
+ "name": "PipelineBuildActionProps",
15388
+ "properties": [
15389
+ {
15390
+ "abstract": true,
15391
+ "docs": {
15392
+ "stability": "stable",
15393
+ "summary": "The action's CodeBuild project."
14853
15394
  },
14854
- "name": "READ_THROTTLE_EVENTS"
14855
- },
14856
- {
14857
- "docs": {
14858
- "stability": "stable",
14859
- "summary": "Write throttle events for dynamodb."
15395
+ "immutable": true,
15396
+ "locationInModule": {
15397
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15398
+ "line": 39
14860
15399
  },
14861
- "name": "WRITE_THROTTLE_EVENTS"
15400
+ "name": "project",
15401
+ "type": {
15402
+ "fqn": "aws-cdk-lib.aws_codebuild.IProject"
15403
+ }
14862
15404
  },
14863
15405
  {
15406
+ "abstract": true,
14864
15407
  "docs": {
15408
+ "default": "CodeBuildActionType.BUILD",
14865
15409
  "stability": "stable",
14866
- "summary": "Throttle request evebts for dynamodb."
15410
+ "summary": "The type of CodeBuild action."
14867
15411
  },
14868
- "name": "THROTTLED_REQUESTS_EVENTS"
14869
- },
14870
- {
14871
- "docs": {
14872
- "stability": "stable",
14873
- "summary": "Memory utilization for ECS."
15412
+ "immutable": true,
15413
+ "locationInModule": {
15414
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15415
+ "line": 46
14874
15416
  },
14875
- "name": "MEMORY_UTILIZATION"
15417
+ "name": "actionType",
15418
+ "optional": true,
15419
+ "type": {
15420
+ "fqn": "aws-cdk-lib.aws_codepipeline_actions.CodeBuildActionType"
15421
+ }
14876
15422
  },
14877
15423
  {
15424
+ "abstract": true,
14878
15425
  "docs": {
15426
+ "default": "true",
14879
15427
  "stability": "stable",
14880
- "summary": "Log error monitor for ECS and lambda."
15428
+ "summary": "Whether to check for secrets in plaintext environment variables."
14881
15429
  },
14882
- "name": "LOG_ERROR_MONITOR"
14883
- },
14884
- {
14885
- "docs": {
14886
- "stability": "stable",
14887
- "summary": "Inovation errors with lambda."
15430
+ "immutable": true,
15431
+ "locationInModule": {
15432
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15433
+ "line": 58
14888
15434
  },
14889
- "name": "ERRORS"
15435
+ "name": "checkSecretsInPlainTextEnvVariables",
15436
+ "optional": true,
15437
+ "type": {
15438
+ "primitive": "boolean"
15439
+ }
14890
15440
  },
14891
15441
  {
15442
+ "abstract": true,
14892
15443
  "docs": {
15444
+ "default": "false",
14893
15445
  "stability": "stable",
14894
- "summary": "Throttle metrics for lambda."
15446
+ "summary": "Combine build artifacts for batch builds."
14895
15447
  },
14896
- "name": "THROTTLES"
15448
+ "immutable": true,
15449
+ "locationInModule": {
15450
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15451
+ "line": 72
15452
+ },
15453
+ "name": "combineBatchBuildArtifacts",
15454
+ "optional": true,
15455
+ "type": {
15456
+ "primitive": "boolean"
15457
+ }
14897
15458
  },
14898
15459
  {
15460
+ "abstract": true,
14899
15461
  "docs": {
14900
15462
  "stability": "stable",
14901
- "summary": "Runtime duration metrics for lambda."
15463
+ "summary": "Environment variables to pass to the CodeBuild project when this action executes."
14902
15464
  },
14903
- "name": "DURATION"
15465
+ "immutable": true,
15466
+ "locationInModule": {
15467
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15468
+ "line": 51
15469
+ },
15470
+ "name": "environmentVariables",
15471
+ "optional": true,
15472
+ "type": {
15473
+ "collection": {
15474
+ "elementtype": {
15475
+ "fqn": "aws-cdk-lib.aws_codebuild.BuildEnvironmentVariable"
15476
+ },
15477
+ "kind": "map"
15478
+ }
15479
+ }
14904
15480
  },
14905
15481
  {
15482
+ "abstract": true,
14906
15483
  "docs": {
15484
+ "default": "false",
14907
15485
  "stability": "stable",
14908
- "summary": "Free memory for Document DB and RDS."
15486
+ "summary": "Trigger a batch build."
14909
15487
  },
14910
- "name": "FREEABLE_MEMORY"
15488
+ "immutable": true,
15489
+ "locationInModule": {
15490
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15491
+ "line": 65
15492
+ },
15493
+ "name": "executeBatchBuild",
15494
+ "optional": true,
15495
+ "type": {
15496
+ "primitive": "boolean"
15497
+ }
14911
15498
  },
14912
15499
  {
15500
+ "abstract": true,
14913
15501
  "docs": {
14914
15502
  "stability": "stable",
14915
- "summary": "Connection error metrics for Application load balancer target group."
15503
+ "summary": "The list of additional input artifacts for this action."
14916
15504
  },
14917
- "name": "CONNECTION_ERROR"
15505
+ "immutable": true,
15506
+ "locationInModule": {
15507
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15508
+ "line": 29
15509
+ },
15510
+ "name": "extraInputs",
15511
+ "optional": true,
15512
+ "type": {
15513
+ "collection": {
15514
+ "elementtype": {
15515
+ "fqn": "aws-cdk-lib.aws_codepipeline.Artifact"
15516
+ },
15517
+ "kind": "array"
15518
+ }
15519
+ }
14918
15520
  },
14919
15521
  {
15522
+ "abstract": true,
14920
15523
  "docs": {
14921
15524
  "stability": "stable",
14922
- "summary": "Running fargate tasks monitor."
15525
+ "summary": "The list of output artifacts for this action."
14923
15526
  },
14924
- "name": "RUNNING_TASKS"
15527
+ "immutable": true,
15528
+ "locationInModule": {
15529
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15530
+ "line": 34
15531
+ },
15532
+ "name": "outputs",
15533
+ "optional": true,
15534
+ "type": {
15535
+ "collection": {
15536
+ "elementtype": {
15537
+ "fqn": "aws-cdk-lib.aws_codepipeline.Artifact"
15538
+ },
15539
+ "kind": "array"
15540
+ }
15541
+ }
14925
15542
  }
14926
15543
  ],
14927
- "name": "MonitorType",
14928
- "symbolId": "src/watchful/monitor-type:MonitorType"
15544
+ "symbolId": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions:PipelineBuildActionProps"
14929
15545
  },
14930
- "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate": {
15546
+ "@rio-cloud/cdk-v2-constructs.PipelineBuildStageActions": {
14931
15547
  "assembly": "@rio-cloud/cdk-v2-constructs",
15548
+ "base": "constructs.Construct",
14932
15549
  "docs": {
14933
- "example": " const appStack = new AppStack()\n const template = Template.fromStack(appStack);\n expect(NormalizedTemplate.from(template).toMatchSnapshot();",
14934
- "remarks": "The fromTemplate() method works by applying replacements for specific values with a\nplaceholder value. This is particularly useful because elements like the S3\nkeys for Lambda code assets include hash strings that change with every dependency update. Normalizing\nthese values prevents false negatives during template object comparisons.\n\nCurrent replacements:\n- SHA-256 hash strings (64 alphanumeric characters) are replaced with 'dummy-cdk-asset'.\n- Tags with Key 'dd_cdk_construct' are replaced with 'dummy-datadog-version'.\n- LatestNodeRuntimeMap with 'dummyKey': 'dummyValue'",
14935
15550
  "stability": "stable",
14936
- "summary": "A utility class that normalizes a Template object to simplify template comparisons in tests."
15551
+ "summary": "Adds CodeBuild actions next to an existing action in the same pipeline stage."
14937
15552
  },
14938
- "fqn": "@rio-cloud/cdk-v2-constructs.NormalizedTestTemplate",
15553
+ "fqn": "@rio-cloud/cdk-v2-constructs.PipelineBuildStageActions",
14939
15554
  "initializer": {
14940
15555
  "docs": {
14941
15556
  "stability": "stable"
14942
- }
15557
+ },
15558
+ "locationInModule": {
15559
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15560
+ "line": 89
15561
+ },
15562
+ "parameters": [
15563
+ {
15564
+ "name": "scope",
15565
+ "type": {
15566
+ "fqn": "constructs.Construct"
15567
+ }
15568
+ },
15569
+ {
15570
+ "name": "id",
15571
+ "type": {
15572
+ "primitive": "string"
15573
+ }
15574
+ },
15575
+ {
15576
+ "name": "props",
15577
+ "type": {
15578
+ "fqn": "@rio-cloud/cdk-v2-constructs.PipelineBuildStageActionsProps"
15579
+ }
15580
+ }
15581
+ ]
14943
15582
  },
14944
15583
  "kind": "class",
14945
15584
  "locationInModule": {
14946
- "filename": "src/test/normalized-test-template.ts",
14947
- "line": 20
15585
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15586
+ "line": 78
14948
15587
  },
14949
15588
  "methods": [
14950
15589
  {
14951
15590
  "docs": {
14952
- "stability": "stable"
15591
+ "stability": "stable",
15592
+ "summary": "Adds a CodeBuild action using the located action's first input artifact."
14953
15593
  },
14954
15594
  "locationInModule": {
14955
- "filename": "src/test/normalized-test-template.ts",
14956
- "line": 21
15595
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15596
+ "line": 107
14957
15597
  },
14958
- "name": "fromTemplate",
15598
+ "name": "addBuildAction",
14959
15599
  "parameters": [
14960
15600
  {
14961
- "name": "template",
15601
+ "name": "props",
14962
15602
  "type": {
14963
- "fqn": "aws-cdk-lib.assertions.Template"
15603
+ "fqn": "@rio-cloud/cdk-v2-constructs.PipelineBuildActionProps"
14964
15604
  }
14965
15605
  }
14966
- ],
14967
- "returns": {
14968
- "type": {
14969
- "fqn": "aws-cdk-lib.assertions.Template"
14970
- }
14971
- },
14972
- "static": true
15606
+ ]
14973
15607
  }
14974
15608
  ],
14975
- "name": "NormalizedTestTemplate",
14976
- "symbolId": "src/test/normalized-test-template:NormalizedTestTemplate"
14977
- },
14978
- "@rio-cloud/cdk-v2-constructs.OverrideAlarmThresholdProps": {
14979
- "assembly": "@rio-cloud/cdk-v2-constructs",
14980
- "datatype": true,
14981
- "docs": {
14982
- "stability": "stable"
14983
- },
14984
- "fqn": "@rio-cloud/cdk-v2-constructs.OverrideAlarmThresholdProps",
14985
- "kind": "interface",
14986
- "locationInModule": {
14987
- "filename": "src/watchful/watchful.ts",
14988
- "line": 59
14989
- },
14990
- "name": "OverrideAlarmThresholdProps",
15609
+ "name": "PipelineBuildStageActions",
14991
15610
  "properties": [
14992
15611
  {
14993
- "abstract": true,
14994
15612
  "docs": {
14995
15613
  "stability": "stable",
14996
- "summary": "The scope of the resource for which the threshold needs to be overriden."
15614
+ "summary": "First input artifact of the located action."
14997
15615
  },
14998
15616
  "immutable": true,
14999
15617
  "locationInModule": {
15000
- "filename": "src/watchful/watchful.ts",
15001
- "line": 63
15618
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15619
+ "line": 87
15002
15620
  },
15003
- "name": "monitoredResourceScope",
15621
+ "name": "sourceArtifact",
15004
15622
  "type": {
15005
- "fqn": "constructs.Construct"
15623
+ "fqn": "aws-cdk-lib.aws_codepipeline.Artifact"
15006
15624
  }
15007
15625
  },
15626
+ {
15627
+ "docs": {
15628
+ "stability": "stable",
15629
+ "summary": "Stage that contains the located action."
15630
+ },
15631
+ "immutable": true,
15632
+ "locationInModule": {
15633
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15634
+ "line": 82
15635
+ },
15636
+ "name": "stage",
15637
+ "type": {
15638
+ "fqn": "aws-cdk-lib.aws_codepipeline.IStage"
15639
+ }
15640
+ }
15641
+ ],
15642
+ "symbolId": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions:PipelineBuildStageActions"
15643
+ },
15644
+ "@rio-cloud/cdk-v2-constructs.PipelineBuildStageActionsProps": {
15645
+ "assembly": "@rio-cloud/cdk-v2-constructs",
15646
+ "datatype": true,
15647
+ "docs": {
15648
+ "stability": "stable",
15649
+ "summary": "Properties for locating an existing generated CodePipeline action."
15650
+ },
15651
+ "fqn": "@rio-cloud/cdk-v2-constructs.PipelineBuildStageActionsProps",
15652
+ "kind": "interface",
15653
+ "locationInModule": {
15654
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15655
+ "line": 10
15656
+ },
15657
+ "name": "PipelineBuildStageActionsProps",
15658
+ "properties": [
15008
15659
  {
15009
15660
  "abstract": true,
15010
15661
  "docs": {
15011
- "remarks": "Eg - Errors, Thresholds, LogErrorMonitor",
15012
15662
  "stability": "stable",
15013
- "summary": "Id of the monitor that needs to be overriden."
15663
+ "summary": "Name of the action whose input artifact should be reused."
15014
15664
  },
15015
15665
  "immutable": true,
15016
15666
  "locationInModule": {
15017
- "filename": "src/watchful/watchful.ts",
15018
- "line": 69
15667
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15668
+ "line": 19
15019
15669
  },
15020
- "name": "monitorType",
15670
+ "name": "actionName",
15021
15671
  "type": {
15022
- "fqn": "@rio-cloud/cdk-v2-constructs.MonitorType"
15672
+ "primitive": "string"
15023
15673
  }
15024
15674
  },
15025
15675
  {
15026
15676
  "abstract": true,
15027
15677
  "docs": {
15028
15678
  "stability": "stable",
15029
- "summary": "The threshold that needs to be set."
15679
+ "summary": "The underlying CodePipeline generated by `aws-cdk-lib/pipelines.CodePipeline`."
15030
15680
  },
15031
15681
  "immutable": true,
15032
15682
  "locationInModule": {
15033
- "filename": "src/watchful/watchful.ts",
15034
- "line": 74
15683
+ "filename": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions.ts",
15684
+ "line": 14
15035
15685
  },
15036
- "name": "threshold",
15686
+ "name": "pipeline",
15037
15687
  "type": {
15038
- "primitive": "number"
15688
+ "fqn": "aws-cdk-lib.aws_codepipeline.Pipeline"
15039
15689
  }
15040
15690
  }
15041
15691
  ],
15042
- "symbolId": "src/watchful/watchful:OverrideAlarmThresholdProps"
15692
+ "symbolId": "src/contributions/team-shipper-inbound-blue/pipeline/pipeline-build-stage-actions:PipelineBuildStageActionsProps"
15043
15693
  },
15044
15694
  "@rio-cloud/cdk-v2-constructs.PipelineFeatures": {
15045
15695
  "assembly": "@rio-cloud/cdk-v2-constructs",
@@ -15971,7 +16621,9 @@
15971
16621
  "assembly": "@rio-cloud/cdk-v2-constructs",
15972
16622
  "base": "constructs.Construct",
15973
16623
  "docs": {
15974
- "stability": "stable"
16624
+ "remarks": "This construct bundles the pieces that most RIO backend services need:\nan ECS task definition, the application container, a Datadog sidecar,\noptional FireLens log routing, optional ALB target group wiring, and the\nECS Fargate service itself.\n\nIt also derives Datadog tags and environment variables from `stage`,\n`serviceName`, `version`, the AWS account, and the standard RIO landing-zone\nSSM parameters. Do not set `DD_ENV`, `DD_SERVICE`, `DD_VERSION`, `DD_TAGS`,\nor `DD_LOGS_INJECTION` manually in the application container environment.\n\nUse this construct when you want the RIO paved road for a web-facing or\nservice-style Fargate workload and you want the defaults for observability,\nDatadog service catalog registration, and common AWS wiring to be handled\nfor you.\nIf you need a fully custom ECS setup, or a different deployment strategy\nsuch as blue/green, use a lower-level construct or the blue/green variant\ninstead.\n\nTo use it, provide:\n- `stage`, `serviceName`, and `version` for service identity\n- `vpc` and optionally an existing `cluster`\n- `containerDefinitionOption.image` for the application image\n- `fargateOptions.cpu` and `fargateOptions.memoryLimitMiB` for task sizing\n- optional `datadogOptions`, `frameworks`, and `loadBalancerOptions`\n\nExample:\n```ts\nconst service = new RioFargateService(this, 'Service', {\n stage: 'prod',\n serviceName: 'billing-view',\n version: process.env.GIT_VERSION ?? 'local',\n vpc: RioLandingZone.getDefaultVpc(this),\n containerDefinitionOption: {\n image: ecs.ContainerImage.fromRegistry('example/billing-view:latest'),\n },\n fargateOptions: {\n cpu: 512,\n memoryLimitMiB: 1024,\n },\n});\n```",
16625
+ "stability": "stable",
16626
+ "summary": "Creates an opinionated ECS Fargate service for RIO applications."
15975
16627
  },
15976
16628
  "fqn": "@rio-cloud/cdk-v2-constructs.RioFargateService",
15977
16629
  "initializer": {
@@ -15980,7 +16632,7 @@
15980
16632
  },
15981
16633
  "locationInModule": {
15982
16634
  "filename": "src/fargate/rio-fargate-service.ts",
15983
- "line": 406
16635
+ "line": 451
15984
16636
  },
15985
16637
  "parameters": [
15986
16638
  {
@@ -16009,7 +16661,7 @@
16009
16661
  "kind": "class",
16010
16662
  "locationInModule": {
16011
16663
  "filename": "src/fargate/rio-fargate-service.ts",
16012
- "line": 365
16664
+ "line": 410
16013
16665
  },
16014
16666
  "name": "RioFargateService",
16015
16667
  "properties": [
@@ -16021,7 +16673,7 @@
16021
16673
  "immutable": true,
16022
16674
  "locationInModule": {
16023
16675
  "filename": "src/fargate/rio-fargate-service.ts",
16024
- "line": 402
16676
+ "line": 447
16025
16677
  },
16026
16678
  "name": "connections",
16027
16679
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -16036,7 +16688,7 @@
16036
16688
  "immutable": true,
16037
16689
  "locationInModule": {
16038
16690
  "filename": "src/fargate/rio-fargate-service.ts",
16039
- "line": 398
16691
+ "line": 443
16040
16692
  },
16041
16693
  "name": "datadogSideCarContainerDefinition",
16042
16694
  "type": {
@@ -16050,7 +16702,7 @@
16050
16702
  "immutable": true,
16051
16703
  "locationInModule": {
16052
16704
  "filename": "src/fargate/rio-fargate-service.ts",
16053
- "line": 403
16705
+ "line": 448
16054
16706
  },
16055
16707
  "name": "service",
16056
16708
  "type": {
@@ -16064,7 +16716,7 @@
16064
16716
  "immutable": true,
16065
16717
  "locationInModule": {
16066
16718
  "filename": "src/fargate/rio-fargate-service.ts",
16067
- "line": 397
16719
+ "line": 442
16068
16720
  },
16069
16721
  "name": "serviceContainerDefinition",
16070
16722
  "type": {
@@ -16078,7 +16730,7 @@
16078
16730
  "immutable": true,
16079
16731
  "locationInModule": {
16080
16732
  "filename": "src/fargate/rio-fargate-service.ts",
16081
- "line": 400
16733
+ "line": 445
16082
16734
  },
16083
16735
  "name": "taskDefinition",
16084
16736
  "type": {
@@ -16092,7 +16744,7 @@
16092
16744
  "immutable": true,
16093
16745
  "locationInModule": {
16094
16746
  "filename": "src/fargate/rio-fargate-service.ts",
16095
- "line": 399
16747
+ "line": 444
16096
16748
  },
16097
16749
  "name": "logRouterContainerDefinition",
16098
16750
  "optional": true,
@@ -16107,7 +16759,7 @@
16107
16759
  "immutable": true,
16108
16760
  "locationInModule": {
16109
16761
  "filename": "src/fargate/rio-fargate-service.ts",
16110
- "line": 404
16762
+ "line": 449
16111
16763
  },
16112
16764
  "name": "targetGroup",
16113
16765
  "optional": true,
@@ -16816,8 +17468,9 @@
16816
17468
  "@rio-cloud/cdk-v2-constructs.RioLandingZone": {
16817
17469
  "assembly": "@rio-cloud/cdk-v2-constructs",
16818
17470
  "docs": {
17471
+ "remarks": "Use these helpers instead of hard-coded VPC IDs, hosted-zone IDs, subnet IDs, or standard team/account SSM parameter\nnames.\n\nExample:\n```ts\nconst vpc = RioLandingZone.getDefaultVpc(this);\nconst hostedZone = RioLandingZone.getDefaultHostedZone(this);\nconst teamIdentifier = RioLandingZone.getTeamIdentifierParameter(this).stringValue;\n```",
16819
17472
  "stability": "stable",
16820
- "summary": "A wrapper to access infrastructure provided by RIO LandingZone setup (like VPC, HostedZone)."
17473
+ "summary": "A wrapper to access infrastructure provided by the RIO Landing Zone setup, such as VPC, HostedZone, and standard team/account SSM parameters."
16821
17474
  },
16822
17475
  "fqn": "@rio-cloud/cdk-v2-constructs.RioLandingZone",
16823
17476
  "initializer": {
@@ -16828,7 +17481,7 @@
16828
17481
  "kind": "class",
16829
17482
  "locationInModule": {
16830
17483
  "filename": "src/rio-landing-zone.ts",
16831
- "line": 10
17484
+ "line": 21
16832
17485
  },
16833
17486
  "methods": [
16834
17487
  {
@@ -16837,7 +17490,7 @@
16837
17490
  },
16838
17491
  "locationInModule": {
16839
17492
  "filename": "src/rio-landing-zone.ts",
16840
- "line": 75
17493
+ "line": 86
16841
17494
  },
16842
17495
  "name": "getAccountNameParameter",
16843
17496
  "parameters": [
@@ -16862,7 +17515,7 @@
16862
17515
  },
16863
17516
  "locationInModule": {
16864
17517
  "filename": "src/rio-landing-zone.ts",
16865
- "line": 52
17518
+ "line": 63
16866
17519
  },
16867
17520
  "name": "getDefaultHostedZone",
16868
17521
  "parameters": [
@@ -16887,7 +17540,7 @@
16887
17540
  },
16888
17541
  "locationInModule": {
16889
17542
  "filename": "src/rio-landing-zone.ts",
16890
- "line": 14
17543
+ "line": 25
16891
17544
  },
16892
17545
  "name": "getDefaultVpc",
16893
17546
  "parameters": [
@@ -16911,7 +17564,7 @@
16911
17564
  },
16912
17565
  "locationInModule": {
16913
17566
  "filename": "src/rio-landing-zone.ts",
16914
- "line": 71
17567
+ "line": 82
16915
17568
  },
16916
17569
  "name": "getTeamAlertSlackChannelParameter",
16917
17570
  "parameters": [
@@ -16935,7 +17588,7 @@
16935
17588
  },
16936
17589
  "locationInModule": {
16937
17590
  "filename": "src/rio-landing-zone.ts",
16938
- "line": 67
17591
+ "line": 78
16939
17592
  },
16940
17593
  "name": "getTeamEmailParameter",
16941
17594
  "parameters": [
@@ -16959,7 +17612,7 @@
16959
17612
  },
16960
17613
  "locationInModule": {
16961
17614
  "filename": "src/rio-landing-zone.ts",
16962
- "line": 63
17615
+ "line": 74
16963
17616
  },
16964
17617
  "name": "getTeamIdentifierParameter",
16965
17618
  "parameters": [
@@ -16983,7 +17636,7 @@
16983
17636
  },
16984
17637
  "locationInModule": {
16985
17638
  "filename": "src/rio-landing-zone.ts",
16986
- "line": 59
17639
+ "line": 70
16987
17640
  },
16988
17641
  "name": "getTeamNameParameter",
16989
17642
  "parameters": [
@@ -20286,6 +20939,7 @@
20286
20939
  "@rio-cloud/cdk-v2-constructs.backup.BackupPolicy": {
20287
20940
  "assembly": "@rio-cloud/cdk-v2-constructs",
20288
20941
  "docs": {
20942
+ "remarks": "Apply this to stateful resources that must be discovered by the RIO landing-zone backup solution.\n\nExample:\n```ts\nBackupPolicy.apply(table, Criticality.HIGH);\n```",
20289
20943
  "stability": "stable",
20290
20944
  "summary": "Helper function to tag constructs with correct backup values to be picked up by the rio landing zone backup solution."
20291
20945
  },
@@ -20298,7 +20952,7 @@
20298
20952
  "kind": "class",
20299
20953
  "locationInModule": {
20300
20954
  "filename": "src/backup/backup-policy.ts",
20301
- "line": 17
20955
+ "line": 24
20302
20956
  },
20303
20957
  "methods": [
20304
20958
  {
@@ -20307,7 +20961,7 @@
20307
20961
  },
20308
20962
  "locationInModule": {
20309
20963
  "filename": "src/backup/backup-policy.ts",
20310
- "line": 18
20964
+ "line": 25
20311
20965
  },
20312
20966
  "name": "apply",
20313
20967
  "parameters": [
@@ -24104,7 +24758,7 @@
24104
24758
  },
24105
24759
  "locationInModule": {
24106
24760
  "filename": "src/datadogv2/datadog-slo.ts",
24107
- "line": 103
24761
+ "line": 110
24108
24762
  },
24109
24763
  "parameters": [
24110
24764
  {
@@ -24130,7 +24784,7 @@
24130
24784
  "kind": "class",
24131
24785
  "locationInModule": {
24132
24786
  "filename": "src/datadogv2/datadog-slo.ts",
24133
- "line": 100
24787
+ "line": 107
24134
24788
  },
24135
24789
  "name": "DatadogSlo",
24136
24790
  "namespace": "datadogv2",
@@ -24142,7 +24796,7 @@
24142
24796
  "immutable": true,
24143
24797
  "locationInModule": {
24144
24798
  "filename": "src/datadogv2/datadog-slo.ts",
24145
- "line": 149
24799
+ "line": 156
24146
24800
  },
24147
24801
  "name": "sloId",
24148
24802
  "type": {
@@ -25793,7 +26447,9 @@
25793
26447
  "assembly": "@rio-cloud/cdk-v2-constructs",
25794
26448
  "base": "constructs.Construct",
25795
26449
  "docs": {
25796
- "stability": "stable"
26450
+ "remarks": "This construct bundles the pieces that most RIO backend services need:\nan ECS task definition, the application container, a Datadog sidecar,\noptional FireLens log routing, optional ALB target group wiring, and the\nECS Fargate service itself.\n\nIt also derives Datadog tags and environment variables from `stage`,\n`serviceName`, `version`, the AWS account, and the standard RIO landing-zone\nSSM parameters. Do not set `DD_ENV`, `DD_SERVICE`, `DD_VERSION`, `DD_TAGS`,\nor `DD_LOGS_INJECTION` manually in the application container environment.\n\nUse this construct when you want the RIO paved road for a web-facing or\nservice-style Fargate workload and you want the defaults for observability,\nDatadog service catalog registration, and common AWS wiring to be handled\nfor you.\nIf you need a fully custom ECS setup, or a different deployment strategy\nsuch as blue/green, use a lower-level construct or the blue/green variant\ninstead.\n\nTo use it, provide:\n- `stage`, `serviceName`, and `version` for service identity\n- `vpc` and optionally an existing `cluster`\n- `containerDefinitionOption.image` for the application image\n- `fargateOptions.cpu` and `fargateOptions.memoryLimitMiB` for task sizing\n- optional `datadogOptions`, `frameworks`, and `loadBalancerOptions`\n\nExample:\n```ts\nconst service = new RioFargateService(this, 'Service', {\n stage: 'prod',\n serviceName: 'billing-view',\n version: process.env.GIT_VERSION ?? 'local',\n vpc: RioLandingZone.getDefaultVpc(this),\n containerDefinitionOption: {\n image: ecs.ContainerImage.fromRegistry('example/billing-view:latest'),\n },\n fargateOptions: {\n cpu: 512,\n memoryLimitMiB: 1024,\n },\n});\n```",
26451
+ "stability": "stable",
26452
+ "summary": "Creates an opinionated ECS Fargate service for RIO applications."
25797
26453
  },
25798
26454
  "fqn": "@rio-cloud/cdk-v2-constructs.fargate.RioFargateService",
25799
26455
  "initializer": {
@@ -25802,7 +26458,7 @@
25802
26458
  },
25803
26459
  "locationInModule": {
25804
26460
  "filename": "src/fargate/rio-fargate-service.ts",
25805
- "line": 406
26461
+ "line": 451
25806
26462
  },
25807
26463
  "parameters": [
25808
26464
  {
@@ -25831,7 +26487,7 @@
25831
26487
  "kind": "class",
25832
26488
  "locationInModule": {
25833
26489
  "filename": "src/fargate/rio-fargate-service.ts",
25834
- "line": 365
26490
+ "line": 410
25835
26491
  },
25836
26492
  "name": "RioFargateService",
25837
26493
  "namespace": "fargate",
@@ -25844,7 +26500,7 @@
25844
26500
  "immutable": true,
25845
26501
  "locationInModule": {
25846
26502
  "filename": "src/fargate/rio-fargate-service.ts",
25847
- "line": 402
26503
+ "line": 447
25848
26504
  },
25849
26505
  "name": "connections",
25850
26506
  "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
@@ -25859,7 +26515,7 @@
25859
26515
  "immutable": true,
25860
26516
  "locationInModule": {
25861
26517
  "filename": "src/fargate/rio-fargate-service.ts",
25862
- "line": 398
26518
+ "line": 443
25863
26519
  },
25864
26520
  "name": "datadogSideCarContainerDefinition",
25865
26521
  "type": {
@@ -25873,7 +26529,7 @@
25873
26529
  "immutable": true,
25874
26530
  "locationInModule": {
25875
26531
  "filename": "src/fargate/rio-fargate-service.ts",
25876
- "line": 403
26532
+ "line": 448
25877
26533
  },
25878
26534
  "name": "service",
25879
26535
  "type": {
@@ -25887,7 +26543,7 @@
25887
26543
  "immutable": true,
25888
26544
  "locationInModule": {
25889
26545
  "filename": "src/fargate/rio-fargate-service.ts",
25890
- "line": 397
26546
+ "line": 442
25891
26547
  },
25892
26548
  "name": "serviceContainerDefinition",
25893
26549
  "type": {
@@ -25901,7 +26557,7 @@
25901
26557
  "immutable": true,
25902
26558
  "locationInModule": {
25903
26559
  "filename": "src/fargate/rio-fargate-service.ts",
25904
- "line": 400
26560
+ "line": 445
25905
26561
  },
25906
26562
  "name": "taskDefinition",
25907
26563
  "type": {
@@ -25915,7 +26571,7 @@
25915
26571
  "immutable": true,
25916
26572
  "locationInModule": {
25917
26573
  "filename": "src/fargate/rio-fargate-service.ts",
25918
- "line": 399
26574
+ "line": 444
25919
26575
  },
25920
26576
  "name": "logRouterContainerDefinition",
25921
26577
  "optional": true,
@@ -25930,7 +26586,7 @@
25930
26586
  "immutable": true,
25931
26587
  "locationInModule": {
25932
26588
  "filename": "src/fargate/rio-fargate-service.ts",
25933
- "line": 404
26589
+ "line": 449
25934
26590
  },
25935
26591
  "name": "targetGroup",
25936
26592
  "optional": true,
@@ -27150,8 +27806,9 @@
27150
27806
  "assembly": "@rio-cloud/cdk-v2-constructs",
27151
27807
  "base": "constructs.Construct",
27152
27808
  "docs": {
27809
+ "remarks": "Prefer this construct for new topics. Keep the default retention and partition count unless there is a concrete\noperational requirement to change them. Partition increases are permanent and may require coordination with CLAID\nwhen service limits are exceeded.\n\nExample:\n```ts\nnew KafkaTopicV4(this, 'EventsTopic', {\n name: 'billing-view.events',\n metadata: {\n description: 'Domain events emitted by Billing View.',\n audience: 'company-internal',\n recoveryPolicy: 'recoverable',\n },\n acl: {\n write: ['billing-view'],\n read: ['billing-consumer'],\n },\n isLogCompacted: false,\n});\n```",
27153
27810
  "stability": "stable",
27154
- "summary": "Construct to create a kafka topic."
27811
+ "summary": "Construct to create a version 4 RIO Kafka topic."
27155
27812
  },
27156
27813
  "fqn": "@rio-cloud/cdk-v2-constructs.kafka.KafkaTopicV4",
27157
27814
  "initializer": {
@@ -27160,7 +27817,7 @@
27160
27817
  },
27161
27818
  "locationInModule": {
27162
27819
  "filename": "src/kafka/kafka-topic.ts",
27163
- "line": 281
27820
+ "line": 302
27164
27821
  },
27165
27822
  "parameters": [
27166
27823
  {
@@ -27186,7 +27843,7 @@
27186
27843
  "kind": "class",
27187
27844
  "locationInModule": {
27188
27845
  "filename": "src/kafka/kafka-topic.ts",
27189
- "line": 280
27846
+ "line": 301
27190
27847
  },
27191
27848
  "name": "KafkaTopicV4",
27192
27849
  "namespace": "kafka",
@@ -28278,5 +28935,5 @@
28278
28935
  }
28279
28936
  },
28280
28937
  "version": "0.0.0",
28281
- "fingerprint": "htSiH80vb8mZqAguG/U3h7juRKKLb/zChpLkJiDFqWQ="
28938
+ "fingerprint": "wcpR/g1VxxywWd5SoWGCaeAUBujlAZAJEHSBxLIp3+c="
28282
28939
  }