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/servicecatalog/ServiceCatalog_EXPORTS.h>
8 #include <aws/servicecatalog/model/ServiceActionSummary.h>
9 #include <aws/core/utils/memory/stl/AWSMap.h>
10 #include <aws/servicecatalog/model/ServiceActionDefinitionKey.h>
11 #include <aws/core/utils/memory/stl/AWSString.h>
12 #include <utility>
13 
14 namespace Aws
15 {
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21   class JsonView;
22 } // namespace Json
23 } // namespace Utils
24 namespace ServiceCatalog
25 {
26 namespace Model
27 {
28 
29   /**
30    * <p>An object containing detailed information about the self-service
31    * action.</p><p><h3>See Also:</h3>   <a
32    * href="http://docs.aws.amazon.com/goto/WebAPI/servicecatalog-2015-12-10/ServiceActionDetail">AWS
33    * API Reference</a></p>
34    */
35   class AWS_SERVICECATALOG_API ServiceActionDetail
36   {
37   public:
38     ServiceActionDetail();
39     ServiceActionDetail(Aws::Utils::Json::JsonView jsonValue);
40     ServiceActionDetail& operator=(Aws::Utils::Json::JsonView jsonValue);
41     Aws::Utils::Json::JsonValue Jsonize() const;
42 
43 
44     /**
45      * <p>Summary information about the self-service action.</p>
46      */
GetServiceActionSummary()47     inline const ServiceActionSummary& GetServiceActionSummary() const{ return m_serviceActionSummary; }
48 
49     /**
50      * <p>Summary information about the self-service action.</p>
51      */
ServiceActionSummaryHasBeenSet()52     inline bool ServiceActionSummaryHasBeenSet() const { return m_serviceActionSummaryHasBeenSet; }
53 
54     /**
55      * <p>Summary information about the self-service action.</p>
56      */
SetServiceActionSummary(const ServiceActionSummary & value)57     inline void SetServiceActionSummary(const ServiceActionSummary& value) { m_serviceActionSummaryHasBeenSet = true; m_serviceActionSummary = value; }
58 
59     /**
60      * <p>Summary information about the self-service action.</p>
61      */
SetServiceActionSummary(ServiceActionSummary && value)62     inline void SetServiceActionSummary(ServiceActionSummary&& value) { m_serviceActionSummaryHasBeenSet = true; m_serviceActionSummary = std::move(value); }
63 
64     /**
65      * <p>Summary information about the self-service action.</p>
66      */
WithServiceActionSummary(const ServiceActionSummary & value)67     inline ServiceActionDetail& WithServiceActionSummary(const ServiceActionSummary& value) { SetServiceActionSummary(value); return *this;}
68 
69     /**
70      * <p>Summary information about the self-service action.</p>
71      */
WithServiceActionSummary(ServiceActionSummary && value)72     inline ServiceActionDetail& WithServiceActionSummary(ServiceActionSummary&& value) { SetServiceActionSummary(std::move(value)); return *this;}
73 
74 
75     /**
76      * <p>A map that defines the self-service action.</p>
77      */
GetDefinition()78     inline const Aws::Map<ServiceActionDefinitionKey, Aws::String>& GetDefinition() const{ return m_definition; }
79 
80     /**
81      * <p>A map that defines the self-service action.</p>
82      */
DefinitionHasBeenSet()83     inline bool DefinitionHasBeenSet() const { return m_definitionHasBeenSet; }
84 
85     /**
86      * <p>A map that defines the self-service action.</p>
87      */
SetDefinition(const Aws::Map<ServiceActionDefinitionKey,Aws::String> & value)88     inline void SetDefinition(const Aws::Map<ServiceActionDefinitionKey, Aws::String>& value) { m_definitionHasBeenSet = true; m_definition = value; }
89 
90     /**
91      * <p>A map that defines the self-service action.</p>
92      */
SetDefinition(Aws::Map<ServiceActionDefinitionKey,Aws::String> && value)93     inline void SetDefinition(Aws::Map<ServiceActionDefinitionKey, Aws::String>&& value) { m_definitionHasBeenSet = true; m_definition = std::move(value); }
94 
95     /**
96      * <p>A map that defines the self-service action.</p>
97      */
WithDefinition(const Aws::Map<ServiceActionDefinitionKey,Aws::String> & value)98     inline ServiceActionDetail& WithDefinition(const Aws::Map<ServiceActionDefinitionKey, Aws::String>& value) { SetDefinition(value); return *this;}
99 
100     /**
101      * <p>A map that defines the self-service action.</p>
102      */
WithDefinition(Aws::Map<ServiceActionDefinitionKey,Aws::String> && value)103     inline ServiceActionDetail& WithDefinition(Aws::Map<ServiceActionDefinitionKey, Aws::String>&& value) { SetDefinition(std::move(value)); return *this;}
104 
105     /**
106      * <p>A map that defines the self-service action.</p>
107      */
AddDefinition(const ServiceActionDefinitionKey & key,const Aws::String & value)108     inline ServiceActionDetail& AddDefinition(const ServiceActionDefinitionKey& key, const Aws::String& value) { m_definitionHasBeenSet = true; m_definition.emplace(key, value); return *this; }
109 
110     /**
111      * <p>A map that defines the self-service action.</p>
112      */
AddDefinition(ServiceActionDefinitionKey && key,const Aws::String & value)113     inline ServiceActionDetail& AddDefinition(ServiceActionDefinitionKey&& key, const Aws::String& value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), value); return *this; }
114 
115     /**
116      * <p>A map that defines the self-service action.</p>
117      */
AddDefinition(const ServiceActionDefinitionKey & key,Aws::String && value)118     inline ServiceActionDetail& AddDefinition(const ServiceActionDefinitionKey& key, Aws::String&& value) { m_definitionHasBeenSet = true; m_definition.emplace(key, std::move(value)); return *this; }
119 
120     /**
121      * <p>A map that defines the self-service action.</p>
122      */
AddDefinition(ServiceActionDefinitionKey && key,Aws::String && value)123     inline ServiceActionDetail& AddDefinition(ServiceActionDefinitionKey&& key, Aws::String&& value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), std::move(value)); return *this; }
124 
125     /**
126      * <p>A map that defines the self-service action.</p>
127      */
AddDefinition(ServiceActionDefinitionKey && key,const char * value)128     inline ServiceActionDetail& AddDefinition(ServiceActionDefinitionKey&& key, const char* value) { m_definitionHasBeenSet = true; m_definition.emplace(std::move(key), value); return *this; }
129 
130     /**
131      * <p>A map that defines the self-service action.</p>
132      */
AddDefinition(const ServiceActionDefinitionKey & key,const char * value)133     inline ServiceActionDetail& AddDefinition(const ServiceActionDefinitionKey& key, const char* value) { m_definitionHasBeenSet = true; m_definition.emplace(key, value); return *this; }
134 
135   private:
136 
137     ServiceActionSummary m_serviceActionSummary;
138     bool m_serviceActionSummaryHasBeenSet;
139 
140     Aws::Map<ServiceActionDefinitionKey, Aws::String> m_definition;
141     bool m_definitionHasBeenSet;
142   };
143 
144 } // namespace Model
145 } // namespace ServiceCatalog
146 } // namespace Aws
147