- HashiCorp.Cdktf 0.16.3
- HashiCorp.Cdktf .Providers.Aws 14.0.4
- HashiCorp.Cdktf.Providers.Docker 7.0.1
- Amazon.Lambda.Core 2.1.0
Amazon.Lambda.Serialization.SystemTextJson 2.3.1 - Amazon.Lambda.APIGatewayEvents 2.6.0
- Amazon.Lambda.Core 2.1.0
- Amazon.Lambda.Serialization.SystemTextJson 2.3.1
- Amazon.Lambda.APIGatewayEvents 2.6.0
В моем решении Visual Studio 2022 у меня есть следующие проекты:
- AWSSrvlessHelloWorldApp
- AWSSrvlessHelloWorldApp.Tests
- MyTerraformStack
Я создаю лямбда-проект AWSSrvlessHelloWorldApp.
Я хотел предоставить параметры аргумента при запуске cdktf Deploy
Поэтому В процессе исследования я наткнулся на следующую ссылку на веб-страницу, описывающую, как использовать переменные Terraform в качестве входных параметров:
https://developer.hashicorp.com/terrafo ... /variables -and-outputs
Вот выдержка из вышеупомянутой веб-страницы, на которой показан пример объявления и создания экземпляров переменных Terraform в качестве входных параметров в C#:
I создайте лямбда-проект AWSSrvlessHelloWorldApp.
Я хотел предоставить параметры аргумента при запуске cdktf Deploy
Поэтому, исследуя, я столкнулся со следующим ссылка на веб-страницу, описывающая, как использовать переменные Terraform в качестве входных параметров:
https://developer.hashicorp.com/terrafo ... outputsВот выдержка из вышеупомянутой веб-страницы, на которой показан пример объявления и создания экземпляров переменных Terraform в качестве входных параметров в C#:В MyTerraformStack (т. е. проекте TerraformStack) у меня есть следующие файлы:Код: Выделить всё
TerraformVariable imageId = new TerraformVariable(this, "imageId", new TerraformVariableConfig { Type = "string", Default = "ami-abcde123", Description = "What AMI to use to create an instance", }); new Instance(this, "hello", new InstanceConfig { Ami = imageId.StringValue, InstanceType = "t2.micro", }); - Program.cs
MainStack.cs
Код: Выделить всё
class Program
{
public static void Main(string[] args)
{
Debugger.Launch();
App app = new App();
MainStack stack = new MainStack(app, "aws_instance");
app.Synth();
}
}
Код: Выделить всё
class MainStack : TerraformStack
{
public MainStack(Construct scope, string id) : base(scope, id)
{
TerraformVariable imageId = new TerraformVariable(this, "imageId", new
TerraformVariableConfig
{
Type = "string",
Default = "ami-abcde123",
Description = "What AMI to use to create an instance",
});
new Instance(this, "hello", new InstanceConfig
{
Ami = imageId.StringValue,
InstanceType = "t2.micro",
});
...Blah Blah configuring ITerraformAssetConfig and
IS3BucketObjectConfig and IIamRoleConfig
Blah Blah...
...Blah Blah instantiating S3BucketObject , IamRole ,
LambdaFunction Blah Blah Blah
}
}
• Переменная среды: TF_VAR_imageId=testing ( в Powershell я выполняю $Env:TF_VAR_imageId = "testing" перед запуском команд cdktf)
- Опция CLI: cdktf Deploy --var='imageId=testing'
Код: Выделить всё
--var - Опция CLI: cdktf Deploy --var-file=/path/to/variables.tfvars
Код: Выделить всё
--var-file
В файлеvariables.tfvars я поместил следующее содержимое:
Код: Выделить всё
imageId=testing
- Автоматически загружаемые файлы конфигурации: мы автоматически загружаем файлы *.auto.tfvars и terraform.tfvars, найденные в текущем рабочем каталоге.
Я лихорадочно просмотрел свойства свойств imageId в списке наблюдения Visual Studio 2022, но ни одно из них не содержит значения «тестирование».
Может кто-нибудь объяснить, как я могу правильно передавать входные переменные для команд cdktf?
Подробнее здесь: https://stackoverflow.com/questions/782 ... or-a-c-sha
Мобильная версия