almacdkcrossregionparameter

package module
v0.0.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 19, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

README ¶



Alma CDK Cross-Region Parameter

npm i -D @alma-cdk/cross-region-parameter

Store AWS SSM Parameter Store Parameters into another AWS Region with AWS CDK.



diagram


🚧   Project Stability

experimental

This construct is still versioned with v0 major version and breaking changes might be introduced if necessary (without a major version bump), though we aim to keep the API as stable as possible (even within v0 development). We aim to publish v1.0.0 soon and after that breaking changes will be introduced via major version bumps.


Getting Started

import { CrossRegionParameter } from "@alma-cdk/cross-region-parameter";

new CrossRegionParameter(this, 'SayHiToSweden', {
  region: 'eu-north-1',
  name: '/parameter/path/message',
  description: 'Some message for the Swedes',
  value: 'Hej då!',
});

Documentation ¶

Overview ¶

Store AWS SSM Parameter Store Parameters into another AWS Region with AWS CDK

Store AWS SSM Parameter Store Parameters into another AWS Region with AWS CDK ¶

Store AWS SSM Parameter Store Parameters into another AWS Region with AWS CDK ¶

Store AWS SSM Parameter Store Parameters into another AWS Region with AWS CDK

Index ¶

Constants ¶

This section is empty.

Variables ¶

This section is empty.

Functions ¶

func CrossRegionParameter_IsConstruct ¶

func CrossRegionParameter_IsConstruct(x interface{}) *bool

Checks if `x` is a construct.

Returns: true if `x` is an object created from a class which extends `Construct`. Deprecated: use `x instanceof Construct` instead.

func NewCrossRegionParameter_Override ¶

func NewCrossRegionParameter_Override(c CrossRegionParameter, scope constructs.Construct, name *string, props *CrossRegionParameterProps)

Define a new Cross-Region SSM Parameter.

Example:

new CrossRegionParameter(this, 'SayHiToSweden', {
  region: 'eu-north-1',
  name: '/parameter/path/message',
  description: 'Some message for the Swedes',
  value: 'Hej då!',
});

Experimental.

Types ¶

type CrossRegionParameter ¶

type CrossRegionParameter interface {
	constructs.Construct
	// The tree node.
	// Experimental.
	Node() constructs.Node
	// Returns a string representation of this construct.
	// Experimental.
	ToString() *string
}

Cross-Region SSM Parameter. Experimental.

func NewCrossRegionParameter ¶

func NewCrossRegionParameter(scope constructs.Construct, name *string, props *CrossRegionParameterProps) CrossRegionParameter

Define a new Cross-Region SSM Parameter.

Example:

new CrossRegionParameter(this, 'SayHiToSweden', {
  region: 'eu-north-1',
  name: '/parameter/path/message',
  description: 'Some message for the Swedes',
  value: 'Hej då!',
});

Experimental.

type CrossRegionParameterProps ¶

type CrossRegionParameterProps struct {
	// Information about the SSM Parameter that you want to add.
	//
	// Required by this construct (AWS considers it as optional).
	//
	// Example:
	//   'Some message for the Swedes'
	//
	// Experimental.
	Description *string `field:"required" json:"description" yaml:"description"`
	// SSM Parameter name.
	//
	// Example:
	//   '/parameter/path/message'
	//
	// Experimental.
	Name *string `field:"required" json:"name" yaml:"name"`
	// Target region for the parameter.
	//
	// Must be some other region than the current Stack's region.
	//
	// Example:
	//   'eu-north-1'
	//
	// Experimental.
	Region *string `field:"required" json:"region" yaml:"region"`
	// The SSM Parameter value that you want to add.
	//
	// Limits:
	// - Standard parameters have a value limit of 4 KB.
	// - Advanced parameters have a value limit of 8 KB.
	//
	// Example:
	//   'Hej då!'
	//
	// Experimental.
	Value *string `field:"required" json:"value" yaml:"value"`
	// A regular expression used to validate the SSM Parameter Value.
	//
	// For example, for String types with values restricted to numbers,
	// you can specify the following: `^\d+$`.
	//
	// Example:
	//   '^\d+$'
	//
	// See: https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html#systemsmanager-PutParameter-request-AllowedPattern
	//
	// Experimental.
	AllowedPattern *string `field:"optional" json:"allowedPattern" yaml:"allowedPattern"`
	// The AWS Key Management Service (AWS KMS) ID that you want to use to encrypt a parameter.
	//
	// Either the default AWS KMS key automatically assigned to your AWS account or a custom key. Required for parameters that use the SecureString data type.
	//
	// The KMS Key must exists in the target region.
	//
	// If you don't specify a key ID, the system uses the default key associated with your AWS account.
	//
	// Example:
	//   '1234abcd-12ab-34cd-56ef-1234567890ab'
	//
	// See: https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_PutParameter.html#systemsmanager-PutParameter-request-KeyId
	//
	// Experimental.
	KeyId *string `field:"optional" json:"keyId" yaml:"keyId"`
	// The SSM Parameter Tier to assign to a parameter.
	//
	// - Parameter Store offers a standard tier and an advanced tier for parameters. Standard parameters have a content size limit of 4 KB and can't be configured to use parameter policies. You can create a maximum of 10,000 standard parameters for each Region in an AWS account. Standard parameters are offered at no additional cost.
	// - Advanced parameters have a content size limit of 8 KB and can be configured to use parameter policies. You can create a maximum of 100,000 advanced parameters for each Region in an AWS account. Advanced parameters incur a charge. For more information, see Standard and advanced parameter tiers in the AWS Systems Manager User Guide.
	// - You can change a standard parameter to an advanced parameter any time. But you can't revert an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard parameter would result in data loss because the system would truncate the size of the parameter from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly, advanced parameters use a different form of encryption than standard parameters.
	// - If you no longer need an advanced parameter, or if you no longer want to incur charges for an advanced parameter, you must delete it and recreate it as a new standard parameter.
	//
	// Example:
	//   ParameterTier.INTELLIGENT_TIERING
	//
	// Experimental.
	ParameterTier awsssm.ParameterTier `field:"optional" json:"parameterTier" yaml:"parameterTier"`
	// The type of SSM Parameter that you want to add.
	//
	// Example:
	//   ParameterType.STRING_LIST
	//
	// Experimental.
	ParameterType awsssm.ParameterType `field:"optional" json:"parameterType" yaml:"parameterType"`
	// One or more policies to apply to a SSM Parameter.
	// See: https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html
	//
	// Experimental.
	Policies *string `field:"optional" json:"policies" yaml:"policies"`
	// Tags to add into the SSM Paramater that you want to add.
	//
	// Example:
	//   [
	//     {
	//       Key: 'STRING_VALUE',
	//       Value: 'STRING_VALUE'
	//     },
	//   ]
	//
	// Experimental.
	Tags *[]*TagProp `field:"optional" json:"tags" yaml:"tags"`
}

Experimental.

type TagProp ¶

type TagProp struct {
	// Experimental.
	Key *string `field:"required" json:"key" yaml:"key"`
	// Experimental.
	Value *string `field:"required" json:"value" yaml:"value"`
}

Tag properties. Experimental.

Directories ¶

Path Synopsis
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.
Package jsii contains the functionaility needed for jsii packages to initialize their dependencies and themselves.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL