/** * 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 Xml { class XmlNode; } // namespace Xml } // namespace Utils namespace EC2 { namespace Model { /** *

One or more targets associated with the specified event window. Only one * type of target (instance ID, instance tag, or Dedicated Host ID) can be * associated with an event window.

See Also:

AWS * API Reference

*/ class InstanceEventWindowAssociationRequest { public: AWS_EC2_API InstanceEventWindowAssociationRequest(); AWS_EC2_API InstanceEventWindowAssociationRequest(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API InstanceEventWindowAssociationRequest& operator=(const Aws::Utils::Xml::XmlNode& xmlNode); AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const; AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const; /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline const Aws::Vector& GetInstanceIds() const{ return m_instanceIds; } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline void SetInstanceIds(const Aws::Vector& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = value; } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline void SetInstanceIds(Aws::Vector&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = std::move(value); } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline InstanceEventWindowAssociationRequest& WithInstanceIds(const Aws::Vector& value) { SetInstanceIds(value); return *this;} /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline InstanceEventWindowAssociationRequest& WithInstanceIds(Aws::Vector&& value) { SetInstanceIds(std::move(value)); return *this;} /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline InstanceEventWindowAssociationRequest& AddInstanceIds(const Aws::String& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline InstanceEventWindowAssociationRequest& AddInstanceIds(Aws::String&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(std::move(value)); return *this; } /** *

The IDs of the instances to associate with the event window. If the instance * is on a Dedicated Host, you can't specify the Instance ID parameter; you must * use the Dedicated Host ID parameter.

*/ inline InstanceEventWindowAssociationRequest& AddInstanceIds(const char* value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline const Aws::Vector& GetInstanceTags() const{ return m_instanceTags; } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline bool InstanceTagsHasBeenSet() const { return m_instanceTagsHasBeenSet; } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline void SetInstanceTags(const Aws::Vector& value) { m_instanceTagsHasBeenSet = true; m_instanceTags = value; } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline void SetInstanceTags(Aws::Vector&& value) { m_instanceTagsHasBeenSet = true; m_instanceTags = std::move(value); } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline InstanceEventWindowAssociationRequest& WithInstanceTags(const Aws::Vector& value) { SetInstanceTags(value); return *this;} /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline InstanceEventWindowAssociationRequest& WithInstanceTags(Aws::Vector&& value) { SetInstanceTags(std::move(value)); return *this;} /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline InstanceEventWindowAssociationRequest& AddInstanceTags(const Tag& value) { m_instanceTagsHasBeenSet = true; m_instanceTags.push_back(value); return *this; } /** *

The instance tags to associate with the event window. Any instances * associated with the tags will be associated with the event window.

*/ inline InstanceEventWindowAssociationRequest& AddInstanceTags(Tag&& value) { m_instanceTagsHasBeenSet = true; m_instanceTags.push_back(std::move(value)); return *this; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline const Aws::Vector& GetDedicatedHostIds() const{ return m_dedicatedHostIds; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline bool DedicatedHostIdsHasBeenSet() const { return m_dedicatedHostIdsHasBeenSet; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline void SetDedicatedHostIds(const Aws::Vector& value) { m_dedicatedHostIdsHasBeenSet = true; m_dedicatedHostIds = value; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline void SetDedicatedHostIds(Aws::Vector&& value) { m_dedicatedHostIdsHasBeenSet = true; m_dedicatedHostIds = std::move(value); } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline InstanceEventWindowAssociationRequest& WithDedicatedHostIds(const Aws::Vector& value) { SetDedicatedHostIds(value); return *this;} /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline InstanceEventWindowAssociationRequest& WithDedicatedHostIds(Aws::Vector&& value) { SetDedicatedHostIds(std::move(value)); return *this;} /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline InstanceEventWindowAssociationRequest& AddDedicatedHostIds(const Aws::String& value) { m_dedicatedHostIdsHasBeenSet = true; m_dedicatedHostIds.push_back(value); return *this; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline InstanceEventWindowAssociationRequest& AddDedicatedHostIds(Aws::String&& value) { m_dedicatedHostIdsHasBeenSet = true; m_dedicatedHostIds.push_back(std::move(value)); return *this; } /** *

The IDs of the Dedicated Hosts to associate with the event window.

*/ inline InstanceEventWindowAssociationRequest& AddDedicatedHostIds(const char* value) { m_dedicatedHostIdsHasBeenSet = true; m_dedicatedHostIds.push_back(value); return *this; } private: Aws::Vector m_instanceIds; bool m_instanceIdsHasBeenSet = false; Aws::Vector m_instanceTags; bool m_instanceTagsHasBeenSet = false; Aws::Vector m_dedicatedHostIds; bool m_dedicatedHostIdsHasBeenSet = false; }; } // namespace Model } // namespace EC2 } // namespace Aws