/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Specifies a target for an experiment. You must specify at least one Amazon
* Resource Name (ARN) or at least one resource tag. You cannot specify
* both.See Also:
AWS
* API Reference
The resource type. The resource type must be supported for the specified * action.
*/ inline const Aws::String& GetResourceType() const{ return m_resourceType; } /** *The resource type. The resource type must be supported for the specified * action.
*/ inline bool ResourceTypeHasBeenSet() const { return m_resourceTypeHasBeenSet; } /** *The resource type. The resource type must be supported for the specified * action.
*/ inline void SetResourceType(const Aws::String& value) { m_resourceTypeHasBeenSet = true; m_resourceType = value; } /** *The resource type. The resource type must be supported for the specified * action.
*/ inline void SetResourceType(Aws::String&& value) { m_resourceTypeHasBeenSet = true; m_resourceType = std::move(value); } /** *The resource type. The resource type must be supported for the specified * action.
*/ inline void SetResourceType(const char* value) { m_resourceTypeHasBeenSet = true; m_resourceType.assign(value); } /** *The resource type. The resource type must be supported for the specified * action.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *The resource type. The resource type must be supported for the specified * action.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *The resource type. The resource type must be supported for the specified * action.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *The Amazon Resource Names (ARNs) of the targets.
*/ inline const Aws::VectorThe Amazon Resource Names (ARNs) of the targets.
*/ inline bool ResourceArnsHasBeenSet() const { return m_resourceArnsHasBeenSet; } /** *The Amazon Resource Names (ARNs) of the targets.
*/ inline void SetResourceArns(const Aws::VectorThe Amazon Resource Names (ARNs) of the targets.
*/ inline void SetResourceArns(Aws::VectorThe Amazon Resource Names (ARNs) of the targets.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceArns(const Aws::VectorThe Amazon Resource Names (ARNs) of the targets.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceArns(Aws::VectorThe Amazon Resource Names (ARNs) of the targets.
*/ inline UpdateExperimentTemplateTargetInput& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *The Amazon Resource Names (ARNs) of the targets.
*/ inline UpdateExperimentTemplateTargetInput& AddResourceArns(Aws::String&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(std::move(value)); return *this; } /** *The Amazon Resource Names (ARNs) of the targets.
*/ inline UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& WithResourceTags(const Aws::MapThe tags for the target resources.
*/ inline UpdateExperimentTemplateTargetInput& WithResourceTags(Aws::MapThe tags for the target resources.
*/ inline UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& WithFilters(const Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline UpdateExperimentTemplateTargetInput& WithFilters(Aws::VectorThe filters to apply to identify target resources using specific * attributes.
*/ inline UpdateExperimentTemplateTargetInput& AddFilters(const ExperimentTemplateTargetInputFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *The filters to apply to identify target resources using specific * attributes.
*/ inline UpdateExperimentTemplateTargetInput& AddFilters(ExperimentTemplateTargetInputFilter&& 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 UpdateExperimentTemplateTargetInput& WithSelectionMode(const Aws::String& value) { SetSelectionMode(value); return *this;} /** *Scopes the identified resources to a specific count or percentage.
*/ inline UpdateExperimentTemplateTargetInput& WithSelectionMode(Aws::String&& value) { SetSelectionMode(std::move(value)); return *this;} /** *Scopes the identified resources to a specific count or percentage.
*/ inline UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& WithParameters(const Aws::MapThe resource type parameters.
*/ inline UpdateExperimentTemplateTargetInput& WithParameters(Aws::MapThe resource type parameters.
*/ inline UpdateExperimentTemplateTargetInput& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *The resource type parameters.
*/ inline UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& 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 UpdateExperimentTemplateTargetInput& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *The resource type parameters.
*/ inline UpdateExperimentTemplateTargetInput& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *The resource type parameters.
*/ inline UpdateExperimentTemplateTargetInput& 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