0

我能够使用 Terraform 提供程序创建一个新的 IBM Cloud Functions 操作

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
}

如何将上述操作转换为网络操作?如何指定密码保护的配置?

4

1 回答 1

1

这可以使用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将 action 转换为 web action,require-whisk-auth启用安全身份验证,其值设置密码。我已经把它变成了一个工作样本

于 2021-06-15T08:37:54.153 回答