Parameter Args
Provides an SSM Parameter resource.
Note:
overwrite
also makes it possible to overwrite an existing SSM Parameter that's not created by the provider before. This argument has been deprecated and will be removed in v6.0.0 of the provider. For more information on how this affects the behavior of this resource, see this issue comment.
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: bar
Encrypted 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: production
Import
Using pulumi import
, import SSM Parameters using the parameter store name
. For example:
$ pulumi import aws:ssm/parameter:Parameter my_param /my_path/my_paramname
Constructors
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
if the resource has not been created by Pulumi to avoid overwrite of existing resource, and will default to true
otherwise (Pulumi lifecycle rules should then be used to manage the 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: