/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include An array of search criteria that targets managed nodes using a key-value pair
* that you specify. 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 Registering
* maintenance window tasks without targets in the Amazon Web Services
* Systems Manager User Guide. Supported formats include the
* following. For all Systems Manager capabilities:
* For Automation and Change Manager:
*
*
* To target all instances in the Amazon Web Services Region:
*
* For
* Run Command and Maintenance Windows:
*
* Additionally, Maintenance Windows support targeting resource types:
* For State Manager:
* To target all instances in the Amazon Web Services
* Region: For more information about how to send commands that target
* managed nodes using
Key=tag-key,Values=tag-value-1,tag-value-2
Key=tag:tag-key,Values=tag-value Key=ResourceGroup,Values=resource-group-name Key=ParameterValues,Values=value-1,value-2,value-3
Key=AWS::EC2::Instance,Values=* Key=InstanceIds,Values=*
Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
* Key=tag:tag-key,Values=tag-value-1,tag-value-2
* Key=resource-groups:Name,Values=resource-group-name
*
Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2
*
Key=InstanceIds,Values=instance-id-1,instance-id-2,instance-id-3
* Key=tag:tag-key,Values=tag-value-1,tag-value-2
*
* Key=InstanceIds,Values=* Key,Value parameters, see Targeting
* multiple managed nodes in the Amazon Web Services Systems Manager User
* Guide.See Also:
AWS API
* Reference
User-defined criteria for sending commands that target managed nodes that * meet the criteria.
*/ inline const Aws::String& GetKey() const{ return m_key; } inline bool KeyHasBeenSet() const { return m_keyHasBeenSet; } inline void SetKey(const Aws::String& value) { m_keyHasBeenSet = true; m_key = value; } inline void SetKey(Aws::String&& value) { m_keyHasBeenSet = true; m_key = std::move(value); } inline void SetKey(const char* value) { m_keyHasBeenSet = true; m_key.assign(value); } inline Target& WithKey(const Aws::String& value) { SetKey(value); return *this;} inline Target& WithKey(Aws::String&& value) { SetKey(std::move(value)); return *this;} inline Target& WithKey(const char* value) { SetKey(value); return *this;} ///@} ///@{ /** *User-defined criteria that maps to Key. For example, if you
* specified tag:ServerRole, you could specify
* value:WebServer to run a command on instances that include EC2 tags
* of ServerRole,WebServer.
Depending on the type of target, * the maximum number of values for a key might be lower than the global maximum of * 50.
*/ inline const Aws::Vector