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/ecs/ECS_EXPORTS.h>
8 #include <aws/ecs/model/Service.h>
9 #include <utility>
10 
11 namespace Aws
12 {
13 template<typename RESULT_TYPE>
14 class AmazonWebServiceResult;
15 
16 namespace Utils
17 {
18 namespace Json
19 {
20   class JsonValue;
21 } // namespace Json
22 } // namespace Utils
23 namespace ECS
24 {
25 namespace Model
26 {
27   class AWS_ECS_API CreateServiceResult
28   {
29   public:
30     CreateServiceResult();
31     CreateServiceResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
32     CreateServiceResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result);
33 
34 
35     /**
36      * <p>The full description of your service following the create call.</p> <p>A
37      * service will return either a <code>capacityProviderStrategy</code> or
38      * <code>launchType</code> parameter, but not both, depending on which one was
39      * specified during creation.</p> <p>If a service is using the <code>ECS</code>
40      * deployment controller, the <code>deploymentController</code> and
41      * <code>taskSets</code> parameters will not be returned.</p> <p>If the service is
42      * using the <code>CODE_DEPLOY</code> deployment controller, the
43      * <code>deploymentController</code>, <code>taskSets</code> and
44      * <code>deployments</code> parameters will be returned, however the
45      * <code>deployments</code> parameter will be an empty list.</p>
46      */
GetService()47     inline const Service& GetService() const{ return m_service; }
48 
49     /**
50      * <p>The full description of your service following the create call.</p> <p>A
51      * service will return either a <code>capacityProviderStrategy</code> or
52      * <code>launchType</code> parameter, but not both, depending on which one was
53      * specified during creation.</p> <p>If a service is using the <code>ECS</code>
54      * deployment controller, the <code>deploymentController</code> and
55      * <code>taskSets</code> parameters will not be returned.</p> <p>If the service is
56      * using the <code>CODE_DEPLOY</code> deployment controller, the
57      * <code>deploymentController</code>, <code>taskSets</code> and
58      * <code>deployments</code> parameters will be returned, however the
59      * <code>deployments</code> parameter will be an empty list.</p>
60      */
SetService(const Service & value)61     inline void SetService(const Service& value) { m_service = value; }
62 
63     /**
64      * <p>The full description of your service following the create call.</p> <p>A
65      * service will return either a <code>capacityProviderStrategy</code> or
66      * <code>launchType</code> parameter, but not both, depending on which one was
67      * specified during creation.</p> <p>If a service is using the <code>ECS</code>
68      * deployment controller, the <code>deploymentController</code> and
69      * <code>taskSets</code> parameters will not be returned.</p> <p>If the service is
70      * using the <code>CODE_DEPLOY</code> deployment controller, the
71      * <code>deploymentController</code>, <code>taskSets</code> and
72      * <code>deployments</code> parameters will be returned, however the
73      * <code>deployments</code> parameter will be an empty list.</p>
74      */
SetService(Service && value)75     inline void SetService(Service&& value) { m_service = std::move(value); }
76 
77     /**
78      * <p>The full description of your service following the create call.</p> <p>A
79      * service will return either a <code>capacityProviderStrategy</code> or
80      * <code>launchType</code> parameter, but not both, depending on which one was
81      * specified during creation.</p> <p>If a service is using the <code>ECS</code>
82      * deployment controller, the <code>deploymentController</code> and
83      * <code>taskSets</code> parameters will not be returned.</p> <p>If the service is
84      * using the <code>CODE_DEPLOY</code> deployment controller, the
85      * <code>deploymentController</code>, <code>taskSets</code> and
86      * <code>deployments</code> parameters will be returned, however the
87      * <code>deployments</code> parameter will be an empty list.</p>
88      */
WithService(const Service & value)89     inline CreateServiceResult& WithService(const Service& value) { SetService(value); return *this;}
90 
91     /**
92      * <p>The full description of your service following the create call.</p> <p>A
93      * service will return either a <code>capacityProviderStrategy</code> or
94      * <code>launchType</code> parameter, but not both, depending on which one was
95      * specified during creation.</p> <p>If a service is using the <code>ECS</code>
96      * deployment controller, the <code>deploymentController</code> and
97      * <code>taskSets</code> parameters will not be returned.</p> <p>If the service is
98      * using the <code>CODE_DEPLOY</code> deployment controller, the
99      * <code>deploymentController</code>, <code>taskSets</code> and
100      * <code>deployments</code> parameters will be returned, however the
101      * <code>deployments</code> parameter will be an empty list.</p>
102      */
WithService(Service && value)103     inline CreateServiceResult& WithService(Service&& value) { SetService(std::move(value)); return *this;}
104 
105   private:
106 
107     Service m_service;
108   };
109 
110 } // namespace Model
111 } // namespace ECS
112 } // namespace Aws
113