terraconstructs 0.0.8
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/.envrc +5 -0
- package/.jsii +79780 -0
- package/.mise.toml +8 -0
- package/.nvmrc +1 -0
- package/.terraform-version +1 -0
- package/.terraform.d/plugin-cache/.gitignore +5 -0
- package/LICENSE +674 -0
- package/NOTICE.txt +12 -0
- package/README.md +42 -0
- package/bun.lockb +0 -0
- package/go.mod +158 -0
- package/go.sum +1206 -0
- package/lib/aws/arn.d.ts +187 -0
- package/lib/aws/arn.js +383 -0
- package/lib/aws/aws-construct.d.ts +76 -0
- package/lib/aws/aws-construct.js +38 -0
- package/lib/aws/aws-stack.d.ts +201 -0
- package/lib/aws/aws-stack.js +303 -0
- package/lib/aws/cloudwatch/actions/ec2.d.ts +35 -0
- package/lib/aws/cloudwatch/actions/ec2.js +48 -0
- package/lib/aws/cloudwatch/actions/index.d.ts +2 -0
- package/lib/aws/cloudwatch/actions/index.js +24 -0
- package/lib/aws/cloudwatch/actions/lambda.d.ts +16 -0
- package/lib/aws/cloudwatch/actions/lambda.js +48 -0
- package/lib/aws/cloudwatch/alarm-action.d.ts +23 -0
- package/lib/aws/cloudwatch/alarm-action.js +4 -0
- package/lib/aws/cloudwatch/alarm-base.d.ts +84 -0
- package/lib/aws/cloudwatch/alarm-base.js +64 -0
- package/lib/aws/cloudwatch/alarm-rule.d.ts +61 -0
- package/lib/aws/cloudwatch/alarm-rule.js +116 -0
- package/lib/aws/cloudwatch/alarm-status-widget.d.ts +77 -0
- package/lib/aws/cloudwatch/alarm-status-widget.js +62 -0
- package/lib/aws/cloudwatch/alarm.d.ts +158 -0
- package/lib/aws/cloudwatch/alarm.js +410 -0
- package/lib/aws/cloudwatch/composite-alarm.d.ts +88 -0
- package/lib/aws/cloudwatch/composite-alarm.js +98 -0
- package/lib/aws/cloudwatch/dashboard.d.ts +137 -0
- package/lib/aws/cloudwatch/dashboard.js +141 -0
- package/lib/aws/cloudwatch/data-protection-policy.d.ts +184 -0
- package/lib/aws/cloudwatch/data-protection-policy.js +246 -0
- package/lib/aws/cloudwatch/graph.d.ts +792 -0
- package/lib/aws/cloudwatch/graph.js +537 -0
- package/lib/aws/cloudwatch/index.d.ts +26 -0
- package/lib/aws/cloudwatch/index.js +49 -0
- package/lib/aws/cloudwatch/layout.d.ts +89 -0
- package/lib/aws/cloudwatch/layout.js +147 -0
- package/lib/aws/cloudwatch/log-destinations/index.d.ts +2 -0
- package/lib/aws/cloudwatch/log-destinations/index.js +20 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.d.ts +29 -0
- package/lib/aws/cloudwatch/log-destinations/kinesis.js +52 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.d.ts +22 -0
- package/lib/aws/cloudwatch/log-destinations/lambda.js +46 -0
- package/lib/aws/cloudwatch/log-group.d.ts +453 -0
- package/lib/aws/cloudwatch/log-group.js +350 -0
- package/lib/aws/cloudwatch/log-query.d.ts +91 -0
- package/lib/aws/cloudwatch/log-query.js +85 -0
- package/lib/aws/cloudwatch/log-stream.d.ts +57 -0
- package/lib/aws/cloudwatch/log-stream.js +57 -0
- package/lib/aws/cloudwatch/metric-filter.d.ts +30 -0
- package/lib/aws/cloudwatch/metric-filter.js +69 -0
- package/lib/aws/cloudwatch/metric-types.d.ts +407 -0
- package/lib/aws/cloudwatch/metric-types.js +151 -0
- package/lib/aws/cloudwatch/metric.d.ts +492 -0
- package/lib/aws/cloudwatch/metric.js +493 -0
- package/lib/aws/cloudwatch/pattern.d.ts +195 -0
- package/lib/aws/cloudwatch/pattern.js +412 -0
- package/lib/aws/cloudwatch/policy.d.ts +43 -0
- package/lib/aws/cloudwatch/policy.js +50 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.d.ts +14 -0
- package/lib/aws/cloudwatch/private/drop-empty-object-at-the-end-of-an-array-token.js +37 -0
- package/lib/aws/cloudwatch/private/env-tokens.d.ts +8 -0
- package/lib/aws/cloudwatch/private/env-tokens.js +48 -0
- package/lib/aws/cloudwatch/private/metric-util.d.ts +60 -0
- package/lib/aws/cloudwatch/private/metric-util.js +132 -0
- package/lib/aws/cloudwatch/private/object.d.ts +1 -0
- package/lib/aws/cloudwatch/private/object.js +18 -0
- package/lib/aws/cloudwatch/private/rendering.d.ts +60 -0
- package/lib/aws/cloudwatch/private/rendering.js +181 -0
- package/lib/aws/cloudwatch/private/statistic.d.ts +51 -0
- package/lib/aws/cloudwatch/private/statistic.js +176 -0
- package/lib/aws/cloudwatch/query-definition.d.ts +150 -0
- package/lib/aws/cloudwatch/query-definition.js +114 -0
- package/lib/aws/cloudwatch/stats.d.ts +150 -0
- package/lib/aws/cloudwatch/stats.js +207 -0
- package/lib/aws/cloudwatch/subscription-filter.d.ts +75 -0
- package/lib/aws/cloudwatch/subscription-filter.js +51 -0
- package/lib/aws/cloudwatch/text.d.ts +52 -0
- package/lib/aws/cloudwatch/text.js +53 -0
- package/lib/aws/cloudwatch/variable.d.ts +156 -0
- package/lib/aws/cloudwatch/variable.js +156 -0
- package/lib/aws/cloudwatch/widget.d.ts +62 -0
- package/lib/aws/cloudwatch/widget.js +45 -0
- package/lib/aws/compute/activity.d.ts +81 -0
- package/lib/aws/compute/activity.js +132 -0
- package/lib/aws/compute/architecture.d.ts +33 -0
- package/lib/aws/compute/architecture.js +42 -0
- package/lib/aws/compute/chain.d.ts +52 -0
- package/lib/aws/compute/chain.js +68 -0
- package/lib/aws/compute/condition.d.ts +202 -0
- package/lib/aws/compute/condition.js +409 -0
- package/lib/aws/compute/event-invoke-config.d.ts +74 -0
- package/lib/aws/compute/event-invoke-config.js +63 -0
- package/lib/aws/compute/event-source-filter.d.ts +64 -0
- package/lib/aws/compute/event-source-filter.js +86 -0
- package/lib/aws/compute/event-source-mapping.d.ts +310 -0
- package/lib/aws/compute/event-source-mapping.js +267 -0
- package/lib/aws/compute/event-sources/index.d.ts +4 -0
- package/lib/aws/compute/event-sources/index.js +28 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.d.ts +13 -0
- package/lib/aws/compute/event-sources/s3-onfailure-destination.js +26 -0
- package/lib/aws/compute/event-sources/s3.d.ts +24 -0
- package/lib/aws/compute/event-sources/s3.js +25 -0
- package/lib/aws/compute/event-sources/sqs-dlq.d.ts +13 -0
- package/lib/aws/compute/event-sources/sqs-dlq.js +26 -0
- package/lib/aws/compute/event-sources/sqs.d.ts +75 -0
- package/lib/aws/compute/event-sources/sqs.js +84 -0
- package/lib/aws/compute/fields.d.ts +367 -0
- package/lib/aws/compute/fields.js +546 -0
- package/lib/aws/compute/function-alias.d.ts +148 -0
- package/lib/aws/compute/function-alias.js +176 -0
- package/lib/aws/compute/function-base.d.ts +314 -0
- package/lib/aws/compute/function-base.js +421 -0
- package/lib/aws/compute/function-destination.d.ts +42 -0
- package/lib/aws/compute/function-destination.js +18 -0
- package/lib/aws/compute/function-destinations/event-bridge.d.ts +19 -0
- package/lib/aws/compute/function-destinations/event-bridge.js +46 -0
- package/lib/aws/compute/function-destinations/function.d.ts +34 -0
- package/lib/aws/compute/function-destinations/function.js +55 -0
- package/lib/aws/compute/function-destinations/index.d.ts +3 -0
- package/lib/aws/compute/function-destinations/index.js +22 -0
- package/lib/aws/compute/function-destinations/sqs.d.ts +14 -0
- package/lib/aws/compute/function-destinations/sqs.js +27 -0
- package/lib/aws/compute/function-nodejs.d.ts +55 -0
- package/lib/aws/compute/function-nodejs.js +70 -0
- package/lib/aws/compute/function-permission.d.ts +83 -0
- package/lib/aws/compute/function-permission.js +3 -0
- package/lib/aws/compute/function-url.d.ts +210 -0
- package/lib/aws/compute/function-url.js +148 -0
- package/lib/aws/compute/function-vpc-config.generated.d.ts +36 -0
- package/lib/aws/compute/function-vpc-config.generated.js +3 -0
- package/lib/aws/compute/function.d.ts +492 -0
- package/lib/aws/compute/function.js +692 -0
- package/lib/aws/compute/index.d.ts +42 -0
- package/lib/aws/compute/index.js +64 -0
- package/lib/aws/compute/private/intrinstics.d.ts +86 -0
- package/lib/aws/compute/private/intrinstics.js +220 -0
- package/lib/aws/compute/private/json-path.d.ts +57 -0
- package/lib/aws/compute/private/json-path.js +351 -0
- package/lib/aws/compute/private/util.d.ts +1 -0
- package/lib/aws/compute/private/util.js +38 -0
- package/lib/aws/compute/state-graph.d.ts +100 -0
- package/lib/aws/compute/state-graph.js +177 -0
- package/lib/aws/compute/state-machine-fragment.d.ts +61 -0
- package/lib/aws/compute/state-machine-fragment.js +56 -0
- package/lib/aws/compute/state-machine.d.ts +323 -0
- package/lib/aws/compute/state-machine.js +392 -0
- package/lib/aws/compute/states/choice.d.ts +94 -0
- package/lib/aws/compute/states/choice.js +81 -0
- package/lib/aws/compute/states/custom-state.d.ts +55 -0
- package/lib/aws/compute/states/custom-state.js +114 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.d.ts +64 -0
- package/lib/aws/compute/states/distributed-map/item-batcher.js +58 -0
- package/lib/aws/compute/states/distributed-map/item-reader.d.ts +256 -0
- package/lib/aws/compute/states/distributed-map/item-reader.js +253 -0
- package/lib/aws/compute/states/distributed-map/result-writer.d.ts +41 -0
- package/lib/aws/compute/states/distributed-map/result-writer.js +66 -0
- package/lib/aws/compute/states/distributed-map.d.ts +153 -0
- package/lib/aws/compute/states/distributed-map.js +207 -0
- package/lib/aws/compute/states/fail.d.ts +74 -0
- package/lib/aws/compute/states/fail.js +83 -0
- package/lib/aws/compute/states/map-base.d.ts +145 -0
- package/lib/aws/compute/states/map-base.js +109 -0
- package/lib/aws/compute/states/map.d.ts +76 -0
- package/lib/aws/compute/states/map.js +110 -0
- package/lib/aws/compute/states/parallel.d.ts +113 -0
- package/lib/aws/compute/states/parallel.js +100 -0
- package/lib/aws/compute/states/pass.d.ts +122 -0
- package/lib/aws/compute/states/pass.js +99 -0
- package/lib/aws/compute/states/private/state-type.d.ts +13 -0
- package/lib/aws/compute/states/private/state-type.js +19 -0
- package/lib/aws/compute/states/state.d.ts +276 -0
- package/lib/aws/compute/states/state.js +482 -0
- package/lib/aws/compute/states/succeed.d.ts +51 -0
- package/lib/aws/compute/states/succeed.js +32 -0
- package/lib/aws/compute/states/task-base.d.ts +225 -0
- package/lib/aws/compute/states/task-base.js +160 -0
- package/lib/aws/compute/states/task.d.ts +127 -0
- package/lib/aws/compute/states/task.js +92 -0
- package/lib/aws/compute/states/wait.d.ts +78 -0
- package/lib/aws/compute/states/wait.js +90 -0
- package/lib/aws/compute/step-functions-task.d.ts +78 -0
- package/lib/aws/compute/step-functions-task.js +27 -0
- package/lib/aws/compute/task-credentials.d.ts +45 -0
- package/lib/aws/compute/task-credentials.js +52 -0
- package/lib/aws/compute/task-input.d.ts +86 -0
- package/lib/aws/compute/task-input.js +107 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.d.ts +73 -0
- package/lib/aws/compute/tasks/aws-sdk/call-aws-service.js +69 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.d.ts +74 -0
- package/lib/aws/compute/tasks/eventbridge/put-events.js +94 -0
- package/lib/aws/compute/tasks/http/invoke.d.ts +104 -0
- package/lib/aws/compute/tasks/http/invoke.js +117 -0
- package/lib/aws/compute/tasks/index.d.ts +7 -0
- package/lib/aws/compute/tasks/index.js +42 -0
- package/lib/aws/compute/tasks/lambda/invoke.d.ts +106 -0
- package/lib/aws/compute/tasks/lambda/invoke.js +125 -0
- package/lib/aws/compute/tasks/private/task-utils.d.ts +8 -0
- package/lib/aws/compute/tasks/private/task-utils.js +36 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.d.ts +3 -0
- package/lib/aws/compute/tasks/resource-arn-suffix.js +25 -0
- package/lib/aws/compute/tasks/sqs/send-message.d.ts +62 -0
- package/lib/aws/compute/tasks/sqs/send-message.js +70 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.d.ts +36 -0
- package/lib/aws/compute/tasks/stepfunctions/invoke-activity.js +45 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.d.ts +63 -0
- package/lib/aws/compute/tasks/stepfunctions/start-execution.js +123 -0
- package/lib/aws/compute/types.d.ts +214 -0
- package/lib/aws/compute/types.js +103 -0
- package/lib/aws/compute/util.d.ts +12 -0
- package/lib/aws/compute/util.js +29 -0
- package/lib/aws/edge/certificate.d.ts +144 -0
- package/lib/aws/edge/certificate.js +191 -0
- package/lib/aws/edge/distribution.d.ts +505 -0
- package/lib/aws/edge/distribution.js +444 -0
- package/lib/aws/edge/dns-alias-record-targets.d.ts +29 -0
- package/lib/aws/edge/dns-alias-record-targets.js +46 -0
- package/lib/aws/edge/dns-record.d.ts +536 -0
- package/lib/aws/edge/dns-record.js +532 -0
- package/lib/aws/edge/dns-zone.d.ts +169 -0
- package/lib/aws/edge/dns-zone.js +149 -0
- package/lib/aws/edge/function.d.ts +185 -0
- package/lib/aws/edge/function.js +141 -0
- package/lib/aws/edge/index.d.ts +8 -0
- package/lib/aws/edge/index.js +25 -0
- package/lib/aws/edge/key-value-store.d.ts +162 -0
- package/lib/aws/edge/key-value-store.js +163 -0
- package/lib/aws/edge/origin.d.ts +160 -0
- package/lib/aws/edge/origin.js +245 -0
- package/lib/aws/encryption/alias.d.ts +137 -0
- package/lib/aws/encryption/alias.js +216 -0
- package/lib/aws/encryption/index.d.ts +4 -0
- package/lib/aws/encryption/index.js +21 -0
- package/lib/aws/encryption/key-lookup.d.ts +11 -0
- package/lib/aws/encryption/key-lookup.js +4 -0
- package/lib/aws/encryption/key.d.ts +461 -0
- package/lib/aws/encryption/key.js +586 -0
- package/lib/aws/encryption/private/perms.d.ts +5 -0
- package/lib/aws/encryption/private/perms.js +30 -0
- package/lib/aws/encryption/via-service-principal.d.ts +11 -0
- package/lib/aws/encryption/via-service-principal.js +39 -0
- package/lib/aws/iam/grant.d.ts +221 -0
- package/lib/aws/iam/grant.js +239 -0
- package/lib/aws/iam/identity-base.d.ts +20 -0
- package/lib/aws/iam/identity-base.js +3 -0
- package/lib/aws/iam/index.d.ts +16 -0
- package/lib/aws/iam/index.js +34 -0
- package/lib/aws/iam/managed-policy.d.ts +227 -0
- package/lib/aws/iam/managed-policy.js +237 -0
- package/lib/aws/iam/oidc-provider.d.ts +120 -0
- package/lib/aws/iam/oidc-provider.js +82 -0
- package/lib/aws/iam/policy-document-config.generated.d.ts +78 -0
- package/lib/aws/iam/policy-document-config.generated.js +3 -0
- package/lib/aws/iam/policy-document.d.ts +150 -0
- package/lib/aws/iam/policy-document.js +172 -0
- package/lib/aws/iam/policy-statement-props.generated.d.ts +55 -0
- package/lib/aws/iam/policy-statement-props.generated.js +3 -0
- package/lib/aws/iam/policy-statement.d.ts +451 -0
- package/lib/aws/iam/policy-statement.js +947 -0
- package/lib/aws/iam/policy.d.ts +122 -0
- package/lib/aws/iam/policy.js +192 -0
- package/lib/aws/iam/principals.d.ts +668 -0
- package/lib/aws/iam/principals.js +1032 -0
- package/lib/aws/iam/private/adapter.d.ts +21 -0
- package/lib/aws/iam/private/adapter.js +51 -0
- package/lib/aws/iam/private/assume-role-policy.d.ts +8 -0
- package/lib/aws/iam/private/assume-role-policy.js +27 -0
- package/lib/aws/iam/private/comparable-principal.d.ts +6 -0
- package/lib/aws/iam/private/comparable-principal.js +20 -0
- package/lib/aws/iam/private/immutable-role.d.ts +43 -0
- package/lib/aws/iam/private/immutable-role.js +76 -0
- package/lib/aws/iam/private/imported-role.d.ts +49 -0
- package/lib/aws/iam/private/imported-role.js +103 -0
- package/lib/aws/iam/private/merge-statements.d.ts +44 -0
- package/lib/aws/iam/private/merge-statements.js +214 -0
- package/lib/aws/iam/private/postprocess-policy-document.d.ts +15 -0
- package/lib/aws/iam/private/postprocess-policy-document.js +102 -0
- package/lib/aws/iam/private/util.d.ts +37 -0
- package/lib/aws/iam/private/util.js +87 -0
- package/lib/aws/iam/role.d.ts +425 -0
- package/lib/aws/iam/role.js +407 -0
- package/lib/aws/iam/saml-provider.d.ts +79 -0
- package/lib/aws/iam/saml-provider.js +79 -0
- package/lib/aws/iam/unknown-principal.d.ts +32 -0
- package/lib/aws/iam/unknown-principal.js +45 -0
- package/lib/aws/iam/utils.d.ts +12 -0
- package/lib/aws/iam/utils.js +41 -0
- package/lib/aws/index.d.ts +13 -0
- package/lib/aws/index.js +34 -0
- package/lib/aws/log-retention.d.ts +97 -0
- package/lib/aws/log-retention.js +103 -0
- package/lib/aws/network/index.d.ts +4 -0
- package/lib/aws/network/index.js +21 -0
- package/lib/aws/network/network.d.ts +77 -0
- package/lib/aws/network/network.js +3 -0
- package/lib/aws/network/simple-ipv4-vpc.d.ts +84 -0
- package/lib/aws/network/simple-ipv4-vpc.js +236 -0
- package/lib/aws/network/subnet-group.d.ts +42 -0
- package/lib/aws/network/subnet-group.js +72 -0
- package/lib/aws/network/subnet.d.ts +95 -0
- package/lib/aws/network/subnet.js +123 -0
- package/lib/aws/notify/archive.d.ts +77 -0
- package/lib/aws/notify/archive.js +62 -0
- package/lib/aws/notify/connection.d.ts +276 -0
- package/lib/aws/notify/connection.js +261 -0
- package/lib/aws/notify/event-bus.d.ts +298 -0
- package/lib/aws/notify/event-bus.js +326 -0
- package/lib/aws/notify/event-pattern.d.ts +220 -0
- package/lib/aws/notify/event-pattern.js +197 -0
- package/lib/aws/notify/index.d.ts +15 -0
- package/lib/aws/notify/index.js +35 -0
- package/lib/aws/notify/input.d.ts +126 -0
- package/lib/aws/notify/input.js +282 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.d.ts +68 -0
- package/lib/aws/notify/kinesis-canned-metrics.generated.js +103 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.d.ts +195 -0
- package/lib/aws/notify/kinesis-fixed-canned-metrics.js +155 -0
- package/lib/aws/notify/kinesis-stream.d.ts +705 -0
- package/lib/aws/notify/kinesis-stream.js +541 -0
- package/lib/aws/notify/on-event-options.d.ts +54 -0
- package/lib/aws/notify/on-event-options.js +3 -0
- package/lib/aws/notify/queue-config.generated.d.ts +85 -0
- package/lib/aws/notify/queue-config.generated.js +3 -0
- package/lib/aws/notify/queue-policy.d.ts +35 -0
- package/lib/aws/notify/queue-policy.js +39 -0
- package/lib/aws/notify/queue.d.ts +355 -0
- package/lib/aws/notify/queue.js +305 -0
- package/lib/aws/notify/resource-policy.d.ts +41 -0
- package/lib/aws/notify/resource-policy.js +43 -0
- package/lib/aws/notify/rule.d.ts +153 -0
- package/lib/aws/notify/rule.js +227 -0
- package/lib/aws/notify/schedule.d.ts +83 -0
- package/lib/aws/notify/schedule.js +116 -0
- package/lib/aws/notify/target.d.ts +102 -0
- package/lib/aws/notify/target.js +3 -0
- package/lib/aws/notify/targets/event-bus.d.ts +39 -0
- package/lib/aws/notify/targets/event-bus.js +40 -0
- package/lib/aws/notify/targets/function.d.ts +31 -0
- package/lib/aws/notify/targets/function.js +36 -0
- package/lib/aws/notify/targets/index.d.ts +6 -0
- package/lib/aws/notify/targets/index.js +37 -0
- package/lib/aws/notify/targets/log-group.d.ts +89 -0
- package/lib/aws/notify/targets/log-group.js +110 -0
- package/lib/aws/notify/targets/sqs.d.ts +45 -0
- package/lib/aws/notify/targets/sqs.js +73 -0
- package/lib/aws/notify/targets/state-machine.d.ts +36 -0
- package/lib/aws/notify/targets/state-machine.js +39 -0
- package/lib/aws/notify/targets/util.d.ts +71 -0
- package/lib/aws/notify/targets/util.js +130 -0
- package/lib/aws/notify/util.d.ts +13 -0
- package/lib/aws/notify/util.js +69 -0
- package/lib/aws/provider-config.generated.d.ts +220 -0
- package/lib/aws/provider-config.generated.js +3 -0
- package/lib/aws/storage/bucket-destination.d.ts +41 -0
- package/lib/aws/storage/bucket-destination.js +13 -0
- package/lib/aws/storage/bucket-notifications.d.ts +58 -0
- package/lib/aws/storage/bucket-notifications.js +169 -0
- package/lib/aws/storage/bucket-perms.d.ts +9 -0
- package/lib/aws/storage/bucket-perms.js +33 -0
- package/lib/aws/storage/bucket-policy.d.ts +51 -0
- package/lib/aws/storage/bucket-policy.js +53 -0
- package/lib/aws/storage/bucket-source.d.ts +41 -0
- package/lib/aws/storage/bucket-source.js +79 -0
- package/lib/aws/storage/bucket.d.ts +941 -0
- package/lib/aws/storage/bucket.js +869 -0
- package/lib/aws/storage/cors-config.generated.d.ts +57 -0
- package/lib/aws/storage/cors-config.generated.js +3 -0
- package/lib/aws/storage/cors-rule-config.generated.d.ts +38 -0
- package/lib/aws/storage/cors-rule-config.generated.js +3 -0
- package/lib/aws/storage/index.d.ts +12 -0
- package/lib/aws/storage/index.js +31 -0
- package/lib/aws/storage/lifecycle-config.generated.d.ts +55 -0
- package/lib/aws/storage/lifecycle-config.generated.js +3 -0
- package/lib/aws/storage/notification-targets/function.d.ts +11 -0
- package/lib/aws/storage/notification-targets/function.js +48 -0
- package/lib/aws/storage/notification-targets/index.d.ts +2 -0
- package/lib/aws/storage/notification-targets/index.js +21 -0
- package/lib/aws/storage/notification-targets/queue.d.ts +15 -0
- package/lib/aws/storage/notification-targets/queue.js +58 -0
- package/lib/aws/storage/origin-access-identity.d.ts +91 -0
- package/lib/aws/storage/origin-access-identity.js +76 -0
- package/lib/aws/storage/util.d.ts +40 -0
- package/lib/aws/storage/util.js +85 -0
- package/lib/aws/storage/website-config.generated.d.ts +73 -0
- package/lib/aws/storage/website-config.generated.js +3 -0
- package/lib/aws/util.d.ts +4 -0
- package/lib/aws/util.js +25 -0
- package/lib/construct-base.d.ts +69 -0
- package/lib/construct-base.js +89 -0
- package/lib/duration.d.ts +160 -0
- package/lib/duration.js +327 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +24 -0
- package/lib/private/index.d.ts +2 -0
- package/lib/private/index.js +19 -0
- package/lib/private/terraform-dependables-aspect.d.ts +20 -0
- package/lib/private/terraform-dependables-aspect.js +95 -0
- package/lib/private/unique-resource-name.d.ts +9 -0
- package/lib/private/unique-resource-name.js +145 -0
- package/lib/size.d.ts +146 -0
- package/lib/size.js +220 -0
- package/lib/stack-base.d.ts +188 -0
- package/lib/stack-base.js +183 -0
- package/lib/token.d.ts +32 -0
- package/lib/token.js +54 -0
- package/node_modules/camel-case/LICENSE +21 -0
- package/node_modules/camel-case/README.md +47 -0
- package/node_modules/camel-case/dist/index.d.ts +5 -0
- package/node_modules/camel-case/dist/index.js +23 -0
- package/node_modules/camel-case/dist/index.js.map +1 -0
- package/node_modules/camel-case/dist/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist/index.spec.js +26 -0
- package/node_modules/camel-case/dist/index.spec.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/camel-case/dist.es2015/index.js +17 -0
- package/node_modules/camel-case/dist.es2015/index.js.map +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/camel-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/camel-case/package.json +89 -0
- package/node_modules/capital-case/LICENSE +21 -0
- package/node_modules/capital-case/README.md +37 -0
- package/node_modules/capital-case/dist/index.d.ts +4 -0
- package/node_modules/capital-case/dist/index.js +16 -0
- package/node_modules/capital-case/dist/index.js.map +1 -0
- package/node_modules/capital-case/dist/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist/index.spec.js +24 -0
- package/node_modules/capital-case/dist/index.spec.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/capital-case/dist.es2015/index.js +11 -0
- package/node_modules/capital-case/dist.es2015/index.js.map +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/capital-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/capital-case/package.json +90 -0
- package/node_modules/change-case/LICENSE +21 -0
- package/node_modules/change-case/README.md +44 -0
- package/node_modules/change-case/dist/index.d.ts +11 -0
- package/node_modules/change-case/dist/index.js +15 -0
- package/node_modules/change-case/dist/index.js.map +1 -0
- package/node_modules/change-case/dist/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist/index.spec.js +9 -0
- package/node_modules/change-case/dist/index.spec.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.d.ts +11 -0
- package/node_modules/change-case/dist.es2015/index.js +12 -0
- package/node_modules/change-case/dist.es2015/index.js.map +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/change-case/dist.es2015/index.spec.js +7 -0
- package/node_modules/change-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/change-case/package.json +101 -0
- package/node_modules/constant-case/LICENSE +21 -0
- package/node_modules/constant-case/README.md +37 -0
- package/node_modules/constant-case/dist/index.d.ts +3 -0
- package/node_modules/constant-case/dist/index.js +12 -0
- package/node_modules/constant-case/dist/index.js.map +1 -0
- package/node_modules/constant-case/dist/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist/index.spec.js +26 -0
- package/node_modules/constant-case/dist/index.spec.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/constant-case/dist.es2015/index.js +8 -0
- package/node_modules/constant-case/dist.es2015/index.js.map +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/constant-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/constant-case/package.json +90 -0
- package/node_modules/dot-case/LICENSE +21 -0
- package/node_modules/dot-case/README.md +37 -0
- package/node_modules/dot-case/dist/index.d.ts +3 -0
- package/node_modules/dot-case/dist/index.js +11 -0
- package/node_modules/dot-case/dist/index.js.map +1 -0
- package/node_modules/dot-case/dist/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist/index.spec.js +26 -0
- package/node_modules/dot-case/dist/index.spec.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/dot-case/dist.es2015/index.js +7 -0
- package/node_modules/dot-case/dist.es2015/index.js.map +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js +24 -0
- package/node_modules/dot-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/dot-case/package.json +89 -0
- package/node_modules/esbuild-wasm/LICENSE.md +21 -0
- package/node_modules/esbuild-wasm/README.md +3 -0
- package/node_modules/esbuild-wasm/bin/esbuild +91 -0
- package/node_modules/esbuild-wasm/esbuild.wasm +0 -0
- package/node_modules/esbuild-wasm/esm/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/esm/browser.js +2370 -0
- package/node_modules/esbuild-wasm/esm/browser.min.js +20 -0
- package/node_modules/esbuild-wasm/lib/browser.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/browser.js +2415 -0
- package/node_modules/esbuild-wasm/lib/browser.min.js +22 -0
- package/node_modules/esbuild-wasm/lib/main.d.ts +705 -0
- package/node_modules/esbuild-wasm/lib/main.js +2051 -0
- package/node_modules/esbuild-wasm/package.json +19 -0
- package/node_modules/esbuild-wasm/wasm_exec.js +561 -0
- package/node_modules/esbuild-wasm/wasm_exec_node.js +39 -0
- package/node_modules/header-case/LICENSE +21 -0
- package/node_modules/header-case/README.md +37 -0
- package/node_modules/header-case/dist/index.d.ts +3 -0
- package/node_modules/header-case/dist/index.js +11 -0
- package/node_modules/header-case/dist/index.js.map +1 -0
- package/node_modules/header-case/dist/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist/index.spec.js +24 -0
- package/node_modules/header-case/dist/index.spec.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/header-case/dist.es2015/index.js +7 -0
- package/node_modules/header-case/dist.es2015/index.js.map +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/header-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/header-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/header-case/package.json +89 -0
- package/node_modules/lower-case/LICENSE +21 -0
- package/node_modules/lower-case/README.md +35 -0
- package/node_modules/lower-case/dist/index.d.ts +8 -0
- package/node_modules/lower-case/dist/index.js +53 -0
- package/node_modules/lower-case/dist/index.js.map +1 -0
- package/node_modules/lower-case/dist/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist/index.spec.js +36 -0
- package/node_modules/lower-case/dist/index.spec.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/lower-case/dist.es2015/index.js +48 -0
- package/node_modules/lower-case/dist.es2015/index.js.map +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js +34 -0
- package/node_modules/lower-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/lower-case/package.json +87 -0
- package/node_modules/mime-db/HISTORY.md +507 -0
- package/node_modules/mime-db/LICENSE +23 -0
- package/node_modules/mime-db/README.md +100 -0
- package/node_modules/mime-db/db.json +8519 -0
- package/node_modules/mime-db/index.js +12 -0
- package/node_modules/mime-db/package.json +60 -0
- package/node_modules/mime-types/HISTORY.md +397 -0
- package/node_modules/mime-types/LICENSE +23 -0
- package/node_modules/mime-types/README.md +113 -0
- package/node_modules/mime-types/index.js +188 -0
- package/node_modules/mime-types/package.json +44 -0
- package/node_modules/no-case/LICENSE +21 -0
- package/node_modules/no-case/README.md +37 -0
- package/node_modules/no-case/dist/index.d.ts +10 -0
- package/node_modules/no-case/dist/index.js +35 -0
- package/node_modules/no-case/dist/index.js.map +1 -0
- package/node_modules/no-case/dist/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist/index.spec.js +59 -0
- package/node_modules/no-case/dist/index.spec.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.d.ts +10 -0
- package/node_modules/no-case/dist.es2015/index.js +31 -0
- package/node_modules/no-case/dist.es2015/index.js.map +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/no-case/dist.es2015/index.spec.js +57 -0
- package/node_modules/no-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/no-case/package.json +85 -0
- package/node_modules/param-case/LICENSE +21 -0
- package/node_modules/param-case/README.md +37 -0
- package/node_modules/param-case/dist/index.d.ts +3 -0
- package/node_modules/param-case/dist/index.js +11 -0
- package/node_modules/param-case/dist/index.js.map +1 -0
- package/node_modules/param-case/dist/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist/index.spec.js +24 -0
- package/node_modules/param-case/dist/index.spec.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/param-case/dist.es2015/index.js +7 -0
- package/node_modules/param-case/dist.es2015/index.js.map +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/param-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/param-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/param-case/package.json +91 -0
- package/node_modules/pascal-case/LICENSE +21 -0
- package/node_modules/pascal-case/README.md +47 -0
- package/node_modules/pascal-case/dist/index.d.ts +5 -0
- package/node_modules/pascal-case/dist/index.js +24 -0
- package/node_modules/pascal-case/dist/index.js.map +1 -0
- package/node_modules/pascal-case/dist/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist/index.spec.js +25 -0
- package/node_modules/pascal-case/dist/index.spec.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.d.ts +5 -0
- package/node_modules/pascal-case/dist.es2015/index.js +18 -0
- package/node_modules/pascal-case/dist.es2015/index.js.map +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/pascal-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/pascal-case/package.json +90 -0
- package/node_modules/path-case/LICENSE +21 -0
- package/node_modules/path-case/README.md +37 -0
- package/node_modules/path-case/dist/index.d.ts +3 -0
- package/node_modules/path-case/dist/index.js +11 -0
- package/node_modules/path-case/dist/index.js.map +1 -0
- package/node_modules/path-case/dist/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist/index.spec.js +24 -0
- package/node_modules/path-case/dist/index.spec.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/path-case/dist.es2015/index.js +7 -0
- package/node_modules/path-case/dist.es2015/index.js.map +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/path-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/path-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/path-case/package.json +88 -0
- package/node_modules/sentence-case/LICENSE +21 -0
- package/node_modules/sentence-case/README.md +37 -0
- package/node_modules/sentence-case/dist/index.d.ts +4 -0
- package/node_modules/sentence-case/dist/index.js +19 -0
- package/node_modules/sentence-case/dist/index.js.map +1 -0
- package/node_modules/sentence-case/dist/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist/index.spec.js +24 -0
- package/node_modules/sentence-case/dist/index.spec.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.d.ts +4 -0
- package/node_modules/sentence-case/dist.es2015/index.js +14 -0
- package/node_modules/sentence-case/dist.es2015/index.js.map +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js +22 -0
- package/node_modules/sentence-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/sentence-case/package.json +89 -0
- package/node_modules/snake-case/LICENSE +21 -0
- package/node_modules/snake-case/README.md +37 -0
- package/node_modules/snake-case/dist/index.d.ts +3 -0
- package/node_modules/snake-case/dist/index.js +11 -0
- package/node_modules/snake-case/dist/index.js.map +1 -0
- package/node_modules/snake-case/dist/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist/index.spec.js +25 -0
- package/node_modules/snake-case/dist/index.spec.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.d.ts +3 -0
- package/node_modules/snake-case/dist.es2015/index.js +7 -0
- package/node_modules/snake-case/dist.es2015/index.js.map +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js +23 -0
- package/node_modules/snake-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/snake-case/package.json +90 -0
- package/node_modules/tslib/CopyrightNotice.txt +15 -0
- package/node_modules/tslib/LICENSE.txt +12 -0
- package/node_modules/tslib/README.md +164 -0
- package/node_modules/tslib/SECURITY.md +41 -0
- package/node_modules/tslib/modules/index.d.ts +37 -0
- package/node_modules/tslib/modules/index.js +68 -0
- package/node_modules/tslib/modules/package.json +3 -0
- package/node_modules/tslib/package.json +47 -0
- package/node_modules/tslib/tslib.d.ts +453 -0
- package/node_modules/tslib/tslib.es6.html +1 -0
- package/node_modules/tslib/tslib.es6.js +374 -0
- package/node_modules/tslib/tslib.es6.mjs +373 -0
- package/node_modules/tslib/tslib.html +1 -0
- package/node_modules/tslib/tslib.js +424 -0
- package/node_modules/upper-case/README.md +34 -0
- package/node_modules/upper-case/dist/index.d.ts +8 -0
- package/node_modules/upper-case/dist/index.js +49 -0
- package/node_modules/upper-case/dist/index.js.map +1 -0
- package/node_modules/upper-case/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist/index.spec.js +34 -0
- package/node_modules/upper-case/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.d.ts +8 -0
- package/node_modules/upper-case/dist.es2015/index.js +44 -0
- package/node_modules/upper-case/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js +32 -0
- package/node_modules/upper-case/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case/package.json +86 -0
- package/node_modules/upper-case-first/LICENSE +21 -0
- package/node_modules/upper-case-first/README.md +32 -0
- package/node_modules/upper-case-first/dist/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist/index.js +11 -0
- package/node_modules/upper-case-first/dist/index.js.map +1 -0
- package/node_modules/upper-case-first/dist/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist/index.spec.js +20 -0
- package/node_modules/upper-case-first/dist/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.d.ts +4 -0
- package/node_modules/upper-case-first/dist.es2015/index.js +7 -0
- package/node_modules/upper-case-first/dist.es2015/index.js.map +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.d.ts +1 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js +18 -0
- package/node_modules/upper-case-first/dist.es2015/index.spec.js.map +1 -0
- package/node_modules/upper-case-first/package.json +87 -0
- package/package.json +152 -0
- package/setup.js +2 -0
|
@@ -0,0 +1,453 @@
|
|
|
1
|
+
import { cloudwatchLogGroup } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { AwsConstructBase, AwsConstructProps } from "../aws-construct";
|
|
4
|
+
import { RetentionDays } from "../log-retention";
|
|
5
|
+
import { DataProtectionPolicy } from "./data-protection-policy";
|
|
6
|
+
import { LogStream } from "./log-stream";
|
|
7
|
+
import { Metric, MetricOptions } from "./metric";
|
|
8
|
+
import { MetricFilter } from "./metric-filter";
|
|
9
|
+
import { Unit } from "./metric-types";
|
|
10
|
+
import { IFilterPattern } from "./pattern";
|
|
11
|
+
import { ILogSubscriptionDestination, SubscriptionFilter } from "./subscription-filter";
|
|
12
|
+
import * as kms from "../encryption";
|
|
13
|
+
import * as iam from "../iam";
|
|
14
|
+
/**
|
|
15
|
+
* Outputs which may be registered for output via the Grid.
|
|
16
|
+
*/
|
|
17
|
+
export interface LogGroupOutputs {
|
|
18
|
+
/**
|
|
19
|
+
* The arn of this log group
|
|
20
|
+
* @attribute
|
|
21
|
+
*/
|
|
22
|
+
readonly logGroupArn: string;
|
|
23
|
+
/**
|
|
24
|
+
* The name of this log group
|
|
25
|
+
* @attribute
|
|
26
|
+
*/
|
|
27
|
+
readonly logGroupName: string;
|
|
28
|
+
}
|
|
29
|
+
export interface ILogGroup extends iam.IAwsConstructWithPolicy {
|
|
30
|
+
/** Strongly typed outputs */
|
|
31
|
+
readonly logGroupOutputs: LogGroupOutputs;
|
|
32
|
+
/**
|
|
33
|
+
* The ARN of this log group, with ':*' appended
|
|
34
|
+
*
|
|
35
|
+
* @attribute
|
|
36
|
+
*/
|
|
37
|
+
readonly logGroupArn: string;
|
|
38
|
+
/**
|
|
39
|
+
* The name of this log group
|
|
40
|
+
* @attribute
|
|
41
|
+
*/
|
|
42
|
+
readonly logGroupName: string;
|
|
43
|
+
/**
|
|
44
|
+
* Create a new Log Stream for this Log Group
|
|
45
|
+
*
|
|
46
|
+
* @param id Unique identifier for the construct in its parent
|
|
47
|
+
* @param props Properties for creating the LogStream
|
|
48
|
+
*/
|
|
49
|
+
addStream(id: string, props?: StreamOptions): LogStream;
|
|
50
|
+
/**
|
|
51
|
+
* Create a new Subscription Filter on this Log Group
|
|
52
|
+
*
|
|
53
|
+
* @param id Unique identifier for the construct in its parent
|
|
54
|
+
* @param props Properties for creating the SubscriptionFilter
|
|
55
|
+
*/
|
|
56
|
+
addSubscriptionFilter(id: string, props: SubscriptionFilterOptions): SubscriptionFilter;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new Metric Filter on this Log Group
|
|
59
|
+
*
|
|
60
|
+
* @param id Unique identifier for the construct in its parent
|
|
61
|
+
* @param props Properties for creating the MetricFilter
|
|
62
|
+
*/
|
|
63
|
+
addMetricFilter(id: string, props: MetricFilterOptions): MetricFilter;
|
|
64
|
+
/**
|
|
65
|
+
* Extract a metric from structured log events in the LogGroup
|
|
66
|
+
*
|
|
67
|
+
* Creates a MetricFilter on this LogGroup that will extract the value
|
|
68
|
+
* of the indicated JSON field in all records where it occurs.
|
|
69
|
+
*
|
|
70
|
+
* The metric will be available in CloudWatch Metrics under the
|
|
71
|
+
* indicated namespace and name.
|
|
72
|
+
*
|
|
73
|
+
* @param jsonField JSON field to extract (example: '$.myfield')
|
|
74
|
+
* @param metricNamespace Namespace to emit the metric under
|
|
75
|
+
* @param metricName Name to emit the metric under
|
|
76
|
+
* @returns A Metric object representing the extracted metric
|
|
77
|
+
*/
|
|
78
|
+
extractMetric(jsonField: string, metricNamespace: string, metricName: string): Metric;
|
|
79
|
+
/**
|
|
80
|
+
* Give permissions to write to create and write to streams in this log group
|
|
81
|
+
*/
|
|
82
|
+
grantWrite(grantee: iam.IGrantable): iam.Grant;
|
|
83
|
+
/**
|
|
84
|
+
* Give permissions to read from this log group and streams
|
|
85
|
+
*/
|
|
86
|
+
grantRead(grantee: iam.IGrantable): iam.Grant;
|
|
87
|
+
/**
|
|
88
|
+
* Give the indicated permissions on this log group and all streams
|
|
89
|
+
*/
|
|
90
|
+
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
|
|
91
|
+
/**
|
|
92
|
+
* Public method to get the physical name of this log group
|
|
93
|
+
*/
|
|
94
|
+
logGroupPhysicalName(): string;
|
|
95
|
+
/**
|
|
96
|
+
* Return the given named metric for this Log Group
|
|
97
|
+
*
|
|
98
|
+
* @param metricName The name of the metric
|
|
99
|
+
* @param props Properties for the metric
|
|
100
|
+
*/
|
|
101
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
102
|
+
/**
|
|
103
|
+
* The number of log events uploaded to CloudWatch Logs.
|
|
104
|
+
* When used with the LogGroupName dimension, this is the number of
|
|
105
|
+
* log events uploaded to the log group.
|
|
106
|
+
*
|
|
107
|
+
* @param props Properties for the Cloudwatch metric
|
|
108
|
+
*/
|
|
109
|
+
metricIncomingLogEvents(props?: MetricOptions): Metric;
|
|
110
|
+
/**
|
|
111
|
+
* The volume of log events in uncompressed bytes uploaded to CloudWatch Logs.
|
|
112
|
+
* When used with the LogGroupName dimension, this is the volume of log events
|
|
113
|
+
* in uncompressed bytes uploaded to the log group.
|
|
114
|
+
*
|
|
115
|
+
* @param props Properties for the Cloudwatch metric
|
|
116
|
+
*/
|
|
117
|
+
metricIncomingBytes(props?: MetricOptions): Metric;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* An CloudWatch Log Group
|
|
121
|
+
*/
|
|
122
|
+
declare abstract class LogGroupBase extends AwsConstructBase implements ILogGroup {
|
|
123
|
+
/**
|
|
124
|
+
* The ARN of this log group, with ':*' appended
|
|
125
|
+
*/
|
|
126
|
+
abstract readonly logGroupArn: string;
|
|
127
|
+
/**
|
|
128
|
+
* The name of this log group
|
|
129
|
+
*/
|
|
130
|
+
abstract readonly logGroupName: string;
|
|
131
|
+
get logGroupOutputs(): LogGroupOutputs;
|
|
132
|
+
get outputs(): Record<string, any>;
|
|
133
|
+
private policy?;
|
|
134
|
+
/**
|
|
135
|
+
* Create a new Log Stream for this Log Group
|
|
136
|
+
*
|
|
137
|
+
* @param id Unique identifier for the construct in its parent
|
|
138
|
+
* @param props Properties for creating the LogStream
|
|
139
|
+
*/
|
|
140
|
+
addStream(id: string, props?: StreamOptions): LogStream;
|
|
141
|
+
/**
|
|
142
|
+
* Create a new Subscription Filter on this Log Group
|
|
143
|
+
*
|
|
144
|
+
* @param id Unique identifier for the construct in its parent
|
|
145
|
+
* @param props Properties for creating the SubscriptionFilter
|
|
146
|
+
*/
|
|
147
|
+
addSubscriptionFilter(id: string, props: SubscriptionFilterOptions): SubscriptionFilter;
|
|
148
|
+
/**
|
|
149
|
+
* Create a new Metric Filter on this Log Group
|
|
150
|
+
*
|
|
151
|
+
* @param id Unique identifier for the construct in its parent
|
|
152
|
+
* @param props Properties for creating the MetricFilter
|
|
153
|
+
*/
|
|
154
|
+
addMetricFilter(id: string, props: MetricFilterOptions): MetricFilter;
|
|
155
|
+
/**
|
|
156
|
+
* Extract a metric from structured log events in the LogGroup
|
|
157
|
+
*
|
|
158
|
+
* Creates a MetricFilter on this LogGroup that will extract the value
|
|
159
|
+
* of the indicated JSON field in all records where it occurs.
|
|
160
|
+
*
|
|
161
|
+
* The metric will be available in CloudWatch Metrics under the
|
|
162
|
+
* indicated namespace and name.
|
|
163
|
+
*
|
|
164
|
+
* @param jsonField JSON field to extract (example: '$.myfield')
|
|
165
|
+
* @param metricNamespace Namespace to emit the metric under
|
|
166
|
+
* @param metricName Name to emit the metric under
|
|
167
|
+
* @returns A Metric object representing the extracted metric
|
|
168
|
+
*/
|
|
169
|
+
extractMetric(jsonField: string, metricNamespace: string, metricName: string): Metric;
|
|
170
|
+
/**
|
|
171
|
+
* Give permissions to create and write to streams in this log group
|
|
172
|
+
*/
|
|
173
|
+
grantWrite(grantee: iam.IGrantable): iam.Grant;
|
|
174
|
+
/**
|
|
175
|
+
* Give permissions to read and filter events from this log group
|
|
176
|
+
*/
|
|
177
|
+
grantRead(grantee: iam.IGrantable): iam.Grant;
|
|
178
|
+
/**
|
|
179
|
+
* Give the indicated permissions on this log group and all streams
|
|
180
|
+
*/
|
|
181
|
+
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
|
|
182
|
+
/**
|
|
183
|
+
* Public method to get the physical name of this log group
|
|
184
|
+
* @returns Physical name of log group
|
|
185
|
+
*/
|
|
186
|
+
logGroupPhysicalName(): string;
|
|
187
|
+
/**
|
|
188
|
+
* Adds a statement to the resource policy associated with this log group.
|
|
189
|
+
* A resource policy will be automatically created upon the first call to `addToResourcePolicy`.
|
|
190
|
+
*
|
|
191
|
+
* Any ARN Principals inside of the statement will be converted into AWS Account ID strings
|
|
192
|
+
* because CloudWatch Logs Resource Policies do not accept ARN principals.
|
|
193
|
+
*
|
|
194
|
+
* @param statement The policy statement to add
|
|
195
|
+
*/
|
|
196
|
+
addToResourcePolicy(statement: iam.PolicyStatement): iam.AddToResourcePolicyResult;
|
|
197
|
+
private convertArnPrincipalToAccountId;
|
|
198
|
+
/**
|
|
199
|
+
* Creates a CloudWatch metric for the number of incoming log events to this log group.
|
|
200
|
+
*
|
|
201
|
+
* @param props - Optional. Configuration options for the metric.
|
|
202
|
+
* @returns A CloudWatch Metric object representing the IncomingLogEvents metric.
|
|
203
|
+
*
|
|
204
|
+
* This method allows you to monitor the rate at which log events are being ingested
|
|
205
|
+
* into the log group. It's useful for understanding the volume of logging activity
|
|
206
|
+
* and can help in capacity planning or detecting unusual spikes in logging.
|
|
207
|
+
*
|
|
208
|
+
* Example usage:
|
|
209
|
+
* ```
|
|
210
|
+
* const logGroup = new logs.LogGroup(this, 'MyLogGroup');
|
|
211
|
+
* logGroup.metricIncomingLogEvents().createAlarm(stack, 'IncomingEventsPerInstanceAlarm', {
|
|
212
|
+
* threshold: 1,
|
|
213
|
+
* evaluationPeriods: 1,
|
|
214
|
+
* });
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
metricIncomingLogEvents(props?: MetricOptions): Metric;
|
|
218
|
+
/**
|
|
219
|
+
* Creates a CloudWatch metric for the volume of incoming log data in bytes to this log group.
|
|
220
|
+
*
|
|
221
|
+
* @param props - Optional. Configuration options for the metric.
|
|
222
|
+
* @returns A CloudWatch Metric object representing the IncomingBytes metric.
|
|
223
|
+
*
|
|
224
|
+
* This method allows you to monitor the volume of data being ingested into the log group.
|
|
225
|
+
* It's useful for understanding the size of your logs, which can impact storage costs
|
|
226
|
+
* and help in identifying unexpectedly large log entries.
|
|
227
|
+
*
|
|
228
|
+
* Example usage:
|
|
229
|
+
* ```
|
|
230
|
+
* const logGroup = new logs.LogGroup(this, 'MyLogGroup');
|
|
231
|
+
* logGroup.metricIncomingBytes().createAlarm(stack, 'IncomingBytesPerInstanceAlarm', {
|
|
232
|
+
* threshold: 1,
|
|
233
|
+
* evaluationPeriods: 1,
|
|
234
|
+
* });
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
metricIncomingBytes(props?: MetricOptions): Metric;
|
|
238
|
+
/**
|
|
239
|
+
* Creates a CloudWatch metric for this log group.
|
|
240
|
+
*
|
|
241
|
+
* @param metricName - The name of the metric to create.
|
|
242
|
+
* @param props - Optional. Additional properties to configure the metric.
|
|
243
|
+
* @returns A CloudWatch Metric object representing the specified metric for this log group.
|
|
244
|
+
*
|
|
245
|
+
* This method creates a CloudWatch Metric object with predefined settings for the log group.
|
|
246
|
+
* It sets the namespace to 'AWS/Logs' and the statistic to 'Sum' by default.
|
|
247
|
+
*
|
|
248
|
+
* The created metric is automatically associated with this log group using the `attachTo` method.
|
|
249
|
+
*
|
|
250
|
+
* Common metric names for log groups include:
|
|
251
|
+
* - 'IncomingBytes': The volume of log data in bytes ingested into the log group.
|
|
252
|
+
* - 'IncomingLogEvents': The number of log events ingested into the log group.
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
metric(metricName: string, props?: MetricOptions): Metric;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Class of Log Group.
|
|
259
|
+
*/
|
|
260
|
+
export declare enum LogGroupClass {
|
|
261
|
+
/**
|
|
262
|
+
* Default class of logs services
|
|
263
|
+
*/
|
|
264
|
+
STANDARD = "STANDARD",
|
|
265
|
+
/**
|
|
266
|
+
* Class for reduced logs services
|
|
267
|
+
*/
|
|
268
|
+
INFREQUENT_ACCESS = "INFREQUENT_ACCESS"
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Properties for a LogGroup
|
|
272
|
+
*/
|
|
273
|
+
export interface LogGroupProps extends AwsConstructProps {
|
|
274
|
+
/**
|
|
275
|
+
* The KMS customer managed key to encrypt the log group with.
|
|
276
|
+
*
|
|
277
|
+
* @default Server-side encryption managed by the CloudWatch Logs service
|
|
278
|
+
*/
|
|
279
|
+
readonly encryptionKey?: kms.IKey;
|
|
280
|
+
/**
|
|
281
|
+
* Name of the log group.
|
|
282
|
+
*
|
|
283
|
+
* @default Automatically generated
|
|
284
|
+
*/
|
|
285
|
+
readonly logGroupName?: string;
|
|
286
|
+
/**
|
|
287
|
+
* Data Protection Policy for this log group.
|
|
288
|
+
*
|
|
289
|
+
* @default - no data protection policy
|
|
290
|
+
*/
|
|
291
|
+
readonly dataProtectionPolicy?: DataProtectionPolicy;
|
|
292
|
+
/**
|
|
293
|
+
* How long, in days, the log contents will be retained.
|
|
294
|
+
*
|
|
295
|
+
* To retain all logs, set this value to RetentionDays.INFINITE.
|
|
296
|
+
*
|
|
297
|
+
* @default RetentionDays.TWO_YEARS
|
|
298
|
+
*/
|
|
299
|
+
readonly retention?: RetentionDays;
|
|
300
|
+
/**
|
|
301
|
+
* Set to true if you do not wish the log group (and any logs it may contain) to be deleted at destroy time, and instead just remove the log group from the Terraform state.
|
|
302
|
+
*
|
|
303
|
+
* @default false - unless `retention` is set to RetentionDays.INFINITE, in which case this is set to true
|
|
304
|
+
*/
|
|
305
|
+
readonly skipDestroy?: boolean;
|
|
306
|
+
/**
|
|
307
|
+
* The class of the log group. Possible values are: STANDARD and INFREQUENT_ACCESS.
|
|
308
|
+
*
|
|
309
|
+
* INFREQUENT_ACCESS class provides customers a cost-effective way to consolidate
|
|
310
|
+
* logs which supports querying using Logs Insights. The logGroupClass property cannot
|
|
311
|
+
* be changed once the log group is created.
|
|
312
|
+
*
|
|
313
|
+
* @default LogGroupClass.STANDARD
|
|
314
|
+
*/
|
|
315
|
+
readonly logGroupClass?: LogGroupClass;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* The method used to distribute log data to the destination.
|
|
319
|
+
*/
|
|
320
|
+
export declare enum Distribution {
|
|
321
|
+
/**
|
|
322
|
+
* Log events from the same log stream are kept together and sent to the same destination.
|
|
323
|
+
*/
|
|
324
|
+
BY_LOG_STREAM = "ByLogStream",
|
|
325
|
+
/**
|
|
326
|
+
* Log events are distributed across the log destinations randomly.
|
|
327
|
+
*/
|
|
328
|
+
RANDOM = "Random"
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Define a CloudWatch Log Group
|
|
332
|
+
*/
|
|
333
|
+
export declare class LogGroup extends LogGroupBase {
|
|
334
|
+
/**
|
|
335
|
+
* Import an existing LogGroup given its ARN
|
|
336
|
+
*/
|
|
337
|
+
static fromLogGroupArn(scope: Construct, id: string, logGroupArn: string): ILogGroup;
|
|
338
|
+
/**
|
|
339
|
+
* Import an existing LogGroup given its name
|
|
340
|
+
*/
|
|
341
|
+
static fromLogGroupName(scope: Construct, id: string, logGroupName: string): ILogGroup;
|
|
342
|
+
readonly resource: cloudwatchLogGroup.CloudwatchLogGroup;
|
|
343
|
+
/**
|
|
344
|
+
* The ARN of this log group
|
|
345
|
+
*/
|
|
346
|
+
readonly logGroupArn: string;
|
|
347
|
+
/**
|
|
348
|
+
* The name of this log group
|
|
349
|
+
*/
|
|
350
|
+
readonly logGroupName: string;
|
|
351
|
+
constructor(scope: Construct, id: string, props?: LogGroupProps);
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Properties for a new LogStream created from a LogGroup
|
|
355
|
+
*/
|
|
356
|
+
export interface StreamOptions {
|
|
357
|
+
/**
|
|
358
|
+
* The name of the log stream to create.
|
|
359
|
+
*
|
|
360
|
+
* The name must be unique within the log group.
|
|
361
|
+
*
|
|
362
|
+
* @default Automatically generated
|
|
363
|
+
*/
|
|
364
|
+
readonly logStreamName?: string;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Properties for a new SubscriptionFilter created from a LogGroup
|
|
368
|
+
*/
|
|
369
|
+
export interface SubscriptionFilterOptions {
|
|
370
|
+
/**
|
|
371
|
+
* The destination to send the filtered events to.
|
|
372
|
+
*
|
|
373
|
+
* For example, a Kinesis stream or a Lambda function.
|
|
374
|
+
*/
|
|
375
|
+
readonly destination: ILogSubscriptionDestination;
|
|
376
|
+
/**
|
|
377
|
+
* Log events matching this pattern will be sent to the destination.
|
|
378
|
+
*/
|
|
379
|
+
readonly filterPattern: IFilterPattern;
|
|
380
|
+
/**
|
|
381
|
+
* The name of the subscription filter.
|
|
382
|
+
*
|
|
383
|
+
* @default Automatically generated
|
|
384
|
+
*/
|
|
385
|
+
readonly filterName?: string;
|
|
386
|
+
/**
|
|
387
|
+
* The method used to distribute log data to the destination.
|
|
388
|
+
* This property can only be used with KinesisDestination.
|
|
389
|
+
*
|
|
390
|
+
* @default Distribution.BY_LOG_STREAM
|
|
391
|
+
*/
|
|
392
|
+
readonly distribution?: Distribution;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Properties for a MetricFilter created from a LogGroup
|
|
396
|
+
*/
|
|
397
|
+
export interface MetricFilterOptions {
|
|
398
|
+
/**
|
|
399
|
+
* Pattern to search for log events.
|
|
400
|
+
*/
|
|
401
|
+
readonly filterPattern: IFilterPattern;
|
|
402
|
+
/**
|
|
403
|
+
* The namespace of the metric to emit.
|
|
404
|
+
*/
|
|
405
|
+
readonly metricNamespace: string;
|
|
406
|
+
/**
|
|
407
|
+
* The name of the metric to emit.
|
|
408
|
+
*/
|
|
409
|
+
readonly metricName: string;
|
|
410
|
+
/**
|
|
411
|
+
* The value to emit for the metric.
|
|
412
|
+
*
|
|
413
|
+
* Can either be a literal number (typically "1"), or the name of a field in the structure
|
|
414
|
+
* to take the value from the matched event. If you are using a field value, the field
|
|
415
|
+
* value must have been matched using the pattern.
|
|
416
|
+
*
|
|
417
|
+
* If you want to specify a field from a matched JSON structure, use '$.fieldName',
|
|
418
|
+
* and make sure the field is in the pattern (if only as '$.fieldName = *').
|
|
419
|
+
*
|
|
420
|
+
* If you want to specify a field from a matched space-delimited structure,
|
|
421
|
+
* use '$fieldName'.
|
|
422
|
+
*
|
|
423
|
+
* @default "1"
|
|
424
|
+
*/
|
|
425
|
+
readonly metricValue?: string;
|
|
426
|
+
/**
|
|
427
|
+
* The value to emit if the pattern does not match a particular event.
|
|
428
|
+
*
|
|
429
|
+
* @default No metric emitted.
|
|
430
|
+
*/
|
|
431
|
+
readonly defaultValue?: number;
|
|
432
|
+
/**
|
|
433
|
+
* The fields to use as dimensions for the metric. One metric filter can include as many as three dimensions.
|
|
434
|
+
*
|
|
435
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-logs-metricfilter-metrictransformation-dimensions
|
|
436
|
+
* @default - No dimensions attached to metrics.
|
|
437
|
+
*/
|
|
438
|
+
readonly dimensions?: Record<string, string>;
|
|
439
|
+
/**
|
|
440
|
+
* The unit to assign to the metric.
|
|
441
|
+
*
|
|
442
|
+
* @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-logs-metricfilter-metrictransformation.html#cfn-logs-metricfilter-metrictransformation-unit
|
|
443
|
+
* @default - No unit attached to metrics.
|
|
444
|
+
*/
|
|
445
|
+
readonly unit?: Unit;
|
|
446
|
+
/**
|
|
447
|
+
* The name of the metric filter.
|
|
448
|
+
*
|
|
449
|
+
* @default - Cloudformation generated name.
|
|
450
|
+
*/
|
|
451
|
+
readonly filterName?: string;
|
|
452
|
+
}
|
|
453
|
+
export {};
|