From fdf67d3a89c6b4b096c3a4d7ae1321ed274a9de4 Mon Sep 17 00:00:00 2001 From: Phil Asmar Date: Mon, 1 Jul 2024 11:29:24 -0400 Subject: [PATCH 1/3] feat: Remove disabled fields from showing on redeployment in server mode --- .../Controllers/DeploymentController.cs | 4 +- .../Recipes/OptionSettingItem.cs | 5 ++ .../ASP.NETAppAppRunner.recipe | 1 + .../ASP.NETAppECSFargate.recipe | 7 +- .../ASP.NETAppElasticBeanstalkLinux.recipe | 5 ++ .../ASP.NETAppElasticBeanstalkWindows.recipe | 4 + .../ConsoleAppECSFargateScheduleTask.recipe | 3 + .../ConsoleAppECSFargateService.recipe | 4 + .../aws-deploy-recipe-schema.json | 6 ++ .../ServerModeTests.cs | 82 +++++++++++++++++++ 10 files changed, 119 insertions(+), 2 deletions(-) diff --git a/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs b/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs index 4ceb91d23..206a6c7c0 100644 --- a/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs +++ b/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs @@ -208,7 +208,9 @@ private List ListOptionSettingSummary(IOptionSettingHa Value = optionSettingHandler.GetOptionSettingValue(recommendation, setting), Advanced = setting.AdvancedSetting, ReadOnly = recommendation.IsExistingCloudApplication && !setting.Updatable, - Visible = optionSettingHandler.IsOptionSettingDisplayable(recommendation, setting), + Visible = + optionSettingHandler.IsOptionSettingDisplayable(recommendation, setting) && + !(recommendation.IsExistingCloudApplication && !setting.Updatable && !setting.VisibleOnRedeployment), SummaryDisplayable = optionSettingHandler.IsSummaryDisplayable(recommendation, setting), AllowedValues = setting.AllowedValues, ValueMapping = setting.ValueMapping, diff --git a/src/AWS.Deploy.Common/Recipes/OptionSettingItem.cs b/src/AWS.Deploy.Common/Recipes/OptionSettingItem.cs index 14f3ab010..a0f78a960 100644 --- a/src/AWS.Deploy.Common/Recipes/OptionSettingItem.cs +++ b/src/AWS.Deploy.Common/Recipes/OptionSettingItem.cs @@ -124,6 +124,11 @@ public partial class OptionSettingItem : IOptionSettingItem /// public bool Updatable { get; set; } + /// + /// If the value is true, the setting will be displayed during a redeployment. This only applies to server-mode clients. + /// + public bool VisibleOnRedeployment { get; set; } + /// /// List of all validators that should be run when configuring this OptionSettingItem. /// diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe index 6b993c4d3..54ff3d951 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe @@ -100,6 +100,7 @@ "TypeHint": "AppRunnerService", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DefaultValue": "{StackName}-service", "Validators": [ { diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe index 5c23ccc8a..00d00f8d0 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe @@ -118,6 +118,7 @@ "TypeHint": "ECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -136,6 +137,7 @@ "TypeHint": "ExistingECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -160,6 +162,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -195,6 +198,7 @@ "DefaultValue": "{StackName}-service", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -738,7 +742,8 @@ "Type": "Bool", "DefaultValue": true, "AdvancedSetting": false, - "Updatable": false + "Updatable": false, + "VisibleOnRedeployment": true } ] }, diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe index ab48fa97e..4143c9b84 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe @@ -137,6 +137,7 @@ "TypeHint": "BeanstalkApplication", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -155,6 +156,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "BeanstalkApplication.CreateNew", @@ -187,6 +189,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "BeanstalkApplication.CreateNew", @@ -215,6 +218,7 @@ "Type": "Object", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "EnvironmentName", @@ -225,6 +229,7 @@ "DefaultValue": "{StackName}-dev", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe index 0fe4fdfda..c1ef92c35 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe @@ -137,6 +137,7 @@ "TypeHint": "BeanstalkApplication", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -155,6 +156,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "BeanstalkApplication.CreateNew", @@ -187,6 +189,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "BeanstalkApplication.CreateNew", @@ -216,6 +219,7 @@ "DefaultValue": "{StackName}-dev", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe index 33a51c247..2fd93de41 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe @@ -136,6 +136,7 @@ "TypeHint": "ECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -154,6 +155,7 @@ "TypeHint": "ExistingECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -178,6 +180,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe index e31c4cb62..c897b7304 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe @@ -176,6 +176,7 @@ "TypeHint": "ECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -194,6 +195,7 @@ "TypeHint": "ExistingECSCluster", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -218,6 +220,7 @@ "DefaultValue": "{StackName}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -247,6 +250,7 @@ "DefaultValue": "{StackName}-service", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/aws-deploy-recipe-schema.json b/src/AWS.Deploy.Recipes/RecipeDefinitions/aws-deploy-recipe-schema.json index 071a8c6f5..99f053e26 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/aws-deploy-recipe-schema.json +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/aws-deploy-recipe-schema.json @@ -587,6 +587,12 @@ "description": "If the setting is false the setting can not be changed during redeployment.", "minLength": 1 }, + "VisibleOnRedeployment": { + "type": "boolean", + "title": "VisibleOnRedeployment", + "description": "If the value is true, the setting will be displayed during a redeployment. This only applies to server-mode clients.", + "minLength": 1 + }, "DependsOn": { "type": "array", "title": "", diff --git a/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs b/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs index d65eca697..4db05372b 100644 --- a/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs +++ b/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs @@ -190,6 +190,88 @@ public async Task GetRecommendationsWithEncryptedCredentials() } } + [Fact] + public async Task AppRunnerRedeployment_VisibleOnRedeploymentSettings() + { + _stackName = $"ServerModeAppRunner{Guid.NewGuid().ToString().Split('-').Last()}"; + + var projectPath = _testAppManager.GetProjectPath(Path.Combine("testapps", "WebAppWithDockerFile", "WebAppWithDockerFile.csproj")); + var portNumber = 4950; + using var httpClient = ServerModeHttpClientFactory.ConstructHttpClient(ServerModeUtilities.ResolveDefaultCredentials); + + var serverCommand = new ServerModeCommand(_serviceProvider.GetRequiredService(), portNumber, null, true); + var cancelSource = new CancellationTokenSource(); + + var serverTask = serverCommand.ExecuteAsync(cancelSource.Token); + try + { + var baseUrl = $"http://localhost:{portNumber}/"; + var restClient = new RestAPIClient(baseUrl, httpClient); + + await restClient.WaitUntilServerModeReady(); + + var startSessionOutput = await restClient.StartDeploymentSessionAsync(new StartDeploymentSessionInput + { + AwsRegion = _awsRegion, + ProjectPath = projectPath + }); + + var sessionId = startSessionOutput.SessionId; + Assert.NotNull(sessionId); + + var signalRClient = new DeploymentCommunicationClient(baseUrl); + await signalRClient.JoinSession(sessionId); + + var logOutput = new StringBuilder(); + RegisterSignalRMessageCallbacks(signalRClient, logOutput); + + var getRecommendationOutput = await restClient.GetRecommendationsAsync(sessionId); + Assert.NotEmpty(getRecommendationOutput.Recommendations); + + var appRunnerRecommendation = getRecommendationOutput.Recommendations.FirstOrDefault(x => string.Equals(x.RecipeId, "AspNetAppAppRunner")); + Assert.NotNull(appRunnerRecommendation); + + await restClient.SetDeploymentTargetAsync(sessionId, new SetDeploymentTargetInput + { + NewDeploymentName = _stackName, + NewDeploymentRecipeId = appRunnerRecommendation.RecipeId + }); + + await restClient.StartDeploymentAsync(sessionId); + + await restClient.WaitForDeployment(sessionId); + + var stackStatus = await _cloudFormationHelper.GetStackStatus(_stackName); + Assert.Equal(StackStatus.CREATE_COMPLETE, stackStatus); + + Assert.True(logOutput.Length > 0); + + var redeploymentSessionOutput = await restClient.StartDeploymentSessionAsync(new StartDeploymentSessionInput + { + AwsRegion = _awsRegion, + ProjectPath = projectPath + }); + + var redeploymentSessionId = redeploymentSessionOutput.SessionId; + + await restClient.SetDeploymentTargetAsync(redeploymentSessionId, new SetDeploymentTargetInput + { + ExistingDeploymentId = await _cloudFormationHelper.GetStackArn(_stackName) + }); + + var settings = await restClient.GetConfigSettingsAsync(redeploymentSessionId); + + Assert.True(settings.OptionSettings.First(x => x.Id.Equals("ServiceName")).Visible); + Assert.False(settings.OptionSettings.First(x => x.Id.Equals("EncryptionKmsKey")).Visible); + } + finally + { + cancelSource.Cancel(); + await _cloudFormationHelper.DeleteStack(_stackName); + _stackName = null; + } + } + [Fact] public async Task WebFargateDeploymentNoConfigChanges() { From 0fa120163e40037423dd02e4932f258753a3f65e Mon Sep 17 00:00:00 2001 From: Phil Asmar Date: Thu, 11 Jul 2024 10:09:50 -0400 Subject: [PATCH 2/3] make more settings visible --- .../ServerMode/Controllers/DeploymentController.cs | 9 ++++++++- .../RecipeDefinitions/ASP.NETAppAppRunner.recipe | 1 + .../RecipeDefinitions/ASP.NETAppECSFargate.recipe | 3 +++ .../ASP.NETAppElasticBeanstalkLinux.recipe | 6 ++++++ .../ASP.NETAppElasticBeanstalkWindows.recipe | 6 ++++++ .../ConsoleAppECSFargateScheduleTask.recipe | 1 + .../RecipeDefinitions/ConsoleAppECSFargateService.recipe | 2 ++ 7 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs b/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs index 206a6c7c0..e1e89f5f8 100644 --- a/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs +++ b/src/AWS.Deploy.CLI/ServerMode/Controllers/DeploymentController.cs @@ -200,7 +200,12 @@ private List ListOptionSettingSummary(IOptionSettingHa foreach (var setting in configurableOptionSettings) { - var settingSummary = new OptionSettingItemSummary(setting.Id, setting.FullyQualifiedId, setting.Name, setting.Description, setting.Type.ToString()) + var settingSummary = new OptionSettingItemSummary( + setting.Id, + setting.FullyQualifiedId, + setting.Name, + setting.Description, + setting.Type.ToString()) { Category = setting.Category, TypeHint = setting.TypeHint?.ToString(), @@ -210,6 +215,8 @@ private List ListOptionSettingSummary(IOptionSettingHa ReadOnly = recommendation.IsExistingCloudApplication && !setting.Updatable, Visible = optionSettingHandler.IsOptionSettingDisplayable(recommendation, setting) && + // Updating visibility of settings in server-mode to be determined by 'VisibleOnRedeployment' + // when performing a redeployment and 'Updatable' is set to false. !(recommendation.IsExistingCloudApplication && !setting.Updatable && !setting.VisibleOnRedeployment), SummaryDisplayable = optionSettingHandler.IsSummaryDisplayable(recommendation, setting), AllowedValues = setting.AllowedValues, diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe index 54ff3d951..001346e6a 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppAppRunner.recipe @@ -289,6 +289,7 @@ "Type": "String", "AdvancedSetting": true, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe index 00d00f8d0..4ad115995 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppECSFargate.recipe @@ -308,6 +308,7 @@ "TypeHint": "Vpc", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "IsDefault", @@ -364,6 +365,7 @@ "DefaultValue": "{DefaultVpcId}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -537,6 +539,7 @@ "DefaultValue": null, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe index 4143c9b84..809720966 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkLinux.recipe @@ -319,6 +319,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -340,6 +341,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "ApplicationIAMRole.CreateNew", @@ -370,6 +372,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -391,6 +394,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "ServiceIAMRole.CreateNew", @@ -419,6 +423,7 @@ "DefaultValue": "", "AdvancedSetting": true, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -798,6 +803,7 @@ "DefaultValue": "{DefaultVpcId}", "AdvancedSetting": true, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe index c1ef92c35..d8bf5f4cf 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ASP.NETAppElasticBeanstalkWindows.recipe @@ -307,6 +307,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -328,6 +329,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "ApplicationIAMRole.CreateNew", @@ -358,6 +360,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "CreateNew", @@ -379,6 +382,7 @@ }, "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "DependsOn": [ { "Id": "ServiceIAMRole.CreateNew", @@ -407,6 +411,7 @@ "DefaultValue": "", "AdvancedSetting": true, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", @@ -792,6 +797,7 @@ "DefaultValue": "{DefaultVpcId}", "AdvancedSetting": true, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe index 2fd93de41..f76659031 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateScheduleTask.recipe @@ -326,6 +326,7 @@ "DefaultValue": "{DefaultVpcId}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", diff --git a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe index c897b7304..fa7026f8f 100644 --- a/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe +++ b/src/AWS.Deploy.Recipes/RecipeDefinitions/ConsoleAppECSFargateService.recipe @@ -340,6 +340,7 @@ "TypeHint": "Vpc", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "ChildOptionSettings": [ { "Id": "IsDefault", @@ -396,6 +397,7 @@ "DefaultValue": "{DefaultVpcId}", "AdvancedSetting": false, "Updatable": false, + "VisibleOnRedeployment": true, "Validators": [ { "ValidatorType": "Regex", From 375949532690c5f09ba1a74a922de69f91adb016 Mon Sep 17 00:00:00 2001 From: Phil Asmar Date: Thu, 11 Jul 2024 13:56:14 -0400 Subject: [PATCH 3/3] fix integ test --- test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs b/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs index 4db05372b..4b9037e19 100644 --- a/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs +++ b/test/AWS.Deploy.CLI.IntegrationTests/ServerModeTests.cs @@ -262,7 +262,7 @@ public async Task AppRunnerRedeployment_VisibleOnRedeploymentSettings() var settings = await restClient.GetConfigSettingsAsync(redeploymentSessionId); Assert.True(settings.OptionSettings.First(x => x.Id.Equals("ServiceName")).Visible); - Assert.False(settings.OptionSettings.First(x => x.Id.Equals("EncryptionKmsKey")).Visible); + Assert.True(settings.OptionSettings.First(x => x.Id.Equals("EncryptionKmsKey")).Visible); } finally {