UNPKG

@pulumi/aws

Version:

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

168 lines 6.7 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.getCodeSigningConfigOutput = exports.getCodeSigningConfig = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. * * For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b", * }); * export const configDetails = { * configId: example.then(example => example.configId), * description: example.then(example => example.description), * policy: example.then(example => example.policies?.[0]?.untrustedArtifactOnDeployment), * }; * ``` * * ### Use in Lambda Function * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Get existing code signing configuration * const securityConfig = aws.lambda.getCodeSigningConfig({ * arn: codeSigningConfigArn, * }); * // Create Lambda function with code signing * const example = new aws.lambda.Function("example", { * code: new pulumi.asset.FileArchive("function.zip"), * name: "secure-function", * role: lambdaRole.arn, * handler: "index.handler", * runtime: aws.lambda.Runtime.NodeJS20dX, * codeSigningConfigArn: securityConfig.then(securityConfig => securityConfig.arn), * tags: { * Environment: "production", * Security: "code-signed", * }, * }); * ``` * * ### Multi-Environment Configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Production code signing config * const prod = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123", * }); * // Development code signing config * const dev = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456", * }); * const prodPolicy = prod.then(prod => prod.policies?.[0]?.untrustedArtifactOnDeployment); * const devPolicy = dev.then(dev => dev.policies?.[0]?.untrustedArtifactOnDeployment); * const configComparison = { * prodEnforcement: prodPolicy, * devEnforcement: devPolicy, * policiesMatch: Promise.all([prodPolicy, devPolicy]).then(([prodPolicy, devPolicy]) => prodPolicy == devPolicy), * }; * export const environmentComparison = configComparison; * ``` */ function getCodeSigningConfig(args, opts) { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("aws:lambda/getCodeSigningConfig:getCodeSigningConfig", { "arn": args.arn, "region": args.region, }, opts); } exports.getCodeSigningConfig = getCodeSigningConfig; /** * Provides details about an AWS Lambda Code Signing Config. Use this data source to retrieve information about an existing code signing configuration for Lambda functions to ensure code integrity and authenticity. * * For information about Lambda code signing configurations and how to use them, see [configuring code signing for Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/configuration-codesigning.html). * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-0f6c334abcdea4d8b", * }); * export const configDetails = { * configId: example.then(example => example.configId), * description: example.then(example => example.description), * policy: example.then(example => example.policies?.[0]?.untrustedArtifactOnDeployment), * }; * ``` * * ### Use in Lambda Function * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Get existing code signing configuration * const securityConfig = aws.lambda.getCodeSigningConfig({ * arn: codeSigningConfigArn, * }); * // Create Lambda function with code signing * const example = new aws.lambda.Function("example", { * code: new pulumi.asset.FileArchive("function.zip"), * name: "secure-function", * role: lambdaRole.arn, * handler: "index.handler", * runtime: aws.lambda.Runtime.NodeJS20dX, * codeSigningConfigArn: securityConfig.then(securityConfig => securityConfig.arn), * tags: { * Environment: "production", * Security: "code-signed", * }, * }); * ``` * * ### Multi-Environment Configuration * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * // Production code signing config * const prod = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-prod-123", * }); * // Development code signing config * const dev = aws.lambda.getCodeSigningConfig({ * arn: "arn:aws:lambda:us-west-2:123456789012:code-signing-config:csc-dev-456", * }); * const prodPolicy = prod.then(prod => prod.policies?.[0]?.untrustedArtifactOnDeployment); * const devPolicy = dev.then(dev => dev.policies?.[0]?.untrustedArtifactOnDeployment); * const configComparison = { * prodEnforcement: prodPolicy, * devEnforcement: devPolicy, * policiesMatch: Promise.all([prodPolicy, devPolicy]).then(([prodPolicy, devPolicy]) => prodPolicy == devPolicy), * }; * export const environmentComparison = configComparison; * ``` */ function getCodeSigningConfigOutput(args, opts) { opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("aws:lambda/getCodeSigningConfig:getCodeSigningConfig", { "arn": args.arn, "region": args.region, }, opts); } exports.getCodeSigningConfigOutput = getCodeSigningConfigOutput; //# sourceMappingURL=getCodeSigningConfig.js.map