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

Describes the AWS resources in use by this environment. This data is * live.

See Also:

AWS * API Reference

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

The name of the environment.

*/ inline const Aws::String& GetEnvironmentName() const{ return m_environmentName; } /** *

The name of the environment.

*/ inline bool EnvironmentNameHasBeenSet() const { return m_environmentNameHasBeenSet; } /** *

The name of the environment.

*/ inline void SetEnvironmentName(const Aws::String& value) { m_environmentNameHasBeenSet = true; m_environmentName = value; } /** *

The name of the environment.

*/ inline void SetEnvironmentName(Aws::String&& value) { m_environmentNameHasBeenSet = true; m_environmentName = std::move(value); } /** *

The name of the environment.

*/ inline void SetEnvironmentName(const char* value) { m_environmentNameHasBeenSet = true; m_environmentName.assign(value); } /** *

The name of the environment.

*/ inline EnvironmentResourceDescription& WithEnvironmentName(const Aws::String& value) { SetEnvironmentName(value); return *this;} /** *

The name of the environment.

*/ inline EnvironmentResourceDescription& WithEnvironmentName(Aws::String&& value) { SetEnvironmentName(std::move(value)); return *this;} /** *

The name of the environment.

*/ inline EnvironmentResourceDescription& WithEnvironmentName(const char* value) { SetEnvironmentName(value); return *this;} /** *

The AutoScalingGroups used by this environment.

*/ inline const Aws::Vector& GetAutoScalingGroups() const{ return m_autoScalingGroups; } /** *

The AutoScalingGroups used by this environment.

*/ inline bool AutoScalingGroupsHasBeenSet() const { return m_autoScalingGroupsHasBeenSet; } /** *

The AutoScalingGroups used by this environment.

*/ inline void SetAutoScalingGroups(const Aws::Vector& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = value; } /** *

The AutoScalingGroups used by this environment.

*/ inline void SetAutoScalingGroups(Aws::Vector&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups = std::move(value); } /** *

The AutoScalingGroups used by this environment.

*/ inline EnvironmentResourceDescription& WithAutoScalingGroups(const Aws::Vector& value) { SetAutoScalingGroups(value); return *this;} /** *

The AutoScalingGroups used by this environment.

*/ inline EnvironmentResourceDescription& WithAutoScalingGroups(Aws::Vector&& value) { SetAutoScalingGroups(std::move(value)); return *this;} /** *

The AutoScalingGroups used by this environment.

*/ inline EnvironmentResourceDescription& AddAutoScalingGroups(const AutoScalingGroup& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(value); return *this; } /** *

The AutoScalingGroups used by this environment.

*/ inline EnvironmentResourceDescription& AddAutoScalingGroups(AutoScalingGroup&& value) { m_autoScalingGroupsHasBeenSet = true; m_autoScalingGroups.push_back(std::move(value)); return *this; } /** *

The Amazon EC2 instances used by this environment.

*/ inline const Aws::Vector& GetInstances() const{ return m_instances; } /** *

The Amazon EC2 instances used by this environment.

*/ inline bool InstancesHasBeenSet() const { return m_instancesHasBeenSet; } /** *

The Amazon EC2 instances used by this environment.

*/ inline void SetInstances(const Aws::Vector& value) { m_instancesHasBeenSet = true; m_instances = value; } /** *

The Amazon EC2 instances used by this environment.

*/ inline void SetInstances(Aws::Vector&& value) { m_instancesHasBeenSet = true; m_instances = std::move(value); } /** *

The Amazon EC2 instances used by this environment.

*/ inline EnvironmentResourceDescription& WithInstances(const Aws::Vector& value) { SetInstances(value); return *this;} /** *

The Amazon EC2 instances used by this environment.

*/ inline EnvironmentResourceDescription& WithInstances(Aws::Vector&& value) { SetInstances(std::move(value)); return *this;} /** *

The Amazon EC2 instances used by this environment.

*/ inline EnvironmentResourceDescription& AddInstances(const Instance& value) { m_instancesHasBeenSet = true; m_instances.push_back(value); return *this; } /** *

The Amazon EC2 instances used by this environment.

*/ inline EnvironmentResourceDescription& AddInstances(Instance&& value) { m_instancesHasBeenSet = true; m_instances.push_back(std::move(value)); return *this; } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline const Aws::Vector& GetLaunchConfigurations() const{ return m_launchConfigurations; } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline bool LaunchConfigurationsHasBeenSet() const { return m_launchConfigurationsHasBeenSet; } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline void SetLaunchConfigurations(const Aws::Vector& value) { m_launchConfigurationsHasBeenSet = true; m_launchConfigurations = value; } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline void SetLaunchConfigurations(Aws::Vector&& value) { m_launchConfigurationsHasBeenSet = true; m_launchConfigurations = std::move(value); } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline EnvironmentResourceDescription& WithLaunchConfigurations(const Aws::Vector& value) { SetLaunchConfigurations(value); return *this;} /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline EnvironmentResourceDescription& WithLaunchConfigurations(Aws::Vector&& value) { SetLaunchConfigurations(std::move(value)); return *this;} /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline EnvironmentResourceDescription& AddLaunchConfigurations(const LaunchConfiguration& value) { m_launchConfigurationsHasBeenSet = true; m_launchConfigurations.push_back(value); return *this; } /** *

The Auto Scaling launch configurations in use by this environment.

*/ inline EnvironmentResourceDescription& AddLaunchConfigurations(LaunchConfiguration&& value) { m_launchConfigurationsHasBeenSet = true; m_launchConfigurations.push_back(std::move(value)); return *this; } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline const Aws::Vector& GetLaunchTemplates() const{ return m_launchTemplates; } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline bool LaunchTemplatesHasBeenSet() const { return m_launchTemplatesHasBeenSet; } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline void SetLaunchTemplates(const Aws::Vector& value) { m_launchTemplatesHasBeenSet = true; m_launchTemplates = value; } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline void SetLaunchTemplates(Aws::Vector&& value) { m_launchTemplatesHasBeenSet = true; m_launchTemplates = std::move(value); } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline EnvironmentResourceDescription& WithLaunchTemplates(const Aws::Vector& value) { SetLaunchTemplates(value); return *this;} /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline EnvironmentResourceDescription& WithLaunchTemplates(Aws::Vector&& value) { SetLaunchTemplates(std::move(value)); return *this;} /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline EnvironmentResourceDescription& AddLaunchTemplates(const LaunchTemplate& value) { m_launchTemplatesHasBeenSet = true; m_launchTemplates.push_back(value); return *this; } /** *

The Amazon EC2 launch templates in use by this environment.

*/ inline EnvironmentResourceDescription& AddLaunchTemplates(LaunchTemplate&& value) { m_launchTemplatesHasBeenSet = true; m_launchTemplates.push_back(std::move(value)); return *this; } /** *

The LoadBalancers in use by this environment.

*/ inline const Aws::Vector& GetLoadBalancers() const{ return m_loadBalancers; } /** *

The LoadBalancers in use by this environment.

*/ inline bool LoadBalancersHasBeenSet() const { return m_loadBalancersHasBeenSet; } /** *

The LoadBalancers in use by this environment.

*/ inline void SetLoadBalancers(const Aws::Vector& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = value; } /** *

The LoadBalancers in use by this environment.

*/ inline void SetLoadBalancers(Aws::Vector&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers = std::move(value); } /** *

The LoadBalancers in use by this environment.

*/ inline EnvironmentResourceDescription& WithLoadBalancers(const Aws::Vector& value) { SetLoadBalancers(value); return *this;} /** *

The LoadBalancers in use by this environment.

*/ inline EnvironmentResourceDescription& WithLoadBalancers(Aws::Vector&& value) { SetLoadBalancers(std::move(value)); return *this;} /** *

The LoadBalancers in use by this environment.

*/ inline EnvironmentResourceDescription& AddLoadBalancers(const LoadBalancer& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(value); return *this; } /** *

The LoadBalancers in use by this environment.

*/ inline EnvironmentResourceDescription& AddLoadBalancers(LoadBalancer&& value) { m_loadBalancersHasBeenSet = true; m_loadBalancers.push_back(std::move(value)); return *this; } /** *

The AutoScaling triggers in use by this environment.

*/ inline const Aws::Vector& GetTriggers() const{ return m_triggers; } /** *

The AutoScaling triggers in use by this environment.

*/ inline bool TriggersHasBeenSet() const { return m_triggersHasBeenSet; } /** *

The AutoScaling triggers in use by this environment.

*/ inline void SetTriggers(const Aws::Vector& value) { m_triggersHasBeenSet = true; m_triggers = value; } /** *

The AutoScaling triggers in use by this environment.

*/ inline void SetTriggers(Aws::Vector&& value) { m_triggersHasBeenSet = true; m_triggers = std::move(value); } /** *

The AutoScaling triggers in use by this environment.

*/ inline EnvironmentResourceDescription& WithTriggers(const Aws::Vector& value) { SetTriggers(value); return *this;} /** *

The AutoScaling triggers in use by this environment.

*/ inline EnvironmentResourceDescription& WithTriggers(Aws::Vector&& value) { SetTriggers(std::move(value)); return *this;} /** *

The AutoScaling triggers in use by this environment.

*/ inline EnvironmentResourceDescription& AddTriggers(const Trigger& value) { m_triggersHasBeenSet = true; m_triggers.push_back(value); return *this; } /** *

The AutoScaling triggers in use by this environment.

*/ inline EnvironmentResourceDescription& AddTriggers(Trigger&& value) { m_triggersHasBeenSet = true; m_triggers.push_back(std::move(value)); return *this; } /** *

The queues used by this environment.

*/ inline const Aws::Vector& GetQueues() const{ return m_queues; } /** *

The queues used by this environment.

*/ inline bool QueuesHasBeenSet() const { return m_queuesHasBeenSet; } /** *

The queues used by this environment.

*/ inline void SetQueues(const Aws::Vector& value) { m_queuesHasBeenSet = true; m_queues = value; } /** *

The queues used by this environment.

*/ inline void SetQueues(Aws::Vector&& value) { m_queuesHasBeenSet = true; m_queues = std::move(value); } /** *

The queues used by this environment.

*/ inline EnvironmentResourceDescription& WithQueues(const Aws::Vector& value) { SetQueues(value); return *this;} /** *

The queues used by this environment.

*/ inline EnvironmentResourceDescription& WithQueues(Aws::Vector&& value) { SetQueues(std::move(value)); return *this;} /** *

The queues used by this environment.

*/ inline EnvironmentResourceDescription& AddQueues(const Queue& value) { m_queuesHasBeenSet = true; m_queues.push_back(value); return *this; } /** *

The queues used by this environment.

*/ inline EnvironmentResourceDescription& AddQueues(Queue&& value) { m_queuesHasBeenSet = true; m_queues.push_back(std::move(value)); return *this; } private: Aws::String m_environmentName; bool m_environmentNameHasBeenSet = false; Aws::Vector m_autoScalingGroups; bool m_autoScalingGroupsHasBeenSet = false; Aws::Vector m_instances; bool m_instancesHasBeenSet = false; Aws::Vector m_launchConfigurations; bool m_launchConfigurationsHasBeenSet = false; Aws::Vector m_launchTemplates; bool m_launchTemplatesHasBeenSet = false; Aws::Vector m_loadBalancers; bool m_loadBalancersHasBeenSet = false; Aws::Vector m_triggers; bool m_triggersHasBeenSet = false; Aws::Vector m_queues; bool m_queuesHasBeenSet = false; }; } // namespace Model } // namespace ElasticBeanstalk } // namespace Aws