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,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.OpenIdConnectProvider = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
7
|
+
const arn_1 = require("../arn");
|
|
8
|
+
const aws_construct_1 = require("../aws-construct");
|
|
9
|
+
/**
|
|
10
|
+
* IAM OIDC identity providers are entities in IAM that describe an external
|
|
11
|
+
* identity provider (IdP) service that supports the OpenID Connect (OIDC)
|
|
12
|
+
* standard, such as Google or Salesforce. You use an IAM OIDC identity provider
|
|
13
|
+
* when you want to establish trust between an OIDC-compatible IdP and your AWS
|
|
14
|
+
* account. This is useful when creating a mobile app or web application that
|
|
15
|
+
* requires access to AWS resources, but you don't want to create custom sign-in
|
|
16
|
+
* code or manage your own user identities.
|
|
17
|
+
*
|
|
18
|
+
* @see http://openid.net/connect
|
|
19
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html
|
|
20
|
+
*
|
|
21
|
+
* @resource AWS::CloudFormation::CustomResource
|
|
22
|
+
*/
|
|
23
|
+
class OpenIdConnectProvider extends aws_construct_1.AwsConstructBase {
|
|
24
|
+
/**
|
|
25
|
+
* Imports an Open ID connect provider from an ARN.
|
|
26
|
+
* @param scope The definition scope
|
|
27
|
+
* @param id ID of the construct
|
|
28
|
+
* @param openIdConnectProviderArn the ARN to import
|
|
29
|
+
*/
|
|
30
|
+
static fromOpenIdConnectProviderArn(scope, id, openIdConnectProviderArn) {
|
|
31
|
+
const resourceName = arn_1.Arn.extractResourceName(openIdConnectProviderArn, "oidc-provider");
|
|
32
|
+
class Import extends aws_construct_1.AwsConstructBase {
|
|
33
|
+
constructor() {
|
|
34
|
+
super(...arguments);
|
|
35
|
+
this.openIdConnectProviderArn = openIdConnectProviderArn;
|
|
36
|
+
this.openIdConnectProviderIssuer = resourceName;
|
|
37
|
+
this.openIdConnectProviderOutputs = {
|
|
38
|
+
arn: openIdConnectProviderArn,
|
|
39
|
+
issuer: resourceName,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
get outputs() {
|
|
43
|
+
return this.openIdConnectProviderOutputs;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return new Import(scope, id, {});
|
|
47
|
+
}
|
|
48
|
+
get outputs() {
|
|
49
|
+
return this.openIdConnectProviderOutputs;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Defines an OpenID Connect provider.
|
|
53
|
+
* @param scope The definition scope
|
|
54
|
+
* @param id Construct ID
|
|
55
|
+
* @param props Initialization properties
|
|
56
|
+
*/
|
|
57
|
+
constructor(scope, id, props) {
|
|
58
|
+
super(scope, id, props);
|
|
59
|
+
// thumbprints is still required for terraform-provider-aws, use dummy ...
|
|
60
|
+
// https://github.com/hashicorp/terraform-provider-aws/issues/35112
|
|
61
|
+
let thumbprintList = props.thumbprints ?? [
|
|
62
|
+
"afafafafafafafafafafafafafafafafafafafaf",
|
|
63
|
+
];
|
|
64
|
+
// TODO: this may cause unexpected errors if thumbprints are not provided
|
|
65
|
+
this.resource = new provider_aws_1.iamOpenidConnectProvider.IamOpenidConnectProvider(this, "Resource", {
|
|
66
|
+
url: props.url,
|
|
67
|
+
clientIdList: props.clientIds,
|
|
68
|
+
thumbprintList,
|
|
69
|
+
});
|
|
70
|
+
this.openIdConnectProviderArn = this.resource.arn;
|
|
71
|
+
this.openIdConnectProviderIssuer = arn_1.Arn.extractResourceName(this.openIdConnectProviderArn, "oidc-provider");
|
|
72
|
+
this.openIdConnectProviderthumbprints = this.resource.thumbprintList;
|
|
73
|
+
this.openIdConnectProviderOutputs = {
|
|
74
|
+
arn: this.openIdConnectProviderArn,
|
|
75
|
+
issuer: this.openIdConnectProviderIssuer,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.OpenIdConnectProvider = OpenIdConnectProvider;
|
|
80
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
81
|
+
OpenIdConnectProvider[_a] = { fqn: "terraconstructs.aws.iam.OpenIdConnectProvider", version: "0.0.8" };
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2lkYy1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hd3MvaWFtL29pZGMtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBK0Q7QUFFL0QsZ0NBQTZCO0FBQzdCLG9EQUkwQjtBQXFGMUI7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQWEscUJBQ1gsU0FBUSxnQ0FBZ0I7SUFHeEI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsNEJBQTRCLENBQ3hDLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVix3QkFBZ0M7UUFFaEMsTUFBTSxZQUFZLEdBQUcsU0FBRyxDQUFDLG1CQUFtQixDQUMxQyx3QkFBd0IsRUFDeEIsZUFBZSxDQUNoQixDQUFDO1FBRUYsTUFBTSxNQUFPLFNBQVEsZ0NBQWdCO1lBQXJDOztnQkFDa0IsNkJBQXdCLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3BELGdDQUEyQixHQUFHLFlBQVksQ0FBQztnQkFDM0MsaUNBQTRCLEdBQUc7b0JBQzdDLEdBQUcsRUFBRSx3QkFBd0I7b0JBQzdCLE1BQU0sRUFBRSxZQUFZO2lCQUNyQixDQUFDO1lBSUosQ0FBQztZQUhDLElBQVcsT0FBTztnQkFDaEIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7WUFDM0MsQ0FBQztTQUNGO1FBRUQsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDM0MsQ0FBQztJQWVEOzs7OztPQUtHO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBaUM7UUFFakMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDeEIsMEVBQTBFO1FBQzFFLG1FQUFtRTtRQUNuRSxJQUFJLGNBQWMsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJO1lBQ3hDLDBDQUEwQztTQUMzQyxDQUFDO1FBQ0YseUVBQXlFO1FBRXpFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx1Q0FBd0IsQ0FBQyx3QkFBd0IsQ0FDbkUsSUFBSSxFQUNKLFVBQVUsRUFDVjtZQUNFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsU0FBUztZQUM3QixjQUFjO1NBQ2YsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ2xELElBQUksQ0FBQywyQkFBMkIsR0FBRyxTQUFHLENBQUMsbUJBQW1CLENBQ3hELElBQUksQ0FBQyx3QkFBd0IsRUFDN0IsZUFBZSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLGdDQUFnQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO1FBQ3JFLElBQUksQ0FBQyw0QkFBNEIsR0FBRztZQUNsQyxHQUFHLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUNsQyxNQUFNLEVBQUUsSUFBSSxDQUFDLDJCQUEyQjtTQUN6QyxDQUFDO0lBQ0osQ0FBQzs7QUExRkgsc0RBMkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaWFtT3BlbmlkQ29ubmVjdFByb3ZpZGVyIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBBcm4gfSBmcm9tIFwiLi4vYXJuXCI7XG5pbXBvcnQge1xuICBJQXdzQ29uc3RydWN0LFxuICBBd3NDb25zdHJ1Y3RCYXNlLFxuICBBd3NDb25zdHJ1Y3RQcm9wcyxcbn0gZnJvbSBcIi4uL2F3cy1jb25zdHJ1Y3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPcGVuSWRDb25uZWN0UHJvdmlkZXJPdXRwdXRzIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgSUFNIE9wZW5JRCBDb25uZWN0IHByb3ZpZGVyLlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgYXJuOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgaXNzdWVyIGZvciBPSURDIFByb3ZpZGVyXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBpc3N1ZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIElBTSBPcGVuSUQgQ29ubmVjdCBwcm92aWRlci5cbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU9wZW5JZENvbm5lY3RQcm92aWRlciBleHRlbmRzIElBd3NDb25zdHJ1Y3Qge1xuICAvLyBzdHJvbmdseSB0eXBlZCBvdXRwdXRzXG4gIHJlYWRvbmx5IG9wZW5JZENvbm5lY3RQcm92aWRlck91dHB1dHM6IE9wZW5JZENvbm5lY3RQcm92aWRlck91dHB1dHM7XG5cbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgSUFNIE9wZW5JRCBDb25uZWN0IHByb3ZpZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgb3BlbklkQ29ubmVjdFByb3ZpZGVyQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpc3N1ZXIgZm9yIE9JREMgUHJvdmlkZXJcbiAgICovXG4gIHJlYWRvbmx5IG9wZW5JZENvbm5lY3RQcm92aWRlcklzc3Vlcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemF0aW9uIHByb3BlcnRpZXMgZm9yIGBPcGVuSWRDb25uZWN0UHJvdmlkZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9wZW5JZENvbm5lY3RQcm92aWRlclByb3BzIGV4dGVuZHMgQXdzQ29uc3RydWN0UHJvcHMge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgaWRlbnRpdHkgcHJvdmlkZXIuIFRoZSBVUkwgbXVzdCBiZWdpbiB3aXRoIGh0dHBzOi8vIGFuZFxuICAgKiBzaG91bGQgY29ycmVzcG9uZCB0byB0aGUgaXNzIGNsYWltIGluIHRoZSBwcm92aWRlcidzIE9wZW5JRCBDb25uZWN0IElEXG4gICAqIHRva2Vucy4gUGVyIHRoZSBPSURDIHN0YW5kYXJkLCBwYXRoIGNvbXBvbmVudHMgYXJlIGFsbG93ZWQgYnV0IHF1ZXJ5XG4gICAqIHBhcmFtZXRlcnMgYXJlIG5vdC4gVHlwaWNhbGx5IHRoZSBVUkwgY29uc2lzdHMgb2Ygb25seSBhIGhvc3RuYW1lLCBsaWtlXG4gICAqIGh0dHBzOi8vc2VydmVyLmV4YW1wbGUub3JnIG9yIGh0dHBzOi8vZXhhbXBsZS5jb20uXG4gICAqXG4gICAqIFlvdSBjYW5ub3QgcmVnaXN0ZXIgdGhlIHNhbWUgcHJvdmlkZXIgbXVsdGlwbGUgdGltZXMgaW4gYSBzaW5nbGUgQVdTXG4gICAqIGFjY291bnQuIElmIHlvdSB0cnkgdG8gc3VibWl0IGEgVVJMIHRoYXQgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGZvciBhblxuICAgKiBPcGVuSUQgQ29ubmVjdCBwcm92aWRlciBpbiB0aGUgQVdTIGFjY291bnQsIHlvdSB3aWxsIGdldCBhbiBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgY2xpZW50IElEcyAoYWxzbyBrbm93biBhcyBhdWRpZW5jZXMpLiBXaGVuIGEgbW9iaWxlIG9yIHdlYiBhcHBcbiAgICogcmVnaXN0ZXJzIHdpdGggYW4gT3BlbklEIENvbm5lY3QgcHJvdmlkZXIsIHRoZXkgZXN0YWJsaXNoIGEgdmFsdWUgdGhhdFxuICAgKiBpZGVudGlmaWVzIHRoZSBhcHBsaWNhdGlvbi4gKFRoaXMgaXMgdGhlIHZhbHVlIHRoYXQncyBzZW50IGFzIHRoZSBjbGllbnRfaWRcbiAgICogcGFyYW1ldGVyIG9uIE9BdXRoIHJlcXVlc3RzLilcbiAgICpcbiAgICogWW91IGNhbiByZWdpc3RlciBtdWx0aXBsZSBjbGllbnQgSURzIHdpdGggdGhlIHNhbWUgcHJvdmlkZXIuIEZvciBleGFtcGxlLFxuICAgKiB5b3UgbWlnaHQgaGF2ZSBtdWx0aXBsZSBhcHBsaWNhdGlvbnMgdGhhdCB1c2UgdGhlIHNhbWUgT0lEQyBwcm92aWRlci4gWW91XG4gICAqIGNhbm5vdCByZWdpc3RlciBtb3JlIHRoYW4gMTAwIGNsaWVudCBJRHMgd2l0aCBhIHNpbmdsZSBJQU0gT0lEQyBwcm92aWRlci5cbiAgICpcbiAgICogQ2xpZW50IElEcyBhcmUgdXAgdG8gMjU1IGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIHJlYWRvbmx5IGNsaWVudElkczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBzZXJ2ZXIgY2VydGlmaWNhdGUgdGh1bWJwcmludHMgZm9yIHRoZSBPcGVuSUQgQ29ubmVjdCAoT0lEQylcbiAgICogaWRlbnRpdHkgcHJvdmlkZXIncyBzZXJ2ZXIgY2VydGlmaWNhdGVzLlxuICAgKlxuICAgKiBBV1Mgc2VjdXJlcyBjb21tdW5pY2F0aW9uIHdpdGggT0lEQyBpZGVudGl0eSBwcm92aWRlcnMgKElkUHMpIHVzaW5nIG91clxuICAgKiBsaWJyYXJ5IG9mIHRydXN0ZWQgcm9vdCBjZXJ0aWZpY2F0ZSBhdXRob3JpdGllcyAoQ0FzKSB0byB2ZXJpZnkgdGhlXG4gICAqIEpTT04gV2ViIEtleSBTZXQgKEpXS1MpIGVuZHBvaW50J3MgVExTIGNlcnRpZmljYXRlLlxuICAgKlxuICAgKiBJZiB5b3VyIE9JREMgSWRQIHJlbGllcyBvbiBhIGNlcnRpZmljYXRlIHRoYXQgaXMgbm90IHNpZ25lZCBieSBvbmUgb2ZcbiAgICogdGhlc2UgdHJ1c3RlZCBDQXMsIG9ubHkgdGhlbiB3ZSBzZWN1cmUgY29tbXVuaWNhdGlvbiB1c2luZyB0aGVcbiAgICogdGh1bWJwcmludHMgc2V0IGluIHRoZSBJZFAncyBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBBV1Mgd2lsbCBmYWxsIGJhY2sgdG8gdGh1bWJwcmludCB2ZXJpZmljYXRpb24gaWYgd2UgYXJlIHVuYWJsZSB0byByZXRyaWV2ZVxuICAgKiB0aGUgVExTIGNlcnRpZmljYXRlIG9yIGlmIFRMUyB2MS4zIGlzIHJlcXVpcmVkLlxuICAgKlxuICAgKiBTZWUgW0FXUyBPSURDIERvY3NdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9pZF9yb2xlc19wcm92aWRlcnNfY3JlYXRlX29pZGMuaHRtbCNtYW5hZ2Utb2lkYy1wcm92aWRlci1jb25zb2xlKVxuICAgKi9cbiAgcmVhZG9ubHkgdGh1bWJwcmludHM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBJQU0gT0lEQyBpZGVudGl0eSBwcm92aWRlcnMgYXJlIGVudGl0aWVzIGluIElBTSB0aGF0IGRlc2NyaWJlIGFuIGV4dGVybmFsXG4gKiBpZGVudGl0eSBwcm92aWRlciAoSWRQKSBzZXJ2aWNlIHRoYXQgc3VwcG9ydHMgdGhlIE9wZW5JRCBDb25uZWN0IChPSURDKVxuICogc3RhbmRhcmQsIHN1Y2ggYXMgR29vZ2xlIG9yIFNhbGVzZm9yY2UuIFlvdSB1c2UgYW4gSUFNIE9JREMgaWRlbnRpdHkgcHJvdmlkZXJcbiAqIHdoZW4geW91IHdhbnQgdG8gZXN0YWJsaXNoIHRydXN0IGJldHdlZW4gYW4gT0lEQy1jb21wYXRpYmxlIElkUCBhbmQgeW91ciBBV1NcbiAqIGFjY291bnQuIFRoaXMgaXMgdXNlZnVsIHdoZW4gY3JlYXRpbmcgYSBtb2JpbGUgYXBwIG9yIHdlYiBhcHBsaWNhdGlvbiB0aGF0XG4gKiByZXF1aXJlcyBhY2Nlc3MgdG8gQVdTIHJlc291cmNlcywgYnV0IHlvdSBkb24ndCB3YW50IHRvIGNyZWF0ZSBjdXN0b20gc2lnbi1pblxuICogY29kZSBvciBtYW5hZ2UgeW91ciBvd24gdXNlciBpZGVudGl0aWVzLlxuICpcbiAqIEBzZWUgaHR0cDovL29wZW5pZC5uZXQvY29ubmVjdFxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vSUFNL2xhdGVzdC9Vc2VyR3VpZGUvaWRfcm9sZXNfcHJvdmlkZXJzX29pZGMuaHRtbFxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkNsb3VkRm9ybWF0aW9uOjpDdXN0b21SZXNvdXJjZVxuICovXG5leHBvcnQgY2xhc3MgT3BlbklkQ29ubmVjdFByb3ZpZGVyXG4gIGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZVxuICBpbXBsZW1lbnRzIElPcGVuSWRDb25uZWN0UHJvdmlkZXJcbntcbiAgLyoqXG4gICAqIEltcG9ydHMgYW4gT3BlbiBJRCBjb25uZWN0IHByb3ZpZGVyIGZyb20gYW4gQVJOLlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGRlZmluaXRpb24gc2NvcGVcbiAgICogQHBhcmFtIGlkIElEIG9mIHRoZSBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIG9wZW5JZENvbm5lY3RQcm92aWRlckFybiB0aGUgQVJOIHRvIGltcG9ydFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT3BlbklkQ29ubmVjdFByb3ZpZGVyQXJuKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBvcGVuSWRDb25uZWN0UHJvdmlkZXJBcm46IHN0cmluZyxcbiAgKTogSU9wZW5JZENvbm5lY3RQcm92aWRlciB7XG4gICAgY29uc3QgcmVzb3VyY2VOYW1lID0gQXJuLmV4dHJhY3RSZXNvdXJjZU5hbWUoXG4gICAgICBvcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4sXG4gICAgICBcIm9pZGMtcHJvdmlkZXJcIixcbiAgICApO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgQXdzQ29uc3RydWN0QmFzZSBpbXBsZW1lbnRzIElPcGVuSWRDb25uZWN0UHJvdmlkZXIge1xuICAgICAgcHVibGljIHJlYWRvbmx5IG9wZW5JZENvbm5lY3RQcm92aWRlckFybiA9IG9wZW5JZENvbm5lY3RQcm92aWRlckFybjtcbiAgICAgIHB1YmxpYyByZWFkb25seSBvcGVuSWRDb25uZWN0UHJvdmlkZXJJc3N1ZXIgPSByZXNvdXJjZU5hbWU7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgb3BlbklkQ29ubmVjdFByb3ZpZGVyT3V0cHV0cyA9IHtcbiAgICAgICAgYXJuOiBvcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4sXG4gICAgICAgIGlzc3VlcjogcmVzb3VyY2VOYW1lLFxuICAgICAgfTtcbiAgICAgIHB1YmxpYyBnZXQgb3V0cHV0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3BlbklkQ29ubmVjdFByb3ZpZGVyT3V0cHV0cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQsIHt9KTtcbiAgfVxuICBwdWJsaWMgcmVhZG9ubHkgb3BlbklkQ29ubmVjdFByb3ZpZGVyT3V0cHV0czogT3BlbklkQ29ubmVjdFByb3ZpZGVyT3V0cHV0cztcbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLm9wZW5JZENvbm5lY3RQcm92aWRlck91dHB1dHM7XG4gIH1cbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBpYW1PcGVuaWRDb25uZWN0UHJvdmlkZXIuSWFtT3BlbmlkQ29ubmVjdFByb3ZpZGVyO1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIElBTSBPcGVuSUQgQ29ubmVjdCBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvcGVuSWRDb25uZWN0UHJvdmlkZXJBcm46IHN0cmluZztcblxuICBwdWJsaWMgcmVhZG9ubHkgb3BlbklkQ29ubmVjdFByb3ZpZGVySXNzdWVyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHVtYnByaW50cyBjb25maWd1cmVkIGZvciB0aGlzIHByb3ZpZGVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG9wZW5JZENvbm5lY3RQcm92aWRlcnRodW1icHJpbnRzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGVmaW5lcyBhbiBPcGVuSUQgQ29ubmVjdCBwcm92aWRlci5cbiAgICogQHBhcmFtIHNjb3BlIFRoZSBkZWZpbml0aW9uIHNjb3BlXG4gICAqIEBwYXJhbSBpZCBDb25zdHJ1Y3QgSURcbiAgICogQHBhcmFtIHByb3BzIEluaXRpYWxpemF0aW9uIHByb3BlcnRpZXNcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE9wZW5JZENvbm5lY3RQcm92aWRlclByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICAvLyB0aHVtYnByaW50cyBpcyBzdGlsbCByZXF1aXJlZCBmb3IgdGVycmFmb3JtLXByb3ZpZGVyLWF3cywgdXNlIGR1bW15IC4uLlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9oYXNoaWNvcnAvdGVycmFmb3JtLXByb3ZpZGVyLWF3cy9pc3N1ZXMvMzUxMTJcbiAgICBsZXQgdGh1bWJwcmludExpc3QgPSBwcm9wcy50aHVtYnByaW50cyA/PyBbXG4gICAgICBcImFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZcIixcbiAgICBdO1xuICAgIC8vIFRPRE86IHRoaXMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXJyb3JzIGlmIHRodW1icHJpbnRzIGFyZSBub3QgcHJvdmlkZWRcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgaWFtT3BlbmlkQ29ubmVjdFByb3ZpZGVyLklhbU9wZW5pZENvbm5lY3RQcm92aWRlcihcbiAgICAgIHRoaXMsXG4gICAgICBcIlJlc291cmNlXCIsXG4gICAgICB7XG4gICAgICAgIHVybDogcHJvcHMudXJsLFxuICAgICAgICBjbGllbnRJZExpc3Q6IHByb3BzLmNsaWVudElkcyxcbiAgICAgICAgdGh1bWJwcmludExpc3QsXG4gICAgICB9LFxuICAgICk7XG4gICAgdGhpcy5vcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4gPSB0aGlzLnJlc291cmNlLmFybjtcbiAgICB0aGlzLm9wZW5JZENvbm5lY3RQcm92aWRlcklzc3VlciA9IEFybi5leHRyYWN0UmVzb3VyY2VOYW1lKFxuICAgICAgdGhpcy5vcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4sXG4gICAgICBcIm9pZGMtcHJvdmlkZXJcIixcbiAgICApO1xuICAgIHRoaXMub3BlbklkQ29ubmVjdFByb3ZpZGVydGh1bWJwcmludHMgPSB0aGlzLnJlc291cmNlLnRodW1icHJpbnRMaXN0O1xuICAgIHRoaXMub3BlbklkQ29ubmVjdFByb3ZpZGVyT3V0cHV0cyA9IHtcbiAgICAgIGFybjogdGhpcy5vcGVuSWRDb25uZWN0UHJvdmlkZXJBcm4sXG4gICAgICBpc3N1ZXI6IHRoaXMub3BlbklkQ29ubmVjdFByb3ZpZGVySXNzdWVyLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { PolicyStatement } from './';
|
|
2
|
+
import type { FileProvisioner, ITerraformDependable, ITerraformIterator, LocalExecProvisioner, RemoteExecProvisioner, SSHProvisionerConnection, TerraformCount, TerraformProvider, TerraformResourceLifecycle, WinrmProvisionerConnection } from 'cdktf';
|
|
3
|
+
/**
|
|
4
|
+
* IAM policy Document Config
|
|
5
|
+
*/
|
|
6
|
+
export interface PolicyDocumentConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#version DataAwsIamPolicyDocument#version}.
|
|
9
|
+
* @stability stable
|
|
10
|
+
*/
|
|
11
|
+
readonly version?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Configuration block for a policy statement
|
|
14
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#statement DataAwsIamPolicyDocument#statement}
|
|
15
|
+
* @stability stable
|
|
16
|
+
*/
|
|
17
|
+
readonly statement?: Array<PolicyStatement>;
|
|
18
|
+
/**
|
|
19
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#source_policy_documents DataAwsIamPolicyDocument#source_policy_documents}.
|
|
20
|
+
* @stability stable
|
|
21
|
+
*/
|
|
22
|
+
readonly sourcePolicyDocuments?: Array<string>;
|
|
23
|
+
/**
|
|
24
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#source_json DataAwsIamPolicyDocument#source_json}.
|
|
25
|
+
* @stability stable
|
|
26
|
+
*/
|
|
27
|
+
readonly sourceJson?: string;
|
|
28
|
+
/**
|
|
29
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#policy_id DataAwsIamPolicyDocument#policy_id}.
|
|
30
|
+
* @stability stable
|
|
31
|
+
*/
|
|
32
|
+
readonly policyId?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#override_policy_documents DataAwsIamPolicyDocument#override_policy_documents}.
|
|
35
|
+
* @stability stable
|
|
36
|
+
*/
|
|
37
|
+
readonly overridePolicyDocuments?: Array<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#override_json DataAwsIamPolicyDocument#override_json}.
|
|
40
|
+
* @stability stable
|
|
41
|
+
*/
|
|
42
|
+
readonly overrideJson?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#id DataAwsIamPolicyDocument#id}.
|
|
45
|
+
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
46
|
+
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
|
|
47
|
+
* @stability stable
|
|
48
|
+
*/
|
|
49
|
+
readonly id?: string;
|
|
50
|
+
/**
|
|
51
|
+
* @stability experimental
|
|
52
|
+
*/
|
|
53
|
+
readonly provisioners?: Array<FileProvisioner | LocalExecProvisioner | RemoteExecProvisioner>;
|
|
54
|
+
/**
|
|
55
|
+
* @stability experimental
|
|
56
|
+
*/
|
|
57
|
+
readonly provider?: TerraformProvider;
|
|
58
|
+
/**
|
|
59
|
+
* @stability experimental
|
|
60
|
+
*/
|
|
61
|
+
readonly lifecycle?: TerraformResourceLifecycle;
|
|
62
|
+
/**
|
|
63
|
+
* @stability experimental
|
|
64
|
+
*/
|
|
65
|
+
readonly forEach?: ITerraformIterator;
|
|
66
|
+
/**
|
|
67
|
+
* @stability experimental
|
|
68
|
+
*/
|
|
69
|
+
readonly dependsOn?: Array<ITerraformDependable>;
|
|
70
|
+
/**
|
|
71
|
+
* @stability experimental
|
|
72
|
+
*/
|
|
73
|
+
readonly count?: number | TerraformCount;
|
|
74
|
+
/**
|
|
75
|
+
* @stability experimental
|
|
76
|
+
*/
|
|
77
|
+
readonly connection?: SSHProvisionerConnection | WinrmProvisionerConnection;
|
|
78
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWRvY3VtZW50LWNvbmZpZy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2lhbS9wb2xpY3ktZG9jdW1lbnQtY29uZmlnLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICcuLyc7XG5pbXBvcnQgdHlwZSB7IEZpbGVQcm92aXNpb25lciwgSVRlcnJhZm9ybURlcGVuZGFibGUsIElUZXJyYWZvcm1JdGVyYXRvciwgTG9jYWxFeGVjUHJvdmlzaW9uZXIsIFJlbW90ZUV4ZWNQcm92aXNpb25lciwgU1NIUHJvdmlzaW9uZXJDb25uZWN0aW9uLCBUZXJyYWZvcm1Db3VudCwgVGVycmFmb3JtUHJvdmlkZXIsIFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlLCBXaW5ybVByb3Zpc2lvbmVyQ29ubmVjdGlvbiB9IGZyb20gJ2Nka3RmJztcblxuLyoqXG4gKiBJQU0gcG9saWN5IERvY3VtZW50IENvbmZpZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeURvY3VtZW50Q29uZmlnIHtcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjdmVyc2lvbiBEYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQjdmVyc2lvbn0uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQ29uZmlndXJhdGlvbiBibG9jayBmb3IgYSBwb2xpY3kgc3RhdGVtZW50XG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjc3RhdGVtZW50IERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNzdGF0ZW1lbnR9XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBzdGF0ZW1lbnQ/OiBBcnJheTxQb2xpY3lTdGF0ZW1lbnQ+O1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNzb3VyY2VfcG9saWN5X2RvY3VtZW50cyBEYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQjc291cmNlX3BvbGljeV9kb2N1bWVudHN9LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlUG9saWN5RG9jdW1lbnRzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjc291cmNlX2pzb24gRGF0YUF3c0lhbVBvbGljeURvY3VtZW50I3NvdXJjZV9qc29ufS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZUpzb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL2RhdGEtc291cmNlcy9pYW1fcG9saWN5X2RvY3VtZW50I3BvbGljeV9pZCBEYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQjcG9saWN5X2lkfS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHBvbGljeUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNvdmVycmlkZV9wb2xpY3lfZG9jdW1lbnRzIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNvdmVycmlkZV9wb2xpY3lfZG9jdW1lbnRzfS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG92ZXJyaWRlUG9saWN5RG9jdW1lbnRzPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjb3ZlcnJpZGVfanNvbiBEYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQjb3ZlcnJpZGVfanNvbn0uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBvdmVycmlkZUpzb24/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL2RhdGEtc291cmNlcy9pYW1fcG9saWN5X2RvY3VtZW50I2lkIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNpZH0uXG4gICAqIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHRoZSBpZCBmaWVsZCBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIGFsbCByZXNvdXJjZXMgaW4gVGVycmFmb3JtIHByb3ZpZGVycyB1c2luZyBhIFRlcnJhZm9ybSBwcm92aWRlciBTREsgdmVyc2lvbiBiZWxvdyAyLlxuICAgKiBJZiB5b3UgZXhwZXJpZW5jZSBwcm9ibGVtcyBzZXR0aW5nIHRoaXMgdmFsdWUgaXQgbWlnaHQgbm90IGJlIHNldHRhYmxlLiBQbGVhc2UgdGFrZSBhIGxvb2sgYXQgdGhlIHByb3ZpZGVyIGRvY3VtZW50YXRpb24gdG8gZW5zdXJlIGl0IHNob3VsZCBiZSBzZXR0YWJsZS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IHByb3Zpc2lvbmVycz86IEFycmF5PEZpbGVQcm92aXNpb25lciB8IExvY2FsRXhlY1Byb3Zpc2lvbmVyIHwgUmVtb3RlRXhlY1Byb3Zpc2lvbmVyPjtcbiAgLyoqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlcj86IFRlcnJhZm9ybVByb3ZpZGVyO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGxpZmVjeWNsZT86IFRlcnJhZm9ybVJlc291cmNlTGlmZWN5Y2xlO1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGZvckVhY2g/OiBJVGVycmFmb3JtSXRlcmF0b3I7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kc09uPzogQXJyYXk8SVRlcnJhZm9ybURlcGVuZGFibGU+O1xuICAvKipcbiAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICovXG4gIHJlYWRvbmx5IGNvdW50PzogbnVtYmVyIHwgVGVycmFmb3JtQ291bnQ7XG4gIC8qKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbj86IFNTSFByb3Zpc2lvbmVyQ29ubmVjdGlvbiB8IFdpbnJtUHJvdmlzaW9uZXJDb25uZWN0aW9uO1xufVxuIl19
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { dataAwsIamPolicyDocument } from "@cdktf/provider-aws";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { PolicyDocumentConfig } from "./policy-document-config.generated";
|
|
4
|
+
import { PolicyStatement } from "./policy-statement";
|
|
5
|
+
import { AwsConstructBase, IAwsConstruct } from "../aws-construct";
|
|
6
|
+
export interface PolicyDocumentOutputs {
|
|
7
|
+
/**
|
|
8
|
+
* The policy document JSON
|
|
9
|
+
*/
|
|
10
|
+
readonly policy: any;
|
|
11
|
+
}
|
|
12
|
+
export interface IPolicyDocument extends IAwsConstruct {
|
|
13
|
+
readonly policyDocumentOutputs: PolicyDocumentOutputs;
|
|
14
|
+
readonly isEmpty: boolean;
|
|
15
|
+
readonly statementCount: number;
|
|
16
|
+
readonly json: string;
|
|
17
|
+
/**
|
|
18
|
+
* Adds a statement to the policy document.
|
|
19
|
+
*
|
|
20
|
+
* @param statement the statement to add.
|
|
21
|
+
*/
|
|
22
|
+
addStatements(...statement: PolicyStatement[]): void;
|
|
23
|
+
/**
|
|
24
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
25
|
+
* requirements for any policy.
|
|
26
|
+
*
|
|
27
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
28
|
+
*
|
|
29
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
30
|
+
*/
|
|
31
|
+
validateForAnyPolicy(): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
34
|
+
* requirements for a resource-based policy.
|
|
35
|
+
*
|
|
36
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
37
|
+
*
|
|
38
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
39
|
+
*/
|
|
40
|
+
validateForResourcePolicy(): string[] /**
|
|
41
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
42
|
+
* requirements for an identity-based policy.
|
|
43
|
+
*
|
|
44
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
45
|
+
*
|
|
46
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
47
|
+
*/;
|
|
48
|
+
validateForIdentityPolicy(): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Get AWS IAM Policy document JSON
|
|
51
|
+
*
|
|
52
|
+
* NOTE: This may contain unresolved tokens, use spec.resolve() to resolve them.
|
|
53
|
+
*/
|
|
54
|
+
toDocumentJson(): any;
|
|
55
|
+
}
|
|
56
|
+
export interface PolicyDocumentProps extends PolicyDocumentConfig {
|
|
57
|
+
/**
|
|
58
|
+
* Try to minimize the policy by merging statements
|
|
59
|
+
*
|
|
60
|
+
* To avoid overrunning the maximum policy size, combine statements if they produce
|
|
61
|
+
* the same result. Merging happens according to the following rules:
|
|
62
|
+
*
|
|
63
|
+
* - The Effect of both statements is the same
|
|
64
|
+
* - Neither of the statements have a 'Sid'
|
|
65
|
+
* - Combine Principals if the rest of the statement is exactly the same.
|
|
66
|
+
* - Combine Resources if the rest of the statement is exactly the same.
|
|
67
|
+
* - Combine Actions if the rest of the statement is exactly the same.
|
|
68
|
+
* - We will never combine NotPrincipals, NotResources or NotActions, because doing
|
|
69
|
+
* so would change the meaning of the policy document.
|
|
70
|
+
*
|
|
71
|
+
* @default - false, unless the feature flag `@aws-cdk/aws-iam:minimizePolicies` is set
|
|
72
|
+
*/
|
|
73
|
+
readonly minimize?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Automatically assign Statement Ids to all statements
|
|
76
|
+
*
|
|
77
|
+
* @default false
|
|
78
|
+
*/
|
|
79
|
+
readonly assignSids?: boolean;
|
|
80
|
+
}
|
|
81
|
+
export declare class PolicyDocument extends AwsConstructBase implements IPolicyDocument {
|
|
82
|
+
/**
|
|
83
|
+
* Creates a new PolicyDocument based on the object provided.
|
|
84
|
+
* This will accept an object created from the `.toDocumentJson()` call
|
|
85
|
+
* @param obj the PolicyDocument in object form.
|
|
86
|
+
*/
|
|
87
|
+
static fromJson(scope: Construct, id: string, obj: any): PolicyDocument;
|
|
88
|
+
readonly statements: PolicyStatement[];
|
|
89
|
+
readonly resource: dataAwsIamPolicyDocument.DataAwsIamPolicyDocument;
|
|
90
|
+
get policyDocumentOutputs(): PolicyDocumentOutputs;
|
|
91
|
+
get outputs(): Record<string, any>;
|
|
92
|
+
get json(): string;
|
|
93
|
+
private readonly autoAssignSids;
|
|
94
|
+
private readonly minimize?;
|
|
95
|
+
constructor(scope: Construct, id: string, props?: PolicyDocumentProps);
|
|
96
|
+
/**
|
|
97
|
+
* Perform statement merging (if enabled and not done yet)
|
|
98
|
+
*
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
_maybeMergeStatements(): void;
|
|
102
|
+
/**
|
|
103
|
+
* Get AWS IAM Policy document JSON
|
|
104
|
+
*
|
|
105
|
+
* NOTE: May contain tokens, use spec.resolve() to resolve them.
|
|
106
|
+
*/
|
|
107
|
+
toDocumentJson(): any;
|
|
108
|
+
/**
|
|
109
|
+
* Whether the policy document contains any statements.
|
|
110
|
+
*/
|
|
111
|
+
get isEmpty(): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* The number of statements already added to this policy.
|
|
114
|
+
* Can be used, for example, to generate unique "sid"s within the policy.
|
|
115
|
+
*/
|
|
116
|
+
get statementCount(): number;
|
|
117
|
+
/**
|
|
118
|
+
* Adds a statement to the policy document.
|
|
119
|
+
*
|
|
120
|
+
* @param statement the statement to add.
|
|
121
|
+
*/
|
|
122
|
+
addStatements(...statement: PolicyStatement[]): void;
|
|
123
|
+
/**
|
|
124
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
125
|
+
* requirements for any policy.
|
|
126
|
+
*
|
|
127
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
128
|
+
*
|
|
129
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
130
|
+
*/
|
|
131
|
+
validateForAnyPolicy(): string[];
|
|
132
|
+
/**
|
|
133
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
134
|
+
* requirements for a resource-based policy.
|
|
135
|
+
*
|
|
136
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
137
|
+
*
|
|
138
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
139
|
+
*/
|
|
140
|
+
validateForResourcePolicy(): string[];
|
|
141
|
+
/**
|
|
142
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
143
|
+
* requirements for an identity-based policy.
|
|
144
|
+
*
|
|
145
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
146
|
+
*
|
|
147
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
148
|
+
*/
|
|
149
|
+
validateForIdentityPolicy(): string[];
|
|
150
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PolicyDocument = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
// ref: https://github.com/aws/aws-cdk/tree/v2.161.1/packages/aws-cdk-lib/aws-iam/lib/policy-document.ts
|
|
7
|
+
// CAVEAT: instead of using IResolvable, this is a Construct and its constructor requires scope and id
|
|
8
|
+
// This synths directly to the terraform-provider-aws `aws_iam_policy_document` data source.
|
|
9
|
+
// This is not undefined when the policy document is empty.
|
|
10
|
+
// TODO: Add validation and errors for empty policy documents
|
|
11
|
+
const provider_aws_1 = require("@cdktf/provider-aws");
|
|
12
|
+
const cdktf_1 = require("cdktf");
|
|
13
|
+
const policy_statement_1 = require("./policy-statement");
|
|
14
|
+
const aws_construct_1 = require("../aws-construct");
|
|
15
|
+
const merge_statements_1 = require("./private/merge-statements");
|
|
16
|
+
const postprocess_policy_document_1 = require("./private/postprocess-policy-document");
|
|
17
|
+
class PolicyDocument extends aws_construct_1.AwsConstructBase {
|
|
18
|
+
/**
|
|
19
|
+
* Creates a new PolicyDocument based on the object provided.
|
|
20
|
+
* This will accept an object created from the `.toDocumentJson()` call
|
|
21
|
+
* @param obj the PolicyDocument in object form.
|
|
22
|
+
*/
|
|
23
|
+
static fromJson(scope, id, obj) {
|
|
24
|
+
const newPolicyDocument = new PolicyDocument(scope, id);
|
|
25
|
+
const statement = obj.Statement ?? [];
|
|
26
|
+
if (statement && !Array.isArray(statement)) {
|
|
27
|
+
throw new Error("Statement must be an array");
|
|
28
|
+
}
|
|
29
|
+
newPolicyDocument.addStatements(...statement.map((s) => policy_statement_1.PolicyStatement.fromJson(s)));
|
|
30
|
+
return newPolicyDocument;
|
|
31
|
+
}
|
|
32
|
+
// private readonly autoAssignSids: boolean;
|
|
33
|
+
// private readonly minimize?: boolean;
|
|
34
|
+
get policyDocumentOutputs() {
|
|
35
|
+
return { policy: this.json };
|
|
36
|
+
}
|
|
37
|
+
get outputs() {
|
|
38
|
+
return this.policyDocumentOutputs;
|
|
39
|
+
}
|
|
40
|
+
get json() {
|
|
41
|
+
return this.resource.json;
|
|
42
|
+
}
|
|
43
|
+
constructor(scope, id, props = {}) {
|
|
44
|
+
super(scope, id, props);
|
|
45
|
+
this.statements = new Array();
|
|
46
|
+
this.autoAssignSids = !!props.assignSids;
|
|
47
|
+
this.minimize = props.minimize ?? false;
|
|
48
|
+
this.addStatements(...(props.statement || []));
|
|
49
|
+
const self = this;
|
|
50
|
+
// TODO: move in toTerraform() and don't generate anything if isEmpty()?
|
|
51
|
+
this.resource = new provider_aws_1.dataAwsIamPolicyDocument.DataAwsIamPolicyDocument(this, "Resource", {
|
|
52
|
+
...props,
|
|
53
|
+
statement: cdktf_1.Lazy.anyValue({
|
|
54
|
+
produce: (context) => {
|
|
55
|
+
this._maybeMergeStatements();
|
|
56
|
+
context.registerPostProcessor(new postprocess_policy_document_1.PostProcessPolicyDocument(self.autoAssignSids));
|
|
57
|
+
return this.statements.map((s) => provider_aws_1.dataAwsIamPolicyDocument.dataAwsIamPolicyDocumentStatementToTerraform(s.toJSON()));
|
|
58
|
+
},
|
|
59
|
+
}),
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Perform statement merging (if enabled and not done yet)
|
|
64
|
+
*
|
|
65
|
+
* @internal
|
|
66
|
+
*/
|
|
67
|
+
_maybeMergeStatements() {
|
|
68
|
+
if (this.minimize && this.statements.length > 1) {
|
|
69
|
+
const result = (0, merge_statements_1.mergeStatements)(this.statements, { scope: this });
|
|
70
|
+
this.statements.splice(0, this.statements.length, ...result.mergedStatements);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// /**
|
|
74
|
+
// * JSON-ify the document
|
|
75
|
+
// *
|
|
76
|
+
// * Used when JSON.stringify() is called
|
|
77
|
+
// */
|
|
78
|
+
// public toJSON(): any {
|
|
79
|
+
// return {
|
|
80
|
+
// statement: this.statements.map((s) => s.toJSON()),
|
|
81
|
+
// };
|
|
82
|
+
// }
|
|
83
|
+
//TODO: Caution - toTerraform() returns nothing by design!
|
|
84
|
+
// Adding toTerraform() will cause infinite recursion
|
|
85
|
+
/**
|
|
86
|
+
* Get AWS IAM Policy document JSON
|
|
87
|
+
*
|
|
88
|
+
* NOTE: May contain tokens, use spec.resolve() to resolve them.
|
|
89
|
+
*/
|
|
90
|
+
toDocumentJson() {
|
|
91
|
+
if (this.isEmpty) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
// merge resolved statements
|
|
95
|
+
this._maybeMergeStatements();
|
|
96
|
+
const doc = {
|
|
97
|
+
Statement: this.statements.map((s) => s.toStatementJson()),
|
|
98
|
+
Version: "2012-10-17",
|
|
99
|
+
};
|
|
100
|
+
return doc;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Whether the policy document contains any statements.
|
|
104
|
+
*/
|
|
105
|
+
get isEmpty() {
|
|
106
|
+
return this.statements.length === 0;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The number of statements already added to this policy.
|
|
110
|
+
* Can be used, for example, to generate unique "sid"s within the policy.
|
|
111
|
+
*/
|
|
112
|
+
get statementCount() {
|
|
113
|
+
return this.statements.length;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Adds a statement to the policy document.
|
|
117
|
+
*
|
|
118
|
+
* @param statement the statement to add.
|
|
119
|
+
*/
|
|
120
|
+
addStatements(...statement) {
|
|
121
|
+
this.statements.push(...statement);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
125
|
+
* requirements for any policy.
|
|
126
|
+
*
|
|
127
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
128
|
+
*
|
|
129
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
130
|
+
*/
|
|
131
|
+
validateForAnyPolicy() {
|
|
132
|
+
const errors = new Array();
|
|
133
|
+
for (const statement of this.statements) {
|
|
134
|
+
errors.push(...statement.validateForAnyPolicy());
|
|
135
|
+
}
|
|
136
|
+
return errors;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
140
|
+
* requirements for a resource-based policy.
|
|
141
|
+
*
|
|
142
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
143
|
+
*
|
|
144
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
145
|
+
*/
|
|
146
|
+
validateForResourcePolicy() {
|
|
147
|
+
const errors = new Array();
|
|
148
|
+
for (const statement of this.statements) {
|
|
149
|
+
errors.push(...statement.validateForResourcePolicy());
|
|
150
|
+
}
|
|
151
|
+
return errors;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Validate that all policy statements in the policy document satisfies the
|
|
155
|
+
* requirements for an identity-based policy.
|
|
156
|
+
*
|
|
157
|
+
* @see https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json
|
|
158
|
+
*
|
|
159
|
+
* @returns An array of validation error messages, or an empty array if the document is valid.
|
|
160
|
+
*/
|
|
161
|
+
validateForIdentityPolicy() {
|
|
162
|
+
const errors = new Array();
|
|
163
|
+
for (const statement of this.statements) {
|
|
164
|
+
errors.push(...statement.validateForIdentityPolicy());
|
|
165
|
+
}
|
|
166
|
+
return errors;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.PolicyDocument = PolicyDocument;
|
|
170
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
171
|
+
PolicyDocument[_a] = { fqn: "terraconstructs.aws.iam.PolicyDocument", version: "0.0.8" };
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LWRvY3VtZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F3cy9pYW0vcG9saWN5LWRvY3VtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0dBQXdHO0FBQ3hHLHNHQUFzRztBQUN0Ryw0RkFBNEY7QUFDNUYsMkRBQTJEO0FBQzNELDZEQUE2RDtBQUM3RCxzREFBK0Q7QUFDL0QsaUNBQThDO0FBRzlDLHlEQUFxRDtBQUNyRCxvREFBbUU7QUFDbkUsaUVBQTZEO0FBQzdELHVGQUFrRjtBQWlGbEYsTUFBYSxjQUNYLFNBQVEsZ0NBQWdCO0lBR3hCOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUNwQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsR0FBUTtRQUVSLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsYUFBYSxDQUM3QixHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLGtDQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzFELENBQUM7UUFDRixPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFJRCw0Q0FBNEM7SUFDNUMsdUNBQXVDO0lBRXZDLElBQVcscUJBQXFCO1FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDNUIsQ0FBQztJQUlELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBNkIsRUFBRTtRQUN2RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQW5CVixlQUFVLEdBQUcsSUFBSSxLQUFLLEVBQW1CLENBQUM7UUFvQnhELElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksdUNBQXdCLENBQUMsd0JBQXdCLENBQ25FLElBQUksRUFDSixVQUFVLEVBQ1Y7WUFDRSxHQUFHLEtBQUs7WUFDUixTQUFTLEVBQUUsWUFBSSxDQUFDLFFBQVEsQ0FBQztnQkFDdkIsT0FBTyxFQUFFLENBQUMsT0FBd0IsRUFBRSxFQUFFO29CQUNwQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztvQkFDN0IsT0FBTyxDQUFDLHFCQUFxQixDQUMzQixJQUFJLHVEQUF5QixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FDbkQsQ0FBQztvQkFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDL0IsdUNBQXdCLENBQUMsNENBQTRDLENBQ25FLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FDWCxDQUNGLENBQUM7Z0JBQ0osQ0FBQzthQUNGLENBQUM7U0FDSCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHFCQUFxQjtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQ0FBZSxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDcEIsQ0FBQyxFQUNELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUN0QixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FDM0IsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTTtJQUNOLDJCQUEyQjtJQUMzQixLQUFLO0lBQ0wsMENBQTBDO0lBQzFDLE1BQU07SUFDTix5QkFBeUI7SUFDekIsYUFBYTtJQUNiLHlEQUF5RDtJQUN6RCxPQUFPO0lBQ1AsSUFBSTtJQUVKLDBEQUEwRDtJQUMxRCxxREFBcUQ7SUFFckQ7Ozs7T0FJRztJQUNJLGNBQWM7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELDRCQUE0QjtRQUM1QixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QixNQUFNLEdBQUcsR0FBRztZQUNWLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzFELE9BQU8sRUFBRSxZQUFZO1NBQ3RCLENBQUM7UUFFRixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsR0FBRyxTQUE0QjtRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksb0JBQW9CO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDbkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0kseUJBQXlCO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDbkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0kseUJBQXlCO1FBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFDbkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O0FBaE1ILHdDQTBNQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL3RyZWUvdjIuMTYxLjEvcGFja2FnZXMvYXdzLWNkay1saWIvYXdzLWlhbS9saWIvcG9saWN5LWRvY3VtZW50LnRzXG4vLyBDQVZFQVQ6IGluc3RlYWQgb2YgdXNpbmcgSVJlc29sdmFibGUsIHRoaXMgaXMgYSBDb25zdHJ1Y3QgYW5kIGl0cyBjb25zdHJ1Y3RvciByZXF1aXJlcyBzY29wZSBhbmQgaWRcbi8vIFRoaXMgc3ludGhzIGRpcmVjdGx5IHRvIHRoZSB0ZXJyYWZvcm0tcHJvdmlkZXItYXdzIGBhd3NfaWFtX3BvbGljeV9kb2N1bWVudGAgZGF0YSBzb3VyY2UuXG4vLyBUaGlzIGlzIG5vdCB1bmRlZmluZWQgd2hlbiB0aGUgcG9saWN5IGRvY3VtZW50IGlzIGVtcHR5LlxuLy8gVE9ETzogQWRkIHZhbGlkYXRpb24gYW5kIGVycm9ycyBmb3IgZW1wdHkgcG9saWN5IGRvY3VtZW50c1xuaW1wb3J0IHsgZGF0YUF3c0lhbVBvbGljeURvY3VtZW50IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1hd3NcIjtcbmltcG9ydCB7IExhenksIElSZXNvbHZlQ29udGV4dCB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFBvbGljeURvY3VtZW50Q29uZmlnIH0gZnJvbSBcIi4vcG9saWN5LWRvY3VtZW50LWNvbmZpZy5nZW5lcmF0ZWRcIjtcbmltcG9ydCB7IFBvbGljeVN0YXRlbWVudCB9IGZyb20gXCIuL3BvbGljeS1zdGF0ZW1lbnRcIjtcbmltcG9ydCB7IEF3c0NvbnN0cnVjdEJhc2UsIElBd3NDb25zdHJ1Y3QgfSBmcm9tIFwiLi4vYXdzLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgbWVyZ2VTdGF0ZW1lbnRzIH0gZnJvbSBcIi4vcHJpdmF0ZS9tZXJnZS1zdGF0ZW1lbnRzXCI7XG5pbXBvcnQgeyBQb3N0UHJvY2Vzc1BvbGljeURvY3VtZW50IH0gZnJvbSBcIi4vcHJpdmF0ZS9wb3N0cHJvY2Vzcy1wb2xpY3ktZG9jdW1lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQb2xpY3lEb2N1bWVudE91dHB1dHMge1xuICAvKipcbiAgICogVGhlIHBvbGljeSBkb2N1bWVudCBKU09OXG4gICAqL1xuICByZWFkb25seSBwb2xpY3k6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUG9saWN5RG9jdW1lbnQgZXh0ZW5kcyBJQXdzQ29uc3RydWN0IHtcbiAgLy8gc3Ryb25nbHkgdHlwZWQgYWNjZXNzIHRvIG91dHB1dHNcbiAgcmVhZG9ubHkgcG9saWN5RG9jdW1lbnRPdXRwdXRzOiBQb2xpY3lEb2N1bWVudE91dHB1dHM7XG4gIHJlYWRvbmx5IGlzRW1wdHk6IGJvb2xlYW47XG4gIHJlYWRvbmx5IHN0YXRlbWVudENvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IGpzb246IHN0cmluZztcbiAgLyoqXG4gICAqIEFkZHMgYSBzdGF0ZW1lbnQgdG8gdGhlIHBvbGljeSBkb2N1bWVudC5cbiAgICpcbiAgICogQHBhcmFtIHN0YXRlbWVudCB0aGUgc3RhdGVtZW50IHRvIGFkZC5cbiAgICovXG4gIGFkZFN0YXRlbWVudHMoLi4uc3RhdGVtZW50OiBQb2xpY3lTdGF0ZW1lbnRbXSk6IHZvaWQ7XG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IGFsbCBwb2xpY3kgc3RhdGVtZW50cyBpbiB0aGUgcG9saWN5IGRvY3VtZW50IHNhdGlzZmllcyB0aGVcbiAgICogcmVxdWlyZW1lbnRzIGZvciBhbnkgcG9saWN5LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfcG9saWNpZXMuaHRtbCNhY2Nlc3NfcG9saWNpZXMtanNvblxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGUgZG9jdW1lbnQgaXMgdmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZUZvckFueVBvbGljeSgpOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIFZhbGlkYXRlIHRoYXQgYWxsIHBvbGljeSBzdGF0ZW1lbnRzIGluIHRoZSBwb2xpY3kgZG9jdW1lbnQgc2F0aXNmaWVzIHRoZVxuICAgKiByZXF1aXJlbWVudHMgZm9yIGEgcmVzb3VyY2UtYmFzZWQgcG9saWN5LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfcG9saWNpZXMuaHRtbCNhY2Nlc3NfcG9saWNpZXMtanNvblxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGUgZG9jdW1lbnQgaXMgdmFsaWQuXG4gICAqL1xuICB2YWxpZGF0ZUZvclJlc291cmNlUG9saWN5KCk6IHN0cmluZ1tdIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IGFsbCBwb2xpY3kgc3RhdGVtZW50cyBpbiB0aGUgcG9saWN5IGRvY3VtZW50IHNhdGlzZmllcyB0aGVcbiAgICogcmVxdWlyZW1lbnRzIGZvciBhbiBpZGVudGl0eS1iYXNlZCBwb2xpY3kuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL2FjY2Vzc19wb2xpY2llcy5odG1sI2FjY2Vzc19wb2xpY2llcy1qc29uXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIG9yIGFuIGVtcHR5IGFycmF5IGlmIHRoZSBkb2N1bWVudCBpcyB2YWxpZC5cbiAgICovO1xuICB2YWxpZGF0ZUZvcklkZW50aXR5UG9saWN5KCk6IHN0cmluZ1tdO1xuICAvKipcbiAgICogR2V0IEFXUyBJQU0gUG9saWN5IGRvY3VtZW50IEpTT05cbiAgICpcbiAgICogTk9URTogVGhpcyBtYXkgY29udGFpbiB1bnJlc29sdmVkIHRva2VucywgdXNlIHNwZWMucmVzb2x2ZSgpIHRvIHJlc29sdmUgdGhlbS5cbiAgICovXG4gIHRvRG9jdW1lbnRKc29uKCk6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb2xpY3lEb2N1bWVudFByb3BzIGV4dGVuZHMgUG9saWN5RG9jdW1lbnRDb25maWcge1xuICAvKipcbiAgICogVHJ5IHRvIG1pbmltaXplIHRoZSBwb2xpY3kgYnkgbWVyZ2luZyBzdGF0ZW1lbnRzXG4gICAqXG4gICAqIFRvIGF2b2lkIG92ZXJydW5uaW5nIHRoZSBtYXhpbXVtIHBvbGljeSBzaXplLCBjb21iaW5lIHN0YXRlbWVudHMgaWYgdGhleSBwcm9kdWNlXG4gICAqIHRoZSBzYW1lIHJlc3VsdC4gTWVyZ2luZyBoYXBwZW5zIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHJ1bGVzOlxuICAgKlxuICAgKiAtIFRoZSBFZmZlY3Qgb2YgYm90aCBzdGF0ZW1lbnRzIGlzIHRoZSBzYW1lXG4gICAqIC0gTmVpdGhlciBvZiB0aGUgc3RhdGVtZW50cyBoYXZlIGEgJ1NpZCdcbiAgICogLSBDb21iaW5lIFByaW5jaXBhbHMgaWYgdGhlIHJlc3Qgb2YgdGhlIHN0YXRlbWVudCBpcyBleGFjdGx5IHRoZSBzYW1lLlxuICAgKiAtIENvbWJpbmUgUmVzb3VyY2VzIGlmIHRoZSByZXN0IG9mIHRoZSBzdGF0ZW1lbnQgaXMgZXhhY3RseSB0aGUgc2FtZS5cbiAgICogLSBDb21iaW5lIEFjdGlvbnMgaWYgdGhlIHJlc3Qgb2YgdGhlIHN0YXRlbWVudCBpcyBleGFjdGx5IHRoZSBzYW1lLlxuICAgKiAtIFdlIHdpbGwgbmV2ZXIgY29tYmluZSBOb3RQcmluY2lwYWxzLCBOb3RSZXNvdXJjZXMgb3IgTm90QWN0aW9ucywgYmVjYXVzZSBkb2luZ1xuICAgKiAgIHNvIHdvdWxkIGNoYW5nZSB0aGUgbWVhbmluZyBvZiB0aGUgcG9saWN5IGRvY3VtZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGZhbHNlLCB1bmxlc3MgdGhlIGZlYXR1cmUgZmxhZyBgQGF3cy1jZGsvYXdzLWlhbTptaW5pbWl6ZVBvbGljaWVzYCBpcyBzZXRcbiAgICovXG4gIHJlYWRvbmx5IG1pbmltaXplPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYXNzaWduIFN0YXRlbWVudCBJZHMgdG8gYWxsIHN0YXRlbWVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGFzc2lnblNpZHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgUG9saWN5RG9jdW1lbnRcbiAgZXh0ZW5kcyBBd3NDb25zdHJ1Y3RCYXNlXG4gIGltcGxlbWVudHMgSVBvbGljeURvY3VtZW50XG57XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFBvbGljeURvY3VtZW50IGJhc2VkIG9uIHRoZSBvYmplY3QgcHJvdmlkZWQuXG4gICAqIFRoaXMgd2lsbCBhY2NlcHQgYW4gb2JqZWN0IGNyZWF0ZWQgZnJvbSB0aGUgYC50b0RvY3VtZW50SnNvbigpYCBjYWxsXG4gICAqIEBwYXJhbSBvYmogdGhlIFBvbGljeURvY3VtZW50IGluIG9iamVjdCBmb3JtLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tSnNvbihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgb2JqOiBhbnksXG4gICk6IFBvbGljeURvY3VtZW50IHtcbiAgICBjb25zdCBuZXdQb2xpY3lEb2N1bWVudCA9IG5ldyBQb2xpY3lEb2N1bWVudChzY29wZSwgaWQpO1xuICAgIGNvbnN0IHN0YXRlbWVudCA9IG9iai5TdGF0ZW1lbnQgPz8gW107XG4gICAgaWYgKHN0YXRlbWVudCAmJiAhQXJyYXkuaXNBcnJheShzdGF0ZW1lbnQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTdGF0ZW1lbnQgbXVzdCBiZSBhbiBhcnJheVwiKTtcbiAgICB9XG4gICAgbmV3UG9saWN5RG9jdW1lbnQuYWRkU3RhdGVtZW50cyhcbiAgICAgIC4uLnN0YXRlbWVudC5tYXAoKHM6IGFueSkgPT4gUG9saWN5U3RhdGVtZW50LmZyb21Kc29uKHMpKSxcbiAgICApO1xuICAgIHJldHVybiBuZXdQb2xpY3lEb2N1bWVudDtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZW1lbnRzID0gbmV3IEFycmF5PFBvbGljeVN0YXRlbWVudD4oKTtcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlOiBkYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQuRGF0YUF3c0lhbVBvbGljeURvY3VtZW50O1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IGF1dG9Bc3NpZ25TaWRzOiBib29sZWFuO1xuICAvLyBwcml2YXRlIHJlYWRvbmx5IG1pbmltaXplPzogYm9vbGVhbjtcblxuICBwdWJsaWMgZ2V0IHBvbGljeURvY3VtZW50T3V0cHV0cygpOiBQb2xpY3lEb2N1bWVudE91dHB1dHMge1xuICAgIHJldHVybiB7IHBvbGljeTogdGhpcy5qc29uIH07XG4gIH1cbiAgcHVibGljIGdldCBvdXRwdXRzKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnBvbGljeURvY3VtZW50T3V0cHV0cztcbiAgfVxuXG4gIHB1YmxpYyBnZXQganNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlc291cmNlLmpzb247XG4gIH1cbiAgcHJpdmF0ZSByZWFkb25seSBhdXRvQXNzaWduU2lkczogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWFkb25seSBtaW5pbWl6ZT86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBvbGljeURvY3VtZW50UHJvcHMgPSB7fSkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuYXV0b0Fzc2lnblNpZHMgPSAhIXByb3BzLmFzc2lnblNpZHM7XG4gICAgdGhpcy5taW5pbWl6ZSA9IHByb3BzLm1pbmltaXplID8/IGZhbHNlO1xuICAgIHRoaXMuYWRkU3RhdGVtZW50cyguLi4ocHJvcHMuc3RhdGVtZW50IHx8IFtdKSk7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgLy8gVE9ETzogbW92ZSBpbiB0b1RlcnJhZm9ybSgpIGFuZCBkb24ndCBnZW5lcmF0ZSBhbnl0aGluZyBpZiBpc0VtcHR5KCk/XG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBkYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQuRGF0YUF3c0lhbVBvbGljeURvY3VtZW50KFxuICAgICAgdGhpcyxcbiAgICAgIFwiUmVzb3VyY2VcIixcbiAgICAgIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIHN0YXRlbWVudDogTGF6eS5hbnlWYWx1ZSh7XG4gICAgICAgICAgcHJvZHVjZTogKGNvbnRleHQ6IElSZXNvbHZlQ29udGV4dCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fbWF5YmVNZXJnZVN0YXRlbWVudHMoKTtcbiAgICAgICAgICAgIGNvbnRleHQucmVnaXN0ZXJQb3N0UHJvY2Vzc29yKFxuICAgICAgICAgICAgICBuZXcgUG9zdFByb2Nlc3NQb2xpY3lEb2N1bWVudChzZWxmLmF1dG9Bc3NpZ25TaWRzKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnRzLm1hcCgocykgPT5cbiAgICAgICAgICAgICAgZGF0YUF3c0lhbVBvbGljeURvY3VtZW50LmRhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudFN0YXRlbWVudFRvVGVycmFmb3JtKFxuICAgICAgICAgICAgICAgIHMudG9KU09OKCksXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gc3RhdGVtZW50IG1lcmdpbmcgKGlmIGVuYWJsZWQgYW5kIG5vdCBkb25lIHlldClcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX21heWJlTWVyZ2VTdGF0ZW1lbnRzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm1pbmltaXplICYmIHRoaXMuc3RhdGVtZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBtZXJnZVN0YXRlbWVudHModGhpcy5zdGF0ZW1lbnRzLCB7IHNjb3BlOiB0aGlzIH0pO1xuICAgICAgdGhpcy5zdGF0ZW1lbnRzLnNwbGljZShcbiAgICAgICAgMCxcbiAgICAgICAgdGhpcy5zdGF0ZW1lbnRzLmxlbmd0aCxcbiAgICAgICAgLi4ucmVzdWx0Lm1lcmdlZFN0YXRlbWVudHMsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIC8qKlxuICAvLyAgKiBKU09OLWlmeSB0aGUgZG9jdW1lbnRcbiAgLy8gICpcbiAgLy8gICogVXNlZCB3aGVuIEpTT04uc3RyaW5naWZ5KCkgaXMgY2FsbGVkXG4gIC8vICAqL1xuICAvLyBwdWJsaWMgdG9KU09OKCk6IGFueSB7XG4gIC8vICAgcmV0dXJuIHtcbiAgLy8gICAgIHN0YXRlbWVudDogdGhpcy5zdGF0ZW1lbnRzLm1hcCgocykgPT4gcy50b0pTT04oKSksXG4gIC8vICAgfTtcbiAgLy8gfVxuXG4gIC8vVE9ETzogQ2F1dGlvbiAtIHRvVGVycmFmb3JtKCkgcmV0dXJucyBub3RoaW5nIGJ5IGRlc2lnbiFcbiAgLy8gQWRkaW5nIHRvVGVycmFmb3JtKCkgd2lsbCBjYXVzZSBpbmZpbml0ZSByZWN1cnNpb25cblxuICAvKipcbiAgICogR2V0IEFXUyBJQU0gUG9saWN5IGRvY3VtZW50IEpTT05cbiAgICpcbiAgICogTk9URTogTWF5IGNvbnRhaW4gdG9rZW5zLCB1c2Ugc3BlYy5yZXNvbHZlKCkgdG8gcmVzb2x2ZSB0aGVtLlxuICAgKi9cbiAgcHVibGljIHRvRG9jdW1lbnRKc29uKCk6IGFueSB7XG4gICAgaWYgKHRoaXMuaXNFbXB0eSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvLyBtZXJnZSByZXNvbHZlZCBzdGF0ZW1lbnRzXG4gICAgdGhpcy5fbWF5YmVNZXJnZVN0YXRlbWVudHMoKTtcbiAgICBjb25zdCBkb2MgPSB7XG4gICAgICBTdGF0ZW1lbnQ6IHRoaXMuc3RhdGVtZW50cy5tYXAoKHMpID0+IHMudG9TdGF0ZW1lbnRKc29uKCkpLFxuICAgICAgVmVyc2lvbjogXCIyMDEyLTEwLTE3XCIsXG4gICAgfTtcblxuICAgIHJldHVybiBkb2M7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcG9saWN5IGRvY3VtZW50IGNvbnRhaW5zIGFueSBzdGF0ZW1lbnRzLlxuICAgKi9cbiAgcHVibGljIGdldCBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlbWVudHMubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc3RhdGVtZW50cyBhbHJlYWR5IGFkZGVkIHRvIHRoaXMgcG9saWN5LlxuICAgKiBDYW4gYmUgdXNlZCwgZm9yIGV4YW1wbGUsIHRvIGdlbmVyYXRlIHVuaXF1ZSBcInNpZFwicyB3aXRoaW4gdGhlIHBvbGljeS5cbiAgICovXG4gIHB1YmxpYyBnZXQgc3RhdGVtZW50Q291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnRzLmxlbmd0aDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgc3RhdGVtZW50IHRvIHRoZSBwb2xpY3kgZG9jdW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBzdGF0ZW1lbnQgdGhlIHN0YXRlbWVudCB0byBhZGQuXG4gICAqL1xuICBwdWJsaWMgYWRkU3RhdGVtZW50cyguLi5zdGF0ZW1lbnQ6IFBvbGljeVN0YXRlbWVudFtdKSB7XG4gICAgdGhpcy5zdGF0ZW1lbnRzLnB1c2goLi4uc3RhdGVtZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGF0IGFsbCBwb2xpY3kgc3RhdGVtZW50cyBpbiB0aGUgcG9saWN5IGRvY3VtZW50IHNhdGlzZmllcyB0aGVcbiAgICogcmVxdWlyZW1lbnRzIGZvciBhbnkgcG9saWN5LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfcG9saWNpZXMuaHRtbCNhY2Nlc3NfcG9saWNpZXMtanNvblxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGUgZG9jdW1lbnQgaXMgdmFsaWQuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGVGb3JBbnlQb2xpY3koKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGVycm9ycyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgZm9yIChjb25zdCBzdGF0ZW1lbnQgb2YgdGhpcy5zdGF0ZW1lbnRzKSB7XG4gICAgICBlcnJvcnMucHVzaCguLi5zdGF0ZW1lbnQudmFsaWRhdGVGb3JBbnlQb2xpY3koKSk7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhbGwgcG9saWN5IHN0YXRlbWVudHMgaW4gdGhlIHBvbGljeSBkb2N1bWVudCBzYXRpc2ZpZXMgdGhlXG4gICAqIHJlcXVpcmVtZW50cyBmb3IgYSByZXNvdXJjZS1iYXNlZCBwb2xpY3kuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0lBTS9sYXRlc3QvVXNlckd1aWRlL2FjY2Vzc19wb2xpY2llcy5odG1sI2FjY2Vzc19wb2xpY2llcy1qc29uXG4gICAqXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIG9yIGFuIGVtcHR5IGFycmF5IGlmIHRoZSBkb2N1bWVudCBpcyB2YWxpZC5cbiAgICovXG4gIHB1YmxpYyB2YWxpZGF0ZUZvclJlc291cmNlUG9saWN5KCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIHRoaXMuc3RhdGVtZW50cykge1xuICAgICAgZXJyb3JzLnB1c2goLi4uc3RhdGVtZW50LnZhbGlkYXRlRm9yUmVzb3VyY2VQb2xpY3koKSk7XG4gICAgfVxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGUgdGhhdCBhbGwgcG9saWN5IHN0YXRlbWVudHMgaW4gdGhlIHBvbGljeSBkb2N1bWVudCBzYXRpc2ZpZXMgdGhlXG4gICAqIHJlcXVpcmVtZW50cyBmb3IgYW4gaWRlbnRpdHktYmFzZWQgcG9saWN5LlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9JQU0vbGF0ZXN0L1VzZXJHdWlkZS9hY2Nlc3NfcG9saWNpZXMuaHRtbCNhY2Nlc3NfcG9saWNpZXMtanNvblxuICAgKlxuICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBvciBhbiBlbXB0eSBhcnJheSBpZiB0aGUgZG9jdW1lbnQgaXMgdmFsaWQuXG4gICAqL1xuICBwdWJsaWMgdmFsaWRhdGVGb3JJZGVudGl0eVBvbGljeSgpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgZXJyb3JzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiB0aGlzLnN0YXRlbWVudHMpIHtcbiAgICAgIGVycm9ycy5wdXNoKC4uLnN0YXRlbWVudC52YWxpZGF0ZUZvcklkZW50aXR5UG9saWN5KCkpO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgLy8gLyoqXG4gIC8vICAqIEZyZWV6ZSBhbGwgc3RhdGVtZW50c1xuICAvLyAgKi9cbiAgLy8gcHJpdmF0ZSBmcmVlemVTdGF0ZW1lbnRzKCkge1xuICAvLyAgIGZvciAoY29uc3Qgc3RhdGVtZW50IG9mIHRoaXMuc3RhdGVtZW50cykge1xuICAvLyAgICAgc3RhdGVtZW50LmZyZWV6ZSgpO1xuICAvLyAgIH1cbiAgLy8gfVxufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { Condition, Effect, IPrincipal } from './';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for creating a policy statement
|
|
4
|
+
*/
|
|
5
|
+
export interface PolicyStatementProps {
|
|
6
|
+
/**
|
|
7
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#sid DataAwsIamPolicyDocument#sid}.
|
|
8
|
+
* @stability stable
|
|
9
|
+
*/
|
|
10
|
+
readonly sid?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#resources DataAwsIamPolicyDocument#resources}.
|
|
13
|
+
* @stability stable
|
|
14
|
+
*/
|
|
15
|
+
readonly resources?: Array<string>;
|
|
16
|
+
/**
|
|
17
|
+
* principals block.
|
|
18
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#principals DataAwsIamPolicyDocument#principals}
|
|
19
|
+
* @stability stable
|
|
20
|
+
*/
|
|
21
|
+
readonly principals?: Array<IPrincipal>;
|
|
22
|
+
/**
|
|
23
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#not_resources DataAwsIamPolicyDocument#not_resources}.
|
|
24
|
+
* @stability stable
|
|
25
|
+
*/
|
|
26
|
+
readonly notResources?: Array<string>;
|
|
27
|
+
/**
|
|
28
|
+
* not_principals block.
|
|
29
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#not_principals DataAwsIamPolicyDocument#not_principals}
|
|
30
|
+
* @stability stable
|
|
31
|
+
*/
|
|
32
|
+
readonly notPrincipals?: Array<IPrincipal>;
|
|
33
|
+
/**
|
|
34
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#not_actions DataAwsIamPolicyDocument#not_actions}.
|
|
35
|
+
* @stability stable
|
|
36
|
+
*/
|
|
37
|
+
readonly notActions?: Array<string>;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to allow or deny the actions in this statement.
|
|
40
|
+
* @default Effect.ALLOW
|
|
41
|
+
* @stability stable
|
|
42
|
+
*/
|
|
43
|
+
readonly effect?: Effect;
|
|
44
|
+
/**
|
|
45
|
+
* condition block.
|
|
46
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#condition DataAwsIamPolicyDocument#condition}
|
|
47
|
+
* @stability stable
|
|
48
|
+
*/
|
|
49
|
+
readonly condition?: Array<Condition>;
|
|
50
|
+
/**
|
|
51
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.68.0/docs/data-sources/iam_policy_document#actions DataAwsIamPolicyDocument#actions}.
|
|
52
|
+
* @stability stable
|
|
53
|
+
*/
|
|
54
|
+
readonly actions?: Array<string>;
|
|
55
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9saWN5LXN0YXRlbWVudC1wcm9wcy5nZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXdzL2lhbS9wb2xpY3ktc3RhdGVtZW50LXByb3BzLmdlbmVyYXRlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy50cyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0IHR5cGUgeyBDb25kaXRpb24sIEVmZmVjdCwgSVByaW5jaXBhbCB9IGZyb20gJy4vJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNyZWF0aW5nIGEgcG9saWN5IHN0YXRlbWVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGljeVN0YXRlbWVudFByb3BzIHtcbiAgLyoqXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjc2lkIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNzaWR9LlxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgc2lkPzogc3RyaW5nO1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNyZXNvdXJjZXMgRGF0YUF3c0lhbVBvbGljeURvY3VtZW50I3Jlc291cmNlc30uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZXM/OiBBcnJheTxzdHJpbmc+O1xuICAvKipcbiAgICogcHJpbmNpcGFscyBibG9jay5cbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNwcmluY2lwYWxzIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNwcmluY2lwYWxzfVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpbmNpcGFscz86IEFycmF5PElQcmluY2lwYWw+O1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNub3RfcmVzb3VyY2VzIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNub3RfcmVzb3VyY2VzfS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IG5vdFJlc291cmNlcz86IEFycmF5PHN0cmluZz47XG4gIC8qKlxuICAgKiBub3RfcHJpbmNpcGFscyBibG9jay5cbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNub3RfcHJpbmNpcGFscyBEYXRhQXdzSWFtUG9saWN5RG9jdW1lbnQjbm90X3ByaW5jaXBhbHN9XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBub3RQcmluY2lwYWxzPzogQXJyYXk8SVByaW5jaXBhbD47XG4gIC8qKlxuICAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9oYXNoaWNvcnAvYXdzLzUuNjguMC9kb2NzL2RhdGEtc291cmNlcy9pYW1fcG9saWN5X2RvY3VtZW50I25vdF9hY3Rpb25zIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNub3RfYWN0aW9uc30uXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBub3RBY3Rpb25zPzogQXJyYXk8c3RyaW5nPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gYWxsb3cgb3IgZGVueSB0aGUgYWN0aW9ucyBpbiB0aGlzIHN0YXRlbWVudC5cbiAgICogQGRlZmF1bHQgRWZmZWN0LkFMTE9XXG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBlZmZlY3Q/OiBFZmZlY3Q7XG4gIC8qKlxuICAgKiBjb25kaXRpb24gYmxvY2suXG4gICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL2hhc2hpY29ycC9hd3MvNS42OC4wL2RvY3MvZGF0YS1zb3VyY2VzL2lhbV9wb2xpY3lfZG9jdW1lbnQjY29uZGl0aW9uIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNjb25kaXRpb259XG4gICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb24/OiBBcnJheTxDb25kaXRpb24+O1xuICAvKipcbiAgICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvaGFzaGljb3JwL2F3cy81LjY4LjAvZG9jcy9kYXRhLXNvdXJjZXMvaWFtX3BvbGljeV9kb2N1bWVudCNhY3Rpb25zIERhdGFBd3NJYW1Qb2xpY3lEb2N1bWVudCNhY3Rpb25zfS5cbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGlvbnM/OiBBcnJheTxzdHJpbmc+O1xufVxuIl19
|