@@ -37,8 +37,7 @@ export interface DatabaseUserInitializerProps extends DatabaseInitializerProps {
37
37
*
38
38
* @example
39
39
*
40
- * new DatabaseUserInitializer(this, 'SampleDatabaseUserInitializer', {
41
- * prefix: 'Sample',
40
+ * new DatabaseUserInitializer(this, 'sample-database-user-initializer', {
42
41
* databaseAdminUserSecret: secret,
43
42
* databaseEngine: DatabaseEngine.MySQL,
44
43
* databaseUsers: [
@@ -55,7 +54,8 @@ export interface DatabaseUserInitializerProps extends DatabaseInitializerProps {
55
54
* });
56
55
*/
57
56
export class DatabaseUserInitializer extends cdk . Resource {
58
- private readonly prefix : string ;
57
+ private readonly prefix ?: string ;
58
+ private readonly postfix ?: string ;
59
59
private readonly databaseAdminUserSecret : secretsmanager . ISecret ;
60
60
private readonly databaseEngine : DatabaseEngine ;
61
61
private readonly databaseUsers : {
@@ -66,7 +66,8 @@ export class DatabaseUserInitializer extends cdk.Resource {
66
66
67
67
public constructor ( scope : cdk . Construct , id : string , props : DatabaseUserInitializerProps ) {
68
68
super ( scope , id ) ;
69
- this . prefix = props . prefix
69
+ this . prefix = props . prefix || '' ;
70
+ this . postfix = props . postfix || '' ;
70
71
this . databaseAdminUserSecret = props . databaseAdminUserSecret ;
71
72
this . databaseEngine = props . databaseEngine ;
72
73
this . databaseUsers = props . databaseUsers ;
@@ -78,11 +79,11 @@ export class DatabaseUserInitializer extends cdk.Resource {
78
79
}
79
80
} ) ;
80
81
81
- const databaseUserInitializerFunction = new lambda . Function ( this , `${ this . prefix } DatabaseUserInitializerFunction ` , {
82
+ const databaseUserInitializerFunction = new lambda . Function ( this , `${ this . prefix } database-user-initializer-function ${ this . postfix } ` , {
82
83
vpc : props . vpc ,
83
84
vpcSubnets : props . vpcSubnets ,
84
85
securityGroups : props . securityGroups ,
85
- functionName : `${ this . prefix } DatabaseUserInitializer ` ,
86
+ functionName : `${ this . prefix } database-user-initializer ${ this . postfix } ` ,
86
87
code : lambda . Code . fromAsset ( path . join ( __dirname , "lambda" ) ) ,
87
88
handler : "index.databaseUserInitializerHandler" ,
88
89
runtime : lambda . Runtime . NODEJS_14_X ,
@@ -99,49 +100,47 @@ export class DatabaseUserInitializer extends cdk.Resource {
99
100
} ) ]
100
101
} ) ;
101
102
102
- const databaseUserInitializerProvider = new cr . Provider ( this , `${ this . prefix } DatabaseUserInitializerProvider` , {
103
- onEventHandler : databaseUserInitializerFunction
103
+ const databaseUserInitializerProvider = new cr . Provider ( this , `${ this . prefix } database-user-initializer-provider${ this . postfix } ` , {
104
+ onEventHandler : databaseUserInitializerFunction ,
105
+ providerFunctionName : `${ this . prefix } database-user-initializer-provider${ this . postfix } ` ,
104
106
} )
105
107
106
- const paramater : {
108
+ const parameter : {
107
109
username : string ;
108
110
grants : DatabaseUserGrant [ ] ;
109
111
secretName ?: string ;
110
112
isIAMUser : boolean ;
111
113
} [ ] = [ ]
112
114
this . databaseUsers . forEach ( user => {
113
115
if ( user . secret ) {
114
- paramater . push ( {
116
+ parameter . push ( {
115
117
username : user . username ,
116
118
grants : user . grants ,
117
119
secretName : user . secret ! . secretName ,
118
120
isIAMUser : false
119
121
} )
120
122
} else {
121
- paramater . push ( {
123
+ parameter . push ( {
122
124
username : user . username ,
123
125
grants : user . grants ,
124
126
isIAMUser : true
125
127
} ) ;
126
128
}
127
129
} ) ;
128
130
129
- new cdk . CustomResource ( this , `${ this . prefix } DatabaseUserInitializerResource ` , {
131
+ new cdk . CustomResource ( this , `${ this . prefix } database-user-initializer-resource ${ this . postfix } ` , {
130
132
serviceToken : databaseUserInitializerProvider . serviceToken ,
131
133
properties : {
132
134
Region : cdk . Stack . of ( this ) . region ,
133
135
DatabaseAdminUserSecretName : this . databaseAdminUserSecret . secretName ,
134
- DatabaseUsers : paramater ,
136
+ DatabaseUsers : parameter ,
135
137
DatabaseEngine : this . databaseEngine
136
138
} ,
137
139
} ) ;
138
140
}
139
141
140
142
protected validate ( ) : string [ ] {
141
143
const errors : string [ ] = [ ] ;
142
- if ( this . prefix == null || this . prefix . trim ( ) . length === 0 ) {
143
- errors . push ( 'Prefix properties must not be empty.' ) ;
144
- }
145
144
146
145
if ( this . databaseUsers == null || this . databaseUsers . length === 0 ) {
147
146
errors . push ( 'Database users properties must not be empty.' ) ;
0 commit comments