Skip to content
v2.276.0

Secret Class ​

A secret environment variable.

Example ​

ts
declare const secret: secretsmanager.Secret;
declare const parameter: ssm.StringParameter;

const taskDefinition = new ecs.Ec2TaskDefinition(this, 'TaskDef');
taskDefinition.addContainer('TheContainer', {
  image: ecs.ContainerImage.fromRegistry('example-image'),
  memoryLimitMiB: 256,
  logging: ecs.LogDrivers.firelens({
    options: {
      // ... log driver options here ...
    },
    secretOptions: { // Retrieved from AWS Secrets Manager or AWS Systems Manager Parameter Store
      apikey: ecs.Secret.fromSecretsManager(secret),
      host: ecs.Secret.fromSsmParameter(parameter),
    },
  }),
});
python
# secret: secretsmanager.Secret
# parameter: ssm.StringParameter


task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")
task_definition.add_container("TheContainer",
    image=ecs.ContainerImage.from_registry("example-image"),
    memory_limit_mi_b=256,
    logging=ecs.LogDrivers.firelens(
        options={},
        secret_options={ # Retrieved from AWS Secrets Manager or AWS Systems Manager Parameter Store
            "apikey": ecs.Secret.from_secrets_manager(secret),
            "host": ecs.Secret.from_ssm_parameter(parameter)}
    )
)
java
Secret secret;
StringParameter parameter;


Ec2TaskDefinition taskDefinition = new Ec2TaskDefinition(this, "TaskDef");
taskDefinition.addContainer("TheContainer", ContainerDefinitionOptions.builder()
        .image(ContainerImage.fromRegistry("example-image"))
        .memoryLimitMiB(256)
        .logging(LogDrivers.firelens(FireLensLogDriverProps.builder()
                .options(Map.of())
                .secretOptions(Map.of( // Retrieved from AWS Secrets Manager or AWS Systems Manager Parameter Store
                        "apikey", Secret.fromSecretsManager(secret),
                        "host", Secret.fromSsmParameter(parameter)))
                .build()))
        .build());
csharp
// Install: dotnet add package Amazon.CDK.Lib
Secret secret;
StringParameter parameter;


var taskDefinition = new Ec2TaskDefinition(this, "TaskDef");
taskDefinition.AddContainer("TheContainer", new ContainerDefinitionOptions {
    Image = ContainerImage.FromRegistry("example-image"),
    MemoryLimitMiB = 256,
    Logging = LogDrivers.Firelens(new FireLensLogDriverProps {
        Options = new Dictionary<string, object> { },
        SecretOptions = new Dictionary<string, Secret> {  // Retrieved from AWS Secrets Manager or AWS Systems Manager Parameter Store
            { "apikey", Secret.FromSecretsManager(secret) },
            { "host", Secret.FromSsmParameter(parameter) } }
    })
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
var secret Secret
var parameter StringParameter


taskDefinition := ecs.NewEc2TaskDefinition(this, jsii.String("TaskDef"))
taskDefinition.AddContainer(jsii.String("TheContainer"), &ContainerDefinitionOptions{
	Image: ecs.ContainerImage_FromRegistry(jsii.String("example-image")),
	MemoryLimitMiB: jsii.Number(256),
	Logging: ecs.LogDrivers_Firelens(&FireLensLogDriverProps{
		Options: map[string]interface{}{
		},
		SecretOptions: map[string]Secret{
			 // Retrieved from AWS Secrets Manager or AWS Systems Manager Parameter Store
			"apikey": ecs.Secret_fromSecretsManager(secret),
			"host": ecs.Secret_fromSsmParameter(parameter),
		},
	}),
})

Initializer ​

ts
new Secret()
python
Secret()
java
new Secret()
csharp
new Secret()
go
NewSecret()

Properties ​

arnstringarnstrarnStringArnstringArn*string#
The ARN of the secret.
hasFieldmay be undefinedbooleanhas_fieldmay be undefinedboolhasFieldmay be undefinedBooleanHasFieldmay be undefinedboolHasFieldmay be undefined*bool#
Whether this secret uses a specific JSON field.

Methods ​

fromSecretsManager(secret: ISecret, field?: string): Secret // chainable@staticmethod def from_secrets_manager(secret: ISecret, field: typing.Optional[str] = None) -> Secretpublic static Secret fromSecretsManager(ISecret secret, String field)public static Secret FromSecretsManager(ISecret secret, string? field = null)func FromSecretsManager(Secret ISecret, Field *string) Secretstatic#
Creates a environment variable value from a secret stored in AWS Secrets Manager.
2 parameters

Parameters

  • secretsecretsecretsecretSecret — the secret stored in AWS Secrets Manager.
  • fieldfieldfieldfieldField — the name of the field with the value that you want to set as the environment variable value.
fromSecretsManagerVersion(secret: ISecret, versionInfo: SecretVersionInfo, field?: string): Secret // chainable@staticmethod def from_secrets_manager_version(secret: ISecret, version_info: SecretVersionInfo, field: typing.Optional[str] = None) -> Secretpublic static Secret fromSecretsManagerVersion(ISecret secret, SecretVersionInfo versionInfo, String field)public static Secret FromSecretsManagerVersion(ISecret secret, SecretVersionInfo versionInfo, string? field = null)func FromSecretsManagerVersion(Secret ISecret, VersionInfo SecretVersionInfo, Field *string) Secretstatic#
Creates a environment variable value from a secret stored in AWS Secrets Manager.
3 parameters

Parameters

  • secretsecretsecretsecretSecret — the secret stored in AWS Secrets Manager.
  • versionInfoversion_infoversionInfoversionInfoVersionInfo — the version information to reference the secret.
  • fieldfieldfieldfieldField — the name of the field with the value that you want to set as the environment variable value.
fromSsmParameter(parameter: IParameter): Secret // chainable@staticmethod def from_ssm_parameter(parameter: IParameter) -> Secretpublic static Secret fromSsmParameter(IParameter parameter)public static Secret FromSsmParameter(IParameter parameter)func FromSsmParameter(Parameter IParameter) Secretstatic#
Creates an environment variable value from a parameter stored in AWS Systems Manager Parameter Store.
grantRead(grantee: IGrantable): Grantdef grant_read(self, grantee: IGrantable) -> Grantpublic Grant grantRead(IGrantable grantee)public Grant GrantRead(IGrantable grantee)func GrantRead(Grantee IGrantable) Grant#
Grants reading the secret to a principal.

[disable-awslint:no-grants]