
com.pulumi.aws.serverlessrepository.CloudFormationStack Maven / Gradle / Ivy
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.serverlessrepository;
import com.pulumi.aws.Utilities;
import com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;
import com.pulumi.aws.serverlessrepository.inputs.CloudFormationStackState;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;
/**
* Deploys an Application CloudFormation Stack from the Serverless Application Repository.
*
* ## Example Usage
*
* <!--Start PulumiCodeChooser -->
*
* {@code
* package generated_program;
*
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.aws.AwsFunctions;
* import com.pulumi.aws.inputs.GetPartitionArgs;
* import com.pulumi.aws.inputs.GetRegionArgs;
* import com.pulumi.aws.serverlessrepository.CloudFormationStack;
* import com.pulumi.aws.serverlessrepository.CloudFormationStackArgs;
* import java.util.List;
* import java.util.ArrayList;
* import java.util.Map;
* import java.io.File;
* import java.nio.file.Files;
* import java.nio.file.Paths;
*
* public class App {
* public static void main(String[] args) {
* Pulumi.run(App::stack);
* }
*
* public static void stack(Context ctx) {
* final var current = AwsFunctions.getPartition();
*
* final var currentGetRegion = AwsFunctions.getRegion();
*
* var postgres_rotator = new CloudFormationStack("postgres-rotator", CloudFormationStackArgs.builder()
* .name("postgres-rotator")
* .applicationId("arn:aws:serverlessrepo:us-east-1:297356227824:applications/SecretsManagerRDSPostgreSQLRotationSingleUser")
* .capabilities(
* "CAPABILITY_IAM",
* "CAPABILITY_RESOURCE_POLICY")
* .parameters(Map.ofEntries(
* Map.entry("functionName", "func-postgres-rotator"),
* Map.entry("endpoint", String.format("secretsmanager.%s.%s", currentGetRegion.applyValue(getRegionResult -> getRegionResult.name()),current.applyValue(getPartitionResult -> getPartitionResult.dnsSuffix())))
* ))
* .build());
*
* }
* }
* }
*
* <!--End PulumiCodeChooser -->
*
* ## Import
*
* Using `pulumi import`, import Serverless Application Repository Stack using the CloudFormation Stack name (with or without the `serverlessrepo-` prefix) or the CloudFormation Stack ID. For example:
*
* ```sh
* $ pulumi import aws:serverlessrepository/cloudFormationStack:CloudFormationStack example serverlessrepo-postgres-rotator
* ```
*
*/
@ResourceType(type="aws:serverlessrepository/cloudFormationStack:CloudFormationStack")
public class CloudFormationStack extends com.pulumi.resources.CustomResource {
/**
* The ARN of the application from the Serverless Application Repository.
*
*/
@Export(name="applicationId", refs={String.class}, tree="[0]")
private Output applicationId;
/**
* @return The ARN of the application from the Serverless Application Repository.
*
*/
public Output applicationId() {
return this.applicationId;
}
/**
* A list of capabilities. Valid values are `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, `CAPABILITY_RESOURCE_POLICY`, or `CAPABILITY_AUTO_EXPAND`
*
*/
@Export(name="capabilities", refs={List.class,String.class}, tree="[0,1]")
private Output> capabilities;
/**
* @return A list of capabilities. Valid values are `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, `CAPABILITY_RESOURCE_POLICY`, or `CAPABILITY_AUTO_EXPAND`
*
*/
public Output> capabilities() {
return this.capabilities;
}
/**
* The name of the stack to create. The resource deployed in AWS will be prefixed with `serverlessrepo-`
*
*/
@Export(name="name", refs={String.class}, tree="[0]")
private Output name;
/**
* @return The name of the stack to create. The resource deployed in AWS will be prefixed with `serverlessrepo-`
*
*/
public Output name() {
return this.name;
}
/**
* A map of outputs from the stack.
*
*/
@Export(name="outputs", refs={Map.class,String.class}, tree="[0,1,1]")
private Output
© 2015 - 2025 Weber Informatics LLC | Privacy Policy