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/lexv2-models/LexModelsV2_EXPORTS.h>
8 #include <aws/lexv2-models/model/BotExportSpecification.h>
9 #include <aws/lexv2-models/model/BotLocaleExportSpecification.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 LexModelsV2
23 {
24 namespace Model
25 {
26 
27   /**
28    * <p>Provides information about the bot or bot locale that you want to export. You
29    * can specify the <code>botExportSpecification</code> or the
30    * <code>botLocaleExportSpecification</code>, but not both.</p><p><h3>See
31    * Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/models.lex.v2-2020-08-07/ExportResourceSpecification">AWS
33    * API Reference</a></p>
34    */
35   class AWS_LEXMODELSV2_API ExportResourceSpecification
36   {
37   public:
38     ExportResourceSpecification();
39     ExportResourceSpecification(Aws::Utils::Json::JsonView jsonValue);
40     ExportResourceSpecification& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Parameters for exporting a bot.</p>
46      */
GetBotExportSpecification()47     inline const BotExportSpecification& GetBotExportSpecification() const{ return m_botExportSpecification; }
48 
49     /**
50      * <p>Parameters for exporting a bot.</p>
51      */
BotExportSpecificationHasBeenSet()52     inline bool BotExportSpecificationHasBeenSet() const { return m_botExportSpecificationHasBeenSet; }
53 
54     /**
55      * <p>Parameters for exporting a bot.</p>
56      */
SetBotExportSpecification(const BotExportSpecification & value)57     inline void SetBotExportSpecification(const BotExportSpecification& value) { m_botExportSpecificationHasBeenSet = true; m_botExportSpecification = value; }
58 
59     /**
60      * <p>Parameters for exporting a bot.</p>
61      */
SetBotExportSpecification(BotExportSpecification && value)62     inline void SetBotExportSpecification(BotExportSpecification&& value) { m_botExportSpecificationHasBeenSet = true; m_botExportSpecification = std::move(value); }
63 
64     /**
65      * <p>Parameters for exporting a bot.</p>
66      */
WithBotExportSpecification(const BotExportSpecification & value)67     inline ExportResourceSpecification& WithBotExportSpecification(const BotExportSpecification& value) { SetBotExportSpecification(value); return *this;}
68 
69     /**
70      * <p>Parameters for exporting a bot.</p>
71      */
WithBotExportSpecification(BotExportSpecification && value)72     inline ExportResourceSpecification& WithBotExportSpecification(BotExportSpecification&& value) { SetBotExportSpecification(std::move(value)); return *this;}
73 
74 
75     /**
76      * <p>Parameters for exporting a bot locale.</p>
77      */
GetBotLocaleExportSpecification()78     inline const BotLocaleExportSpecification& GetBotLocaleExportSpecification() const{ return m_botLocaleExportSpecification; }
79 
80     /**
81      * <p>Parameters for exporting a bot locale.</p>
82      */
BotLocaleExportSpecificationHasBeenSet()83     inline bool BotLocaleExportSpecificationHasBeenSet() const { return m_botLocaleExportSpecificationHasBeenSet; }
84 
85     /**
86      * <p>Parameters for exporting a bot locale.</p>
87      */
SetBotLocaleExportSpecification(const BotLocaleExportSpecification & value)88     inline void SetBotLocaleExportSpecification(const BotLocaleExportSpecification& value) { m_botLocaleExportSpecificationHasBeenSet = true; m_botLocaleExportSpecification = value; }
89 
90     /**
91      * <p>Parameters for exporting a bot locale.</p>
92      */
SetBotLocaleExportSpecification(BotLocaleExportSpecification && value)93     inline void SetBotLocaleExportSpecification(BotLocaleExportSpecification&& value) { m_botLocaleExportSpecificationHasBeenSet = true; m_botLocaleExportSpecification = std::move(value); }
94 
95     /**
96      * <p>Parameters for exporting a bot locale.</p>
97      */
WithBotLocaleExportSpecification(const BotLocaleExportSpecification & value)98     inline ExportResourceSpecification& WithBotLocaleExportSpecification(const BotLocaleExportSpecification& value) { SetBotLocaleExportSpecification(value); return *this;}
99 
100     /**
101      * <p>Parameters for exporting a bot locale.</p>
102      */
WithBotLocaleExportSpecification(BotLocaleExportSpecification && value)103     inline ExportResourceSpecification& WithBotLocaleExportSpecification(BotLocaleExportSpecification&& value) { SetBotLocaleExportSpecification(std::move(value)); return *this;}
104 
105   private:
106 
107     BotExportSpecification m_botExportSpecification;
108     bool m_botExportSpecificationHasBeenSet;
109 
110     BotLocaleExportSpecification m_botLocaleExportSpecification;
111     bool m_botLocaleExportSpecificationHasBeenSet;
112   };
113 
114 } // namespace Model
115 } // namespace LexModelsV2
116 } // namespace Aws
117