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/ssm/SSM_EXPORTS.h>
8 #include <aws/core/utils/memory/stl/AWSString.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 namespace Utils
14 {
15 namespace Json
16 {
17   class JsonValue;
18   class JsonView;
19 } // namespace Json
20 } // namespace Utils
21 namespace SSM
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>The OpsItem data type to return.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/OpsResultAttribute">AWS
29    * API Reference</a></p>
30    */
31   class AWS_SSM_API OpsResultAttribute
32   {
33   public:
34     OpsResultAttribute();
35     OpsResultAttribute(Aws::Utils::Json::JsonView jsonValue);
36     OpsResultAttribute& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
42      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
43      * <code>AWS:ComplianceSummary</code>.</p>
44      */
GetTypeName()45     inline const Aws::String& GetTypeName() const{ return m_typeName; }
46 
47     /**
48      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
49      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
50      * <code>AWS:ComplianceSummary</code>.</p>
51      */
TypeNameHasBeenSet()52     inline bool TypeNameHasBeenSet() const { return m_typeNameHasBeenSet; }
53 
54     /**
55      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
56      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
57      * <code>AWS:ComplianceSummary</code>.</p>
58      */
SetTypeName(const Aws::String & value)59     inline void SetTypeName(const Aws::String& value) { m_typeNameHasBeenSet = true; m_typeName = value; }
60 
61     /**
62      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
63      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
64      * <code>AWS:ComplianceSummary</code>.</p>
65      */
SetTypeName(Aws::String && value)66     inline void SetTypeName(Aws::String&& value) { m_typeNameHasBeenSet = true; m_typeName = std::move(value); }
67 
68     /**
69      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
70      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
71      * <code>AWS:ComplianceSummary</code>.</p>
72      */
SetTypeName(const char * value)73     inline void SetTypeName(const char* value) { m_typeNameHasBeenSet = true; m_typeName.assign(value); }
74 
75     /**
76      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
77      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
78      * <code>AWS:ComplianceSummary</code>.</p>
79      */
WithTypeName(const Aws::String & value)80     inline OpsResultAttribute& WithTypeName(const Aws::String& value) { SetTypeName(value); return *this;}
81 
82     /**
83      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
84      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
85      * <code>AWS:ComplianceSummary</code>.</p>
86      */
WithTypeName(Aws::String && value)87     inline OpsResultAttribute& WithTypeName(Aws::String&& value) { SetTypeName(std::move(value)); return *this;}
88 
89     /**
90      * <p>Name of the data type. Valid value: <code>AWS:OpsItem</code>,
91      * <code>AWS:EC2InstanceInformation</code>, <code>AWS:OpsItemTrendline</code>, or
92      * <code>AWS:ComplianceSummary</code>.</p>
93      */
WithTypeName(const char * value)94     inline OpsResultAttribute& WithTypeName(const char* value) { SetTypeName(value); return *this;}
95 
96   private:
97 
98     Aws::String m_typeName;
99     bool m_typeNameHasBeenSet;
100   };
101 
102 } // namespace Model
103 } // namespace SSM
104 } // namespace Aws
105