Browse Source

Supported RDS PostgreSQL manage extensions.

sdk-team 3 years ago
parent
commit
2dcd1b2f62

+ 1 - 1
VERSION

@@ -1 +1 @@
-1.36.1663
+1.36.1664

+ 16 - 0
rds/CMakeLists.txt

@@ -91,6 +91,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/CreateOnlineDatabaseTaskResult.h
 	include/alibabacloud/rds/model/CreateParameterGroupRequest.h
 	include/alibabacloud/rds/model/CreateParameterGroupResult.h
+	include/alibabacloud/rds/model/CreatePostgresExtensionsRequest.h
+	include/alibabacloud/rds/model/CreatePostgresExtensionsResult.h
 	include/alibabacloud/rds/model/CreateReadOnlyDBInstanceRequest.h
 	include/alibabacloud/rds/model/CreateReadOnlyDBInstanceResult.h
 	include/alibabacloud/rds/model/CreateSecretRequest.h
@@ -123,6 +125,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DeleteGadInstanceResult.h
 	include/alibabacloud/rds/model/DeleteParameterGroupRequest.h
 	include/alibabacloud/rds/model/DeleteParameterGroupResult.h
+	include/alibabacloud/rds/model/DeletePostgresExtensionsRequest.h
+	include/alibabacloud/rds/model/DeletePostgresExtensionsResult.h
 	include/alibabacloud/rds/model/DeleteSecretRequest.h
 	include/alibabacloud/rds/model/DeleteSecretResult.h
 	include/alibabacloud/rds/model/DeleteSlotRequest.h
@@ -289,6 +293,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/DescribeParameterTemplatesResult.h
 	include/alibabacloud/rds/model/DescribeParametersRequest.h
 	include/alibabacloud/rds/model/DescribeParametersResult.h
+	include/alibabacloud/rds/model/DescribePostgresExtensionsRequest.h
+	include/alibabacloud/rds/model/DescribePostgresExtensionsResult.h
 	include/alibabacloud/rds/model/DescribePriceRequest.h
 	include/alibabacloud/rds/model/DescribePriceResult.h
 	include/alibabacloud/rds/model/DescribeRdsResourceSettingsRequest.h
@@ -519,6 +525,8 @@ set(rds_public_header_model
 	include/alibabacloud/rds/model/UnlockAccountResult.h
 	include/alibabacloud/rds/model/UntagResourcesRequest.h
 	include/alibabacloud/rds/model/UntagResourcesResult.h
+	include/alibabacloud/rds/model/UpdatePostgresExtensionsRequest.h
+	include/alibabacloud/rds/model/UpdatePostgresExtensionsResult.h
 	include/alibabacloud/rds/model/UpdateUserBackupFileRequest.h
 	include/alibabacloud/rds/model/UpdateUserBackupFileResult.h
 	include/alibabacloud/rds/model/UpgradeDBInstanceEngineVersionRequest.h
@@ -604,6 +612,8 @@ set(rds_src
 	src/model/CreateOnlineDatabaseTaskResult.cc
 	src/model/CreateParameterGroupRequest.cc
 	src/model/CreateParameterGroupResult.cc
+	src/model/CreatePostgresExtensionsRequest.cc
+	src/model/CreatePostgresExtensionsResult.cc
 	src/model/CreateReadOnlyDBInstanceRequest.cc
 	src/model/CreateReadOnlyDBInstanceResult.cc
 	src/model/CreateSecretRequest.cc
@@ -636,6 +646,8 @@ set(rds_src
 	src/model/DeleteGadInstanceResult.cc
 	src/model/DeleteParameterGroupRequest.cc
 	src/model/DeleteParameterGroupResult.cc
+	src/model/DeletePostgresExtensionsRequest.cc
+	src/model/DeletePostgresExtensionsResult.cc
 	src/model/DeleteSecretRequest.cc
 	src/model/DeleteSecretResult.cc
 	src/model/DeleteSlotRequest.cc
@@ -802,6 +814,8 @@ set(rds_src
 	src/model/DescribeParameterTemplatesResult.cc
 	src/model/DescribeParametersRequest.cc
 	src/model/DescribeParametersResult.cc
+	src/model/DescribePostgresExtensionsRequest.cc
+	src/model/DescribePostgresExtensionsResult.cc
 	src/model/DescribePriceRequest.cc
 	src/model/DescribePriceResult.cc
 	src/model/DescribeRdsResourceSettingsRequest.cc
@@ -1032,6 +1046,8 @@ set(rds_src
 	src/model/UnlockAccountResult.cc
 	src/model/UntagResourcesRequest.cc
 	src/model/UntagResourcesResult.cc
+	src/model/UpdatePostgresExtensionsRequest.cc
+	src/model/UpdatePostgresExtensionsResult.cc
 	src/model/UpdateUserBackupFileRequest.cc
 	src/model/UpdateUserBackupFileResult.cc
 	src/model/UpgradeDBInstanceEngineVersionRequest.cc

+ 32 - 0
rds/include/alibabacloud/rds/RdsClient.h

@@ -92,6 +92,8 @@
 #include "model/CreateOnlineDatabaseTaskResult.h"
 #include "model/CreateParameterGroupRequest.h"
 #include "model/CreateParameterGroupResult.h"
+#include "model/CreatePostgresExtensionsRequest.h"
+#include "model/CreatePostgresExtensionsResult.h"
 #include "model/CreateReadOnlyDBInstanceRequest.h"
 #include "model/CreateReadOnlyDBInstanceResult.h"
 #include "model/CreateSecretRequest.h"
@@ -124,6 +126,8 @@
 #include "model/DeleteGadInstanceResult.h"
 #include "model/DeleteParameterGroupRequest.h"
 #include "model/DeleteParameterGroupResult.h"
+#include "model/DeletePostgresExtensionsRequest.h"
+#include "model/DeletePostgresExtensionsResult.h"
 #include "model/DeleteSecretRequest.h"
 #include "model/DeleteSecretResult.h"
 #include "model/DeleteSlotRequest.h"
@@ -290,6 +294,8 @@
 #include "model/DescribeParameterTemplatesResult.h"
 #include "model/DescribeParametersRequest.h"
 #include "model/DescribeParametersResult.h"
+#include "model/DescribePostgresExtensionsRequest.h"
+#include "model/DescribePostgresExtensionsResult.h"
 #include "model/DescribePriceRequest.h"
 #include "model/DescribePriceResult.h"
 #include "model/DescribeRdsResourceSettingsRequest.h"
@@ -520,6 +526,8 @@
 #include "model/UnlockAccountResult.h"
 #include "model/UntagResourcesRequest.h"
 #include "model/UntagResourcesResult.h"
+#include "model/UpdatePostgresExtensionsRequest.h"
+#include "model/UpdatePostgresExtensionsResult.h"
 #include "model/UpdateUserBackupFileRequest.h"
 #include "model/UpdateUserBackupFileResult.h"
 #include "model/UpgradeDBInstanceEngineVersionRequest.h"
@@ -646,6 +654,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::CreateParameterGroupResult> CreateParameterGroupOutcome;
 			typedef std::future<CreateParameterGroupOutcome> CreateParameterGroupOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::CreateParameterGroupRequest&, const CreateParameterGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateParameterGroupAsyncHandler;
+			typedef Outcome<Error, Model::CreatePostgresExtensionsResult> CreatePostgresExtensionsOutcome;
+			typedef std::future<CreatePostgresExtensionsOutcome> CreatePostgresExtensionsOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::CreatePostgresExtensionsRequest&, const CreatePostgresExtensionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreatePostgresExtensionsAsyncHandler;
 			typedef Outcome<Error, Model::CreateReadOnlyDBInstanceResult> CreateReadOnlyDBInstanceOutcome;
 			typedef std::future<CreateReadOnlyDBInstanceOutcome> CreateReadOnlyDBInstanceOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::CreateReadOnlyDBInstanceRequest&, const CreateReadOnlyDBInstanceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> CreateReadOnlyDBInstanceAsyncHandler;
@@ -694,6 +705,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DeleteParameterGroupResult> DeleteParameterGroupOutcome;
 			typedef std::future<DeleteParameterGroupOutcome> DeleteParameterGroupOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DeleteParameterGroupRequest&, const DeleteParameterGroupOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteParameterGroupAsyncHandler;
+			typedef Outcome<Error, Model::DeletePostgresExtensionsResult> DeletePostgresExtensionsOutcome;
+			typedef std::future<DeletePostgresExtensionsOutcome> DeletePostgresExtensionsOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DeletePostgresExtensionsRequest&, const DeletePostgresExtensionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeletePostgresExtensionsAsyncHandler;
 			typedef Outcome<Error, Model::DeleteSecretResult> DeleteSecretOutcome;
 			typedef std::future<DeleteSecretOutcome> DeleteSecretOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DeleteSecretRequest&, const DeleteSecretOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DeleteSecretAsyncHandler;
@@ -943,6 +957,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::DescribeParametersResult> DescribeParametersOutcome;
 			typedef std::future<DescribeParametersOutcome> DescribeParametersOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribeParametersRequest&, const DescribeParametersOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribeParametersAsyncHandler;
+			typedef Outcome<Error, Model::DescribePostgresExtensionsResult> DescribePostgresExtensionsOutcome;
+			typedef std::future<DescribePostgresExtensionsOutcome> DescribePostgresExtensionsOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::DescribePostgresExtensionsRequest&, const DescribePostgresExtensionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePostgresExtensionsAsyncHandler;
 			typedef Outcome<Error, Model::DescribePriceResult> DescribePriceOutcome;
 			typedef std::future<DescribePriceOutcome> DescribePriceOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::DescribePriceRequest&, const DescribePriceOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> DescribePriceAsyncHandler;
@@ -1288,6 +1305,9 @@ namespace AlibabaCloud
 			typedef Outcome<Error, Model::UntagResourcesResult> UntagResourcesOutcome;
 			typedef std::future<UntagResourcesOutcome> UntagResourcesOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::UntagResourcesRequest&, const UntagResourcesOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UntagResourcesAsyncHandler;
+			typedef Outcome<Error, Model::UpdatePostgresExtensionsResult> UpdatePostgresExtensionsOutcome;
+			typedef std::future<UpdatePostgresExtensionsOutcome> UpdatePostgresExtensionsOutcomeCallable;
+			typedef std::function<void(const RdsClient*, const Model::UpdatePostgresExtensionsRequest&, const UpdatePostgresExtensionsOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdatePostgresExtensionsAsyncHandler;
 			typedef Outcome<Error, Model::UpdateUserBackupFileResult> UpdateUserBackupFileOutcome;
 			typedef std::future<UpdateUserBackupFileOutcome> UpdateUserBackupFileOutcomeCallable;
 			typedef std::function<void(const RdsClient*, const Model::UpdateUserBackupFileRequest&, const UpdateUserBackupFileOutcome&, const std::shared_ptr<const AsyncCallerContext>&)> UpdateUserBackupFileAsyncHandler;
@@ -1416,6 +1436,9 @@ namespace AlibabaCloud
 			CreateParameterGroupOutcome createParameterGroup(const Model::CreateParameterGroupRequest &request)const;
 			void createParameterGroupAsync(const Model::CreateParameterGroupRequest& request, const CreateParameterGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateParameterGroupOutcomeCallable createParameterGroupCallable(const Model::CreateParameterGroupRequest& request) const;
+			CreatePostgresExtensionsOutcome createPostgresExtensions(const Model::CreatePostgresExtensionsRequest &request)const;
+			void createPostgresExtensionsAsync(const Model::CreatePostgresExtensionsRequest& request, const CreatePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			CreatePostgresExtensionsOutcomeCallable createPostgresExtensionsCallable(const Model::CreatePostgresExtensionsRequest& request) const;
 			CreateReadOnlyDBInstanceOutcome createReadOnlyDBInstance(const Model::CreateReadOnlyDBInstanceRequest &request)const;
 			void createReadOnlyDBInstanceAsync(const Model::CreateReadOnlyDBInstanceRequest& request, const CreateReadOnlyDBInstanceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			CreateReadOnlyDBInstanceOutcomeCallable createReadOnlyDBInstanceCallable(const Model::CreateReadOnlyDBInstanceRequest& request) const;
@@ -1464,6 +1487,9 @@ namespace AlibabaCloud
 			DeleteParameterGroupOutcome deleteParameterGroup(const Model::DeleteParameterGroupRequest &request)const;
 			void deleteParameterGroupAsync(const Model::DeleteParameterGroupRequest& request, const DeleteParameterGroupAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteParameterGroupOutcomeCallable deleteParameterGroupCallable(const Model::DeleteParameterGroupRequest& request) const;
+			DeletePostgresExtensionsOutcome deletePostgresExtensions(const Model::DeletePostgresExtensionsRequest &request)const;
+			void deletePostgresExtensionsAsync(const Model::DeletePostgresExtensionsRequest& request, const DeletePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DeletePostgresExtensionsOutcomeCallable deletePostgresExtensionsCallable(const Model::DeletePostgresExtensionsRequest& request) const;
 			DeleteSecretOutcome deleteSecret(const Model::DeleteSecretRequest &request)const;
 			void deleteSecretAsync(const Model::DeleteSecretRequest& request, const DeleteSecretAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DeleteSecretOutcomeCallable deleteSecretCallable(const Model::DeleteSecretRequest& request) const;
@@ -1713,6 +1739,9 @@ namespace AlibabaCloud
 			DescribeParametersOutcome describeParameters(const Model::DescribeParametersRequest &request)const;
 			void describeParametersAsync(const Model::DescribeParametersRequest& request, const DescribeParametersAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribeParametersOutcomeCallable describeParametersCallable(const Model::DescribeParametersRequest& request) const;
+			DescribePostgresExtensionsOutcome describePostgresExtensions(const Model::DescribePostgresExtensionsRequest &request)const;
+			void describePostgresExtensionsAsync(const Model::DescribePostgresExtensionsRequest& request, const DescribePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			DescribePostgresExtensionsOutcomeCallable describePostgresExtensionsCallable(const Model::DescribePostgresExtensionsRequest& request) const;
 			DescribePriceOutcome describePrice(const Model::DescribePriceRequest &request)const;
 			void describePriceAsync(const Model::DescribePriceRequest& request, const DescribePriceAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			DescribePriceOutcomeCallable describePriceCallable(const Model::DescribePriceRequest& request) const;
@@ -2058,6 +2087,9 @@ namespace AlibabaCloud
 			UntagResourcesOutcome untagResources(const Model::UntagResourcesRequest &request)const;
 			void untagResourcesAsync(const Model::UntagResourcesRequest& request, const UntagResourcesAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UntagResourcesOutcomeCallable untagResourcesCallable(const Model::UntagResourcesRequest& request) const;
+			UpdatePostgresExtensionsOutcome updatePostgresExtensions(const Model::UpdatePostgresExtensionsRequest &request)const;
+			void updatePostgresExtensionsAsync(const Model::UpdatePostgresExtensionsRequest& request, const UpdatePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
+			UpdatePostgresExtensionsOutcomeCallable updatePostgresExtensionsCallable(const Model::UpdatePostgresExtensionsRequest& request) const;
 			UpdateUserBackupFileOutcome updateUserBackupFile(const Model::UpdateUserBackupFileRequest &request)const;
 			void updateUserBackupFileAsync(const Model::UpdateUserBackupFileRequest& request, const UpdateUserBackupFileAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context = nullptr) const;
 			UpdateUserBackupFileOutcomeCallable updateUserBackupFileCallable(const Model::UpdateUserBackupFileRequest& request) const;

+ 75 - 0
rds/include/alibabacloud/rds/model/CreatePostgresExtensionsRequest.h

@@ -0,0 +1,75 @@
+/*
+ * 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_RDS_MODEL_CREATEPOSTGRESEXTENSIONSREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_CREATEPOSTGRESEXTENSIONSREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT CreatePostgresExtensionsRequest : public RpcServiceRequest {
+public:
+	CreatePostgresExtensionsRequest();
+	~CreatePostgresExtensionsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getAccountName() const;
+	void setAccountName(const std::string &accountName);
+	std::string getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	std::string getSourceDatabase() const;
+	void setSourceDatabase(const std::string &sourceDatabase);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDBNames() const;
+	void setDBNames(const std::string &dBNames);
+	std::string getExtensions() const;
+	void setExtensions(const std::string &extensions);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string accessKeyId_;
+	std::string resourceGroupId_;
+	std::string accountName_;
+	std::string dBInstanceId_;
+	std::string sourceDatabase_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string dBNames_;
+	std::string extensions_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_CREATEPOSTGRESEXTENSIONSREQUEST_H_

+ 49 - 0
rds/include/alibabacloud/rds/model/CreatePostgresExtensionsResult.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_RDS_MODEL_CREATEPOSTGRESEXTENSIONSRESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_CREATEPOSTGRESEXTENSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT CreatePostgresExtensionsResult : public ServiceResult
+			{
+			public:
+
+
+				CreatePostgresExtensionsResult();
+				explicit CreatePostgresExtensionsResult(const std::string &payload);
+				~CreatePostgresExtensionsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_CREATEPOSTGRESEXTENSIONSRESULT_H_

+ 69 - 0
rds/include/alibabacloud/rds/model/DeletePostgresExtensionsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_RDS_MODEL_DELETEPOSTGRESEXTENSIONSREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DELETEPOSTGRESEXTENSIONSREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DeletePostgresExtensionsRequest : public RpcServiceRequest {
+public:
+	DeletePostgresExtensionsRequest();
+	~DeletePostgresExtensionsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDBNames() const;
+	void setDBNames(const std::string &dBNames);
+	std::string getExtensions() const;
+	void setExtensions(const std::string &extensions);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string accessKeyId_;
+	std::string resourceGroupId_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string dBNames_;
+	std::string extensions_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DELETEPOSTGRESEXTENSIONSREQUEST_H_

+ 49 - 0
rds/include/alibabacloud/rds/model/DeletePostgresExtensionsResult.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_RDS_MODEL_DELETEPOSTGRESEXTENSIONSRESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DELETEPOSTGRESEXTENSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DeletePostgresExtensionsResult : public ServiceResult
+			{
+			public:
+
+
+				DeletePostgresExtensionsResult();
+				explicit DeletePostgresExtensionsResult(const std::string &payload);
+				~DeletePostgresExtensionsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DELETEPOSTGRESEXTENSIONSRESULT_H_

+ 66 - 0
rds/include/alibabacloud/rds/model/DescribePostgresExtensionsRequest.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT DescribePostgresExtensionsRequest : public RpcServiceRequest {
+public:
+	DescribePostgresExtensionsRequest();
+	~DescribePostgresExtensionsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDBName() const;
+	void setDBName(const std::string &dBName);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string accessKeyId_;
+	std::string resourceGroupId_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string dBName_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSREQUEST_H_

+ 66 - 0
rds/include/alibabacloud/rds/model/DescribePostgresExtensionsResult.h

@@ -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.
+ */
+
+#ifndef ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSRESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT DescribePostgresExtensionsResult : public ServiceResult
+			{
+			public:
+				struct Extension
+				{
+					std::string comment;
+					std::string owner;
+					std::string category;
+					std::string installedVersion;
+					std::string requires;
+					std::string priority;
+					std::string defaultVersion;
+					std::string name;
+				};
+
+
+				DescribePostgresExtensionsResult();
+				explicit DescribePostgresExtensionsResult(const std::string &payload);
+				~DescribePostgresExtensionsResult();
+				std::vector<Extension> getInstalledExtensions()const;
+				std::string getOverview()const;
+				std::vector<Extension> getUninstalledExtensions()const;
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+				std::vector<Extension> installedExtensions_;
+				std::string overview_;
+				std::vector<Extension> uninstalledExtensions_;
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_DESCRIBEPOSTGRESEXTENSIONSRESULT_H_

+ 69 - 0
rds/include/alibabacloud/rds/model/UpdatePostgresExtensionsRequest.h

@@ -0,0 +1,69 @@
+/*
+ * 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_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSREQUEST_H_
+#define ALIBABACLOUD_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSREQUEST_H_
+
+#include <alibabacloud/rds/RdsExport.h>
+#include <alibabacloud/core/RpcServiceRequest.h>
+#include <string>
+#include <vector>
+#include <map>
+
+namespace AlibabaCloud {
+namespace Rds {
+namespace Model {
+class ALIBABACLOUD_RDS_EXPORT UpdatePostgresExtensionsRequest : public RpcServiceRequest {
+public:
+	UpdatePostgresExtensionsRequest();
+	~UpdatePostgresExtensionsRequest();
+	long getResourceOwnerId() const;
+	void setResourceOwnerId(long resourceOwnerId);
+	std::string getClientToken() const;
+	void setClientToken(const std::string &clientToken);
+	std::string getAccessKeyId() const;
+	void setAccessKeyId(const std::string &accessKeyId);
+	std::string getResourceGroupId() const;
+	void setResourceGroupId(const std::string &resourceGroupId);
+	std::string getDBInstanceId() const;
+	void setDBInstanceId(const std::string &dBInstanceId);
+	std::string getResourceOwnerAccount() const;
+	void setResourceOwnerAccount(const std::string &resourceOwnerAccount);
+	std::string getOwnerAccount() const;
+	void setOwnerAccount(const std::string &ownerAccount);
+	long getOwnerId() const;
+	void setOwnerId(long ownerId);
+	std::string getDBNames() const;
+	void setDBNames(const std::string &dBNames);
+	std::string getExtensions() const;
+	void setExtensions(const std::string &extensions);
+
+private:
+	long resourceOwnerId_;
+	std::string clientToken_;
+	std::string accessKeyId_;
+	std::string resourceGroupId_;
+	std::string dBInstanceId_;
+	std::string resourceOwnerAccount_;
+	std::string ownerAccount_;
+	long ownerId_;
+	std::string dBNames_;
+	std::string extensions_;
+};
+} // namespace Model
+} // namespace Rds
+} // namespace AlibabaCloud
+#endif // !ALIBABACLOUD_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSREQUEST_H_

+ 49 - 0
rds/include/alibabacloud/rds/model/UpdatePostgresExtensionsResult.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_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSRESULT_H_
+#define ALIBABACLOUD_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSRESULT_H_
+
+#include <string>
+#include <vector>
+#include <utility>
+#include <alibabacloud/core/ServiceResult.h>
+#include <alibabacloud/rds/RdsExport.h>
+
+namespace AlibabaCloud
+{
+	namespace Rds
+	{
+		namespace Model
+		{
+			class ALIBABACLOUD_RDS_EXPORT UpdatePostgresExtensionsResult : public ServiceResult
+			{
+			public:
+
+
+				UpdatePostgresExtensionsResult();
+				explicit UpdatePostgresExtensionsResult(const std::string &payload);
+				~UpdatePostgresExtensionsResult();
+
+			protected:
+				void parse(const std::string &payload);
+			private:
+
+			};
+		}
+	}
+}
+#endif // !ALIBABACLOUD_RDS_MODEL_UPDATEPOSTGRESEXTENSIONSRESULT_H_

+ 144 - 0
rds/src/RdsClient.cc

@@ -1311,6 +1311,42 @@ RdsClient::CreateParameterGroupOutcomeCallable RdsClient::createParameterGroupCa
 	return task->get_future();
 }
 
+RdsClient::CreatePostgresExtensionsOutcome RdsClient::createPostgresExtensions(const CreatePostgresExtensionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return CreatePostgresExtensionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return CreatePostgresExtensionsOutcome(CreatePostgresExtensionsResult(outcome.result()));
+	else
+		return CreatePostgresExtensionsOutcome(outcome.error());
+}
+
+void RdsClient::createPostgresExtensionsAsync(const CreatePostgresExtensionsRequest& request, const CreatePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, createPostgresExtensions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::CreatePostgresExtensionsOutcomeCallable RdsClient::createPostgresExtensionsCallable(const CreatePostgresExtensionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<CreatePostgresExtensionsOutcome()>>(
+			[this, request]()
+			{
+			return this->createPostgresExtensions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::CreateReadOnlyDBInstanceOutcome RdsClient::createReadOnlyDBInstance(const CreateReadOnlyDBInstanceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -1887,6 +1923,42 @@ RdsClient::DeleteParameterGroupOutcomeCallable RdsClient::deleteParameterGroupCa
 	return task->get_future();
 }
 
+RdsClient::DeletePostgresExtensionsOutcome RdsClient::deletePostgresExtensions(const DeletePostgresExtensionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DeletePostgresExtensionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DeletePostgresExtensionsOutcome(DeletePostgresExtensionsResult(outcome.result()));
+	else
+		return DeletePostgresExtensionsOutcome(outcome.error());
+}
+
+void RdsClient::deletePostgresExtensionsAsync(const DeletePostgresExtensionsRequest& request, const DeletePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, deletePostgresExtensions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DeletePostgresExtensionsOutcomeCallable RdsClient::deletePostgresExtensionsCallable(const DeletePostgresExtensionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DeletePostgresExtensionsOutcome()>>(
+			[this, request]()
+			{
+			return this->deletePostgresExtensions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DeleteSecretOutcome RdsClient::deleteSecret(const DeleteSecretRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -4875,6 +4947,42 @@ RdsClient::DescribeParametersOutcomeCallable RdsClient::describeParametersCallab
 	return task->get_future();
 }
 
+RdsClient::DescribePostgresExtensionsOutcome RdsClient::describePostgresExtensions(const DescribePostgresExtensionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return DescribePostgresExtensionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return DescribePostgresExtensionsOutcome(DescribePostgresExtensionsResult(outcome.result()));
+	else
+		return DescribePostgresExtensionsOutcome(outcome.error());
+}
+
+void RdsClient::describePostgresExtensionsAsync(const DescribePostgresExtensionsRequest& request, const DescribePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, describePostgresExtensions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::DescribePostgresExtensionsOutcomeCallable RdsClient::describePostgresExtensionsCallable(const DescribePostgresExtensionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<DescribePostgresExtensionsOutcome()>>(
+			[this, request]()
+			{
+			return this->describePostgresExtensions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::DescribePriceOutcome RdsClient::describePrice(const DescribePriceRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();
@@ -9015,6 +9123,42 @@ RdsClient::UntagResourcesOutcomeCallable RdsClient::untagResourcesCallable(const
 	return task->get_future();
 }
 
+RdsClient::UpdatePostgresExtensionsOutcome RdsClient::updatePostgresExtensions(const UpdatePostgresExtensionsRequest &request) const
+{
+	auto endpointOutcome = endpointProvider_->getEndpoint();
+	if (!endpointOutcome.isSuccess())
+		return UpdatePostgresExtensionsOutcome(endpointOutcome.error());
+
+	auto outcome = makeRequest(endpointOutcome.result(), request);
+
+	if (outcome.isSuccess())
+		return UpdatePostgresExtensionsOutcome(UpdatePostgresExtensionsResult(outcome.result()));
+	else
+		return UpdatePostgresExtensionsOutcome(outcome.error());
+}
+
+void RdsClient::updatePostgresExtensionsAsync(const UpdatePostgresExtensionsRequest& request, const UpdatePostgresExtensionsAsyncHandler& handler, const std::shared_ptr<const AsyncCallerContext>& context) const
+{
+	auto fn = [this, request, handler, context]()
+	{
+		handler(this, request, updatePostgresExtensions(request), context);
+	};
+
+	asyncExecute(new Runnable(fn));
+}
+
+RdsClient::UpdatePostgresExtensionsOutcomeCallable RdsClient::updatePostgresExtensionsCallable(const UpdatePostgresExtensionsRequest &request) const
+{
+	auto task = std::make_shared<std::packaged_task<UpdatePostgresExtensionsOutcome()>>(
+			[this, request]()
+			{
+			return this->updatePostgresExtensions(request);
+			});
+
+	asyncExecute(new Runnable([task]() { (*task)(); }));
+	return task->get_future();
+}
+
 RdsClient::UpdateUserBackupFileOutcome RdsClient::updateUserBackupFile(const UpdateUserBackupFileRequest &request) const
 {
 	auto endpointOutcome = endpointProvider_->getEndpoint();

+ 135 - 0
rds/src/model/CreatePostgresExtensionsRequest.cc

@@ -0,0 +1,135 @@
+/*
+ * 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/rds/model/CreatePostgresExtensionsRequest.h>
+
+using AlibabaCloud::Rds::Model::CreatePostgresExtensionsRequest;
+
+CreatePostgresExtensionsRequest::CreatePostgresExtensionsRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "CreatePostgresExtensions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+CreatePostgresExtensionsRequest::~CreatePostgresExtensionsRequest() {}
+
+long CreatePostgresExtensionsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void CreatePostgresExtensionsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string CreatePostgresExtensionsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void CreatePostgresExtensionsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string CreatePostgresExtensionsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void CreatePostgresExtensionsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string CreatePostgresExtensionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void CreatePostgresExtensionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string CreatePostgresExtensionsRequest::getAccountName() const {
+  return accountName_;
+}
+
+void CreatePostgresExtensionsRequest::setAccountName(const std::string &accountName) {
+  accountName_ = accountName;
+  setParameter(std::string("AccountName"), accountName);
+}
+
+std::string CreatePostgresExtensionsRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void CreatePostgresExtensionsRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string CreatePostgresExtensionsRequest::getSourceDatabase() const {
+  return sourceDatabase_;
+}
+
+void CreatePostgresExtensionsRequest::setSourceDatabase(const std::string &sourceDatabase) {
+  sourceDatabase_ = sourceDatabase;
+  setParameter(std::string("SourceDatabase"), sourceDatabase);
+}
+
+std::string CreatePostgresExtensionsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void CreatePostgresExtensionsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string CreatePostgresExtensionsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void CreatePostgresExtensionsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long CreatePostgresExtensionsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void CreatePostgresExtensionsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string CreatePostgresExtensionsRequest::getDBNames() const {
+  return dBNames_;
+}
+
+void CreatePostgresExtensionsRequest::setDBNames(const std::string &dBNames) {
+  dBNames_ = dBNames;
+  setParameter(std::string("DBNames"), dBNames);
+}
+
+std::string CreatePostgresExtensionsRequest::getExtensions() const {
+  return extensions_;
+}
+
+void CreatePostgresExtensionsRequest::setExtensions(const std::string &extensions) {
+  extensions_ = extensions;
+  setParameter(std::string("Extensions"), extensions);
+}
+

+ 44 - 0
rds/src/model/CreatePostgresExtensionsResult.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/rds/model/CreatePostgresExtensionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+CreatePostgresExtensionsResult::CreatePostgresExtensionsResult() :
+	ServiceResult()
+{}
+
+CreatePostgresExtensionsResult::CreatePostgresExtensionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+CreatePostgresExtensionsResult::~CreatePostgresExtensionsResult()
+{}
+
+void CreatePostgresExtensionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 117 - 0
rds/src/model/DeletePostgresExtensionsRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/rds/model/DeletePostgresExtensionsRequest.h>
+
+using AlibabaCloud::Rds::Model::DeletePostgresExtensionsRequest;
+
+DeletePostgresExtensionsRequest::DeletePostgresExtensionsRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DeletePostgresExtensions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DeletePostgresExtensionsRequest::~DeletePostgresExtensionsRequest() {}
+
+long DeletePostgresExtensionsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DeletePostgresExtensionsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DeletePostgresExtensionsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DeletePostgresExtensionsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DeletePostgresExtensionsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DeletePostgresExtensionsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DeletePostgresExtensionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DeletePostgresExtensionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DeletePostgresExtensionsRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void DeletePostgresExtensionsRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string DeletePostgresExtensionsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DeletePostgresExtensionsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DeletePostgresExtensionsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DeletePostgresExtensionsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DeletePostgresExtensionsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DeletePostgresExtensionsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DeletePostgresExtensionsRequest::getDBNames() const {
+  return dBNames_;
+}
+
+void DeletePostgresExtensionsRequest::setDBNames(const std::string &dBNames) {
+  dBNames_ = dBNames;
+  setParameter(std::string("DBNames"), dBNames);
+}
+
+std::string DeletePostgresExtensionsRequest::getExtensions() const {
+  return extensions_;
+}
+
+void DeletePostgresExtensionsRequest::setExtensions(const std::string &extensions) {
+  extensions_ = extensions;
+  setParameter(std::string("Extensions"), extensions);
+}
+

+ 44 - 0
rds/src/model/DeletePostgresExtensionsResult.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/rds/model/DeletePostgresExtensionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DeletePostgresExtensionsResult::DeletePostgresExtensionsResult() :
+	ServiceResult()
+{}
+
+DeletePostgresExtensionsResult::DeletePostgresExtensionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DeletePostgresExtensionsResult::~DeletePostgresExtensionsResult()
+{}
+
+void DeletePostgresExtensionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+

+ 108 - 0
rds/src/model/DescribePostgresExtensionsRequest.cc

@@ -0,0 +1,108 @@
+/*
+ * 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/rds/model/DescribePostgresExtensionsRequest.h>
+
+using AlibabaCloud::Rds::Model::DescribePostgresExtensionsRequest;
+
+DescribePostgresExtensionsRequest::DescribePostgresExtensionsRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "DescribePostgresExtensions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+DescribePostgresExtensionsRequest::~DescribePostgresExtensionsRequest() {}
+
+long DescribePostgresExtensionsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void DescribePostgresExtensionsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string DescribePostgresExtensionsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void DescribePostgresExtensionsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string DescribePostgresExtensionsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void DescribePostgresExtensionsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string DescribePostgresExtensionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void DescribePostgresExtensionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string DescribePostgresExtensionsRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void DescribePostgresExtensionsRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string DescribePostgresExtensionsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void DescribePostgresExtensionsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string DescribePostgresExtensionsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void DescribePostgresExtensionsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long DescribePostgresExtensionsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void DescribePostgresExtensionsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string DescribePostgresExtensionsRequest::getDBName() const {
+  return dBName_;
+}
+
+void DescribePostgresExtensionsRequest::setDBName(const std::string &dBName) {
+  dBName_ = dBName;
+  setParameter(std::string("DBName"), dBName);
+}
+

+ 105 - 0
rds/src/model/DescribePostgresExtensionsResult.cc

@@ -0,0 +1,105 @@
+/*
+ * 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/rds/model/DescribePostgresExtensionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+DescribePostgresExtensionsResult::DescribePostgresExtensionsResult() :
+	ServiceResult()
+{}
+
+DescribePostgresExtensionsResult::DescribePostgresExtensionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+DescribePostgresExtensionsResult::~DescribePostgresExtensionsResult()
+{}
+
+void DescribePostgresExtensionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+	auto allUninstalledExtensionsNode = value["UninstalledExtensions"]["Extension"];
+	for (auto valueUninstalledExtensionsExtension : allUninstalledExtensionsNode)
+	{
+		Extension uninstalledExtensionsObject;
+		if(!valueUninstalledExtensionsExtension["Name"].isNull())
+			uninstalledExtensionsObject.name = valueUninstalledExtensionsExtension["Name"].asString();
+		if(!valueUninstalledExtensionsExtension["DefaultVersion"].isNull())
+			uninstalledExtensionsObject.defaultVersion = valueUninstalledExtensionsExtension["DefaultVersion"].asString();
+		if(!valueUninstalledExtensionsExtension["InstalledVersion"].isNull())
+			uninstalledExtensionsObject.installedVersion = valueUninstalledExtensionsExtension["InstalledVersion"].asString();
+		if(!valueUninstalledExtensionsExtension["Comment"].isNull())
+			uninstalledExtensionsObject.comment = valueUninstalledExtensionsExtension["Comment"].asString();
+		if(!valueUninstalledExtensionsExtension["Owner"].isNull())
+			uninstalledExtensionsObject.owner = valueUninstalledExtensionsExtension["Owner"].asString();
+		if(!valueUninstalledExtensionsExtension["Priority"].isNull())
+			uninstalledExtensionsObject.priority = valueUninstalledExtensionsExtension["Priority"].asString();
+		if(!valueUninstalledExtensionsExtension["Requires"].isNull())
+			uninstalledExtensionsObject.requires = valueUninstalledExtensionsExtension["Requires"].asString();
+		if(!valueUninstalledExtensionsExtension["Category"].isNull())
+			uninstalledExtensionsObject.category = valueUninstalledExtensionsExtension["Category"].asString();
+		uninstalledExtensions_.push_back(uninstalledExtensionsObject);
+	}
+	auto allInstalledExtensionsNode = value["InstalledExtensions"]["Extension"];
+	for (auto valueInstalledExtensionsExtension : allInstalledExtensionsNode)
+	{
+		Extension installedExtensionsObject;
+		if(!valueInstalledExtensionsExtension["Name"].isNull())
+			installedExtensionsObject.name = valueInstalledExtensionsExtension["Name"].asString();
+		if(!valueInstalledExtensionsExtension["DefaultVersion"].isNull())
+			installedExtensionsObject.defaultVersion = valueInstalledExtensionsExtension["DefaultVersion"].asString();
+		if(!valueInstalledExtensionsExtension["InstalledVersion"].isNull())
+			installedExtensionsObject.installedVersion = valueInstalledExtensionsExtension["InstalledVersion"].asString();
+		if(!valueInstalledExtensionsExtension["Comment"].isNull())
+			installedExtensionsObject.comment = valueInstalledExtensionsExtension["Comment"].asString();
+		if(!valueInstalledExtensionsExtension["Owner"].isNull())
+			installedExtensionsObject.owner = valueInstalledExtensionsExtension["Owner"].asString();
+		if(!valueInstalledExtensionsExtension["Priority"].isNull())
+			installedExtensionsObject.priority = valueInstalledExtensionsExtension["Priority"].asString();
+		if(!valueInstalledExtensionsExtension["Requires"].isNull())
+			installedExtensionsObject.requires = valueInstalledExtensionsExtension["Requires"].asString();
+		if(!valueInstalledExtensionsExtension["Category"].isNull())
+			installedExtensionsObject.category = valueInstalledExtensionsExtension["Category"].asString();
+		installedExtensions_.push_back(installedExtensionsObject);
+	}
+	if(!value["Overview"].isNull())
+		overview_ = value["Overview"].asString();
+
+}
+
+std::vector<DescribePostgresExtensionsResult::Extension> DescribePostgresExtensionsResult::getInstalledExtensions()const
+{
+	return installedExtensions_;
+}
+
+std::string DescribePostgresExtensionsResult::getOverview()const
+{
+	return overview_;
+}
+
+std::vector<DescribePostgresExtensionsResult::Extension> DescribePostgresExtensionsResult::getUninstalledExtensions()const
+{
+	return uninstalledExtensions_;
+}
+

+ 117 - 0
rds/src/model/UpdatePostgresExtensionsRequest.cc

@@ -0,0 +1,117 @@
+/*
+ * 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/rds/model/UpdatePostgresExtensionsRequest.h>
+
+using AlibabaCloud::Rds::Model::UpdatePostgresExtensionsRequest;
+
+UpdatePostgresExtensionsRequest::UpdatePostgresExtensionsRequest()
+    : RpcServiceRequest("rds", "2014-08-15", "UpdatePostgresExtensions") {
+  setMethod(HttpRequest::Method::Post);
+}
+
+UpdatePostgresExtensionsRequest::~UpdatePostgresExtensionsRequest() {}
+
+long UpdatePostgresExtensionsRequest::getResourceOwnerId() const {
+  return resourceOwnerId_;
+}
+
+void UpdatePostgresExtensionsRequest::setResourceOwnerId(long resourceOwnerId) {
+  resourceOwnerId_ = resourceOwnerId;
+  setParameter(std::string("ResourceOwnerId"), std::to_string(resourceOwnerId));
+}
+
+std::string UpdatePostgresExtensionsRequest::getClientToken() const {
+  return clientToken_;
+}
+
+void UpdatePostgresExtensionsRequest::setClientToken(const std::string &clientToken) {
+  clientToken_ = clientToken;
+  setParameter(std::string("ClientToken"), clientToken);
+}
+
+std::string UpdatePostgresExtensionsRequest::getAccessKeyId() const {
+  return accessKeyId_;
+}
+
+void UpdatePostgresExtensionsRequest::setAccessKeyId(const std::string &accessKeyId) {
+  accessKeyId_ = accessKeyId;
+  setParameter(std::string("AccessKeyId"), accessKeyId);
+}
+
+std::string UpdatePostgresExtensionsRequest::getResourceGroupId() const {
+  return resourceGroupId_;
+}
+
+void UpdatePostgresExtensionsRequest::setResourceGroupId(const std::string &resourceGroupId) {
+  resourceGroupId_ = resourceGroupId;
+  setParameter(std::string("ResourceGroupId"), resourceGroupId);
+}
+
+std::string UpdatePostgresExtensionsRequest::getDBInstanceId() const {
+  return dBInstanceId_;
+}
+
+void UpdatePostgresExtensionsRequest::setDBInstanceId(const std::string &dBInstanceId) {
+  dBInstanceId_ = dBInstanceId;
+  setParameter(std::string("DBInstanceId"), dBInstanceId);
+}
+
+std::string UpdatePostgresExtensionsRequest::getResourceOwnerAccount() const {
+  return resourceOwnerAccount_;
+}
+
+void UpdatePostgresExtensionsRequest::setResourceOwnerAccount(const std::string &resourceOwnerAccount) {
+  resourceOwnerAccount_ = resourceOwnerAccount;
+  setParameter(std::string("ResourceOwnerAccount"), resourceOwnerAccount);
+}
+
+std::string UpdatePostgresExtensionsRequest::getOwnerAccount() const {
+  return ownerAccount_;
+}
+
+void UpdatePostgresExtensionsRequest::setOwnerAccount(const std::string &ownerAccount) {
+  ownerAccount_ = ownerAccount;
+  setParameter(std::string("OwnerAccount"), ownerAccount);
+}
+
+long UpdatePostgresExtensionsRequest::getOwnerId() const {
+  return ownerId_;
+}
+
+void UpdatePostgresExtensionsRequest::setOwnerId(long ownerId) {
+  ownerId_ = ownerId;
+  setParameter(std::string("OwnerId"), std::to_string(ownerId));
+}
+
+std::string UpdatePostgresExtensionsRequest::getDBNames() const {
+  return dBNames_;
+}
+
+void UpdatePostgresExtensionsRequest::setDBNames(const std::string &dBNames) {
+  dBNames_ = dBNames;
+  setParameter(std::string("DBNames"), dBNames);
+}
+
+std::string UpdatePostgresExtensionsRequest::getExtensions() const {
+  return extensions_;
+}
+
+void UpdatePostgresExtensionsRequest::setExtensions(const std::string &extensions) {
+  extensions_ = extensions;
+  setParameter(std::string("Extensions"), extensions);
+}
+

+ 44 - 0
rds/src/model/UpdatePostgresExtensionsResult.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/rds/model/UpdatePostgresExtensionsResult.h>
+#include <json/json.h>
+
+using namespace AlibabaCloud::Rds;
+using namespace AlibabaCloud::Rds::Model;
+
+UpdatePostgresExtensionsResult::UpdatePostgresExtensionsResult() :
+	ServiceResult()
+{}
+
+UpdatePostgresExtensionsResult::UpdatePostgresExtensionsResult(const std::string &payload) :
+	ServiceResult()
+{
+	parse(payload);
+}
+
+UpdatePostgresExtensionsResult::~UpdatePostgresExtensionsResult()
+{}
+
+void UpdatePostgresExtensionsResult::parse(const std::string &payload)
+{
+	Json::Reader reader;
+	Json::Value value;
+	reader.parse(payload, value);
+	setRequestId(value["RequestId"].asString());
+
+}
+