show me `pulumi.export()` function used in other languages, TS, Go, C#, Java
PythonHere are examples of how to use
pulumi.export()
to export stack outputs in various programming languages supported by Pulumi.TypeScript
In TypeScript, you can use the
exports
object to export outputs from your Pulumi stack.import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; // Create an S3 bucket const bucket = new aws.s3.Bucket("my-bucket"); // Export the bucket name export const bucketName = bucket.bucket; // Example usage: Exporting a URL constructed from outputs export const bucketUrl = pulumi.interpolate`http://${bucket.bucketRegionalDomainName}`;
Go
In Go, you use the
ctx.Export
function to export stack outputs.package main import ( "github.com/pulumi/pulumi-aws/sdk/v5/go/aws/s3" "github.com/pulumi/pulumi/sdk/v3/go/pulumi" ) func main() { pulumi.Run(func(ctx *pulumi.Context) error { bucket, err := s3.NewBucket(ctx, "my-bucket", nil) if err != nil { return err } // Export the bucket name ctx.Export("bucketName", bucket.Bucket) // Example usage: Exporting a URL constructed from outputs bucketUrl := pulumi.Sprintf("http://%s", bucket.BucketRegionalDomainName) ctx.Export("bucketUrl", bucketUrl) return nil }) }
C#
In C#, you can use the
Outputs.Set
method to export stack outputs.using Pulumi; using Pulumi.Aws.S3; class MyStack : Stack { public MyStack() { var bucket = new Bucket("my-bucket"); // Export the bucket name this.BucketName = bucket.BucketName; // Example usage: Exporting a URL constructed from outputs this.BucketUrl = Output.Format($"http://{bucket.BucketRegionalDomainName}"); } [Output] public Output<string> BucketName { get; set; } [Output] public Output<string> BucketUrl { get; set; } }
Java
In Java, you use the
Outputs.of
method to export stack outputs.import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.aws.s3.Bucket; import com.pulumi.core.Output; public class Main { public static void main(String[] args) { Pulumi.run(Main::stack); } public static void stack(Context ctx) { var bucket = new Bucket("my-bucket"); // Export the bucket name ctx.export("bucketName", bucket.bucketName()); // Example usage: Exporting a URL constructed from outputs Output<String> bucketUrl = bucket.bucketRegionalDomainName().applyValue(domain -> "http://" + domain); ctx.export("bucketUrl", bucketUrl); } }
These examples demonstrate how to create an AWS S3 bucket and export the bucket name and a constructed URL in different languages. Each example uses the language-specific method to export stack outputs, allowing you to reference these values in other programs or in the Pulumi console.
is there any dedicated function in Typescript?
PythonTo create a dedicated function as an output in Pulumi using Python, you can define a cloud resource, such as an AWS S3 bucket, and export specific properties of that resource.
Below is an example of creating an S3 bucket with Pulumi and exporting its name and URL.
import pulumi from pulumi_aws import s3 # Create an S3 bucket bucket = s3.Bucket('my-bucket') # Export the bucket name pulumi.export('bucketName', bucket.id) # Export the bucket URL pulumi.export('bucketUrl', bucket.bucket_regional_domain_name.apply( lambda domain: f"http://{domain}" ))
This Pulumi program:
- Creates an S3 bucket named "my-bucket."
- Exports the bucket's name (ID) as
bucketName
. - Constructs and exports the bucket's URL as
bucketUrl
.
Rewrite this program in TypeScript
TypeScriptHere is the program rewritten in TypeScript:
import * as pulumi from "@pulumi/pulumi"; import * as aws from "@pulumi/aws"; // Create an S3 bucket const bucket = new aws.s3.Bucket("my-bucket"); // Export the bucket name export const bucketName = bucket.id; // Export the bucket URL export const bucketUrl = pulumi.interpolate`http://${bucket.bucketRegionalDomainName}`;
This TypeScript program creates an S3 bucket using the AWS provider and exports both the bucket name and the bucket URL. The
pulumi.interpolate
function is used to construct the bucket URL dynamically.