From 396072025ea1282dd28e14158afe339c393bf0d5 Mon Sep 17 00:00:00 2001 From: Jane Chen <125300057+chenjane-dev@users.noreply.github.com> Date: Wed, 17 Jan 2024 17:01:36 -0500 Subject: [PATCH] fix(appconfig): prefix names with resource name (#28742) Linter rules caught that CDK standardizes resource name prop as `[resource]Name`. Previously this module only used `name` for the prop. Follow up from #28671. BREAKING CHANGE: `ApplicationProps.name` renamed to `ApplicationProps.applicationName` - **appconfig**: `EnvironmentProps.name` renamed to `EnvironmentProps.environmentName` - **appconfig**: `DeploymentStrategyProps.name` renamed to `DeploymentStrategyProps.deploymentStrategyName` - **appconfig**: `ExtensionProps.name` renamed to `ExtensionProps.extensionName` ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- .../@aws-cdk/aws-appconfig-alpha/README.md | 2 +- .../@aws-cdk/aws-appconfig-alpha/awslint.json | 4 ---- .../aws-appconfig-alpha/lib/application.ts | 4 ++-- .../lib/deployment-strategy.ts | 6 +++--- .../aws-appconfig-alpha/lib/environment.ts | 6 +++--- .../aws-appconfig-alpha/lib/extension.ts | 10 +++++----- .../test/application.test.ts | 4 ++-- .../test/configuration.test.ts | 14 +++++++------- .../test/deployment-strategy.test.ts | 12 ++++++------ .../test/environment.test.ts | 18 +++++++++--------- .../aws-appconfig-alpha/test/extension.test.ts | 4 ++-- .../test/integ.configuration.ts | 2 +- .../test/integ.environment.ts | 2 +- .../test/integ.extension.ts | 2 +- 14 files changed, 43 insertions(+), 47 deletions(-) diff --git a/packages/@aws-cdk/aws-appconfig-alpha/README.md b/packages/@aws-cdk/aws-appconfig-alpha/README.md index b29fa5707a26d..d96b8dfc6a7f6 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/README.md +++ b/packages/@aws-cdk/aws-appconfig-alpha/README.md @@ -39,7 +39,7 @@ Create an application with a name and description: ```ts new appconfig.Application(this, 'MyApplication', { - name: 'App1', + applicationName: 'App1', description: 'This is my application created through CDK.', }); ``` diff --git a/packages/@aws-cdk/aws-appconfig-alpha/awslint.json b/packages/@aws-cdk/aws-appconfig-alpha/awslint.json index d5b37fa1cc5b6..4355a6e6a41b1 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/awslint.json +++ b/packages/@aws-cdk/aws-appconfig-alpha/awslint.json @@ -27,10 +27,6 @@ "no-unused-type:@aws-cdk/aws-appconfig-alpha.PredefinedDeploymentStrategyId", "ref-via-interface:@aws-cdk/aws-appconfig-alpha.Application.addAgentToEcs.taskDef", - "props-physical-name:@aws-cdk/aws-appconfig-alpha.ApplicationProps", - "props-physical-name:@aws-cdk/aws-appconfig-alpha.DeploymentStrategyProps", - "props-physical-name:@aws-cdk/aws-appconfig-alpha.EnvironmentProps", - "props-physical-name:@aws-cdk/aws-appconfig-alpha.ExtensionProps", "events-in-interface", "events-method-signature", "events-generic" diff --git a/packages/@aws-cdk/aws-appconfig-alpha/lib/application.ts b/packages/@aws-cdk/aws-appconfig-alpha/lib/application.ts index 27b38f506b571..71197edca52b1 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/lib/application.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/lib/application.ts @@ -84,7 +84,7 @@ export interface ApplicationProps { * * @default - A name is generated. */ - readonly name?: string; + readonly applicationName?: string; /** * The description for the application. @@ -336,7 +336,7 @@ export class Application extends ApplicationBase { super(scope, id); this.description = props.description; - this.name = props.name || Names.uniqueResourceName(this, { + this.name = props.applicationName || Names.uniqueResourceName(this, { maxLength: 64, separator: '-', }); diff --git a/packages/@aws-cdk/aws-appconfig-alpha/lib/deployment-strategy.ts b/packages/@aws-cdk/aws-appconfig-alpha/lib/deployment-strategy.ts index a97c6ff02d038..0ebb40b59ac1a 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/lib/deployment-strategy.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/lib/deployment-strategy.ts @@ -18,7 +18,7 @@ export interface DeploymentStrategyProps { * * @default - A name is generated. */ - readonly name?: string; + readonly deploymentStrategyName?: string; /** * A description of the deployment strategy. @@ -130,7 +130,7 @@ export class DeploymentStrategy extends Resource implements IDeploymentStrategy constructor(scope: Construct, id: string, props: DeploymentStrategyProps) { super(scope, id, { - physicalName: props.name, + physicalName: props.deploymentStrategyName, }); this.deploymentDurationInMinutes = props.rolloutStrategy.deploymentDuration.toMinutes(); @@ -138,7 +138,7 @@ export class DeploymentStrategy extends Resource implements IDeploymentStrategy this.description = props.description; this.finalBakeTimeInMinutes = props.rolloutStrategy.finalBakeTime?.toMinutes(); this.growthType = props.rolloutStrategy.growthType; - this.name = props.name || Names.uniqueResourceName(this, { + this.name = props.deploymentStrategyName || Names.uniqueResourceName(this, { maxLength: 64, separator: '-', }); diff --git a/packages/@aws-cdk/aws-appconfig-alpha/lib/environment.ts b/packages/@aws-cdk/aws-appconfig-alpha/lib/environment.ts index e4216a569ab87..767373f92da81 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/lib/environment.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/lib/environment.ts @@ -94,7 +94,7 @@ export interface EnvironmentOptions { * * @default - A name is generated. */ - readonly name?: string; + readonly environmentName?: string; /** * The description of the environment. @@ -236,10 +236,10 @@ export class Environment extends EnvironmentBase { constructor(scope: Construct, id: string, props: EnvironmentProps) { super(scope, id, { - physicalName: props.name, + physicalName: props.environmentName, }); - this.name = props.name || Names.uniqueResourceName(this, { + this.name = props.environmentName || Names.uniqueResourceName(this, { maxLength: 64, separator: '-', }); diff --git a/packages/@aws-cdk/aws-appconfig-alpha/lib/extension.ts b/packages/@aws-cdk/aws-appconfig-alpha/lib/extension.ts index 72f6d1bc9c739..5d9f1164d3ac2 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/lib/extension.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/lib/extension.ts @@ -338,7 +338,7 @@ export interface ExtensionOptions { * * @default - A name is generated. */ - readonly name?: string; + readonly extensionName?: string; /** * A description of the extension @@ -493,11 +493,11 @@ export class Extension extends Resource implements IExtension { constructor(scope: Construct, id: string, props: ExtensionProps) { super(scope, id, { - physicalName: props.name, + physicalName: props.extensionName, }); this.actions = props.actions; - this.name = props.name || Names.uniqueResourceName(this, { + this.name = props.extensionName || Names.uniqueResourceName(this, { maxLength: 64, separator: '-', }); @@ -662,7 +662,7 @@ export class ExtensibleBase implements IExtensible { } private getExtensionForActionPoint(eventDestination: IEventDestination, actionPoint: ActionPoint, options?: ExtensionOptions) { - const name = options?.name || this.getExtensionDefaultName(); + const name = options?.extensionName || this.getExtensionDefaultName(); const versionNumber = options?.latestVersionNumber ? options?.latestVersionNumber + 1 : 1; const extension = new Extension(this.scope, `Extension${this.getExtensionHash(name, versionNumber)}`, { actions: [ @@ -673,7 +673,7 @@ export class ExtensibleBase implements IExtensible { ], }), ], - name, + extensionName: name, ...(options?.description ? { description: options.description } : {}), ...(options?.latestVersionNumber ? { latestVersionNumber: options.latestVersionNumber } : {}), ...(options?.parameters ? { parameters: options.parameters } : {}), diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/application.test.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/application.test.ts index a5c85dad77d95..deda4253bcf4d 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/application.test.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/application.test.ts @@ -23,7 +23,7 @@ describe('appconfig', () => { test('appconfig with name', () => { const stack = new cdk.Stack(); new Application(stack, 'MyAppConfig', { - name: 'TestApp', + applicationName: 'TestApp', }); Template.fromStack(stack).hasResourceProperties('AWS::AppConfig::Application', { @@ -121,7 +121,7 @@ describe('appconfig', () => { }); appconfig.preCreateHostedConfigurationVersion(new LambdaDestination(func), { description: 'This is my description', - name: 'MyExtension', + extensionName: 'MyExtension', latestVersionNumber: 1, parameters: [ Parameter.required('myparam', 'val'), diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/configuration.test.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/configuration.test.ts index 489c95dfd818e..f6564708642f1 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/configuration.test.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/configuration.test.ts @@ -58,7 +58,7 @@ describe('configuration', () => { test('configuration with environments and no deployTo prop', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); app.addEnvironment('MyEnv1'); app.addEnvironment('MyEnv2'); @@ -96,7 +96,7 @@ describe('configuration', () => { test('configuration with environments and deployTo prop', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); app.addEnvironment('MyEnv1'); const env = app.addEnvironment('MyEnv2'); @@ -152,7 +152,7 @@ describe('configuration', () => { test('configuration using deploy method and no environment associated', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); app.addEnvironment('MyEnv1'); const env = app.addEnvironment('MyEnv2'); @@ -191,7 +191,7 @@ describe('configuration', () => { test('configuration using deploy method with environment associated', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); const env1 = app.addEnvironment('MyEnv1'); const env2 = app.addEnvironment('MyEnv2'); @@ -248,7 +248,7 @@ describe('configuration', () => { test('configuration with no environment associated and no deploy method used', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); new HostedConfiguration(stack, 'MyHostedConfig', { content: ConfigurationContent.fromInlineText('This is my content'), @@ -267,7 +267,7 @@ describe('configuration', () => { test('configuration with two configurations specified', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); const env1 = app.addEnvironment('MyEnv1'); const env2 = app.addEnvironment('MyEnv2'); @@ -382,7 +382,7 @@ describe('configuration', () => { test('configuration with two configurations and no deployment strategy specified', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig', { - name: 'MyApplication', + applicationName: 'MyApplication', }); const bucket = new Bucket(stack, 'MyBucket'); new HostedConfiguration(stack, 'MyHostedConfig', { diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/deployment-strategy.test.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/deployment-strategy.test.ts index 14e4e1875af25..d4076f587b697 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/deployment-strategy.test.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/deployment-strategy.test.ts @@ -25,7 +25,7 @@ describe('deployment strategy', () => { test('deployment strategy with name', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.linear({ growthFactor: 10, deploymentDuration: cdk.Duration.minutes(10), @@ -44,7 +44,7 @@ describe('deployment strategy', () => { test('deployment strategy duration in seconds', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.linear({ growthFactor: 10, deploymentDuration: cdk.Duration.seconds(120), @@ -63,7 +63,7 @@ describe('deployment strategy', () => { test('deployment strategy with description', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.linear({ growthFactor: 10, deploymentDuration: cdk.Duration.minutes(10), @@ -84,7 +84,7 @@ describe('deployment strategy', () => { test('deployment strategy with final bake time', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.linear({ growthFactor: 10, deploymentDuration: cdk.Duration.minutes(10), @@ -105,7 +105,7 @@ describe('deployment strategy', () => { test('deployment strategy with growth type', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.exponential({ growthFactor: 10, deploymentDuration: cdk.Duration.minutes(10), @@ -124,7 +124,7 @@ describe('deployment strategy', () => { test('deployment strategy with replicate to', () => { const stack = new cdk.Stack(); new DeploymentStrategy(stack, 'MyDeploymentStrategy', { - name: 'TestDeploymentStrategy', + deploymentStrategyName: 'TestDeploymentStrategy', rolloutStrategy: RolloutStrategy.linear({ growthFactor: 10, deploymentDuration: cdk.Duration.minutes(10), diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/environment.test.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/environment.test.ts index 9c6dd7c7f3e4b..261d113728dae 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/environment.test.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/environment.test.ts @@ -25,7 +25,7 @@ describe('environment', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig'); new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, }); @@ -41,7 +41,7 @@ describe('environment', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig'); new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, description: 'This is my description', }); @@ -72,7 +72,7 @@ describe('environment', () => { assumedBy: new iam.ServicePrincipal('appconfig.amazonaws.com'), }); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [Monitor.fromCloudWatchAlarm(alarm, alarmRole)], }); @@ -118,7 +118,7 @@ describe('environment', () => { }); const app = new Application(stack, 'MyAppConfig'); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [Monitor.fromCloudWatchAlarm(alarm)], }); @@ -174,7 +174,7 @@ describe('environment', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig'); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [ Monitor.fromCfnMonitorsProperty({ @@ -203,7 +203,7 @@ describe('environment', () => { const stack = new cdk.Stack(); const app = new Application(stack, 'MyAppConfig'); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [ Monitor.fromCfnMonitorsProperty({ @@ -247,7 +247,7 @@ describe('environment', () => { alarmRule: alarm, }); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [ Monitor.fromCloudWatchAlarm(compositeAlarm), @@ -330,7 +330,7 @@ describe('environment', () => { alarmRule: alarm, }); const env = new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [ Monitor.fromCloudWatchAlarm(compositeAlarm1), @@ -433,7 +433,7 @@ describe('environment', () => { ), }); new Environment(stack, 'MyEnvironment', { - name: 'TestEnv', + environmentName: 'TestEnv', application: app, monitors: [ Monitor.fromCloudWatchAlarm(alarm1), diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/extension.test.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/extension.test.ts index 4bef613850bbf..9109975c31cad 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/extension.test.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/extension.test.ts @@ -185,7 +185,7 @@ describe('extension', () => { value: 'arn:lambda:us-east-1:123456789012:function:my-function', }); const appconfig = new Application(stack, 'MyApplication', { - name: 'MyApplication', + applicationName: 'MyApplication', }); const ext = new Extension(stack, 'MyExtension', { actions: [ @@ -196,7 +196,7 @@ describe('extension', () => { eventDestination: new LambdaDestination(func), }), ], - name: 'TestExtension', + extensionName: 'TestExtension', description: 'This is my extension', parameters: [ Parameter.required('testVariable', 'hello'), diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.configuration.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.configuration.ts index bf6e396bc8f51..d893c415ec5b0 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.configuration.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.configuration.ts @@ -38,7 +38,7 @@ const stack = new Stack(app, 'aws-appconfig-configuration'); // create application for config profile const appConfigApp = new Application(stack, 'MyAppConfig', { - name: 'AppForConfigTest', + applicationName: 'AppForConfigTest', }); const deploymentStrategy = new DeploymentStrategy(stack, 'MyDeployStrategy', { diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.environment.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.environment.ts index bce1591e70ba8..6681c66597bd4 100644 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.environment.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.environment.ts @@ -10,7 +10,7 @@ const stack = new Stack(app, 'aws-appconfig-environment'); // create resources needed for environment const appForEnv = new Application(stack, 'MyApplicationForEnv', { - name: 'AppForEnvTest', + applicationName: 'AppForEnvTest', }); const alarm = new Alarm(stack, 'MyAlarm', { metric: new Metric({ diff --git a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.extension.ts b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.extension.ts index 94b3c38897037..0fdfd86d92e80 100755 --- a/packages/@aws-cdk/aws-appconfig-alpha/test/integ.extension.ts +++ b/packages/@aws-cdk/aws-appconfig-alpha/test/integ.extension.ts @@ -31,7 +31,7 @@ const lambda = new Function(stack, 'MyFunction', { code: Code.fromInline('def handler(event, context):\n\tprint(\'The function has been invoked.\')'), }); const app = new Application(stack, 'MyApplication', { - name: 'AppForExtensionTest', + applicationName: 'AppForExtensionTest', }); const lambdaExtension = new Extension(stack, 'MyLambdaExtension', { actions: [