SSM

public struct SSM

Client object for interacting with AWS SSM service.

AWS Systems Manager AWS Systems Manager is a collection of capabilities that helps you automate management tasks such as collecting system inventory, applying operating system (OS) patches, automating the creation of Amazon Machine Images (AMIs), and configuring operating systems (OSs) and applications at scale. Systems Manager lets you remotely and securely manage the configuration of your managed instances. A managed instance is any Amazon Elastic Compute Cloud instance (EC2 instance), or any on-premises server or virtual machine (VM) in your hybrid environment that has been configured for Systems Manager. This reference is intended to be used with the AWS Systems Manager User Guide. To get started, verify prerequisites and configure managed instances. For more information, see Setting up AWS Systems Manager in the AWS Systems Manager User Guide. For information about other API actions you can perform on EC2 instances, see the Amazon EC2 API Reference. For information about how to use a Query API, see Making API requests.

  • Initialize the SSM client

    Declaration

    Swift

    public init(accessKeyId: String? = nil, secretAccessKey: String? = nil, sessionToken: String? = nil, region: AWSSDKSwiftCore.Region? = nil, endpoint: String? = nil, middlewares: [AWSServiceMiddleware] = [], eventLoopGroupProvider: AWSClient.EventLoopGroupProvider = .useAWSClientShared)

    Parameters

    accessKeyId

    Public access key provided by AWS

    secretAccessKey

    Private access key provided by AWS

    sessionToken

    Token provided by STS.AssumeRole() which allows access to another AWS account

    region

    Region of server you want to communicate with

    endpoint

    Custom endpoint URL to use instead of standard AWS servers

    middlewares

    Array of middlewares to apply to requests and responses

    eventLoopGroupProvider

    EventLoopGroup to use. Use useAWSClientShared if the client shall manage its own EventLoopGroup.

  • Adds or overwrites one or more tags for the specified resource. Tags are metadata that you can assign to your documents, managed instances, maintenance windows, Parameter Store parameters, and patch baselines. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. Each tag consists of a key and an optional value, both of which you define. For example, you could define a set of tags for your account’s managed instances that helps you track each instance’s owner and stack level. For example: Key=Owner and Value=DbAdmin, SysAdmin, or Dev. Or Key=Stack and Value=Production, Pre-Production, or Test. Each resource can have a maximum of 50 tags. We recommend that you devise a set of tag keys that meets your needs for each resource type. Using a consistent set of tag keys makes it easier for you to manage your resources. You can search and filter the resources based on the tags you add. Tags don’t have any semantic meaning to and are interpreted strictly as a string of characters. For more information about using tags with EC2 instances, see Tagging your Amazon EC2 resources in the Amazon EC2 User Guide.

    Declaration

    Swift

    public func addTagsToResource(_ input: AddTagsToResourceRequest) -> EventLoopFuture<AddTagsToResourceResult>
  • Attempts to cancel the command specified by the Command ID. There is no guarantee that the command will be terminated and the underlying process stopped.

    Declaration

    Swift

    public func cancelCommand(_ input: CancelCommandRequest) -> EventLoopFuture<CancelCommandResult>
  • Stops a maintenance window execution that is already in progress and cancels any tasks in the window that have not already starting running. (Tasks already in progress will continue to completion.)

    Declaration

    Swift

    public func cancelMaintenanceWindowExecution(_ input: CancelMaintenanceWindowExecutionRequest) -> EventLoopFuture<CancelMaintenanceWindowExecutionResult>
  • Generates an activation code and activation ID you can use to register your on-premises server or virtual machine (VM) with Systems Manager. Registering these machines with Systems Manager makes it possible to manage them using Systems Manager capabilities. You use the activation code and ID when installing SSM Agent on machines in your hybrid environment. For more information about requirements for managing on-premises instances and VMs using Systems Manager, see Setting up AWS Systems Manager for hybrid environments in the AWS Systems Manager User Guide. On-premises servers or VMs that are registered with Systems Manager and EC2 instances that you manage with Systems Manager are all called managed instances.

    Declaration

    Swift

    public func createActivation(_ input: CreateActivationRequest) -> EventLoopFuture<CreateActivationResult>
  • A State Manager association defines the state that you want to maintain on your instances. For example, an association can specify that anti-virus software must be installed and running on your instances, or that certain ports must be closed. For static targets, the association specifies a schedule for when the configuration is reapplied. For dynamic targets, such as an AWS Resource Group or an AWS Autoscaling Group, State Manager applies the configuration when new instances are added to the group. The association also specifies actions to take when applying the configuration. For example, an association for anti-virus software might run once a day. If the software is not installed, then State Manager installs it. If the software is installed, but the service is not running, then the association might instruct State Manager to start the service.

    Declaration

    Swift

    public func createAssociation(_ input: CreateAssociationRequest) -> EventLoopFuture<CreateAssociationResult>
  • Associates the specified Systems Manager document with the specified instances or targets. When you associate a document with one or more instances using instance IDs or tags, SSM Agent running on the instance processes the document and configures the instance as specified. If you associate a document with an instance that already has an associated document, the system returns the AssociationAlreadyExists exception.

    Declaration

    Swift

    public func createAssociationBatch(_ input: CreateAssociationBatchRequest) -> EventLoopFuture<CreateAssociationBatchResult>
  • Creates a Systems Manager (SSM) document. An SSM document defines the actions that Systems Manager performs on your managed instances. For more information about SSM documents, including information about supported schemas, features, and syntax, see AWS Systems Manager Documents in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func createDocument(_ input: CreateDocumentRequest) -> EventLoopFuture<CreateDocumentResult>
  • Creates a new maintenance window. The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

    Declaration

    Swift

    public func createMaintenanceWindow(_ input: CreateMaintenanceWindowRequest) -> EventLoopFuture<CreateMaintenanceWindowResult>
  • Creates a new OpsItem. You must have permission in AWS Identity and Access Management (IAM) to create a new OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func createOpsItem(_ input: CreateOpsItemRequest) -> EventLoopFuture<CreateOpsItemResponse>
  • Creates a patch baseline. For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

    Declaration

    Swift

    public func createPatchBaseline(_ input: CreatePatchBaselineRequest) -> EventLoopFuture<CreatePatchBaselineResult>
  • A resource data sync helps you view data from multiple sources in a single location. Systems Manager offers two types of resource data sync: SyncToDestination and SyncFromSource. You can configure Systems Manager Inventory to use the SyncToDestination type to synchronize Inventory data from multiple AWS Regions to a single S3 bucket. For more information, see Configuring Resource Data Sync for Inventory in the AWS Systems Manager User Guide. You can configure Systems Manager Explorer to use the SyncFromSource type to synchronize operational work items (OpsItems) and operational data (OpsData) from multiple AWS Regions to a single S3 bucket. This type can synchronize OpsItems and OpsData from multiple AWS accounts and Regions or EntireOrganization by using AWS Organizations. For more information, see Setting up Systems Manager Explorer to display data from multiple accounts and Regions in the AWS Systems Manager User Guide. A resource data sync is an asynchronous operation that returns immediately. After a successful initial sync is completed, the system continuously syncs data. To check the status of a sync, use the ListResourceDataSync. By default, data is not encrypted in Amazon S3. We strongly recommend that you enable encryption in Amazon S3 to ensure secure data storage. We also recommend that you secure access to the Amazon S3 bucket by creating a restrictive bucket policy.

    Declaration

    Swift

    public func createResourceDataSync(_ input: CreateResourceDataSyncRequest) -> EventLoopFuture<CreateResourceDataSyncResult>
  • Deletes an activation. You are not required to delete an activation. If you delete an activation, you can no longer use it to register additional managed instances. Deleting an activation does not de-register managed instances. You must manually de-register managed instances.

    Declaration

    Swift

    public func deleteActivation(_ input: DeleteActivationRequest) -> EventLoopFuture<DeleteActivationResult>
  • Disassociates the specified Systems Manager document from the specified instance. When you disassociate a document from an instance, it does not change the configuration of the instance. To change the configuration state of an instance after you disassociate a document, you must create a new document with the desired configuration and associate it with the instance.

    Declaration

    Swift

    public func deleteAssociation(_ input: DeleteAssociationRequest) -> EventLoopFuture<DeleteAssociationResult>
  • Deletes the Systems Manager document and all instance associations to the document. Before you delete the document, we recommend that you use DeleteAssociation to disassociate all instances that are associated with the document.

    Declaration

    Swift

    public func deleteDocument(_ input: DeleteDocumentRequest) -> EventLoopFuture<DeleteDocumentResult>
  • Delete a custom inventory type or the data associated with a custom Inventory type. Deleting a custom inventory type is also referred to as deleting a custom inventory schema.

    Declaration

    Swift

    public func deleteInventory(_ input: DeleteInventoryRequest) -> EventLoopFuture<DeleteInventoryResult>
  • Deletes a maintenance window.

    Declaration

    Swift

    public func deleteMaintenanceWindow(_ input: DeleteMaintenanceWindowRequest) -> EventLoopFuture<DeleteMaintenanceWindowResult>
  • Delete a parameter from the system.

    Declaration

    Swift

    public func deleteParameter(_ input: DeleteParameterRequest) -> EventLoopFuture<DeleteParameterResult>
  • Delete a list of parameters.

    Declaration

    Swift

    public func deleteParameters(_ input: DeleteParametersRequest) -> EventLoopFuture<DeleteParametersResult>
  • Deletes a patch baseline.

    Declaration

    Swift

    public func deletePatchBaseline(_ input: DeletePatchBaselineRequest) -> EventLoopFuture<DeletePatchBaselineResult>
  • Deletes a Resource Data Sync configuration. After the configuration is deleted, changes to data on managed instances are no longer synced to or from the target. Deleting a sync configuration does not delete data.

    Declaration

    Swift

    public func deleteResourceDataSync(_ input: DeleteResourceDataSyncRequest) -> EventLoopFuture<DeleteResourceDataSyncResult>
  • Removes the server or virtual machine from the list of registered servers. You can reregister the instance again at any time. If you don’t plan to use Run Command on the server, we suggest uninstalling SSM Agent first.

    Declaration

    Swift

    public func deregisterManagedInstance(_ input: DeregisterManagedInstanceRequest) -> EventLoopFuture<DeregisterManagedInstanceResult>
  • Removes a patch group from a patch baseline.

    Declaration

    Swift

    public func deregisterPatchBaselineForPatchGroup(_ input: DeregisterPatchBaselineForPatchGroupRequest) -> EventLoopFuture<DeregisterPatchBaselineForPatchGroupResult>
  • Removes a target from a maintenance window.

    Declaration

    Swift

    public func deregisterTargetFromMaintenanceWindow(_ input: DeregisterTargetFromMaintenanceWindowRequest) -> EventLoopFuture<DeregisterTargetFromMaintenanceWindowResult>
  • Removes a task from a maintenance window.

    Declaration

    Swift

    public func deregisterTaskFromMaintenanceWindow(_ input: DeregisterTaskFromMaintenanceWindowRequest) -> EventLoopFuture<DeregisterTaskFromMaintenanceWindowResult>
  • Describes details about the activation, such as the date and time the activation was created, its expiration date, the IAM role assigned to the instances in the activation, and the number of instances registered by using this activation.

    Declaration

    Swift

    public func describeActivations(_ input: DescribeActivationsRequest) -> EventLoopFuture<DescribeActivationsResult>
  • Describes the association for the specified target or instance. If you created the association by using the Targets parameter, then you must retrieve the association by using the association ID. If you created the association by specifying an instance ID and a Systems Manager document, then you retrieve the association by specifying the document name and the instance ID.

    Declaration

    Swift

    public func describeAssociation(_ input: DescribeAssociationRequest) -> EventLoopFuture<DescribeAssociationResult>
  • Use this API action to view information about a specific execution of a specific association.

    Declaration

    Swift

    public func describeAssociationExecutionTargets(_ input: DescribeAssociationExecutionTargetsRequest) -> EventLoopFuture<DescribeAssociationExecutionTargetsResult>
  • Use this API action to view all executions for a specific association ID.

    Declaration

    Swift

    public func describeAssociationExecutions(_ input: DescribeAssociationExecutionsRequest) -> EventLoopFuture<DescribeAssociationExecutionsResult>
  • Provides details about all active and terminated Automation executions.

    Declaration

    Swift

    public func describeAutomationExecutions(_ input: DescribeAutomationExecutionsRequest) -> EventLoopFuture<DescribeAutomationExecutionsResult>
  • Information about all active and terminated step executions in an Automation workflow.

    Declaration

    Swift

    public func describeAutomationStepExecutions(_ input: DescribeAutomationStepExecutionsRequest) -> EventLoopFuture<DescribeAutomationStepExecutionsResult>
  • Lists all patches eligible to be included in a patch baseline.

    Declaration

    Swift

    public func describeAvailablePatches(_ input: DescribeAvailablePatchesRequest) -> EventLoopFuture<DescribeAvailablePatchesResult>
  • Describes the specified Systems Manager document.

    Declaration

    Swift

    public func describeDocument(_ input: DescribeDocumentRequest) -> EventLoopFuture<DescribeDocumentResult>
  • Describes the permissions for a Systems Manager document. If you created the document, you are the owner. If a document is shared, it can either be shared privately (by specifying a user’s AWS account ID) or publicly (All).

    Declaration

    Swift

    public func describeDocumentPermission(_ input: DescribeDocumentPermissionRequest) -> EventLoopFuture<DescribeDocumentPermissionResponse>
  • All associations for the instance(s).

    Declaration

    Swift

    public func describeEffectiveInstanceAssociations(_ input: DescribeEffectiveInstanceAssociationsRequest) -> EventLoopFuture<DescribeEffectiveInstanceAssociationsResult>
  • Retrieves the current effective patches (the patch and the approval state) for the specified patch baseline. Note that this API applies only to Windows patch baselines.

    Declaration

    Swift

    public func describeEffectivePatchesForPatchBaseline(_ input: DescribeEffectivePatchesForPatchBaselineRequest) -> EventLoopFuture<DescribeEffectivePatchesForPatchBaselineResult>
  • The status of the associations for the instance(s).

    Declaration

    Swift

    public func describeInstanceAssociationsStatus(_ input: DescribeInstanceAssociationsStatusRequest) -> EventLoopFuture<DescribeInstanceAssociationsStatusResult>
  • Describes one or more of your instances, including information about the operating system platform, the version of SSM Agent installed on the instance, instance status, and so on. If you specify one or more instance IDs, it returns information for those instances. If you do not specify instance IDs, it returns information for all your instances. If you specify an instance ID that is not valid or an instance that you do not own, you receive an error. The IamRole field for this API action is the Amazon Identity and Access Management (IAM) role assigned to on-premises instances. This call does not return the IAM role for EC2 instances.

    Declaration

    Swift

    public func describeInstanceInformation(_ input: DescribeInstanceInformationRequest) -> EventLoopFuture<DescribeInstanceInformationResult>
  • Retrieves the high-level patch state of one or more instances.

    Declaration

    Swift

    public func describeInstancePatchStates(_ input: DescribeInstancePatchStatesRequest) -> EventLoopFuture<DescribeInstancePatchStatesResult>
  • Retrieves the high-level patch state for the instances in the specified patch group.

    Declaration

    Swift

    public func describeInstancePatchStatesForPatchGroup(_ input: DescribeInstancePatchStatesForPatchGroupRequest) -> EventLoopFuture<DescribeInstancePatchStatesForPatchGroupResult>
  • Retrieves information about the patches on the specified instance and their state relative to the patch baseline being used for the instance.

    Declaration

    Swift

    public func describeInstancePatches(_ input: DescribeInstancePatchesRequest) -> EventLoopFuture<DescribeInstancePatchesResult>
  • Describes a specific delete inventory operation.

    Declaration

    Swift

    public func describeInventoryDeletions(_ input: DescribeInventoryDeletionsRequest) -> EventLoopFuture<DescribeInventoryDeletionsResult>
  • Retrieves the individual task executions (one per target) for a particular task run as part of a maintenance window execution.

    Declaration

    Swift

    public func describeMaintenanceWindowExecutionTaskInvocations(_ input: DescribeMaintenanceWindowExecutionTaskInvocationsRequest) -> EventLoopFuture<DescribeMaintenanceWindowExecutionTaskInvocationsResult>
  • For a given maintenance window execution, lists the tasks that were run.

    Declaration

    Swift

    public func describeMaintenanceWindowExecutionTasks(_ input: DescribeMaintenanceWindowExecutionTasksRequest) -> EventLoopFuture<DescribeMaintenanceWindowExecutionTasksResult>
  • Lists the executions of a maintenance window. This includes information about when the maintenance window was scheduled to be active, and information about tasks registered and run with the maintenance window.

    Declaration

    Swift

    public func describeMaintenanceWindowExecutions(_ input: DescribeMaintenanceWindowExecutionsRequest) -> EventLoopFuture<DescribeMaintenanceWindowExecutionsResult>
  • Retrieves information about upcoming executions of a maintenance window.

    Declaration

    Swift

    public func describeMaintenanceWindowSchedule(_ input: DescribeMaintenanceWindowScheduleRequest) -> EventLoopFuture<DescribeMaintenanceWindowScheduleResult>
  • Lists the targets registered with the maintenance window.

    Declaration

    Swift

    public func describeMaintenanceWindowTargets(_ input: DescribeMaintenanceWindowTargetsRequest) -> EventLoopFuture<DescribeMaintenanceWindowTargetsResult>
  • Lists the tasks in a maintenance window.

    Declaration

    Swift

    public func describeMaintenanceWindowTasks(_ input: DescribeMaintenanceWindowTasksRequest) -> EventLoopFuture<DescribeMaintenanceWindowTasksResult>
  • Retrieves the maintenance windows in an AWS account.

    Declaration

    Swift

    public func describeMaintenanceWindows(_ input: DescribeMaintenanceWindowsRequest) -> EventLoopFuture<DescribeMaintenanceWindowsResult>
  • Retrieves information about the maintenance window targets or tasks that an instance is associated with.

    Declaration

    Swift

    public func describeMaintenanceWindowsForTarget(_ input: DescribeMaintenanceWindowsForTargetRequest) -> EventLoopFuture<DescribeMaintenanceWindowsForTargetResult>
  • Query a set of OpsItems. You must have permission in AWS Identity and Access Management (IAM) to query a list of OpsItems. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func describeOpsItems(_ input: DescribeOpsItemsRequest) -> EventLoopFuture<DescribeOpsItemsResponse>
  • Get information about a parameter. Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

    Declaration

    Swift

    public func describeParameters(_ input: DescribeParametersRequest) -> EventLoopFuture<DescribeParametersResult>
  • Lists the patch baselines in your AWS account.

    Declaration

    Swift

    public func describePatchBaselines(_ input: DescribePatchBaselinesRequest) -> EventLoopFuture<DescribePatchBaselinesResult>
  • Returns high-level aggregated patch compliance state for a patch group.

    Declaration

    Swift

    public func describePatchGroupState(_ input: DescribePatchGroupStateRequest) -> EventLoopFuture<DescribePatchGroupStateResult>
  • Lists all patch groups that have been registered with patch baselines.

    Declaration

    Swift

    public func describePatchGroups(_ input: DescribePatchGroupsRequest) -> EventLoopFuture<DescribePatchGroupsResult>
  • Lists the properties of available patches organized by product, product family, classification, severity, and other properties of available patches. You can use the reported properties in the filters you specify in requests for actions such as CreatePatchBaseline, UpdatePatchBaseline, DescribeAvailablePatches, and DescribePatchBaselines. The following section lists the properties that can be used in filters for each major operating system type: AMAZON_LINUX Valid properties: PRODUCT, CLASSIFICATION, SEVERITY AMAZON_LINUX_2 Valid properties: PRODUCT, CLASSIFICATION, SEVERITY CENTOS Valid properties: PRODUCT, CLASSIFICATION, SEVERITY DEBIAN Valid properties: PRODUCT, PRIORITY ORACLE_LINUX Valid properties: PRODUCT, CLASSIFICATION, SEVERITY REDHAT_ENTERPRISE_LINUX Valid properties: PRODUCT, CLASSIFICATION, SEVERITY SUSE Valid properties: PRODUCT, CLASSIFICATION, SEVERITY UBUNTU Valid properties: PRODUCT, PRIORITY WINDOWS Valid properties: PRODUCT, PRODUCT_FAMILY, CLASSIFICATION, MSRC_SEVERITY

    Declaration

    Swift

    public func describePatchProperties(_ input: DescribePatchPropertiesRequest) -> EventLoopFuture<DescribePatchPropertiesResult>
  • Retrieves a list of all active sessions (both connected and disconnected) or terminated sessions from the past 30 days.

    Declaration

    Swift

    public func describeSessions(_ input: DescribeSessionsRequest) -> EventLoopFuture<DescribeSessionsResponse>
  • Get detailed information about a particular Automation execution.

    Declaration

    Swift

    public func getAutomationExecution(_ input: GetAutomationExecutionRequest) -> EventLoopFuture<GetAutomationExecutionResult>
  • Gets the state of the AWS Systems Manager Change Calendar at an optional, specified time. If you specify a time, GetCalendarState returns the state of the calendar at a specific time, and returns the next time that the Change Calendar state will transition. If you do not specify a time, GetCalendarState assumes the current time. Change Calendar entries have two possible states: OPEN or CLOSED. If you specify more than one calendar in a request, the command returns the status of OPEN only if all calendars in the request are open. If one or more calendars in the request are closed, the status returned is CLOSED. For more information about Systems Manager Change Calendar, see AWS Systems Manager Change Calendar in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func getCalendarState(_ input: GetCalendarStateRequest) -> EventLoopFuture<GetCalendarStateResponse>
  • Returns detailed information about command execution for an invocation or plugin.

    Declaration

    Swift

    public func getCommandInvocation(_ input: GetCommandInvocationRequest) -> EventLoopFuture<GetCommandInvocationResult>
  • Retrieves the Session Manager connection status for an instance to determine whether it is running and ready to receive Session Manager connections.

    Declaration

    Swift

    public func getConnectionStatus(_ input: GetConnectionStatusRequest) -> EventLoopFuture<GetConnectionStatusResponse>
  • Retrieves the default patch baseline. Note that Systems Manager supports creating multiple default patch baselines. For example, you can create a default patch baseline for each operating system. If you do not specify an operating system value, the default patch baseline for Windows is returned.

    Declaration

    Swift

    public func getDefaultPatchBaseline(_ input: GetDefaultPatchBaselineRequest) -> EventLoopFuture<GetDefaultPatchBaselineResult>
  • Retrieves the current snapshot for the patch baseline the instance uses. This API is primarily used by the AWS-RunPatchBaseline Systems Manager document.

    Declaration

    Swift

    public func getDeployablePatchSnapshotForInstance(_ input: GetDeployablePatchSnapshotForInstanceRequest) -> EventLoopFuture<GetDeployablePatchSnapshotForInstanceResult>
  • Gets the contents of the specified Systems Manager document.

    Declaration

    Swift

    public func getDocument(_ input: GetDocumentRequest) -> EventLoopFuture<GetDocumentResult>
  • Query inventory information.

    Declaration

    Swift

    public func getInventory(_ input: GetInventoryRequest) -> EventLoopFuture<GetInventoryResult>
  • Return a list of inventory type names for the account, or return a list of attribute names for a specific Inventory item type.

    Declaration

    Swift

    public func getInventorySchema(_ input: GetInventorySchemaRequest) -> EventLoopFuture<GetInventorySchemaResult>
  • Retrieves a maintenance window.

    Declaration

    Swift

    public func getMaintenanceWindow(_ input: GetMaintenanceWindowRequest) -> EventLoopFuture<GetMaintenanceWindowResult>
  • Retrieves details about a specific a maintenance window execution.

    Declaration

    Swift

    public func getMaintenanceWindowExecution(_ input: GetMaintenanceWindowExecutionRequest) -> EventLoopFuture<GetMaintenanceWindowExecutionResult>
  • Retrieves the details about a specific task run as part of a maintenance window execution.

    Declaration

    Swift

    public func getMaintenanceWindowExecutionTask(_ input: GetMaintenanceWindowExecutionTaskRequest) -> EventLoopFuture<GetMaintenanceWindowExecutionTaskResult>
  • Retrieves information about a specific task running on a specific target.

    Declaration

    Swift

    public func getMaintenanceWindowExecutionTaskInvocation(_ input: GetMaintenanceWindowExecutionTaskInvocationRequest) -> EventLoopFuture<GetMaintenanceWindowExecutionTaskInvocationResult>
  • Lists the tasks in a maintenance window.

    Declaration

    Swift

    public func getMaintenanceWindowTask(_ input: GetMaintenanceWindowTaskRequest) -> EventLoopFuture<GetMaintenanceWindowTaskResult>
  • Get information about an OpsItem by using the ID. You must have permission in AWS Identity and Access Management (IAM) to view information about an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func getOpsItem(_ input: GetOpsItemRequest) -> EventLoopFuture<GetOpsItemResponse>
  • View a summary of OpsItems based on specified filters and aggregators.

    Declaration

    Swift

    public func getOpsSummary(_ input: GetOpsSummaryRequest) -> EventLoopFuture<GetOpsSummaryResult>
  • Get information about a parameter by using the parameter name. Don’t confuse this API action with the GetParameters API action.

    Declaration

    Swift

    public func getParameter(_ input: GetParameterRequest) -> EventLoopFuture<GetParameterResult>
  • Query a list of all parameters used by the AWS account.

    Declaration

    Swift

    public func getParameterHistory(_ input: GetParameterHistoryRequest) -> EventLoopFuture<GetParameterHistoryResult>
  • Get details of a parameter. Don’t confuse this API action with the GetParameter API action.

    Declaration

    Swift

    public func getParameters(_ input: GetParametersRequest) -> EventLoopFuture<GetParametersResult>
  • Retrieve information about one or more parameters in a specific hierarchy. Request results are returned on a best-effort basis. If you specify MaxResults in the request, the response includes information up to the limit specified. The number of items returned, however, can be between zero and the value of MaxResults. If the service reaches an internal limit while processing the results, it stops the operation and returns the matching values up to that point and a NextToken. You can specify the NextToken in a subsequent call to get the next set of results.

    Declaration

    Swift

    public func getParametersByPath(_ input: GetParametersByPathRequest) -> EventLoopFuture<GetParametersByPathResult>
  • Retrieves information about a patch baseline.

    Declaration

    Swift

    public func getPatchBaseline(_ input: GetPatchBaselineRequest) -> EventLoopFuture<GetPatchBaselineResult>
  • Retrieves the patch baseline that should be used for the specified patch group.

    Declaration

    Swift

    public func getPatchBaselineForPatchGroup(_ input: GetPatchBaselineForPatchGroupRequest) -> EventLoopFuture<GetPatchBaselineForPatchGroupResult>
  • ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS 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. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can’t create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the UpdateServiceSetting API action to change the default setting. Or use the ResetServiceSetting to change the value back to the original value defined by the AWS service team. Query the current service setting for the account.

    Declaration

    Swift

    public func getServiceSetting(_ input: GetServiceSettingRequest) -> EventLoopFuture<GetServiceSettingResult>
  • A parameter label is a user-defined alias to help you manage different versions of a parameter. When you modify a parameter, Systems Manager automatically saves a new version and increments the version number by one. A label can help you remember the purpose of a parameter when there are multiple versions. Parameter labels have the following requirements and restrictions. A version of a parameter can have a maximum of 10 labels. You can’t attach the same label to different versions of the same parameter. For example, if version 1 has the label Production, then you can’t attach Production to version 2. You can move a label from one version of a parameter to another. You can’t create a label when you create a new parameter. You must attach a label to a specific version of a parameter. You can’t delete a parameter label. If you no longer want to use a parameter label, then you must move it to a different version of a parameter. A label can have a maximum of 100 characters. Labels can contain letters (case sensitive), numbers, periods (.), hyphens (-), or underscores (_). Labels can’t begin with a number, “aws,” or “ssm” (not case sensitive). If a label fails to meet these requirements, then the label is not associated with a parameter and the system displays it in the list of InvalidLabels.

    Declaration

    Swift

    public func labelParameterVersion(_ input: LabelParameterVersionRequest) -> EventLoopFuture<LabelParameterVersionResult>
  • Retrieves all versions of an association for a specific association ID.

    Declaration

    Swift

    public func listAssociationVersions(_ input: ListAssociationVersionsRequest) -> EventLoopFuture<ListAssociationVersionsResult>
  • Returns all State Manager associations in the current AWS account and Region. You can limit the results to a specific State Manager association document or instance by specifying a filter.

    Declaration

    Swift

    public func listAssociations(_ input: ListAssociationsRequest) -> EventLoopFuture<ListAssociationsResult>
  • An invocation is copy of a command sent to a specific instance. A command can apply to one or more instances. A command invocation applies to one instance. For example, if a user runs SendCommand against three instances, then a command invocation is created for each requested instance ID. ListCommandInvocations provide status about command execution.

    Declaration

    Swift

    public func listCommandInvocations(_ input: ListCommandInvocationsRequest) -> EventLoopFuture<ListCommandInvocationsResult>
  • Lists the commands requested by users of the AWS account.

    Declaration

    Swift

    public func listCommands(_ input: ListCommandsRequest) -> EventLoopFuture<ListCommandsResult>
  • For a specified resource ID, this API action returns a list of compliance statuses for different resource types. Currently, you can only specify one resource ID per call. List results depend on the criteria specified in the filter.

    Declaration

    Swift

    public func listComplianceItems(_ input: ListComplianceItemsRequest) -> EventLoopFuture<ListComplianceItemsResult>
  • Returns a summary count of compliant and non-compliant resources for a compliance type. For example, this call can return State Manager associations, patches, or custom compliance types according to the filter criteria that you specify.

    Declaration

    Swift

    public func listComplianceSummaries(_ input: ListComplianceSummariesRequest) -> EventLoopFuture<ListComplianceSummariesResult>
  • List all versions for a document.

    Declaration

    Swift

    public func listDocumentVersions(_ input: ListDocumentVersionsRequest) -> EventLoopFuture<ListDocumentVersionsResult>
  • Returns all Systems Manager (SSM) documents in the current AWS account and Region. You can limit the results of this request by using a filter.

    Declaration

    Swift

    public func listDocuments(_ input: ListDocumentsRequest) -> EventLoopFuture<ListDocumentsResult>
  • A list of inventory items returned by the request.

    Declaration

    Swift

    public func listInventoryEntries(_ input: ListInventoryEntriesRequest) -> EventLoopFuture<ListInventoryEntriesResult>
  • Returns a resource-level summary count. The summary includes information about compliant and non-compliant statuses and detailed compliance-item severity counts, according to the filter criteria you specify.

    Declaration

    Swift

    public func listResourceComplianceSummaries(_ input: ListResourceComplianceSummariesRequest) -> EventLoopFuture<ListResourceComplianceSummariesResult>
  • Lists your resource data sync configurations. Includes information about the last time a sync attempted to start, the last sync status, and the last time a sync successfully completed. The number of sync configurations might be too large to return using a single call to ListResourceDataSync. You can limit the number of sync configurations returned by using the MaxResults parameter. To determine whether there are more sync configurations to list, check the value of NextToken in the output. If there are more sync configurations to list, you can request them by specifying the NextToken returned in the call to the parameter of a subsequent call.

    Declaration

    Swift

    public func listResourceDataSync(_ input: ListResourceDataSyncRequest) -> EventLoopFuture<ListResourceDataSyncResult>
  • Returns a list of the tags assigned to the specified resource.

    Declaration

    Swift

    public func listTagsForResource(_ input: ListTagsForResourceRequest) -> EventLoopFuture<ListTagsForResourceResult>
  • Shares a Systems Manager document publicly or privately. If you share a document privately, you must specify the AWS user account IDs for those people who can use the document. If you share a document publicly, you must specify All as the account ID.

    Declaration

    Swift

    public func modifyDocumentPermission(_ input: ModifyDocumentPermissionRequest) -> EventLoopFuture<ModifyDocumentPermissionResponse>
  • Registers a compliance type and other compliance details on a designated resource. This action lets you register custom compliance details with a resource. This call overwrites existing compliance information on the resource, so you must provide a full list of compliance items each time that you send the request. ComplianceType can be one of the following: ExecutionId: The execution ID when the patch, association, or custom compliance item was applied. ExecutionType: Specify patch, association, or Custom:string. ExecutionTime. The time the patch, association, or custom compliance item was applied to the instance. Id: The patch, association, or custom compliance ID. Title: A title. Status: The status of the compliance item. For example, approved for patches, or Failed for associations. Severity: A patch severity. For example, critical. DocumentName: A SSM document name. For example, AWS-RunPatchBaseline. DocumentVersion: An SSM document version number. For example, 4. Classification: A patch classification. For example, security updates. PatchBaselineId: A patch baseline ID. PatchSeverity: A patch severity. For example, Critical. PatchState: A patch state. For example, InstancesWithFailedPatches. PatchGroup: The name of a patch group. InstalledTime: The time the association, patch, or custom compliance item was applied to the resource. Specify the time by using the following format: yyyy-MM-dd’T'HH:mm:ss'Z’

    Declaration

    Swift

    public func putComplianceItems(_ input: PutComplianceItemsRequest) -> EventLoopFuture<PutComplianceItemsResult>
  • Bulk update custom inventory items on one more instance. The request adds an inventory item, if it doesn’t already exist, or updates an inventory item, if it does exist.

    Declaration

    Swift

    public func putInventory(_ input: PutInventoryRequest) -> EventLoopFuture<PutInventoryResult>
  • Add a parameter to the system.

    Declaration

    Swift

    public func putParameter(_ input: PutParameterRequest) -> EventLoopFuture<PutParameterResult>
  • Defines the default patch baseline for the relevant operating system. To reset the AWS predefined patch baseline as the default, specify the full patch baseline ARN as the baseline ID value. For example, for CentOS, specify arn:aws:ssm:us-east-2:733109147000:patchbaseline/pb-0574b43a65ea646ed instead of pb-0574b43a65ea646ed.

    Declaration

    Swift

    public func registerDefaultPatchBaseline(_ input: RegisterDefaultPatchBaselineRequest) -> EventLoopFuture<RegisterDefaultPatchBaselineResult>
  • Registers a patch baseline for a patch group.

    Declaration

    Swift

    public func registerPatchBaselineForPatchGroup(_ input: RegisterPatchBaselineForPatchGroupRequest) -> EventLoopFuture<RegisterPatchBaselineForPatchGroupResult>
  • Registers a target with a maintenance window.

    Declaration

    Swift

    public func registerTargetWithMaintenanceWindow(_ input: RegisterTargetWithMaintenanceWindowRequest) -> EventLoopFuture<RegisterTargetWithMaintenanceWindowResult>
  • Adds a new task to a maintenance window.

    Declaration

    Swift

    public func registerTaskWithMaintenanceWindow(_ input: RegisterTaskWithMaintenanceWindowRequest) -> EventLoopFuture<RegisterTaskWithMaintenanceWindowResult>
  • Removes tag keys from the specified resource.

    Declaration

    Swift

    public func removeTagsFromResource(_ input: RemoveTagsFromResourceRequest) -> EventLoopFuture<RemoveTagsFromResourceResult>
  • ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS 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. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can’t create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Use the UpdateServiceSetting API action to change the default setting. Reset the service setting for the account to the default value as provisioned by the AWS service team.

    Declaration

    Swift

    public func resetServiceSetting(_ input: ResetServiceSettingRequest) -> EventLoopFuture<ResetServiceSettingResult>
  • Reconnects a session to an instance after it has been disconnected. Connections can be resumed for disconnected sessions, but not terminated sessions. This command is primarily for use by client machines to automatically reconnect during intermittent network issues. It is not intended for any other use.

    Declaration

    Swift

    public func resumeSession(_ input: ResumeSessionRequest) -> EventLoopFuture<ResumeSessionResponse>
  • Sends a signal to an Automation execution to change the current behavior or status of the execution.

    Declaration

    Swift

    public func sendAutomationSignal(_ input: SendAutomationSignalRequest) -> EventLoopFuture<SendAutomationSignalResult>
  • Runs commands on one or more managed instances.

    Declaration

    Swift

    public func sendCommand(_ input: SendCommandRequest) -> EventLoopFuture<SendCommandResult>
  • Use this API action to run an association immediately and only one time. This action can be helpful when troubleshooting associations.

    Declaration

    Swift

    public func startAssociationsOnce(_ input: StartAssociationsOnceRequest) -> EventLoopFuture<StartAssociationsOnceResult>
  • Initiates execution of an Automation document.

    Declaration

    Swift

    public func startAutomationExecution(_ input: StartAutomationExecutionRequest) -> EventLoopFuture<StartAutomationExecutionResult>
  • Initiates a connection to a target (for example, an instance) for a Session Manager session. Returns a URL and token that can be used to open a WebSocket connection for sending input and receiving outputs. AWS CLI usage: start-session is an interactive command that requires the Session Manager plugin to be installed on the client machine making the call. For information, see Install the Session Manager plugin for the AWS CLI in the AWS Systems Manager User Guide. AWS Tools for PowerShell usage: Start-SSMSession is not currently supported by AWS Tools for PowerShell on Windows local machines.

    Declaration

    Swift

    public func startSession(_ input: StartSessionRequest) -> EventLoopFuture<StartSessionResponse>
  • Stop an Automation that is currently running.

    Declaration

    Swift

    public func stopAutomationExecution(_ input: StopAutomationExecutionRequest) -> EventLoopFuture<StopAutomationExecutionResult>
  • Permanently ends a session and closes the data connection between the Session Manager client and SSM Agent on the instance. A terminated session cannot be resumed.

    Declaration

    Swift

    public func terminateSession(_ input: TerminateSessionRequest) -> EventLoopFuture<TerminateSessionResponse>
  • Updates an association. You can update the association name and version, the document version, schedule, parameters, and Amazon S3 output. In order to call this API action, your IAM user account, group, or role must be configured with permission to call the DescribeAssociation API action. If you don’t have permission to call DescribeAssociation, then you receive the following error: An error occurred (AccessDeniedException) when calling the UpdateAssociation operation: User: <user_arn> is not authorized to perform: ssm:DescribeAssociation on resource: <resource_arn> When you update an association, the association immediately runs against the specified targets.

    Declaration

    Swift

    public func updateAssociation(_ input: UpdateAssociationRequest) -> EventLoopFuture<UpdateAssociationResult>
  • Updates the status of the Systems Manager document associated with the specified instance.

    Declaration

    Swift

    public func updateAssociationStatus(_ input: UpdateAssociationStatusRequest) -> EventLoopFuture<UpdateAssociationStatusResult>
  • Updates one or more values for an SSM document.

    Declaration

    Swift

    public func updateDocument(_ input: UpdateDocumentRequest) -> EventLoopFuture<UpdateDocumentResult>
  • Set the default version of a document.

    Declaration

    Swift

    public func updateDocumentDefaultVersion(_ input: UpdateDocumentDefaultVersionRequest) -> EventLoopFuture<UpdateDocumentDefaultVersionResult>
  • Updates an existing maintenance window. Only specified parameters are modified. The value you specify for Duration determines the specific end time for the maintenance window based on the time it begins. No maintenance window tasks are permitted to start after the resulting endtime minus the number of hours you specify for Cutoff. For example, if the maintenance window starts at 3 PM, the duration is three hours, and the value you specify for Cutoff is one hour, no maintenance window tasks can start after 5 PM.

    Declaration

    Swift

    public func updateMaintenanceWindow(_ input: UpdateMaintenanceWindowRequest) -> EventLoopFuture<UpdateMaintenanceWindowResult>
  • Modifies the target of an existing maintenance window. You can change the following: Name Description Owner IDs for an ID target Tags for a Tag target From any supported tag type to another. The three supported tag types are ID target, Tag target, and resource group. For more information, see Target. If a parameter is null, then the corresponding field is not modified.

    Declaration

    Swift

    public func updateMaintenanceWindowTarget(_ input: UpdateMaintenanceWindowTargetRequest) -> EventLoopFuture<UpdateMaintenanceWindowTargetResult>
  • Modifies a task assigned to a maintenance window. You can’t change the task type, but you can change the following values: TaskARN. For example, you can change a RUN_COMMAND task from AWS-RunPowerShellScript to AWS-RunShellScript. ServiceRoleArn TaskInvocationParameters Priority MaxConcurrency MaxErrors If the value for a parameter in UpdateMaintenanceWindowTask is null, then the corresponding field is not modified. If you set Replace to true, then all fields required by the RegisterTaskWithMaintenanceWindow action are required for this request. Optional fields that aren’t specified are set to null. When you update a maintenance window task that has options specified in TaskInvocationParameters, you must provide again all the TaskInvocationParameters values that you want to retain. The values you do not specify again are removed. For example, suppose that when you registered a Run Command task, you specified TaskInvocationParameters values for Comment, NotificationConfig, and OutputS3BucketName. If you update the maintenance window task and specify only a different OutputS3BucketName value, the values for Comment and NotificationConfig are removed.

    Declaration

    Swift

    public func updateMaintenanceWindowTask(_ input: UpdateMaintenanceWindowTaskRequest) -> EventLoopFuture<UpdateMaintenanceWindowTaskResult>
  • Changes the Amazon Identity and Access Management (IAM) role that is assigned to the on-premises instance or virtual machines (VM). IAM roles are first assigned to these hybrid instances during the activation process. For more information, see CreateActivation.

    Declaration

    Swift

    public func updateManagedInstanceRole(_ input: UpdateManagedInstanceRoleRequest) -> EventLoopFuture<UpdateManagedInstanceRoleResult>
  • Edit or change an OpsItem. You must have permission in AWS Identity and Access Management (IAM) to update an OpsItem. For more information, see Getting started with OpsCenter in the AWS Systems Manager User Guide. Operations engineers and IT professionals use OpsCenter to view, investigate, and remediate operational issues impacting the performance and health of their AWS resources. For more information, see AWS Systems Manager OpsCenter in the AWS Systems Manager User Guide.

    Declaration

    Swift

    public func updateOpsItem(_ input: UpdateOpsItemRequest) -> EventLoopFuture<UpdateOpsItemResponse>
  • Modifies an existing patch baseline. Fields not specified in the request are left unchanged. For information about valid key and value pairs in PatchFilters for each supported operating system type, see PatchFilter.

    Declaration

    Swift

    public func updatePatchBaseline(_ input: UpdatePatchBaselineRequest) -> EventLoopFuture<UpdatePatchBaselineResult>
  • Update a resource data sync. After you create a resource data sync for a Region, you can’t change the account options for that sync. For example, if you create a sync in the us-east-2 (Ohio) Region and you choose the Include only the current account option, you can’t edit that sync later and choose the Include all accounts from my AWS Organizations configuration option. Instead, you must delete the first resource data sync, and create a new one. This API action only supports a resource data sync that was created with a SyncFromSource SyncType.

    Declaration

    Swift

    public func updateResourceDataSync(_ input: UpdateResourceDataSyncRequest) -> EventLoopFuture<UpdateResourceDataSyncResult>
  • ServiceSetting is an account-level setting for an AWS service. This setting defines how a user interacts with or uses a service or a feature of a service. For example, if an AWS service charges money to the account based on feature or service usage, then the AWS 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. Services map a SettingId object to a setting value. AWS services teams define the default value for a SettingId. You can’t create a new SettingId, but you can overwrite the default value if you have the ssm:UpdateServiceSetting permission for the setting. Use the GetServiceSetting API action to view the current value. Or, use the ResetServiceSetting to change the value back to the original value defined by the AWS service team. Update the service setting for the account.

    Declaration

    Swift

    public func updateServiceSetting(_ input: UpdateServiceSettingRequest) -> EventLoopFuture<UpdateServiceSettingResult>