我正在尝试以vpc_config
块为条件部署 Lambda 函数。我试过在里面使用 countvpc_config
但不可能在那里使用 count 语句。根据资源的文档,如果您按如下方式传入空列表,则该vpc_config
部分将被忽略:
vpc_config {
subnet_ids = []
security_group_ids = []
}
Run Code Online (Sandbox Code Playgroud)
我可以确认这确实按预期工作(没有尝试配置 VPC)。
因此,我尝试将条件用于subnet_ids
and security_group_ids
- 类似的东西var.vpc_function ? var.subnet_ids : []
- 但你不能在条件语句中传入一个列表。我最接近解决方案的是下面的 hacky 数字,它加入然后拆分列表:
resource "aws_lambda_function" "lambda_function" {
...
vpc_config {
subnet_ids = ["${split(",", var.vpc_function ? join(",", var.subnet_ids) : join(",", var.empty_array))}"]
security_group_ids = ["${split(",", var.vpc_function ? join(",", aws_security_group.lambda_security_group.*.id) : join(",", var.empty_array))}"]
}
variable "vpc_function" {
default = "false"
}
variable "subnet_ids" {
type = "list"
default …
Run Code Online (Sandbox Code Playgroud) 我是 PowerShell 新手(Bash 通常是我的东西),他目前正在尝试获取 qwinsta 输出以显示谁以“rdpwd”(rdesktop)用户身份登录,以便我可以根据用户名列表检查每个用户名,如果它们不匹配,将它们注销。
我目前正在解决两个问题:
我现在将重点放在问题 1 上!
我得到的文字是:
SESSIONNAME USERNAME ID STATE TYPE DEVICE
services 0 Disc
console 1 Conn
rdp-tcp#0 user.name1 2 Active rdpwd
rdp-tcp#1 user.name2 3 Active rdpwd
rdp-tcp#1 user.name3 4 Active rdpwd
rdp-tcp 65536 Listen
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
user.name1
user.name2
user.name3
Run Code Online (Sandbox Code Playgroud)
(目的是创建一个循环,简而言之,“列表中的每个用户,如果不在本地组中,则注销用户”。)
到目前为止,我已经使用“rdpwd”选择文本,但是使用“split”的各种变体,我还没有更进一步。
我很高兴分享我已经拥有的东西,但可惜我认为它不会帮助任何人!
任何帮助将不胜感激。:)