@actsecurity/iam-simulate 0.1.173
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/LICENSE.txt +661 -0
- package/README.md +257 -0
- package/dist/cjs/StatementAnalysis.d.ts +63 -0
- package/dist/cjs/StatementAnalysis.d.ts.map +1 -0
- package/dist/cjs/StatementAnalysis.js +48 -0
- package/dist/cjs/StatementAnalysis.js.map +1 -0
- package/dist/cjs/action/action.d.ts +37 -0
- package/dist/cjs/action/action.d.ts.map +1 -0
- package/dist/cjs/action/action.js +102 -0
- package/dist/cjs/action/action.js.map +1 -0
- package/dist/cjs/analysis/allowedConditions.d.ts +61 -0
- package/dist/cjs/analysis/allowedConditions.d.ts.map +1 -0
- package/dist/cjs/analysis/allowedConditions.js +395 -0
- package/dist/cjs/analysis/allowedConditions.js.map +1 -0
- package/dist/cjs/analysis/analyzeResults.d.ts +99 -0
- package/dist/cjs/analysis/analyzeResults.d.ts.map +1 -0
- package/dist/cjs/analysis/analyzeResults.js +187 -0
- package/dist/cjs/analysis/analyzeResults.js.map +1 -0
- package/dist/cjs/condition/BaseConditionOperator.d.ts +13 -0
- package/dist/cjs/condition/BaseConditionOperator.d.ts.map +1 -0
- package/dist/cjs/condition/BaseConditionOperator.js +3 -0
- package/dist/cjs/condition/BaseConditionOperator.js.map +1 -0
- package/dist/cjs/condition/arn/ArnEquals.d.ts +3 -0
- package/dist/cjs/condition/arn/ArnEquals.d.ts.map +1 -0
- package/dist/cjs/condition/arn/ArnEquals.js +12 -0
- package/dist/cjs/condition/arn/ArnEquals.js.map +1 -0
- package/dist/cjs/condition/arn/ArnLike.d.ts +3 -0
- package/dist/cjs/condition/arn/ArnLike.d.ts.map +1 -0
- package/dist/cjs/condition/arn/ArnLike.js +18 -0
- package/dist/cjs/condition/arn/ArnLike.js.map +1 -0
- package/dist/cjs/condition/arn/ArnNotEquals.d.ts +3 -0
- package/dist/cjs/condition/arn/ArnNotEquals.d.ts.map +1 -0
- package/dist/cjs/condition/arn/ArnNotEquals.js +12 -0
- package/dist/cjs/condition/arn/ArnNotEquals.js.map +1 -0
- package/dist/cjs/condition/arn/ArnNotLike.d.ts +3 -0
- package/dist/cjs/condition/arn/ArnNotLike.d.ts.map +1 -0
- package/dist/cjs/condition/arn/ArnNotLike.js +18 -0
- package/dist/cjs/condition/arn/ArnNotLike.js.map +1 -0
- package/dist/cjs/condition/arn/arn.d.ts +12 -0
- package/dist/cjs/condition/arn/arn.d.ts.map +1 -0
- package/dist/cjs/condition/arn/arn.js +71 -0
- package/dist/cjs/condition/arn/arn.js.map +1 -0
- package/dist/cjs/condition/binary/BinaryEquals.d.ts +7 -0
- package/dist/cjs/condition/binary/BinaryEquals.d.ts.map +1 -0
- package/dist/cjs/condition/binary/BinaryEquals.js +28 -0
- package/dist/cjs/condition/binary/BinaryEquals.js.map +1 -0
- package/dist/cjs/condition/boolean/Bool.d.ts +3 -0
- package/dist/cjs/condition/boolean/Bool.d.ts.map +1 -0
- package/dist/cjs/condition/boolean/Bool.js +54 -0
- package/dist/cjs/condition/boolean/Bool.js.map +1 -0
- package/dist/cjs/condition/condition.d.ts +26 -0
- package/dist/cjs/condition/condition.d.ts.map +1 -0
- package/dist/cjs/condition/condition.js +665 -0
- package/dist/cjs/condition/condition.js.map +1 -0
- package/dist/cjs/condition/conditionUtil.d.ts +10 -0
- package/dist/cjs/condition/conditionUtil.d.ts.map +1 -0
- package/dist/cjs/condition/conditionUtil.js +19 -0
- package/dist/cjs/condition/conditionUtil.js.map +1 -0
- package/dist/cjs/condition/date/DateEquals.d.ts +3 -0
- package/dist/cjs/condition/date/DateEquals.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateEquals.js +22 -0
- package/dist/cjs/condition/date/DateEquals.js.map +1 -0
- package/dist/cjs/condition/date/DateGreaterThan.d.ts +3 -0
- package/dist/cjs/condition/date/DateGreaterThan.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateGreaterThan.js +22 -0
- package/dist/cjs/condition/date/DateGreaterThan.js.map +1 -0
- package/dist/cjs/condition/date/DateGreaterThanEquals.d.ts +3 -0
- package/dist/cjs/condition/date/DateGreaterThanEquals.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateGreaterThanEquals.js +22 -0
- package/dist/cjs/condition/date/DateGreaterThanEquals.js.map +1 -0
- package/dist/cjs/condition/date/DateLessThan.d.ts +3 -0
- package/dist/cjs/condition/date/DateLessThan.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateLessThan.js +22 -0
- package/dist/cjs/condition/date/DateLessThan.js.map +1 -0
- package/dist/cjs/condition/date/DateLessThanEquals.d.ts +3 -0
- package/dist/cjs/condition/date/DateLessThanEquals.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateLessThanEquals.js +22 -0
- package/dist/cjs/condition/date/DateLessThanEquals.js.map +1 -0
- package/dist/cjs/condition/date/DateNotEquals.d.ts +3 -0
- package/dist/cjs/condition/date/DateNotEquals.d.ts.map +1 -0
- package/dist/cjs/condition/date/DateNotEquals.js +22 -0
- package/dist/cjs/condition/date/DateNotEquals.js.map +1 -0
- package/dist/cjs/condition/date/date.d.ts +18 -0
- package/dist/cjs/condition/date/date.d.ts.map +1 -0
- package/dist/cjs/condition/date/date.js +57 -0
- package/dist/cjs/condition/date/date.js.map +1 -0
- package/dist/cjs/condition/ipaddress/IpAddress.d.ts +3 -0
- package/dist/cjs/condition/ipaddress/IpAddress.d.ts.map +1 -0
- package/dist/cjs/condition/ipaddress/IpAddress.js +20 -0
- package/dist/cjs/condition/ipaddress/IpAddress.js.map +1 -0
- package/dist/cjs/condition/ipaddress/NotIpAddress.d.ts +3 -0
- package/dist/cjs/condition/ipaddress/NotIpAddress.d.ts.map +1 -0
- package/dist/cjs/condition/ipaddress/NotIpAddress.js +20 -0
- package/dist/cjs/condition/ipaddress/NotIpAddress.js.map +1 -0
- package/dist/cjs/condition/ipaddress/ip.d.ts +11 -0
- package/dist/cjs/condition/ipaddress/ip.d.ts.map +1 -0
- package/dist/cjs/condition/ipaddress/ip.js +70 -0
- package/dist/cjs/condition/ipaddress/ip.js.map +1 -0
- package/dist/cjs/condition/ipaddress/ipv4.d.ts +24 -0
- package/dist/cjs/condition/ipaddress/ipv4.d.ts.map +1 -0
- package/dist/cjs/condition/ipaddress/ipv4.js +59 -0
- package/dist/cjs/condition/ipaddress/ipv4.js.map +1 -0
- package/dist/cjs/condition/ipaddress/ipv6.d.ts +24 -0
- package/dist/cjs/condition/ipaddress/ipv6.d.ts.map +1 -0
- package/dist/cjs/condition/ipaddress/ipv6.js +111 -0
- package/dist/cjs/condition/ipaddress/ipv6.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericEquals.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericEquals.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericEquals.js +22 -0
- package/dist/cjs/condition/numeric/NumericEquals.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericGreaterThan.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericGreaterThan.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericGreaterThan.js +22 -0
- package/dist/cjs/condition/numeric/NumericGreaterThan.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.js +22 -0
- package/dist/cjs/condition/numeric/NumericGreaterThanEquals.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericLessThan.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericLessThan.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericLessThan.js +22 -0
- package/dist/cjs/condition/numeric/NumericLessThan.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericLessThanEquals.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericLessThanEquals.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericLessThanEquals.js +22 -0
- package/dist/cjs/condition/numeric/NumericLessThanEquals.js.map +1 -0
- package/dist/cjs/condition/numeric/NumericNotEquals.d.ts +3 -0
- package/dist/cjs/condition/numeric/NumericNotEquals.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/NumericNotEquals.js +22 -0
- package/dist/cjs/condition/numeric/NumericNotEquals.js.map +1 -0
- package/dist/cjs/condition/numeric/numeric.d.ts +18 -0
- package/dist/cjs/condition/numeric/numeric.d.ts.map +1 -0
- package/dist/cjs/condition/numeric/numeric.js +56 -0
- package/dist/cjs/condition/numeric/numeric.js.map +1 -0
- package/dist/cjs/condition/string/StringEquals.d.ts +3 -0
- package/dist/cjs/condition/string/StringEquals.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringEquals.js +35 -0
- package/dist/cjs/condition/string/StringEquals.js.map +1 -0
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.d.ts +3 -0
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.js +35 -0
- package/dist/cjs/condition/string/StringEqualsIgnoreCase.js.map +1 -0
- package/dist/cjs/condition/string/StringLike.d.ts +3 -0
- package/dist/cjs/condition/string/StringLike.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringLike.js +35 -0
- package/dist/cjs/condition/string/StringLike.js.map +1 -0
- package/dist/cjs/condition/string/StringNotEquals.d.ts +3 -0
- package/dist/cjs/condition/string/StringNotEquals.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringNotEquals.js +35 -0
- package/dist/cjs/condition/string/StringNotEquals.js.map +1 -0
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.d.ts +3 -0
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.js +35 -0
- package/dist/cjs/condition/string/StringNotEqualsIgnoreCase.js.map +1 -0
- package/dist/cjs/condition/string/StringNotLike.d.ts +3 -0
- package/dist/cjs/condition/string/StringNotLike.d.ts.map +1 -0
- package/dist/cjs/condition/string/StringNotLike.js +35 -0
- package/dist/cjs/condition/string/StringNotLike.js.map +1 -0
- package/dist/cjs/context_keys/contextKeyTypes.d.ts +19 -0
- package/dist/cjs/context_keys/contextKeyTypes.d.ts.map +1 -0
- package/dist/cjs/context_keys/contextKeyTypes.js +27 -0
- package/dist/cjs/context_keys/contextKeyTypes.js.map +1 -0
- package/dist/cjs/context_keys/contextKeys.d.ts +24 -0
- package/dist/cjs/context_keys/contextKeys.d.ts.map +1 -0
- package/dist/cjs/context_keys/contextKeys.js +121 -0
- package/dist/cjs/context_keys/contextKeys.js.map +1 -0
- package/dist/cjs/context_keys/discoveryContextKeyConstraints.d.ts +103 -0
- package/dist/cjs/context_keys/discoveryContextKeyConstraints.d.ts.map +1 -0
- package/dist/cjs/context_keys/discoveryContextKeyConstraints.js +153 -0
- package/dist/cjs/context_keys/discoveryContextKeyConstraints.js.map +1 -0
- package/dist/cjs/context_keys/findContextKeys.d.ts +19 -0
- package/dist/cjs/context_keys/findContextKeys.d.ts.map +1 -0
- package/dist/cjs/context_keys/findContextKeys.js +58 -0
- package/dist/cjs/context_keys/findContextKeys.js.map +1 -0
- package/dist/cjs/core_engine/CoreSimulatorEngine.d.ts +134 -0
- package/dist/cjs/core_engine/CoreSimulatorEngine.d.ts.map +1 -0
- package/dist/cjs/core_engine/CoreSimulatorEngine.js +444 -0
- package/dist/cjs/core_engine/CoreSimulatorEngine.js.map +1 -0
- package/dist/cjs/evaluate.d.ts +199 -0
- package/dist/cjs/evaluate.d.ts.map +1 -0
- package/dist/cjs/evaluate.js +3 -0
- package/dist/cjs/evaluate.js.map +1 -0
- package/dist/cjs/explain/displayExplainCli.d.ts +3 -0
- package/dist/cjs/explain/displayExplainCli.d.ts.map +1 -0
- package/dist/cjs/explain/displayExplainCli.js +260 -0
- package/dist/cjs/explain/displayExplainCli.js.map +1 -0
- package/dist/cjs/explain/statementExplain.d.ts +161 -0
- package/dist/cjs/explain/statementExplain.d.ts.map +1 -0
- package/dist/cjs/explain/statementExplain.js +33 -0
- package/dist/cjs/explain/statementExplain.js.map +1 -0
- package/dist/cjs/global_conditions/globalConditionKeys.d.ts +3 -0
- package/dist/cjs/global_conditions/globalConditionKeys.d.ts.map +1 -0
- package/dist/cjs/global_conditions/globalConditionKeys.js +12 -0
- package/dist/cjs/global_conditions/globalConditionKeys.js.map +1 -0
- package/dist/cjs/index.d.ts +16 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +25 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/policyType.d.ts +13 -0
- package/dist/cjs/policyType.d.ts.map +1 -0
- package/dist/cjs/policyType.js +3 -0
- package/dist/cjs/policyType.js.map +1 -0
- package/dist/cjs/principal/principal.d.ts +61 -0
- package/dist/cjs/principal/principal.d.ts.map +1 -0
- package/dist/cjs/principal/principal.js +357 -0
- package/dist/cjs/principal/principal.js.map +1 -0
- package/dist/cjs/request/request.d.ts +66 -0
- package/dist/cjs/request/request.d.ts.map +1 -0
- package/dist/cjs/request/request.js +42 -0
- package/dist/cjs/request/request.js.map +1 -0
- package/dist/cjs/request/requestAction.d.ts +27 -0
- package/dist/cjs/request/requestAction.d.ts.map +1 -0
- package/dist/cjs/request/requestAction.js +20 -0
- package/dist/cjs/request/requestAction.js.map +1 -0
- package/dist/cjs/request/requestPrincipal.d.ts +92 -0
- package/dist/cjs/request/requestPrincipal.d.ts.map +1 -0
- package/dist/cjs/request/requestPrincipal.js +88 -0
- package/dist/cjs/request/requestPrincipal.js.map +1 -0
- package/dist/cjs/request/requestResource.d.ts +55 -0
- package/dist/cjs/request/requestResource.d.ts.map +1 -0
- package/dist/cjs/request/requestResource.js +40 -0
- package/dist/cjs/request/requestResource.js.map +1 -0
- package/dist/cjs/requestContext.d.ts +63 -0
- package/dist/cjs/requestContext.d.ts.map +1 -0
- package/dist/cjs/requestContext.js +46 -0
- package/dist/cjs/requestContext.js.map +1 -0
- package/dist/cjs/resource/resource.d.ts +54 -0
- package/dist/cjs/resource/resource.d.ts.map +1 -0
- package/dist/cjs/resource/resource.js +585 -0
- package/dist/cjs/resource/resource.js.map +1 -0
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts +182 -0
- package/dist/cjs/services/DefaultServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/DefaultServiceAuthorizer.js +625 -0
- package/dist/cjs/services/DefaultServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/IamServiceAuthorizer.d.ts +10 -0
- package/dist/cjs/services/IamServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/IamServiceAuthorizer.js +65 -0
- package/dist/cjs/services/IamServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/KmsServiceAuthorizer.d.ts +29 -0
- package/dist/cjs/services/KmsServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/KmsServiceAuthorizer.js +83 -0
- package/dist/cjs/services/KmsServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/ServiceAuthorizer.d.ts +27 -0
- package/dist/cjs/services/ServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/ServiceAuthorizer.js +3 -0
- package/dist/cjs/services/ServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/StsServiceAuthorizer.d.ts +19 -0
- package/dist/cjs/services/StsServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/StsServiceAuthorizer.js +45 -0
- package/dist/cjs/services/StsServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/s3/S3ServiceAuthorizer.d.ts +24 -0
- package/dist/cjs/services/s3/S3ServiceAuthorizer.d.ts.map +1 -0
- package/dist/cjs/services/s3/S3ServiceAuthorizer.js +79 -0
- package/dist/cjs/services/s3/S3ServiceAuthorizer.js.map +1 -0
- package/dist/cjs/services/s3/s3BlockPublicAccess.d.ts +50 -0
- package/dist/cjs/services/s3/s3BlockPublicAccess.d.ts.map +1 -0
- package/dist/cjs/services/s3/s3BlockPublicAccess.js +301 -0
- package/dist/cjs/services/s3/s3BlockPublicAccess.js.map +1 -0
- package/dist/cjs/simulation_engine/contextKeys.d.ts +13 -0
- package/dist/cjs/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/contextKeys.js +58 -0
- package/dist/cjs/simulation_engine/contextKeys.js.map +1 -0
- package/dist/cjs/simulation_engine/overallResult.d.ts +13 -0
- package/dist/cjs/simulation_engine/overallResult.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/overallResult.js +35 -0
- package/dist/cjs/simulation_engine/overallResult.js.map +1 -0
- package/dist/cjs/simulation_engine/policyResources.d.ts +44 -0
- package/dist/cjs/simulation_engine/policyResources.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/policyResources.js +120 -0
- package/dist/cjs/simulation_engine/policyResources.js.map +1 -0
- package/dist/cjs/simulation_engine/resourceTypes.d.ts +11 -0
- package/dist/cjs/simulation_engine/resourceTypes.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/resourceTypes.js +26 -0
- package/dist/cjs/simulation_engine/resourceTypes.js.map +1 -0
- package/dist/cjs/simulation_engine/simulation.d.ts +114 -0
- package/dist/cjs/simulation_engine/simulation.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/simulation.js +35 -0
- package/dist/cjs/simulation_engine/simulation.js.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts +128 -0
- package/dist/cjs/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/simulationEngine.js +432 -0
- package/dist/cjs/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/cjs/simulation_engine/simulationOptions.d.ts +21 -0
- package/dist/cjs/simulation_engine/simulationOptions.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/simulationOptions.js +3 -0
- package/dist/cjs/simulation_engine/simulationOptions.js.map +1 -0
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.d.ts +13 -0
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.d.ts.map +1 -0
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.js +62 -0
- package/dist/cjs/simulation_engine/unsafeSimulationEngine.js.map +1 -0
- package/dist/cjs/util/resourceStrings.d.ts +19 -0
- package/dist/cjs/util/resourceStrings.d.ts.map +1 -0
- package/dist/cjs/util/resourceStrings.js +107 -0
- package/dist/cjs/util/resourceStrings.js.map +1 -0
- package/dist/cjs/util.d.ts +90 -0
- package/dist/cjs/util.d.ts.map +1 -0
- package/dist/cjs/util.js +350 -0
- package/dist/cjs/util.js.map +1 -0
- package/dist/esm/StatementAnalysis.d.ts +63 -0
- package/dist/esm/StatementAnalysis.d.ts.map +1 -0
- package/dist/esm/StatementAnalysis.js +46 -0
- package/dist/esm/StatementAnalysis.js.map +1 -0
- package/dist/esm/action/action.d.ts +37 -0
- package/dist/esm/action/action.d.ts.map +1 -0
- package/dist/esm/action/action.js +100 -0
- package/dist/esm/action/action.js.map +1 -0
- package/dist/esm/analysis/allowedConditions.d.ts +61 -0
- package/dist/esm/analysis/allowedConditions.d.ts.map +1 -0
- package/dist/esm/analysis/allowedConditions.js +382 -0
- package/dist/esm/analysis/allowedConditions.js.map +1 -0
- package/dist/esm/analysis/analyzeResults.d.ts +99 -0
- package/dist/esm/analysis/analyzeResults.d.ts.map +1 -0
- package/dist/esm/analysis/analyzeResults.js +183 -0
- package/dist/esm/analysis/analyzeResults.js.map +1 -0
- package/dist/esm/condition/BaseConditionOperator.d.ts +13 -0
- package/dist/esm/condition/BaseConditionOperator.d.ts.map +1 -0
- package/dist/esm/condition/BaseConditionOperator.js +3 -0
- package/dist/esm/condition/BaseConditionOperator.js.map +1 -0
- package/dist/esm/condition/arn/ArnEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnEquals.js +10 -0
- package/dist/esm/condition/arn/ArnEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnLike.js +16 -0
- package/dist/esm/condition/arn/ArnLike.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotEquals.js +10 -0
- package/dist/esm/condition/arn/ArnNotEquals.js.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts +3 -0
- package/dist/esm/condition/arn/ArnNotLike.d.ts.map +1 -0
- package/dist/esm/condition/arn/ArnNotLike.js +16 -0
- package/dist/esm/condition/arn/ArnNotLike.js.map +1 -0
- package/dist/esm/condition/arn/arn.d.ts +12 -0
- package/dist/esm/condition/arn/arn.d.ts.map +1 -0
- package/dist/esm/condition/arn/arn.js +70 -0
- package/dist/esm/condition/arn/arn.js.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts +7 -0
- package/dist/esm/condition/binary/BinaryEquals.d.ts.map +1 -0
- package/dist/esm/condition/binary/BinaryEquals.js +27 -0
- package/dist/esm/condition/binary/BinaryEquals.js.map +1 -0
- package/dist/esm/condition/boolean/Bool.d.ts +3 -0
- package/dist/esm/condition/boolean/Bool.d.ts.map +1 -0
- package/dist/esm/condition/boolean/Bool.js +53 -0
- package/dist/esm/condition/boolean/Bool.js.map +1 -0
- package/dist/esm/condition/condition.d.ts +26 -0
- package/dist/esm/condition/condition.d.ts.map +1 -0
- package/dist/esm/condition/condition.js +666 -0
- package/dist/esm/condition/condition.js.map +1 -0
- package/dist/esm/condition/conditionUtil.d.ts +10 -0
- package/dist/esm/condition/conditionUtil.d.ts.map +1 -0
- package/dist/esm/condition/conditionUtil.js +17 -0
- package/dist/esm/condition/conditionUtil.js.map +1 -0
- package/dist/esm/condition/date/DateEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateEquals.js +20 -0
- package/dist/esm/condition/date/DateEquals.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThan.js +20 -0
- package/dist/esm/condition/date/DateGreaterThan.js.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js +20 -0
- package/dist/esm/condition/date/DateGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateLessThan.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThan.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThan.js +20 -0
- package/dist/esm/condition/date/DateLessThan.js.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateLessThanEquals.js +20 -0
- package/dist/esm/condition/date/DateLessThanEquals.js.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts +3 -0
- package/dist/esm/condition/date/DateNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/date/DateNotEquals.js +20 -0
- package/dist/esm/condition/date/DateNotEquals.js.map +1 -0
- package/dist/esm/condition/date/date.d.ts +18 -0
- package/dist/esm/condition/date/date.d.ts.map +1 -0
- package/dist/esm/condition/date/date.js +54 -0
- package/dist/esm/condition/date/date.js.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/IpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/IpAddress.js +18 -0
- package/dist/esm/condition/ipaddress/IpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts +3 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js +18 -0
- package/dist/esm/condition/ipaddress/NotIpAddress.js.map +1 -0
- package/dist/esm/condition/ipaddress/ip.d.ts +11 -0
- package/dist/esm/condition/ipaddress/ip.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ip.js +68 -0
- package/dist/esm/condition/ipaddress/ip.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv4.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv4.js +54 -0
- package/dist/esm/condition/ipaddress/ipv4.js.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts +24 -0
- package/dist/esm/condition/ipaddress/ipv6.d.ts.map +1 -0
- package/dist/esm/condition/ipaddress/ipv6.js +106 -0
- package/dist/esm/condition/ipaddress/ipv6.js.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericEquals.js +20 -0
- package/dist/esm/condition/numeric/NumericEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js +20 -0
- package/dist/esm/condition/numeric/NumericGreaterThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js +20 -0
- package/dist/esm/condition/numeric/NumericGreaterThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThan.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThan.js +20 -0
- package/dist/esm/condition/numeric/NumericLessThan.js.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js +20 -0
- package/dist/esm/condition/numeric/NumericLessThanEquals.js.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts +3 -0
- package/dist/esm/condition/numeric/NumericNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js +20 -0
- package/dist/esm/condition/numeric/NumericNotEquals.js.map +1 -0
- package/dist/esm/condition/numeric/numeric.d.ts +18 -0
- package/dist/esm/condition/numeric/numeric.d.ts.map +1 -0
- package/dist/esm/condition/numeric/numeric.js +53 -0
- package/dist/esm/condition/numeric/numeric.js.map +1 -0
- package/dist/esm/condition/string/StringEquals.d.ts +3 -0
- package/dist/esm/condition/string/StringEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEquals.js +34 -0
- package/dist/esm/condition/string/StringEquals.js.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js +34 -0
- package/dist/esm/condition/string/StringEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringLike.d.ts +3 -0
- package/dist/esm/condition/string/StringLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringLike.js +34 -0
- package/dist/esm/condition/string/StringLike.js.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEquals.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEquals.js +34 -0
- package/dist/esm/condition/string/StringNotEquals.js.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts +3 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js +34 -0
- package/dist/esm/condition/string/StringNotEqualsIgnoreCase.js.map +1 -0
- package/dist/esm/condition/string/StringNotLike.d.ts +3 -0
- package/dist/esm/condition/string/StringNotLike.d.ts.map +1 -0
- package/dist/esm/condition/string/StringNotLike.js +34 -0
- package/dist/esm/condition/string/StringNotLike.js.map +1 -0
- package/dist/esm/context_keys/contextKeyTypes.d.ts +19 -0
- package/dist/esm/context_keys/contextKeyTypes.d.ts.map +1 -0
- package/dist/esm/context_keys/contextKeyTypes.js +23 -0
- package/dist/esm/context_keys/contextKeyTypes.js.map +1 -0
- package/dist/esm/context_keys/contextKeys.d.ts +24 -0
- package/dist/esm/context_keys/contextKeys.d.ts.map +1 -0
- package/dist/esm/context_keys/contextKeys.js +117 -0
- package/dist/esm/context_keys/contextKeys.js.map +1 -0
- package/dist/esm/context_keys/discoveryContextKeyConstraints.d.ts +103 -0
- package/dist/esm/context_keys/discoveryContextKeyConstraints.d.ts.map +1 -0
- package/dist/esm/context_keys/discoveryContextKeyConstraints.js +149 -0
- package/dist/esm/context_keys/discoveryContextKeyConstraints.js.map +1 -0
- package/dist/esm/context_keys/findContextKeys.d.ts +19 -0
- package/dist/esm/context_keys/findContextKeys.d.ts.map +1 -0
- package/dist/esm/context_keys/findContextKeys.js +55 -0
- package/dist/esm/context_keys/findContextKeys.js.map +1 -0
- package/dist/esm/core_engine/CoreSimulatorEngine.d.ts +134 -0
- package/dist/esm/core_engine/CoreSimulatorEngine.d.ts.map +1 -0
- package/dist/esm/core_engine/CoreSimulatorEngine.js +441 -0
- package/dist/esm/core_engine/CoreSimulatorEngine.js.map +1 -0
- package/dist/esm/evaluate.d.ts +199 -0
- package/dist/esm/evaluate.d.ts.map +1 -0
- package/dist/esm/evaluate.js +2 -0
- package/dist/esm/evaluate.js.map +1 -0
- package/dist/esm/explain/displayExplainCli.d.ts +3 -0
- package/dist/esm/explain/displayExplainCli.d.ts.map +1 -0
- package/dist/esm/explain/displayExplainCli.js +258 -0
- package/dist/esm/explain/displayExplainCli.js.map +1 -0
- package/dist/esm/explain/statementExplain.d.ts +161 -0
- package/dist/esm/explain/statementExplain.d.ts.map +1 -0
- package/dist/esm/explain/statementExplain.js +30 -0
- package/dist/esm/explain/statementExplain.js.map +1 -0
- package/dist/esm/global_conditions/globalConditionKeys.d.ts +3 -0
- package/dist/esm/global_conditions/globalConditionKeys.d.ts.map +1 -0
- package/dist/esm/global_conditions/globalConditionKeys.js +9 -0
- package/dist/esm/global_conditions/globalConditionKeys.js.map +1 -0
- package/dist/esm/index.d.ts +16 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +10 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/policyType.d.ts +13 -0
- package/dist/esm/policyType.d.ts.map +1 -0
- package/dist/esm/policyType.js +2 -0
- package/dist/esm/policyType.js.map +1 -0
- package/dist/esm/principal/principal.d.ts +61 -0
- package/dist/esm/principal/principal.d.ts.map +1 -0
- package/dist/esm/principal/principal.js +354 -0
- package/dist/esm/principal/principal.js.map +1 -0
- package/dist/esm/request/request.d.ts +66 -0
- package/dist/esm/request/request.d.ts.map +1 -0
- package/dist/esm/request/request.js +34 -0
- package/dist/esm/request/request.js.map +1 -0
- package/dist/esm/request/requestAction.d.ts +27 -0
- package/dist/esm/request/requestAction.d.ts.map +1 -0
- package/dist/esm/request/requestAction.js +15 -0
- package/dist/esm/request/requestAction.js.map +1 -0
- package/dist/esm/request/requestPrincipal.d.ts +92 -0
- package/dist/esm/request/requestPrincipal.d.ts.map +1 -0
- package/dist/esm/request/requestPrincipal.js +80 -0
- package/dist/esm/request/requestPrincipal.js.map +1 -0
- package/dist/esm/request/requestResource.d.ts +55 -0
- package/dist/esm/request/requestResource.d.ts.map +1 -0
- package/dist/esm/request/requestResource.js +34 -0
- package/dist/esm/request/requestResource.js.map +1 -0
- package/dist/esm/requestContext.d.ts +63 -0
- package/dist/esm/requestContext.d.ts.map +1 -0
- package/dist/esm/requestContext.js +39 -0
- package/dist/esm/requestContext.js.map +1 -0
- package/dist/esm/resource/resource.d.ts +54 -0
- package/dist/esm/resource/resource.d.ts.map +1 -0
- package/dist/esm/resource/resource.js +582 -0
- package/dist/esm/resource/resource.js.map +1 -0
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts +182 -0
- package/dist/esm/services/DefaultServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js +623 -0
- package/dist/esm/services/DefaultServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/IamServiceAuthorizer.d.ts +10 -0
- package/dist/esm/services/IamServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/IamServiceAuthorizer.js +63 -0
- package/dist/esm/services/IamServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/KmsServiceAuthorizer.d.ts +29 -0
- package/dist/esm/services/KmsServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/KmsServiceAuthorizer.js +82 -0
- package/dist/esm/services/KmsServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts +27 -0
- package/dist/esm/services/ServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/ServiceAuthorizer.js +5 -0
- package/dist/esm/services/ServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/StsServiceAuthorizer.d.ts +19 -0
- package/dist/esm/services/StsServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/StsServiceAuthorizer.js +44 -0
- package/dist/esm/services/StsServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/s3/S3ServiceAuthorizer.d.ts +24 -0
- package/dist/esm/services/s3/S3ServiceAuthorizer.d.ts.map +1 -0
- package/dist/esm/services/s3/S3ServiceAuthorizer.js +76 -0
- package/dist/esm/services/s3/S3ServiceAuthorizer.js.map +1 -0
- package/dist/esm/services/s3/s3BlockPublicAccess.d.ts +50 -0
- package/dist/esm/services/s3/s3BlockPublicAccess.d.ts.map +1 -0
- package/dist/esm/services/s3/s3BlockPublicAccess.js +299 -0
- package/dist/esm/services/s3/s3BlockPublicAccess.js.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts +13 -0
- package/dist/esm/simulation_engine/contextKeys.d.ts.map +1 -0
- package/dist/esm/simulation_engine/contextKeys.js +55 -0
- package/dist/esm/simulation_engine/contextKeys.js.map +1 -0
- package/dist/esm/simulation_engine/overallResult.d.ts +13 -0
- package/dist/esm/simulation_engine/overallResult.d.ts.map +1 -0
- package/dist/esm/simulation_engine/overallResult.js +32 -0
- package/dist/esm/simulation_engine/overallResult.js.map +1 -0
- package/dist/esm/simulation_engine/policyResources.d.ts +44 -0
- package/dist/esm/simulation_engine/policyResources.d.ts.map +1 -0
- package/dist/esm/simulation_engine/policyResources.js +117 -0
- package/dist/esm/simulation_engine/policyResources.js.map +1 -0
- package/dist/esm/simulation_engine/resourceTypes.d.ts +11 -0
- package/dist/esm/simulation_engine/resourceTypes.d.ts.map +1 -0
- package/dist/esm/simulation_engine/resourceTypes.js +23 -0
- package/dist/esm/simulation_engine/resourceTypes.js.map +1 -0
- package/dist/esm/simulation_engine/simulation.d.ts +114 -0
- package/dist/esm/simulation_engine/simulation.d.ts.map +1 -0
- package/dist/esm/simulation_engine/simulation.js +30 -0
- package/dist/esm/simulation_engine/simulation.js.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts +128 -0
- package/dist/esm/simulation_engine/simulationEngine.d.ts.map +1 -0
- package/dist/esm/simulation_engine/simulationEngine.js +430 -0
- package/dist/esm/simulation_engine/simulationEngine.js.map +1 -0
- package/dist/esm/simulation_engine/simulationOptions.d.ts +21 -0
- package/dist/esm/simulation_engine/simulationOptions.d.ts.map +1 -0
- package/dist/esm/simulation_engine/simulationOptions.js +3 -0
- package/dist/esm/simulation_engine/simulationOptions.js.map +1 -0
- package/dist/esm/simulation_engine/unsafeSimulationEngine.d.ts +13 -0
- package/dist/esm/simulation_engine/unsafeSimulationEngine.d.ts.map +1 -0
- package/dist/esm/simulation_engine/unsafeSimulationEngine.js +62 -0
- package/dist/esm/simulation_engine/unsafeSimulationEngine.js.map +1 -0
- package/dist/esm/util/resourceStrings.d.ts +19 -0
- package/dist/esm/util/resourceStrings.d.ts.map +1 -0
- package/dist/esm/util/resourceStrings.js +103 -0
- package/dist/esm/util/resourceStrings.js.map +1 -0
- package/dist/esm/util.d.ts +90 -0
- package/dist/esm/util.d.ts.map +1 -0
- package/dist/esm/util.js +341 -0
- package/dist/esm/util.js.map +1 -0
- package/package.json +119 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { type SimulationRequestPrincipal } from '../simulation_engine/simulation.js';
|
|
2
|
+
export type RequestPrincipalKind = 'Authenticated' | 'Anonymous';
|
|
3
|
+
/**
|
|
4
|
+
* Common request-principal behavior shared by anonymous and authenticated requests.
|
|
5
|
+
*/
|
|
6
|
+
export interface RequestPrincipal {
|
|
7
|
+
/**
|
|
8
|
+
* The kind of request principal being simulated.
|
|
9
|
+
*
|
|
10
|
+
* @returns the request principal kind.
|
|
11
|
+
*/
|
|
12
|
+
kind(): RequestPrincipalKind;
|
|
13
|
+
/**
|
|
14
|
+
* Whether the request principal represents an unsigned anonymous request.
|
|
15
|
+
*
|
|
16
|
+
* @returns true if this is an anonymous request principal.
|
|
17
|
+
*/
|
|
18
|
+
isAnonymous(): this is AnonymousRequestPrincipal;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the request principal is an authenticated principal request
|
|
21
|
+
*/
|
|
22
|
+
isAuthenticated(): this is AuthenticatedRequestPrincipal;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* An unsigned anonymous request principal.
|
|
26
|
+
*/
|
|
27
|
+
export interface AnonymousRequestPrincipal extends RequestPrincipal {
|
|
28
|
+
kind(): 'Anonymous';
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* An authenticated request principal represented by a concrete principal string.
|
|
32
|
+
*/
|
|
33
|
+
export interface AuthenticatedRequestPrincipal extends RequestPrincipal {
|
|
34
|
+
kind(): 'Authenticated';
|
|
35
|
+
/**
|
|
36
|
+
* The raw string of the authenticated principal.
|
|
37
|
+
*
|
|
38
|
+
* @returns the principal string.
|
|
39
|
+
*/
|
|
40
|
+
value(): string;
|
|
41
|
+
/**
|
|
42
|
+
* The account id of the principal, if the principal is an ARN that has an account ID, otherwise undefined.
|
|
43
|
+
*
|
|
44
|
+
* @returns the principal account ID, if available.
|
|
45
|
+
*/
|
|
46
|
+
accountId(): string | undefined;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Checks whether a request principal is authenticated.
|
|
50
|
+
*
|
|
51
|
+
* @param principal the request principal to check.
|
|
52
|
+
* @returns true if the principal is authenticated and can expose an account ID and value.
|
|
53
|
+
*/
|
|
54
|
+
/**
|
|
55
|
+
* Asserts that a request principal is authenticated.
|
|
56
|
+
*
|
|
57
|
+
* @param principal the request principal to assert.
|
|
58
|
+
*/
|
|
59
|
+
export declare function assertAuthenticatedRequestPrincipal(principal: RequestPrincipal): asserts principal is AuthenticatedRequestPrincipal;
|
|
60
|
+
/**
|
|
61
|
+
* Creates a request-principal implementation from public simulation input.
|
|
62
|
+
*
|
|
63
|
+
* @param input the principal input from a simulation request.
|
|
64
|
+
* @returns a request-principal implementation for the input.
|
|
65
|
+
*/
|
|
66
|
+
export declare function requestPrincipalFromInput(input: SimulationRequestPrincipal): RequestPrincipal;
|
|
67
|
+
/**
|
|
68
|
+
* A string-valued authenticated request principal.
|
|
69
|
+
*/
|
|
70
|
+
export declare class AuthenticatedRequestPrincipalImpl implements AuthenticatedRequestPrincipal {
|
|
71
|
+
private readonly rawValue;
|
|
72
|
+
/**
|
|
73
|
+
* Create an authenticated request principal.
|
|
74
|
+
*
|
|
75
|
+
* @param rawValue the raw principal string.
|
|
76
|
+
*/
|
|
77
|
+
constructor(rawValue: string);
|
|
78
|
+
kind(): 'Authenticated';
|
|
79
|
+
isAnonymous(): this is AnonymousRequestPrincipal;
|
|
80
|
+
isAuthenticated(): this is AuthenticatedRequestPrincipal;
|
|
81
|
+
value(): string;
|
|
82
|
+
accountId(): string | undefined;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* An unsigned anonymous request principal.
|
|
86
|
+
*/
|
|
87
|
+
export declare class AnonymousRequestPrincipalImpl implements AnonymousRequestPrincipal {
|
|
88
|
+
kind(): 'Anonymous';
|
|
89
|
+
isAnonymous(): this is AnonymousRequestPrincipal;
|
|
90
|
+
isAuthenticated(): this is AuthenticatedRequestPrincipal;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=requestPrincipal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestPrincipal.d.ts","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,oCAAoC,CAAA;AAE3C,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,WAAW,CAAA;AAEhE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,IAAI,IAAI,oBAAoB,CAAA;IAE5B;;;;OAIG;IACH,WAAW,IAAI,IAAI,IAAI,yBAAyB,CAAA;IAEhD;;OAEG;IACH,eAAe,IAAI,IAAI,IAAI,6BAA6B,CAAA;CACzD;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,IAAI,IAAI,WAAW,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,gBAAgB;IACrE,IAAI,IAAI,eAAe,CAAA;IAEvB;;;;OAIG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;;;OAIG;IACH,SAAS,IAAI,MAAM,GAAG,SAAS,CAAA;CAChC;AAED;;;;;GAKG;AACH;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,SAAS,IAAI,6BAA6B,CAKpD;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,0BAA0B,GAAG,gBAAgB,CAQ7F;AAED;;GAEG;AACH,qBAAa,iCAAkC,YAAW,6BAA6B;IAMzE,OAAO,CAAC,QAAQ,CAAC,QAAQ;IALrC;;;;OAIG;gBAC0B,QAAQ,EAAE,MAAM;IAE7C,IAAI,IAAI,eAAe;IAIvB,WAAW,IAAI,IAAI,IAAI,yBAAyB;IAIhD,eAAe,IAAI,IAAI,IAAI,6BAA6B;IAIjD,KAAK,IAAI,MAAM;IAItB,SAAS,IAAI,MAAM,GAAG,SAAS;CAShC;AAED;;GAEG;AACH,qBAAa,6BAA8B,YAAW,yBAAyB;IAC7E,IAAI,IAAI,WAAW;IAInB,WAAW,IAAI,IAAI,IAAI,yBAAyB;IAIhD,eAAe,IAAI,IAAI,IAAI,6BAA6B;CAGzD"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnonymousRequestPrincipalImpl = exports.AuthenticatedRequestPrincipalImpl = void 0;
|
|
4
|
+
exports.assertAuthenticatedRequestPrincipal = assertAuthenticatedRequestPrincipal;
|
|
5
|
+
exports.requestPrincipalFromInput = requestPrincipalFromInput;
|
|
6
|
+
const simulation_js_1 = require("../simulation_engine/simulation.js");
|
|
7
|
+
/**
|
|
8
|
+
* Checks whether a request principal is authenticated.
|
|
9
|
+
*
|
|
10
|
+
* @param principal the request principal to check.
|
|
11
|
+
* @returns true if the principal is authenticated and can expose an account ID and value.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Asserts that a request principal is authenticated.
|
|
15
|
+
*
|
|
16
|
+
* @param principal the request principal to assert.
|
|
17
|
+
*/
|
|
18
|
+
function assertAuthenticatedRequestPrincipal(principal) {
|
|
19
|
+
if (principal.isAuthenticated()) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
throw new Error('invalid.principal');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates a request-principal implementation from public simulation input.
|
|
26
|
+
*
|
|
27
|
+
* @param input the principal input from a simulation request.
|
|
28
|
+
* @returns a request-principal implementation for the input.
|
|
29
|
+
*/
|
|
30
|
+
function requestPrincipalFromInput(input) {
|
|
31
|
+
if (!(0, simulation_js_1.isSimulationRequestPrincipal)(input)) {
|
|
32
|
+
throw new Error('invalid.principal');
|
|
33
|
+
}
|
|
34
|
+
if ((0, simulation_js_1.isAnonymousRequestPrincipal)(input)) {
|
|
35
|
+
return new AnonymousRequestPrincipalImpl();
|
|
36
|
+
}
|
|
37
|
+
return new AuthenticatedRequestPrincipalImpl(input);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A string-valued authenticated request principal.
|
|
41
|
+
*/
|
|
42
|
+
class AuthenticatedRequestPrincipalImpl {
|
|
43
|
+
rawValue;
|
|
44
|
+
/**
|
|
45
|
+
* Create an authenticated request principal.
|
|
46
|
+
*
|
|
47
|
+
* @param rawValue the raw principal string.
|
|
48
|
+
*/
|
|
49
|
+
constructor(rawValue) {
|
|
50
|
+
this.rawValue = rawValue;
|
|
51
|
+
}
|
|
52
|
+
kind() {
|
|
53
|
+
return 'Authenticated';
|
|
54
|
+
}
|
|
55
|
+
isAnonymous() {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
isAuthenticated() {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
value() {
|
|
62
|
+
return this.rawValue;
|
|
63
|
+
}
|
|
64
|
+
accountId() {
|
|
65
|
+
const arnParts = this.value().split(':');
|
|
66
|
+
if (arnParts.length < 6 || arnParts[0] !== 'arn') {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
return arnParts[4] || undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.AuthenticatedRequestPrincipalImpl = AuthenticatedRequestPrincipalImpl;
|
|
73
|
+
/**
|
|
74
|
+
* An unsigned anonymous request principal.
|
|
75
|
+
*/
|
|
76
|
+
class AnonymousRequestPrincipalImpl {
|
|
77
|
+
kind() {
|
|
78
|
+
return 'Anonymous';
|
|
79
|
+
}
|
|
80
|
+
isAnonymous() {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
isAuthenticated() {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
exports.AnonymousRequestPrincipalImpl = AnonymousRequestPrincipalImpl;
|
|
88
|
+
//# sourceMappingURL=requestPrincipal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestPrincipal.js","sourceRoot":"","sources":["../../../src/request/requestPrincipal.ts"],"names":[],"mappings":";;;AAuEA,kFAOC;AAQD,8DAQC;AA9FD,sEAI2C;AAwD3C;;;;;GAKG;AACH;;;;GAIG;AACH,SAAgB,mCAAmC,CACjD,SAA2B;IAE3B,IAAI,SAAS,CAAC,eAAe,EAAE,EAAE,CAAC;QAChC,OAAM;IACR,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;AACtC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CAAC,KAAiC;IACzE,IAAI,CAAC,IAAA,4CAA4B,EAAC,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,IAAI,IAAA,2CAA2B,EAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,6BAA6B,EAAE,CAAA;IAC5C,CAAC;IACD,OAAO,IAAI,iCAAiC,CAAC,KAAK,CAAC,CAAA;AACrD,CAAC;AAED;;GAEG;AACH,MAAa,iCAAiC;IAMf;IAL7B;;;;OAIG;IACH,YAA6B,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjD,IAAI;QACF,OAAO,eAAe,CAAA;IACxB,CAAC;IAED,WAAW;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,SAAS;QACP,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACjD,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IACjC,CAAC;CAGF;AAjCD,8EAiCC;AAED;;GAEG;AACH,MAAa,6BAA6B;IACxC,IAAI;QACF,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAZD,sEAYC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export interface RequestResource {
|
|
2
|
+
/**
|
|
3
|
+
* The raw string of the resource
|
|
4
|
+
*/
|
|
5
|
+
value(): string;
|
|
6
|
+
/**
|
|
7
|
+
* The partition of the ARN
|
|
8
|
+
*/
|
|
9
|
+
partition(): string;
|
|
10
|
+
/**
|
|
11
|
+
* The service of the ARN
|
|
12
|
+
*/
|
|
13
|
+
service(): string;
|
|
14
|
+
/**
|
|
15
|
+
* The region of the ARN
|
|
16
|
+
*/
|
|
17
|
+
region(): string;
|
|
18
|
+
/**
|
|
19
|
+
* The account of the ARN
|
|
20
|
+
*/
|
|
21
|
+
account(): string;
|
|
22
|
+
/**
|
|
23
|
+
* The resource of the ARN
|
|
24
|
+
*/
|
|
25
|
+
resource(): string;
|
|
26
|
+
/**
|
|
27
|
+
* The account ID of the resource, independent of what is in the ARN
|
|
28
|
+
*/
|
|
29
|
+
accountId(): string;
|
|
30
|
+
/**
|
|
31
|
+
* Checks if this resource represents all resources (i.e., the wildcard "*")
|
|
32
|
+
* @returns true if the resource is "*", false otherwise
|
|
33
|
+
*/
|
|
34
|
+
isAllResources(): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Checks if this resource contains any wildcard characters
|
|
37
|
+
* @returns true if the resource contains "*", false otherwise
|
|
38
|
+
*/
|
|
39
|
+
hasWildcards(): boolean;
|
|
40
|
+
}
|
|
41
|
+
export declare class ResourceRequestImpl implements RequestResource {
|
|
42
|
+
private readonly rawValue;
|
|
43
|
+
private readonly accountIdString;
|
|
44
|
+
constructor(rawValue: string, accountIdString: string);
|
|
45
|
+
partition(): string;
|
|
46
|
+
service(): string;
|
|
47
|
+
region(): string;
|
|
48
|
+
account(): string;
|
|
49
|
+
resource(): string;
|
|
50
|
+
value(): string;
|
|
51
|
+
accountId(): string;
|
|
52
|
+
isAllResources(): boolean;
|
|
53
|
+
hasWildcards(): boolean;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=requestResource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestResource.d.ts","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,KAAK,IAAI,MAAM,CAAA;IAEf;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAA;IAEhB;;OAEG;IACH,OAAO,IAAI,MAAM,CAAA;IAEjB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAA;IAElB;;OAEG;IACH,SAAS,IAAI,MAAM,CAAA;IAEnB;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAA;IAEzB;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAA;CACxB;AAED,qBAAa,mBAAoB,YAAW,eAAe;IAEvD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBADf,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM;IAG1C,SAAS,IAAI,MAAM;IAInB,OAAO,IAAI,MAAM;IAIjB,MAAM,IAAI,MAAM;IAIhB,OAAO,IAAI,MAAM;IAIjB,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM;IAIf,SAAS,IAAI,MAAM;IAInB,cAAc,IAAI,OAAO;IAIzB,YAAY,IAAI,OAAO;CAGxB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResourceRequestImpl = void 0;
|
|
4
|
+
class ResourceRequestImpl {
|
|
5
|
+
rawValue;
|
|
6
|
+
accountIdString;
|
|
7
|
+
constructor(rawValue, accountIdString) {
|
|
8
|
+
this.rawValue = rawValue;
|
|
9
|
+
this.accountIdString = accountIdString;
|
|
10
|
+
}
|
|
11
|
+
partition() {
|
|
12
|
+
return this.value().split(':').at(1);
|
|
13
|
+
}
|
|
14
|
+
service() {
|
|
15
|
+
return this.value().split(':').at(2);
|
|
16
|
+
}
|
|
17
|
+
region() {
|
|
18
|
+
return this.value().split(':').at(3);
|
|
19
|
+
}
|
|
20
|
+
account() {
|
|
21
|
+
return this.value().split(':').at(4);
|
|
22
|
+
}
|
|
23
|
+
resource() {
|
|
24
|
+
return this.value().split(':').slice(5).join(':');
|
|
25
|
+
}
|
|
26
|
+
value() {
|
|
27
|
+
return this.rawValue;
|
|
28
|
+
}
|
|
29
|
+
accountId() {
|
|
30
|
+
return this.accountIdString;
|
|
31
|
+
}
|
|
32
|
+
isAllResources() {
|
|
33
|
+
return this.value() === '*';
|
|
34
|
+
}
|
|
35
|
+
hasWildcards() {
|
|
36
|
+
return this.value().includes('*');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.ResourceRequestImpl = ResourceRequestImpl;
|
|
40
|
+
//# sourceMappingURL=requestResource.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestResource.js","sourceRoot":"","sources":["../../../src/request/requestResource.ts"],"names":[],"mappings":";;;AAiDA,MAAa,mBAAmB;IAEX;IACA;IAFnB,YACmB,QAAgB,EAChB,eAAuB;QADvB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,oBAAe,GAAf,eAAe,CAAQ;IACvC,CAAC;IAEJ,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,CAAA;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,CAAA;IAC7B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACnC,CAAC;CACF;AAzCD,kDAyCC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The context metadata available in a request
|
|
3
|
+
*/
|
|
4
|
+
export interface RequestContext {
|
|
5
|
+
/**
|
|
6
|
+
* Check if a context key exists in a request
|
|
7
|
+
* @param name the name of the context key to check for, case insensitive
|
|
8
|
+
* @returns true if the context key exists, false otherwise
|
|
9
|
+
*/
|
|
10
|
+
contextKeyExists: (name: string) => boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Get the value of a context key in a request
|
|
13
|
+
*
|
|
14
|
+
* @param name the name of the context key to get the value of, case insensitive
|
|
15
|
+
* @returns the value of the context key
|
|
16
|
+
*/
|
|
17
|
+
contextKeyValue: (name: string) => ContextKey;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* A context key in a request
|
|
21
|
+
*/
|
|
22
|
+
export interface ContextKey {
|
|
23
|
+
/**
|
|
24
|
+
* The name of the context key
|
|
25
|
+
*/
|
|
26
|
+
name: string;
|
|
27
|
+
/**
|
|
28
|
+
* Check if the context key is a string value
|
|
29
|
+
*/
|
|
30
|
+
isStringValue(): this is StringContextKey;
|
|
31
|
+
/**
|
|
32
|
+
* Check if the context key is an array value
|
|
33
|
+
*/
|
|
34
|
+
isArrayValue(): this is ArrayContextKey;
|
|
35
|
+
}
|
|
36
|
+
export interface StringContextKey extends ContextKey {
|
|
37
|
+
/**
|
|
38
|
+
* The value of the context key if it is a string
|
|
39
|
+
*/
|
|
40
|
+
value: string;
|
|
41
|
+
}
|
|
42
|
+
export interface ArrayContextKey extends ContextKey {
|
|
43
|
+
/**
|
|
44
|
+
* The array of values of the context key if it is an array
|
|
45
|
+
*/
|
|
46
|
+
values: string[];
|
|
47
|
+
}
|
|
48
|
+
export declare class RequestContextImpl implements RequestContext {
|
|
49
|
+
private context;
|
|
50
|
+
constructor(values: Record<string, string | string[]>);
|
|
51
|
+
contextKeyExists(name: string): boolean;
|
|
52
|
+
contextKeyValue(name: string): ContextKey;
|
|
53
|
+
}
|
|
54
|
+
export declare class ContextKeyImpl implements ContextKey, StringContextKey, ArrayContextKey {
|
|
55
|
+
name: string;
|
|
56
|
+
private _val;
|
|
57
|
+
constructor(name: string, _val: string | string[]);
|
|
58
|
+
isStringValue(): this is StringContextKey;
|
|
59
|
+
isArrayValue(): this is ArrayContextKey;
|
|
60
|
+
get values(): string[];
|
|
61
|
+
get value(): string;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=requestContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestContext.d.ts","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IAE3C;;;;;OAKG;IACH,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAA;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,aAAa,IAAI,IAAI,IAAI,gBAAgB,CAAA;IAEzC;;OAEG;IACH,YAAY,IAAI,IAAI,IAAI,eAAe,CAAA;CACxC;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD;;OAEG;IAEH,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,qBAAa,kBAAmB,YAAW,cAAc;IACvD,OAAO,CAAC,OAAO,CAAqC;gBAExC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAM9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;CAGjD;AAED,qBAAa,cAAe,YAAW,UAAU,EAAE,gBAAgB,EAAE,eAAe;IAEzE,IAAI,EAAE,MAAM;IACnB,OAAO,CAAC,IAAI;gBADL,IAAI,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAGjC,aAAa,IAAI,IAAI,IAAI,gBAAgB;IAGzC,YAAY,IAAI,IAAI,IAAI,eAAe;IAIvC,IAAI,MAAM,IAAI,MAAM,EAAE,CAKrB;IAED,IAAI,KAAK,IAAI,MAAM,CAKlB;CACF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContextKeyImpl = exports.RequestContextImpl = void 0;
|
|
4
|
+
class RequestContextImpl {
|
|
5
|
+
context = new Map();
|
|
6
|
+
constructor(values) {
|
|
7
|
+
for (const key in values) {
|
|
8
|
+
this.context.set(key.toLowerCase(), new ContextKeyImpl(key, values[key]));
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
contextKeyExists(name) {
|
|
12
|
+
return this.context.has(name.toLowerCase());
|
|
13
|
+
}
|
|
14
|
+
contextKeyValue(name) {
|
|
15
|
+
return this.context.get(name.toLowerCase());
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.RequestContextImpl = RequestContextImpl;
|
|
19
|
+
class ContextKeyImpl {
|
|
20
|
+
name;
|
|
21
|
+
_val;
|
|
22
|
+
constructor(name, _val) {
|
|
23
|
+
this.name = name;
|
|
24
|
+
this._val = _val;
|
|
25
|
+
}
|
|
26
|
+
isStringValue() {
|
|
27
|
+
return typeof this._val === 'string';
|
|
28
|
+
}
|
|
29
|
+
isArrayValue() {
|
|
30
|
+
return Array.isArray(this._val);
|
|
31
|
+
}
|
|
32
|
+
get values() {
|
|
33
|
+
if (Array.isArray(this._val)) {
|
|
34
|
+
return this._val;
|
|
35
|
+
}
|
|
36
|
+
throw new Error(`ContextKey ${this.name} is not an array`);
|
|
37
|
+
}
|
|
38
|
+
get value() {
|
|
39
|
+
if (typeof this._val === 'string') {
|
|
40
|
+
return this._val;
|
|
41
|
+
}
|
|
42
|
+
throw new Error(`ContextKey ${this.name} is not a string`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.ContextKeyImpl = ContextKeyImpl;
|
|
46
|
+
//# sourceMappingURL=requestContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestContext.js","sourceRoot":"","sources":["../../src/requestContext.ts"],"names":[],"mappings":";;;AAuDA,MAAa,kBAAkB;IACrB,OAAO,GAA4B,IAAI,GAAG,EAAE,CAAA;IAEpD,YAAY,MAAyC;QACnD,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC3E,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEM,eAAe,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAe,CAAA;IAC3D,CAAC;CACF;AAhBD,gDAgBC;AAED,MAAa,cAAc;IAEhB;IACC;IAFV,YACS,IAAY,EACX,IAAuB;QADxB,SAAI,GAAJ,IAAI,CAAQ;QACX,SAAI,GAAJ,IAAI,CAAmB;IAC9B,CAAC;IAEJ,aAAa;QACX,OAAO,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAA;IACtC,CAAC;IACD,YAAY;QACV,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,MAAM;QACR,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAA;IAC5D,CAAC;IAED,IAAI,KAAK;QACP,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,IAAI,CAAA;QAClB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,IAAI,kBAAkB,CAAC,CAAA;IAC5D,CAAC;CACF;AA1BD,wCA0BC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type Resource, type Statement } from '@actsecurity/iam-policy';
|
|
2
|
+
import { type ResourceExplain, type StatementExplain } from '../explain/statementExplain.js';
|
|
3
|
+
import { type PolicyType } from '../policyType.js';
|
|
4
|
+
import { type AwsRequest } from '../request/request.js';
|
|
5
|
+
/**
|
|
6
|
+
* Check if a request matches the Resource or NotResource elements of a statement.
|
|
7
|
+
*
|
|
8
|
+
* @param request the request to check
|
|
9
|
+
* @param statement the statement to check against
|
|
10
|
+
* @param policyType the type of policy being evaluated
|
|
11
|
+
* @returns true if the request matches the resources in the statement, false otherwise
|
|
12
|
+
*/
|
|
13
|
+
export declare function requestMatchesStatementResources(request: AwsRequest, statement: Statement, policyType: PolicyType): {
|
|
14
|
+
matches: boolean;
|
|
15
|
+
details: Pick<StatementExplain, 'resources' | 'notResources'>;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Check if a request matches a set of resources.
|
|
19
|
+
*
|
|
20
|
+
* @param request the request to check
|
|
21
|
+
* @param policyResources the resources to check against
|
|
22
|
+
* @param resourceType whether this is a Resource or NotResource element
|
|
23
|
+
* @param effect the effect of the statement
|
|
24
|
+
* @param policyType the type of policy being evaluated
|
|
25
|
+
* @returns true if the request matches any of the resources, false otherwise
|
|
26
|
+
*/
|
|
27
|
+
export declare function requestMatchesResources(request: AwsRequest, policyResources: Resource[], resourceType: 'Resource' | 'NotResource', effect: 'Allow' | 'Deny', policyType: PolicyType): {
|
|
28
|
+
matches: boolean;
|
|
29
|
+
explains: ResourceExplain[];
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Check if a request matches a NotResource element in a policy.
|
|
33
|
+
*
|
|
34
|
+
* @param request the request to check
|
|
35
|
+
* @param policyResources the resources to check against
|
|
36
|
+
* @param resourceType whether this is a Resource or NotResource element
|
|
37
|
+
* @param effect the effect of the statement
|
|
38
|
+
* @param policyType the type of policy being evaluated
|
|
39
|
+
* @returns true if the request does not match any of the resources, false otherwise
|
|
40
|
+
*/
|
|
41
|
+
export declare function requestMatchesNotResources(request: AwsRequest, policyResources: Resource[], resourceType: 'Resource' | 'NotResource', effect: 'Allow' | 'Deny', policyType: PolicyType): {
|
|
42
|
+
matches: boolean;
|
|
43
|
+
explains: ResourceExplain[];
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Determines if the policy string is equal to, a subset of, a superset of,
|
|
47
|
+
* or has no overlap with the request string.
|
|
48
|
+
*
|
|
49
|
+
* @param policyString the policy string to use
|
|
50
|
+
* @param requestString the request string to compare to the policy string
|
|
51
|
+
* @returns 'equal' if the strings are equal, 'subset' if the policy string is a subset of the request string, 'superset' if the policy string is a superset of the request string, 'overlap' if the strings have a non-empty intersection but neither contains the other, or 'none' if there is no overlap
|
|
52
|
+
*/
|
|
53
|
+
export declare function resourcePatternOverlap(policyString: string, requestString: string): 'equal' | 'policy_is_subset' | 'policy_is_superset' | 'overlap' | 'none';
|
|
54
|
+
//# sourceMappingURL=resource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource.d.ts","sourceRoot":"","sources":["../../../src/resource/resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACvE,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EACtB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AA2GvD;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,GAAG,cAAc,CAAC,CAAA;CAAE,CA2BrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,QAAQ,EAAE,EAC3B,YAAY,EAAE,UAAU,GAAG,aAAa,EACxC,MAAM,EAAE,OAAO,GAAG,MAAM,EACxB,UAAU,EAAE,UAAU,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAMnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,UAAU,EACnB,eAAe,EAAE,QAAQ,EAAE,EAC3B,YAAY,EAAE,UAAU,GAAG,aAAa,EACxC,MAAM,EAAE,OAAO,GAAG,MAAM,EACxB,UAAU,EAAE,UAAU,GACrB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAA;CAAE,CAkBnD;AA+UD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,GACpB,OAAO,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAmB1E"}
|