问题描述
我可以create a new IBM Cloud Functions action using the Terraform provider。
resource "ibm_function_action" "sendEmail" {
name = "${ibm_function_package.cloudmailer.name}/sendEmail"
namespace = ibm_function_namespace.namespace.name
exec {
kind = "nodejs:12"
code = file("smtp_email.js")
}
publish = true
user_defined_parameters = var.server_config
}
如何将上述操作转换为 web action?如何指定密码保护的配置?
解决方法
这可以使用 annotations argument 来实现。它保存这些 documented action annotations 的键/值对。
resource "ibm_function_action" "sendEmail" {
name = "${ibm_function_package.cloudmailer.name}/sendEmail"
namespace = ibm_function_namespace.namespace.name
exec {
kind = "nodejs:12"
code = file("smtp_email.js")
}
publish = true
user_defined_parameters = var.server_config
user_defined_annotations = <<EOF
[
{
"key": "web-export","value": true
},{
"key": "require-whisk-auth","value": "your-web-secret"
}
]
EOF
}
上面的 web-export 将操作转换为 Web 操作,require-whisk-auth 启用身份验证以确保安全,其值设置密码。我已经把它变成了 working sample。