private UpdateFunctionConfigurationRequest CreateRevertConfigurationRequest()

in src/Amazon.Lambda.Tools/Commands/UpdateFunctionConfigCommand.cs [362:426]


        private UpdateFunctionConfigurationRequest CreateRevertConfigurationRequest(GetFunctionConfigurationResponse existingConfiguration)
        {
            var request = new UpdateFunctionConfigurationRequest
            {
                FunctionName = existingConfiguration.FunctionName,
                Description = existingConfiguration.Description,
                Role = existingConfiguration.Role,
                MemorySize = existingConfiguration.MemorySize,
                EphemeralStorage = existingConfiguration.EphemeralStorage,
                Timeout = existingConfiguration.Timeout,
                Layers = existingConfiguration.Layers?.Select(x => x.Arn).ToList(),
                DeadLetterConfig = existingConfiguration.DeadLetterConfig,
                KMSKeyArn = existingConfiguration.KMSKeyArn
            };

            if (existingConfiguration.VpcConfig != null)
            {
                request.VpcConfig = new VpcConfig
                {
                    IsSecurityGroupIdsSet = existingConfiguration.VpcConfig.SecurityGroupIds?.Any() ?? false,
                    IsSubnetIdsSet = existingConfiguration.VpcConfig.SubnetIds?.Any() ?? false,
                    SecurityGroupIds = existingConfiguration.VpcConfig.SecurityGroupIds,
                    SubnetIds = existingConfiguration.VpcConfig.SubnetIds
                };
            }

            if (existingConfiguration.TracingConfig != null)
            {
                request.TracingConfig = new TracingConfig
                {
                    Mode = existingConfiguration.TracingConfig.Mode
                };
            }

            if (existingConfiguration.Environment != null)
            {
                request.Environment = new Model.Environment
                {
                    IsVariablesSet = existingConfiguration.Environment.Variables?.Any() ?? false,
                    Variables = existingConfiguration.Environment.Variables
                };
            }

            if (existingConfiguration.PackageType == Lambda.PackageType.Zip)
            {
                request.Handler = existingConfiguration.Handler;
                request.Runtime = existingConfiguration.Runtime;
            }
            else if (existingConfiguration.PackageType == Lambda.PackageType.Image)
            {
                if (existingConfiguration.ImageConfigResponse != null)
                {
                    request.ImageConfig = new ImageConfig
                    {
                        Command = existingConfiguration.ImageConfigResponse.ImageConfig?.Command,
                        EntryPoint = existingConfiguration.ImageConfigResponse.ImageConfig?.EntryPoint,
                        IsCommandSet = existingConfiguration.ImageConfigResponse.ImageConfig?.Command?.Any() ?? false,
                        IsEntryPointSet = existingConfiguration.ImageConfigResponse.ImageConfig?.EntryPoint?.Any() ?? false,
                        WorkingDirectory = existingConfiguration.ImageConfigResponse.ImageConfig?.WorkingDirectory
                    };
                }
            }

            return request;
        }