import { MultiStringParameter } from 'cdk-sops-secrets'
new MultiStringParameter(scope: Construct, id: string, props: MultiStringParameterProps)| Name | Type | Description |
|---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
MultiStringParameterProps |
No description. |
- Type: constructs.Construct
- Type: string
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
public toString(): stringReturns a string representation of this construct.
| Name | Description |
|---|---|
isConstruct |
Checks if x is a construct. |
import { MultiStringParameter } from 'cdk-sops-secrets'
MultiStringParameter.isConstruct(x: any)Checks if x is a construct.
Use this method instead of instanceof to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct in each copy of the constructs library
is seen as a different class, and an instance of one class will not test as
instanceof the other class. npm install will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof will behave
unpredictably. It is safest to avoid using instanceof, and using
this type-testing method instead.
- Type: any
Any object.
| Name | Type | Description |
|---|---|---|
node |
constructs.Node |
The tree node. |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
No description. |
env |
aws-cdk-lib.interfaces.ResourceEnvironment |
No description. |
keyPrefix |
string |
No description. |
keySeparator |
string |
No description. |
stack |
aws-cdk-lib.Stack |
No description. |
sync |
SopsSync |
No description. |
public readonly node: Node;- Type: constructs.Node
The tree node.
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
public readonly env: ResourceEnvironment;- Type: aws-cdk-lib.interfaces.ResourceEnvironment
public readonly keyPrefix: string;- Type: string
public readonly keySeparator: string;- Type: string
public readonly stack: Stack;- Type: aws-cdk-lib.Stack
public readonly sync: SopsSync;- Type: SopsSync
- Implements: aws-cdk-lib.aws_secretsmanager.ISecret
A drop in replacement for the normal Secret, that is populated with the encrypted content of the given sops file.
import { SopsSecret } from 'cdk-sops-secrets'
new SopsSecret(scope: Construct, id: string, props: SopsSecretProps)| Name | Type | Description |
|---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
SopsSecretProps |
No description. |
- Type: constructs.Construct
- Type: string
- Type: SopsSecretProps
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
addRotationSchedule |
Adds a rotation schedule to the secret. |
addToResourcePolicy |
Adds a statement to the IAM resource policy associated with this secret. |
applyRemovalPolicy |
Apply the given removal policy to this resource. |
attach |
Attach a target to this secret. |
cfnDynamicReferenceKey |
Returns a key which can be used within an AWS CloudFormation dynamic reference to dynamically load this secret from AWS Secrets Manager. |
currentVersionId |
No description. |
denyAccountRootDelete |
Denies the DeleteSecret action to all principals within the current account. |
grantRead |
Grants reading the secret value to some role. |
grantWrite |
Grants writing and updating the secret value to some role. |
secretValueFromJson |
Interpret the secret as a JSON object and return a field's value from it as a SecretValue. |
public toString(): stringReturns a string representation of this construct.
public addRotationSchedule(id: string, options: RotationScheduleOptions): RotationScheduleAdds a rotation schedule to the secret.
- Type: string
- Type: aws-cdk-lib.aws_secretsmanager.RotationScheduleOptions
public addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResultAdds a statement to the IAM resource policy associated with this secret.
If this secret was created in this stack, a resource policy will be
automatically created upon the first call to addToResourcePolicy. If
the secret is imported, then this is a no-op.
- Type: aws-cdk-lib.aws_iam.PolicyStatement
public applyRemovalPolicy(policy: RemovalPolicy): voidApply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN).
- Type: aws-cdk-lib.RemovalPolicy
public attach(target: ISecretAttachmentTarget): ISecretAttach a target to this secret.
- Type: aws-cdk-lib.aws_secretsmanager.ISecretAttachmentTarget
public cfnDynamicReferenceKey(options?: SecretsManagerSecretOptions): stringReturns a key which can be used within an AWS CloudFormation dynamic reference to dynamically load this secret from AWS Secrets Manager.
- Type: aws-cdk-lib.SecretsManagerSecretOptions
public currentVersionId(): stringpublic denyAccountRootDelete(): voidDenies the DeleteSecret action to all principals within the current account.
public grantRead(grantee: IGrantable, versionStages?: string[]): GrantGrants reading the secret value to some role.
- Type: aws-cdk-lib.aws_iam.IGrantable
- Type: string[]
public grantWrite(_grantee: IGrantable): GrantGrants writing and updating the secret value to some role.
- Type: aws-cdk-lib.aws_iam.IGrantable
public secretValueFromJson(jsonField: string): SecretValueInterpret the secret as a JSON object and return a field's value from it as a SecretValue.
- Type: string
| Name | Description |
|---|---|
isConstruct |
Checks if x is a construct. |
import { SopsSecret } from 'cdk-sops-secrets'
SopsSecret.isConstruct(x: any)Checks if x is a construct.
Use this method instead of instanceof to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct in each copy of the constructs library
is seen as a different class, and an instance of one class will not test as
instanceof the other class. npm install will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof will behave
unpredictably. It is safest to avoid using instanceof, and using
this type-testing method instead.
- Type: any
Any object.
| Name | Type | Description |
|---|---|---|
node |
constructs.Node |
The tree node. |
env |
aws-cdk-lib.interfaces.ResourceEnvironment |
The environment this resource belongs to. |
secretArn |
string |
The ARN of the secret in AWS Secrets Manager. |
secretName |
string |
The name of the secret. |
secretRef |
aws-cdk-lib.interfaces.aws_secretsmanager.SecretReference |
A reference to a Secret resource. |
secretValue |
aws-cdk-lib.SecretValue |
Retrieve the value of the stored secret as a SecretValue. |
stack |
aws-cdk-lib.Stack |
The stack in which this resource is defined. |
sync |
SopsSync |
No description. |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The customer-managed encryption key that is used to encrypt this secret, if any. |
secretFullArn |
string |
The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix. |
public readonly node: Node;- Type: constructs.Node
The tree node.
public readonly env: ResourceEnvironment;- Type: aws-cdk-lib.interfaces.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed in a Stack (those created by
creating new class instances like new Role(), new Bucket(), etc.), this
is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like
Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be
different than the stack they were imported into.
public readonly secretArn: string;- Type: string
The ARN of the secret in AWS Secrets Manager.
Will return the full ARN if available, otherwise a partial arn.
For secrets imported by the deprecated fromSecretName, it will return the secretName.
public readonly secretName: string;- Type: string
The name of the secret.
For "owned" secrets, this will be the full resource name (secret name + suffix), unless the '@aws-cdk/aws-secretsmanager:parseOwnedSecretName' feature flag is set.
public readonly secretRef: SecretReference;- Type: aws-cdk-lib.interfaces.aws_secretsmanager.SecretReference
A reference to a Secret resource.
public readonly secretValue: SecretValue;- Type: aws-cdk-lib.SecretValue
Retrieve the value of the stored secret as a SecretValue.
public readonly stack: Stack;- Type: aws-cdk-lib.Stack
The stack in which this resource is defined.
public readonly sync: SopsSync;- Type: SopsSync
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
The customer-managed encryption key that is used to encrypt this secret, if any.
When not specified, the default KMS key for the account and region is being used.
public readonly secretFullArn: string;- Type: string
The full ARN of the secret in AWS Secrets Manager, which is the ARN including the Secrets Manager-supplied 6-character suffix.
This is equal to secretArn in most cases, but is undefined when a full ARN is not available (e.g., secrets imported by name).
- Implements: aws-cdk-lib.aws_ssm.IStringParameter
A drop in replacement for the normal String Parameter, that is populated with the encrypted content of the given sops file.
import { SopsStringParameter } from 'cdk-sops-secrets'
new SopsStringParameter(scope: Construct, id: string, props: SopsStringParameterProps)| Name | Type | Description |
|---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
SopsStringParameterProps |
No description. |
- Type: constructs.Construct
- Type: string
- Type: SopsStringParameterProps
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
applyRemovalPolicy |
Apply the given removal policy to this resource. |
grantRead |
Grants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter. |
grantWrite |
Grants write (PutParameter) permissions on the SSM Parameter. |
public toString(): stringReturns a string representation of this construct.
public applyRemovalPolicy(policy: RemovalPolicy): voidApply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN).
- Type: aws-cdk-lib.RemovalPolicy
public grantRead(grantee: IGrantable): GrantGrants read (DescribeParameter, GetParameters, GetParameter, GetParameterHistory) permissions on the SSM Parameter.
- Type: aws-cdk-lib.aws_iam.IGrantable
public grantWrite(grantee: IGrantable): GrantGrants write (PutParameter) permissions on the SSM Parameter.
- Type: aws-cdk-lib.aws_iam.IGrantable
| Name | Description |
|---|---|
isConstruct |
Checks if x is a construct. |
import { SopsStringParameter } from 'cdk-sops-secrets'
SopsStringParameter.isConstruct(x: any)Checks if x is a construct.
Use this method instead of instanceof to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct in each copy of the constructs library
is seen as a different class, and an instance of one class will not test as
instanceof the other class. npm install will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof will behave
unpredictably. It is safest to avoid using instanceof, and using
this type-testing method instead.
- Type: any
Any object.
| Name | Type | Description |
|---|---|---|
node |
constructs.Node |
The tree node. |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
No description. |
env |
aws-cdk-lib.interfaces.ResourceEnvironment |
The environment this resource belongs to. |
parameterArn |
string |
The ARN of the SSM Parameter resource. |
parameterName |
string |
The name of the SSM Parameter resource. |
parameterRef |
aws-cdk-lib.interfaces.aws_ssm.ParameterReference |
A reference to a Parameter resource. |
parameterType |
string |
The type of the SSM Parameter resource. |
stack |
aws-cdk-lib.Stack |
The stack in which this resource is defined. |
stringValue |
string |
The parameter value. |
sync |
SopsSync |
No description. |
public readonly node: Node;- Type: constructs.Node
The tree node.
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
public readonly env: ResourceEnvironment;- Type: aws-cdk-lib.interfaces.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed in a Stack (those created by
creating new class instances like new Role(), new Bucket(), etc.), this
is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like
Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be
different than the stack they were imported into.
public readonly parameterArn: string;- Type: string
The ARN of the SSM Parameter resource.
public readonly parameterName: string;- Type: string
The name of the SSM Parameter resource.
public readonly parameterRef: ParameterReference;- Type: aws-cdk-lib.interfaces.aws_ssm.ParameterReference
A reference to a Parameter resource.
public readonly parameterType: string;- Type: string
The type of the SSM Parameter resource.
public readonly stack: Stack;- Type: aws-cdk-lib.Stack
The stack in which this resource is defined.
public readonly stringValue: string;- Type: string
The parameter value.
Value must not nest another parameter. Do not use {{}} in the value.
public readonly sync: SopsSync;- Type: SopsSync
The custom resource, that is syncing the content from a sops file to a secret.
import { SopsSync } from 'cdk-sops-secrets'
new SopsSync(scope: Construct, id: string, props: SopsSyncProps)| Name | Type | Description |
|---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
SopsSyncProps |
No description. |
- Type: constructs.Construct
- Type: string
- Type: SopsSyncProps
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
public toString(): stringReturns a string representation of this construct.
| Name | Description |
|---|---|
isConstruct |
Checks if x is a construct. |
import { SopsSync } from 'cdk-sops-secrets'
SopsSync.isConstruct(x: any)Checks if x is a construct.
Use this method instead of instanceof to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct in each copy of the constructs library
is seen as a different class, and an instance of one class will not test as
instanceof the other class. npm install will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof will behave
unpredictably. It is safest to avoid using instanceof, and using
this type-testing method instead.
- Type: any
Any object.
| Name | Type | Description |
|---|---|---|
node |
constructs.Node |
The tree node. |
versionId |
string |
The current versionId of the secret populated via this resource. |
public readonly node: Node;- Type: constructs.Node
The tree node.
public readonly versionId: string;- Type: string
The current versionId of the secret populated via this resource.
- Implements: aws-cdk-lib.aws_iam.IGrantable
import { SopsSyncProvider } from 'cdk-sops-secrets'
new SopsSyncProvider(scope: Construct, id?: string, props?: SopsSyncProviderProps)| Name | Type | Description |
|---|---|---|
scope |
constructs.Construct |
No description. |
id |
string |
No description. |
props |
SopsSyncProviderProps |
No description. |
- Type: constructs.Construct
- Type: string
- Type: SopsSyncProviderProps
| Name | Description |
|---|---|
toString |
Returns a string representation of this construct. |
applyRemovalPolicy |
Apply the given removal policy to this resource. |
addEventSource |
Adds an event source to this function. |
addEventSourceMapping |
Adds an event source that maps to this AWS Lambda function. |
addFunctionUrl |
Adds a url to this lambda function. |
addPermission |
Adds a permission to the Lambda resource policy. |
addToRolePolicy |
Adds a statement to the IAM role assumed by the instance. |
configureAsyncInvoke |
Configures options for asynchronous invocation. |
considerWarningOnInvokeFunctionPermissions |
A warning will be added to functions under the following conditions: - permissions that include lambda:InvokeFunction are added to the unqualified function. |
grantInvoke |
Grant the given identity permissions to invoke this Lambda. |
grantInvokeCompositePrincipal |
Grant multiple principals the ability to invoke this Lambda via CompositePrincipal. |
grantInvokeLatestVersion |
Grant the given identity permissions to invoke the $LATEST version or unqualified version of this Lambda. |
grantInvokeUrl |
Grant the given identity permissions to invoke this Lambda Function URL. |
grantInvokeVersion |
Grant the given identity permissions to invoke the given version of this Lambda. |
metric |
Return the given named metric for this Function. |
metricDuration |
How long execution of this Lambda takes. |
metricErrors |
How many invocations of this Lambda fail. |
metricInvocations |
How often this Lambda is invoked. |
metricThrottles |
How often this Lambda is throttled. |
addDependency |
Using node.addDependency() does not work on this method as the underlying lambda function is modeled as a singleton across the stack. Use this method instead to declare dependencies. |
addEnvironment |
Adds an environment variable to this Lambda function. |
addLayers |
Adds one or more Lambda Layers to this Lambda function. |
addMetadata |
Use this method to write to the construct tree. |
dependOn |
The SingletonFunction construct cannot be added as a dependency of another construct using node.addDependency(). Use this method instead to declare this as a dependency of another construct. |
addAgeKey |
No description. |
public toString(): stringReturns a string representation of this construct.
public applyRemovalPolicy(policy: RemovalPolicy): voidApply the given removal policy to this resource.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN).
- Type: aws-cdk-lib.RemovalPolicy
public addEventSource(source: IEventSource): voidAdds an event source to this function.
Event sources are implemented in the aws-cdk-lib/aws-lambda-event-sources module.
The following example adds an SQS Queue as an event source:
import { SqsEventSource } from 'aws-cdk-lib/aws-lambda-event-sources';
myFunction.addEventSource(new SqsEventSource(myQueue));
- Type: aws-cdk-lib.aws_lambda.IEventSource
public addEventSourceMapping(id: string, options: EventSourceMappingOptions): EventSourceMappingAdds an event source that maps to this AWS Lambda function.
- Type: string
- Type: aws-cdk-lib.aws_lambda.EventSourceMappingOptions
public addFunctionUrl(options?: FunctionUrlOptions): FunctionUrlAdds a url to this lambda function.
- Type: aws-cdk-lib.aws_lambda.FunctionUrlOptions
public addPermission(name: string, permission: Permission): voidAdds a permission to the Lambda resource policy.
- Type: string
- Type: aws-cdk-lib.aws_lambda.Permission
public addToRolePolicy(statement: PolicyStatement): voidAdds a statement to the IAM role assumed by the instance.
- Type: aws-cdk-lib.aws_iam.PolicyStatement
public configureAsyncInvoke(options: EventInvokeConfigOptions): voidConfigures options for asynchronous invocation.
- Type: aws-cdk-lib.aws_lambda.EventInvokeConfigOptions
public considerWarningOnInvokeFunctionPermissions(scope: Construct, action: string): voidA warning will be added to functions under the following conditions: - permissions that include lambda:InvokeFunction are added to the unqualified function.
function.currentVersion is invoked before or after the permission is created.
This applies only to permissions on Lambda functions, not versions or aliases. This function is overridden as a noOp for QualifiedFunctionBase.
- Type: constructs.Construct
- Type: string
public grantInvoke(grantee: IGrantable): GrantGrant the given identity permissions to invoke this Lambda.
- Type: aws-cdk-lib.aws_iam.IGrantable
public grantInvokeCompositePrincipal(compositePrincipal: CompositePrincipal): Grant[]Grant multiple principals the ability to invoke this Lambda via CompositePrincipal.
- Type: aws-cdk-lib.aws_iam.CompositePrincipal
public grantInvokeLatestVersion(grantee: IGrantable): GrantGrant the given identity permissions to invoke the $LATEST version or unqualified version of this Lambda.
- Type: aws-cdk-lib.aws_iam.IGrantable
public grantInvokeUrl(grantee: IGrantable): GrantGrant the given identity permissions to invoke this Lambda Function URL.
- Type: aws-cdk-lib.aws_iam.IGrantable
public grantInvokeVersion(grantee: IGrantable, version: IVersion): GrantGrant the given identity permissions to invoke the given version of this Lambda.
- Type: aws-cdk-lib.aws_iam.IGrantable
- Type: aws-cdk-lib.aws_lambda.IVersion
public metric(metricName: string, props?: MetricOptions): MetricReturn the given named metric for this Function.
- Type: string
- Type: aws-cdk-lib.aws_cloudwatch.MetricOptions
public metricDuration(props?: MetricOptions): MetricHow long execution of this Lambda takes.
Average over 5 minutes
- Type: aws-cdk-lib.aws_cloudwatch.MetricOptions
public metricErrors(props?: MetricOptions): MetricHow many invocations of this Lambda fail.
Sum over 5 minutes
- Type: aws-cdk-lib.aws_cloudwatch.MetricOptions
public metricInvocations(props?: MetricOptions): MetricHow often this Lambda is invoked.
Sum over 5 minutes
- Type: aws-cdk-lib.aws_cloudwatch.MetricOptions
public metricThrottles(props?: MetricOptions): MetricHow often this Lambda is throttled.
Sum over 5 minutes
- Type: aws-cdk-lib.aws_cloudwatch.MetricOptions
public addDependency(up: ...IDependable[]): voidUsing node.addDependency() does not work on this method as the underlying lambda function is modeled as a singleton across the stack. Use this method instead to declare dependencies.
- Type: ...constructs.IDependable[]
public addEnvironment(key: string, value: string, options?: EnvironmentOptions): FunctionAdds an environment variable to this Lambda function.
If this is a ref to a Lambda function, this operation results in a no-op.
- Type: string
The environment variable key.
- Type: string
The environment variable's value.
- Type: aws-cdk-lib.aws_lambda.EnvironmentOptions
Environment variable options.
public addLayers(layers: ...ILayerVersion[]): voidAdds one or more Lambda Layers to this Lambda function.
- Type: ...aws-cdk-lib.aws_lambda.ILayerVersion[]
the layers to be added.
public addMetadata(type: string, data: any, options?: MetadataOptions): voidUse this method to write to the construct tree.
The metadata entries are written to the Cloud Assembly Manifest if the treeMetadata property is specified in the props of the App that contains this Construct.
- Type: string
- Type: any
- Type: constructs.MetadataOptions
public dependOn(down: IConstruct): voidThe SingletonFunction construct cannot be added as a dependency of another construct using node.addDependency(). Use this method instead to declare this as a dependency of another construct.
- Type: constructs.IConstruct
public addAgeKey(key: SecretValue): void- Type: aws-cdk-lib.SecretValue
| Name | Description |
|---|---|
isConstruct |
Checks if x is a construct. |
isOwnedResource |
Returns true if the construct was created by CDK, and false otherwise. |
isResource |
Check whether the given construct is a Resource. |
import { SopsSyncProvider } from 'cdk-sops-secrets'
SopsSyncProvider.isConstruct(x: any)Checks if x is a construct.
Use this method instead of instanceof to properly detect Construct
instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on
disk are seen as independent, completely different libraries. As a
consequence, the class Construct in each copy of the constructs library
is seen as a different class, and an instance of one class will not test as
instanceof the other class. npm install will not create installations
like this, but users may manually symlink construct libraries together or
use a monorepo tool: in those cases, multiple copies of the constructs
library can be accidentally installed, and instanceof will behave
unpredictably. It is safest to avoid using instanceof, and using
this type-testing method instead.
- Type: any
Any object.
import { SopsSyncProvider } from 'cdk-sops-secrets'
SopsSyncProvider.isOwnedResource(construct: IConstruct)Returns true if the construct was created by CDK, and false otherwise.
- Type: constructs.IConstruct
import { SopsSyncProvider } from 'cdk-sops-secrets'
SopsSyncProvider.isResource(construct: IConstruct)Check whether the given construct is a Resource.
- Type: constructs.IConstruct
| Name | Type | Description |
|---|---|---|
node |
constructs.Node |
The tree node. |
env |
aws-cdk-lib.interfaces.ResourceEnvironment |
The environment this resource belongs to. |
stack |
aws-cdk-lib.Stack |
The stack in which this resource is defined. |
architecture |
aws-cdk-lib.aws_lambda.Architecture |
The architecture of this Lambda Function. |
connections |
aws-cdk-lib.aws_ec2.Connections |
Access the Connections object. |
functionArn |
string |
The ARN fo the function. |
functionName |
string |
The name of the function. |
functionRef |
aws-cdk-lib.interfaces.aws_lambda.FunctionReference |
A reference to a Function resource. |
grantPrincipal |
aws-cdk-lib.aws_iam.IPrincipal |
The principal this Lambda Function is running as. |
isBoundToVpc |
boolean |
Whether or not this Lambda function was bound to a VPC. |
latestVersion |
aws-cdk-lib.aws_lambda.IVersion |
The $LATEST version of this function. |
permissionsNode |
constructs.Node |
The construct node where permissions are attached. |
resourceArnsForGrantInvoke |
string[] |
The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke(). |
role |
aws-cdk-lib.aws_iam.IRole |
The IAM role associated with this function. |
tenancyConfig |
aws-cdk-lib.aws_lambda.TenancyConfig |
The tenancy configuration for this function. |
constructName |
string |
The name of the singleton function. |
currentVersion |
aws-cdk-lib.aws_lambda.Version |
Returns a lambda.Version which represents the current version of this singleton Lambda function. A new version will be created every time the function's configuration changes. |
logGroup |
aws-cdk-lib.aws_logs.ILogGroup |
The LogGroup where the Lambda function's logs are made available. |
runtime |
aws-cdk-lib.aws_lambda.Runtime |
The runtime environment for the Lambda function. |
public readonly node: Node;- Type: constructs.Node
The tree node.
public readonly env: ResourceEnvironment;- Type: aws-cdk-lib.interfaces.ResourceEnvironment
The environment this resource belongs to.
For resources that are created and managed in a Stack (those created by
creating new class instances like new Role(), new Bucket(), etc.), this
is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like
Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be
different than the stack they were imported into.
public readonly stack: Stack;- Type: aws-cdk-lib.Stack
The stack in which this resource is defined.
public readonly architecture: Architecture;- Type: aws-cdk-lib.aws_lambda.Architecture
The architecture of this Lambda Function.
public readonly connections: Connections;- Type: aws-cdk-lib.aws_ec2.Connections
Access the Connections object.
Will fail if not a VPC-enabled Lambda Function
public readonly functionArn: string;- Type: string
The ARN fo the function.
public readonly functionName: string;- Type: string
The name of the function.
public readonly functionRef: FunctionReference;- Type: aws-cdk-lib.interfaces.aws_lambda.FunctionReference
A reference to a Function resource.
public readonly grantPrincipal: IPrincipal;- Type: aws-cdk-lib.aws_iam.IPrincipal
The principal this Lambda Function is running as.
public readonly isBoundToVpc: boolean;- Type: boolean
Whether or not this Lambda function was bound to a VPC.
If this is is false, trying to access the connections object will fail.
public readonly latestVersion: IVersion;- Type: aws-cdk-lib.aws_lambda.IVersion
The $LATEST version of this function.
Note that this is reference to a non-specific AWS Lambda version, which means the function this version refers to can return different results in different invocations.
To obtain a reference to an explicit version which references the current
function configuration, use lambdaFunction.currentVersion instead.
public readonly permissionsNode: Node;- Type: constructs.Node
The construct node where permissions are attached.
public readonly resourceArnsForGrantInvoke: string[];- Type: string[]
The ARN(s) to put into the resource field of the generated IAM policy for grantInvoke().
public readonly role: IRole;- Type: aws-cdk-lib.aws_iam.IRole
The IAM role associated with this function.
Undefined if the function was imported without a role.
public readonly tenancyConfig: TenancyConfig;- Type: aws-cdk-lib.aws_lambda.TenancyConfig
The tenancy configuration for this function.
public readonly constructName: string;- Type: string
The name of the singleton function.
It acts as a unique ID within its CDK stack.
public readonly currentVersion: Version;- Type: aws-cdk-lib.aws_lambda.Version
Returns a lambda.Version which represents the current version of this singleton Lambda function. A new version will be created every time the function's configuration changes.
You can specify options for this version using the currentVersionOptions
prop when initializing the lambda.SingletonFunction.
public readonly logGroup: ILogGroup;- Type: aws-cdk-lib.aws_logs.ILogGroup
The LogGroup where the Lambda function's logs are made available.
If either logRetention is set or this property is called, a CloudFormation custom resource is added to the stack that
pre-creates the log group as part of the stack deployment, if it already doesn't exist, and sets the correct log retention
period (never expire, by default).
Further, if the log group already exists and the logRetention is not set, the custom resource will reset the log retention
to never expire even if it was configured with a different value.
public readonly runtime: Runtime;- Type: aws-cdk-lib.aws_lambda.Runtime
The runtime environment for the Lambda function.
| Name | Type | Description |
|---|---|---|
PROPERTY_INJECTION_ID |
string |
Uniquely identifies this class. |
public readonly PROPERTY_INJECTION_ID: string;- Type: string
Uniquely identifies this class.
import { MultiStringParameterProps } from 'cdk-sops-secrets'
const multiStringParameterProps: MultiStringParameterProps = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The customer-managed encryption key to use for encrypting the secret value. |
description |
string |
Information about the parameter that you want to add to the system. |
tier |
aws-cdk-lib.aws_ssm.ParameterTier |
The tier of the string parameter. |
keyPrefix |
string |
The prefix used for all parameters. |
keySeparator |
string |
The seperator used to seperate keys. |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: A default KMS key for the account and region is used.
The customer-managed encryption key to use for encrypting the secret value.
public readonly description: string;- Type: string
- Default: none
Information about the parameter that you want to add to the system.
public readonly tier: ParameterTier;- Type: aws-cdk-lib.aws_ssm.ParameterTier
- Default: undefined
The tier of the string parameter.
public readonly keyPrefix: string;- Type: string
- Default: '/'
The prefix used for all parameters.
public readonly keySeparator: string;- Type: string
- Default: '/'
The seperator used to seperate keys.
The configuration options of the StringParameter.
import { SopsCommonParameterProps } from 'cdk-sops-secrets'
const sopsCommonParameterProps: SopsCommonParameterProps = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The customer-managed encryption key to use for encrypting the secret value. |
description |
string |
Information about the parameter that you want to add to the system. |
tier |
aws-cdk-lib.aws_ssm.ParameterTier |
The tier of the string parameter. |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: A default KMS key for the account and region is used.
The customer-managed encryption key to use for encrypting the secret value.
public readonly description: string;- Type: string
- Default: none
Information about the parameter that you want to add to the system.
public readonly tier: ParameterTier;- Type: aws-cdk-lib.aws_ssm.ParameterTier
- Default: undefined
The tier of the string parameter.
The configuration options of the SopsSecret.
import { SopsSecretProps } from 'cdk-sops-secrets'
const sopsSecretProps: SopsSecretProps = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
description |
string |
An optional, human-friendly description of the secret. |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The customer-managed encryption key to use for encrypting the secret value. |
rawOutput |
RawOutput |
Should the secret parsed and transformed to json? |
removalPolicy |
aws-cdk-lib.RemovalPolicy |
Policy to apply when the secret is removed from this stack. |
replicaRegions |
aws-cdk-lib.aws_secretsmanager.ReplicaRegion[] |
A list of regions where to replicate this secret. |
secretName |
string |
A name for the secret. |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
public readonly description: string;- Type: string
- Default: No description.
An optional, human-friendly description of the secret.
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: A default KMS key for the account and region is used.
The customer-managed encryption key to use for encrypting the secret value.
public readonly rawOutput: RawOutput;- Type: RawOutput
- Default: undefined - STRING for binary secrets, else no raw output
Should the secret parsed and transformed to json?
public readonly removalPolicy: RemovalPolicy;- Type: aws-cdk-lib.RemovalPolicy
- Default: Not set.
Policy to apply when the secret is removed from this stack.
public readonly replicaRegions: ReplicaRegion[];- Type: aws-cdk-lib.aws_secretsmanager.ReplicaRegion[]
- Default: Secret is not replicated
A list of regions where to replicate this secret.
public readonly secretName: string;- Type: string
- Default: A name is generated by CloudFormation.
A name for the secret.
Note that deleting secrets from SecretsManager does not happen immediately, but after a 7 to 30 days blackout period. During that period, it is not possible to create another secret that shares the same name.
import { SopsStringParameterProps } from 'cdk-sops-secrets'
const sopsStringParameterProps: SopsStringParameterProps = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The customer-managed encryption key to use for encrypting the secret value. |
description |
string |
Information about the parameter that you want to add to the system. |
tier |
aws-cdk-lib.aws_ssm.ParameterTier |
The tier of the string parameter. |
parameterName |
string |
The name of the parameter. |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: A default KMS key for the account and region is used.
The customer-managed encryption key to use for encrypting the secret value.
public readonly description: string;- Type: string
- Default: none
Information about the parameter that you want to add to the system.
public readonly tier: ParameterTier;- Type: aws-cdk-lib.aws_ssm.ParameterTier
- Default: undefined
The tier of the string parameter.
public readonly parameterName: string;- Type: string
- Default: a name will be generated by CloudFormation
The name of the parameter.
Configuration options for the SopsSync.
import { SopsSyncOptions } from 'cdk-sops-secrets'
const sopsSyncOptions: SopsSyncOptions = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
The configuration options extended by the target Secret / Parameter.
import { SopsSyncProps } from 'cdk-sops-secrets'
const sopsSyncProps: SopsSyncProps = { ... }| Name | Type | Description |
|---|---|---|
assetEncryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used by the CDK default Asset S3 Bucket. |
autoGenerateIamPermissions |
boolean |
Should this construct automatically create IAM permissions? |
sopsAgeKey |
aws-cdk-lib.SecretValue |
The age key that should be used for encryption. |
sopsFileFormat |
string |
The format of the sops file. |
sopsFilePath |
string |
The filepath to the sops file. |
sopsKmsKey |
aws-cdk-lib.aws_kms.IKey[] |
The kmsKey used to encrypt the sops file. |
sopsProvider |
SopsSyncProvider |
The custom resource provider to use. |
sopsS3Bucket |
string |
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
sopsS3Key |
string |
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified. |
uploadType |
UploadType |
How should the secret be passed to the CustomResource? |
resourceType |
ResourceType |
Will this Sync deploy a Secret or Parameter(s). |
target |
string |
The target to populate with the sops file content. |
encryptionKey |
aws-cdk-lib.aws_kms.IKey |
The encryption key used for encrypting the ssm parameter if parameterName is set. |
flattenSeparator |
string |
If the structure should be flattened use the provided separator between keys. |
parameterNames |
string[] |
No description. |
secret |
aws-cdk-lib.aws_secretsmanager.ISecret |
No description. |
public readonly assetEncryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
- Default: Trying to get the key using the CDK Bootstrap context.
The encryption key used by the CDK default Asset S3 Bucket.
public readonly autoGenerateIamPermissions: boolean;- Type: boolean
- Default: true
Should this construct automatically create IAM permissions?
public readonly sopsAgeKey: SecretValue;- Type: aws-cdk-lib.SecretValue
The age key that should be used for encryption.
public readonly sopsFileFormat: string;- Type: string
- Default: The fileformat will be derived from the file ending
The format of the sops file.
public readonly sopsFilePath: string;- Type: string
The filepath to the sops file.
public readonly sopsKmsKey: IKey[];- Type: aws-cdk-lib.aws_kms.IKey[]
- Default: The key will be derived from the sops file
The kmsKey used to encrypt the sops file.
Encrypt permissions will be granted to the custom resource provider.
public readonly sopsProvider: SopsSyncProvider;- Type: SopsSyncProvider
- Default: A new singleton provider will be created
The custom resource provider to use.
If you don't specify any, a new provider will be created - or if already exists within this stack - reused.
public readonly sopsS3Bucket: string;- Type: string
If you want to pass the sops file via s3, you can specify the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly sopsS3Key: string;- Type: string
If you want to pass the sops file via s3, you can specify the key inside the bucket you can use cfn parameter here Both, sopsS3Bucket and sopsS3Key have to be specified.
public readonly uploadType: UploadType;- Type: UploadType
- Default: INLINE
How should the secret be passed to the CustomResource?
public readonly resourceType: ResourceType;- Type: ResourceType
Will this Sync deploy a Secret or Parameter(s).
public readonly target: string;- Type: string
The target to populate with the sops file content.
for secret, it's the name or arn of the secret
- for parameter, it's the name of the parameter
- for parameter multi, it's the prefix of the parameters
public readonly encryptionKey: IKey;- Type: aws-cdk-lib.aws_kms.IKey
The encryption key used for encrypting the ssm parameter if parameterName is set.
public readonly flattenSeparator: string;- Type: string
- Default: undefined
If the structure should be flattened use the provided separator between keys.
public readonly parameterNames: string[];- Type: string[]
public readonly secret: ISecret;- Type: aws-cdk-lib.aws_secretsmanager.ISecret
Configuration options for a custom SopsSyncProvider.
import { SopsSyncProviderProps } from 'cdk-sops-secrets'
const sopsSyncProviderProps: SopsSyncProviderProps = { ... }| Name | Type | Description |
|---|---|---|
logGroup |
aws-cdk-lib.aws_logs.ILogGroup |
The log group the function sends logs to. |
logRetention |
aws-cdk-lib.aws_logs.RetentionDays |
The number of days log events are kept in CloudWatch Logs. |
role |
aws-cdk-lib.aws_iam.IRole |
The role that should be used for the custom resource provider. |
securityGroups |
aws-cdk-lib.aws_ec2.ISecurityGroup[] |
Only if vpc is supplied: The list of security groups to associate with the Lambda's network interfaces. |
uuid |
string |
A unique identifier to identify this provider. |
vpc |
aws-cdk-lib.aws_ec2.IVpc |
VPC network to place Lambda network interfaces. |
vpcSubnets |
aws-cdk-lib.aws_ec2.SubnetSelection |
Where to place the network interfaces within the VPC. |
public readonly logGroup: ILogGroup;- Type: aws-cdk-lib.aws_logs.ILogGroup
- Default:
/aws/lambda/${this.functionName}- default log group created by Lambda
The log group the function sends logs to.
By default, Lambda functions send logs to an automatically created default log group named /aws/lambda/{function-name}. However you cannot change the properties of this auto-created log group using the AWS CDK, e.g. you cannot set a different log retention.
Use the logGroup property to create a fully customizable LogGroup ahead of time, and instruct the Lambda function to send logs to it.
Providing a user-controlled log group was rolled out to commercial regions on 2023-11-16. If you are deploying to another type of region, please check regional availability first.
public readonly logRetention: RetentionDays;- Type: aws-cdk-lib.aws_logs.RetentionDays
- Default: logs.RetentionDays.INFINITE
The number of days log events are kept in CloudWatch Logs.
When updating
this property, unsetting it doesn't remove the log retention policy. To
remove the retention policy, set the value to INFINITE.
This is a legacy API and we strongly recommend you move away from it if you can.
Instead create a fully customizable log group with logs.LogGroup and use the logGroup property
to instruct the Lambda function to send logs to it.
Migrating from logRetention to logGroup will cause the name of the log group to change.
Users and code and referencing the name verbatim will have to adjust.
In AWS CDK code, you can access the log group name directly from the LogGroup construct:
import * as logs from 'aws-cdk-lib/aws-logs';
declare const myLogGroup: logs.LogGroup;
myLogGroup.logGroupName;public readonly role: IRole;- Type: aws-cdk-lib.aws_iam.IRole
- Default: a new role will be created
The role that should be used for the custom resource provider.
If you don't specify any, a new role will be created with all required permissions
public readonly securityGroups: ISecurityGroup[];- Type: aws-cdk-lib.aws_ec2.ISecurityGroup[]
- Default: A dedicated security group will be created for the lambda function.
Only if vpc is supplied: The list of security groups to associate with the Lambda's network interfaces.
public readonly uuid: string;- Type: string
- Default: SopsSyncProvider
A unique identifier to identify this provider.
Overwrite the default, if you need a dedicated provider.
public readonly vpc: IVpc;- Type: aws-cdk-lib.aws_ec2.IVpc
- Default: Lambda function is not placed within a VPC.
VPC network to place Lambda network interfaces.
public readonly vpcSubnets: SubnetSelection;- Type: aws-cdk-lib.aws_ec2.SubnetSelection
- Default: Subnets will be chosen automatically.
Where to place the network interfaces within the VPC.
| Name | Description |
|---|---|
STRING |
Parse the secret as a string. |
BINARY |
Parse the secret as a binary. |
Parse the secret as a string.
Parse the secret as a binary.
| Name | Description |
|---|---|
SECRET |
No description. |
SECRET_RAW |
No description. |
SECRET_BINARY |
No description. |
PARAMETER |
No description. |
PARAMETER_MULTI |
No description. |
| Name | Description |
|---|---|
INLINE |
Pass the secret data inline (base64 encoded and compressed). |
ASSET |
Uplaod the secret data as asset. |
Pass the secret data inline (base64 encoded and compressed).
Uplaod the secret data as asset.