/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Describes a target for an experiment.See Also:
AWS
* API Reference
The resource type.
*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *The resource type.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The resource type.
*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The resource type.
*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The resource type.
*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *The resource type.
*/ inline ExperimentTarget& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *The resource type.
*/ inline ExperimentTarget& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *The resource type.
*/ inline ExperimentTarget& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *The Amazon Resource Names (ARNs) of the resources.
*/ inline const Aws::VectorThe Amazon Resource Names (ARNs) of the resources.
*/ inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; } /** *The Amazon Resource Names (ARNs) of the resources.
*/ inline void SetResourceArns(const Aws::VectorThe Amazon Resource Names (ARNs) of the resources.
*/ inline void SetResourceArns(Aws::VectorThe Amazon Resource Names (ARNs) of the resources.
*/ inline ExperimentTarget& WithResourceArns(const Aws::VectorThe Amazon Resource Names (ARNs) of the resources.
*/ inline ExperimentTarget& WithResourceArns(Aws::VectorThe Amazon Resource Names (ARNs) of the resources.
*/ inline ExperimentTarget& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *The Amazon Resource Names (ARNs) of the resources.
*/ inline ExperimentTarget& AddResourceArns(Aws::String&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(std::move(value)); return *this; } /** *The Amazon Resource Names (ARNs) of the resources.
*/ inline ExperimentTarget& AddResourceArns(const char* value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *The tags for the target resources.
*/ inline const Aws::MapThe tags for the target resources.
*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *The tags for the target resources.
*/ inline void SetResourceTags(const Aws::MapThe tags for the target resources.
*/ inline void SetResourceTags(Aws::MapThe tags for the target resources.
*/ inline ExperimentTarget& WithResourceTags(const Aws::MapThe tags for the target resources.
*/ inline ExperimentTarget& WithResourceTags(Aws::MapThe tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(const Aws::String& key, const Aws::String& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(key, value); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(Aws::String&& key, const Aws::String& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(std::move(key), value); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(const Aws::String& key, Aws::String&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(key, std::move(value)); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(Aws::String&& key, Aws::String&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(std::move(key), std::move(value)); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(const char* key, Aws::String&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(key, std::move(value)); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(Aws::String&& key, const char* value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(std::move(key), value); return *this; } /** *The tags for the target resources.
*/ inline ExperimentTarget& AddResourceTags(const char* key, const char* value) { m_resourceTagsHasBeenSet = true; m_resourceTags.emplace(key, value); return *this; } /** *The filters to apply to identify target resources using specific * attributes.
*/ inline const Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline bool FiltersHasBeenSet() const { return m_filtersHasBeenSet; } /** *The filters to apply to identify target resources using specific * attributes.
*/ inline void SetFilters(const Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline void SetFilters(Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline ExperimentTarget& WithFilters(const Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline ExperimentTarget& WithFilters(Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline ExperimentTarget& AddFilters(const ExperimentTargetFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *The filters to apply to identify target resources using specific * attributes.
*/ inline ExperimentTarget& AddFilters(ExperimentTargetFilter&& value) { m_filtersHasBeenSet = true; m_filters.push_back(std::move(value)); return *this; } /** *Scopes the identified resources to a specific count or percentage.
*/ inline const Aws::String& GetSelectionMode() const{ return m_selectionMode; } /** *Scopes the identified resources to a specific count or percentage.
*/ inline bool SelectionModeHasBeenSet() const { return m_selectionModeHasBeenSet; } /** *Scopes the identified resources to a specific count or percentage.
*/ inline void SetSelectionMode(const Aws::String& value) { m_selectionModeHasBeenSet = true; m_selectionMode = value; } /** *Scopes the identified resources to a specific count or percentage.
*/ inline void SetSelectionMode(Aws::String&& value) { m_selectionModeHasBeenSet = true; m_selectionMode = std::move(value); } /** *Scopes the identified resources to a specific count or percentage.
*/ inline void SetSelectionMode(const char* value) { m_selectionModeHasBeenSet = true; m_selectionMode.assign(value); } /** *Scopes the identified resources to a specific count or percentage.
*/ inline ExperimentTarget& WithSelectionMode(const Aws::String& value) { SetSelectionMode(value); return *this;} /** *Scopes the identified resources to a specific count or percentage.
*/ inline ExperimentTarget& WithSelectionMode(Aws::String&& value) { SetSelectionMode(std::move(value)); return *this;} /** *Scopes the identified resources to a specific count or percentage.
*/ inline ExperimentTarget& WithSelectionMode(const char* value) { SetSelectionMode(value); return *this;} /** *The resource type parameters.
*/ inline const Aws::MapThe resource type parameters.
*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *The resource type parameters.
*/ inline void SetParameters(const Aws::MapThe resource type parameters.
*/ inline void SetParameters(Aws::MapThe resource type parameters.
*/ inline ExperimentTarget& WithParameters(const Aws::MapThe resource type parameters.
*/ inline ExperimentTarget& WithParameters(Aws::MapThe resource type parameters.
*/ inline ExperimentTarget& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(Aws::String&& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(const Aws::String& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(Aws::String&& key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *The resource type parameters.
*/ inline ExperimentTarget& AddParameters(const char* key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } private: Aws::String m_resourceType; bool m_resourceTypeHasBeenSet = false; Aws::Vector