首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS CDK PatchBaseline - TypeScript

AWS CDK PatchBaseline - TypeScript
EN

Stack Overflow用户
提问于 2021-07-19 20:48:27
回答 1查看 74关注 0票数 1

我正在使用AWS CDK、库@aws-cdk/aws-ssm和TypeScript来创建PatchBaseline。我可以创建补丁基线,但不能定义任何approvalRules。我发现了类似的线程,其中Alex Nelson使用RuleProperty将approvalRules创建为对象,他用Python语言创建,但我不能用TypeScript复制这个过程。由于某些原因,我不能像Alex在Python中那样在TypeScript中使用RuleProperty,在这个post中有更多。

这行代码给我一个错误,属性'RuleProperty‘在类型'typeof CfnPatchBaseline’上不存在。

代码语言:javascript
复制
const patch_baseline_rule = new ssm.CfnPatchBaseline.RuleProperty();

我花了几个小时浏览了CDK文档,但我没有发现任何与我的问题相关的有用信息。对于RuleGroupProperty,文档根本没有提供任何示例。

我的问题是,如何在TypeScript中输入以下代码(Python)?

代码语言:javascript
复制
patch_baseline_rule = ssm.CfnPatchBaseline.RuleProperty(approve_after_days=0,
                                                        compliance_level='CRITICAL',
                                                        enable_non_security=True,
                                                        patch_filter_group=patch_baseline_patch_filter_group
                                                        )

patch_baseline_rule_group = ssm.CfnPatchBaseline.RuleGroupProperty(patch_rules=[patch_baseline_rule])

patch_baseline = ssm.CfnPatchBaseline(self, 'rPatchBaseline',
                                      name=f'TestPatchBaseline_Linux',
                                      description='TestPatchBaseline for Linux updates, Amazon_Linux_2 distr.',
                                      operating_system='AMAZON_LINUX_2',
                                      approved_patches_enable_non_security=True,
                                      patch_groups=['AWS-Linux-2-Test'],
                                      approval_rules=patch_baseline_rule_group,
                                      )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-20 20:51:01

RulePropertyRuleGroupProperty这样的东西是Python语言中的类,但在TypeScript中,它们只是接口,所以不能直接创建它们。相反,您可以创建普通的JavaScript对象,编辑器或CDK本身会告诉您是否创建了错误的对象。

如果您不知道,在JavaScript中使用camelCase名称也是很常见的做法,而不是像在Python中那样使用snake_case。因此,您还需要将属性名称指定为camelCase

注意:在JavaScript/TypeScript中使用关键字this,而在Python中使用关键字self

下面是Python代码的TypeScript等价物:

代码语言:javascript
复制
import ssm from "@aws-cdk/aws-ssm";

const patchBaselineRule = {
  approveAfterDays: 0,
  complianceLevel: "CRITICAL",
  enableNonSecurity: true,
  patchFilterGroup: patch_baseline_patch_filter_group,
};

const patchBaselineRuleGroup = {
  patchRules: [patchBaselineRule],
};

const patchBaseline = new ssm.CfnPatchBaseline(this, "rPatchBaseline", {
  name: "TestPatchBaseline_Linux",
  description: "TestPatchBaseline for Linux updates, Amazon_Linux_2 distr.",
  operatingSystem: "AMAZON_LINUX_2",
  approvedPatchesEnableNonSecurity: true,
  patchGroups: ["AWS-Linux-2-Test"],
  approvalRules: patchBaselineRuleGroup,
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68440776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档