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/quicksight/QuickSight_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 QuickSight
22 {
23 namespace Model
24 {
25 
26   /**
27    * <p>The template alias.</p><p><h3>See Also:</h3>   <a
28    * href="http://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TemplateAlias">AWS
29    * API Reference</a></p>
30    */
31   class AWS_QUICKSIGHT_API TemplateAlias
32   {
33   public:
34     TemplateAlias();
35     TemplateAlias(Aws::Utils::Json::JsonView jsonValue);
36     TemplateAlias& operator=(Aws::Utils::Json::JsonView jsonValue);
37     Aws::Utils::Json::JsonValue Jsonize() const;
38 
39 
40     /**
41      * <p>The display name of the template alias.</p>
42      */
GetAliasName()43     inline const Aws::String& GetAliasName() const{ return m_aliasName; }
44 
45     /**
46      * <p>The display name of the template alias.</p>
47      */
AliasNameHasBeenSet()48     inline bool AliasNameHasBeenSet() const { return m_aliasNameHasBeenSet; }
49 
50     /**
51      * <p>The display name of the template alias.</p>
52      */
SetAliasName(const Aws::String & value)53     inline void SetAliasName(const Aws::String& value) { m_aliasNameHasBeenSet = true; m_aliasName = value; }
54 
55     /**
56      * <p>The display name of the template alias.</p>
57      */
SetAliasName(Aws::String && value)58     inline void SetAliasName(Aws::String&& value) { m_aliasNameHasBeenSet = true; m_aliasName = std::move(value); }
59 
60     /**
61      * <p>The display name of the template alias.</p>
62      */
SetAliasName(const char * value)63     inline void SetAliasName(const char* value) { m_aliasNameHasBeenSet = true; m_aliasName.assign(value); }
64 
65     /**
66      * <p>The display name of the template alias.</p>
67      */
WithAliasName(const Aws::String & value)68     inline TemplateAlias& WithAliasName(const Aws::String& value) { SetAliasName(value); return *this;}
69 
70     /**
71      * <p>The display name of the template alias.</p>
72      */
WithAliasName(Aws::String && value)73     inline TemplateAlias& WithAliasName(Aws::String&& value) { SetAliasName(std::move(value)); return *this;}
74 
75     /**
76      * <p>The display name of the template alias.</p>
77      */
WithAliasName(const char * value)78     inline TemplateAlias& WithAliasName(const char* value) { SetAliasName(value); return *this;}
79 
80 
81     /**
82      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
83      */
GetArn()84     inline const Aws::String& GetArn() const{ return m_arn; }
85 
86     /**
87      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
88      */
ArnHasBeenSet()89     inline bool ArnHasBeenSet() const { return m_arnHasBeenSet; }
90 
91     /**
92      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
93      */
SetArn(const Aws::String & value)94     inline void SetArn(const Aws::String& value) { m_arnHasBeenSet = true; m_arn = value; }
95 
96     /**
97      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
98      */
SetArn(Aws::String && value)99     inline void SetArn(Aws::String&& value) { m_arnHasBeenSet = true; m_arn = std::move(value); }
100 
101     /**
102      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
103      */
SetArn(const char * value)104     inline void SetArn(const char* value) { m_arnHasBeenSet = true; m_arn.assign(value); }
105 
106     /**
107      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
108      */
WithArn(const Aws::String & value)109     inline TemplateAlias& WithArn(const Aws::String& value) { SetArn(value); return *this;}
110 
111     /**
112      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
113      */
WithArn(Aws::String && value)114     inline TemplateAlias& WithArn(Aws::String&& value) { SetArn(std::move(value)); return *this;}
115 
116     /**
117      * <p>The Amazon Resource Name (ARN) of the template alias.</p>
118      */
WithArn(const char * value)119     inline TemplateAlias& WithArn(const char* value) { SetArn(value); return *this;}
120 
121 
122     /**
123      * <p>The version number of the template alias.</p>
124      */
GetTemplateVersionNumber()125     inline long long GetTemplateVersionNumber() const{ return m_templateVersionNumber; }
126 
127     /**
128      * <p>The version number of the template alias.</p>
129      */
TemplateVersionNumberHasBeenSet()130     inline bool TemplateVersionNumberHasBeenSet() const { return m_templateVersionNumberHasBeenSet; }
131 
132     /**
133      * <p>The version number of the template alias.</p>
134      */
SetTemplateVersionNumber(long long value)135     inline void SetTemplateVersionNumber(long long value) { m_templateVersionNumberHasBeenSet = true; m_templateVersionNumber = value; }
136 
137     /**
138      * <p>The version number of the template alias.</p>
139      */
WithTemplateVersionNumber(long long value)140     inline TemplateAlias& WithTemplateVersionNumber(long long value) { SetTemplateVersionNumber(value); return *this;}
141 
142   private:
143 
144     Aws::String m_aliasName;
145     bool m_aliasNameHasBeenSet;
146 
147     Aws::String m_arn;
148     bool m_arnHasBeenSet;
149 
150     long long m_templateVersionNumber;
151     bool m_templateVersionNumberHasBeenSet;
152   };
153 
154 } // namespace Model
155 } // namespace QuickSight
156 } // namespace Aws
157