AwsSsmParameterParameterArgs

interface AwsSsmParameterParameterArgs extends Omit<aws.ssm.ParameterArgs, 'keyId' | 'name' | 'type'> { allowedPattern?: Input<string | undefined>; arn?: Input<string | undefined>; assumeRole?: AwsSsmParameterAssumeRoleArgs; dataType?: Input<string | undefined>; description?: Input<string | undefined>; insecureValue?: Input<string | undefined>; kmsKey?: AwsKmsKeyInput; name: string; overwrite?: Input<boolean | undefined>; ramResourceShare?: AwsRamResourceShareReference; ramResourceShareName?: Input<string>; region?: Input<string | undefined>; tags?: Input<{ [key: string]: Input<string> } | undefined>; tier?: Input<string | undefined>; type?: ParameterType; value?: Input<string | undefined>; valueFromOnePassword?: ResolveOnePasswordValueArgs; valueWo?: Input<string | undefined>; valueWoVersion?: Input<number | undefined>; }

Input for the opinionated SSM parameter capability.

Remarks

The AWS parameter name uses stackAndPurpose: ${env}-${projectHash}-${purpose}. type defaults to SecureString and requires kmsKey. String and StringList parameters are plaintext and may omit kmsKey.

Example

CODE
import type { AwsSsmParameterParameterArgs } from '@jobcloud/aws-ssm-parameter';

const parameter: AwsSsmParameterParameterArgs = {
  name: 'dbPassword',
  value: 'secret',
  kmsKey: { identifier: 'alias/platform-ssm' },
};

Hierarchy

  • ParameterArgs, "keyId" | "name" | "type">
  • AwsSsmParameterParameterArgs

Properties

allowedPattern: Input<string | undefined>

Inherited from allowedPattern

Regular expression used to validate the parameter value.

arn: Input<string | undefined>

Inherited from arn

ARN of the parameter.

assumeRole: AwsSsmParameterAssumeRoleArgs

Optional cross-account role assumption.

dataType: Input<string | undefined>

Inherited from dataType

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: Input<string | undefined>

Inherited from description

Description of the parameter.

insecureValue: Input<string | undefined>

Inherited from insecureValue

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.

kmsKey: AwsKmsKeyInput

Customer-managed KMS key required for SecureString.

name: string

Camel-case purpose used for the logical identity and generated AWS parameter name.

overwrite: Input<boolean | undefined>

Inherited from overwrite

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.

ramResourceShare: AwsRamResourceShareReference

Existing AwsRam or explicit { arn } RAM resource-share reference. Raw aws.ram.ResourceShare resources are not accepted. Mutually exclusive with ramResourceShareName; configuring either selector forces the required Advanced tier.

ramResourceShareName: Input<string>

Existing active self-owned RAM resource-share name. Mutually exclusive with ramResourceShare; configuring either selector forces the required Advanced tier.

region: Input<string | undefined>

Inherited from region

Region where this resource will be managed. Defaults to the Region set in the provider configuration.

tags: Input<{ [key: string]: Input<string> } | undefined>

Inherited from tags

Map of tags to assign to the object. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

tier: Input<string | undefined>

Inherited from tier

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: ParameterType

Parameter type. Defaults to SecureString.

value: Input<string | undefined>

Inherited from value

Value of the parameter. This value is always marked as sensitive in the pulumi preview output, regardless of `type

valueFromOnePassword: ResolveOnePasswordValueArgs

Resolves the parameter value from 1Password instead of value or insecureValue.

valueWo: Input<string | undefined>

Inherited from valueWo

NOTE: This field is write-only and its value will not be updated in state as part of read operations. Value of the parameter. This value is always marked as sensitive in the pulumi preview output, regardless of type. Additionally, write-only values are never stored to state. valueWoVersion can be used to trigger an update and is required with this argument.

valueWoVersion: Input<number | undefined>

Inherited from valueWoVersion

Used together with valueWo to trigger an update. Increment this value when an update to the valueWo is required.

NOTE: aws:ssm:integration dataType parameters must be of the type SecureString and the name must start with the prefix /d9d01087-4a3f-49e0-b0b4-d568d7826553/ssm/integrations/webhook/. See here for information on the usage of aws:ssm:integration parameters.