kubernetes 无法使用Python通过Pulumi在Google Cloud Armor中创建具有自适应保护的SecurityPolicy

yhqotfr8  于 2023-08-03  发布在  Kubernetes
关注(0)|答案(1)|浏览(82)

我想在我的Google Kubernetes中创建安全策略,以便在我的应用程序层上为DDoS攻击启用自适应保护。
阅读pulumi文档,这是我想到的:

ddos_layer7_defense_policy_name = "ddos-layer7-defense-policy"
ddos_layer7_defense_policy = gcp.compute.SecurityPolicy(
    resource_name=ddos_layer7_defense_policy_name,
    description="Policy for enabling DDoS defence on L7",
    name=ddos_layer7_defense_policy_name,
    adaptive_protection_config=gcp.compute.SecurityPolicyAdaptiveProtectionConfigArgs(
        layer7_ddos_defense_config=gcp.compute.SecurityPolicyAdaptiveProtectionConfigLayer7DdosDefenseConfigArgs(
            enable=False, # enable DDoS defense
            rule_visibility="STANDARD" 
        )
    )

)

字符串
我阅读了官方文档,虽然它们也将enable=True表示为第一个参数,但我的本地Pulumi库(安装在virtualenv中的库)没有kwarg。然而,当我查看代码时,我可以看到这两个标志非常存在。
仍然,我得到无效密钥错误:

error: gcp:compute/securityPolicy:SecurityPolicy resource 'ddos-layer7-defense-policy' has a problem: Invalid or unknown key. Examine values at 'SecurityPolicy.AdaptiveProtectionConfig.Layer7DdosDefenseConfig'.


阅读源代码也没有帮助,因为签名与我提供的相匹配。
这个问题也是工作在pulumi上的人没有解决的,比如这个。

更新一:设置enable=True并删除rule_visibility会产生相同的结果。

kmpatx3s

kmpatx3s1#

pulumi-gcp提供程序源自Google Terraform提供程序。
Terraform提供程序中有一个bug in this resource,这意味着不可能正确管理这些资源,因为资源属性没有正确发送到API。
这在this PR中得到了修复,该PR已合并到Terraform提供商的v4.39.0中。
然后将其传播到v6.40.0中的Pulumi提供程序。
很可能您没有使用Pulumi提供商的>6.40.0,这就是您遇到此问题的原因。尝试升级,然后重试。

相关问题