import { Value } from '../../cloudformation/Value';
import { RuleGroupProps } from './patchbaseline/RuleGroupProps';
import { PatchSourceProps } from './patchbaseline/PatchSourceProps';
import { PatchFilterGroupProps } from './patchbaseline/PatchFilterGroupProps';
import { Tag } from '../Tag';
import { AwsResource } from '../../cloudformation/resources/AwsResource';
/**
  The <code>AWS::SSM::PatchBaseline</code> resource defines the basic information for an AWS Systems Manager patch baseline. A patch baseline defines which patches are approved for installation on your instances.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html">the AWS Docs</a>
*/
export type PatchBaseline = AwsResource<'AWS::SSM::PatchBaseline', PatchBaselineProperties>;
export declare function patchBaseline(patchBaselineProps: PatchBaselineProperties): PatchBaseline;
/**
  The <code>AWS::SSM::PatchBaseline</code> resource defines the basic information for an AWS Systems Manager patch baseline. A patch baseline defines which patches are approved for installation on your instances.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-patchbaseline.html">the AWS Docs</a>
*/
export interface PatchBaselineProperties {
    /** <code>OperatingSystem</code>  <a name="cfn-ssm-patchbaseline-operatingsystem"></a>
  Defines the operating system the patch baseline applies to. The default value is <code>WINDOWS</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>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 | WINDOWS</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement">Replacement</a> */
    operatingSystem?: Value<'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' | 'WINDOWS'>;
    /** <code>Description</code>  <a name="cfn-ssm-patchbaseline-description"></a>
  A description of the patch baseline.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>1024</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    description?: Value<string>;
    /** <code>ApprovalRules</code>  <a name="cfn-ssm-patchbaseline-approvalrules"></a>
  A set of rules used to include patches in the baseline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    approvalRules?: RuleGroupProps;
    /** <code>Sources</code>  <a name="cfn-ssm-patchbaseline-sources"></a>
  Information about the patches to use to update the managed nodes, including target operating systems and source repositories. Applies to Linux managed nodes only.<br />
  
  Required: No<br />
  
  Maximum: <code>20</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    sources?: PatchSourceProps[];
    /** <code>Name</code>  <a name="cfn-ssm-patchbaseline-name"></a>
  The name of the patch baseline.<br />
  
  Required: Yes<br />
  
  Minimum: <code>3</code><br />
  
  Maximum: <code>128</code><br />
  
  Pattern: <code>^[a-zA-Z0-9_\-.]{3,128}$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    name: Value<string>;
    /** <code>RejectedPatches</code>  <a name="cfn-ssm-patchbaseline-rejectedpatches"></a>
  A list of explicitly rejected patches for the baseline.<br />
  For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">About package name formats for approved and rejected patch lists</a> in the * AWS Systems Manager User Guide*.<br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    rejectedPatches?: Value<Value<string>[]>;
    /** <code>ApprovedPatches</code>  <a name="cfn-ssm-patchbaseline-approvedpatches"></a>
  A list of explicitly approved patches for the baseline.<br />
  For information about accepted formats for lists of approved patches and rejected patches, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html">About package name formats for approved and rejected patch lists</a> in the * AWS Systems Manager User Guide*.<br />
  
  Required: No<br />
  
  Maximum: <code>50</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    approvedPatches?: Value<Value<string>[]>;
    /** <p> */
    rejectedPatchesAction?: Value<string>;
    /** <code>PatchGroups</code>  <a name="cfn-ssm-patchbaseline-patchgroups"></a>
  The name of the patch group to be registered with the patch baseline.<br />
  
  Required: No<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>256</code><br />
  
  Pattern: <code>^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    patchGroups?: Value<Value<string>[]>;
    /** <code>ApprovedPatchesComplianceLevel</code>  <a name="cfn-ssm-patchbaseline-approvedpatchescompliancelevel"></a>
  Defines the compliance level for approved patches. When an approved patch is reported as missing, this value describes the severity of the compliance violation. The default value is <code>UNSPECIFIED</code>.<br />
  
  Required: No<br />
  
  Allowed values: <code>CRITICAL | HIGH | INFORMATIONAL | LOW | MEDIUM | UNSPECIFIED</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    approvedPatchesComplianceLevel?: Value<'CRITICAL' | 'HIGH' | 'INFORMATIONAL' | 'LOW' | 'MEDIUM' | 'UNSPECIFIED'>;
    /** <code>ApprovedPatchesEnableNonSecurity</code>  <a name="cfn-ssm-patchbaseline-approvedpatchesenablenonsecurity"></a>
  Indicates whether the list of approved patches includes non-security updates that should be applied to the managed nodes. The default value is <code>false</code>. Applies to Linux managed nodes only.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    approvedPatchesEnableNonSecurity?: Value<boolean>;
    /** <code>GlobalFilters</code>  <a name="cfn-ssm-patchbaseline-globalfilters"></a>
  A set of global filters used to include patches in the baseline.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    globalFilters?: PatchFilterGroupProps;
    /** <code>Tags</code>  <a name="cfn-ssm-patchbaseline-tags"></a>
  Optional metadata that you assign to a resource. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For example, you might want to tag a patch baseline to identify the severity level of patches it specifies and the operating system family it applies to.<br />
  
  Required: No<br />
  
  Maximum: <code>1000</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    tags?: Tag[];
}
