Просмотр исходного кода

Add SetCdnDomainSMCertificate.

sdk-team 4 лет назад
Родитель
Сommit
602862cc5e

+ 3 - 0
CHANGELOG

@@ -1,3 +1,6 @@
+2021-11-05 Version: 1.36.923
+- Add SetCdnDomainSMCertificate.
+
 2021-11-05 Version: 1.36.922
 2021-11-05 Version: 1.36.922
 - Update OTA API, including CreateOTAVerifyJob.
 - Update OTA API, including CreateOTAVerifyJob.
 
 

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.922
+1.36.923

+ 12 - 0
cdn/CMakeLists.txt

@@ -107,6 +107,10 @@ set(cdn_public_header_model
 	include/alibabacloud/cdn/model/DescribeCdnReportResult.h
 	include/alibabacloud/cdn/model/DescribeCdnReportResult.h
 	include/alibabacloud/cdn/model/DescribeCdnReportListRequest.h
 	include/alibabacloud/cdn/model/DescribeCdnReportListRequest.h
 	include/alibabacloud/cdn/model/DescribeCdnReportListResult.h
 	include/alibabacloud/cdn/model/DescribeCdnReportListResult.h
+	include/alibabacloud/cdn/model/DescribeCdnSMCertificateDetailRequest.h
+	include/alibabacloud/cdn/model/DescribeCdnSMCertificateDetailResult.h
+	include/alibabacloud/cdn/model/DescribeCdnSMCertificateListRequest.h
+	include/alibabacloud/cdn/model/DescribeCdnSMCertificateListResult.h
 	include/alibabacloud/cdn/model/DescribeCdnServiceRequest.h
 	include/alibabacloud/cdn/model/DescribeCdnServiceRequest.h
 	include/alibabacloud/cdn/model/DescribeCdnServiceResult.h
 	include/alibabacloud/cdn/model/DescribeCdnServiceResult.h
 	include/alibabacloud/cdn/model/DescribeCdnSubListRequest.h
 	include/alibabacloud/cdn/model/DescribeCdnSubListRequest.h
@@ -341,6 +345,8 @@ set(cdn_public_header_model
 	include/alibabacloud/cdn/model/SetCcConfigResult.h
 	include/alibabacloud/cdn/model/SetCcConfigResult.h
 	include/alibabacloud/cdn/model/SetCdnDomainCSRCertificateRequest.h
 	include/alibabacloud/cdn/model/SetCdnDomainCSRCertificateRequest.h
 	include/alibabacloud/cdn/model/SetCdnDomainCSRCertificateResult.h
 	include/alibabacloud/cdn/model/SetCdnDomainCSRCertificateResult.h
+	include/alibabacloud/cdn/model/SetCdnDomainSMCertificateRequest.h
+	include/alibabacloud/cdn/model/SetCdnDomainSMCertificateResult.h
 	include/alibabacloud/cdn/model/SetCdnDomainStagingConfigRequest.h
 	include/alibabacloud/cdn/model/SetCdnDomainStagingConfigRequest.h
 	include/alibabacloud/cdn/model/SetCdnDomainStagingConfigResult.h
 	include/alibabacloud/cdn/model/SetCdnDomainStagingConfigResult.h
 	include/alibabacloud/cdn/model/SetConfigOfVersionRequest.h
 	include/alibabacloud/cdn/model/SetConfigOfVersionRequest.h
@@ -490,6 +496,10 @@ set(cdn_src
 	src/model/DescribeCdnReportResult.cc
 	src/model/DescribeCdnReportResult.cc
 	src/model/DescribeCdnReportListRequest.cc
 	src/model/DescribeCdnReportListRequest.cc
 	src/model/DescribeCdnReportListResult.cc
 	src/model/DescribeCdnReportListResult.cc
+	src/model/DescribeCdnSMCertificateDetailRequest.cc
+	src/model/DescribeCdnSMCertificateDetailResult.cc
+	src/model/DescribeCdnSMCertificateListRequest.cc
+	src/model/DescribeCdnSMCertificateListResult.cc
 	src/model/DescribeCdnServiceRequest.cc
 	src/model/DescribeCdnServiceRequest.cc
 	src/model/DescribeCdnServiceResult.cc
 	src/model/DescribeCdnServiceResult.cc
 	src/model/DescribeCdnSubListRequest.cc
 	src/model/DescribeCdnSubListRequest.cc
@@ -724,6 +734,8 @@ set(cdn_src
 	src/model/SetCcConfigResult.cc
 	src/model/SetCcConfigResult.cc
 	src/model/SetCdnDomainCSRCertificateRequest.cc
 	src/model/SetCdnDomainCSRCertificateRequest.cc
 	src/model/SetCdnDomainCSRCertificateResult.cc
 	src/model/SetCdnDomainCSRCertificateResult.cc
+	src/model/SetCdnDomainSMCertificateRequest.cc
+	src/model/SetCdnDomainSMCertificateResult.cc
 	src/model/SetCdnDomainStagingConfigRequest.cc
 	src/model/SetCdnDomainStagingConfigRequest.cc
 	src/model/SetCdnDomainStagingConfigResult.cc
 	src/model/SetCdnDomainStagingConfigResult.cc
 	src/model/SetConfigOfVersionRequest.cc
 	src/model/SetConfigOfVersionRequest.cc

+ 24 - 0
cdn/include/alibabacloud/cdn/CdnClient.h

@@ -108,6 +108,10 @@
 #include "model/DescribeCdnReportResult.h"
 #include "model/DescribeCdnReportResult.h"
 #include "model/DescribeCdnReportListRequest.h"
 #include "model/DescribeCdnReportListRequest.h"
 #include "model/DescribeCdnReportListResult.h"
 #include "model/DescribeCdnReportListResult.h"
+#include "model/DescribeCdnSMCertificateDetailRequest.h"
+#include "model/DescribeCdnSMCertificateDetailResult.h"
+#include "model/DescribeCdnSMCertificateListRequest.h"
+#include "model/DescribeCdnSMCertificateListResult.h"
 #include "model/DescribeCdnServiceRequest.h"
 #include "model/DescribeCdnServiceRequest.h"
 #include "model/DescribeCdnServiceResult.h"
 #include "model/DescribeCdnServiceResult.h"
 #include "model/DescribeCdnSubListRequest.h"
 #include "model/DescribeCdnSubListRequest.h"
@@ -342,6 +346,8 @@
 #include "model/SetCcConfigResult.h"
 #include "model/SetCcConfigResult.h"
 #include "model/SetCdnDomainCSRCertificateRequest.h"
 #include "model/SetCdnDomainCSRCertificateRequest.h"
 #include "model/SetCdnDomainCSRCertificateResult.h"
 #include "model/SetCdnDomainCSRCertificateResult.h"
+#include "model/SetCdnDomainSMCertificateRequest.h"
+#include "model/SetCdnDomainSMCertificateResult.h"
 #include "model/SetCdnDomainStagingConfigRequest.h"
 #include "model/SetCdnDomainStagingConfigRequest.h"
 #include "model/SetCdnDomainStagingConfigResult.h"
 #include "model/SetCdnDomainStagingConfigResult.h"
 #include "model/SetConfigOfVersionRequest.h"
 #include "model/SetConfigOfVersionRequest.h"
@@ -540,6 +546,12 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeCdnReportListResult> DescribeCdnReportListOutcome;
 			typedef Outcome<Error, Model::DescribeCdnReportListResult> DescribeCdnReportListOutcome;
 			typedef std::future<DescribeCdnReportListOutcome> DescribeCdnReportListOutcomeCallable;
 			typedef std::future<DescribeCdnReportListOutcome> DescribeCdnReportListOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeCdnReportListRequest&, const DescribeCdnReportListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnReportListAsyncHandler;
 			typedef std::function<void(const CdnClient*, const Model::DescribeCdnReportListRequest&, const DescribeCdnReportListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnReportListAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCdnSMCertificateDetailResult> DescribeCdnSMCertificateDetailOutcome;
+			typedef std::future<DescribeCdnSMCertificateDetailOutcome> DescribeCdnSMCertificateDetailOutcomeCallable;
+			typedef std::function<void(const CdnClient*, const Model::DescribeCdnSMCertificateDetailRequest&, const DescribeCdnSMCertificateDetailOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnSMCertificateDetailAsyncHandler;
+			typedef Outcome<Error, Model::DescribeCdnSMCertificateListResult> DescribeCdnSMCertificateListOutcome;
+			typedef std::future<DescribeCdnSMCertificateListOutcome> DescribeCdnSMCertificateListOutcomeCallable;
+			typedef std::function<void(const CdnClient*, const Model::DescribeCdnSMCertificateListRequest&, const DescribeCdnSMCertificateListOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnSMCertificateListAsyncHandler;
 			typedef Outcome<Error, Model::DescribeCdnServiceResult> DescribeCdnServiceOutcome;
 			typedef Outcome<Error, Model::DescribeCdnServiceResult> DescribeCdnServiceOutcome;
 			typedef std::future<DescribeCdnServiceOutcome> DescribeCdnServiceOutcomeCallable;
 			typedef std::future<DescribeCdnServiceOutcome> DescribeCdnServiceOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::DescribeCdnServiceRequest&, const DescribeCdnServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnServiceAsyncHandler;
 			typedef std::function<void(const CdnClient*, const Model::DescribeCdnServiceRequest&, const DescribeCdnServiceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeCdnServiceAsyncHandler;
@@ -891,6 +903,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::SetCdnDomainCSRCertificateResult> SetCdnDomainCSRCertificateOutcome;
 			typedef Outcome<Error, Model::SetCdnDomainCSRCertificateResult> SetCdnDomainCSRCertificateOutcome;
 			typedef std::future<SetCdnDomainCSRCertificateOutcome> SetCdnDomainCSRCertificateOutcomeCallable;
 			typedef std::future<SetCdnDomainCSRCertificateOutcome> SetCdnDomainCSRCertificateOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::SetCdnDomainCSRCertificateRequest&, const SetCdnDomainCSRCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCdnDomainCSRCertificateAsyncHandler;
 			typedef std::function<void(const CdnClient*, const Model::SetCdnDomainCSRCertificateRequest&, const SetCdnDomainCSRCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCdnDomainCSRCertificateAsyncHandler;
+			typedef Outcome<Error, Model::SetCdnDomainSMCertificateResult> SetCdnDomainSMCertificateOutcome;
+			typedef std::future<SetCdnDomainSMCertificateOutcome> SetCdnDomainSMCertificateOutcomeCallable;
+			typedef std::function<void(const CdnClient*, const Model::SetCdnDomainSMCertificateRequest&, const SetCdnDomainSMCertificateOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCdnDomainSMCertificateAsyncHandler;
 			typedef Outcome<Error, Model::SetCdnDomainStagingConfigResult> SetCdnDomainStagingConfigOutcome;
 			typedef Outcome<Error, Model::SetCdnDomainStagingConfigResult> SetCdnDomainStagingConfigOutcome;
 			typedef std::future<SetCdnDomainStagingConfigOutcome> SetCdnDomainStagingConfigOutcomeCallable;
 			typedef std::future<SetCdnDomainStagingConfigOutcome> SetCdnDomainStagingConfigOutcomeCallable;
 			typedef std::function<void(const CdnClient*, const Model::SetCdnDomainStagingConfigRequest&, const SetCdnDomainStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCdnDomainStagingConfigAsyncHandler;
 			typedef std::function<void(const CdnClient*, const Model::SetCdnDomainStagingConfigRequest&, const SetCdnDomainStagingConfigOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> SetCdnDomainStagingConfigAsyncHandler;
@@ -1115,6 +1130,12 @@ namespace AlibabaCloud
 			DescribeCdnReportListOutcome describeCdnReportList(const Model::DescribeCdnReportListRequest &request)const;
 			DescribeCdnReportListOutcome describeCdnReportList(const Model::DescribeCdnReportListRequest &request)const;
 			void describeCdnReportListAsync(const Model::DescribeCdnReportListRequest& request, const DescribeCdnReportListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeCdnReportListAsync(const Model::DescribeCdnReportListRequest& request, const DescribeCdnReportListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCdnReportListOutcomeCallable describeCdnReportListCallable(const Model::DescribeCdnReportListRequest& request) const;
 			DescribeCdnReportListOutcomeCallable describeCdnReportListCallable(const Model::DescribeCdnReportListRequest& request) const;
+			DescribeCdnSMCertificateDetailOutcome describeCdnSMCertificateDetail(const Model::DescribeCdnSMCertificateDetailRequest &request)const;
+			void describeCdnSMCertificateDetailAsync(const Model::DescribeCdnSMCertificateDetailRequest& request, const DescribeCdnSMCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCdnSMCertificateDetailOutcomeCallable describeCdnSMCertificateDetailCallable(const Model::DescribeCdnSMCertificateDetailRequest& request) const;
+			DescribeCdnSMCertificateListOutcome describeCdnSMCertificateList(const Model::DescribeCdnSMCertificateListRequest &request)const;
+			void describeCdnSMCertificateListAsync(const Model::DescribeCdnSMCertificateListRequest& request, const DescribeCdnSMCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribeCdnSMCertificateListOutcomeCallable describeCdnSMCertificateListCallable(const Model::DescribeCdnSMCertificateListRequest& request) const;
 			DescribeCdnServiceOutcome describeCdnService(const Model::DescribeCdnServiceRequest &request)const;
 			DescribeCdnServiceOutcome describeCdnService(const Model::DescribeCdnServiceRequest &request)const;
 			void describeCdnServiceAsync(const Model::DescribeCdnServiceRequest& request, const DescribeCdnServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void describeCdnServiceAsync(const Model::DescribeCdnServiceRequest& request, const DescribeCdnServiceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeCdnServiceOutcomeCallable describeCdnServiceCallable(const Model::DescribeCdnServiceRequest& request) const;
 			DescribeCdnServiceOutcomeCallable describeCdnServiceCallable(const Model::DescribeCdnServiceRequest& request) const;
@@ -1466,6 +1487,9 @@ namespace AlibabaCloud
 			SetCdnDomainCSRCertificateOutcome setCdnDomainCSRCertificate(const Model::SetCdnDomainCSRCertificateRequest &request)const;
 			SetCdnDomainCSRCertificateOutcome setCdnDomainCSRCertificate(const Model::SetCdnDomainCSRCertificateRequest &request)const;
 			void setCdnDomainCSRCertificateAsync(const Model::SetCdnDomainCSRCertificateRequest& request, const SetCdnDomainCSRCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void setCdnDomainCSRCertificateAsync(const Model::SetCdnDomainCSRCertificateRequest& request, const SetCdnDomainCSRCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetCdnDomainCSRCertificateOutcomeCallable setCdnDomainCSRCertificateCallable(const Model::SetCdnDomainCSRCertificateRequest& request) const;
 			SetCdnDomainCSRCertificateOutcomeCallable setCdnDomainCSRCertificateCallable(const Model::SetCdnDomainCSRCertificateRequest& request) const;
+			SetCdnDomainSMCertificateOutcome setCdnDomainSMCertificate(const Model::SetCdnDomainSMCertificateRequest &request)const;
+			void setCdnDomainSMCertificateAsync(const Model::SetCdnDomainSMCertificateRequest& request, const SetCdnDomainSMCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			SetCdnDomainSMCertificateOutcomeCallable setCdnDomainSMCertificateCallable(const Model::SetCdnDomainSMCertificateRequest& request) const;
 			SetCdnDomainStagingConfigOutcome setCdnDomainStagingConfig(const Model::SetCdnDomainStagingConfigRequest &request)const;
 			SetCdnDomainStagingConfigOutcome setCdnDomainStagingConfig(const Model::SetCdnDomainStagingConfigRequest &request)const;
 			void setCdnDomainStagingConfigAsync(const Model::SetCdnDomainStagingConfigRequest& request, const SetCdnDomainStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			void setCdnDomainStagingConfigAsync(const Model::SetCdnDomainStagingConfigRequest& request, const SetCdnDomainStagingConfigAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			SetCdnDomainStagingConfigOutcomeCallable setCdnDomainStagingConfigCallable(const Model::SetCdnDomainStagingConfigRequest& request) const;
 			SetCdnDomainStagingConfigOutcomeCallable setCdnDomainStagingConfigCallable(const Model::SetCdnDomainStagingConfigRequest& request) const;

+ 54 - 0
cdn/include/alibabacloud/cdn/model/DescribeCdnSMCertificateDetailRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILREQUEST_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeCdnSMCertificateDetailRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeCdnSMCertificateDetailRequest();
+				~DescribeCdnSMCertificateDetailRequest();
+
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getCertIdentifier()const;
+				void setCertIdentifier(const std::string& certIdentifier);
+
+            private:
+				long ownerId_;
+				std::string securityToken_;
+				std::string certIdentifier_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILREQUEST_H_

+ 57 - 0
cdn/include/alibabacloud/cdn/model/DescribeCdnSMCertificateDetailResult.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILRESULT_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeCdnSMCertificateDetailResult : public ServiceResult
+			{
+			public:
+
+
+				DescribeCdnSMCertificateDetailResult();
+				explicit DescribeCdnSMCertificateDetailResult(const std::string &payload);
+				~DescribeCdnSMCertificateDetailResult();
+				std::string getCertIdentifier()const;
+				std::string getSignCertificate()const;
+				std::string getCertName()const;
+				std::string getEncryptCertificate()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::string certIdentifier_;
+				std::string signCertificate_;
+				std::string certName_;
+				std::string encryptCertificate_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATEDETAILRESULT_H_

+ 54 - 0
cdn/include/alibabacloud/cdn/model/DescribeCdnSMCertificateListRequest.h

@@ -0,0 +1,54 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTREQUEST_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeCdnSMCertificateListRequest : public RpcServiceRequest
+			{
+
+			public:
+				DescribeCdnSMCertificateListRequest();
+				~DescribeCdnSMCertificateListRequest();
+
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+
+            private:
+				std::string domainName_;
+				long ownerId_;
+				std::string securityToken_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTREQUEST_H_

+ 63 - 0
cdn/include/alibabacloud/cdn/model/DescribeCdnSMCertificateListResult.h

@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTRESULT_H_
+#define ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT DescribeCdnSMCertificateListResult : public ServiceResult
+			{
+			public:
+				struct CertificateListModel
+				{
+					struct Cert
+					{
+						std::string issuer;
+						std::string certIdentifier;
+						std::string certName;
+						std::string common;
+					};
+					std::vector<Cert> certList;
+					int count;
+				};
+
+
+				DescribeCdnSMCertificateListResult();
+				explicit DescribeCdnSMCertificateListResult(const std::string &payload);
+				~DescribeCdnSMCertificateListResult();
+				CertificateListModel getCertificateListModel()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				CertificateListModel certificateListModel_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_DESCRIBECDNSMCERTIFICATELISTRESULT_H_

+ 3 - 0
cdn/include/alibabacloud/cdn/model/DescribeCdnUserResourcePackageRequest.h

@@ -39,10 +39,13 @@ namespace AlibabaCloud
 				void setOwnerId(long ownerId);
 				void setOwnerId(long ownerId);
 				std::string getSecurityToken()const;
 				std::string getSecurityToken()const;
 				void setSecurityToken(const std::string& securityToken);
 				void setSecurityToken(const std::string& securityToken);
+				std::string getStatus()const;
+				void setStatus(const std::string& status);
 
 
             private:
             private:
 				long ownerId_;
 				long ownerId_;
 				std::string securityToken_;
 				std::string securityToken_;
+				std::string status_;
 
 
 			};
 			};
 		}
 		}

+ 57 - 0
cdn/include/alibabacloud/cdn/model/SetCdnDomainSMCertificateRequest.h

@@ -0,0 +1,57 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATEREQUEST_H_
+#define ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATEREQUEST_H_
+
+#include <string>
+#include <vector>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT SetCdnDomainSMCertificateRequest : public RpcServiceRequest
+			{
+
+			public:
+				SetCdnDomainSMCertificateRequest();
+				~SetCdnDomainSMCertificateRequest();
+
+				std::string getDomainName()const;
+				void setDomainName(const std::string& domainName);
+				long getOwnerId()const;
+				void setOwnerId(long ownerId);
+				std::string getSecurityToken()const;
+				void setSecurityToken(const std::string& securityToken);
+				std::string getCertIdentifier()const;
+				void setCertIdentifier(const std::string& certIdentifier);
+
+            private:
+				std::string domainName_;
+				long ownerId_;
+				std::string securityToken_;
+				std::string certIdentifier_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATEREQUEST_H_

+ 49 - 0
cdn/include/alibabacloud/cdn/model/SetCdnDomainSMCertificateResult.h

@@ -0,0 +1,49 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATERESULT_H_
+#define ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATERESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/cdn/CdnExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Cdn
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_CDN_EXPORT SetCdnDomainSMCertificateResult : public ServiceResult
+			{
+			public:
+
+
+				SetCdnDomainSMCertificateResult();
+				explicit SetCdnDomainSMCertificateResult(const std::string &payload);
+				~SetCdnDomainSMCertificateResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_CDN_MODEL_SETCDNDOMAINSMCERTIFICATERESULT_H_

+ 108 - 0
cdn/src/CdnClient.cc

@@ -1599,6 +1599,78 @@ CdnClient::DescribeCdnReportListOutcomeCallable CdnClient::describeCdnReportList
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+CdnClient::DescribeCdnSMCertificateDetailOutcome CdnClient::describeCdnSMCertificateDetail(const DescribeCdnSMCertificateDetailRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCdnSMCertificateDetailOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCdnSMCertificateDetailOutcome(DescribeCdnSMCertificateDetailResult(outcome.result()));
+	else
+		return DescribeCdnSMCertificateDetailOutcome(outcome.error());
+}
+
+void CdnClient::describeCdnSMCertificateDetailAsync(const DescribeCdnSMCertificateDetailRequest& request, const DescribeCdnSMCertificateDetailAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCdnSMCertificateDetail(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CdnClient::DescribeCdnSMCertificateDetailOutcomeCallable CdnClient::describeCdnSMCertificateDetailCallable(const DescribeCdnSMCertificateDetailRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCdnSMCertificateDetailOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCdnSMCertificateDetail(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
+CdnClient::DescribeCdnSMCertificateListOutcome CdnClient::describeCdnSMCertificateList(const DescribeCdnSMCertificateListRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribeCdnSMCertificateListOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribeCdnSMCertificateListOutcome(DescribeCdnSMCertificateListResult(outcome.result()));
+	else
+		return DescribeCdnSMCertificateListOutcome(outcome.error());
+}
+
+void CdnClient::describeCdnSMCertificateListAsync(const DescribeCdnSMCertificateListRequest& request, const DescribeCdnSMCertificateListAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describeCdnSMCertificateList(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CdnClient::DescribeCdnSMCertificateListOutcomeCallable CdnClient::describeCdnSMCertificateListCallable(const DescribeCdnSMCertificateListRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribeCdnSMCertificateListOutcome()>>(
+			[this, request]()
+			{
+			return this->describeCdnSMCertificateList(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CdnClient::DescribeCdnServiceOutcome CdnClient::describeCdnService(const DescribeCdnServiceRequest &request) const
 CdnClient::DescribeCdnServiceOutcome CdnClient::describeCdnService(const DescribeCdnServiceRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -5811,6 +5883,42 @@ CdnClient::SetCdnDomainCSRCertificateOutcomeCallable CdnClient::setCdnDomainCSRC
 	return task->get_future();
 	return task->get_future();
 }
 }
 
 
+CdnClient::SetCdnDomainSMCertificateOutcome CdnClient::setCdnDomainSMCertificate(const SetCdnDomainSMCertificateRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return SetCdnDomainSMCertificateOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return SetCdnDomainSMCertificateOutcome(SetCdnDomainSMCertificateResult(outcome.result()));
+	else
+		return SetCdnDomainSMCertificateOutcome(outcome.error());
+}
+
+void CdnClient::setCdnDomainSMCertificateAsync(const SetCdnDomainSMCertificateRequest& request, const SetCdnDomainSMCertificateAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, setCdnDomainSMCertificate(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+CdnClient::SetCdnDomainSMCertificateOutcomeCallable CdnClient::setCdnDomainSMCertificateCallable(const SetCdnDomainSMCertificateRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<SetCdnDomainSMCertificateOutcome()>>(
+			[this, request]()
+			{
+			return this->setCdnDomainSMCertificate(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 CdnClient::SetCdnDomainStagingConfigOutcome CdnClient::setCdnDomainStagingConfig(const SetCdnDomainStagingConfigRequest &request) const
 CdnClient::SetCdnDomainStagingConfigOutcome CdnClient::setCdnDomainStagingConfig(const SetCdnDomainStagingConfigRequest &request) const
 {
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 62 - 0
cdn/src/model/DescribeCdnSMCertificateDetailRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeCdnSMCertificateDetailRequest.h>
+
+using AlibabaCloud::Cdn::Model::DescribeCdnSMCertificateDetailRequest;
+
+DescribeCdnSMCertificateDetailRequest::DescribeCdnSMCertificateDetailRequest() :
+	RpcServiceRequest("cdn", "2018-05-10", "DescribeCdnSMCertificateDetail")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCdnSMCertificateDetailRequest::~DescribeCdnSMCertificateDetailRequest()
+{}
+
+long DescribeCdnSMCertificateDetailRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeCdnSMCertificateDetailRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeCdnSMCertificateDetailRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeCdnSMCertificateDetailRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string DescribeCdnSMCertificateDetailRequest::getCertIdentifier()const
+{
+	return certIdentifier_;
+}
+
+void DescribeCdnSMCertificateDetailRequest::setCertIdentifier(const std::string& certIdentifier)
+{
+	certIdentifier_ = certIdentifier;
+	setParameter("CertIdentifier", certIdentifier);
+}
+

+ 72 - 0
cdn/src/model/DescribeCdnSMCertificateDetailResult.cc

@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeCdnSMCertificateDetailResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cdn;
+using namespace AlibabaCloud::Cdn::Model;
+
+DescribeCdnSMCertificateDetailResult::DescribeCdnSMCertificateDetailResult() :
+	ServiceResult()
+{}
+
+DescribeCdnSMCertificateDetailResult::DescribeCdnSMCertificateDetailResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCdnSMCertificateDetailResult::~DescribeCdnSMCertificateDetailResult()
+{}
+
+void DescribeCdnSMCertificateDetailResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	if(!value["SignCertificate"].isNull())
+		signCertificate_ = value["SignCertificate"].asString();
+	if(!value["EncryptCertificate"].isNull())
+		encryptCertificate_ = value["EncryptCertificate"].asString();
+	if(!value["CertIdentifier"].isNull())
+		certIdentifier_ = value["CertIdentifier"].asString();
+	if(!value["CertName"].isNull())
+		certName_ = value["CertName"].asString();
+
+}
+
+std::string DescribeCdnSMCertificateDetailResult::getCertIdentifier()const
+{
+	return certIdentifier_;
+}
+
+std::string DescribeCdnSMCertificateDetailResult::getSignCertificate()const
+{
+	return signCertificate_;
+}
+
+std::string DescribeCdnSMCertificateDetailResult::getCertName()const
+{
+	return certName_;
+}
+
+std::string DescribeCdnSMCertificateDetailResult::getEncryptCertificate()const
+{
+	return encryptCertificate_;
+}
+

+ 62 - 0
cdn/src/model/DescribeCdnSMCertificateListRequest.cc

@@ -0,0 +1,62 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeCdnSMCertificateListRequest.h>
+
+using AlibabaCloud::Cdn::Model::DescribeCdnSMCertificateListRequest;
+
+DescribeCdnSMCertificateListRequest::DescribeCdnSMCertificateListRequest() :
+	RpcServiceRequest("cdn", "2018-05-10", "DescribeCdnSMCertificateList")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+DescribeCdnSMCertificateListRequest::~DescribeCdnSMCertificateListRequest()
+{}
+
+std::string DescribeCdnSMCertificateListRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void DescribeCdnSMCertificateListRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long DescribeCdnSMCertificateListRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void DescribeCdnSMCertificateListRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string DescribeCdnSMCertificateListRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void DescribeCdnSMCertificateListRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+

+ 66 - 0
cdn/src/model/DescribeCdnSMCertificateListResult.cc

@@ -0,0 +1,66 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/DescribeCdnSMCertificateListResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cdn;
+using namespace AlibabaCloud::Cdn::Model;
+
+DescribeCdnSMCertificateListResult::DescribeCdnSMCertificateListResult() :
+	ServiceResult()
+{}
+
+DescribeCdnSMCertificateListResult::DescribeCdnSMCertificateListResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribeCdnSMCertificateListResult::~DescribeCdnSMCertificateListResult()
+{}
+
+void DescribeCdnSMCertificateListResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto certificateListModelNode = value["CertificateListModel"];
+	if(!certificateListModelNode["Count"].isNull())
+		certificateListModel_.count = std::stoi(certificateListModelNode["Count"].asString());
+	auto allCertListNode = certificateListModelNode["CertList"]["Cert"];
+	for (auto certificateListModelNodeCertListCert : allCertListNode)
+	{
+		CertificateListModel::Cert certObject;
+		if(!certificateListModelNodeCertListCert["CertName"].isNull())
+			certObject.certName = certificateListModelNodeCertListCert["CertName"].asString();
+		if(!certificateListModelNodeCertListCert["CertIdentifier"].isNull())
+			certObject.certIdentifier = certificateListModelNodeCertListCert["CertIdentifier"].asString();
+		if(!certificateListModelNodeCertListCert["Common"].isNull())
+			certObject.common = certificateListModelNodeCertListCert["Common"].asString();
+		if(!certificateListModelNodeCertListCert["Issuer"].isNull())
+			certObject.issuer = certificateListModelNodeCertListCert["Issuer"].asString();
+		certificateListModel_.certList.push_back(certObject);
+	}
+
+}
+
+DescribeCdnSMCertificateListResult::CertificateListModel DescribeCdnSMCertificateListResult::getCertificateListModel()const
+{
+	return certificateListModel_;
+}
+

+ 11 - 0
cdn/src/model/DescribeCdnUserResourcePackageRequest.cc

@@ -49,3 +49,14 @@ void DescribeCdnUserResourcePackageRequest::setSecurityToken(const std::string&
 	setParameter("SecurityToken", securityToken);
 	setParameter("SecurityToken", securityToken);
 }
 }
 
 
+std::string DescribeCdnUserResourcePackageRequest::getStatus()const
+{
+	return status_;
+}
+
+void DescribeCdnUserResourcePackageRequest::setStatus(const std::string& status)
+{
+	status_ = status;
+	setParameter("Status", status);
+}
+

+ 73 - 0
cdn/src/model/SetCdnDomainSMCertificateRequest.cc

@@ -0,0 +1,73 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/SetCdnDomainSMCertificateRequest.h>
+
+using AlibabaCloud::Cdn::Model::SetCdnDomainSMCertificateRequest;
+
+SetCdnDomainSMCertificateRequest::SetCdnDomainSMCertificateRequest() :
+	RpcServiceRequest("cdn", "2018-05-10", "SetCdnDomainSMCertificate")
+{
+	setMethod(HttpRequest::Method::Post);
+}
+
+SetCdnDomainSMCertificateRequest::~SetCdnDomainSMCertificateRequest()
+{}
+
+std::string SetCdnDomainSMCertificateRequest::getDomainName()const
+{
+	return domainName_;
+}
+
+void SetCdnDomainSMCertificateRequest::setDomainName(const std::string& domainName)
+{
+	domainName_ = domainName;
+	setParameter("DomainName", domainName);
+}
+
+long SetCdnDomainSMCertificateRequest::getOwnerId()const
+{
+	return ownerId_;
+}
+
+void SetCdnDomainSMCertificateRequest::setOwnerId(long ownerId)
+{
+	ownerId_ = ownerId;
+	setParameter("OwnerId", std::to_string(ownerId));
+}
+
+std::string SetCdnDomainSMCertificateRequest::getSecurityToken()const
+{
+	return securityToken_;
+}
+
+void SetCdnDomainSMCertificateRequest::setSecurityToken(const std::string& securityToken)
+{
+	securityToken_ = securityToken;
+	setParameter("SecurityToken", securityToken);
+}
+
+std::string SetCdnDomainSMCertificateRequest::getCertIdentifier()const
+{
+	return certIdentifier_;
+}
+
+void SetCdnDomainSMCertificateRequest::setCertIdentifier(const std::string& certIdentifier)
+{
+	certIdentifier_ = certIdentifier;
+	setParameter("CertIdentifier", certIdentifier);
+}
+

+ 44 - 0
cdn/src/model/SetCdnDomainSMCertificateResult.cc

@@ -0,0 +1,44 @@
+/*
+ * Copyright 2009-2017 Alibaba Cloud All rights reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <alibabacloud/cdn/model/SetCdnDomainSMCertificateResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Cdn;
+using namespace AlibabaCloud::Cdn::Model;
+
+SetCdnDomainSMCertificateResult::SetCdnDomainSMCertificateResult() :
+	ServiceResult()
+{}
+
+SetCdnDomainSMCertificateResult::SetCdnDomainSMCertificateResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+SetCdnDomainSMCertificateResult::~SetCdnDomainSMCertificateResult()
+{}
+
+void SetCdnDomainSMCertificateResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+