import * as core from "@terrascript/core"; export interface GlobalFilterArgs extends core.SchemaArgs { key: string | core.StringOut; values: core.Array | core.ArrayOut; } export class GlobalFilter extends core.Schema { @core.attr(String, { computed: true }) public key!: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public values!: core.Array | core.ArrayOut; } export interface SourceArgs extends core.SchemaArgs { configuration: string | core.StringOut; name: string | core.StringOut; products: core.Array | core.ArrayOut; } export class Source extends core.Schema { @core.attr(String, { computed: true }) public configuration!: string | core.StringOut; @core.attr(String, { computed: true }) public name!: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public products!: core.Array | core.ArrayOut; } export interface PatchFilterArgs extends core.SchemaArgs { key: string | core.StringOut; values: core.Array | core.ArrayOut; } export class PatchFilter extends core.Schema { @core.attr(String, { computed: true }) public key!: string | core.StringOut; @core.attr(String, { computed: true, kind: "array" }) public values!: core.Array | core.ArrayOut; } export interface ApprovalRuleArgs extends core.SchemaArgs { approveAfterDays: number | core.NumberOut; approveUntilDate: string | core.StringOut; complianceLevel: string | core.StringOut; enableNonSecurity: boolean | core.BooleanOut; patchFilter: core.Array | core.ArrayOut; } export class ApprovalRule extends core.Schema { @core.attr(Number, { computed: true }) public approveAfterDays!: number | core.NumberOut; @core.attr(String, { computed: true }) public approveUntilDate!: string | core.StringOut; @core.attr(String, { computed: true }) public complianceLevel!: string | core.StringOut; @core.attr(Boolean, { computed: true }) public enableNonSecurity!: boolean | core.BooleanOut; @core.attr(PatchFilter, { computed: true, kind: "array" }) public patchFilter!: core.Array | core.ArrayOut; } export interface DsPatchBaselineArgs { /** * (Optional) Filters the results against the baselines default_baseline field. */ defaultBaseline?: boolean | core.BooleanOut; /** * (Optional) Filter results by the baseline name prefix. */ namePrefix?: string | core.StringOut; /** * (Optional) The specified OS for the baseline. */ operatingSystem?: string | core.StringOut; /** * (Required) The owner of the baseline. Valid values: `All`, `AWS`, `Self` (the current account). */ owner: string | core.StringOut; } export class DsPatchBaseline extends core.Data { /** * A list of rules used to include patches in the baseline. */ @core.attr(ApprovalRule, { computed: true, kind: "array" }) public approvalRule!: core.Array | core.ArrayOut; /** * A list of explicitly approved patches for the baseline. */ @core.attr(String, { computed: true, kind: "array" }) public approvedPatches!: core.Array | core.ArrayOut; /** * The compliance level for approved patches. */ @core.attr(String, { computed: true }) public approvedPatchesComplianceLevel!: string | core.StringOut; /** * Indicates whether the list of approved patches includes non-security updates that should be applied * to the instances. */ @core.attr(Boolean, { computed: true }) public approvedPatchesEnableNonSecurity!: boolean | core.BooleanOut; /** * (Optional) Filters the results against the baselines default_baseline field. */ @core.attr(Boolean) public defaultBaseline?: boolean | core.BooleanOut; /** * The description of the baseline. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * A set of global filters used to exclude patches from the baseline. */ @core.attr(GlobalFilter, { computed: true, kind: "array" }) public globalFilter!: core.Array | core.ArrayOut; /** * The id of the baseline. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * The name of the baseline. */ @core.attr(String, { computed: true }) public name!: string | core.StringOut; /** * (Optional) Filter results by the baseline name prefix. */ @core.attr(String) public namePrefix?: string | core.StringOut; /** * (Optional) The specified OS for the baseline. */ @core.attr(String) public operatingSystem?: string | core.StringOut; /** * (Required) The owner of the baseline. Valid values: `All`, `AWS`, `Self` (the current account). */ @core.attr(String) public owner!: string | core.StringOut; /** * A list of rejected patches. */ @core.attr(String, { computed: true, kind: "array" }) public rejectedPatches!: core.Array | core.ArrayOut; /** * The action specified to take on patches included in the `rejected_patches` list. */ @core.attr(String, { computed: true }) public rejectedPatchesAction!: string | core.StringOut; /** * Information about the patches to use to update the managed nodes, including target operating systems * and source repositories. */ @core.attr(Source, { computed: true, kind: "array" }) public source!: core.Array | core.ArrayOut; constructor(name: string, args?: DsPatchBaselineArgs) { super(name, "aws_ssm_patch_baseline", args); } public override getNamespace(): string { return "aws_ssm"; } }