1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 #include <aws/securityhub/SecurityHub_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSVector.h>
9 #include <aws/core/utils/memory/stl/AWSString.h>
10 #include <utility>
11 
12 namespace Aws
13 {
14 namespace Utils
15 {
16 namespace Json
17 {
18   class JsonValue;
19   class JsonView;
20 } // namespace Json
21 } // namespace Utils
22 namespace SecurityHub
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides information about the configuration of an EC2 instance for the load
29    * balancer.</p><p><h3>See Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AwsElbLoadBalancerBackendServerDescription">AWS
31    * API Reference</a></p>
32    */
33   class AWS_SECURITYHUB_API AwsElbLoadBalancerBackendServerDescription
34   {
35   public:
36     AwsElbLoadBalancerBackendServerDescription();
37     AwsElbLoadBalancerBackendServerDescription(Aws::Utils::Json::JsonView jsonValue);
38     AwsElbLoadBalancerBackendServerDescription& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>The port on which the EC2 instance is listening.</p>
44      */
GetInstancePort()45     inline int GetInstancePort() const{ return m_instancePort; }
46 
47     /**
48      * <p>The port on which the EC2 instance is listening.</p>
49      */
InstancePortHasBeenSet()50     inline bool InstancePortHasBeenSet() const { return m_instancePortHasBeenSet; }
51 
52     /**
53      * <p>The port on which the EC2 instance is listening.</p>
54      */
SetInstancePort(int value)55     inline void SetInstancePort(int value) { m_instancePortHasBeenSet = true; m_instancePort = value; }
56 
57     /**
58      * <p>The port on which the EC2 instance is listening.</p>
59      */
WithInstancePort(int value)60     inline AwsElbLoadBalancerBackendServerDescription& WithInstancePort(int value) { SetInstancePort(value); return *this;}
61 
62 
63     /**
64      * <p>The names of the policies that are enabled for the EC2 instance.</p>
65      */
GetPolicyNames()66     inline const Aws::Vector<Aws::String>& GetPolicyNames() const{ return m_policyNames; }
67 
68     /**
69      * <p>The names of the policies that are enabled for the EC2 instance.</p>
70      */
PolicyNamesHasBeenSet()71     inline bool PolicyNamesHasBeenSet() const { return m_policyNamesHasBeenSet; }
72 
73     /**
74      * <p>The names of the policies that are enabled for the EC2 instance.</p>
75      */
SetPolicyNames(const Aws::Vector<Aws::String> & value)76     inline void SetPolicyNames(const Aws::Vector<Aws::String>& value) { m_policyNamesHasBeenSet = true; m_policyNames = value; }
77 
78     /**
79      * <p>The names of the policies that are enabled for the EC2 instance.</p>
80      */
SetPolicyNames(Aws::Vector<Aws::String> && value)81     inline void SetPolicyNames(Aws::Vector<Aws::String>&& value) { m_policyNamesHasBeenSet = true; m_policyNames = std::move(value); }
82 
83     /**
84      * <p>The names of the policies that are enabled for the EC2 instance.</p>
85      */
WithPolicyNames(const Aws::Vector<Aws::String> & value)86     inline AwsElbLoadBalancerBackendServerDescription& WithPolicyNames(const Aws::Vector<Aws::String>& value) { SetPolicyNames(value); return *this;}
87 
88     /**
89      * <p>The names of the policies that are enabled for the EC2 instance.</p>
90      */
WithPolicyNames(Aws::Vector<Aws::String> && value)91     inline AwsElbLoadBalancerBackendServerDescription& WithPolicyNames(Aws::Vector<Aws::String>&& value) { SetPolicyNames(std::move(value)); return *this;}
92 
93     /**
94      * <p>The names of the policies that are enabled for the EC2 instance.</p>
95      */
AddPolicyNames(const Aws::String & value)96     inline AwsElbLoadBalancerBackendServerDescription& AddPolicyNames(const Aws::String& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; }
97 
98     /**
99      * <p>The names of the policies that are enabled for the EC2 instance.</p>
100      */
AddPolicyNames(Aws::String && value)101     inline AwsElbLoadBalancerBackendServerDescription& AddPolicyNames(Aws::String&& value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(std::move(value)); return *this; }
102 
103     /**
104      * <p>The names of the policies that are enabled for the EC2 instance.</p>
105      */
AddPolicyNames(const char * value)106     inline AwsElbLoadBalancerBackendServerDescription& AddPolicyNames(const char* value) { m_policyNamesHasBeenSet = true; m_policyNames.push_back(value); return *this; }
107 
108   private:
109 
110     int m_instancePort;
111     bool m_instancePortHasBeenSet;
112 
113     Aws::Vector<Aws::String> m_policyNames;
114     bool m_policyNamesHasBeenSet;
115   };
116 
117 } // namespace Model
118 } // namespace SecurityHub
119 } // namespace Aws
120