/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace FIS { namespace Model { /** *

Describes a target for an experiment template.

See Also:

AWS * API Reference

*/ class ExperimentTemplateTarget { public: AWS_FIS_API ExperimentTemplateTarget(); AWS_FIS_API ExperimentTemplateTarget(Aws::Utils::Json::JsonView jsonValue); AWS_FIS_API ExperimentTemplateTarget& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_FIS_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

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 ExperimentTemplateTarget& WithResourceType(const Aws::String& value) { SetResourceType(value); return *this;} /** *

The resource type.

*/ inline ExperimentTemplateTarget& WithResourceType(Aws::String&& value) { SetResourceType(std::move(value)); return *this;} /** *

The resource type.

*/ inline ExperimentTemplateTarget& WithResourceType(const char* value) { SetResourceType(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline const Aws::Vector& GetResourceArns() const{ return m_resourceArns; } /** *

The 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::Vector& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = value; } /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline void SetResourceArns(Aws::Vector&& value) { m_resourceArnsHasBeenSet = true; m_resourceArns = std::move(value); } /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline ExperimentTemplateTarget& WithResourceArns(const Aws::Vector& value) { SetResourceArns(value); return *this;} /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline ExperimentTemplateTarget& WithResourceArns(Aws::Vector&& value) { SetResourceArns(std::move(value)); return *this;} /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline ExperimentTemplateTarget& AddResourceArns(const Aws::String& value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *

The Amazon Resource Names (ARNs) of the targets.

*/ inline ExperimentTemplateTarget& 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 ExperimentTemplateTarget& AddResourceArns(const char* value) { m_resourceArnsHasBeenSet = true; m_resourceArns.push_back(value); return *this; } /** *

The tags for the target resources.

*/ inline const Aws::Map& GetResourceTags() const{ return m_resourceTags; } /** *

The tags for the target resources.

*/ inline bool ResourceTagsHasBeenSet() const { return m_resourceTagsHasBeenSet; } /** *

The tags for the target resources.

*/ inline void SetResourceTags(const Aws::Map& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = value; } /** *

The tags for the target resources.

*/ inline void SetResourceTags(Aws::Map&& value) { m_resourceTagsHasBeenSet = true; m_resourceTags = std::move(value); } /** *

The tags for the target resources.

*/ inline ExperimentTemplateTarget& WithResourceTags(const Aws::Map& value) { SetResourceTags(value); return *this;} /** *

The tags for the target resources.

*/ inline ExperimentTemplateTarget& WithResourceTags(Aws::Map&& value) { SetResourceTags(std::move(value)); return *this;} /** *

The tags for the target resources.

*/ inline ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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::Vector& GetFilters() const{ return m_filters; } /** *

The 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::Vector& value) { m_filtersHasBeenSet = true; m_filters = value; } /** *

The filters to apply to identify target resources using specific * attributes.

*/ inline void SetFilters(Aws::Vector&& value) { m_filtersHasBeenSet = true; m_filters = std::move(value); } /** *

The filters to apply to identify target resources using specific * attributes.

*/ inline ExperimentTemplateTarget& WithFilters(const Aws::Vector& value) { SetFilters(value); return *this;} /** *

The filters to apply to identify target resources using specific * attributes.

*/ inline ExperimentTemplateTarget& WithFilters(Aws::Vector&& value) { SetFilters(std::move(value)); return *this;} /** *

The filters to apply to identify target resources using specific * attributes.

*/ inline ExperimentTemplateTarget& AddFilters(const ExperimentTemplateTargetFilter& value) { m_filtersHasBeenSet = true; m_filters.push_back(value); return *this; } /** *

The filters to apply to identify target resources using specific * attributes.

*/ inline ExperimentTemplateTarget& AddFilters(ExperimentTemplateTargetFilter&& 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 ExperimentTemplateTarget& WithSelectionMode(const Aws::String& value) { SetSelectionMode(value); return *this;} /** *

Scopes the identified resources to a specific count or percentage.

*/ inline ExperimentTemplateTarget& WithSelectionMode(Aws::String&& value) { SetSelectionMode(std::move(value)); return *this;} /** *

Scopes the identified resources to a specific count or percentage.

*/ inline ExperimentTemplateTarget& WithSelectionMode(const char* value) { SetSelectionMode(value); return *this;} /** *

The resource type parameters.

*/ inline const Aws::Map& GetParameters() const{ return m_parameters; } /** *

The resource type parameters.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The resource type parameters.

*/ inline void SetParameters(const Aws::Map& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The resource type parameters.

*/ inline void SetParameters(Aws::Map&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& WithParameters(const Aws::Map& value) { SetParameters(value); return *this;} /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& WithParameters(Aws::Map&& value) { SetParameters(std::move(value)); return *this;} /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& AddParameters(const Aws::String& key, const Aws::String& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& 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 ExperimentTemplateTarget& AddParameters(const char* key, Aws::String&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& AddParameters(Aws::String&& key, const char* value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

The resource type parameters.

*/ inline ExperimentTemplateTarget& 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 m_resourceArns; bool m_resourceArnsHasBeenSet = false; Aws::Map m_resourceTags; bool m_resourceTagsHasBeenSet = false; Aws::Vector m_filters; bool m_filtersHasBeenSet = false; Aws::String m_selectionMode; bool m_selectionModeHasBeenSet = false; Aws::Map m_parameters; bool m_parametersHasBeenSet = false; }; } // namespace Model } // namespace FIS } // namespace Aws