@aws-sdk/client-ssm
Version:
AWS SDK for JavaScript Ssm Client for Node.js, Browser and React Native
7,077 lines • 274 kB
TypeScript
import type { AssociationComplianceSeverity, AssociationFilterKey, AssociationSyncCompliance, CloudConnectorFilterKey, CommandFilterKey, CommandInvocationStatus, CommandPluginStatus, CommandStatus, ComplianceQueryOperatorType, ComplianceSeverity, ComplianceStatus, ComplianceUploadType, DocumentFilterKey, DocumentFormat, DocumentHashType, DocumentMetadataEnum, DocumentPermissionType, DocumentReviewAction, DocumentReviewCommentType, DocumentStatus, DocumentType, ExecutionMode, LastResourceDataSyncStatus, MaintenanceWindowResourceType, MaintenanceWindowTaskCutoffBehavior, MaintenanceWindowTaskType, ManagedStatus, NodeAggregatorType, NodeAttributeName, NodeFilterKey, NodeFilterOperatorType, NodeTypeName, OperatingSystem, OpsItemEventFilterKey, OpsItemEventFilterOperator, OpsItemRelatedItemsFilterKey, OpsItemRelatedItemsFilterOperator, OpsItemStatus, ParameterTier, ParameterType, PatchAction, PatchComplianceLevel, PatchComplianceStatus, PlatformType, ResourceType, ResourceTypeForTagging, ReviewStatus, SignalType, SourceType, StopType, ValidationFindingCode, ValidationFindingScopeType, ValidationFindingType } from "./enums";
import type { AlarmConfiguration, AlarmStateInformation, AssociationDescription, AssociationOverview, AssociationStatus, AttachmentsSource, CloudConnectorConfiguration, CloudWatchOutputConfig, DocumentDescription, DocumentRequires, InstanceAssociationOutputLocation, InventoryFilter, InventoryGroup, LoggingInfo, MaintenanceWindowTaskInvocationParameters, MaintenanceWindowTaskParameterValueExpression, MetadataValue, NotificationConfig, OpsFilter, OpsItemDataValue, OpsItemNotification, OpsResultAttribute, Parameter, ParameterStringFilter, PatchFilterGroup, PatchRuleGroup, PatchSource, RelatedOpsItem, ResourceDataSyncAwsOrganizationsSource, ResourceDataSyncS3Destination, ResourceDataSyncSource, ResultAttribute, Runbook, Tag, Target, TargetLocation } from "./models_0";
/**
* @public
*/
export interface GetParametersByPathRequest {
/**
* <p>The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierarchy
* is the parameter name except the last part of the parameter. For the API call to succeed, the
* last part of the parameter name can't be in the path. A parameter name hierarchy can have a
* maximum of 15 levels. Here is an example of a hierarchy:
* <code>/Finance/Prod/IAD/WinServ2016/license33 </code>
* </p>
* @public
*/
Path: string | undefined;
/**
* <p>Retrieve all parameters within a hierarchy.</p>
* <important>
* <p>If a user has access to a path, then the user can access all levels of that path. For
* example, if a user has permission to access path <code>/a</code>, then the user can also access
* <code>/a/b</code>. Even if a user has explicitly been denied access in IAM for
* parameter <code>/a/b</code>, they can still call the GetParametersByPath API operation
* recursively for <code>/a</code> and view <code>/a/b</code>.</p>
* </important>
* @public
*/
Recursive?: boolean | undefined;
/**
* <p>Filters to limit the request results.</p>
* <note>
* <p>The following <code>Key</code> values are supported for <code>GetParametersByPath</code>:
* <code>Type</code>, <code>KeyId</code>, and <code>Label</code>.</p>
* <p>The following <code>Key</code> values aren't supported for
* <code>GetParametersByPath</code>: <code>tag</code>, <code>DataType</code>, <code>Name</code>,
* <code>Path</code>, and <code>Tier</code>.</p>
* </note>
* @public
*/
ParameterFilters?: ParameterStringFilter[] | undefined;
/**
* <p>Retrieve all parameters in a hierarchy with their value decrypted.</p>
* @public
*/
WithDecryption?: boolean | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface GetParametersByPathResult {
/**
* <p>A list of parameters found in the specified hierarchy.</p>
* @public
*/
Parameters?: Parameter[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface GetPatchBaselineRequest {
/**
* <p>The ID of the patch baseline to retrieve.</p>
* <note>
* <p>To retrieve information about an Amazon Web Services managed patch baseline, specify the full Amazon
* Resource Name (ARN) of the baseline. For example, for the baseline
* <code>AWS-AmazonLinuxDefaultPatchBaseline</code>, specify
* <code>arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0e392de35e7c563b7</code> instead of
* <code>pb-0e392de35e7c563b7</code>.</p>
* </note>
* @public
*/
BaselineId: string | undefined;
}
/**
* @public
*/
export interface GetPatchBaselineResult {
/**
* <p>The ID of the retrieved patch baseline.</p>
* @public
*/
BaselineId?: string | undefined;
/**
* <p>The name of the patch baseline.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>Returns the operating system specified for the patch baseline.</p>
* @public
*/
OperatingSystem?: OperatingSystem | undefined;
/**
* <p>A set of global filters used to exclude patches from the baseline.</p>
* @public
*/
GlobalFilters?: PatchFilterGroup | undefined;
/**
* <p>A set of rules used to include patches in the baseline.</p>
* @public
*/
ApprovalRules?: PatchRuleGroup | undefined;
/**
* <p>A list of explicitly approved patches for the baseline.</p>
* @public
*/
ApprovedPatches?: string[] | undefined;
/**
* <p>Returns the specified compliance severity level for approved patches in the patch
* baseline.</p>
* @public
*/
ApprovedPatchesComplianceLevel?: PatchComplianceLevel | undefined;
/**
* <p>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.</p>
* @public
*/
ApprovedPatchesEnableNonSecurity?: boolean | undefined;
/**
* <p>A list of explicitly rejected patches for the baseline.</p>
* @public
*/
RejectedPatches?: string[] | undefined;
/**
* <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A
* patch can be allowed only if it is a dependency of another package, or blocked entirely along
* with packages that include it as a dependency.</p>
* @public
*/
RejectedPatchesAction?: PatchAction | undefined;
/**
* <p>Patch groups included in the patch baseline.</p>
* @public
*/
PatchGroups?: string[] | undefined;
/**
* <p>The date the patch baseline was created.</p>
* @public
*/
CreatedDate?: Date | undefined;
/**
* <p>The date the patch baseline was last modified.</p>
* @public
*/
ModifiedDate?: Date | undefined;
/**
* <p>A description of the patch baseline.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>Information about the patches to use to update the managed nodes, including target operating
* systems and source repositories. Applies to Linux managed nodes only.</p>
* @public
*/
Sources?: PatchSource[] | undefined;
/**
* <p>Indicates the compliance status of managed nodes for which security-related patches are
* available but were not approved. This preference is specified when the
* <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
* <p>Applies to Windows Server managed nodes only.</p>
* @public
*/
AvailableSecurityUpdatesComplianceStatus?: PatchComplianceStatus | undefined;
}
/**
* @public
*/
export interface GetPatchBaselineForPatchGroupRequest {
/**
* <p>The name of the patch group whose patch baseline should be retrieved.</p>
* @public
*/
PatchGroup: string | undefined;
/**
* <p>Returns the operating system rule specified for patch groups using the patch
* baseline. The default value is <code>WINDOWS</code>. </p>
* @public
*/
OperatingSystem?: OperatingSystem | undefined;
}
/**
* @public
*/
export interface GetPatchBaselineForPatchGroupResult {
/**
* <p>The ID of the patch baseline that should be used for the patch group.</p>
* @public
*/
BaselineId?: string | undefined;
/**
* <p>The name of the patch group.</p>
* @public
*/
PatchGroup?: string | undefined;
/**
* <p>The operating system rule specified for patch groups using the patch baseline.</p>
* @public
*/
OperatingSystem?: OperatingSystem | undefined;
}
/**
* @public
*/
export interface GetResourcePoliciesRequest {
/**
* <p>Amazon Resource Name (ARN) of the resource to which the policies are attached.</p>
* @public
*/
ResourceArn: string | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results.</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>A resource policy helps you to define the IAM entity (for example, an
* Amazon Web Services account) that can manage your Systems Manager resources. Currently, <code>OpsItemGroup</code> is the
* only resource that supports Systems Manager resource policies. The resource policy for
* <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational
* work items (OpsItems).</p>
* @public
*/
export interface GetResourcePoliciesResponseEntry {
/**
* <p>A policy ID.</p>
* @public
*/
PolicyId?: string | undefined;
/**
* <p>ID of the current policy version. The hash helps to prevent a situation where multiple users
* attempt to overwrite a policy. You must provide this hash when updating or deleting a
* policy.</p>
* @public
*/
PolicyHash?: string | undefined;
/**
* <p>A resource policy helps you to define the IAM entity (for example, an
* Amazon Web Services account) that can manage your Systems Manager resources. Currently, <code>OpsItemGroup</code> is the
* only resource that supports Systems Manager resource policies. The resource policy for
* <code>OpsItemGroup</code> enables Amazon Web Services accounts to view and interact with OpsCenter operational
* work items (OpsItems).</p>
* @public
*/
Policy?: string | undefined;
}
/**
* @public
*/
export interface GetResourcePoliciesResponse {
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>An array of the <code>Policy</code> object.</p>
* @public
*/
Policies?: GetResourcePoliciesResponseEntry[] | undefined;
}
/**
* <p>The request body of the GetServiceSetting API operation.</p>
* @public
*/
export interface GetServiceSettingRequest {
/**
* <p>The ID of the service setting to get. The setting ID can be one of the following.</p>
* <ul>
* <li>
* <p>
* <code>/ssm/appmanager/appmanager-enabled</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-destination</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-group-name</code>
* </p>
* </li>
* <li>
* <p>/ssm/automation/enable-adaptive-concurrency</p>
* </li>
* <li>
* <p>
* <code>/ssm/documents/console/public-sharing-permission</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/activation-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/default-ec2-instance-management-role</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/opsinsights/opscenter</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/default-parameter-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/high-throughput-enabled</code>
* </p>
* </li>
* </ul>
* @public
*/
SettingId: string | undefined;
}
/**
* <p>The service setting data structure.</p>
* <p>
* <code>ServiceSetting</code> is an account-level setting for an Amazon Web Services service. This setting
* defines how a user interacts with or uses a service or a feature of a service. For example, if an
* Amazon Web Services service charges money to the account based on feature or service usage, then the Amazon Web Services
* service team might create a default setting of "false". This means the user can't use this
* feature unless they change the setting to "true" and intentionally opt in for a paid
* feature.</p>
* <p>Services map a <code>SettingId</code> object to a setting value. Amazon Web Services services teams define
* the default value for a <code>SettingId</code>. You can't create a new <code>SettingId</code>,
* but you can overwrite the default value if you have the <code>ssm:UpdateServiceSetting</code>
* permission for the setting. Use the <a>UpdateServiceSetting</a> API operation to
* change the default setting. Or, use the <a>ResetServiceSetting</a> to change the value
* back to the original value defined by the Amazon Web Services service team.</p>
* @public
*/
export interface ServiceSetting {
/**
* <p>The ID of the service setting.</p>
* @public
*/
SettingId?: string | undefined;
/**
* <p>The value of the service setting.</p>
* @public
*/
SettingValue?: string | undefined;
/**
* <p>The last time the service setting was modified.</p>
* @public
*/
LastModifiedDate?: Date | undefined;
/**
* <p>The ARN of the last modified user. This field is populated only if the setting value was
* overwritten.</p>
* @public
*/
LastModifiedUser?: string | undefined;
/**
* <p>The ARN of the service setting.</p>
* @public
*/
ARN?: string | undefined;
/**
* <p>The status of the service setting. The value can be Default, Customized or
* PendingUpdate.</p>
* <ul>
* <li>
* <p>Default: The current setting uses a default value provisioned by the Amazon Web Services service
* team.</p>
* </li>
* <li>
* <p>Customized: The current setting use a custom value specified by the customer.</p>
* </li>
* <li>
* <p>PendingUpdate: The current setting uses a default or custom value, but a setting change
* request is pending approval.</p>
* </li>
* </ul>
* @public
*/
Status?: string | undefined;
}
/**
* <p>The query result body of the GetServiceSetting API operation.</p>
* @public
*/
export interface GetServiceSettingResult {
/**
* <p>The query result of the current service setting.</p>
* @public
*/
ServiceSetting?: ServiceSetting | undefined;
}
/**
* @public
*/
export interface LabelParameterVersionRequest {
/**
* <p>The parameter name on which you want to attach one or more labels.</p>
* <note>
* <p>You can't enter the Amazon Resource Name (ARN) for a parameter, only the parameter name
* itself.</p>
* </note>
* @public
*/
Name: string | undefined;
/**
* <p>The specific version of the parameter on which you want to attach one or more labels. If no
* version is specified, the system attaches the label to the latest version.</p>
* @public
*/
ParameterVersion?: number | undefined;
/**
* <p>One or more labels to attach to the specified parameter version.</p>
* @public
*/
Labels: string[] | undefined;
}
/**
* @public
*/
export interface LabelParameterVersionResult {
/**
* <p>The label doesn't meet the requirements. For information about parameter label requirements,
* see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-labels.html">Working with parameter
* labels</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
InvalidLabels?: string[] | undefined;
/**
* <p>The version of the parameter that has been labeled.</p>
* @public
*/
ParameterVersion?: number | undefined;
}
/**
* <p>Describes a filter.</p>
* @public
*/
export interface AssociationFilter {
/**
* <p>The name of the filter.</p>
* <note>
* <p>
* <code>InstanceId</code> has been deprecated.</p>
* </note>
* @public
*/
key: AssociationFilterKey | undefined;
/**
* <p>The filter value.</p>
* @public
*/
value: string | undefined;
}
/**
* @public
*/
export interface ListAssociationsRequest {
/**
* <p>One or more filters. Use a filter to return a more specific list of results.</p>
* <note>
* <p>Filtering associations using the <code>InstanceID</code> attribute only returns legacy
* associations created using the <code>InstanceID</code> attribute. Associations targeting the
* managed node that are part of the Target Attributes <code>ResourceGroup</code> or
* <code>Tags</code> aren't returned.</p>
* </note>
* @public
*/
AssociationFilterList?: AssociationFilter[] | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Describes an association of a Amazon Web Services Systems Manager document (SSM document) and a managed node.</p>
* @public
*/
export interface Association {
/**
* <p>The name of the SSM document.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The managed node ID.</p>
* @public
*/
InstanceId?: string | undefined;
/**
* <p>The ID created by the system when you create an association. An association is a binding
* between a document and a set of targets with a schedule.</p>
* @public
*/
AssociationId?: string | undefined;
/**
* <p>The association version.</p>
* @public
*/
AssociationVersion?: string | undefined;
/**
* <p>The version of the document used in the association. If you change a document version for a
* State Manager association, Systems Manager immediately runs the association unless you previously specifed
* the <code>apply-only-at-cron-interval</code> parameter.</p>
* <important>
* <p>State Manager doesn't support running associations that use a new version of a document if
* that document is shared from another account. State Manager always runs the <code>default</code>
* version of a document if shared from another account, even though the Systems Manager console shows that a
* new version was processed. If you want to run an association using a new version of a document
* shared form another account, you must set the document version to <code>default</code>.</p>
* </important>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The managed nodes targeted by the request to create an association. You can target all
* managed nodes in an Amazon Web Services account by specifying the <code>InstanceIds</code> key with a value of
* <code>*</code>.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The date on which the association was last run.</p>
* @public
*/
LastExecutionDate?: Date | undefined;
/**
* <p>Information about the association.</p>
* @public
*/
Overview?: AssociationOverview | undefined;
/**
* <p>A cron expression that specifies a schedule when the association runs. The schedule runs in
* Coordinated Universal Time (UTC).</p>
* @public
*/
ScheduleExpression?: string | undefined;
/**
* <p>The association name.</p>
* @public
*/
AssociationName?: string | undefined;
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
* @public
*/
ScheduleOffset?: number | undefined;
/**
* <p>The number of hours that an association can run on specified targets. After the resulting
* cutoff time passes, associations that are currently running are cancelled, and no pending
* executions are started on remaining targets.</p>
* @public
*/
Duration?: number | undefined;
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps
* can't be specified together.</p>
* @public
*/
TargetMaps?: Record<string, string[]>[] | undefined;
}
/**
* @public
*/
export interface ListAssociationsResult {
/**
* <p>The associations.</p>
* @public
*/
Associations?: Association[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListAssociationVersionsRequest {
/**
* <p>The association ID for which you want to view all versions.</p>
* @public
*/
AssociationId: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Information about the association version.</p>
* @public
*/
export interface AssociationVersionInfo {
/**
* <p>The ID created by the system when the association was created.</p>
* @public
*/
AssociationId?: string | undefined;
/**
* <p>The association version.</p>
* @public
*/
AssociationVersion?: string | undefined;
/**
* <p>The date the association version was created.</p>
* @public
*/
CreatedDate?: Date | undefined;
/**
* <p>The name specified when the association was created.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The version of an Amazon Web Services Systems Manager document (SSM document) used when the association version was
* created.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>Parameters specified when the association version was created.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>The targets specified for the association when the association version was created. </p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The cron or rate schedule specified for the association when the association version was
* created.</p>
* @public
*/
ScheduleExpression?: string | undefined;
/**
* <p>The location in Amazon S3 specified for the association when the association version
* was created.</p>
* @public
*/
OutputLocation?: InstanceAssociationOutputLocation | undefined;
/**
* <p>The name specified for the association version when the association version was
* created.</p>
* @public
*/
AssociationName?: string | undefined;
/**
* <p>The number of errors that are allowed before the system stops sending requests to run the
* association on additional targets. You can specify either an absolute number of errors, for
* example 10, or a percentage of the target set, for example 10%. If you specify 3, for example,
* the system stops sending requests when the fourth error is received. If you specify 0, then the
* system stops sending requests after the first error is returned. If you run an association on 50
* managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request
* when the sixth error is received.</p>
* <p>Executions that are already running an association when <code>MaxErrors</code> is reached
* are allowed to complete, but some of these executions may fail as well. If you need to ensure
* that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1
* so that executions proceed one at a time.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The maximum number of targets allowed to run the association at the same time. You can
* specify a number, for example 10, or a percentage of the target set, for example 10%. The default
* value is 100%, which means all targets run the association at the same time.</p>
* <p>If a new managed node starts and attempts to run an association while Systems Manager is running
* <code>MaxConcurrency</code> associations, the association is allowed to run. During the next
* association interval, the new managed node will process its association within the limit
* specified for <code>MaxConcurrency</code>.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The severity level that is assigned to the association.</p>
* @public
*/
ComplianceSeverity?: AssociationComplianceSeverity | undefined;
/**
* <p>The mode for generating association compliance. You can specify <code>AUTO</code> or
* <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association
* execution to determine the compliance status. If the association execution runs successfully,
* then the association is <code>COMPLIANT</code>. If the association execution doesn't run
* successfully, the association is <code>NON-COMPLIANT</code>.</p>
* <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter
* for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
* managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p>
* <p>By default, all associations use <code>AUTO</code> mode.</p>
* @public
*/
SyncCompliance?: AssociationSyncCompliance | undefined;
/**
* <p>By default, when you create new associations, the system runs it immediately after it is
* created and then according to the schedule you specified. Specify this option if you don't want
* an association to run immediately after you create it. This parameter isn't supported for rate
* expressions.</p>
* @public
*/
ApplyOnlyAtCronInterval?: boolean | undefined;
/**
* <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents your
* associations are gated under. The associations for this version only run when that Change
* Calendar is open. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change
* Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
CalendarNames?: string[] | undefined;
/**
* <p>The combination of Amazon Web Services Regions and Amazon Web Services accounts where you wanted to run the association
* when this association version was created.</p>
* @public
*/
TargetLocations?: TargetLocation[] | undefined;
/**
* <p>Number of days to wait after the scheduled day to run an association.</p>
* @public
*/
ScheduleOffset?: number | undefined;
/**
* <p>The number of hours that an association can run on specified targets. After the resulting
* cutoff time passes, associations that are currently running are cancelled, and no pending
* executions are started on remaining targets.</p>
* @public
*/
Duration?: number | undefined;
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps
* can't be specified together.</p>
* @public
*/
TargetMaps?: Record<string, string[]>[] | undefined;
/**
* <p>A role used by association to take actions on your behalf.
* State Manager will assume this role and call required APIs when dispatching
* configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html">
* service-linked role for Systems Manager</a> will be used by default.
* </p>
* @public
*/
AssociationDispatchAssumeRole?: string | undefined;
}
/**
* @public
*/
export interface ListAssociationVersionsResult {
/**
* <p>Information about all versions of the association for the specified association ID.</p>
* @public
*/
AssociationVersions?: AssociationVersionInfo[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>A filter for listing cloud connectors.</p>
* @public
*/
export interface CloudConnectorFilter {
/**
* <p>The name of the filter key.</p>
* @public
*/
FilterKey?: CloudConnectorFilterKey | undefined;
/**
* <p>The filter values. Valid values for each filter key are as follows:</p>
* <dl>
* <dt>SubscriptionId</dt>
* <dd>
* <p>The Azure subscription ID to filter by. To return only tenant-level connectors,
* specify <code>NONE</code>.</p>
* </dd>
* <dt>TenantId</dt>
* <dd>
* <p>The Azure tenant ID to filter by. Filters the results to connectors
* that target the specified tenant.</p>
* </dd>
* </dl>
* @public
*/
FilterValues?: string[] | undefined;
}
/**
* @public
*/
export interface ListCloudConnectorsRequest {
/**
* <p>The maximum number of items to return for this call.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>One or more filters to limit the cloud connectors returned in the response.</p>
* @public
*/
Filters?: CloudConnectorFilter[] | undefined;
}
/**
* <p>Summary information about a cloud connector.</p>
* @public
*/
export interface CloudConnectorSummary {
/**
* <p>The ID of the cloud connector.</p>
* @public
*/
CloudConnectorId?: string | undefined;
/**
* <p>The friendly name of the cloud connector.</p>
* @public
*/
DisplayName?: string | undefined;
/**
* <p>The description of the cloud connector.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>The ARN of the IAM role used by the cloud connector.</p>
* @public
*/
RoleArn?: string | undefined;
/**
* <p>The date and time the cloud connector was created.</p>
* @public
*/
CreatedAt?: Date | undefined;
/**
* <p>The date and time the cloud connector was last updated.</p>
* @public
*/
UpdatedAt?: Date | undefined;
}
/**
* @public
*/
export interface ListCloudConnectorsResult {
/**
* <p>A list of cloud connector summary objects.</p>
* @public
*/
CloudConnectors?: CloudConnectorSummary[] | undefined;
/**
* <p>The token to use when requesting the next set of items.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Describes a command filter.</p>
* <note>
* <p>A managed node ID can't be specified when a command status is <code>Pending</code> because
* the command hasn't run on the node yet.</p>
* </note>
* @public
*/
export interface CommandFilter {
/**
* <p>The name of the filter.</p>
* <note>
* <p>The <code>ExecutionStage</code> filter can't be used with the
* <code>ListCommandInvocations</code> operation, only with <code>ListCommands</code>.</p>
* </note>
* @public
*/
key: CommandFilterKey | undefined;
/**
* <p>The filter value. Valid values for each filter key are as follows:</p>
* <ul>
* <li>
* <p>
* <b>InvokedAfter</b>: Specify a timestamp to limit your results.
* For example, specify <code>2024-07-07T00:00:00Z</code> to see a list of command executions
* occurring July 7, 2021, and later.</p>
* </li>
* <li>
* <p>
* <b>InvokedBefore</b>: Specify a timestamp to limit your results.
* For example, specify <code>2024-07-07T00:00:00Z</code> to see a list of command executions from
* before July 7, 2021.</p>
* </li>
* <li>
* <p>
* <b>Status</b>: Specify a valid command status to see a list of
* all command executions with that status. The status choices depend on the API you call.</p>
* <p>The status values you can specify for <code>ListCommands</code> are:</p>
* <ul>
* <li>
* <p>
* <code>Pending</code>
* </p>
* </li>
* <li>
* <p>
* <code>InProgress</code>
* </p>
* </li>
* <li>
* <p>
* <code>Success</code>
* </p>
* </li>
* <li>
* <p>
* <code>Cancelled</code>
* </p>
* </li>
* <li>
* <p>
* <code>Failed</code>
* </p>
* </li>
* <li>
* <p>
* <code>TimedOut</code> (this includes both Delivery and Execution time outs) </p>
* </li>
* <li>
* <p>
* <code>AccessDenied</code>
* </p>
* </li>
* <li>
* <p>
* <code>DeliveryTimedOut</code>
* </p>
* </li>
* <li>
* <p>
* <code>ExecutionTimedOut</code>
* </p>
* </li>
* <li>
* <p>
* <code>Incomplete</code>
* </p>
* </li>
* <li>
* <p>
* <code>NoInstancesInTag</code>
* </p>
* </li>
* <li>
* <p>
* <code>LimitExceeded</code>
* </p>
* </li>
* </ul>
* <p>The status values you can specify for <code>ListCommandInvocations</code> are:</p>
* <ul>
* <li>
* <p>
* <code>Pending</code>
* </p>
* </li>
* <li>
* <p>
* <code>InProgress</code>
* </p>
* </li>
* <li>
* <p>
* <code>Delayed</code>
* </p>
* </li>
* <li>
* <p>
* <code>Success</code>
* </p>
* </li>
* <li>
* <p>
* <code>Cancelled</code>
* </p>
* </li>
* <li>
* <p>
* <code>Failed</code>
* </p>
* </li>
* <li>
* <p>
* <code>TimedOut</code> (this includes both Delivery and Execution time outs) </p>
* </li>
* <li>
* <p>
* <code>AccessDenied</code>
* </p>
* </li>
* <li>
* <p>
* <code>DeliveryTimedOut</code>
* </p>
* </li>
* <li>
* <p>
* <code>ExecutionTimedOut</code>
* </p>
* </li>
* <li>
* <p>
* <code>Undeliverable</code>
* </p>
* </li>
* <li>
* <p>
* <code>InvalidPlatform</code>
* </p>
* </li>
* <li>
* <p>
* <code>Terminated</code>
* </p>
* </li>
* </ul>
* </li>
* <li>
* <p>
* <b>DocumentName</b>: Specify name of the Amazon Web Services Systems Manager document (SSM
* document) for which you want to see command execution results. For example, specify
* <code>AWS-RunPatchBaseline</code> to see command executions that used this SSM document to
* perform security patching operations on managed nodes. </p>
* </li>
* <li>
* <p>
* <b>ExecutionStage</b>: Specify one of the following values
* (<code>ListCommands</code> operations only):</p>
* <ul>
* <li>
* <p>
* <code>Executing</code>: Returns a list of command executions that are currently still
* running.</p>
* </li>
* <li>
* <p>
* <code>Complete</code>: Returns a list of command executions that have already completed.
* </p>
* </li>
* </ul>
* </li>
* </ul>
* @public
*/
value: string | undefined;
}
/**
* @public
*/
export interface ListCommandInvocationsRequest {
/**
* <p>(Optional) The invocations for a specific command ID.</p>
* @public
*/
CommandId?: string | undefined;
/**
* <p>(Optional) The command execution details for a specific managed node ID.</p>
* @public
*/
InstanceId?: string | undefined;
/**
* <p>(Optional) The maximum number of items to return for this call. The call also returns a
* token that you can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>(Optional) The token for the next set of items to return. (You received this token from a
* previous call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>(Optional) One or more filters. Use a filter to return a more specific list of
* results.</p>
* @public
*/
Filters?: CommandFilter[] | undefined;
/**
* <p>(Optional) If set this returns the response of the command executions and any command
* output. The default value is <code>false</code>. </p>
* @public
*/
Details?: boolean | undefined;
}
/**
* <p>Describes plugin details.</p>
* @public
*/
export interface CommandPlugin {
/**
* <p>The name of the plugin. Must be one of the following: <code>aws:updateAgent</code>,
* <code>aws:domainjoin</code>, <code>aws:applications</code>,
* <code>aws:runPowerShellScript</code>, <code>aws:psmodule</code>, <code>aws:cloudWatch</code>,
* <code>aws:runShellScript</code>, or <code>aws:updateSSMAgent</code>. </p>
* @public
*/
Name?: string | undefined;
/**
* <p>The status of this plugin. You can run a document with multiple plugins.</p>
* @public
*/
Status?: CommandPluginStatus | undefined;
/**
* <p>A detailed status of the plugin execution. <code>StatusDetails</code> includes more
* information than Status because it includes states resulting from error and concurrency control
* parameters. StatusDetails can show different results than Status. For more information about
* these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command
* statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the
* following values:</p>
* <ul>
* <li>
* <p>Pending: The command hasn't been sent to the managed node.</p>
* </li>
* <li>
* <p>In Progress: The command has been sent to the managed node but hasn't reached a terminal
* state.</p>
* </li>
* <li>
* <p>Success: The execution of the command or plugin was successfully completed. This is a
* terminal state.</p>
* </li>
* <li>
* <p>Delivery Timed Out: The command wasn't delivered to the managed node before the delivery
* timeout expired. Delivery timeouts don't count against the parent command's
* <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is
* Success or Incomplete. This is a terminal state.</p>
* </li>
* <li>
* <p>Execution Timed Out: Command execution started on the managed node, but the execution
* wasn't complete before the execution timeout expired. Execution timeouts count against the
* <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p>
* </li>
* <li>
* <p>Failed: The command wasn't successful on the managed node. For a plugin, this indicates
* that the result code wasn't zero. For a command invocation, this indicates that the result code
* for one or more plugins wasn't zero. Invocation failures count against the MaxErrors limit of
* the parent command. This is a terminal state.</p>
* </li>
* <li>
* <p>Cancelled: The command was terminated before it was completed. This is a terminal
* state.</p>
* </li>
* <li>
* <p>Undeliverable: The command can't be delivered to the managed node. The managed node might
* not exist, or it might not be responding. Undeliverable invocations don't count against the
* parent command's MaxErrors limit, and they don't contribute to whether the parent command
* status is Success or Incomplete. This is a terminal state.</p>
* </li>
* <li>
* <p>Terminated: The parent command exceeded its MaxErrors limit and subsequent command
* invocations were canceled by the system. This is a terminal state.</p>
* </li>
* </ul>
* @public
*/
StatusDetails?: string | undefined;
/**
* <p>A numeric response code generated after running the plugin. </p>
* @public
*/
ResponseCode?: number | undefined;
/**
* <p>The time the plugin started running. </p>
* @public
*/
ResponseStartDateTime?: Date | undefined;
/**
* <p>The time the plugin stopped running. Could stop prematurely if, for example, a cancel
* command was sent. </p>
* @public
*/
ResponseFinishDateTime?: Date | undefined;
/**
* <p>Output of the plugin execution.</p>
* @public
*/
Output?: string | undefined;
/**
* <p>The URL for the complete text written by the plugin to stdout in Amazon S3. If the
* S3 bucket for the command wasn't specified, then this string is empty.</p>
* @public
*/
StandardOutputUrl?: string | undefined;
/**
* <p>The URL for the complete text written by the plugin to stderr. If execution isn't yet
* complete, then this string is empty.</p>
* @public
*/
StandardErrorUrl?: string | undefined;
/**
* <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead,
* Amazon Web Services Systems Manager automatically determines the S3 bucket region.</p>
* @public
*/
OutputS3Region?: string | undefined;
/**
* <p>The S3 bucket where the responses to the command executions should be stored. This was
* requested when issuing the command. For example, in the following response:</p>
* <p>
* <code>amzn-s3-demo-bucket/my-prefix/i-02573cafcfEXAMPLE/awsrunShellScript</code>
* </p>
* <p>
* <code>amzn-s3-demo-bucket</code> is the name of the S3 bucket;</p>
* <p>
* <code>my-prefix</code> is the name of the S3 prefix;</p>
* <p>
* <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p>
* <p>
* <code>awsrunShellScript</code> is the name of the plugin.</p>
* @public
*/
OutputS3BucketName?: string | undefined;
/**
* <p>The S3 directory path inside the bucket where the responses to the command executions should
* be stored. This was requested when issuing the command. For example, in the following
* response:</p>
* <p>
* <code>amzn-s3-demo-bucket/my-prefix/i-02573cafcfEXAMPLE/awsrunShellScript</code>
* </p>
* <p>
* <code>amzn-s3-demo-bucket</code> is the name of the S3 bucket;</p>
* <p>
* <code>my-prefix</code> is the name of the S3 prefix;</p>
* <p>
* <code>i-02573cafcfEXAMPLE</code> is the managed node ID;</p>
* <p>
* <code>awsrunShellScript</code> is the name of the plugin.</p>
* @public
*/
OutputS3KeyPrefix?: string | undefined;
}
/**
* <p>An invocation is a copy of a command sent to a specific managed node. A command can apply to
* one or more managed nodes. A command invocation applies to one managed node. For example, if a
* user runs <code>SendCommand</code> against three managed nodes, then a command invocation is
* created for each requested managed node ID. A command invocation returns status and detail
* information about a command you ran. </p>
* @public
*/
export interface CommandInvocation {
/**
* <p>The command against which this invocation was requested.</p>
* @public
*/
CommandId?: string | undefined;
/**
* <p>The managed node ID in which this invocation was requested.</p>
* @public
*/
InstanceId?: string | undefined;
/**
* <p>The fully qualified host name of the managed node.</p>
* @public
*/
InstanceName?: string | undefined;
/**
* <p>User-specified information about the command, such as a brief description of what the
* command should do.</p>
* @public
*/
Comment?: string | undefined;
/**
* <p>The document name that was requested for execution.</p>
* @public
*/
DocumentName?: string | undefined;
/**
* <p>The Systems Manager document (SSM document) version.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The time and date the request was sent to this managed node.</p>
* @public
*/
RequestedDateTime?: Date | undefined;
/**
* <p>Whether or not the invocation succeeded, failed, or is pending.</p>
* @public
*/
Status?: CommandInvocationStatus | undefined;
/**
* <p>A detailed status of the command execution for each invocation (each managed node targeted
* by the command). StatusDetails includes more information than Status because it includes states
* resulting from error and concurrency control parameters. StatusDetails can show different results
* than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command
* statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the
* following values:</p>
* <ul>
* <li>
* <p>Pending: The command hasn't been sent to the managed node.</p>
* </li>
* <li>
* <p>In Progress: The command has been sent to the managed node but hasn't reached a terminal
* state.</p>
* </li>
* <li>
* <p>Success: The execution of the command or plugin was successfully completed. This is a
* terminal state.</p>
* </li>
* <li>
* <p>Delivery Timed Out: The command wasn't delivered to the managed node before the delivery
* timeout expired. Delivery timeouts don't count against the parent command's
* <code>MaxErrors</code> limit, but they do contribute to whether the parent command status is
* Success or Incomplete. This is a terminal state.</p>
* </li>
* <li>
* <p>Execution Timed Out: Command execution started on the managed node, but the execution
* wasn't complete before the execution timeout expired. Execution timeouts count against the
* <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p>
* </li>
* <li>
* <p>Failed: The command wasn't successful on the managed node. For a plugin, this indicates
* that the result code wasn't zero. For a command invocation, this indicates that the result code
* for one or more plugins wasn't zero. Invocation failures count against the
* <code>MaxErrors</code> limit of the parent command. This is a terminal state.</p>
* </li>
* <li>
* <p>Cancelled: The command was terminated before it was completed. This is a terminal
* state.</p>
* </li>
* <li>
* <p>Undeliverable: The command can't be delivered to the managed node. The managed node might
* not exist or might not be responding. Undeliverable invocations don't count against the parent
* command's MaxErrors limit and don't contribute to whether the parent command status is Success
* or Incomplete. This is a terminal state.</p>
* </li>
* <li>
* <p>Terminated: The parent command exceeded its MaxErrors limit and subsequent command
* invocations were canceled by the system. This is a terminal state.</p>
* </li>
* <li>
* <p>Delayed: The system attempted to send the command to the managed node but wasn't
* successful. The system retries again.</p>
* </li>
* </ul>
* @public
*/
StatusDetails?: string | undefined;
/**
* <p> Gets the trace output sent by the agent. </p>
* @public
*/
TraceOutput?: string | undefined;
/**
* <p>The URL to the plugin's StdOut file in Amazon Simple Storage Service (Amazon S3), if the S3
* bucket was defined for the parent command. For an invocation, <code>StandardOutputUrl</code> is
* populated if there is just one plugin defined for the command, and the S3 bucket was defined for
* the command.</p>
* @public
*/
StandardOutputUrl?: string | undefined;
/**
* <p>The URL to the plugin's StdErr file in Amazon Simple Storage Service (Amazon S3), if the S3
* bucket was defined for the parent command. For an invocation, <code>StandardErrorUrl</code> is
* populated if there is just one plugin defined for the command, and the S3 bucket was defined for
* the command.</p>
* @public
*/
StandardErrorUrl?: string | undefined;
/**
* <p>Plugins processed by the command.</p>
* @public
*/
CommandPlugins?: CommandPlugin[] | undefined;
/**
* <p>The Identity and Access Management (IAM) service role that Run Command, a tool in
* Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes on
* a per managed node basis.</p>
* @public
*/
ServiceRole?: string | undefined;
/**
* <p>Configurations for sending notifications about command status changes on a per managed node
* basis.</p>
* @public
*/
NotificationConfig?: NotificationConfig | undefined;
/**
* <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command
* output.</p>
* @public
*/
CloudWatchOutputConfig?: CloudWatchOutputConfig | undefined;
}
/**
* @public
*/
export interface ListCommandInvocationsResult {
/**
* <p>(Optional) A list of all invocations. </p>
* @public
*/
CommandInvocations?: CommandInvocation[] | undefined;
/**
* <p>(Optional) The token for the next set of items to return. (You received this token from a
* previous call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListCommandsRequest {
/**
* <p>(Optional) If provided, lists only the specified command.</p>
* @public
*/
CommandId?: string | undefined;
/**
* <p>(Optional) Lists commands issued against this managed node ID.</p>
* <note>
* <p>You can't specify a managed node ID in the same command that you specify
* <code>Status</code> = <code>Pending</code>. This is because the command hasn't reached the
* managed node yet.</p>
* </note>
* @public
*/
InstanceId?: string | undefined;
/**
* <p>(Optional) The maximum number of items to return for this call. The call also returns a
* token that you can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>(Optional) The token for the next set of items to return. (You received this token from a
* previous call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>(Optional) One or more filters. Use a filter to return a more specific list of results.
* </p>
* @public
*/
Filters?: CommandFilter[] | undefined;
}
/**
* <p>Describes a command request.</p>
* @public
*/
export interface Command {
/**
* <p>A unique identifier for this command.</p>
* @public
*/
CommandId?: string | undefined;
/**
* <p>The name of the document requested for execution.</p>
* @public
*/
DocumentName?: string | undefined;
/**
* <p>The Systems Manager document (SSM document) version.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>User-specified information about the command, such as a brief description of what the
* command should do.</p>
* @public
*/
Comment?: string | undefined;
/**
* <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations
* that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>.
* <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For
* more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ExpiresAfter?: Date | undefined;
/**
* <p>The parameter values to be inserted in the document when running the command.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>The managed node IDs against which this command was requested.</p>
* @public
*/
InstanceIds?: string[] | undefined;
/**
* <p>An array of search criteria that targets managed nodes using a Key,Value combination that
* you specify. Targets is required if you don't provide one or more managed node IDs in the
* call.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The date and time the command was requested.</p>
* @public
*/
RequestedDateTime?: Date | undefined;
/**
* <p>The status of the command.</p>
* @public
*/
Status?: CommandStatus | undefined;
/**
* <p>A detailed status of the command execution. <code>StatusDetails</code> includes more
* information than <code>Status</code> because it includes states resulting from error and
* concurrency control parameters. <code>StatusDetails</code> can show different results than
* Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command
* statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the
* following values:</p>
* <ul>
* <li>
* <p>Pending: The command hasn't been sent to any managed nodes.</p>
* </li>
* <li>
* <p>In Progress: The command has been sent to at least one managed node but hasn't reached a
* final state on all managed nodes.</p>
* </li>
* <li>
* <p>Success: The command successfully ran on all invocations. This is a terminal state.</p>
* </li>
* <li>
* <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of
* Delivery Timed Out. This is a terminal state.</p>
* </li>
* <li>
* <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of
* Execution Timed Out. This is a terminal state.</p>
* </li>
* <li>
* <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This
* is a terminal state.</p>
* </li>
* <li>
* <p>Incomplete: The command was attempted on all managed nodes and one or more invocations
* doesn't have a value of Success but not enough invocations failed for the status to be Failed.
* This is a terminal state.</p>
* </li>
* <li>
* <p>Cancelled: The command was terminated before it was completed. This is a terminal
* state.</p>
* </li>
* <li>
* <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account
* limit for pending invocations. The system has canceled the command before running it on any
* managed node. This is a terminal state.</p>
* </li>
* <li>
* <p>Delayed: The system attempted to send the command to the managed node but wasn't
* successful. The system retries again.</p>
* </li>
* </ul>
* @public
*/
StatusDetails?: string | undefined;
/**
* <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager
* automatically determines the Amazon Web Services Region of the S3 bucket.</p>
* @public
*/
OutputS3Region?: string | undefined;
/**
* <p>The S3 bucket where the responses to the command executions should be stored. This was
* requested when issuing the command.</p>
* @public
*/
OutputS3BucketName?: string | undefined;
/**
* <p>The S3 directory path inside the bucket where the responses to the command executions should
* be stored. This was requested when issuing the command.</p>
* @public
*/
OutputS3KeyPrefix?: string | undefined;
/**
* <p>The maximum number of managed nodes that are allowed to run the command at the same time.
* You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The
* default value is 50. For more information about how to use <code>MaxConcurrency</code>, see
* <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager
* Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The maximum number of errors allowed before the system stops sending the command to
* additional targets. You can specify a number of errors, such as 10, or a percentage or errors,
* such as 10%. The default value is <code>0</code>. For more information about how to use
* <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The number of targets for the command.</p>
* @public
*/
TargetCount?: number | undefined;
/**
* <p>The number of targets for which the command invocation reached a terminal state. Terminal
* states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out,
* Cancelled, Terminated, or Undeliverable.</p>
* @public
*/
CompletedCount?: number | undefined;
/**
* <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
* @public
*/
ErrorCount?: number | undefined;
/**
* <p>The number of targets for which the status is Delivery Timed Out.</p>
* @public
*/
DeliveryTimedOutCount?: number | undefined;
/**
* <p>The Identity and Access Management (IAM) service role that Run Command, a tool in
* Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.
* </p>
* @public
*/
ServiceRole?: string | undefined;
/**
* <p>Configurations for sending notifications about command status changes. </p>
* @public
*/
NotificationConfig?: NotificationConfig | undefined;
/**
* <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command
* output.</p>
* @public
*/
CloudWatchOutputConfig?: CloudWatchOutputConfig | undefined;
/**
* <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
* @public
*/
TimeoutSeconds?: number | undefined;
/**
* <p>The details for the CloudWatch alarm applied to your command.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
/**
* <p>The CloudWatch alarm that was invoked by the command.</p>
* @public
*/
TriggeredAlarms?: AlarmStateInformation[] | undefined;
}
/**
* @public
*/
export interface ListCommandsResult {
/**
* <p>(Optional) The list of commands requested by the user. </p>
* @public
*/
Commands?: Command[] | undefined;
/**
* <p>(Optional) The token for the next set of items to return. (You received this token from a
* previous call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>One or more filters. Use a filter to return a more specific list of results.</p>
* @public
*/
export interface ComplianceStringFilter {
/**
* <p>The name of the filter.</p>
* @public
*/
Key?: string | undefined;
/**
* <p>The value for which to search.</p>
* @public
*/
Values?: string[] | undefined;
/**
* <p>The type of comparison that should be performed for the value: Equal, NotEqual, BeginWith,
* LessThan, or GreaterThan.</p>
* @public
*/
Type?: ComplianceQueryOperatorType | undefined;
}
/**
* @public
*/
export interface ListComplianceItemsRequest {
/**
* <p>One or more compliance filters. Use a filter to return a more specific list of
* results.</p>
* @public
*/
Filters?: ComplianceStringFilter[] | undefined;
/**
* <p>The ID for the resources from which to get compliance information. Currently, you can only
* specify one resource ID.</p>
* @public
*/
ResourceIds?: string[] | undefined;
/**
* <p>The type of resource from which to get compliance information. Currently, the only supported
* resource type is <code>ManagedInstance</code>.</p>
* @public
*/
ResourceTypes?: string[] | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>A summary of the call execution that includes an execution ID, the type of execution (for
* example, <code>Command</code>), and the date/time of the execution using a datetime object that
* is saved in the following format: <code>yyyy-MM-dd'T'HH:mm:ss'Z'</code>
* </p>
* @public
*/
export interface ComplianceExecutionSummary {
/**
* <p>The time the execution ran as a datetime object that is saved in the following format:
* <code>yyyy-MM-dd'T'HH:mm:ss'Z'</code>
* </p>
* <important>
* <p>For State Manager associations, this timestamp represents when the compliance status was
* captured and reported by the Systems Manager service, not when the underlying association was actually
* executed on the managed node. To track actual association execution times, use the <a>DescribeAssociationExecutionTargets</a> command or check the association execution
* history in the Systems Manager console.</p>
* </important>
* @public
*/
ExecutionTime: Date | undefined;
/**
* <p>An ID created by the system when <code>PutComplianceItems</code> was called. For example,
* <code>CommandID</code> is a valid execution ID. You can use this ID in subsequent calls.</p>
* @public
*/
ExecutionId?: string | undefined;
/**
* <p>The type of execution. For example, <code>Command</code> is a valid execution type.</p>
* @public
*/
ExecutionType?: string | undefined;
}
/**
* <p>Information about the compliance as defined by the resource type. For example, for a patch
* resource type, <code>Items</code> includes information about the PatchSeverity, Classification,
* and so on.</p>
* @public
*/
export interface ComplianceItem {
/**
* <p>The compliance type. For example, Association (for a State Manager association), Patch, or
* Custom:<code>string</code> are all valid compliance types.</p>
* @public
*/
ComplianceType?: string | undefined;
/**
* <p>The type of resource. <code>ManagedInstance</code> is currently the only supported resource
* type.</p>
* @public
*/
ResourceType?: string | undefined;
/**
* <p>An ID for the resource. For a managed node, this is the node ID.</p>
* @public
*/
ResourceId?: string | undefined;
/**
* <p>An ID for the compliance item. For example, if the compliance item is a Windows patch, the
* ID could be the number of the KB article; for example: KB4010320.</p>
* @public
*/
Id?: string | undefined;
/**
* <p>A title for the compliance item. For example, if the compliance item is a Windows patch, the
* title could be the title of the KB article for the patch; for example: Security Update for Active
* Directory Federation Services.</p>
* @public
*/
Title?: string | undefined;
/**
* <p>The status of the compliance item. An item is either COMPLIANT, NON_COMPLIANT, or an empty
* string (for Windows patches that aren't applicable).</p>
* @public
*/
Status?: ComplianceStatus | undefined;
/**
* <p>The severity of the compliance status. Severity can be one of the following: Critical, High,
* Medium, Low, Informational, Unspecified.</p>
* @public
*/
Severity?: ComplianceSeverity | undefined;
/**
* <p>A summary for the compliance item. The summary includes an execution ID, the execution type
* (for example, command), and the execution time.</p>
* <important>
* <p>For State Manager associations, the <code>ExecutionTime</code> value represents when the
* compliance status was captured and aggregated by the Systems Manager service, not necessarily when the
* underlying association was executed on the managed node. State Manager updates compliance status
* for all associations on an instance whenever any association executes, which means multiple
* associations may show the same execution time even if they were executed at different
* times.</p>
* </important>
* @public
*/
ExecutionSummary?: ComplianceExecutionSummary | undefined;
/**
* <p>A "Key": "Value" tag combination for the compliance item.</p>
* @public
*/
Details?: Record<string, string> | undefined;
}
/**
* @public
*/
export interface ListComplianceItemsResult {
/**
* <p>A list of compliance information for the specified resource ID. </p>
* @public
*/
ComplianceItems?: ComplianceItem[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListComplianceSummariesRequest {
/**
* <p>One or more compliance or inventory filters. Use a filter to return a more specific list of
* results.</p>
* @public
*/
Filters?: ComplianceStringFilter[] | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. Currently, you can specify null or 50.
* The call also returns a token that you can specify in a subsequent call to get the next set of
* results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>The number of managed nodes found for each patch severity level defined in the request
* filter.</p>
* @public
*/
export interface SeveritySummary {
/**
* <p>The total number of resources or compliance items that have a severity level of
* <code>Critical</code>. Critical severity is determined by the organization that published the
* compliance items.</p>
* @public
*/
CriticalCount?: number | undefined;
/**
* <p>The total number of resources or compliance items that have a severity level of high. High
* severity is determined by the organization that published the compliance items.</p>
* @public
*/
HighCount?: number | undefined;
/**
* <p>The total number of resources or compliance items that have a severity level of medium.
* Medium severity is determined by the organization that published the compliance items.</p>
* @public
*/
MediumCount?: number | undefined;
/**
* <p>The total number of resources or compliance items that have a severity level of low. Low
* severity is determined by the organization that published the compliance items.</p>
* @public
*/
LowCount?: number | undefined;
/**
* <p>The total number of resources or compliance items that have a severity level of
* informational. Informational severity is determined by the organization that published the
* compliance items.</p>
* @public
*/
InformationalCount?: number | undefined;
/**
* <p>The total number of resources or compliance items that have a severity level of unspecified.
* Unspecified severity is determined by the organization that published the compliance
* items.</p>
* @public
*/
UnspecifiedCount?: number | undefined;
}
/**
* <p>A summary of resources that are compliant. The summary is organized according to the
* resource count for each compliance type.</p>
* @public
*/
export interface CompliantSummary {
/**
* <p>The total number of resources that are compliant.</p>
* @public
*/
CompliantCount?: number | undefined;
/**
* <p>A summary of the compliance severity by compliance type.</p>
* @public
*/
SeveritySummary?: SeveritySummary | undefined;
}
/**
* <p>A summary of resources that aren't compliant. The summary is organized according to resource
* type.</p>
* @public
*/
export interface NonCompliantSummary {
/**
* <p>The total number of compliance items that aren't compliant.</p>
* @public
*/
NonCompliantCount?: number | undefined;
/**
* <p>A summary of the non-compliance severity by compliance type</p>
* @public
*/
SeveritySummary?: SeveritySummary | undefined;
}
/**
* <p>A summary of compliance information by compliance type.</p>
* @public
*/
export interface ComplianceSummaryItem {
/**
* <p>The type of compliance item. For example, the compliance type can be Association, Patch, or
* Custom:string.</p>
* @public
*/
ComplianceType?: string | undefined;
/**
* <p>A list of COMPLIANT items for the specified compliance type.</p>
* @public
*/
CompliantSummary?: CompliantSummary | undefined;
/**
* <p>A list of NON_COMPLIANT items for the specified compliance type.</p>
* @public
*/
NonCompliantSummary?: NonCompliantSummary | undefined;
}
/**
* @public
*/
export interface ListComplianceSummariesResult {
/**
* <p>A list of compliant and non-compliant summary counts based on compliance types. For example,
* this call returns State Manager associations, patches, or custom compliance types according to
* the filter criteria that you specified.</p>
* @public
*/
ComplianceSummaryItems?: ComplianceSummaryItem[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDocumentMetadataHistoryRequest {
/**
* <p>The name of the change template.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The version of the change template.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The type of data for which details are being requested. Currently, the only supported value
* is <code>DocumentReviews</code>.</p>
* @public
*/
Metadata: DocumentMetadataEnum | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>Information about comments added to a document review request.</p>
* @public
*/
export interface DocumentReviewCommentSource {
/**
* <p>The type of information added to a review request. Currently, only the value
* <code>Comment</code> is supported.</p>
* @public
*/
Type?: DocumentReviewCommentType | undefined;
/**
* <p>The content of a comment entered by a user who requests a review of a new document version,
* or who reviews the new version.</p>
* @public
*/
Content?: string | undefined;
}
/**
* <p>Information about a reviewer's response to a document review request.</p>
* @public
*/
export interface DocumentReviewerResponseSource {
/**
* <p>The date and time that a reviewer entered a response to a document review request.</p>
* @public
*/
CreateTime?: Date | undefined;
/**
* <p>The date and time that a reviewer last updated a response to a document review
* request.</p>
* @public
*/
UpdatedTime?: Date | undefined;
/**
* <p>The current review status of a new custom SSM document created by a member of your
* organization, or of the latest version of an existing SSM document.</p>
* <p>Only one version of a document can be in the APPROVED state at a time. When a new version is
* approved, the status of the previous version changes to REJECTED.</p>
* <p>Only one version of a document can be in review, or PENDING, at a time.</p>
* @public
*/
ReviewStatus?: ReviewStatus | undefined;
/**
* <p>The comment entered by a reviewer as part of their document review response.</p>
* @public
*/
Comment?: DocumentReviewCommentSource[] | undefined;
/**
* <p>The user in your organization assigned to review a document request.</p>
* @public
*/
Reviewer?: string | undefined;
}
/**
* <p>Details about the response to a document review request.</p>
* @public
*/
export interface DocumentMetadataResponseInfo {
/**
* <p>Details about a reviewer's response to a document review request.</p>
* @public
*/
ReviewerResponse?: DocumentReviewerResponseSource[] | undefined;
}
/**
* @public
*/
export interface ListDocumentMetadataHistoryResponse {
/**
* <p>The name of the change template.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The version of the change template.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The user ID of the person in the organization who requested the review of the
* change template.</p>
* @public
*/
Author?: string | undefined;
/**
* <p>Information about the response to the change template approval request.</p>
* @public
*/
Metadata?: DocumentMetadataResponseInfo | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>This data type is deprecated. Instead, use <a>DocumentKeyValuesFilter</a>.</p>
* @public
*/
export interface DocumentFilter {
/**
* <p>The name of the filter.</p>
* @public
*/
key: DocumentFilterKey | undefined;
/**
* <p>The value of the filter.</p>
* @public
*/
value: string | undefined;
}
/**
* <p>One or more filters. Use a filter to return a more specific list of documents.</p>
* <p>For keys, you can specify one or more tags that have been applied to a document. </p>
* <p>You can also use Amazon Web Services-provided keys, some of which have specific allowed values. These keys
* and their associated values are as follows:</p>
* <dl>
* <dt>DocumentType</dt>
* <dd>
* <ul>
* <li>
* <p>
* <code>ApplicationConfiguration</code>
* </p>
* </li>
* <li>
* <p>
* <code>ApplicationConfigurationSchema</code>
* </p>
* </li>
* <li>
* <p>
* <code>Automation</code>
* </p>
* </li>
* <li>
* <p>
* <code>ChangeCalendar</code>
* </p>
* </li>
* <li>
* <p>
* <code>Command</code>
* </p>
* </li>
* <li>
* <p>
* <code>Package</code>
* </p>
* </li>
* <li>
* <p>
* <code>Policy</code>
* </p>
* </li>
* <li>
* <p>
* <code>Session</code>
* </p>
* </li>
* </ul>
* </dd>
* <dt>Owner</dt>
* <dd>
* <p>Note that only one <code>Owner</code> can be specified in a request. For example:
* <code>Key=Owner,Values=Self</code>.</p>
* <ul>
* <li>
* <p>
* <code>Amazon</code>
* </p>
* </li>
* <li>
* <p>
* <code>Private</code>
* </p>
* </li>
* <li>
* <p>
* <code>Public</code>
* </p>
* </li>
* <li>
* <p>
* <code>Self</code>
* </p>
* </li>
* <li>
* <p>
* <code>ThirdParty</code>
* </p>
* </li>
* </ul>
* </dd>
* <dt>PlatformTypes</dt>
* <dd>
* <ul>
* <li>
* <p>
* <code>Linux</code>
* </p>
* </li>
* <li>
* <p>
* <code>Windows</code>
* </p>
* </li>
* </ul>
* </dd>
* </dl>
* <p>
* <code>Name</code> is another Amazon Web Services-provided key. If you use <code>Name</code> as a key, you
* can use a name prefix to return a list of documents. For example, in the Amazon Web Services CLI, to return a list
* of all documents that begin with <code>Te</code>, run the following command:</p>
* <p>
* <code>aws ssm list-documents --filters Key=Name,Values=Te</code>
* </p>
* <p>You can also use the <code>TargetType</code> Amazon Web Services-provided key. For a list of valid
* resource type values that can be used with this key, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html">Amazon Web Services resource and
* property types reference</a> in the <i>CloudFormation User Guide</i>.</p>
* <p>If you specify more than two keys, only documents that are identified by all the tags are
* returned in the results. If you specify more than two values for a key, documents that are
* identified by any of the values are returned in the results.</p>
* <p>To specify a custom key-value pair, use the format
* <code>Key=tag:tagName,Values=valueName</code>.</p>
* <p>For example, if you created a key called region and are using the Amazon Web Services CLI to call the
* <code>list-documents</code> command: </p>
* <p>
* <code>aws ssm list-documents --filters Key=tag:region,Values=east,west
* Key=Owner,Values=Self</code>
* </p>
* @public
*/
export interface DocumentKeyValuesFilter {
/**
* <p>The name of the filter key.</p>
* @public
*/
Key?: string | undefined;
/**
* <p>The value for the filter key.</p>
* @public
*/
Values?: string[] | undefined;
}
/**
* @public
*/
export interface ListDocumentsRequest {
/**
* <p>This data type is deprecated. Instead, use <code>Filters</code>.</p>
* @public
*/
DocumentFilterList?: DocumentFilter[] | undefined;
/**
* <p>One or more <code>DocumentKeyValuesFilter</code> objects. Use a filter to return a more
* specific list of results. For keys, you can specify one or more key-value pair tags that have
* been applied to a document. Other valid keys include <code>Owner</code>, <code>Name</code>,
* <code>PlatformTypes</code>, <code>DocumentType</code>, and <code>TargetType</code>. For example,
* to return documents you own use <code>Key=Owner,Values=Self</code>. To specify a custom key-value
* pair, use the format <code>Key=tag:tagName,Values=valueName</code>.</p>
* <note>
* <p>This API operation only supports filtering documents by using a single tag key and one or
* more tag values. For example: <code>Key=tag:tagName,Values=valueName1,valueName2</code>
* </p>
* </note>
* @public
*/
Filters?: DocumentKeyValuesFilter[] | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Describes the name of a SSM document.</p>
* @public
*/
export interface DocumentIdentifier {
/**
* <p>The name of the SSM document.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The date the SSM document was created.</p>
* @public
*/
CreatedDate?: Date | undefined;
/**
* <p>An optional field where you can specify a friendly name for the SSM document. This value can
* differ for each version of the document. If you want to update this value, see <a>UpdateDocument</a>.</p>
* @public
*/
DisplayName?: string | undefined;
/**
* <p>The Amazon Web Services user that created the document.</p>
* @public
*/
Owner?: string | undefined;
/**
* <p>An optional field specifying the version of the artifact associated with the document. For
* example, 12.6. This value is unique across all versions of a document, and can't be
* changed.</p>
* @public
*/
VersionName?: string | undefined;
/**
* <p>The operating system platform. </p>
* @public
*/
PlatformTypes?: PlatformType[] | undefined;
/**
* <p>The document version.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The document type.</p>
* @public
*/
DocumentType?: DocumentType | undefined;
/**
* <p>The schema version.</p>
* @public
*/
SchemaVersion?: string | undefined;
/**
* <p>The document format, either JSON or YAML.</p>
* @public
*/
DocumentFormat?: DocumentFormat | undefined;
/**
* <p>The target type which defines the kinds of resources the document can run on. For example,
* <code>/AWS::EC2::Instance</code>. For a list of valid resource types, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html">Amazon Web Services resource and
* property types reference</a> in the <i>CloudFormation User Guide</i>. </p>
* @public
*/
TargetType?: string | undefined;
/**
* <p>The tags, or metadata, that have been applied to the document.</p>
* @public
*/
Tags?: Tag[] | undefined;
/**
* <p>A list of SSM documents required by a document. For example, an
* <code>ApplicationConfiguration</code> document requires an
* <code>ApplicationConfigurationSchema</code> document.</p>
* @public
*/
Requires?: DocumentRequires[] | undefined;
/**
* <p>The current status of a document review.</p>
* @public
*/
ReviewStatus?: ReviewStatus | undefined;
/**
* <p>The user in your organization who created the document.</p>
* @public
*/
Author?: string | undefined;
}
/**
* @public
*/
export interface ListDocumentsResult {
/**
* <p>The names of the SSM documents.</p>
* @public
*/
DocumentIdentifiers?: DocumentIdentifier[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListDocumentVersionsRequest {
/**
* <p>The name of the document. You can specify an Amazon Resource Name (ARN).</p>
* @public
*/
Name: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Version information about the document.</p>
* @public
*/
export interface DocumentVersionInfo {
/**
* <p>The document name.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The friendly name of the SSM document. This value can differ for each version of the
* document. If you want to update this value, see <a>UpdateDocument</a>.</p>
* @public
*/
DisplayName?: string | undefined;
/**
* <p>The document version.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The version of the artifact associated with the document. For example, 12.6. This value is
* unique across all versions of a document, and can't be changed.</p>
* @public
*/
VersionName?: string | undefined;
/**
* <p>The date the document was created.</p>
* @public
*/
CreatedDate?: Date | undefined;
/**
* <p>An identifier for the default version of the document.</p>
* @public
*/
IsDefaultVersion?: boolean | undefined;
/**
* <p>The document format, either JSON or YAML.</p>
* @public
*/
DocumentFormat?: DocumentFormat | undefined;
/**
* <p>The status of the SSM document, such as <code>Creating</code>, <code>Active</code>,
* <code>Failed</code>, and <code>Deleting</code>.</p>
* @public
*/
Status?: DocumentStatus | undefined;
/**
* <p>A message returned by Amazon Web Services Systems Manager that explains the <code>Status</code> value. For example, a
* <code>Failed</code> status might be explained by the <code>StatusInformation</code> message,
* "The specified S3 bucket doesn't exist. Verify that the URL of the S3 bucket is correct."</p>
* @public
*/
StatusInformation?: string | undefined;
/**
* <p>The current status of the approval review for the latest version of the document.</p>
* @public
*/
ReviewStatus?: ReviewStatus | undefined;
}
/**
* @public
*/
export interface ListDocumentVersionsResult {
/**
* <p>The document versions.</p>
* @public
*/
DocumentVersions?: DocumentVersionInfo[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListInventoryEntriesRequest {
/**
* <p>The managed node ID for which you want inventory information.</p>
* @public
*/
InstanceId: string | undefined;
/**
* <p>The type of inventory item for which you want information.</p>
* @public
*/
TypeName: string | undefined;
/**
* <p>One or more filters. Use a filter to return a more specific list of results.</p>
* @public
*/
Filters?: InventoryFilter[] | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* @public
*/
export interface ListInventoryEntriesResult {
/**
* <p>The type of inventory item returned by the request.</p>
* @public
*/
TypeName?: string | undefined;
/**
* <p>The managed node ID targeted by the request to query inventory information.</p>
* @public
*/
InstanceId?: string | undefined;
/**
* <p>The inventory schema version used by the managed nodes.</p>
* @public
*/
SchemaVersion?: string | undefined;
/**
* <p>The time that inventory information was collected for the managed nodes.</p>
* @public
*/
CaptureTime?: string | undefined;
/**
* <p>A list of inventory items on the managed nodes.</p>
* @public
*/
Entries?: Record<string, string>[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>The filters for the operation.</p>
* @public
*/
export interface NodeFilter {
/**
* <p>The name of the filter.</p>
* @public
*/
Key: NodeFilterKey | undefined;
/**
* <p>A filter value supported by the specified key. For example, for the key
* <code>PlatformType</code>, supported values include <code>Linux</code> and
* <code>Windows</code>.</p>
* @public
*/
Values: string[] | undefined;
/**
* <p>The type of filter operator.</p>
* @public
*/
Type?: NodeFilterOperatorType | undefined;
}
/**
* @public
*/
export interface ListNodesRequest {
/**
* <p>The name of the Amazon Web Services managed resource data sync to retrieve information about.</p>
* <p>For cross-account/cross-Region configurations, this parameter is required, and the name of
* the supported resource data sync is <code>AWS-QuickSetup-ManagedNode</code>.</p>
* <p>For single account/single-Region configurations, the parameter is not required.</p>
* @public
*/
SyncName?: string | undefined;
/**
* <p>One or more filters. Use a filter to return a more specific list of managed nodes.</p>
* @public
*/
Filters?: NodeFilter[] | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>Details about a specific managed node.</p>
* @public
*/
export interface InstanceInfo {
/**
* <p>The type of agent installed on the node.</p>
* @public
*/
AgentType?: string | undefined;
/**
* <p>The version number of the agent installed on the node.</p>
* @public
*/
AgentVersion?: string | undefined;
/**
* <p>The fully qualified host name of the managed node.</p>
* @public
*/
ComputerName?: string | undefined;
/**
* <p>The current status of the managed node.</p>
* @public
*/
InstanceStatus?: string | undefined;
/**
* <p>The IP address of the managed node.</p>
* @public
*/
IpAddress?: string | undefined;
/**
* <p>Indicates whether the node is managed by Systems Manager.</p>
* @public
*/
ManagedStatus?: ManagedStatus | undefined;
/**
* <p>The name assigned to the managed node.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The operating system platform type of the managed node.</p>
* @public
*/
PlatformType?: PlatformType | undefined;
/**
* <p>The name of the operating system platform running on your managed node.</p>
* @public
*/
PlatformName?: string | undefined;
/**
* <p>The version of the OS platform running on your managed node. </p>
* @public
*/
PlatformVersion?: string | undefined;
/**
* <p>The type of instance, either an EC2 instance or another supported machine type in a hybrid
* fleet.</p>
* @public
*/
ResourceType?: ResourceType | undefined;
/**
* <p>The type of the source resource. For IoT Greengrass devices,
* <code>SourceType</code> is <code>AWS::IoT::Thing</code>.</p>
* @public
*/
SourceType?: SourceType | undefined;
/**
* <p>The ID of the source resource. For IoT Greengrass devices, <code>SourceId</code> is
* the Thing name.</p>
* @public
*/
SourceId?: string | undefined;
/**
* <p>The location of the source resource in the third-party cloud environment.</p>
* @public
*/
SourceLocation?: string | undefined;
/**
* <p>The Availability Zone where the managed node is located.</p>
* @public
*/
AvailabilityZone?: string | undefined;
/**
* <p>The Availability Zone ID where the managed node is located.</p>
* @public
*/
AvailabilityZoneId?: string | undefined;
}
/**
* <p>Information about a managed node's type.</p>
* @public
*/
export type NodeType = NodeType.InstanceMember | NodeType.$UnknownMember;
/**
* @public
*/
export declare namespace NodeType {
/**
* <p>Information about a specific managed node.</p>
* @public
*/
interface InstanceMember {
Instance: InstanceInfo;
$unknown?: never;
}
/**
* @public
*/
interface $UnknownMember {
Instance?: never;
$unknown: [string, any];
}
/**
* @deprecated unused in schema-serde mode.
*
*/
interface Visitor<T> {
Instance: (value: InstanceInfo) => T;
_: (name: string, value: any) => T;
}
}
/**
* <p>Information about ownership of a managed node.</p>
* @public
*/
export interface NodeOwnerInfo {
/**
* <p>The ID of the Amazon Web Services account that owns the managed node.</p>
* @public
*/
AccountId?: string | undefined;
/**
* <p>The ID of the organization unit (OU) that the account is part of.</p>
* @public
*/
OrganizationalUnitId?: string | undefined;
/**
* <p>The path for the organizational unit (OU) that owns the managed node. The path for the OU is
* built using the IDs of the organization, root, and all OUs in the path down to and including the
* OU. For example:</p>
* <p>
* <code>o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-ghi0-awsccccc/ou-jkl0-awsddddd/</code>
* </p>
* @public
*/
OrganizationalUnitPath?: string | undefined;
}
/**
* <p>Details about an individual managed node.</p>
* @public
*/
export interface Node {
/**
* <p>The UTC timestamp for when the managed node data was last captured.</p>
* @public
*/
CaptureTime?: Date | undefined;
/**
* <p>The ID of the managed node.</p>
* @public
*/
Id?: string | undefined;
/**
* <p>Information about the ownership of the managed node.</p>
* @public
*/
Owner?: NodeOwnerInfo | undefined;
/**
* <p>The Amazon Web Services Region that a managed node was created in or assigned to.</p>
* @public
*/
Region?: string | undefined;
/**
* <p>Information about the type of node.</p>
* @public
*/
NodeType?: NodeType | undefined;
}
/**
* @public
*/
export interface ListNodesResult {
/**
* <p>A list of managed nodes that match the specified filter criteria.</p>
* @public
*/
Nodes?: Node[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListNodesSummaryResult {
/**
* <p>A collection of objects reporting information about your managed nodes, such as the count of
* nodes by operating system.</p>
* @public
*/
Summary?: Record<string, string>[] | undefined;
/**
* <p>The token to use when requesting the next set of items. If there are no additional items to
* return, the string is empty.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Describes a filter for a specific list of OpsItem events. You can filter event information
* by using tags. You specify tags by using a key-value pair mapping. </p>
* @public
*/
export interface OpsItemEventFilter {
/**
* <p>The name of the filter key. Currently, the only supported value is
* <code>OpsItemId</code>.</p>
* @public
*/
Key: OpsItemEventFilterKey | undefined;
/**
* <p>The values for the filter, consisting of one or more OpsItem IDs.</p>
* @public
*/
Values: string[] | undefined;
/**
* <p>The operator used by the filter call. Currently, the only supported value is
* <code>Equal</code>.</p>
* @public
*/
Operator: OpsItemEventFilterOperator | undefined;
}
/**
* @public
*/
export interface ListOpsItemEventsRequest {
/**
* <p>One or more OpsItem filters. Use a filter to return a more specific list of results. </p>
* @public
*/
Filters?: OpsItemEventFilter[] | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results. </p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Information about the user or resource that created an OpsItem event.</p>
* @public
*/
export interface OpsItemIdentity {
/**
* <p>The Amazon Resource Name (ARN) of the IAM entity that created the OpsItem
* event.</p>
* @public
*/
Arn?: string | undefined;
}
/**
* <p>Summary information about an OpsItem event or that associated an OpsItem with a related
* item.</p>
* @public
*/
export interface OpsItemEventSummary {
/**
* <p>The ID of the OpsItem.</p>
* @public
*/
OpsItemId?: string | undefined;
/**
* <p>The ID of the OpsItem event.</p>
* @public
*/
EventId?: string | undefined;
/**
* <p>The source of the OpsItem event.</p>
* @public
*/
Source?: string | undefined;
/**
* <p>The type of information provided as a detail.</p>
* @public
*/
DetailType?: string | undefined;
/**
* <p>Specific information about the OpsItem event.</p>
* @public
*/
Detail?: string | undefined;
/**
* <p>Information about the user or resource that created the OpsItem event.</p>
* @public
*/
CreatedBy?: OpsItemIdentity | undefined;
/**
* <p>The date and time the OpsItem event was created.</p>
* @public
*/
CreatedTime?: Date | undefined;
}
/**
* @public
*/
export interface ListOpsItemEventsResponse {
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>A list of event information for the specified OpsItems.</p>
* @public
*/
Summaries?: OpsItemEventSummary[] | undefined;
}
/**
* <p>Describes a filter for a specific list of related-item resources. </p>
* @public
*/
export interface OpsItemRelatedItemsFilter {
/**
* <p>The name of the filter key. Supported values include <code>ResourceUri</code>,
* <code>ResourceType</code>, or <code>AssociationId</code>.</p>
* @public
*/
Key: OpsItemRelatedItemsFilterKey | undefined;
/**
* <p>The values for the filter.</p>
* @public
*/
Values: string[] | undefined;
/**
* <p>The operator used by the filter call. The only supported operator is
* <code>EQUAL</code>.</p>
* @public
*/
Operator: OpsItemRelatedItemsFilterOperator | undefined;
}
/**
* @public
*/
export interface ListOpsItemRelatedItemsRequest {
/**
* <p>The ID of the OpsItem for which you want to list all related-item resources.</p>
* @public
*/
OpsItemId?: string | undefined;
/**
* <p>One or more OpsItem filters. Use a filter to return a more specific list of results. </p>
* @public
*/
Filters?: OpsItemRelatedItemsFilter[] | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Summary information about related-item resources for an OpsItem.</p>
* @public
*/
export interface OpsItemRelatedItemSummary {
/**
* <p>The OpsItem ID.</p>
* @public
*/
OpsItemId?: string | undefined;
/**
* <p>The association ID.</p>
* @public
*/
AssociationId?: string | undefined;
/**
* <p>The resource type.</p>
* @public
*/
ResourceType?: string | undefined;
/**
* <p>The association type.</p>
* @public
*/
AssociationType?: string | undefined;
/**
* <p>The Amazon Resource Name (ARN) of the related-item resource.</p>
* @public
*/
ResourceUri?: string | undefined;
/**
* <p>Information about the user or resource that created an OpsItem event.</p>
* @public
*/
CreatedBy?: OpsItemIdentity | undefined;
/**
* <p>The time the related-item association was created.</p>
* @public
*/
CreatedTime?: Date | undefined;
/**
* <p>Information about the user or resource that created an OpsItem event.</p>
* @public
*/
LastModifiedBy?: OpsItemIdentity | undefined;
/**
* <p>The time the related-item association was last updated.</p>
* @public
*/
LastModifiedTime?: Date | undefined;
}
/**
* @public
*/
export interface ListOpsItemRelatedItemsResponse {
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>A list of related-item resources for the specified OpsItem.</p>
* @public
*/
Summaries?: OpsItemRelatedItemSummary[] | undefined;
}
/**
* <p>A filter to limit the number of OpsMetadata objects displayed.</p>
* @public
*/
export interface OpsMetadataFilter {
/**
* <p>A filter key.</p>
* @public
*/
Key: string | undefined;
/**
* <p>A filter value.</p>
* @public
*/
Values: string[] | undefined;
}
/**
* @public
*/
export interface ListOpsMetadataRequest {
/**
* <p>One or more filters to limit the number of OpsMetadata objects returned by the call.</p>
* @public
*/
Filters?: OpsMetadataFilter[] | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Operational metadata for an application in Application Manager.</p>
* @public
*/
export interface OpsMetadata {
/**
* <p>The ID of the Application Manager application.</p>
* @public
*/
ResourceId?: string | undefined;
/**
* <p>The Amazon Resource Name (ARN) of the OpsMetadata Object or blob.</p>
* @public
*/
OpsMetadataArn?: string | undefined;
/**
* <p>The date the OpsMetadata object was last updated.</p>
* @public
*/
LastModifiedDate?: Date | undefined;
/**
* <p>The user name who last updated the OpsMetadata object.</p>
* @public
*/
LastModifiedUser?: string | undefined;
/**
* <p>The date the OpsMetadata objects was created.</p>
* @public
*/
CreationDate?: Date | undefined;
}
/**
* @public
*/
export interface ListOpsMetadataResult {
/**
* <p>Returns a list of OpsMetadata objects.</p>
* @public
*/
OpsMetadataList?: OpsMetadata[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListResourceComplianceSummariesRequest {
/**
* <p>One or more filters. Use a filter to return a more specific list of results.</p>
* @public
*/
Filters?: ComplianceStringFilter[] | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>Compliance summary information for a specific resource. </p>
* @public
*/
export interface ResourceComplianceSummaryItem {
/**
* <p>The compliance type.</p>
* @public
*/
ComplianceType?: string | undefined;
/**
* <p>The resource type.</p>
* @public
*/
ResourceType?: string | undefined;
/**
* <p>The resource ID.</p>
* @public
*/
ResourceId?: string | undefined;
/**
* <p>The compliance status for the resource.</p>
* @public
*/
Status?: ComplianceStatus | undefined;
/**
* <p>The highest severity item found for the resource. The resource is compliant for this
* item.</p>
* @public
*/
OverallSeverity?: ComplianceSeverity | undefined;
/**
* <p>Information about the execution.</p>
* @public
*/
ExecutionSummary?: ComplianceExecutionSummary | undefined;
/**
* <p>A list of items that are compliant for the resource.</p>
* @public
*/
CompliantSummary?: CompliantSummary | undefined;
/**
* <p>A list of items that aren't compliant for the resource.</p>
* @public
*/
NonCompliantSummary?: NonCompliantSummary | undefined;
}
/**
* @public
*/
export interface ListResourceComplianceSummariesResult {
/**
* <p>A summary count for specified or targeted managed nodes. Summary count includes information
* about compliant and non-compliant State Manager associations, patch status, or custom items
* according to the filter criteria that you specify. </p>
* @public
*/
ResourceComplianceSummaryItems?: ResourceComplianceSummaryItem[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListResourceDataSyncRequest {
/**
* <p>View a list of resource data syncs according to the sync type. Specify
* <code>SyncToDestination</code> to view resource data syncs that synchronize data to an Amazon S3 bucket. Specify <code>SyncFromSource</code> to view resource data syncs from Organizations
* or from multiple Amazon Web Services Regions.</p>
* @public
*/
SyncType?: string | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* <p>The data type name for including resource data sync state. There are four sync
* states:</p>
* <p>
* <code>OrganizationNotExists</code> (Your organization doesn't exist)</p>
* <p>
* <code>NoPermissions</code> (The system can't locate the service-linked role. This role is
* automatically created when a user creates a resource data sync in Amazon Web Services Systems Manager Explorer.)</p>
* <p>
* <code>InvalidOrganizationalUnit</code> (You specified or selected an invalid unit in the
* resource data sync configuration.)</p>
* <p>
* <code>TrustedAccessDisabled</code> (You disabled Systems Manager access in the organization in
* Organizations.)</p>
* @public
*/
export interface ResourceDataSyncSourceWithState {
/**
* <p>The type of data source for the resource data sync. <code>SourceType</code> is either
* <code>AwsOrganizations</code> (if an organization is present in Organizations) or
* <code>singleAccountMultiRegions</code>.</p>
* @public
*/
SourceType?: string | undefined;
/**
* <p>The field name in <code>SyncSource</code> for the
* <code>ResourceDataSyncAwsOrganizationsSource</code> type.</p>
* @public
*/
AwsOrganizationsSource?: ResourceDataSyncAwsOrganizationsSource | undefined;
/**
* <p>The <code>SyncSource</code> Amazon Web Services Regions included in the resource data sync.</p>
* @public
*/
SourceRegions?: string[] | undefined;
/**
* <p>Whether to automatically synchronize and aggregate data from new Amazon Web Services Regions when those
* Regions come online.</p>
* @public
*/
IncludeFutureRegions?: boolean | undefined;
/**
* <p>The data type name for including resource data sync state. There are four sync
* states:</p>
* <p>
* <code>OrganizationNotExists</code>: Your organization doesn't exist.</p>
* <p>
* <code>NoPermissions</code>: The system can't locate the service-linked role. This role is
* automatically created when a user creates a resource data sync in Explorer.</p>
* <p>
* <code>InvalidOrganizationalUnit</code>: You specified or selected an invalid unit in the
* resource data sync configuration.</p>
* <p>
* <code>TrustedAccessDisabled</code>: You disabled Systems Manager access in the organization in
* Organizations.</p>
* @public
*/
State?: string | undefined;
/**
* <p>When you create a resource data sync, if you choose one of the Organizations options, then Systems Manager
* automatically enables all OpsData sources in the selected Amazon Web Services Regions for all Amazon Web Services accounts in
* your organization (or in the selected organization units). For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/Explorer-resource-data-sync.html">Setting up Systems Manager Explorer to display data from multiple accounts and Regions</a> in
* the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
EnableAllOpsDataSources?: boolean | undefined;
}
/**
* <p>Information about a resource data sync configuration, including its current status and last
* successful sync.</p>
* @public
*/
export interface ResourceDataSyncItem {
/**
* <p>The name of the resource data sync.</p>
* @public
*/
SyncName?: string | undefined;
/**
* <p>The type of resource data sync. If <code>SyncType</code> is <code>SyncToDestination</code>,
* then the resource data sync synchronizes data to an S3 bucket. If the <code>SyncType</code> is
* <code>SyncFromSource</code> then the resource data sync synchronizes data from Organizations or from
* multiple Amazon Web Services Regions.</p>
* @public
*/
SyncType?: string | undefined;
/**
* <p>Information about the source where the data was synchronized. </p>
* @public
*/
SyncSource?: ResourceDataSyncSourceWithState | undefined;
/**
* <p>Configuration information for the target S3 bucket.</p>
* @public
*/
S3Destination?: ResourceDataSyncS3Destination | undefined;
/**
* <p>The last time the configuration attempted to sync (UTC).</p>
* @public
*/
LastSyncTime?: Date | undefined;
/**
* <p>The last time the sync operations returned a status of <code>SUCCESSFUL</code> (UTC).</p>
* @public
*/
LastSuccessfulSyncTime?: Date | undefined;
/**
* <p>The date and time the resource data sync was changed. </p>
* @public
*/
SyncLastModifiedTime?: Date | undefined;
/**
* <p>The status reported by the last sync.</p>
* @public
*/
LastStatus?: LastResourceDataSyncStatus | undefined;
/**
* <p>The date and time the configuration was created (UTC).</p>
* @public
*/
SyncCreatedTime?: Date | undefined;
/**
* <p>The status message details reported by the last sync.</p>
* @public
*/
LastSyncStatusMessage?: string | undefined;
}
/**
* @public
*/
export interface ListResourceDataSyncResult {
/**
* <p>A list of your current resource data sync configurations and their statuses.</p>
* @public
*/
ResourceDataSyncItems?: ResourceDataSyncItem[] | undefined;
/**
* <p>The token for the next set of items to return. Use this token to get the next set of
* results.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* @public
*/
export interface ListTagsForResourceRequest {
/**
* <p>Returns a list of tags for a specific resource type.</p>
* @public
*/
ResourceType: ResourceTypeForTagging | undefined;
/**
* <p>The resource ID for which you want to see a list of tags.</p>
* @public
*/
ResourceId: string | undefined;
}
/**
* @public
*/
export interface ListTagsForResourceResult {
/**
* <p>A list of tags.</p>
* @public
*/
TagList?: Tag[] | undefined;
}
/**
* @public
*/
export interface ModifyDocumentPermissionRequest {
/**
* <p>The name of the document that you want to share.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The permission type for the document. The permission type can be
* <i>Share</i>.</p>
* @public
*/
PermissionType: DocumentPermissionType | undefined;
/**
* <p>The Amazon Web Services users that should have access to the document. The account IDs can either be a
* group of account IDs or <i>All</i>. You must specify a value for this parameter or
* the <code>AccountIdsToRemove</code> parameter.</p>
* @public
*/
AccountIdsToAdd?: string[] | undefined;
/**
* <p>The Amazon Web Services users that should no longer have access to the document. The Amazon Web Services user
* can either be a group of account IDs or <i>All</i>. This action has a higher
* priority than <code>AccountIdsToAdd</code>. If you specify an ID to add and the same ID to
* remove, the system removes access to the document. You must specify a value for this parameter or
* the <code>AccountIdsToAdd</code> parameter.</p>
* @public
*/
AccountIdsToRemove?: string[] | undefined;
/**
* <p>(Optional) The version of the document to share. If it isn't specified, the system choose
* the <code>Default</code> version to share.</p>
* @public
*/
SharedDocumentVersion?: string | undefined;
}
/**
* @public
*/
export interface ModifyDocumentPermissionResponse {
}
/**
* <p>Information about a compliance item.</p>
* @public
*/
export interface ComplianceItemEntry {
/**
* <p>The compliance item ID. For example, if the compliance item is a Windows patch, the ID could
* be the number of the KB article.</p>
* @public
*/
Id?: string | undefined;
/**
* <p>The title of the compliance item. For example, if the compliance item is a Windows patch,
* the title could be the title of the KB article for the patch; for example: Security Update for
* Active Directory Federation Services. </p>
* @public
*/
Title?: string | undefined;
/**
* <p>The severity of the compliance status. Severity can be one of the following: Critical, High,
* Medium, Low, Informational, Unspecified.</p>
* @public
*/
Severity: ComplianceSeverity | undefined;
/**
* <p>The status of the compliance item. An item is either COMPLIANT or NON_COMPLIANT.</p>
* @public
*/
Status: ComplianceStatus | undefined;
/**
* <p>A "Key": "Value" tag combination for the compliance item.</p>
* @public
*/
Details?: Record<string, string> | undefined;
}
/**
* @public
*/
export interface PutComplianceItemsRequest {
/**
* <p>Specify an ID for this resource. For a managed node, this is the node ID.</p>
* @public
*/
ResourceId: string | undefined;
/**
* <p>Specify the type of resource. <code>ManagedInstance</code> is currently the only supported
* resource type.</p>
* @public
*/
ResourceType: string | undefined;
/**
* <p>Specify the compliance type. For example, specify Association (for a State Manager
* association), Patch, or Custom:<code>string</code>.</p>
* @public
*/
ComplianceType: string | undefined;
/**
* <p>A summary of the call execution that includes an execution ID, the type of execution (for
* example, <code>Command</code>), and the date/time of the execution using a datetime object that
* is saved in the following format: <code>yyyy-MM-dd'T'HH:mm:ss'Z'</code>
* </p>
* @public
*/
ExecutionSummary: ComplianceExecutionSummary | undefined;
/**
* <p>Information about the compliance as defined by the resource type. For example, for a patch
* compliance type, <code>Items</code> includes information about the PatchSeverity, Classification,
* and so on.</p>
* @public
*/
Items: ComplianceItemEntry[] | undefined;
/**
* <p>MD5 or SHA-256 content hash. The content hash is used to determine if existing information
* should be overwritten or ignored. If the content hashes match, the request to put compliance
* information is ignored.</p>
* @public
*/
ItemContentHash?: string | undefined;
/**
* <p>The mode for uploading compliance items. You can specify <code>COMPLETE</code> or
* <code>PARTIAL</code>. In <code>COMPLETE</code> mode, the system overwrites all existing
* compliance information for the resource. You must provide a full list of compliance items each
* time you send the request.</p>
* <p>In <code>PARTIAL</code> mode, the system overwrites compliance information for a specific
* association. The association must be configured with <code>SyncCompliance</code> set to
* <code>MANUAL</code>. By default, all requests use <code>COMPLETE</code> mode.</p>
* <note>
* <p>This attribute is only valid for association compliance.</p>
* </note>
* @public
*/
UploadType?: ComplianceUploadType | undefined;
}
/**
* @public
*/
export interface PutComplianceItemsResult {
}
/**
* <p>Information collected from managed nodes based on your inventory policy document</p>
* @public
*/
export interface InventoryItem {
/**
* <p>The name of the inventory type. Default inventory item type names start with
* <code>AWS</code>. Custom inventory type names will start with Custom. Default inventory item
* types include the following: <code>AWS:AWSComponent</code>, <code>AWS:Application</code>,
* <code>AWS:InstanceInformation</code>, <code>AWS:Network</code>, and
* <code>AWS:WindowsUpdate</code>.</p>
* @public
*/
TypeName: string | undefined;
/**
* <p>The schema version for the inventory item.</p>
* @public
*/
SchemaVersion: string | undefined;
/**
* <p>The time the inventory information was collected.</p>
* @public
*/
CaptureTime: string | undefined;
/**
* <p>MD5 hash of the inventory item type contents. The content hash is used to determine whether
* to update inventory information. The PutInventory API doesn't update the inventory item type
* contents if the MD5 hash hasn't changed since last update. </p>
* @public
*/
ContentHash?: string | undefined;
/**
* <p>The inventory data of the inventory type.</p>
* @public
*/
Content?: Record<string, string>[] | undefined;
/**
* <p>A map of associated properties for a specified inventory type. For example, with this
* attribute, you can specify the <code>ExecutionId</code>, <code>ExecutionType</code>,
* <code>ComplianceType</code> properties of the <code>AWS:ComplianceItem</code> type.</p>
* @public
*/
Context?: Record<string, string> | undefined;
}
/**
* @public
*/
export interface PutInventoryRequest {
/**
* <p>An managed node ID where you want to add or update inventory items.</p>
* @public
*/
InstanceId: string | undefined;
/**
* <p>The inventory items that you want to add or update on managed nodes.</p>
* @public
*/
Items: InventoryItem[] | undefined;
}
/**
* @public
*/
export interface PutInventoryResult {
/**
* <p>Information about the request.</p>
* @public
*/
Message?: string | undefined;
}
/**
* @public
*/
export interface PutParameterRequest {
/**
* <p>The fully qualified name of the parameter that you want to create or update.</p>
* <note>
* <p>You can't enter the Amazon Resource Name (ARN) for a parameter, only the parameter name
* itself.</p>
* </note>
* <p>The fully qualified name includes the complete hierarchy of the parameter path and name. For
* parameters in a hierarchy, you must include a leading forward slash character (/) when you create
* or reference a parameter. For example: <code>/Dev/DBServer/MySQL/db-string13</code>
* </p>
* <p>Naming Constraints:</p>
* <ul>
* <li>
* <p>Parameter names are case sensitive.</p>
* </li>
* <li>
* <p>A parameter name must be unique within an Amazon Web Services Region</p>
* </li>
* <li>
* <p>A parameter name can't be prefixed with "<code>aws</code>" or "<code>ssm</code>"
* (case-insensitive).</p>
* </li>
* <li>
* <p>Parameter names can include only the following symbols and letters:
* <code>a-zA-Z0-9_.-</code>
* </p>
* <p>In addition, the slash character ( / ) is used to delineate hierarchies in parameter
* names. For example: <code>/Dev/Production/East/Project-ABC/MyParameter</code>
* </p>
* </li>
* <li>
* <p>Parameter names can't contain spaces. The service removes any spaces specified for
* the beginning or end of a parameter name. If the specified name for a parameter contains spaces
* between characters, the request fails with a <code>ValidationException</code> error.</p>
* </li>
* <li>
* <p>Parameter hierarchies are limited to a maximum depth of fifteen levels.</p>
* </li>
* </ul>
* <p>For additional information about valid values for parameter names, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-su-create.html">Creating Systems Manager parameters</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* <note>
* <p>The reported maximum length of 2048 characters for a parameter name includes 1037
* characters that are reserved for internal use by Systems Manager. The maximum length for a parameter name
* that you specify is 1011 characters.</p>
* <p>This count of 1011 characters includes the characters in the ARN that precede the name you
* specify. This ARN length will vary depending on your partition and Region. For example, the
* following 45 characters count toward the 1011 character maximum for a parameter created in the
* US East (Ohio) Region: <code>arn:aws:ssm:us-east-2:111122223333:parameter/</code>.</p>
* </note>
* @public
*/
Name: string | undefined;
/**
* <p>Information about the parameter that you want to add to the system. Optional but
* recommended.</p>
* <important>
* <p>Don't enter personally identifiable information in this field.</p>
* </important>
* @public
*/
Description?: string | undefined;
/**
* <p>The parameter value that you want to add to the system. Standard parameters have a value
* limit of 4 KB. Advanced parameters have a value limit of 8 KB.</p>
* <note>
* <p>Parameters can't be referenced or nested in the values of other parameters. You can't
* include values wrapped in double brackets <code>\{\{\}\}</code> or
* <code>\{\{ssm:<i>parameter-name</i>\}\}</code> in a parameter value.</p>
* </note>
* @public
*/
Value: string | undefined;
/**
* <p>The type of parameter that you want to create.</p>
* <note>
* <p>
* <code>SecureString</code> isn't currently supported for CloudFormation templates.</p>
* </note>
* <p>Items in a <code>StringList</code> must be separated by a comma (,). You can't
* use other punctuation or special character to escape items in the list. If you have a parameter
* value that requires a comma, then use the <code>String</code> data type.</p>
* <important>
* <p>Specifying a parameter type isn't required when updating a parameter. You must specify a
* parameter type when creating a parameter.</p>
* </important>
* @public
*/
Type?: ParameterType | undefined;
/**
* <p>The Key Management Service (KMS) ID that you want to use to encrypt a
* parameter. Use a custom key for better security. Required for parameters that use the <code>SecureString</code> data type.</p>
* <p>If you don't specify a key ID, the system uses the default key associated with your
* Amazon Web Services account, which is not as secure as using a custom key.</p>
* <ul>
* <li>
* <p>To use a custom KMS key, choose the <code>SecureString</code>
* data type with the <code>Key ID</code> parameter.</p>
* </li>
* </ul>
* @public
*/
KeyId?: string | undefined;
/**
* <p>Overwrite an existing parameter. The default value is <code>false</code>.</p>
* @public
*/
Overwrite?: boolean | undefined;
/**
* <p>A regular expression used to validate the parameter value. For example, for String types
* with values restricted to numbers, you can specify the following: AllowedPattern=^\d+$ </p>
* @public
*/
AllowedPattern?: string | undefined;
/**
* <p>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
* Systems Manager parameter to identify the type of resource to which it applies, the environment, or the
* type of configuration data referenced by the parameter. In this case, you could specify the
* following key-value pairs:</p>
* <ul>
* <li>
* <p>
* <code>Key=Resource,Value=S3bucket</code>
* </p>
* </li>
* <li>
* <p>
* <code>Key=OS,Value=Windows</code>
* </p>
* </li>
* <li>
* <p>
* <code>Key=ParameterType,Value=LicenseKey</code>
* </p>
* </li>
* </ul>
* <note>
* <p>To add tags to an existing Systems Manager parameter, use the <a>AddTagsToResource</a>
* operation.</p>
* </note>
* @public
*/
Tags?: Tag[] | undefined;
/**
* <p>The parameter tier to assign to a parameter.</p>
* <p>Parameter Store offers a standard tier and an advanced tier for parameters. Standard
* parameters have a content size limit of 4 KB and can't be configured to use parameter policies.
* You can create a maximum of 10,000 standard parameters for each Region in an Amazon Web Services account.
* Standard parameters are offered at no additional cost. </p>
* <p>Advanced parameters have a content size limit of 8 KB and can be configured to use parameter
* policies. You can create a maximum of 100,000 advanced parameters for each Region in an
* Amazon Web Services account. Advanced parameters incur a charge. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html">Managing
* parameter tiers</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* <p>You can change a standard parameter to an advanced parameter any time. But you can't revert
* an advanced parameter to a standard parameter. Reverting an advanced parameter to a standard
* parameter would result in data loss because the system would truncate the size of the parameter
* from 8 KB to 4 KB. Reverting would also remove any policies attached to the parameter. Lastly,
* advanced parameters use a different form of encryption than standard parameters. </p>
* <p>If you no longer need an advanced parameter, or if you no longer want to incur charges for
* an advanced parameter, you must delete it and recreate it as a new standard parameter. </p>
* <p>
* <b>Using the Default Tier Configuration</b>
* </p>
* <p>In <code>PutParameter</code> requests, you can specify the tier to create the parameter in.
* Whenever you specify a tier in the request, Parameter Store creates or updates the parameter
* according to that request. However, if you don't specify a tier in a request, Parameter Store
* assigns the tier based on the current Parameter Store default tier configuration.</p>
* <p>The default tier when you begin using Parameter Store is the standard-parameter tier. If you
* use the advanced-parameter tier, you can specify one of the following as the default:</p>
* <ul>
* <li>
* <p>
* <b>Advanced</b>: With this option, Parameter Store evaluates all
* requests as advanced parameters. </p>
* </li>
* <li>
* <p>
* <b>Intelligent-Tiering</b>: With this option, Parameter Store
* evaluates each request to determine if the parameter is standard or advanced. </p>
* <p>If the request doesn't include any options that require an advanced parameter, the
* parameter is created in the standard-parameter tier. If one or more options requiring an
* advanced parameter are included in the request, Parameter Store create a parameter in the
* advanced-parameter tier.</p>
* <p>This approach helps control your parameter-related costs by always creating standard
* parameters unless an advanced parameter is necessary. </p>
* </li>
* </ul>
* <p>Options that require an advanced parameter include the following:</p>
* <ul>
* <li>
* <p>The content size of the parameter is more than 4 KB.</p>
* </li>
* <li>
* <p>The parameter uses a parameter policy.</p>
* </li>
* <li>
* <p>More than 10,000 parameters already exist in your Amazon Web Services account in the current
* Amazon Web Services Region.</p>
* </li>
* </ul>
* <p>For more information about configuring the default tier option, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-advanced-parameters.html#ps-default-tier">Specifying a default parameter tier</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
Tier?: ParameterTier | undefined;
/**
* <p>One or more policies to apply to a parameter. This operation takes a JSON array. Parameter
* Store, a tool in Amazon Web Services Systems Manager supports the following policy types:</p>
* <p>Expiration: This policy deletes the parameter after it expires. When you create the policy,
* you specify the expiration date. You can update the expiration date and time by updating the
* policy. Updating the <i>parameter</i> doesn't affect the expiration date and time.
* When the expiration time is reached, Parameter Store deletes the parameter.</p>
* <p>ExpirationNotification: This policy initiates an event in Amazon CloudWatch Events that
* notifies you about the expiration. By using this policy, you can receive notification before or
* after the expiration time is reached, in units of days or hours.</p>
* <p>NoChangeNotification: This policy initiates a CloudWatch Events event if a parameter hasn't
* been modified for a specified period of time. This policy type is useful when, for example, a
* secret needs to be changed within a period of time, but it hasn't been changed.</p>
* <p>All existing policies are preserved until you send new policies or an empty policy. For more
* information about parameter policies, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-policies.html">Assigning parameter
* policies</a>. </p>
* @public
*/
Policies?: string | undefined;
/**
* <p>The data type for a <code>String</code> parameter. Supported data types include plain text
* and Amazon Machine Image (AMI) IDs.</p>
* <p>
* <b>The following data type values are supported.</b>
* </p>
* <ul>
* <li>
* <p>
* <code>text</code>
* </p>
* </li>
* <li>
* <p>
* <code>aws:ec2:image</code>
* </p>
* </li>
* <li>
* <p>
* <code>aws:ssm:integration</code>
* </p>
* </li>
* </ul>
* <p>When you create a <code>String</code> parameter and specify <code>aws:ec2:image</code>,
* Amazon Web Services Systems Manager validates the parameter value is in the required format, such as
* <code>ami-12345abcdeEXAMPLE</code>, and that the specified AMI is available in your
* Amazon Web Services account.</p>
* <note>
* <p>If the action is successful, the service sends back an HTTP 200 response which indicates a
* successful <code>PutParameter</code> call for all cases except for data type
* <code>aws:ec2:image</code>. If you call <code>PutParameter</code> with
* <code>aws:ec2:image</code> data type, a successful HTTP 200 response does not guarantee that
* your parameter was successfully created or updated. The <code>aws:ec2:image</code> value is
* validated asynchronously, and the <code>PutParameter</code> call returns before the validation
* is complete. If you submit an invalid AMI value, the PutParameter operation will return success,
* but the asynchronous validation will fail and the parameter will not be created or updated. To
* monitor whether your <code>aws:ec2:image</code> parameters are created successfully, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-cwe.html">Setting
* up notifications or trigger actions based on Parameter Store events</a>. For more
* information about AMI format validation , see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html">Native parameter
* support for Amazon Machine Image IDs</a>. </p>
* </note>
* @public
*/
DataType?: string | undefined;
}
/**
* @public
*/
export interface PutParameterResult {
/**
* <p>The new version number of a parameter. If you edit a parameter value, Parameter Store
* automatically creates a new version and assigns this new version a unique ID. You can reference a
* parameter version ID in API operations or in Systems Manager documents (SSM documents). By default, if you
* don't specify a specific version, the system returns the latest parameter value when a parameter
* is called.</p>
* @public
*/
Version?: number | undefined;
/**
* <p>The tier assigned to the parameter.</p>
* @public
*/
Tier?: ParameterTier | undefined;
}
/**
* @public
*/
export interface PutResourcePolicyRequest {
/**
* <p>Amazon Resource Name (ARN) of the resource to which you want to attach a policy.</p>
* @public
*/
ResourceArn: string | undefined;
/**
* <p>A policy you want to associate with a resource.</p>
* @public
*/
Policy: string | undefined;
/**
* <p>The policy ID.</p>
* @public
*/
PolicyId?: string | undefined;
/**
* <p>ID of the current policy version. The hash helps to prevent a situation where multiple users
* attempt to overwrite a policy. You must provide this hash when updating or deleting a
* policy.</p>
* @public
*/
PolicyHash?: string | undefined;
}
/**
* @public
*/
export interface PutResourcePolicyResponse {
/**
* <p>The policy ID. To update a policy, you must specify <code>PolicyId</code> and
* <code>PolicyHash</code>.</p>
* @public
*/
PolicyId?: string | undefined;
/**
* <p>ID of the current policy version.</p>
* @public
*/
PolicyHash?: string | undefined;
}
/**
* @public
*/
export interface RegisterDefaultPatchBaselineRequest {
/**
* <p>The ID of the patch baseline that should be the default patch baseline.</p>
* @public
*/
BaselineId: string | undefined;
}
/**
* @public
*/
export interface RegisterDefaultPatchBaselineResult {
/**
* <p>The ID of the default patch baseline.</p>
* @public
*/
BaselineId?: string | undefined;
}
/**
* @public
*/
export interface RegisterPatchBaselineForPatchGroupRequest {
/**
* <p>The ID of the patch baseline to register with the patch group.</p>
* @public
*/
BaselineId: string | undefined;
/**
* <p>The name of the patch group to be registered with the patch baseline.</p>
* @public
*/
PatchGroup: string | undefined;
}
/**
* @public
*/
export interface RegisterPatchBaselineForPatchGroupResult {
/**
* <p>The ID of the patch baseline the patch group was registered with.</p>
* @public
*/
BaselineId?: string | undefined;
/**
* <p>The name of the patch group registered with the patch baseline.</p>
* @public
*/
PatchGroup?: string | undefined;
}
/**
* @public
*/
export interface RegisterTargetWithMaintenanceWindowRequest {
/**
* <p>The ID of the maintenance window the target should be registered with.</p>
* @public
*/
WindowId: string | undefined;
/**
* <p>The type of target being registered with the maintenance window.</p>
* @public
*/
ResourceType: MaintenanceWindowResourceType | undefined;
/**
* <p>The targets to register with the maintenance window. In other words, the managed nodes to
* run commands on when the maintenance window runs.</p>
* <note>
* <p>If a single maintenance window task is registered with multiple targets, its task
* invocations occur sequentially and not in parallel. If your task must run on multiple targets at
* the same time, register a task for each target individually and assign each task the same
* priority level.</p>
* </note>
* <p>You can specify targets using managed node IDs, resource group names, or tags that have been
* applied to managed nodes.</p>
* <p>
* <b>Example 1</b>: Specify managed node IDs</p>
* <p>
* <code>Key=InstanceIds,Values=<instance-id-1>,<instance-id-2>,<instance-id-3></code>
* </p>
* <p>
* <b>Example 2</b>: Use tag key-pairs applied to managed
* nodes</p>
* <p>
* <code>Key=tag:<my-tag-key>,Values=<my-tag-value-1>,<my-tag-value-2></code>
* </p>
* <p>
* <b>Example 3</b>: Use tag-keys applied to managed nodes</p>
* <p>
* <code>Key=tag-key,Values=<my-tag-key-1>,<my-tag-key-2></code>
* </p>
* <p>
* <b>Example 4</b>: Use resource group names</p>
* <p>
* <code>Key=resource-groups:Name,Values=<resource-group-name></code>
* </p>
* <p>
* <b>Example 5</b>: Use filters for resource group types</p>
* <p>
* <code>Key=resource-groups:ResourceTypeFilters,Values=<resource-type-1>,<resource-type-2></code>
* </p>
* <note>
* <p>For <code>Key=resource-groups:ResourceTypeFilters</code>, specify resource types in the
* following format</p>
* <p>
* <code>Key=resource-groups:ResourceTypeFilters,Values=AWS::EC2::INSTANCE,AWS::EC2::VPC</code>
* </p>
* </note>
* <p>For more information about these examples formats, including the best use case for each one,
* see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/mw-cli-tutorial-targets-examples.html">Examples: Register
* targets with a maintenance window</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
Targets: Target[] | undefined;
/**
* <p>User-provided value that will be included in any Amazon CloudWatch Events events raised while
* running tasks for these targets in this maintenance window.</p>
* @public
*/
OwnerInformation?: string | undefined;
/**
* <p>An optional name for the target.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>An optional description for the target.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>User-provided idempotency token.</p>
* @public
*/
ClientToken?: string | undefined;
}
/**
* @public
*/
export interface RegisterTargetWithMaintenanceWindowResult {
/**
* <p>The ID of the target definition in this maintenance window.</p>
* @public
*/
WindowTargetId?: string | undefined;
}
/**
* @public
*/
export interface RegisterTaskWithMaintenanceWindowRequest {
/**
* <p>The ID of the maintenance window the task should be added to.</p>
* @public
*/
WindowId: string | undefined;
/**
* <p>The targets (either managed nodes or maintenance window targets).</p>
* <note>
* <p>One or more targets must be specified for maintenance window Run Command-type tasks.
* Depending on the task, targets are optional for other maintenance window task types (Automation,
* Lambda, and Step Functions). For more information about running tasks
* that don't specify targets, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">Registering
* maintenance window tasks without targets</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* </note>
* <p>Specify managed nodes using the following format: </p>
* <p>
* <code>Key=InstanceIds,Values=<instance-id-1>,<instance-id-2></code>
* </p>
* <p>Specify maintenance window targets using the following format:</p>
* <p>
* <code>Key=WindowTargetIds,Values=<window-target-id-1>,<window-target-id-2></code>
* </p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The ARN of the task to run.</p>
* @public
*/
TaskArn: string | undefined;
/**
* <p>The Amazon Resource Name (ARN) of the IAM service role for
* Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a
* service role ARN, Systems Manager uses a service-linked role in your account. If no
* appropriate service-linked role for Systems Manager exists in your account, it is created when
* you run <code>RegisterTaskWithMaintenanceWindow</code>.</p>
* <p>However, for an improved security posture, we strongly recommend creating a custom
* policy and custom service role for running your maintenance window tasks. The policy
* can be crafted to provide only the permissions needed for your particular
* maintenance window tasks. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html">Setting up Maintenance Windows</a> in the in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ServiceRoleArn?: string | undefined;
/**
* <p>The type of task being registered.</p>
* @public
*/
TaskType: MaintenanceWindowTaskType | undefined;
/**
* <p>The parameters that should be passed to the task when it is run.</p>
* <note>
* <p>
* <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs,
* instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information
* about how Systems Manager handles these options for the supported maintenance window task
* types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* @public
*/
TaskParameters?: Record<string, MaintenanceWindowTaskParameterValueExpression> | undefined;
/**
* <p>The parameters that the task should use during execution. Populate only the fields that
* match the task type. All other fields should be empty. </p>
* @public
*/
TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters | undefined;
/**
* <p>The priority of the task in the maintenance window, the lower the number the higher the
* priority. Tasks in a maintenance window are scheduled in priority order with tasks that have the
* same priority scheduled in parallel.</p>
* @public
*/
Priority?: number | undefined;
/**
* <p>The maximum number of targets this task can be run for, in parallel.</p>
* <note>
* <p>Although this element is listed as "Required: No", a value can be omitted only when you are
* registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless
* task</a> You must provide a value in all other cases.</p>
* <p>For maintenance window tasks without a target specified, you can't supply a value for this
* option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't
* affect the running of your task.</p>
* </note>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The maximum number of errors allowed before this task stops being scheduled.</p>
* <note>
* <p>Although this element is listed as "Required: No", a value can be omitted only when you are
* registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless
* task</a> You must provide a value in all other cases.</p>
* <p>For maintenance window tasks without a target specified, you can't supply a value for this
* option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't
* affect the running of your task.</p>
* </note>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>A structure containing information about an Amazon Simple Storage Service (Amazon S3) bucket
* to write managed node-level logs to. </p>
* <note>
* <p>
* <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the
* <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure.
* For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance
* window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* @public
*/
LoggingInfo?: LoggingInfo | undefined;
/**
* <p>An optional name for the task.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>An optional description for the task.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>User-provided idempotency token.</p>
* @public
*/
ClientToken?: string | undefined;
/**
* <p>Indicates whether tasks should continue to run after the cutoff time specified in the
* maintenance windows is reached. </p>
* <ul>
* <li>
* <p>
* <code>CONTINUE_TASK</code>: When the cutoff time is reached, any tasks that are running
* continue. The default value.</p>
* </li>
* <li>
* <p>
* <code>CANCEL_TASK</code>:</p>
* <ul>
* <li>
* <p>For Automation, Lambda, Step Functions tasks: When the cutoff
* time is reached, any task invocations that are already running continue, but no new task
* invocations are started.</p>
* </li>
* <li>
* <p>For Run Command tasks: When the cutoff time is reached, the system sends a <a>CancelCommand</a> operation that attempts to cancel the command associated with the
* task. However, there is no guarantee that the command will be terminated and the underlying
* process stopped.</p>
* </li>
* </ul>
* <p>The status for tasks that are not completed is <code>TIMED_OUT</code>.</p>
* </li>
* </ul>
* @public
*/
CutoffBehavior?: MaintenanceWindowTaskCutoffBehavior | undefined;
/**
* <p>The CloudWatch alarm you want to apply to your maintenance window task.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
}
/**
* @public
*/
export interface RegisterTaskWithMaintenanceWindowResult {
/**
* <p>The ID of the task in the maintenance window.</p>
* @public
*/
WindowTaskId?: string | undefined;
}
/**
* @public
*/
export interface RemoveTagsFromResourceRequest {
/**
* <p>The type of resource from which you want to remove a tag.</p>
* <note>
* <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises
* managed nodes. Specify the name of the managed node in the following format:
* <code>mi-<i>ID_number</i>
* </code>. For example,
* <code>mi-1a2b3c4d5e6f</code>.</p>
* </note>
* @public
*/
ResourceType: ResourceTypeForTagging | undefined;
/**
* <p>The ID of the resource from which you want to remove tags. For example:</p>
* <p>ManagedInstance: mi-012345abcde</p>
* <p>MaintenanceWindow: mw-012345abcde</p>
* <p>
* <code>Automation</code>: <code>example-c160-4567-8519-012345abcde</code>
* </p>
* <p>PatchBaseline: pb-012345abcde</p>
* <p>OpsMetadata object: <code>ResourceID</code> for tagging is created from the Amazon Resource
* Name (ARN) for the object. Specifically, <code>ResourceID</code> is created from the strings that
* come after the word <code>opsmetadata</code> in the ARN. For example, an OpsMetadata object with
* an ARN of <code>arn:aws:ssm:us-east-2:1234567890:opsmetadata/aws/ssm/MyGroup/appmanager</code>
* has a <code>ResourceID</code> of either <code>aws/ssm/MyGroup/appmanager</code> or
* <code>/aws/ssm/MyGroup/appmanager</code>.</p>
* <p>For the Document and Parameter values, use the name of the resource.</p>
* <note>
* <p>The <code>ManagedInstance</code> type for this API operation is only for on-premises
* managed nodes. Specify the name of the managed node in the following format: mi-ID_number. For
* example, mi-1a2b3c4d5e6f.</p>
* </note>
* @public
*/
ResourceId: string | undefined;
/**
* <p>Tag keys that you want to remove from the specified resource.</p>
* @public
*/
TagKeys: string[] | undefined;
}
/**
* @public
*/
export interface RemoveTagsFromResourceResult {
}
/**
* <p>The request body of the ResetServiceSetting API operation.</p>
* @public
*/
export interface ResetServiceSettingRequest {
/**
* <p>The Amazon Resource Name (ARN) of the service setting to reset. The setting ID can be one of
* the following.</p>
* <ul>
* <li>
* <p>
* <code>/ssm/appmanager/appmanager-enabled</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-destination</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-group-name</code>
* </p>
* </li>
* <li>
* <p>/ssm/automation/enable-adaptive-concurrency</p>
* </li>
* <li>
* <p>
* <code>/ssm/documents/console/public-sharing-permission</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/activation-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/default-ec2-instance-management-role</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/opsinsights/opscenter</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/default-parameter-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/high-throughput-enabled</code>
* </p>
* </li>
* </ul>
* @public
*/
SettingId: string | undefined;
}
/**
* <p>The result body of the ResetServiceSetting API operation.</p>
* @public
*/
export interface ResetServiceSettingResult {
/**
* <p>The current, effective service setting after calling the ResetServiceSetting API
* operation.</p>
* @public
*/
ServiceSetting?: ServiceSetting | undefined;
}
/**
* @public
*/
export interface ResumeSessionRequest {
/**
* <p>The ID of the disconnected session to resume.</p>
* @public
*/
SessionId: string | undefined;
}
/**
* @public
*/
export interface ResumeSessionResponse {
/**
* <p>The ID of the session.</p>
* @public
*/
SessionId?: string | undefined;
/**
* <p>An encrypted token value containing session and caller information. Used to authenticate the
* connection to the managed node.</p>
* @public
*/
TokenValue?: string | undefined;
/**
* <p>A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and
* receive output from the managed node. Format: <code>wss://ssmmessages.<b>region</b>.amazonaws.com/v1/data-channel/<b>session-id</b>?stream=(input|output)</code>.</p>
* <p>
* <b>region</b> represents the Region identifier for an
* Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as <code>us-east-2</code> for the US East (Ohio) Region.
* For a list of supported <b>region</b> values, see the <b>Region</b> column in <a href="https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region">Systems Manager service endpoints</a> in the
* <i>Amazon Web Services General Reference</i>.</p>
* <p>
* <b>session-id</b> represents the ID of a Session Manager session, such as
* <code>1a2b3c4dEXAMPLE</code>.</p>
* @public
*/
StreamUrl?: string | undefined;
}
/**
* @public
*/
export interface SendAutomationSignalRequest {
/**
* <p>The unique identifier for an existing Automation execution that you want to send the signal
* to.</p>
* @public
*/
AutomationExecutionId: string | undefined;
/**
* <p>The type of signal to send to an Automation execution. </p>
* @public
*/
SignalType: SignalType | undefined;
/**
* <p>The data sent with the signal. The data schema depends on the type of signal used in the
* request.</p>
* <p>For <code>Approve</code> and <code>Reject</code> signal types, the payload is an optional
* comment that you can send with the signal type. For example:</p>
* <p>
* <code>Comment="Looks good"</code>
* </p>
* <p>For <code>StartStep</code> and <code>Resume</code> signal types, you must send the name of
* the Automation step to start or resume as the payload. For example:</p>
* <p>
* <code>StepName="step1"</code>
* </p>
* <p>For the <code>StopStep</code> signal type, you must send the step execution ID as the
* payload. For example:</p>
* <p>
* <code>StepExecutionId="97fff367-fc5a-4299-aed8-0123456789ab"</code>
* </p>
* @public
*/
Payload?: Record<string, string[]> | undefined;
}
/**
* @public
*/
export interface SendAutomationSignalResult {
}
/**
* @public
*/
export interface SendCommandRequest {
/**
* <p>The IDs of the managed nodes where the command should run. Specifying managed node IDs is
* most useful when you are targeting a limited number of managed nodes, though you can specify up
* to 50 IDs.</p>
* <p>To target a larger number of managed nodes, or if you prefer not to list individual node
* IDs, we recommend using the <code>Targets</code> option instead. Using <code>Targets</code>,
* which accepts tag key-value pairs to identify the managed nodes to send commands to, you can a
* send command to tens, hundreds, or thousands of nodes at once.</p>
* <p>For more information about how to use targets, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html">Run commands at scale</a>
* in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
InstanceIds?: string[] | undefined;
/**
* <p>An array of search criteria that targets managed nodes using a <code>Key,Value</code>
* combination that you specify. Specifying targets is most useful when you want to send a command
* to a large number of managed nodes at once. Using <code>Targets</code>, which accepts tag
* key-value pairs to identify managed nodes, you can send a command to tens, hundreds, or thousands
* of nodes at once.</p>
* <p>To send a command to a smaller number of managed nodes, you can use the
* <code>InstanceIds</code> option instead.</p>
* <p>For more information about how to use targets, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html">Run commands at scale</a>
* in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The name of the Amazon Web Services Systems Manager document (SSM document) to run. This can be a public document or a
* custom document. To run a shared document belonging to another account, specify the document
* Amazon Resource Name (ARN). For more information about how to use shared documents, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-using-shared.html">Sharing SSM
* documents</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* <note>
* <p>If you specify a document name or ARN that hasn't been shared with your account, you
* receive an <code>InvalidDocument</code> error. </p>
* </note>
* @public
*/
DocumentName: string | undefined;
/**
* <p>The SSM document version to use in the request. You can specify $DEFAULT, $LATEST, or a
* specific version number. If you run commands by using the Command Line Interface (Amazon Web Services CLI), then
* you must escape the first two options by using a backslash. If you specify a version number, then
* you don't need to use the backslash. For example:</p>
* <p>--document-version "\$DEFAULT"</p>
* <p>--document-version "\$LATEST"</p>
* <p>--document-version "3"</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The Sha256 or Sha1 hash created by the system when the document was created. </p>
* <note>
* <p>Sha1 hashes have been deprecated.</p>
* </note>
* @public
*/
DocumentHash?: string | undefined;
/**
* <p>Sha256 or Sha1.</p>
* <note>
* <p>Sha1 hashes have been deprecated.</p>
* </note>
* @public
*/
DocumentHashType?: DocumentHashType | undefined;
/**
* <p>If this time is reached and the command hasn't already started running, it won't run.</p>
* @public
*/
TimeoutSeconds?: number | undefined;
/**
* <p>User-specified information about the command, such as a brief description of what the
* command should do.</p>
* @public
*/
Comment?: string | undefined;
/**
* <p>The required and optional parameters specified in the document being run.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager
* automatically determines the Amazon Web Services Region of the S3 bucket.</p>
* @public
*/
OutputS3Region?: string | undefined;
/**
* <p>The name of the S3 bucket where command execution responses should be stored.</p>
* @public
*/
OutputS3BucketName?: string | undefined;
/**
* <p>The directory structure within the S3 bucket where the responses should be stored.</p>
* @public
*/
OutputS3KeyPrefix?: string | undefined;
/**
* <p>(Optional) The maximum number of managed nodes that are allowed to run the command at the
* same time. You can specify a number such as 10 or a percentage such as 10%. The default value is
* <code>50</code>. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-velocity">Using
* concurrency controls</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The maximum number of errors allowed without the command failing. When the command fails one
* more time beyond the value of <code>MaxErrors</code>, the systems stops sending the command to
* additional targets. You can specify a number like 10 or a percentage like 10%. The default value
* is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/send-commands-multiple.html#send-commands-maxerrors">Using
* error controls</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The ARN of the Identity and Access Management (IAM) service role to use to publish
* Amazon Simple Notification Service (Amazon SNS) notifications for Run Command commands.</p>
* <p>This role must provide the <code>sns:Publish</code> permission for your notification topic.
* For information about creating and using this service role, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitoring-sns-notifications.html">Monitoring Systems Manager status changes using Amazon SNS notifications</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ServiceRoleArn?: string | undefined;
/**
* <p>Configurations for sending notifications.</p>
* @public
*/
NotificationConfig?: NotificationConfig | undefined;
/**
* <p>Enables Amazon Web Services Systems Manager to send Run Command output to Amazon CloudWatch Logs. Run Command is a
* tool in Amazon Web Services Systems Manager.</p>
* @public
*/
CloudWatchOutputConfig?: CloudWatchOutputConfig | undefined;
/**
* <p>The CloudWatch alarm you want to apply to your command.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
}
/**
* @public
*/
export interface SendCommandResult {
/**
* <p>The request as it was received by Systems Manager. Also provides the command ID which can be used
* future references to this request.</p>
* @public
*/
Command?: Command | undefined;
}
/**
* @public
*/
export interface StartAccessRequestRequest {
/**
* <p>A brief description explaining why you are requesting access to the node.</p>
* @public
*/
Reason: string | undefined;
/**
* <p>The node you are requesting access to.</p>
* @public
*/
Targets: Target[] | undefined;
/**
* <p>Key-value pairs of metadata you want to assign to the access request.</p>
* @public
*/
Tags?: Tag[] | undefined;
}
/**
* @public
*/
export interface StartAccessRequestResponse {
/**
* <p>The ID of the access request.</p>
* @public
*/
AccessRequestId?: string | undefined;
}
/**
* @public
*/
export interface StartAssociationsOnceRequest {
/**
* <p>The association IDs that you want to run immediately and only one time.</p>
* @public
*/
AssociationIds: string[] | undefined;
}
/**
* @public
*/
export interface StartAssociationsOnceResult {
}
/**
* @public
*/
export interface StartAutomationExecutionRequest {
/**
* <p>The name of the SSM document to run. This can be a public document or a custom document. To
* run a shared document belonging to another account, specify the document ARN. For more
* information about how to use shared documents, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/documents-ssm-sharing.html">Sharing SSM documents</a>
* in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
DocumentName: string | undefined;
/**
* <p>The version of the Automation runbook to use for this execution.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>A key-value map of execution parameters, which match the declared parameters in the
* Automation runbook.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>User-provided idempotency token. The token must be unique, is case insensitive, enforces the
* UUID format, and can't be reused.</p>
* @public
*/
ClientToken?: string | undefined;
/**
* <p>The execution mode of the automation. Valid modes include the following: Auto and
* Interactive. The default mode is Auto.</p>
* @public
*/
Mode?: ExecutionMode | undefined;
/**
* <p>The name of the parameter used as the target resource for the rate-controlled execution.
* Required if you specify targets.</p>
* @public
*/
TargetParameterName?: string | undefined;
/**
* <p>A key-value mapping to target resources. Required if you specify TargetParameterName.</p>
* <p>If both this parameter and the <code>TargetLocation:Targets</code> parameter are supplied,
* <code>TargetLocation:Targets</code> takes precedence.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps
* can't be specified together.</p>
* @public
*/
TargetMaps?: Record<string, string[]>[] | undefined;
/**
* <p>The maximum number of targets allowed to run this task in parallel. You can specify a
* number, such as 10, or a percentage, such as 10%. The default value is <code>10</code>.</p>
* <p>If both this parameter and the <code>TargetLocation:TargetsMaxConcurrency</code> are
* supplied, <code>TargetLocation:TargetsMaxConcurrency</code> takes precedence.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The number of errors that are allowed before the system stops running the automation on
* additional targets. You can specify either an absolute number of errors, for example 10, or a
* percentage of the target set, for example 10%. If you specify 3, for example, the system stops
* running the automation when the fourth error is received. If you specify 0, then the system stops
* running the automation on additional targets after the first error result is returned. If you run
* an automation on 50 resources and set max-errors to 10%, then the system stops running the
* automation on additional targets when the sixth error is received.</p>
* <p>Executions that are already running an automation when max-errors is reached are allowed to
* complete, but some of these executions may fail as well. If you need to ensure that there won't
* be more than max-errors failed executions, set max-concurrency to 1 so the executions proceed one
* at a time.</p>
* <p>If this parameter and the <code>TargetLocation:TargetsMaxErrors</code> parameter are both
* supplied, <code>TargetLocation:TargetsMaxErrors</code> takes precedence.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>A location is a combination of Amazon Web Services Regions and/or Amazon Web Services accounts where you want to run the
* automation. Use this operation to start an automation in multiple Amazon Web Services Regions and multiple
* Amazon Web Services accounts. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation-multiple-accounts-and-regions.html">Running automations in multiple Amazon Web Services Regions and accounts</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>. </p>
* @public
*/
TargetLocations?: TargetLocation[] | undefined;
/**
* <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for
* an automation. Tags enable you to categorize a resource in different ways, such as by purpose,
* owner, or environment. For example, you might want to tag an automation to identify an
* environment or operating system. In this case, you could specify the following key-value
* pairs:</p>
* <ul>
* <li>
* <p>
* <code>Key=environment,Value=test</code>
* </p>
* </li>
* <li>
* <p>
* <code>Key=OS,Value=Windows</code>
* </p>
* </li>
* </ul>
* <note>
* <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes
* capacity reserved for internal operations. When calling the
* <code>StartAutomationExecution</code> action, you can specify a maximum of 5 tags. You can,
* however, use the <a>AddTagsToResource</a> action to add up to a total of 50 tags to
* an existing automation configuration.</p>
* </note>
* @public
*/
Tags?: Tag[] | undefined;
/**
* <p>The CloudWatch alarm you want to apply to your automation.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
/**
* <p>Specify a publicly accessible URL for a file that contains the <code>TargetLocations</code>
* body. Currently, only files in presigned Amazon S3 buckets are supported. </p>
* @public
*/
TargetLocationsURL?: string | undefined;
}
/**
* @public
*/
export interface StartAutomationExecutionResult {
/**
* <p>The unique ID of a newly scheduled automation execution.</p>
* @public
*/
AutomationExecutionId?: string | undefined;
}
/**
* @public
*/
export interface StartChangeRequestExecutionRequest {
/**
* <p>The date and time specified in the change request to run the Automation runbooks.</p>
* <note>
* <p>The Automation runbooks specified for the runbook workflow can't run until all required
* approvals for the change request have been received.</p>
* </note>
* @public
*/
ScheduledTime?: Date | undefined;
/**
* <p>The name of the change template document to run during the runbook workflow.</p>
* @public
*/
DocumentName: string | undefined;
/**
* <p>The version of the change template document to run during the runbook workflow.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>A key-value map of parameters that match the declared parameters in the change template
* document.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>The name of the change request associated with the runbook workflow to be run.</p>
* @public
*/
ChangeRequestName?: string | undefined;
/**
* <p>The user-provided idempotency token. The token must be unique, is case insensitive, enforces
* the UUID format, and can't be reused.</p>
* @public
*/
ClientToken?: string | undefined;
/**
* <p>Indicates whether the change request can be approved automatically without the need for
* manual approvals.</p>
* <p>If <code>AutoApprovable</code> is enabled in a change template, then setting
* <code>AutoApprove</code> to <code>true</code> in <code>StartChangeRequestExecution</code>
* creates a change request that bypasses approver review.</p>
* <note>
* <p>Change Calendar restrictions are not bypassed in this scenario. If the state of an
* associated calendar is <code>CLOSED</code>, change freeze approvers must still grant permission
* for this change request to run. If they don't, the change won't be processed until the calendar
* state is again <code>OPEN</code>. </p>
* </note>
* @public
*/
AutoApprove?: boolean | undefined;
/**
* <p>Information about the Automation runbooks that are run during the runbook workflow.</p>
* <note>
* <p>The Automation runbooks specified for the runbook workflow can't run until all required
* approvals for the change request have been received.</p>
* </note>
* @public
*/
Runbooks: Runbook[] | undefined;
/**
* <p>Optional metadata that you assign to a resource. You can specify a maximum of five tags for
* a change request. 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 change request to identify
* an environment or target Amazon Web Services Region. In this case, you could specify the following key-value
* pairs:</p>
* <ul>
* <li>
* <p>
* <code>Key=Environment,Value=Production</code>
* </p>
* </li>
* <li>
* <p>
* <code>Key=Region,Value=us-east-2</code>
* </p>
* </li>
* </ul>
* <note>
* <p>The <code>Array Members</code> maximum value is reported as 1000. This number includes
* capacity reserved for internal operations. When calling the
* <code>StartChangeRequestExecution</code> action, you can specify a maximum of 5 tags. You can,
* however, use the <a>AddTagsToResource</a> action to add up to a total of 50 tags to
* an existing change request configuration.</p>
* </note>
* @public
*/
Tags?: Tag[] | undefined;
/**
* <p>The time that the requester expects the runbook workflow related to the change request to
* complete. The time is an estimate only that the requester provides for reviewers.</p>
* @public
*/
ScheduledEndTime?: Date | undefined;
/**
* <p>User-provided details about the change. If no details are provided, content specified in the
* <b>Template information</b> section of the associated change template
* is added.</p>
* @public
*/
ChangeDetails?: string | undefined;
}
/**
* @public
*/
export interface StartChangeRequestExecutionResult {
/**
* <p>The unique ID of a runbook workflow operation. (A runbook workflow is a type of Automation
* operation.) </p>
* @public
*/
AutomationExecutionId?: string | undefined;
}
/**
* <p>Information about the optional inputs that can be specified for an automation execution
* preview.</p>
* @public
*/
export interface AutomationExecutionInputs {
/**
* <p>Information about parameters that can be specified for the preview operation.
* </p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>The name of the parameter used as the target resource for the rate-controlled execution.
* Required if you specify targets.</p>
* @public
*/
TargetParameterName?: string | undefined;
/**
* <p>Information about the resources that would be included in the actual runbook execution, if
* it were to be run. Both Targets and TargetMaps can't be specified together.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps
* can't be specified together.</p>
* @public
*/
TargetMaps?: Record<string, string[]>[] | undefined;
/**
* <p>Information about the Amazon Web Services Regions and Amazon Web Services accounts targeted by the Automation execution
* preview operation.</p>
* @public
*/
TargetLocations?: TargetLocation[] | undefined;
/**
* <p>A publicly accessible URL for a file that contains the <code>TargetLocations</code> body.
* Currently, only files in presigned Amazon S3 buckets are supported.</p>
* @public
*/
TargetLocationsURL?: string | undefined;
}
/**
* <p>Information about the inputs for an execution preview.</p>
* @public
*/
export type ExecutionInputs = ExecutionInputs.AutomationMember | ExecutionInputs.$UnknownMember;
/**
* @public
*/
export declare namespace ExecutionInputs {
/**
* <p>Information about the optional inputs that can be specified for an automation execution
* preview.</p>
* @public
*/
interface AutomationMember {
Automation: AutomationExecutionInputs;
$unknown?: never;
}
/**
* @public
*/
interface $UnknownMember {
Automation?: never;
$unknown: [string, any];
}
/**
* @deprecated unused in schema-serde mode.
*
*/
interface Visitor<T> {
Automation: (value: AutomationExecutionInputs) => T;
_: (name: string, value: any) => T;
}
}
/**
* @public
*/
export interface StartExecutionPreviewRequest {
/**
* <p>The name of the Automation runbook to run. The result of the execution preview indicates
* what the impact would be of running this runbook.</p>
* @public
*/
DocumentName: string | undefined;
/**
* <p>The version of the Automation runbook to run. The default value is
* <code>$DEFAULT</code>.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>Information about the inputs that can be specified for the preview operation.
* </p>
* @public
*/
ExecutionInputs?: ExecutionInputs | undefined;
}
/**
* @public
*/
export interface StartExecutionPreviewResponse {
/**
* <p>The ID of the execution preview generated by the system.</p>
* @public
*/
ExecutionPreviewId?: string | undefined;
}
/**
* @public
*/
export interface StartSessionRequest {
/**
* <p>The managed node to connect to for the session.</p>
* @public
*/
Target: string | undefined;
/**
* <p>The name of the SSM document you want to use to define the type of session, input
* parameters, or preferences for the session. For example, <code>SSM-SessionManagerRunShell</code>.
* You can call the <a>GetDocument</a> API to verify the document exists before
* attempting to start a session. If no document name is provided, a shell to the managed node is
* launched by default. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-sessions-start.html">Start a
* session</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
DocumentName?: string | undefined;
/**
* <p>The reason for connecting to the instance. This value is included in the details for the
* Amazon CloudWatch Events event created when you start the session.</p>
* @public
*/
Reason?: string | undefined;
/**
* <p>The values you want to specify for the parameters defined in the Session document.
* For more information about these parameters, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/getting-started-create-preferences-cli.html">Create a
* Session Manager preferences document</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
}
/**
* @public
*/
export interface StartSessionResponse {
/**
* <p>The ID of the session.</p>
* @public
*/
SessionId?: string | undefined;
/**
* <p>An encrypted token value containing session and caller information. This token is used to
* authenticate the connection to the managed node, and is valid only long enough to ensure the
* connection is successful. Never share your session's token.</p>
* @public
*/
TokenValue?: string | undefined;
/**
* <p>A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and
* receive output from the node. Format: <code>wss://ssmmessages.<b>region</b>.amazonaws.com/v1/data-channel/<b>session-id</b>?stream=(input|output)</code>
* </p>
* <p>
* <b>region</b> represents the Region identifier for an
* Amazon Web Services Region supported by Amazon Web Services Systems Manager, such as <code>us-east-2</code> for the US East (Ohio) Region.
* For a list of supported <b>region</b> values, see the <b>Region</b> column in <a href="https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region">Systems Manager service endpoints</a> in the
* <i>Amazon Web Services General Reference</i>.</p>
* <p>
* <b>session-id</b> represents the ID of a Session Manager session, such as
* <code>1a2b3c4dEXAMPLE</code>.</p>
* @public
*/
StreamUrl?: string | undefined;
}
/**
* @public
*/
export interface StopAutomationExecutionRequest {
/**
* <p>The execution ID of the Automation to stop.</p>
* @public
*/
AutomationExecutionId: string | undefined;
/**
* <p>The stop request type. Valid types include the following: Cancel and Complete. The default
* type is Cancel.</p>
* @public
*/
Type?: StopType | undefined;
}
/**
* @public
*/
export interface StopAutomationExecutionResult {
}
/**
* @public
*/
export interface TerminateSessionRequest {
/**
* <p>The ID of the session to terminate.</p>
* @public
*/
SessionId: string | undefined;
}
/**
* @public
*/
export interface TerminateSessionResponse {
/**
* <p>The ID of the session that has been terminated.</p>
* @public
*/
SessionId?: string | undefined;
}
/**
* @public
*/
export interface UnlabelParameterVersionRequest {
/**
* <p>The name of the parameter from which you want to delete one or more labels.</p>
* <note>
* <p>You can't enter the Amazon Resource Name (ARN) for a parameter, only the parameter name
* itself.</p>
* </note>
* @public
*/
Name: string | undefined;
/**
* <p>The specific version of the parameter which you want to delete one or more labels from. If
* it isn't present, the call will fail.</p>
* @public
*/
ParameterVersion: number | undefined;
/**
* <p>One or more labels to delete from the specified parameter version.</p>
* @public
*/
Labels: string[] | undefined;
}
/**
* @public
*/
export interface UnlabelParameterVersionResult {
/**
* <p>A list of all labels deleted from the parameter.</p>
* @public
*/
RemovedLabels?: string[] | undefined;
/**
* <p>The labels that aren't attached to the given parameter version.</p>
* @public
*/
InvalidLabels?: string[] | undefined;
}
/**
* @public
*/
export interface UpdateAssociationRequest {
/**
* <p>The ID of the association you want to update. </p>
* @public
*/
AssociationId: string | undefined;
/**
* <p>The parameters you want to update for the association. If you create a parameter using
* Parameter Store, a tool in Amazon Web Services Systems Manager, you can reference the parameter using
* <code>\{\{ssm:parameter-name\}\}</code>.</p>
* @public
*/
Parameters?: Record<string, string[]> | undefined;
/**
* <p>The document version you want update for the association. </p>
* <important>
* <p>State Manager doesn't support running associations that use a new version of a document if
* that document is shared from another account. State Manager always runs the <code>default</code>
* version of a document if shared from another account, even though the Systems Manager console shows that a
* new version was processed. If you want to run an association using a new version of a document
* shared form another account, you must set the document version to <code>default</code>.</p>
* </important>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The cron expression used to schedule the association that you want to update.</p>
* @public
*/
ScheduleExpression?: string | undefined;
/**
* <p>An S3 bucket where you want to store the results of this request.</p>
* @public
*/
OutputLocation?: InstanceAssociationOutputLocation | undefined;
/**
* <p>The name of the SSM Command document or Automation runbook that contains the configuration
* information for the managed node.</p>
* <p>You can specify Amazon Web Services-predefined documents, documents you created, or a document that is
* shared with you from another account.</p>
* <p>For Systems Manager document (SSM document) that are shared with you from other Amazon Web Services accounts, you
* must specify the complete SSM document ARN, in the following format:</p>
* <p>
* <code>arn:aws:ssm:<i>region</i>:<i>account-id</i>:document/<i>document-name</i>
* </code>
* </p>
* <p>For example:</p>
* <p>
* <code>arn:aws:ssm:us-east-2:12345678912:document/My-Shared-Document</code>
* </p>
* <p>For Amazon Web Services-predefined documents and SSM documents you created in your account, you only need
* to specify the document name. For example, <code>AWS-ApplyPatchBaseline</code> or
* <code>My-Document</code>.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The targets of the association.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The name of the association that you want to update.</p>
* @public
*/
AssociationName?: string | undefined;
/**
* <p>This parameter is provided for concurrency control purposes. You must specify the latest
* association version in the service. If you want to ensure that this request succeeds, either
* specify <code>$LATEST</code>, or omit this parameter.</p>
* @public
*/
AssociationVersion?: string | undefined;
/**
* <p>Choose the parameter that will define how your automation will branch out. This target is
* required for associations that use an Automation runbook and target resources by using rate
* controls. Automation is a tool in Amazon Web Services Systems Manager.</p>
* @public
*/
AutomationTargetParameterName?: string | undefined;
/**
* <p>The number of errors that are allowed before the system stops sending requests to run the
* association on additional targets. You can specify either an absolute number of errors, for
* example 10, or a percentage of the target set, for example 10%. If you specify 3, for example,
* the system stops sending requests when the fourth error is received. If you specify 0, then the
* system stops sending requests after the first error is returned. If you run an association on 50
* managed nodes and set <code>MaxError</code> to 10%, then the system stops sending the request
* when the sixth error is received.</p>
* <p>Executions that are already running an association when <code>MaxErrors</code> is reached
* are allowed to complete, but some of these executions may fail as well. If you need to ensure
* that there won't be more than max-errors failed executions, set <code>MaxConcurrency</code> to 1
* so that executions proceed one at a time.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The maximum number of targets allowed to run the association at the same time. You can
* specify a number, for example 10, or a percentage of the target set, for example 10%. The default
* value is 100%, which means all targets run the association at the same time.</p>
* <p>If a new managed node starts and attempts to run an association while Systems Manager is running
* <code>MaxConcurrency</code> associations, the association is allowed to run. During the next
* association interval, the new managed node will process its association within the limit
* specified for <code>MaxConcurrency</code>.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The severity level to assign to the association.</p>
* @public
*/
ComplianceSeverity?: AssociationComplianceSeverity | undefined;
/**
* <p>The mode for generating association compliance. You can specify <code>AUTO</code> or
* <code>MANUAL</code>. In <code>AUTO</code> mode, the system uses the status of the association
* execution to determine the compliance status. If the association execution runs successfully,
* then the association is <code>COMPLIANT</code>. If the association execution doesn't run
* successfully, the association is <code>NON-COMPLIANT</code>.</p>
* <p>In <code>MANUAL</code> mode, you must specify the <code>AssociationId</code> as a parameter
* for the <a>PutComplianceItems</a> API operation. In this case, compliance data isn't
* managed by State Manager, a tool in Amazon Web Services Systems Manager. It is managed by your direct call to the <a>PutComplianceItems</a> API operation.</p>
* <p>By default, all associations use <code>AUTO</code> mode.</p>
* @public
*/
SyncCompliance?: AssociationSyncCompliance | undefined;
/**
* <p>By default, when you update an association, the system runs it immediately after it is
* updated and then according to the schedule you specified. Specify <code>true</code> for
* <code>ApplyOnlyAtCronInterval</code> if you want the association to run only according to the
* schedule you specified.</p>
* <p>If you chose this option when you created an association and later you edit that association
* or you make changes to the Automation runbook or SSM document on which that association is based,
* State Manager applies the association at the next specified cron interval. For example, if you
* chose the <code>Latest</code> version of an SSM document when you created an association and you
* edit the association by choosing a different document version on the Documents page, State
* Manager applies the association at the next specified cron interval if you previously set
* <code>ApplyOnlyAtCronInterval</code> to <code>true</code>. If this option wasn't selected, State
* Manager immediately runs the association.</p>
* <p>For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-about.html#state-manager-about-scheduling">Understanding when associations are applied to resources</a> and <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-about.html#runbook-target-updates">About
* target updates with Automation runbooks</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* <p>This parameter isn't supported for rate expressions.</p>
* <p>You can reset this parameter. To do so, specify the
* <code>no-apply-only-at-cron-interval</code> parameter when you update the association from the
* command line. This parameter forces the association to run immediately after updating it and
* according to the interval specified.</p>
* @public
*/
ApplyOnlyAtCronInterval?: boolean | undefined;
/**
* <p>The names or Amazon Resource Names (ARNs) of the Change Calendar type documents you want to
* gate your associations under. The associations only run when that change calendar is open. For
* more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-change-calendar">Amazon Web Services Systems Manager Change
* Calendar</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
CalendarNames?: string[] | undefined;
/**
* <p>A location is a combination of Amazon Web Services Regions and Amazon Web Services accounts where you want to run the
* association. Use this action to update an association in multiple Regions and multiple
* accounts.</p>
* <note>
* <p>The <code>TargetLocationAlarmConfiguration</code> parameter is not supported by State
* Manager.</p>
* </note>
* @public
*/
TargetLocations?: TargetLocation[] | undefined;
/**
* <p>Number of days to wait after the scheduled day to run an association. For example, if you
* specified a cron schedule of <code>cron(0 0 ? * THU#2 *)</code>, you could specify an offset of 3
* to run the association each Sunday after the second Thursday of the month. For more information
* about cron schedules for associations, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html">Reference: Cron
* and rate expressions for Systems Manager</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. </p>
* <note>
* <p>To use offsets, you must specify the <code>ApplyOnlyAtCronInterval</code> parameter. This
* option tells the system not to run an association immediately after you create it. </p>
* </note>
* @public
*/
ScheduleOffset?: number | undefined;
/**
* <p>The number of hours the association can run before it is canceled. Duration applies to
* associations that are currently running, and any pending and in progress commands on all targets.
* If a target was taken offline for the association to run, it is made available again immediately,
* without a reboot. </p>
* <p>The <code>Duration</code> parameter applies only when both these conditions are true:</p>
* <ul>
* <li>
* <p>The association for which you specify a duration is cancelable according to the parameters
* of the SSM command document or Automation runbook associated with this execution. </p>
* </li>
* <li>
* <p>The command specifies the <code>
* <a href="https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_UpdateAssociation.html#systemsmanager-UpdateAssociation-request-ApplyOnlyAtCronInterval">ApplyOnlyAtCronInterval</a>
* </code> parameter, which means that the association doesn't
* run immediately after it is updated, but only according to the specified schedule.</p>
* </li>
* </ul>
* @public
*/
Duration?: number | undefined;
/**
* <p>A key-value mapping of document parameters to target resources. Both Targets and TargetMaps
* can't be specified together.</p>
* @public
*/
TargetMaps?: Record<string, string[]>[] | undefined;
/**
* <p>The details for the CloudWatch alarm you want to apply to an automation or
* command.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
/**
* <p>A role used by association to take actions on your behalf.
* State Manager will assume this role and call required APIs when dispatching
* configurations to nodes. If not specified, <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/using-service-linked-roles.html">
* service-linked role for Systems Manager</a> will be used by default.
* </p>
* <note>
* <p>It is recommended that you define a custom IAM role so that you have full control of
* the permissions that State Manager has when taking actions on your behalf.</p>
* <p>Service-linked role support in State Manager is being phased out. Associations
* relying on service-linked role may require updates in the future to continue
* functioning properly.</p>
* </note>
* @public
*/
AssociationDispatchAssumeRole?: string | undefined;
}
/**
* @public
*/
export interface UpdateAssociationResult {
/**
* <p>The description of the association that was updated.</p>
* @public
*/
AssociationDescription?: AssociationDescription | undefined;
}
/**
* @public
*/
export interface UpdateAssociationStatusRequest {
/**
* <p>The name of the SSM document.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The managed node ID.</p>
* @public
*/
InstanceId: string | undefined;
/**
* <p>The association status.</p>
* @public
*/
AssociationStatus: AssociationStatus | undefined;
}
/**
* @public
*/
export interface UpdateAssociationStatusResult {
/**
* <p>Information about the association.</p>
* @public
*/
AssociationDescription?: AssociationDescription | undefined;
}
/**
* @public
*/
export interface UpdateCloudConnectorRequest {
/**
* <p>The ID of the cloud connector to update.</p>
* @public
*/
CloudConnectorId: string | undefined;
/**
* <p>A new friendly name for the cloud connector.</p>
* @public
*/
DisplayName?: string | undefined;
/**
* <p>The updated configuration details for connecting to the third-party cloud
* environment.</p>
* @public
*/
Configuration?: CloudConnectorConfiguration | undefined;
/**
* <p>A new description for the cloud connector.</p>
* @public
*/
Description?: string | undefined;
}
/**
* @public
*/
export interface UpdateCloudConnectorResult {
/**
* <p>The ID of the cloud connector that was updated.</p>
* @public
*/
CloudConnectorId?: string | undefined;
}
/**
* @public
*/
export interface UpdateDocumentRequest {
/**
* <p>A valid JSON or YAML string.</p>
* @public
*/
Content: string | undefined;
/**
* <p>A list of key-value pairs that describe attachments to a version of a document.</p>
* @public
*/
Attachments?: AttachmentsSource[] | undefined;
/**
* <p>The name of the SSM document that you want to update.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The friendly name of the SSM document that you want to update. This value can differ for
* each version of the document. If you don't specify a value for this parameter in your request,
* the existing value is applied to the new document version.</p>
* @public
*/
DisplayName?: string | undefined;
/**
* <p>An optional field specifying the version of the artifact you are updating with the document.
* For example, 12.6. This value is unique across all versions of a document, and can't be
* changed.</p>
* @public
*/
VersionName?: string | undefined;
/**
* <p>The version of the document that you want to update. Currently, Systems Manager supports updating only
* the latest version of the document. You can specify the version number of the latest version or
* use the <code>$LATEST</code> variable.</p>
* <note>
* <p>If you change a document version for a State Manager association, Systems Manager immediately runs
* the association unless you previously specifed the <code>apply-only-at-cron-interval</code>
* parameter.</p>
* </note>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>Specify the document format for the new document version. Systems Manager supports JSON and YAML
* documents. JSON is the default format.</p>
* @public
*/
DocumentFormat?: DocumentFormat | undefined;
/**
* <p>Specify a new target type for the document.</p>
* @public
*/
TargetType?: string | undefined;
}
/**
* @public
*/
export interface UpdateDocumentResult {
/**
* <p>A description of the document that was updated.</p>
* @public
*/
DocumentDescription?: DocumentDescription | undefined;
}
/**
* @public
*/
export interface UpdateDocumentDefaultVersionRequest {
/**
* <p>The name of a custom document that you want to set as the default version.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The version of a custom document that you want to set as the default version.</p>
* @public
*/
DocumentVersion: string | undefined;
}
/**
* <p>A default version of a document.</p>
* @public
*/
export interface DocumentDefaultVersionDescription {
/**
* <p>The name of the document.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The default version of the document.</p>
* @public
*/
DefaultVersion?: string | undefined;
/**
* <p>The default version of the artifact associated with the document.</p>
* @public
*/
DefaultVersionName?: string | undefined;
}
/**
* @public
*/
export interface UpdateDocumentDefaultVersionResult {
/**
* <p>The description of a custom document that you want to set as the default version.</p>
* @public
*/
Description?: DocumentDefaultVersionDescription | undefined;
}
/**
* <p>Information about a document approval review.</p>
* @public
*/
export interface DocumentReviews {
/**
* <p>The action to take on a document approval review request.</p>
* @public
*/
Action: DocumentReviewAction | undefined;
/**
* <p>A comment entered by a user in your organization about the document review request.</p>
* @public
*/
Comment?: DocumentReviewCommentSource[] | undefined;
}
/**
* @public
*/
export interface UpdateDocumentMetadataRequest {
/**
* <p>The name of the change template for which a version's metadata is to be updated.</p>
* @public
*/
Name: string | undefined;
/**
* <p>The version of a change template in which to update approval metadata.</p>
* @public
*/
DocumentVersion?: string | undefined;
/**
* <p>The change template review details to update.</p>
* @public
*/
DocumentReviews: DocumentReviews | undefined;
}
/**
* @public
*/
export interface UpdateDocumentMetadataResponse {
}
/**
* @public
*/
export interface UpdateMaintenanceWindowRequest {
/**
* <p>The ID of the maintenance window to update.</p>
* @public
*/
WindowId: string | undefined;
/**
* <p>The name of the maintenance window.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>An optional description for the update request.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to
* become active. <code>StartDate</code> allows you to delay activation of the maintenance window
* until the specified future date.</p>
* <note>
* <p>When using a rate schedule, if you provide a start date that occurs in the past, the
* current date and time are used as the start date. </p>
* </note>
* @public
*/
StartDate?: string | undefined;
/**
* <p>The date and time, in ISO-8601 Extended format, for when you want the maintenance window to
* become inactive. <code>EndDate</code> allows you to set a date and time in the future when the
* maintenance window will no longer run.</p>
* @public
*/
EndDate?: string | undefined;
/**
* <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
* @public
*/
Schedule?: string | undefined;
/**
* <p>The time zone that the scheduled maintenance window executions are based on, in Internet
* Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or
* "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time
* Zone Database</a> on the IANA website.</p>
* @public
*/
ScheduleTimezone?: string | undefined;
/**
* <p>The number of days to wait after the date and time specified by a cron expression before
* running the maintenance window.</p>
* <p>For example, the following cron expression schedules a maintenance window to run the third
* Tuesday of every month at 11:30 PM.</p>
* <p>
* <code>cron(30 23 ? * TUE#3 *)</code>
* </p>
* <p>If the schedule offset is <code>2</code>, the maintenance window won't run until two days
* later.</p>
* @public
*/
ScheduleOffset?: number | undefined;
/**
* <p>The duration of the maintenance window in hours.</p>
* @public
*/
Duration?: number | undefined;
/**
* <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling
* new tasks for execution.</p>
* @public
*/
Cutoff?: number | undefined;
/**
* <p>Whether targets must be registered with the maintenance window before tasks can be defined
* for those targets.</p>
* @public
*/
AllowUnassociatedTargets?: boolean | undefined;
/**
* <p>Whether the maintenance window is enabled.</p>
* @public
*/
Enabled?: boolean | undefined;
/**
* <p>If <code>True</code>, then all fields that are required by the <a>CreateMaintenanceWindow</a> operation are also required for this API request. Optional
* fields that aren't specified are set to null. </p>
* @public
*/
Replace?: boolean | undefined;
}
/**
* @public
*/
export interface UpdateMaintenanceWindowResult {
/**
* <p>The ID of the created maintenance window.</p>
* @public
*/
WindowId?: string | undefined;
/**
* <p>The name of the maintenance window.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>An optional description of the update.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled
* to become active. The maintenance window won't run before this specified time.</p>
* @public
*/
StartDate?: string | undefined;
/**
* <p>The date and time, in ISO-8601 Extended format, for when the maintenance window is scheduled
* to become inactive. The maintenance window won't run after this specified time.</p>
* @public
*/
EndDate?: string | undefined;
/**
* <p>The schedule of the maintenance window in the form of a cron or rate expression.</p>
* @public
*/
Schedule?: string | undefined;
/**
* <p>The time zone that the scheduled maintenance window executions are based on, in Internet
* Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or
* "Asia/Seoul". For more information, see the <a href="https://www.iana.org/time-zones">Time
* Zone Database</a> on the IANA website.</p>
* @public
*/
ScheduleTimezone?: string | undefined;
/**
* <p>The number of days to wait to run a maintenance window after the scheduled cron expression
* date and time.</p>
* @public
*/
ScheduleOffset?: number | undefined;
/**
* <p>The duration of the maintenance window in hours.</p>
* @public
*/
Duration?: number | undefined;
/**
* <p>The number of hours before the end of the maintenance window that Amazon Web Services Systems Manager stops scheduling
* new tasks for execution.</p>
* @public
*/
Cutoff?: number | undefined;
/**
* <p>Whether targets must be registered with the maintenance window before tasks can be defined
* for those targets.</p>
* @public
*/
AllowUnassociatedTargets?: boolean | undefined;
/**
* <p>Whether the maintenance window is enabled.</p>
* @public
*/
Enabled?: boolean | undefined;
}
/**
* @public
*/
export interface UpdateMaintenanceWindowTargetRequest {
/**
* <p>The maintenance window ID with which to modify the target.</p>
* @public
*/
WindowId: string | undefined;
/**
* <p>The target ID to modify.</p>
* @public
*/
WindowTargetId: string | undefined;
/**
* <p>The targets to add or replace.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>User-provided value that will be included in any Amazon CloudWatch Events events raised while
* running tasks for these targets in this maintenance window.</p>
* @public
*/
OwnerInformation?: string | undefined;
/**
* <p>A name for the update.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>An optional description for the update.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>If <code>True</code>, then all fields that are required by the <a>RegisterTargetWithMaintenanceWindow</a> operation are also required for this API
* request. Optional fields that aren't specified are set to null.</p>
* @public
*/
Replace?: boolean | undefined;
}
/**
* @public
*/
export interface UpdateMaintenanceWindowTargetResult {
/**
* <p>The maintenance window ID specified in the update request.</p>
* @public
*/
WindowId?: string | undefined;
/**
* <p>The target ID specified in the update request.</p>
* @public
*/
WindowTargetId?: string | undefined;
/**
* <p>The updated targets.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The updated owner.</p>
* @public
*/
OwnerInformation?: string | undefined;
/**
* <p>The updated name.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The updated description.</p>
* @public
*/
Description?: string | undefined;
}
/**
* @public
*/
export interface UpdateMaintenanceWindowTaskRequest {
/**
* <p>The maintenance window ID that contains the task to modify.</p>
* @public
*/
WindowId: string | undefined;
/**
* <p>The task ID to modify.</p>
* @public
*/
WindowTaskId: string | undefined;
/**
* <p>The targets (either managed nodes or tags) to modify. Managed nodes are specified using the
* format <code>Key=instanceids,Values=instanceID_1,instanceID_2</code>. Tags are specified using
* the format <code> Key=tag_name,Values=tag_value</code>. </p>
* <note>
* <p>One or more targets must be specified for maintenance window Run Command-type tasks.
* Depending on the task, targets are optional for other maintenance window task types (Automation,
* Lambda, and Step Functions). For more information about running tasks
* that don't specify targets, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">Registering
* maintenance window tasks without targets</a> in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* </note>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The task ARN to modify.</p>
* @public
*/
TaskArn?: string | undefined;
/**
* <p>The Amazon Resource Name (ARN) of the IAM service role for
* Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a
* service role ARN, Systems Manager uses a service-linked role in your account. If no
* appropriate service-linked role for Systems Manager exists in your account, it is created when
* you run <code>RegisterTaskWithMaintenanceWindow</code>.</p>
* <p>However, for an improved security posture, we strongly recommend creating a custom
* policy and custom service role for running your maintenance window tasks. The policy
* can be crafted to provide only the permissions needed for your particular
* maintenance window tasks. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html">Setting up Maintenance Windows</a> in the in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ServiceRoleArn?: string | undefined;
/**
* <p>The parameters to modify.</p>
* <note>
* <p>
* <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs,
* instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information
* about how Systems Manager handles these options for the supported maintenance window task
* types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* <p>The map has the following format:</p>
* <p>Key: string, between 1 and 255 characters</p>
* <p>Value: an array of strings, each string is between 1 and 255 characters</p>
* @public
*/
TaskParameters?: Record<string, MaintenanceWindowTaskParameterValueExpression> | undefined;
/**
* <p>The parameters that the task should use during execution. Populate only the fields that
* match the task type. All other fields should be empty.</p>
* <important>
* <p>When you update a maintenance window task that has options specified in
* <code>TaskInvocationParameters</code>, you must provide again all the
* <code>TaskInvocationParameters</code> values that you want to retain. The values you don't
* specify again are removed. For example, suppose that when you registered a Run Command task, you
* specified <code>TaskInvocationParameters</code> values for <code>Comment</code>,
* <code>NotificationConfig</code>, and <code>OutputS3BucketName</code>. If you update the
* maintenance window task and specify only a different <code>OutputS3BucketName</code> value, the
* values for <code>Comment</code> and <code>NotificationConfig</code> are removed.</p>
* </important>
* @public
*/
TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters | undefined;
/**
* <p>The new task priority to specify. The lower the number, the higher the priority. Tasks that
* have the same priority are scheduled in parallel.</p>
* @public
*/
Priority?: number | undefined;
/**
* <p>The new <code>MaxConcurrency</code> value you want to specify. <code>MaxConcurrency</code>
* is the number of targets that are allowed to run this task, in parallel.</p>
* <note>
* <p>Although this element is listed as "Required: No", a value can be omitted only when you are
* registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless
* task</a> You must provide a value in all other cases.</p>
* <p>For maintenance window tasks without a target specified, you can't supply a value for this
* option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't
* affect the running of your task.</p>
* </note>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The new <code>MaxErrors</code> value to specify. <code>MaxErrors</code> is the maximum
* number of errors that are allowed before the task stops being scheduled.</p>
* <note>
* <p>Although this element is listed as "Required: No", a value can be omitted only when you are
* registering or updating a <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html">targetless
* task</a> You must provide a value in all other cases.</p>
* <p>For maintenance window tasks without a target specified, you can't supply a value for this
* option. Instead, the system inserts a placeholder value of <code>1</code>. This value doesn't
* affect the running of your task.</p>
* </note>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The new logging location in Amazon S3 to specify.</p>
* <note>
* <p>
* <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the
* <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure.
* For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance
* window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* @public
*/
LoggingInfo?: LoggingInfo | undefined;
/**
* <p>The new task name to specify.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The new task description to specify.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>If True, then all fields that are required by the <a>RegisterTaskWithMaintenanceWindow</a> operation are also required for this API request.
* Optional fields that aren't specified are set to null.</p>
* @public
*/
Replace?: boolean | undefined;
/**
* <p>Indicates whether tasks should continue to run after the cutoff time specified in the
* maintenance windows is reached. </p>
* <ul>
* <li>
* <p>
* <code>CONTINUE_TASK</code>: When the cutoff time is reached, any tasks that are running
* continue. The default value.</p>
* </li>
* <li>
* <p>
* <code>CANCEL_TASK</code>:</p>
* <ul>
* <li>
* <p>For Automation, Lambda, Step Functions tasks: When the cutoff
* time is reached, any task invocations that are already running continue, but no new task
* invocations are started.</p>
* </li>
* <li>
* <p>For Run Command tasks: When the cutoff time is reached, the system sends a <a>CancelCommand</a> operation that attempts to cancel the command associated with the
* task. However, there is no guarantee that the command will be terminated and the underlying
* process stopped.</p>
* </li>
* </ul>
* <p>The status for tasks that are not completed is <code>TIMED_OUT</code>.</p>
* </li>
* </ul>
* @public
*/
CutoffBehavior?: MaintenanceWindowTaskCutoffBehavior | undefined;
/**
* <p>The CloudWatch alarm you want to apply to your maintenance window task.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
}
/**
* @public
*/
export interface UpdateMaintenanceWindowTaskResult {
/**
* <p>The ID of the maintenance window that was updated.</p>
* @public
*/
WindowId?: string | undefined;
/**
* <p>The task ID of the maintenance window that was updated.</p>
* @public
*/
WindowTaskId?: string | undefined;
/**
* <p>The updated target values.</p>
* @public
*/
Targets?: Target[] | undefined;
/**
* <p>The updated task ARN value.</p>
* @public
*/
TaskArn?: string | undefined;
/**
* <p>The Amazon Resource Name (ARN) of the IAM service role for
* Amazon Web Services Systems Manager to assume when running a maintenance window task. If you do not specify a
* service role ARN, Systems Manager uses a service-linked role in your account. If no
* appropriate service-linked role for Systems Manager exists in your account, it is created when
* you run <code>RegisterTaskWithMaintenanceWindow</code>.</p>
* <p>However, for an improved security posture, we strongly recommend creating a custom
* policy and custom service role for running your maintenance window tasks. The policy
* can be crafted to provide only the permissions needed for your particular
* maintenance window tasks. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-permissions.html">Setting up Maintenance Windows</a> in the in the
* <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ServiceRoleArn?: string | undefined;
/**
* <p>The updated parameter values.</p>
* <note>
* <p>
* <code>TaskParameters</code> has been deprecated. To specify parameters to pass to a task when it runs,
* instead use the <code>Parameters</code> option in the <code>TaskInvocationParameters</code> structure. For information
* about how Systems Manager handles these options for the supported maintenance window task
* types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* @public
*/
TaskParameters?: Record<string, MaintenanceWindowTaskParameterValueExpression> | undefined;
/**
* <p>The updated parameter values.</p>
* @public
*/
TaskInvocationParameters?: MaintenanceWindowTaskInvocationParameters | undefined;
/**
* <p>The updated priority value.</p>
* @public
*/
Priority?: number | undefined;
/**
* <p>The updated <code>MaxConcurrency</code> value.</p>
* @public
*/
MaxConcurrency?: string | undefined;
/**
* <p>The updated <code>MaxErrors</code> value.</p>
* @public
*/
MaxErrors?: string | undefined;
/**
* <p>The updated logging information in Amazon S3.</p>
* <note>
* <p>
* <code>LoggingInfo</code> has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the
* <code>OutputS3BucketName</code> and <code>OutputS3KeyPrefix</code> options in the <code>TaskInvocationParameters</code> structure.
* For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance
* window task types, see <a>MaintenanceWindowTaskInvocationParameters</a>.</p>
* </note>
* @public
*/
LoggingInfo?: LoggingInfo | undefined;
/**
* <p>The updated task name.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The updated task description.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>The specification for whether tasks should continue to run after the cutoff time specified
* in the maintenance windows is reached. </p>
* @public
*/
CutoffBehavior?: MaintenanceWindowTaskCutoffBehavior | undefined;
/**
* <p>The details for the CloudWatch alarm you applied to your maintenance window
* task.</p>
* @public
*/
AlarmConfiguration?: AlarmConfiguration | undefined;
}
/**
* @public
*/
export interface UpdateManagedInstanceRoleRequest {
/**
* <p>The ID of the managed node where you want to update the role.</p>
* @public
*/
InstanceId: string | undefined;
/**
* <p>The name of the Identity and Access Management (IAM) role that you want to assign to
* the managed node. This IAM role must provide AssumeRole permissions for the
* Amazon Web Services Systems Manager service principal <code>ssm.amazonaws.com</code>. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/hybrid-multicloud-service-role.html">Create the IAM service role required for Systems Manager in hybrid and multicloud
* environments</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* <note>
* <p>You can't specify an IAM service-linked role for this parameter. You must
* create a unique role.</p>
* </note>
* @public
*/
IamRole: string | undefined;
}
/**
* @public
*/
export interface UpdateManagedInstanceRoleResult {
}
/**
* @public
*/
export interface UpdateOpsItemRequest {
/**
* <p>User-defined text that contains information about the OpsItem, in Markdown format. </p>
* @public
*/
Description?: string | undefined;
/**
* <p>Add new keys or edit existing key-value pairs of the OperationalData map in the OpsItem
* object.</p>
* <p>Operational data is custom data that provides useful reference details about the OpsItem.
* For example, you can specify log files, error strings, license keys, troubleshooting tips, or
* other relevant data. You enter operational data as key-value pairs. The key has a maximum length
* of 128 characters. The value has a maximum size of 20 KB.</p>
* <important>
* <p>Operational data keys <i>can't</i> begin with the following:
* <code>amazon</code>, <code>aws</code>, <code>amzn</code>, <code>ssm</code>,
* <code>/amazon</code>, <code>/aws</code>, <code>/amzn</code>, <code>/ssm</code>.</p>
* </important>
* <p>You can choose to make the data searchable by other users in the account or you can restrict
* search access. Searchable data means that all users with access to the OpsItem Overview page (as
* provided by the <a>DescribeOpsItems</a> API operation) can view and search on the
* specified data. Operational data that isn't searchable is only viewable by users who have access
* to the OpsItem (as provided by the <a>GetOpsItem</a> API operation).</p>
* <p>Use the <code>/aws/resources</code> key in OperationalData to specify a related resource in
* the request. Use the <code>/aws/automations</code> key in OperationalData to associate an
* Automation runbook with the OpsItem. To view Amazon Web Services CLI example commands that use these keys, see
* <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-manually-create-OpsItems.html">Creating OpsItems
* manually</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
OperationalData?: Record<string, OpsItemDataValue> | undefined;
/**
* <p>Keys that you want to remove from the OperationalData map.</p>
* @public
*/
OperationalDataToDelete?: string[] | undefined;
/**
* <p>The Amazon Resource Name (ARN) of an SNS topic where notifications are sent when this
* OpsItem is edited or changed.</p>
* @public
*/
Notifications?: OpsItemNotification[] | undefined;
/**
* <p>The importance of this OpsItem in relation to other OpsItems in the system.</p>
* @public
*/
Priority?: number | undefined;
/**
* <p>One or more OpsItems that share something in common with the current OpsItems. For example,
* related OpsItems can include OpsItems with similar error messages, impacted resources, or
* statuses for the impacted resource.</p>
* @public
*/
RelatedOpsItems?: RelatedOpsItem[] | undefined;
/**
* <p>The OpsItem status. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-working-with-OpsItems-editing-details.html">Editing OpsItem details</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
Status?: OpsItemStatus | undefined;
/**
* <p>The ID of the OpsItem.</p>
* @public
*/
OpsItemId: string | undefined;
/**
* <p>A short heading that describes the nature of the OpsItem and the impacted resource.</p>
* @public
*/
Title?: string | undefined;
/**
* <p>Specify a new category for an OpsItem.</p>
* @public
*/
Category?: string | undefined;
/**
* <p>Specify a new severity for an OpsItem.</p>
* @public
*/
Severity?: string | undefined;
/**
* <p>The time a runbook workflow started. Currently reported only for the OpsItem type
* <code>/aws/changerequest</code>.</p>
* @public
*/
ActualStartTime?: Date | undefined;
/**
* <p>The time a runbook workflow ended. Currently reported only for the OpsItem type
* <code>/aws/changerequest</code>.</p>
* @public
*/
ActualEndTime?: Date | undefined;
/**
* <p>The time specified in a change request for a runbook workflow to start. Currently supported
* only for the OpsItem type <code>/aws/changerequest</code>.</p>
* @public
*/
PlannedStartTime?: Date | undefined;
/**
* <p>The time specified in a change request for a runbook workflow to end. Currently supported
* only for the OpsItem type <code>/aws/changerequest</code>.</p>
* @public
*/
PlannedEndTime?: Date | undefined;
/**
* <p>The OpsItem Amazon Resource Name (ARN).</p>
* @public
*/
OpsItemArn?: string | undefined;
}
/**
* @public
*/
export interface UpdateOpsItemResponse {
}
/**
* @public
*/
export interface UpdateOpsMetadataRequest {
/**
* <p>The Amazon Resource Name (ARN) of the OpsMetadata Object to update.</p>
* @public
*/
OpsMetadataArn: string | undefined;
/**
* <p>Metadata to add to an OpsMetadata object.</p>
* @public
*/
MetadataToUpdate?: Record<string, MetadataValue> | undefined;
/**
* <p>The metadata keys to delete from the OpsMetadata object. </p>
* @public
*/
KeysToDelete?: string[] | undefined;
}
/**
* @public
*/
export interface UpdateOpsMetadataResult {
/**
* <p>The Amazon Resource Name (ARN) of the OpsMetadata Object that was updated.</p>
* @public
*/
OpsMetadataArn?: string | undefined;
}
/**
* @public
*/
export interface UpdatePatchBaselineRequest {
/**
* <p>The ID of the patch baseline to update.</p>
* @public
*/
BaselineId: string | undefined;
/**
* <p>The name of the patch baseline.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>A set of global filters used to include patches in the baseline.</p>
* <important>
* <p>The <code>GlobalFilters</code> parameter can be configured only by using the CLI or an Amazon Web Services SDK. It can't be configured from the Patch Manager
* console, and its value isn't displayed in the console.</p>
* </important>
* @public
*/
GlobalFilters?: PatchFilterGroup | undefined;
/**
* <p>A set of rules used to include patches in the baseline.</p>
* @public
*/
ApprovalRules?: PatchRuleGroup | undefined;
/**
* <p>A list of explicitly approved patches for the baseline.</p>
* <p>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">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
ApprovedPatches?: string[] | undefined;
/**
* <p>Assigns a new compliance severity level to an existing patch baseline.</p>
* @public
*/
ApprovedPatchesComplianceLevel?: PatchComplianceLevel | undefined;
/**
* <p>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.</p>
* @public
*/
ApprovedPatchesEnableNonSecurity?: boolean | undefined;
/**
* <p>A list of explicitly rejected patches for the baseline.</p>
* <p>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">Package
* name formats for approved and rejected patch lists</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
* @public
*/
RejectedPatches?: string[] | undefined;
/**
* <p>The action for Patch Manager to take on patches included in the
* <code>RejectedPackages</code> list.</p>
* <dl>
* <dt>ALLOW_AS_DEPENDENCY</dt>
* <dd>
* <p>
* <b>Linux and macOS</b>: A package in the rejected patches list
* is installed only if it is a dependency of another package. It is considered compliant with
* the patch baseline, and its status is reported as <code>INSTALLED_OTHER</code>. This is the
* default action if no option is specified.</p>
* <p>
* <b>Windows Server</b>: Windows Server doesn't support the
* concept of package dependencies. If a package in the rejected patches list and already
* installed on the node, its status is reported as <code>INSTALLED_OTHER</code>. Any package not
* already installed on the node is skipped. This is the default action if no option is
* specified.</p>
* </dd>
* <dt>BLOCK</dt>
* <dd>
* <p>
* <b>All OSs</b>: Packages in the rejected patches list, and
* packages that include them as dependencies, aren't installed by Patch Manager under any
* circumstances. </p>
* <p>State value assignment for patch compliance:</p>
* <ul>
* <li>
* <p>If a package was installed before it was added to the rejected patches list, or is
* installed outside of Patch Manager afterward, it's considered noncompliant with the patch
* baseline and its status is reported as <code>INSTALLED_REJECTED</code>.</p>
* </li>
* <li>
* <p>If an update attempts to install a dependency package that is now rejected by the
* baseline, when previous versions of the package were not rejected, the package being updated
* is reported as <code>MISSING</code> for <code>SCAN</code> operations and as
* <code>FAILED</code> for <code>INSTALL</code> operations.</p>
* </li>
* </ul>
* </dd>
* </dl>
* @public
*/
RejectedPatchesAction?: PatchAction | undefined;
/**
* <p>A description of the patch baseline.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>Information about the patches to use to update the managed nodes, including target operating
* systems and source repositories. Applies to Linux managed nodes only.</p>
* @public
*/
Sources?: PatchSource[] | undefined;
/**
* <p>Indicates the status to be assigned to security patches that are available but not approved
* because they don't meet the installation criteria specified in the patch baseline.</p>
* <p>Example scenario: Security patches that you might want installed can be skipped if you have
* specified a long period to wait after a patch is released before installation. If an update to
* the patch is released during your specified waiting period, the waiting period for installing the
* patch starts over. If the waiting period is too long, multiple versions of the patch could be
* released but never installed.</p>
* <p>Supported for Windows Server managed nodes only.</p>
* @public
*/
AvailableSecurityUpdatesComplianceStatus?: PatchComplianceStatus | undefined;
/**
* <p>If True, then all fields that are required by the <a>CreatePatchBaseline</a>
* operation are also required for this API request. Optional fields that aren't specified are set
* to null.</p>
* @public
*/
Replace?: boolean | undefined;
}
/**
* @public
*/
export interface UpdatePatchBaselineResult {
/**
* <p>The ID of the deleted patch baseline.</p>
* @public
*/
BaselineId?: string | undefined;
/**
* <p>The name of the patch baseline.</p>
* @public
*/
Name?: string | undefined;
/**
* <p>The operating system rule used by the updated patch baseline.</p>
* @public
*/
OperatingSystem?: OperatingSystem | undefined;
/**
* <p>A set of global filters used to exclude patches from the baseline.</p>
* @public
*/
GlobalFilters?: PatchFilterGroup | undefined;
/**
* <p>A set of rules used to include patches in the baseline.</p>
* @public
*/
ApprovalRules?: PatchRuleGroup | undefined;
/**
* <p>A list of explicitly approved patches for the baseline.</p>
* @public
*/
ApprovedPatches?: string[] | undefined;
/**
* <p>The compliance severity level assigned to the patch baseline after the update
* completed.</p>
* @public
*/
ApprovedPatchesComplianceLevel?: PatchComplianceLevel | undefined;
/**
* <p>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.</p>
* @public
*/
ApprovedPatchesEnableNonSecurity?: boolean | undefined;
/**
* <p>A list of explicitly rejected patches for the baseline.</p>
* @public
*/
RejectedPatches?: string[] | undefined;
/**
* <p>The action specified to take on patches included in the <code>RejectedPatches</code> list. A
* patch can be allowed only if it is a dependency of another package, or blocked entirely along
* with packages that include it as a dependency.</p>
* @public
*/
RejectedPatchesAction?: PatchAction | undefined;
/**
* <p>The date when the patch baseline was created.</p>
* @public
*/
CreatedDate?: Date | undefined;
/**
* <p>The date when the patch baseline was last modified.</p>
* @public
*/
ModifiedDate?: Date | undefined;
/**
* <p>A description of the patch baseline.</p>
* @public
*/
Description?: string | undefined;
/**
* <p>Information about the patches to use to update the managed nodes, including target operating
* systems and source repositories. Applies to Linux managed nodes only.</p>
* @public
*/
Sources?: PatchSource[] | undefined;
/**
* <p>Indicates the compliance status of managed nodes for which security-related patches are
* available but were not approved. This preference is specified when the
* <code>CreatePatchBaseline</code> or <code>UpdatePatchBaseline</code> commands are run.</p>
* <p>Applies to Windows Server managed nodes only.</p>
* @public
*/
AvailableSecurityUpdatesComplianceStatus?: PatchComplianceStatus | undefined;
}
/**
* @public
*/
export interface UpdateResourceDataSyncRequest {
/**
* <p>The name of the resource data sync you want to update.</p>
* @public
*/
SyncName: string | undefined;
/**
* <p>The type of resource data sync. The supported <code>SyncType</code> is
* SyncFromSource.</p>
* @public
*/
SyncType: string | undefined;
/**
* <p>Specify information about the data sources to synchronize.</p>
* @public
*/
SyncSource: ResourceDataSyncSource | undefined;
}
/**
* @public
*/
export interface UpdateResourceDataSyncResult {
}
/**
* <p>The request body of the UpdateServiceSetting API operation.</p>
* @public
*/
export interface UpdateServiceSettingRequest {
/**
* <p>The Amazon Resource Name (ARN) of the service setting to update. For example,
* <code>arn:aws:ssm:us-east-1:111122223333:servicesetting/ssm/parameter-store/high-throughput-enabled</code>.
* The setting ID can be one of the following.</p>
* <ul>
* <li>
* <p>
* <code>/ssm/appmanager/appmanager-enabled</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-destination</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/automation/customer-script-log-group-name</code>
* </p>
* </li>
* <li>
* <p>/ssm/automation/enable-adaptive-concurrency</p>
* </li>
* <li>
* <p>
* <code>/ssm/documents/console/public-sharing-permission</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/activation-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/managed-instance/default-ec2-instance-management-role</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/opsinsights/opscenter</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/default-parameter-tier</code>
* </p>
* </li>
* <li>
* <p>
* <code>/ssm/parameter-store/high-throughput-enabled</code>
* </p>
* </li>
* </ul>
* <note>
* <p>Permissions to update the
* <code>/ssm/managed-instance/default-ec2-instance-management-role</code> setting should only be
* provided to administrators. Implement least privilege access when allowing individuals to
* configure or modify the Default Host Management Configuration.</p>
* </note>
* @public
*/
SettingId: string | undefined;
/**
* <p>The new value to specify for the service setting. The following list specifies the available
* values for each setting.</p>
* <ul>
* <li>
* <p>For <code>/ssm/appmanager/appmanager-enabled</code>, enter <code>True</code> or
* <code>False</code>.</p>
* </li>
* <li>
* <p>For <code>/ssm/automation/customer-script-log-destination</code>, enter <code>CloudWatch</code>.</p>
* </li>
* <li>
* <p>For <code>/ssm/automation/customer-script-log-group-name</code>, enter the name of an
* Amazon CloudWatch Logs log group.</p>
* </li>
* <li>
* <p>For <code>/ssm/documents/console/public-sharing-permission</code>, enter
* <code>Enable</code> or <code>Disable</code>.</p>
* </li>
* <li>
* <p>For <code>/ssm/managed-instance/activation-tier</code>, enter <code>standard</code> or
* <code>advanced</code>.</p>
* </li>
* <li>
* <p>For <code>/ssm/managed-instance/default-ec2-instance-management-role</code>, enter the
* name of an IAM role. </p>
* </li>
* <li>
* <p> For <code>/ssm/opsinsights/opscenter</code>, enter <code>Enabled</code> or
* <code>Disabled</code>. </p>
* </li>
* <li>
* <p>For <code>/ssm/parameter-store/default-parameter-tier</code>, enter <code>Standard</code>,
* <code>Advanced</code>, or <code>Intelligent-Tiering</code>
* </p>
* </li>
* <li>
* <p>For <code>/ssm/parameter-store/high-throughput-enabled</code>, enter <code>true</code> or
* <code>false</code>.</p>
* </li>
* </ul>
* @public
*/
SettingValue: string | undefined;
}
/**
* <p>The result body of the UpdateServiceSetting API operation.</p>
* @public
*/
export interface UpdateServiceSettingResult {
}
/**
* @public
*/
export interface ValidateCloudConnectorRequest {
/**
* <p>The ID of the cloud connector to validate.</p>
* @public
*/
CloudConnectorId: string | undefined;
/**
* <p>The maximum number of validation findings to return.</p>
* @public
*/
MaxResults?: number | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Identifies the specific resource scope of a validation finding.</p>
* @public
*/
export interface ValidationFindingScope {
/**
* <p>The type of the resource scope.</p>
* @public
*/
Type?: ValidationFindingScopeType | undefined;
/**
* <p>The ID of the resource within the scope.</p>
* @public
*/
Id?: string | undefined;
}
/**
* <p>A validation finding from a cloud connector validation check.</p>
* @public
*/
export interface ValidationFinding {
/**
* <p>The type of the validation finding.</p>
* @public
*/
Type?: ValidationFindingType | undefined;
/**
* <p>A code that identifies the specific validation finding.</p>
* @public
*/
Code?: ValidationFindingCode | undefined;
/**
* <p>A message that describes the validation finding.</p>
* @public
*/
Message?: string | undefined;
/**
* <p>A message from the third-party cloud provider related to the validation finding.</p>
* @public
*/
ProviderMessage?: string | undefined;
/**
* <p>The scope of the validation finding, identifying the specific resource affected.</p>
* @public
*/
Scope?: ValidationFindingScope | undefined;
}
/**
* @public
*/
export interface ValidateCloudConnectorResult {
/**
* <p>A list of validation findings for the cloud connector.</p>
* @public
*/
ValidationFindings?: ValidationFinding[] | undefined;
/**
* <p>The token to use when requesting the next set of items.</p>
* @public
*/
NextToken?: string | undefined;
}
/**
* <p>Specifies the inventory type and attribute for the aggregation execution.</p>
* @public
*/
export interface InventoryAggregator {
/**
* <p>The inventory type and attribute name for aggregation.</p>
* @public
*/
Expression?: string | undefined;
/**
* <p>Nested aggregators to further refine aggregation for an inventory type.</p>
* @public
*/
Aggregators?: InventoryAggregator[] | undefined;
/**
* <p>A user-defined set of one or more filters on which to aggregate inventory data. Groups
* return a count of resources that match and don't match the specified criteria.</p>
* @public
*/
Groups?: InventoryGroup[] | undefined;
}
/**
* <p>One or more aggregators for viewing counts of nodes using different
* dimensions.</p>
* @public
*/
export interface NodeAggregator {
/**
* <p>The aggregator type for limiting a node summary. Currently, only <code>Count</code> is
* supported.</p>
* @public
*/
AggregatorType: NodeAggregatorType | undefined;
/**
* <p>The data type name to use for viewing counts of nodes. Currently, only <code>Instance</code>
* is supported.</p>
* @public
*/
TypeName: NodeTypeName | undefined;
/**
* <p>The name of a node attribute on which to limit the count of nodes.</p>
* @public
*/
AttributeName: NodeAttributeName | undefined;
/**
* <p>Information about aggregators used to refine a node summary.</p>
* @public
*/
Aggregators?: NodeAggregator[] | undefined;
}
/**
* <p>One or more aggregators for viewing counts of OpsData using different dimensions such as
* <code>Source</code>, <code>CreatedTime</code>, or <code>Source and CreatedTime</code>, to name a
* few.</p>
* @public
*/
export interface OpsAggregator {
/**
* <p>Either a <code>Range</code> or <code>Count</code> aggregator for limiting an OpsData
* summary.</p>
* @public
*/
AggregatorType?: string | undefined;
/**
* <p>The data type name to use for viewing counts of OpsData.</p>
* @public
*/
TypeName?: string | undefined;
/**
* <p>The name of an OpsData attribute on which to limit the count of OpsData.</p>
* @public
*/
AttributeName?: string | undefined;
/**
* <p>The aggregator value.</p>
* @public
*/
Values?: Record<string, string> | undefined;
/**
* <p>The aggregator filters.</p>
* @public
*/
Filters?: OpsFilter[] | undefined;
/**
* <p>A nested aggregator for viewing counts of OpsData.</p>
* @public
*/
Aggregators?: OpsAggregator[] | undefined;
}
/**
* @public
*/
export interface GetInventoryRequest {
/**
* <p>One or more filters. Use a filter to return a more specific list of results.</p>
* @public
*/
Filters?: InventoryFilter[] | undefined;
/**
* <p>Returns counts of inventory types based on one or more expressions. For example, if you
* aggregate by using an expression that uses the <code>AWS:InstanceInformation.PlatformType</code>
* type, you can see a count of how many Windows and Linux managed nodes exist in your inventoried
* fleet.</p>
* @public
*/
Aggregators?: InventoryAggregator[] | undefined;
/**
* <p>The list of inventory item types to return.</p>
* @public
*/
ResultAttributes?: ResultAttribute[] | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.)</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* @public
*/
export interface GetOpsSummaryRequest {
/**
* <p>Specify the name of a resource data sync to get.</p>
* @public
*/
SyncName?: string | undefined;
/**
* <p>Optional filters used to scope down the returned OpsData. </p>
* @public
*/
Filters?: OpsFilter[] | undefined;
/**
* <p>Optional aggregators that return counts of OpsData based on one or more expressions.</p>
* @public
*/
Aggregators?: OpsAggregator[] | undefined;
/**
* <p>The OpsData data type to return.</p>
* @public
*/
ResultAttributes?: OpsResultAttribute[] | undefined;
/**
* <p>A token to start the list. Use this token to get the next set of results. </p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}
/**
* @public
*/
export interface ListNodesSummaryRequest {
/**
* <p>The name of the Amazon Web Services managed resource data sync to retrieve information about.</p>
* <p>For cross-account/cross-Region configurations, this parameter is required, and the name of
* the supported resource data sync is <code>AWS-QuickSetup-ManagedNode</code>.</p>
* <p>For single account/single-Region configurations, the parameter is not required.</p>
* @public
*/
SyncName?: string | undefined;
/**
* <p>One or more filters. Use a filter to generate a summary that matches your specified filter
* criteria.</p>
* @public
*/
Filters?: NodeFilter[] | undefined;
/**
* <p>Specify one or more aggregators to return a count of managed nodes that match that
* expression. For example, a count of managed nodes by operating system.</p>
* @public
*/
Aggregators: NodeAggregator[] | undefined;
/**
* <p>The token for the next set of items to return. (You received this token from a previous
* call.) The call also returns a token that you can specify in a subsequent call to get the next
* set of results.</p>
* @public
*/
NextToken?: string | undefined;
/**
* <p>The maximum number of items to return for this call. The call also returns a token that you
* can specify in a subsequent call to get the next set of results.</p>
* @public
*/
MaxResults?: number | undefined;
}