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/ProvisioningArtifactDetail.h> 9 #include <aws/core/utils/memory/stl/AWSMap.h> 10 #include <aws/servicecatalog/model/Status.h> 11 #include <aws/core/utils/memory/stl/AWSString.h> 12 #include <utility> 13 14 namespace Aws 15 { 16 template<typename RESULT_TYPE> 17 class AmazonWebServiceResult; 18 19 namespace Utils 20 { 21 namespace Json 22 { 23 class JsonValue; 24 } // namespace Json 25 } // namespace Utils 26 namespace ServiceCatalog 27 { 28 namespace Model 29 { 30 class AWS_SERVICECATALOG_API CreateProvisioningArtifactResult 31 { 32 public: 33 CreateProvisioningArtifactResult(); 34 CreateProvisioningArtifactResult(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 35 CreateProvisioningArtifactResult& operator=(const Aws::AmazonWebServiceResult<Aws::Utils::Json::JsonValue>& result); 36 37 38 /** 39 * <p>Information about the provisioning artifact.</p> 40 */ GetProvisioningArtifactDetail()41 inline const ProvisioningArtifactDetail& GetProvisioningArtifactDetail() const{ return m_provisioningArtifactDetail; } 42 43 /** 44 * <p>Information about the provisioning artifact.</p> 45 */ SetProvisioningArtifactDetail(const ProvisioningArtifactDetail & value)46 inline void SetProvisioningArtifactDetail(const ProvisioningArtifactDetail& value) { m_provisioningArtifactDetail = value; } 47 48 /** 49 * <p>Information about the provisioning artifact.</p> 50 */ SetProvisioningArtifactDetail(ProvisioningArtifactDetail && value)51 inline void SetProvisioningArtifactDetail(ProvisioningArtifactDetail&& value) { m_provisioningArtifactDetail = std::move(value); } 52 53 /** 54 * <p>Information about the provisioning artifact.</p> 55 */ WithProvisioningArtifactDetail(const ProvisioningArtifactDetail & value)56 inline CreateProvisioningArtifactResult& WithProvisioningArtifactDetail(const ProvisioningArtifactDetail& value) { SetProvisioningArtifactDetail(value); return *this;} 57 58 /** 59 * <p>Information about the provisioning artifact.</p> 60 */ WithProvisioningArtifactDetail(ProvisioningArtifactDetail && value)61 inline CreateProvisioningArtifactResult& WithProvisioningArtifactDetail(ProvisioningArtifactDetail&& value) { SetProvisioningArtifactDetail(std::move(value)); return *this;} 62 63 64 /** 65 * <p>Specify the template source with one of the following options, but not both. 66 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 67 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 68 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 69 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 70 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 71 * the resource that contains the template; currently supports CloudFormation stack 72 * ARN.</p> 73 */ GetInfo()74 inline const Aws::Map<Aws::String, Aws::String>& GetInfo() const{ return m_info; } 75 76 /** 77 * <p>Specify the template source with one of the following options, but not both. 78 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 79 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 80 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 81 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 82 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 83 * the resource that contains the template; currently supports CloudFormation stack 84 * ARN.</p> 85 */ SetInfo(const Aws::Map<Aws::String,Aws::String> & value)86 inline void SetInfo(const Aws::Map<Aws::String, Aws::String>& value) { m_info = value; } 87 88 /** 89 * <p>Specify the template source with one of the following options, but not both. 90 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 91 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 92 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 93 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 94 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 95 * the resource that contains the template; currently supports CloudFormation stack 96 * ARN.</p> 97 */ SetInfo(Aws::Map<Aws::String,Aws::String> && value)98 inline void SetInfo(Aws::Map<Aws::String, Aws::String>&& value) { m_info = std::move(value); } 99 100 /** 101 * <p>Specify the template source with one of the following options, but not both. 102 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 103 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 104 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 105 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 106 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 107 * the resource that contains the template; currently supports CloudFormation stack 108 * ARN.</p> 109 */ WithInfo(const Aws::Map<Aws::String,Aws::String> & value)110 inline CreateProvisioningArtifactResult& WithInfo(const Aws::Map<Aws::String, Aws::String>& value) { SetInfo(value); return *this;} 111 112 /** 113 * <p>Specify the template source with one of the following options, but not both. 114 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 115 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 116 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 117 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 118 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 119 * the resource that contains the template; currently supports CloudFormation stack 120 * ARN.</p> 121 */ WithInfo(Aws::Map<Aws::String,Aws::String> && value)122 inline CreateProvisioningArtifactResult& WithInfo(Aws::Map<Aws::String, Aws::String>&& value) { SetInfo(std::move(value)); return *this;} 123 124 /** 125 * <p>Specify the template source with one of the following options, but not both. 126 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 127 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 128 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 129 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 130 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 131 * the resource that contains the template; currently supports CloudFormation stack 132 * ARN.</p> 133 */ AddInfo(const Aws::String & key,const Aws::String & value)134 inline CreateProvisioningArtifactResult& AddInfo(const Aws::String& key, const Aws::String& value) { m_info.emplace(key, value); return *this; } 135 136 /** 137 * <p>Specify the template source with one of the following options, but not both. 138 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 139 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 140 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 141 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 142 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 143 * the resource that contains the template; currently supports CloudFormation stack 144 * ARN.</p> 145 */ AddInfo(Aws::String && key,const Aws::String & value)146 inline CreateProvisioningArtifactResult& AddInfo(Aws::String&& key, const Aws::String& value) { m_info.emplace(std::move(key), value); return *this; } 147 148 /** 149 * <p>Specify the template source with one of the following options, but not both. 150 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 151 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 152 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 153 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 154 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 155 * the resource that contains the template; currently supports CloudFormation stack 156 * ARN.</p> 157 */ AddInfo(const Aws::String & key,Aws::String && value)158 inline CreateProvisioningArtifactResult& AddInfo(const Aws::String& key, Aws::String&& value) { m_info.emplace(key, std::move(value)); return *this; } 159 160 /** 161 * <p>Specify the template source with one of the following options, but not both. 162 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 163 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 164 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 165 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 166 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 167 * the resource that contains the template; currently supports CloudFormation stack 168 * ARN.</p> 169 */ AddInfo(Aws::String && key,Aws::String && value)170 inline CreateProvisioningArtifactResult& AddInfo(Aws::String&& key, Aws::String&& value) { m_info.emplace(std::move(key), std::move(value)); return *this; } 171 172 /** 173 * <p>Specify the template source with one of the following options, but not both. 174 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 175 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 176 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 177 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 178 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 179 * the resource that contains the template; currently supports CloudFormation stack 180 * ARN.</p> 181 */ AddInfo(const char * key,Aws::String && value)182 inline CreateProvisioningArtifactResult& AddInfo(const char* key, Aws::String&& value) { m_info.emplace(key, std::move(value)); return *this; } 183 184 /** 185 * <p>Specify the template source with one of the following options, but not both. 186 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 187 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 188 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 189 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 190 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 191 * the resource that contains the template; currently supports CloudFormation stack 192 * ARN.</p> 193 */ AddInfo(Aws::String && key,const char * value)194 inline CreateProvisioningArtifactResult& AddInfo(Aws::String&& key, const char* value) { m_info.emplace(std::move(key), value); return *this; } 195 196 /** 197 * <p>Specify the template source with one of the following options, but not both. 198 * Keys accepted: [ <code>LoadTemplateFromURL</code>, 199 * <code>ImportFromPhysicalId</code> ].</p> <p>The URL of the CloudFormation 200 * template in Amazon S3, in JSON format. </p> <p> <code>LoadTemplateFromURL</code> 201 * </p> <p>Use the URL of the CloudFormation template in Amazon S3 in JSON 202 * format.</p> <p> <code>ImportFromPhysicalId</code> </p> <p>Use the physical id of 203 * the resource that contains the template; currently supports CloudFormation stack 204 * ARN.</p> 205 */ AddInfo(const char * key,const char * value)206 inline CreateProvisioningArtifactResult& AddInfo(const char* key, const char* value) { m_info.emplace(key, value); return *this; } 207 208 209 /** 210 * <p>The status of the current request.</p> 211 */ GetStatus()212 inline const Status& GetStatus() const{ return m_status; } 213 214 /** 215 * <p>The status of the current request.</p> 216 */ SetStatus(const Status & value)217 inline void SetStatus(const Status& value) { m_status = value; } 218 219 /** 220 * <p>The status of the current request.</p> 221 */ SetStatus(Status && value)222 inline void SetStatus(Status&& value) { m_status = std::move(value); } 223 224 /** 225 * <p>The status of the current request.</p> 226 */ WithStatus(const Status & value)227 inline CreateProvisioningArtifactResult& WithStatus(const Status& value) { SetStatus(value); return *this;} 228 229 /** 230 * <p>The status of the current request.</p> 231 */ WithStatus(Status && value)232 inline CreateProvisioningArtifactResult& WithStatus(Status&& value) { SetStatus(std::move(value)); return *this;} 233 234 private: 235 236 ProvisioningArtifactDetail m_provisioningArtifactDetail; 237 238 Aws::Map<Aws::String, Aws::String> m_info; 239 240 Status m_status; 241 }; 242 243 } // namespace Model 244 } // namespace ServiceCatalog 245 } // namespace Aws 246