Show / Hide Table of Contents

Class DatabaseSecret

A database secret.

Inheritance
object
Resource
Secret
DatabaseSecret
Implements
ISecret
IResource
IConstruct
IDependable
Inherited Members
Secret.FromSecretAttributes(Construct, string, ISecretAttributes)
Secret.FromSecretCompleteArn(Construct, string, string)
Secret.FromSecretNameV2(Construct, string, string)
Secret.FromSecretPartialArn(Construct, string, string)
Secret.IsSecret(object)
Secret.AddReplicaRegion(string, IKey)
Secret.AddRotationSchedule(string, IRotationScheduleOptions)
Secret.AddToResourcePolicy(PolicyStatement)
Secret.Attach(ISecretAttachmentTarget)
Secret.DenyAccountRootDelete()
Secret.GrantRead(IGrantable, string[])
Secret.GrantWrite(IGrantable)
Secret.SecretValueFromJson(string)
Secret.ArnForPolicies
Secret.AutoCreatePolicy
Secret.SecretArn
Secret.SecretName
Secret.SecretValue
Secret.EncryptionKey
Secret.ExcludeCharacters
Secret.SecretFullArn
Resource.IsOwnedResource(IConstruct)
Resource.IsResource(IConstruct)
Resource.ApplyRemovalPolicy(RemovalPolicy)
Resource.GeneratePhysicalName()
Resource.GetResourceArnAttribute(string, IArnComponents)
Resource.GetResourceNameAttribute(string)
Resource.Env
Resource.PhysicalName
Resource.Stack
Namespace: Amazon.CDK.AWS.RDS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class DatabaseSecret : Secret, ISecret, IResource, IConstruct, IDependable
Syntax (vb)
Public Class DatabaseSecret Inherits Secret Implements ISecret, IResource, IConstruct, IDependable
Remarks

Resource: AWS::SecretsManager::Secret

ExampleMetadata: infused

Examples
// Build a data source for AppSync to access the database.
             GraphqlApi api;
             // Create username and password secret for DB Cluster
             var secret = new DatabaseSecret(this, "AuroraSecret", new DatabaseSecretProps {
                 Username = "clusteradmin"
             });

             // The VPC to place the cluster in
             var vpc = new Vpc(this, "AuroraVpc");

             // Create the serverless cluster, provide all values needed to customise the database.
             var cluster = new ServerlessCluster(this, "AuroraCluster", new ServerlessClusterProps {
                 Engine = DatabaseClusterEngine.AURORA_MYSQL,
                 Vpc = vpc,
                 Credentials = new Dictionary<string, string> { { "username", "clusteradmin" } },
                 ClusterIdentifier = "db-endpoint-test",
                 DefaultDatabaseName = "demos"
             });
             var rdsDS = api.AddRdsDataSource("rds", cluster, secret, "demos");

             // Set up a resolver for an RDS query.
             rdsDS.CreateResolver("QueryGetDemosRdsResolver", new BaseResolverProps {
                 TypeName = "Query",
                 FieldName = "getDemosRds",
                 RequestMappingTemplate = MappingTemplate.FromString(@"
                   {
                     ""version"": ""2018-05-29"",
                     ""statements"": [
                       ""SELECT * FROM demos""
                     ]
                   }
                   "),
                 ResponseMappingTemplate = MappingTemplate.FromString(@"
                     $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])
                   ")
             });

             // Set up a resolver for an RDS mutation.
             rdsDS.CreateResolver("MutationAddDemoRdsResolver", new BaseResolverProps {
                 TypeName = "Mutation",
                 FieldName = "addDemoRds",
                 RequestMappingTemplate = MappingTemplate.FromString(@"
                   {
                     ""version"": ""2018-05-29"",
                     ""statements"": [
                       ""INSERT INTO demos VALUES (:id, :version)"",
                       ""SELECT * WHERE id = :id""
                     ],
                     ""variableMap"": {
                       "":id"": $util.toJson($util.autoId()),
                       "":version"": $util.toJson($ctx.args.version)
                     }
                   }
                   "),
                 ResponseMappingTemplate = MappingTemplate.FromString(@"
                     $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])
                   ")
             });

Synopsis

Constructors

DatabaseSecret(Construct, string, IDatabaseSecretProps)

A database secret.

Properties

PROPERTY_INJECTION_ID

Uniquely identifies this class.

Constructors

DatabaseSecret(Construct, string, IDatabaseSecretProps)

A database secret.

public DatabaseSecret(Construct scope, string id, IDatabaseSecretProps props)
Parameters
scope Construct
id string
props IDatabaseSecretProps
Remarks

Resource: AWS::SecretsManager::Secret

ExampleMetadata: infused

Examples
// Build a data source for AppSync to access the database.
             GraphqlApi api;
             // Create username and password secret for DB Cluster
             var secret = new DatabaseSecret(this, "AuroraSecret", new DatabaseSecretProps {
                 Username = "clusteradmin"
             });

             // The VPC to place the cluster in
             var vpc = new Vpc(this, "AuroraVpc");

             // Create the serverless cluster, provide all values needed to customise the database.
             var cluster = new ServerlessCluster(this, "AuroraCluster", new ServerlessClusterProps {
                 Engine = DatabaseClusterEngine.AURORA_MYSQL,
                 Vpc = vpc,
                 Credentials = new Dictionary<string, string> { { "username", "clusteradmin" } },
                 ClusterIdentifier = "db-endpoint-test",
                 DefaultDatabaseName = "demos"
             });
             var rdsDS = api.AddRdsDataSource("rds", cluster, secret, "demos");

             // Set up a resolver for an RDS query.
             rdsDS.CreateResolver("QueryGetDemosRdsResolver", new BaseResolverProps {
                 TypeName = "Query",
                 FieldName = "getDemosRds",
                 RequestMappingTemplate = MappingTemplate.FromString(@"
                   {
                     ""version"": ""2018-05-29"",
                     ""statements"": [
                       ""SELECT * FROM demos""
                     ]
                   }
                   "),
                 ResponseMappingTemplate = MappingTemplate.FromString(@"
                     $utils.toJson($utils.rds.toJsonObject($ctx.result)[0])
                   ")
             });

             // Set up a resolver for an RDS mutation.
             rdsDS.CreateResolver("MutationAddDemoRdsResolver", new BaseResolverProps {
                 TypeName = "Mutation",
                 FieldName = "addDemoRds",
                 RequestMappingTemplate = MappingTemplate.FromString(@"
                   {
                     ""version"": ""2018-05-29"",
                     ""statements"": [
                       ""INSERT INTO demos VALUES (:id, :version)"",
                       ""SELECT * WHERE id = :id""
                     ],
                     ""variableMap"": {
                       "":id"": $util.toJson($util.autoId()),
                       "":version"": $util.toJson($ctx.args.version)
                     }
                   }
                   "),
                 ResponseMappingTemplate = MappingTemplate.FromString(@"
                     $utils.toJson($utils.rds.toJsonObject($ctx.result)[1][0])
                   ")
             });

Properties

PROPERTY_INJECTION_ID

Uniquely identifies this class.

public static string PROPERTY_INJECTION_ID { get; }
Property Value

string

Remarks

Resource: AWS::SecretsManager::Secret

ExampleMetadata: infused

Implements

ISecret
IResource
Constructs.IConstruct
Constructs.IDependable
Back to top Generated by DocFX
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy