Parameter Args
Provides an SSM Parameter resource.
Note: The
overwriteargument makes it possible to overwrite an existing SSM Parameter created outside of IAC.
Example Usage
Basic example
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const foo = new aws.ssm.Parameter("foo", {
name: "foo",
type: aws.ssm.ParameterType.String,
value: "bar",
});import pulumi
import pulumi_aws as aws
foo = aws.ssm.Parameter("foo",
name="foo",
type=aws.ssm.ParameterType.STRING,
value="bar")using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var foo = new Aws.Ssm.Parameter("foo", new()
{
Name = "foo",
Type = Aws.Ssm.ParameterType.String,
Value = "bar",
});
});package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ssm.NewParameter(ctx, "foo", &ssm.ParameterArgs{
Name: pulumi.String("foo"),
Type: pulumi.String(ssm.ParameterTypeString),
Value: pulumi.String("bar"),
})
if err != nil {
return err
}
return nil
})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssm.Parameter;
import com.pulumi.aws.ssm.ParameterArgs;
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) {
var foo = new Parameter("foo", ParameterArgs.builder()
.name("foo")
.type("String")
.value("bar")
.build());
}
}resources:
foo:
type: aws:ssm:Parameter
properties:
name: foo
type: String
value: barEncrypted string using default SSM KMS key
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _default = new aws.rds.Instance("default", {
allocatedStorage: 10,
storageType: aws.rds.StorageType.GP2,
engine: "mysql",
engineVersion: "5.7.16",
instanceClass: aws.rds.InstanceType.T2_Micro,
dbName: "mydb",
username: "foo",
password: databaseMasterPassword,
dbSubnetGroupName: "my_database_subnet_group",
parameterGroupName: "default.mysql5.7",
});
const secret = new aws.ssm.Parameter("secret", {
name: "/production/database/password/master",
description: "The parameter description",
type: aws.ssm.ParameterType.SecureString,
value: databaseMasterPassword,
tags: {
environment: "production",
},
});import pulumi
import pulumi_aws as aws
default = aws.rds.Instance("default",
allocated_storage=10,
storage_type=aws.rds.StorageType.GP2,
engine="mysql",
engine_version="5.7.16",
instance_class=aws.rds.InstanceType.T2_MICRO,
db_name="mydb",
username="foo",
password=database_master_password,
db_subnet_group_name="my_database_subnet_group",
parameter_group_name="default.mysql5.7")
secret = aws.ssm.Parameter("secret",
name="/production/database/password/master",
description="The parameter description",
type=aws.ssm.ParameterType.SECURE_STRING,
value=database_master_password,
tags={
"environment": "production",
})using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @default = new Aws.Rds.Instance("default", new()
{
AllocatedStorage = 10,
StorageType = Aws.Rds.StorageType.GP2,
Engine = "mysql",
EngineVersion = "5.7.16",
InstanceClass = Aws.Rds.InstanceType.T2_Micro,
DbName = "mydb",
Username = "foo",
Password = databaseMasterPassword,
DbSubnetGroupName = "my_database_subnet_group",
ParameterGroupName = "default.mysql5.7",
});
var secret = new Aws.Ssm.Parameter("secret", new()
{
Name = "/production/database/password/master",
Description = "The parameter description",
Type = Aws.Ssm.ParameterType.SecureString,
Value = databaseMasterPassword,
Tags =
{
{ "environment", "production" },
},
});
});package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/rds"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssm"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := rds.NewInstance(ctx, "default", &rds.InstanceArgs{
AllocatedStorage: pulumi.Int(10),
StorageType: pulumi.String(rds.StorageTypeGP2),
Engine: pulumi.String("mysql"),
EngineVersion: pulumi.String("5.7.16"),
InstanceClass: pulumi.String(rds.InstanceType_T2_Micro),
DbName: pulumi.String("mydb"),
Username: pulumi.String("foo"),
Password: pulumi.Any(databaseMasterPassword),
DbSubnetGroupName: pulumi.String("my_database_subnet_group"),
ParameterGroupName: pulumi.String("default.mysql5.7"),
})
if err != nil {
return err
}
_, err = ssm.NewParameter(ctx, "secret", &ssm.ParameterArgs{
Name: pulumi.String("/production/database/password/master"),
Description: pulumi.String("The parameter description"),
Type: pulumi.String(ssm.ParameterTypeSecureString),
Value: pulumi.Any(databaseMasterPassword),
Tags: pulumi.StringMap{
"environment": pulumi.String("production"),
},
})
if err != nil {
return err
}
return nil
})
}package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.rds.Instance;
import com.pulumi.aws.rds.InstanceArgs;
import com.pulumi.aws.ssm.Parameter;
import com.pulumi.aws.ssm.ParameterArgs;
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) {
var default_ = new Instance("default", InstanceArgs.builder()
.allocatedStorage(10)
.storageType("gp2")
.engine("mysql")
.engineVersion("5.7.16")
.instanceClass("db.t2.micro")
.dbName("mydb")
.username("foo")
.password(databaseMasterPassword)
.dbSubnetGroupName("my_database_subnet_group")
.parameterGroupName("default.mysql5.7")
.build());
var secret = new Parameter("secret", ParameterArgs.builder()
.name("/production/database/password/master")
.description("The parameter description")
.type("SecureString")
.value(databaseMasterPassword)
.tags(Map.of("environment", "production"))
.build());
}
}resources:
default:
type: aws:rds:Instance
properties:
allocatedStorage: 10
storageType: gp2
engine: mysql
engineVersion: 5.7.16
instanceClass: db.t2.micro
dbName: mydb
username: foo
password: ${databaseMasterPassword}
dbSubnetGroupName: my_database_subnet_group
parameterGroupName: default.mysql5.7
secret:
type: aws:ssm:Parameter
properties:
name: /production/database/password/master
description: The parameter description
type: SecureString
value: ${databaseMasterPassword}
tags:
environment: productionImport
Using pulumi import, import SSM Parameters using the parameter store name. For example:
$ pulumi import aws:ssm/parameter:Parameter my_param /my_path/my_paramnameConstructors
Properties
Regular expression used to validate the parameter value.
Data type of the parameter. Valid values: text, aws:ssm:integration and aws:ec2:image for AMI format, see the Native parameter support for Amazon Machine Image IDs.
Description of the parameter.
Value of the parameter. Use caution: This value is never marked as sensitive in the pulumi preview output. This argument is not valid with a type of SecureString.
Name of the parameter. If the name contains a path (e.g., any forward slashes (/)), it must be fully qualified with a leading forward slash (/). For additional requirements and constraints, see the AWS SSM User Guide.
Overwrite an existing parameter. If not specified, defaults to false during create operations to avoid overwriting existing resources and then true for all subsequent operations once the resource is managed by IAC. Lifecycle rules should be used to manage non-standard update behavior.
Parameter tier to assign to the parameter. If not specified, will use the default parameter tier for the region. Valid tiers are Standard, Advanced, and Intelligent-Tiering. Downgrading an Advanced tier parameter to Standard will recreate the resource. For more information on parameter tiers, see the AWS SSM Parameter tier comparison and guide.
Type of the parameter. Valid types are String, StringList and SecureString. The following arguments are optional: