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/fms/FMS_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <aws/fms/model/ActionTarget.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 FMS
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Information about the CreateRouteTable action in Amazon EC2.</p><p><h3>See
29    * Also:</h3>   <a
30    * href="http://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/EC2CreateRouteTableAction">AWS
31    * API Reference</a></p>
32    */
33   class AWS_FMS_API EC2CreateRouteTableAction
34   {
35   public:
36     EC2CreateRouteTableAction();
37     EC2CreateRouteTableAction(Aws::Utils::Json::JsonView jsonValue);
38     EC2CreateRouteTableAction& operator=(Aws::Utils::Json::JsonView jsonValue);
39     Aws::Utils::Json::JsonValue Jsonize() const;
40 
41 
42     /**
43      * <p>A description of the CreateRouteTable action.</p>
44      */
GetDescription()45     inline const Aws::String& GetDescription() const{ return m_description; }
46 
47     /**
48      * <p>A description of the CreateRouteTable action.</p>
49      */
DescriptionHasBeenSet()50     inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; }
51 
52     /**
53      * <p>A description of the CreateRouteTable action.</p>
54      */
SetDescription(const Aws::String & value)55     inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; }
56 
57     /**
58      * <p>A description of the CreateRouteTable action.</p>
59      */
SetDescription(Aws::String && value)60     inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); }
61 
62     /**
63      * <p>A description of the CreateRouteTable action.</p>
64      */
SetDescription(const char * value)65     inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); }
66 
67     /**
68      * <p>A description of the CreateRouteTable action.</p>
69      */
WithDescription(const Aws::String & value)70     inline EC2CreateRouteTableAction& WithDescription(const Aws::String& value) { SetDescription(value); return *this;}
71 
72     /**
73      * <p>A description of the CreateRouteTable action.</p>
74      */
WithDescription(Aws::String && value)75     inline EC2CreateRouteTableAction& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;}
76 
77     /**
78      * <p>A description of the CreateRouteTable action.</p>
79      */
WithDescription(const char * value)80     inline EC2CreateRouteTableAction& WithDescription(const char* value) { SetDescription(value); return *this;}
81 
82 
83     /**
84      * <p>Information about the ID of a VPC.</p>
85      */
GetVpcId()86     inline const ActionTarget& GetVpcId() const{ return m_vpcId; }
87 
88     /**
89      * <p>Information about the ID of a VPC.</p>
90      */
VpcIdHasBeenSet()91     inline bool VpcIdHasBeenSet() const { return m_vpcIdHasBeenSet; }
92 
93     /**
94      * <p>Information about the ID of a VPC.</p>
95      */
SetVpcId(const ActionTarget & value)96     inline void SetVpcId(const ActionTarget& value) { m_vpcIdHasBeenSet = true; m_vpcId = value; }
97 
98     /**
99      * <p>Information about the ID of a VPC.</p>
100      */
SetVpcId(ActionTarget && value)101     inline void SetVpcId(ActionTarget&& value) { m_vpcIdHasBeenSet = true; m_vpcId = std::move(value); }
102 
103     /**
104      * <p>Information about the ID of a VPC.</p>
105      */
WithVpcId(const ActionTarget & value)106     inline EC2CreateRouteTableAction& WithVpcId(const ActionTarget& value) { SetVpcId(value); return *this;}
107 
108     /**
109      * <p>Information about the ID of a VPC.</p>
110      */
WithVpcId(ActionTarget && value)111     inline EC2CreateRouteTableAction& WithVpcId(ActionTarget&& value) { SetVpcId(std::move(value)); return *this;}
112 
113   private:
114 
115     Aws::String m_description;
116     bool m_descriptionHasBeenSet;
117 
118     ActionTarget m_vpcId;
119     bool m_vpcIdHasBeenSet;
120   };
121 
122 } // namespace Model
123 } // namespace FMS
124 } // namespace Aws
125