Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.ssm.PatchBaselineArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.ssm;
import com.pulumi.aws.ssm.inputs.PatchBaselineApprovalRuleArgs;
import com.pulumi.aws.ssm.inputs.PatchBaselineGlobalFilterArgs;
import com.pulumi.aws.ssm.inputs.PatchBaselineSourceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class PatchBaselineArgs extends com.pulumi.resources.ResourceArgs {
public static final PatchBaselineArgs Empty = new PatchBaselineArgs();
/**
* Set of rules used to include patches in the baseline. Up to 10 approval rules can be specified. See `approval_rule` below.
*
*/
@Import(name="approvalRules")
private @Nullable Output> approvalRules;
/**
* @return Set of rules used to include patches in the baseline. Up to 10 approval rules can be specified. See `approval_rule` below.
*
*/
public Optional>> approvalRules() {
return Optional.ofNullable(this.approvalRules);
}
/**
* List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`.
*
*/
@Import(name="approvedPatches")
private @Nullable Output> approvedPatches;
/**
* @return List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`.
*
*/
public Optional>> approvedPatches() {
return Optional.ofNullable(this.approvedPatches);
}
/**
* Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`.
*
*/
@Import(name="approvedPatchesComplianceLevel")
private @Nullable Output approvedPatchesComplianceLevel;
/**
* @return Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`.
*
*/
public Optional> approvedPatchesComplianceLevel() {
return Optional.ofNullable(this.approvedPatchesComplianceLevel);
}
/**
* Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only.
*
*/
@Import(name="approvedPatchesEnableNonSecurity")
private @Nullable Output approvedPatchesEnableNonSecurity;
/**
* @return Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only.
*
*/
public Optional> approvedPatchesEnableNonSecurity() {
return Optional.ofNullable(this.approvedPatchesEnableNonSecurity);
}
/**
* Description of the patch baseline.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return Description of the patch baseline.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`.
*
*/
@Import(name="globalFilters")
private @Nullable Output> globalFilters;
/**
* @return Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`.
*
*/
public Optional>> globalFilters() {
return Optional.ofNullable(this.globalFilters);
}
/**
* Name of the patch baseline.
*
* The following arguments are optional:
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Name of the patch baseline.
*
* The following arguments are optional:
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`.
*
*/
@Import(name="operatingSystem")
private @Nullable Output operatingSystem;
/**
* @return Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`.
*
*/
public Optional> operatingSystem() {
return Optional.ofNullable(this.operatingSystem);
}
/**
* List of rejected patches.
*
*/
@Import(name="rejectedPatches")
private @Nullable Output> rejectedPatches;
/**
* @return List of rejected patches.
*
*/
public Optional>> rejectedPatches() {
return Optional.ofNullable(this.rejectedPatches);
}
/**
* Action for Patch Manager to take on patches included in the `rejected_patches` list. Valid values are `ALLOW_AS_DEPENDENCY` and `BLOCK`.
*
*/
@Import(name="rejectedPatchesAction")
private @Nullable Output rejectedPatchesAction;
/**
* @return Action for Patch Manager to take on patches included in the `rejected_patches` list. Valid values are `ALLOW_AS_DEPENDENCY` and `BLOCK`.
*
*/
public Optional> rejectedPatchesAction() {
return Optional.ofNullable(this.rejectedPatchesAction);
}
/**
* Configuration block with alternate sources for patches. Applies to Linux instances only. See `source` below.
*
*/
@Import(name="sources")
private @Nullable Output> sources;
/**
* @return Configuration block with alternate sources for patches. Applies to Linux instances only. See `source` below.
*
*/
public Optional>> sources() {
return Optional.ofNullable(this.sources);
}
/**
* Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private PatchBaselineArgs() {}
private PatchBaselineArgs(PatchBaselineArgs $) {
this.approvalRules = $.approvalRules;
this.approvedPatches = $.approvedPatches;
this.approvedPatchesComplianceLevel = $.approvedPatchesComplianceLevel;
this.approvedPatchesEnableNonSecurity = $.approvedPatchesEnableNonSecurity;
this.description = $.description;
this.globalFilters = $.globalFilters;
this.name = $.name;
this.operatingSystem = $.operatingSystem;
this.rejectedPatches = $.rejectedPatches;
this.rejectedPatchesAction = $.rejectedPatchesAction;
this.sources = $.sources;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(PatchBaselineArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private PatchBaselineArgs $;
public Builder() {
$ = new PatchBaselineArgs();
}
public Builder(PatchBaselineArgs defaults) {
$ = new PatchBaselineArgs(Objects.requireNonNull(defaults));
}
/**
* @param approvalRules Set of rules used to include patches in the baseline. Up to 10 approval rules can be specified. See `approval_rule` below.
*
* @return builder
*
*/
public Builder approvalRules(@Nullable Output> approvalRules) {
$.approvalRules = approvalRules;
return this;
}
/**
* @param approvalRules Set of rules used to include patches in the baseline. Up to 10 approval rules can be specified. See `approval_rule` below.
*
* @return builder
*
*/
public Builder approvalRules(List approvalRules) {
return approvalRules(Output.of(approvalRules));
}
/**
* @param approvalRules Set of rules used to include patches in the baseline. Up to 10 approval rules can be specified. See `approval_rule` below.
*
* @return builder
*
*/
public Builder approvalRules(PatchBaselineApprovalRuleArgs... approvalRules) {
return approvalRules(List.of(approvalRules));
}
/**
* @param approvedPatches List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`.
*
* @return builder
*
*/
public Builder approvedPatches(@Nullable Output> approvedPatches) {
$.approvedPatches = approvedPatches;
return this;
}
/**
* @param approvedPatches List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`.
*
* @return builder
*
*/
public Builder approvedPatches(List approvedPatches) {
return approvedPatches(Output.of(approvedPatches));
}
/**
* @param approvedPatches List of explicitly approved patches for the baseline. Cannot be specified with `approval_rule`.
*
* @return builder
*
*/
public Builder approvedPatches(String... approvedPatches) {
return approvedPatches(List.of(approvedPatches));
}
/**
* @param approvedPatchesComplianceLevel Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`.
*
* @return builder
*
*/
public Builder approvedPatchesComplianceLevel(@Nullable Output approvedPatchesComplianceLevel) {
$.approvedPatchesComplianceLevel = approvedPatchesComplianceLevel;
return this;
}
/**
* @param approvedPatchesComplianceLevel Compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid values are `CRITICAL`, `HIGH`, `MEDIUM`, `LOW`, `INFORMATIONAL`, `UNSPECIFIED`. The default value is `UNSPECIFIED`.
*
* @return builder
*
*/
public Builder approvedPatchesComplianceLevel(String approvedPatchesComplianceLevel) {
return approvedPatchesComplianceLevel(Output.of(approvedPatchesComplianceLevel));
}
/**
* @param approvedPatchesEnableNonSecurity Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only.
*
* @return builder
*
*/
public Builder approvedPatchesEnableNonSecurity(@Nullable Output approvedPatchesEnableNonSecurity) {
$.approvedPatchesEnableNonSecurity = approvedPatchesEnableNonSecurity;
return this;
}
/**
* @param approvedPatchesEnableNonSecurity Whether the list of approved patches includes non-security updates that should be applied to the instances. Applies to Linux instances only.
*
* @return builder
*
*/
public Builder approvedPatchesEnableNonSecurity(Boolean approvedPatchesEnableNonSecurity) {
return approvedPatchesEnableNonSecurity(Output.of(approvedPatchesEnableNonSecurity));
}
/**
* @param description Description of the patch baseline.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description Description of the patch baseline.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param globalFilters Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`.
*
* @return builder
*
*/
public Builder globalFilters(@Nullable Output> globalFilters) {
$.globalFilters = globalFilters;
return this;
}
/**
* @param globalFilters Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`.
*
* @return builder
*
*/
public Builder globalFilters(List globalFilters) {
return globalFilters(Output.of(globalFilters));
}
/**
* @param globalFilters Set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are `PRODUCT`, `CLASSIFICATION`, `MSRC_SEVERITY`, and `PATCH_ID`.
*
* @return builder
*
*/
public Builder globalFilters(PatchBaselineGlobalFilterArgs... globalFilters) {
return globalFilters(List.of(globalFilters));
}
/**
* @param name Name of the patch baseline.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Name of the patch baseline.
*
* The following arguments are optional:
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param operatingSystem Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`.
*
* @return builder
*
*/
public Builder operatingSystem(@Nullable Output operatingSystem) {
$.operatingSystem = operatingSystem;
return this;
}
/**
* @param operatingSystem Operating system the patch baseline applies to. Valid values are `ALMA_LINUX`, `AMAZON_LINUX`, `AMAZON_LINUX_2`, `AMAZON_LINUX_2022`, `AMAZON_LINUX_2023`, `CENTOS`, `DEBIAN`, `MACOS`, `ORACLE_LINUX`, `RASPBIAN`, `REDHAT_ENTERPRISE_LINUX`, `ROCKY_LINUX`, `SUSE`, `UBUNTU`, and `WINDOWS`. The default value is `WINDOWS`.
*
* @return builder
*
*/
public Builder operatingSystem(String operatingSystem) {
return operatingSystem(Output.of(operatingSystem));
}
/**
* @param rejectedPatches List of rejected patches.
*
* @return builder
*
*/
public Builder rejectedPatches(@Nullable Output> rejectedPatches) {
$.rejectedPatches = rejectedPatches;
return this;
}
/**
* @param rejectedPatches List of rejected patches.
*
* @return builder
*
*/
public Builder rejectedPatches(List rejectedPatches) {
return rejectedPatches(Output.of(rejectedPatches));
}
/**
* @param rejectedPatches List of rejected patches.
*
* @return builder
*
*/
public Builder rejectedPatches(String... rejectedPatches) {
return rejectedPatches(List.of(rejectedPatches));
}
/**
* @param rejectedPatchesAction Action for Patch Manager to take on patches included in the `rejected_patches` list. Valid values are `ALLOW_AS_DEPENDENCY` and `BLOCK`.
*
* @return builder
*
*/
public Builder rejectedPatchesAction(@Nullable Output rejectedPatchesAction) {
$.rejectedPatchesAction = rejectedPatchesAction;
return this;
}
/**
* @param rejectedPatchesAction Action for Patch Manager to take on patches included in the `rejected_patches` list. Valid values are `ALLOW_AS_DEPENDENCY` and `BLOCK`.
*
* @return builder
*
*/
public Builder rejectedPatchesAction(String rejectedPatchesAction) {
return rejectedPatchesAction(Output.of(rejectedPatchesAction));
}
/**
* @param sources Configuration block with alternate sources for patches. Applies to Linux instances only. See `source` below.
*
* @return builder
*
*/
public Builder sources(@Nullable Output> sources) {
$.sources = sources;
return this;
}
/**
* @param sources Configuration block with alternate sources for patches. Applies to Linux instances only. See `source` below.
*
* @return builder
*
*/
public Builder sources(List sources) {
return sources(Output.of(sources));
}
/**
* @param sources Configuration block with alternate sources for patches. Applies to Linux instances only. See `source` below.
*
* @return builder
*
*/
public Builder sources(PatchBaselineSourceArgs... sources) {
return sources(List.of(sources));
}
/**
* @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public PatchBaselineArgs build() {
return $;
}
}
}