diff --git a/CHANGELOG b/CHANGELOG index 463a1c173..117e908cc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +2020-03-18 Version: 1.36.324 +- ACM POP SDK. + 2020-03-18 Version: 1.36.323 - Support product addrp. diff --git a/VERSION b/VERSION index 95b4c6fcb..d0330dc32 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.36.323 \ No newline at end of file +1.36.324 \ No newline at end of file diff --git a/acm/CMakeLists.txt b/acm/CMakeLists.txt new file mode 100644 index 000000000..dacf358a3 --- /dev/null +++ b/acm/CMakeLists.txt @@ -0,0 +1,114 @@ +# +# 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. +# + +set(public_header_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include) + +set(acm_public_header + include/alibabacloud/acm/AcmClient.h + include/alibabacloud/acm/AcmExport.h ) + +set(acm_public_header_model + include/alibabacloud/acm/model/CreateConfigurationRequest.h + include/alibabacloud/acm/model/CreateConfigurationResult.h + include/alibabacloud/acm/model/CreateNamespaceRequest.h + include/alibabacloud/acm/model/CreateNamespaceResult.h + include/alibabacloud/acm/model/DeleteConfigurationRequest.h + include/alibabacloud/acm/model/DeleteConfigurationResult.h + include/alibabacloud/acm/model/DeleteNamespaceRequest.h + include/alibabacloud/acm/model/DeleteNamespaceResult.h + include/alibabacloud/acm/model/DeployConfigurationRequest.h + include/alibabacloud/acm/model/DeployConfigurationResult.h + include/alibabacloud/acm/model/DescribeConfigurationRequest.h + include/alibabacloud/acm/model/DescribeConfigurationResult.h + include/alibabacloud/acm/model/DescribeNamespaceRequest.h + include/alibabacloud/acm/model/DescribeNamespaceResult.h + include/alibabacloud/acm/model/UpdateNamespaceRequest.h + include/alibabacloud/acm/model/UpdateNamespaceResult.h ) + +set(acm_src + src/AcmClient.cc + src/model/CreateConfigurationRequest.cc + src/model/CreateConfigurationResult.cc + src/model/CreateNamespaceRequest.cc + src/model/CreateNamespaceResult.cc + src/model/DeleteConfigurationRequest.cc + src/model/DeleteConfigurationResult.cc + src/model/DeleteNamespaceRequest.cc + src/model/DeleteNamespaceResult.cc + src/model/DeployConfigurationRequest.cc + src/model/DeployConfigurationResult.cc + src/model/DescribeConfigurationRequest.cc + src/model/DescribeConfigurationResult.cc + src/model/DescribeNamespaceRequest.cc + src/model/DescribeNamespaceResult.cc + src/model/UpdateNamespaceRequest.cc + src/model/UpdateNamespaceResult.cc ) + +add_library(acm ${LIB_TYPE} + ${acm_public_header} + ${acm_public_header_model} + ${acm_src}) + +set_target_properties(acm + PROPERTIES + LINKER_LANGUAGE CXX + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin + OUTPUT_NAME ${TARGET_OUTPUT_NAME_PREFIX}acm + ) + +if(${LIB_TYPE} STREQUAL "SHARED") + set_target_properties(acm + PROPERTIES + DEFINE_SYMBOL ALIBABACLOUD_ACM_LIBRARY) +endif() + +target_include_directories(acm + PRIVATE include + ${CMAKE_SOURCE_DIR}/core/include + ) +target_link_libraries(acm + core) + +if(CMAKE_HOST_WIN32) + ExternalProject_Get_Property(jsoncpp INSTALL_DIR) + set(jsoncpp_install_dir ${INSTALL_DIR}) + add_dependencies(acm + jsoncpp) + target_include_directories(acm + PRIVATE ${jsoncpp_install_dir}/include) + target_link_libraries(acm + ${jsoncpp_install_dir}/lib/jsoncpp.lib) + set_target_properties(acm + PROPERTIES + COMPILE_OPTIONS "/bigobj") +else() + target_include_directories(acm + PRIVATE /usr/include/jsoncpp) + target_link_libraries(acm + jsoncpp) +endif() + +install(FILES ${acm_public_header} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/acm) +install(FILES ${acm_public_header_model} + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/alibabacloud/acm/model) +install(TARGETS acm + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/AcmClient.h b/acm/include/alibabacloud/acm/AcmClient.h new file mode 100644 index 000000000..eb1d26c3a --- /dev/null +++ b/acm/include/alibabacloud/acm/AcmClient.h @@ -0,0 +1,110 @@ +/* + * 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_ACM_ACMCLIENT_H_ +#define ALIBABACLOUD_ACM_ACMCLIENT_H_ + +#include +#include +#include +#include +#include "AcmExport.h" +#include "model/CreateConfigurationRequest.h" +#include "model/CreateConfigurationResult.h" +#include "model/CreateNamespaceRequest.h" +#include "model/CreateNamespaceResult.h" +#include "model/DeleteConfigurationRequest.h" +#include "model/DeleteConfigurationResult.h" +#include "model/DeleteNamespaceRequest.h" +#include "model/DeleteNamespaceResult.h" +#include "model/DeployConfigurationRequest.h" +#include "model/DeployConfigurationResult.h" +#include "model/DescribeConfigurationRequest.h" +#include "model/DescribeConfigurationResult.h" +#include "model/DescribeNamespaceRequest.h" +#include "model/DescribeNamespaceResult.h" +#include "model/UpdateNamespaceRequest.h" +#include "model/UpdateNamespaceResult.h" + + +namespace AlibabaCloud +{ + namespace Acm + { + class ALIBABACLOUD_ACM_EXPORT AcmClient : public RoaServiceClient + { + public: + typedef Outcome CreateConfigurationOutcome; + typedef std::future CreateConfigurationOutcomeCallable; + typedef std::function&)> CreateConfigurationAsyncHandler; + typedef Outcome CreateNamespaceOutcome; + typedef std::future CreateNamespaceOutcomeCallable; + typedef std::function&)> CreateNamespaceAsyncHandler; + typedef Outcome DeleteConfigurationOutcome; + typedef std::future DeleteConfigurationOutcomeCallable; + typedef std::function&)> DeleteConfigurationAsyncHandler; + typedef Outcome DeleteNamespaceOutcome; + typedef std::future DeleteNamespaceOutcomeCallable; + typedef std::function&)> DeleteNamespaceAsyncHandler; + typedef Outcome DeployConfigurationOutcome; + typedef std::future DeployConfigurationOutcomeCallable; + typedef std::function&)> DeployConfigurationAsyncHandler; + typedef Outcome DescribeConfigurationOutcome; + typedef std::future DescribeConfigurationOutcomeCallable; + typedef std::function&)> DescribeConfigurationAsyncHandler; + typedef Outcome DescribeNamespaceOutcome; + typedef std::future DescribeNamespaceOutcomeCallable; + typedef std::function&)> DescribeNamespaceAsyncHandler; + typedef Outcome UpdateNamespaceOutcome; + typedef std::future UpdateNamespaceOutcomeCallable; + typedef std::function&)> UpdateNamespaceAsyncHandler; + + AcmClient(const Credentials &credentials, const ClientConfiguration &configuration); + AcmClient(const std::shared_ptr &credentialsProvider, const ClientConfiguration &configuration); + AcmClient(const std::string &accessKeyId, const std::string &accessKeySecret, const ClientConfiguration &configuration); + ~AcmClient(); + CreateConfigurationOutcome createConfiguration(const Model::CreateConfigurationRequest &request)const; + void createConfigurationAsync(const Model::CreateConfigurationRequest& request, const CreateConfigurationAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + CreateConfigurationOutcomeCallable createConfigurationCallable(const Model::CreateConfigurationRequest& request) const; + CreateNamespaceOutcome createNamespace(const Model::CreateNamespaceRequest &request)const; + void createNamespaceAsync(const Model::CreateNamespaceRequest& request, const CreateNamespaceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + CreateNamespaceOutcomeCallable createNamespaceCallable(const Model::CreateNamespaceRequest& request) const; + DeleteConfigurationOutcome deleteConfiguration(const Model::DeleteConfigurationRequest &request)const; + void deleteConfigurationAsync(const Model::DeleteConfigurationRequest& request, const DeleteConfigurationAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeleteConfigurationOutcomeCallable deleteConfigurationCallable(const Model::DeleteConfigurationRequest& request) const; + DeleteNamespaceOutcome deleteNamespace(const Model::DeleteNamespaceRequest &request)const; + void deleteNamespaceAsync(const Model::DeleteNamespaceRequest& request, const DeleteNamespaceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeleteNamespaceOutcomeCallable deleteNamespaceCallable(const Model::DeleteNamespaceRequest& request) const; + DeployConfigurationOutcome deployConfiguration(const Model::DeployConfigurationRequest &request)const; + void deployConfigurationAsync(const Model::DeployConfigurationRequest& request, const DeployConfigurationAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DeployConfigurationOutcomeCallable deployConfigurationCallable(const Model::DeployConfigurationRequest& request) const; + DescribeConfigurationOutcome describeConfiguration(const Model::DescribeConfigurationRequest &request)const; + void describeConfigurationAsync(const Model::DescribeConfigurationRequest& request, const DescribeConfigurationAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeConfigurationOutcomeCallable describeConfigurationCallable(const Model::DescribeConfigurationRequest& request) const; + DescribeNamespaceOutcome describeNamespace(const Model::DescribeNamespaceRequest &request)const; + void describeNamespaceAsync(const Model::DescribeNamespaceRequest& request, const DescribeNamespaceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + DescribeNamespaceOutcomeCallable describeNamespaceCallable(const Model::DescribeNamespaceRequest& request) const; + UpdateNamespaceOutcome updateNamespace(const Model::UpdateNamespaceRequest &request)const; + void updateNamespaceAsync(const Model::UpdateNamespaceRequest& request, const UpdateNamespaceAsyncHandler& handler, const std::shared_ptr& context = nullptr) const; + UpdateNamespaceOutcomeCallable updateNamespaceCallable(const Model::UpdateNamespaceRequest& request) const; + + private: + std::shared_ptr endpointProvider_; + }; + } +} + +#endif // !ALIBABACLOUD_ACM_ACMCLIENT_H_ diff --git a/acm/include/alibabacloud/acm/AcmExport.h b/acm/include/alibabacloud/acm/AcmExport.h new file mode 100644 index 000000000..b6f918226 --- /dev/null +++ b/acm/include/alibabacloud/acm/AcmExport.h @@ -0,0 +1,32 @@ +/* + * 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_ACM_ACMEXPORT_H_ +#define ALIBABACLOUD_ACM_ACMEXPORT_H_ + +#include + +#if defined(ALIBABACLOUD_SHARED) +# if defined(ALIBABACLOUD_ACM_LIBRARY) +# define ALIBABACLOUD_ACM_EXPORT ALIBABACLOUD_DECL_EXPORT +# else +# define ALIBABACLOUD_ACM_EXPORT ALIBABACLOUD_DECL_IMPORT +# endif +#else +# define ALIBABACLOUD_ACM_EXPORT +#endif + +#endif // !ALIBABACLOUD_ACM_ACMEXPORT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/CreateConfigurationRequest.h b/acm/include/alibabacloud/acm/model/CreateConfigurationRequest.h new file mode 100644 index 000000000..49c87f509 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/CreateConfigurationRequest.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_ACM_MODEL_CREATECONFIGURATIONREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_CREATECONFIGURATIONREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT CreateConfigurationRequest : public RoaServiceRequest + { + + public: + CreateConfigurationRequest(); + ~CreateConfigurationRequest(); + + std::string getDataId()const; + void setDataId(const std::string& dataId); + std::string getAppName()const; + void setAppName(const std::string& appName); + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + std::string getType()const; + void setType(const std::string& type); + std::string getContent()const; + void setContent(const std::string& content); + std::string getGroup()const; + void setGroup(const std::string& group); + std::string getDesc()const; + void setDesc(const std::string& desc); + std::string getTags()const; + void setTags(const std::string& tags); + + private: + std::string dataId_; + std::string appName_; + std::string namespaceId_; + std::string type_; + std::string content_; + std::string group_; + std::string desc_; + std::string tags_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_CREATECONFIGURATIONREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/CreateConfigurationResult.h b/acm/include/alibabacloud/acm/model/CreateConfigurationResult.h new file mode 100644 index 000000000..74390b4e8 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/CreateConfigurationResult.h @@ -0,0 +1,53 @@ +/* + * 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_ACM_MODEL_CREATECONFIGURATIONRESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_CREATECONFIGURATIONRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT CreateConfigurationResult : public ServiceResult + { + public: + + + CreateConfigurationResult(); + explicit CreateConfigurationResult(const std::string &payload); + ~CreateConfigurationResult(); + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_CREATECONFIGURATIONRESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/CreateNamespaceRequest.h b/acm/include/alibabacloud/acm/model/CreateNamespaceRequest.h new file mode 100644 index 000000000..6fc1167fe --- /dev/null +++ b/acm/include/alibabacloud/acm/model/CreateNamespaceRequest.h @@ -0,0 +1,48 @@ +/* + * 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_ACM_MODEL_CREATENAMESPACEREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_CREATENAMESPACEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT CreateNamespaceRequest : public RoaServiceRequest + { + + public: + CreateNamespaceRequest(); + ~CreateNamespaceRequest(); + + std::string getName()const; + void setName(const std::string& name); + + private: + std::string name_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_CREATENAMESPACEREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/CreateNamespaceResult.h b/acm/include/alibabacloud/acm/model/CreateNamespaceResult.h new file mode 100644 index 000000000..e295fc6ed --- /dev/null +++ b/acm/include/alibabacloud/acm/model/CreateNamespaceResult.h @@ -0,0 +1,55 @@ +/* + * 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_ACM_MODEL_CREATENAMESPACERESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_CREATENAMESPACERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT CreateNamespaceResult : public ServiceResult + { + public: + + + CreateNamespaceResult(); + explicit CreateNamespaceResult(const std::string &payload); + ~CreateNamespaceResult(); + std::string getMessage()const; + std::string getNamespaceId()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string namespaceId_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_CREATENAMESPACERESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeleteConfigurationRequest.h b/acm/include/alibabacloud/acm/model/DeleteConfigurationRequest.h new file mode 100644 index 000000000..a542963f8 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeleteConfigurationRequest.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_ACM_MODEL_DELETECONFIGURATIONREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_DELETECONFIGURATIONREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeleteConfigurationRequest : public RoaServiceRequest + { + + public: + DeleteConfigurationRequest(); + ~DeleteConfigurationRequest(); + + std::string getDataId()const; + void setDataId(const std::string& dataId); + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + std::string getGroup()const; + void setGroup(const std::string& group); + + private: + std::string dataId_; + std::string namespaceId_; + std::string group_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DELETECONFIGURATIONREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeleteConfigurationResult.h b/acm/include/alibabacloud/acm/model/DeleteConfigurationResult.h new file mode 100644 index 000000000..7827d924e --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeleteConfigurationResult.h @@ -0,0 +1,53 @@ +/* + * 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_ACM_MODEL_DELETECONFIGURATIONRESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_DELETECONFIGURATIONRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeleteConfigurationResult : public ServiceResult + { + public: + + + DeleteConfigurationResult(); + explicit DeleteConfigurationResult(const std::string &payload); + ~DeleteConfigurationResult(); + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DELETECONFIGURATIONRESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeleteNamespaceRequest.h b/acm/include/alibabacloud/acm/model/DeleteNamespaceRequest.h new file mode 100644 index 000000000..eba129f5b --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeleteNamespaceRequest.h @@ -0,0 +1,48 @@ +/* + * 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_ACM_MODEL_DELETENAMESPACEREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_DELETENAMESPACEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeleteNamespaceRequest : public RoaServiceRequest + { + + public: + DeleteNamespaceRequest(); + ~DeleteNamespaceRequest(); + + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + + private: + std::string namespaceId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DELETENAMESPACEREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeleteNamespaceResult.h b/acm/include/alibabacloud/acm/model/DeleteNamespaceResult.h new file mode 100644 index 000000000..7411e31b1 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeleteNamespaceResult.h @@ -0,0 +1,53 @@ +/* + * 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_ACM_MODEL_DELETENAMESPACERESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_DELETENAMESPACERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeleteNamespaceResult : public ServiceResult + { + public: + + + DeleteNamespaceResult(); + explicit DeleteNamespaceResult(const std::string &payload); + ~DeleteNamespaceResult(); + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DELETENAMESPACERESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeployConfigurationRequest.h b/acm/include/alibabacloud/acm/model/DeployConfigurationRequest.h new file mode 100644 index 000000000..339c2890d --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeployConfigurationRequest.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_ACM_MODEL_DEPLOYCONFIGURATIONREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_DEPLOYCONFIGURATIONREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeployConfigurationRequest : public RoaServiceRequest + { + + public: + DeployConfigurationRequest(); + ~DeployConfigurationRequest(); + + std::string getDataId()const; + void setDataId(const std::string& dataId); + std::string getAppName()const; + void setAppName(const std::string& appName); + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + std::string getType()const; + void setType(const std::string& type); + std::string getContent()const; + void setContent(const std::string& content); + std::string getGroup()const; + void setGroup(const std::string& group); + std::string getDesc()const; + void setDesc(const std::string& desc); + std::string getTags()const; + void setTags(const std::string& tags); + + private: + std::string dataId_; + std::string appName_; + std::string namespaceId_; + std::string type_; + std::string content_; + std::string group_; + std::string desc_; + std::string tags_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DEPLOYCONFIGURATIONREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DeployConfigurationResult.h b/acm/include/alibabacloud/acm/model/DeployConfigurationResult.h new file mode 100644 index 000000000..30c6a4e39 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DeployConfigurationResult.h @@ -0,0 +1,53 @@ +/* + * 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_ACM_MODEL_DEPLOYCONFIGURATIONRESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_DEPLOYCONFIGURATIONRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DeployConfigurationResult : public ServiceResult + { + public: + + + DeployConfigurationResult(); + explicit DeployConfigurationResult(const std::string &payload); + ~DeployConfigurationResult(); + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DEPLOYCONFIGURATIONRESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DescribeConfigurationRequest.h b/acm/include/alibabacloud/acm/model/DescribeConfigurationRequest.h new file mode 100644 index 000000000..0e743e8fd --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DescribeConfigurationRequest.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_ACM_MODEL_DESCRIBECONFIGURATIONREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_DESCRIBECONFIGURATIONREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DescribeConfigurationRequest : public RoaServiceRequest + { + + public: + DescribeConfigurationRequest(); + ~DescribeConfigurationRequest(); + + std::string getDataId()const; + void setDataId(const std::string& dataId); + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + std::string getGroup()const; + void setGroup(const std::string& group); + + private: + std::string dataId_; + std::string namespaceId_; + std::string group_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBECONFIGURATIONREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DescribeConfigurationResult.h b/acm/include/alibabacloud/acm/model/DescribeConfigurationResult.h new file mode 100644 index 000000000..b54cecb09 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DescribeConfigurationResult.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_ACM_MODEL_DESCRIBECONFIGURATIONRESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_DESCRIBECONFIGURATIONRESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DescribeConfigurationResult : public ServiceResult + { + public: + struct Configuration + { + std::string desc; + std::string group; + std::string type; + std::string dataId; + std::string content; + std::string tags; + std::string appName; + std::string md5; + }; + + + DescribeConfigurationResult(); + explicit DescribeConfigurationResult(const std::string &payload); + ~DescribeConfigurationResult(); + Configuration getConfiguration()const; + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + Configuration configuration_; + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBECONFIGURATIONRESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DescribeNamespaceRequest.h b/acm/include/alibabacloud/acm/model/DescribeNamespaceRequest.h new file mode 100644 index 000000000..d2cee0952 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DescribeNamespaceRequest.h @@ -0,0 +1,48 @@ +/* + * 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_ACM_MODEL_DESCRIBENAMESPACEREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DescribeNamespaceRequest : public RoaServiceRequest + { + + public: + DescribeNamespaceRequest(); + ~DescribeNamespaceRequest(); + + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + + private: + std::string namespaceId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACEREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/DescribeNamespaceResult.h b/acm/include/alibabacloud/acm/model/DescribeNamespaceResult.h new file mode 100644 index 000000000..9d6b36671 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/DescribeNamespaceResult.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_ACM_MODEL_DESCRIBENAMESPACERESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT DescribeNamespaceResult : public ServiceResult + { + public: + struct _Namespace + { + std::string secretKey; + std::string endpoint; + std::string accessKey; + std::string regionId; + std::string name; + }; + + + DescribeNamespaceResult(); + explicit DescribeNamespaceResult(const std::string &payload); + ~DescribeNamespaceResult(); + std::string getMessage()const; + _Namespace get_Namespace()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + _Namespace _namespace_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_DESCRIBENAMESPACERESULT_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/UpdateNamespaceRequest.h b/acm/include/alibabacloud/acm/model/UpdateNamespaceRequest.h new file mode 100644 index 000000000..05c48521a --- /dev/null +++ b/acm/include/alibabacloud/acm/model/UpdateNamespaceRequest.h @@ -0,0 +1,51 @@ +/* + * 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_ACM_MODEL_UPDATENAMESPACEREQUEST_H_ +#define ALIBABACLOUD_ACM_MODEL_UPDATENAMESPACEREQUEST_H_ + +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT UpdateNamespaceRequest : public RoaServiceRequest + { + + public: + UpdateNamespaceRequest(); + ~UpdateNamespaceRequest(); + + std::string getNamespaceName()const; + void setNamespaceName(const std::string& namespaceName); + std::string getNamespaceId()const; + void setNamespaceId(const std::string& namespaceId); + + private: + std::string namespaceName_; + std::string namespaceId_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_UPDATENAMESPACEREQUEST_H_ \ No newline at end of file diff --git a/acm/include/alibabacloud/acm/model/UpdateNamespaceResult.h b/acm/include/alibabacloud/acm/model/UpdateNamespaceResult.h new file mode 100644 index 000000000..3b8441a66 --- /dev/null +++ b/acm/include/alibabacloud/acm/model/UpdateNamespaceResult.h @@ -0,0 +1,53 @@ +/* + * 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_ACM_MODEL_UPDATENAMESPACERESULT_H_ +#define ALIBABACLOUD_ACM_MODEL_UPDATENAMESPACERESULT_H_ + +#include +#include +#include +#include +#include + +namespace AlibabaCloud +{ + namespace Acm + { + namespace Model + { + class ALIBABACLOUD_ACM_EXPORT UpdateNamespaceResult : public ServiceResult + { + public: + + + UpdateNamespaceResult(); + explicit UpdateNamespaceResult(const std::string &payload); + ~UpdateNamespaceResult(); + std::string getMessage()const; + std::string getCode()const; + + protected: + void parse(const std::string &payload); + private: + std::string message_; + std::string code_; + + }; + } + } +} +#endif // !ALIBABACLOUD_ACM_MODEL_UPDATENAMESPACERESULT_H_ \ No newline at end of file diff --git a/acm/src/AcmClient.cc b/acm/src/AcmClient.cc new file mode 100644 index 000000000..378a35f79 --- /dev/null +++ b/acm/src/AcmClient.cc @@ -0,0 +1,341 @@ +/* + * 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 +#include + +using namespace AlibabaCloud; +using namespace AlibabaCloud::Location; +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +namespace +{ + const std::string SERVICE_NAME = "acm"; +} + +AcmClient::AcmClient(const Credentials &credentials, const ClientConfiguration &configuration) : + RoaServiceClient(SERVICE_NAME, std::make_shared(credentials), configuration) +{ + auto locationClient = std::make_shared(credentials, configuration); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "acms"); +} + +AcmClient::AcmClient(const std::shared_ptr& credentialsProvider, const ClientConfiguration & configuration) : + RoaServiceClient(SERVICE_NAME, credentialsProvider, configuration) +{ + auto locationClient = std::make_shared(credentialsProvider, configuration); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "acms"); +} + +AcmClient::AcmClient(const std::string & accessKeyId, const std::string & accessKeySecret, const ClientConfiguration & configuration) : + RoaServiceClient(SERVICE_NAME, std::make_shared(accessKeyId, accessKeySecret), configuration) +{ + auto locationClient = std::make_shared(accessKeyId, accessKeySecret, configuration); + endpointProvider_ = std::make_shared(locationClient, configuration.regionId(), SERVICE_NAME, "acms"); +} + +AcmClient::~AcmClient() +{} + +AcmClient::CreateConfigurationOutcome AcmClient::createConfiguration(const CreateConfigurationRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return CreateConfigurationOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return CreateConfigurationOutcome(CreateConfigurationResult(outcome.result())); + else + return CreateConfigurationOutcome(outcome.error()); +} + +void AcmClient::createConfigurationAsync(const CreateConfigurationRequest& request, const CreateConfigurationAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, createConfiguration(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::CreateConfigurationOutcomeCallable AcmClient::createConfigurationCallable(const CreateConfigurationRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->createConfiguration(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::CreateNamespaceOutcome AcmClient::createNamespace(const CreateNamespaceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return CreateNamespaceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return CreateNamespaceOutcome(CreateNamespaceResult(outcome.result())); + else + return CreateNamespaceOutcome(outcome.error()); +} + +void AcmClient::createNamespaceAsync(const CreateNamespaceRequest& request, const CreateNamespaceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, createNamespace(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::CreateNamespaceOutcomeCallable AcmClient::createNamespaceCallable(const CreateNamespaceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->createNamespace(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::DeleteConfigurationOutcome AcmClient::deleteConfiguration(const DeleteConfigurationRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeleteConfigurationOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeleteConfigurationOutcome(DeleteConfigurationResult(outcome.result())); + else + return DeleteConfigurationOutcome(outcome.error()); +} + +void AcmClient::deleteConfigurationAsync(const DeleteConfigurationRequest& request, const DeleteConfigurationAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deleteConfiguration(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::DeleteConfigurationOutcomeCallable AcmClient::deleteConfigurationCallable(const DeleteConfigurationRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deleteConfiguration(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::DeleteNamespaceOutcome AcmClient::deleteNamespace(const DeleteNamespaceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeleteNamespaceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeleteNamespaceOutcome(DeleteNamespaceResult(outcome.result())); + else + return DeleteNamespaceOutcome(outcome.error()); +} + +void AcmClient::deleteNamespaceAsync(const DeleteNamespaceRequest& request, const DeleteNamespaceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deleteNamespace(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::DeleteNamespaceOutcomeCallable AcmClient::deleteNamespaceCallable(const DeleteNamespaceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deleteNamespace(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::DeployConfigurationOutcome AcmClient::deployConfiguration(const DeployConfigurationRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DeployConfigurationOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DeployConfigurationOutcome(DeployConfigurationResult(outcome.result())); + else + return DeployConfigurationOutcome(outcome.error()); +} + +void AcmClient::deployConfigurationAsync(const DeployConfigurationRequest& request, const DeployConfigurationAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, deployConfiguration(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::DeployConfigurationOutcomeCallable AcmClient::deployConfigurationCallable(const DeployConfigurationRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->deployConfiguration(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::DescribeConfigurationOutcome AcmClient::describeConfiguration(const DescribeConfigurationRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeConfigurationOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeConfigurationOutcome(DescribeConfigurationResult(outcome.result())); + else + return DescribeConfigurationOutcome(outcome.error()); +} + +void AcmClient::describeConfigurationAsync(const DescribeConfigurationRequest& request, const DescribeConfigurationAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeConfiguration(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::DescribeConfigurationOutcomeCallable AcmClient::describeConfigurationCallable(const DescribeConfigurationRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeConfiguration(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::DescribeNamespaceOutcome AcmClient::describeNamespace(const DescribeNamespaceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return DescribeNamespaceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return DescribeNamespaceOutcome(DescribeNamespaceResult(outcome.result())); + else + return DescribeNamespaceOutcome(outcome.error()); +} + +void AcmClient::describeNamespaceAsync(const DescribeNamespaceRequest& request, const DescribeNamespaceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, describeNamespace(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::DescribeNamespaceOutcomeCallable AcmClient::describeNamespaceCallable(const DescribeNamespaceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->describeNamespace(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + +AcmClient::UpdateNamespaceOutcome AcmClient::updateNamespace(const UpdateNamespaceRequest &request) const +{ + auto endpointOutcome = endpointProvider_->getEndpoint(); + if (!endpointOutcome.isSuccess()) + return UpdateNamespaceOutcome(endpointOutcome.error()); + + auto outcome = makeRequest(endpointOutcome.result(), request); + + if (outcome.isSuccess()) + return UpdateNamespaceOutcome(UpdateNamespaceResult(outcome.result())); + else + return UpdateNamespaceOutcome(outcome.error()); +} + +void AcmClient::updateNamespaceAsync(const UpdateNamespaceRequest& request, const UpdateNamespaceAsyncHandler& handler, const std::shared_ptr& context) const +{ + auto fn = [this, request, handler, context]() + { + handler(this, request, updateNamespace(request), context); + }; + + asyncExecute(new Runnable(fn)); +} + +AcmClient::UpdateNamespaceOutcomeCallable AcmClient::updateNamespaceCallable(const UpdateNamespaceRequest &request) const +{ + auto task = std::make_shared>( + [this, request]() + { + return this->updateNamespace(request); + }); + + asyncExecute(new Runnable([task]() { (*task)(); })); + return task->get_future(); +} + diff --git a/acm/src/model/CreateConfigurationRequest.cc b/acm/src/model/CreateConfigurationRequest.cc new file mode 100644 index 000000000..8dcb2cdea --- /dev/null +++ b/acm/src/model/CreateConfigurationRequest.cc @@ -0,0 +1,118 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::CreateConfigurationRequest; + +CreateConfigurationRequest::CreateConfigurationRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/configuration"); + setMethod(HttpRequest::Method::Post); +} + +CreateConfigurationRequest::~CreateConfigurationRequest() +{} + +std::string CreateConfigurationRequest::getDataId()const +{ + return dataId_; +} + +void CreateConfigurationRequest::setDataId(const std::string& dataId) +{ + dataId_ = dataId; + setBodyParameter("DataId", dataId); +} + +std::string CreateConfigurationRequest::getAppName()const +{ + return appName_; +} + +void CreateConfigurationRequest::setAppName(const std::string& appName) +{ + appName_ = appName; + setBodyParameter("AppName", appName); +} + +std::string CreateConfigurationRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void CreateConfigurationRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setBodyParameter("NamespaceId", namespaceId); +} + +std::string CreateConfigurationRequest::getType()const +{ + return type_; +} + +void CreateConfigurationRequest::setType(const std::string& type) +{ + type_ = type; + setBodyParameter("Type", type); +} + +std::string CreateConfigurationRequest::getContent()const +{ + return content_; +} + +void CreateConfigurationRequest::setContent(const std::string& content) +{ + content_ = content; + setBodyParameter("Content", content); +} + +std::string CreateConfigurationRequest::getGroup()const +{ + return group_; +} + +void CreateConfigurationRequest::setGroup(const std::string& group) +{ + group_ = group; + setBodyParameter("Group", group); +} + +std::string CreateConfigurationRequest::getDesc()const +{ + return desc_; +} + +void CreateConfigurationRequest::setDesc(const std::string& desc) +{ + desc_ = desc; + setBodyParameter("Desc", desc); +} + +std::string CreateConfigurationRequest::getTags()const +{ + return tags_; +} + +void CreateConfigurationRequest::setTags(const std::string& tags) +{ + tags_ = tags; + setBodyParameter("Tags", tags); +} + diff --git a/acm/src/model/CreateConfigurationResult.cc b/acm/src/model/CreateConfigurationResult.cc new file mode 100644 index 000000000..6df953c8b --- /dev/null +++ b/acm/src/model/CreateConfigurationResult.cc @@ -0,0 +1,58 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +CreateConfigurationResult::CreateConfigurationResult() : + ServiceResult() +{} + +CreateConfigurationResult::CreateConfigurationResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +CreateConfigurationResult::~CreateConfigurationResult() +{} + +void CreateConfigurationResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string CreateConfigurationResult::getMessage()const +{ + return message_; +} + +std::string CreateConfigurationResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/CreateNamespaceRequest.cc b/acm/src/model/CreateNamespaceRequest.cc new file mode 100644 index 000000000..a4d5c1327 --- /dev/null +++ b/acm/src/model/CreateNamespaceRequest.cc @@ -0,0 +1,41 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::CreateNamespaceRequest; + +CreateNamespaceRequest::CreateNamespaceRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/namespace"); + setMethod(HttpRequest::Method::Post); +} + +CreateNamespaceRequest::~CreateNamespaceRequest() +{} + +std::string CreateNamespaceRequest::getName()const +{ + return name_; +} + +void CreateNamespaceRequest::setName(const std::string& name) +{ + name_ = name; + setBodyParameter("Name", name); +} + diff --git a/acm/src/model/CreateNamespaceResult.cc b/acm/src/model/CreateNamespaceResult.cc new file mode 100644 index 000000000..f5de6bf6e --- /dev/null +++ b/acm/src/model/CreateNamespaceResult.cc @@ -0,0 +1,65 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +CreateNamespaceResult::CreateNamespaceResult() : + ServiceResult() +{} + +CreateNamespaceResult::CreateNamespaceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +CreateNamespaceResult::~CreateNamespaceResult() +{} + +void CreateNamespaceResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + if(!value["NamespaceId"].isNull()) + namespaceId_ = value["NamespaceId"].asString(); + +} + +std::string CreateNamespaceResult::getMessage()const +{ + return message_; +} + +std::string CreateNamespaceResult::getNamespaceId()const +{ + return namespaceId_; +} + +std::string CreateNamespaceResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/DeleteConfigurationRequest.cc b/acm/src/model/DeleteConfigurationRequest.cc new file mode 100644 index 000000000..6dd7f29b2 --- /dev/null +++ b/acm/src/model/DeleteConfigurationRequest.cc @@ -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. + */ + +#include + +using AlibabaCloud::Acm::Model::DeleteConfigurationRequest; + +DeleteConfigurationRequest::DeleteConfigurationRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/configuration"); + setMethod(HttpRequest::Method::Delete); +} + +DeleteConfigurationRequest::~DeleteConfigurationRequest() +{} + +std::string DeleteConfigurationRequest::getDataId()const +{ + return dataId_; +} + +void DeleteConfigurationRequest::setDataId(const std::string& dataId) +{ + dataId_ = dataId; + setParameter("DataId", dataId); +} + +std::string DeleteConfigurationRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void DeleteConfigurationRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setParameter("NamespaceId", namespaceId); +} + +std::string DeleteConfigurationRequest::getGroup()const +{ + return group_; +} + +void DeleteConfigurationRequest::setGroup(const std::string& group) +{ + group_ = group; + setParameter("Group", group); +} + diff --git a/acm/src/model/DeleteConfigurationResult.cc b/acm/src/model/DeleteConfigurationResult.cc new file mode 100644 index 000000000..40ad0ea78 --- /dev/null +++ b/acm/src/model/DeleteConfigurationResult.cc @@ -0,0 +1,58 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +DeleteConfigurationResult::DeleteConfigurationResult() : + ServiceResult() +{} + +DeleteConfigurationResult::DeleteConfigurationResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeleteConfigurationResult::~DeleteConfigurationResult() +{} + +void DeleteConfigurationResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string DeleteConfigurationResult::getMessage()const +{ + return message_; +} + +std::string DeleteConfigurationResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/DeleteNamespaceRequest.cc b/acm/src/model/DeleteNamespaceRequest.cc new file mode 100644 index 000000000..aabe312b9 --- /dev/null +++ b/acm/src/model/DeleteNamespaceRequest.cc @@ -0,0 +1,41 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::DeleteNamespaceRequest; + +DeleteNamespaceRequest::DeleteNamespaceRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/namespace"); + setMethod(HttpRequest::Method::Delete); +} + +DeleteNamespaceRequest::~DeleteNamespaceRequest() +{} + +std::string DeleteNamespaceRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void DeleteNamespaceRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setParameter("NamespaceId", namespaceId); +} + diff --git a/acm/src/model/DeleteNamespaceResult.cc b/acm/src/model/DeleteNamespaceResult.cc new file mode 100644 index 000000000..d5dbd1f56 --- /dev/null +++ b/acm/src/model/DeleteNamespaceResult.cc @@ -0,0 +1,58 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +DeleteNamespaceResult::DeleteNamespaceResult() : + ServiceResult() +{} + +DeleteNamespaceResult::DeleteNamespaceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeleteNamespaceResult::~DeleteNamespaceResult() +{} + +void DeleteNamespaceResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string DeleteNamespaceResult::getMessage()const +{ + return message_; +} + +std::string DeleteNamespaceResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/DeployConfigurationRequest.cc b/acm/src/model/DeployConfigurationRequest.cc new file mode 100644 index 000000000..38be6e383 --- /dev/null +++ b/acm/src/model/DeployConfigurationRequest.cc @@ -0,0 +1,118 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::DeployConfigurationRequest; + +DeployConfigurationRequest::DeployConfigurationRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/configuration"); + setMethod(HttpRequest::Method::Put); +} + +DeployConfigurationRequest::~DeployConfigurationRequest() +{} + +std::string DeployConfigurationRequest::getDataId()const +{ + return dataId_; +} + +void DeployConfigurationRequest::setDataId(const std::string& dataId) +{ + dataId_ = dataId; + setBodyParameter("DataId", dataId); +} + +std::string DeployConfigurationRequest::getAppName()const +{ + return appName_; +} + +void DeployConfigurationRequest::setAppName(const std::string& appName) +{ + appName_ = appName; + setBodyParameter("AppName", appName); +} + +std::string DeployConfigurationRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void DeployConfigurationRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setBodyParameter("NamespaceId", namespaceId); +} + +std::string DeployConfigurationRequest::getType()const +{ + return type_; +} + +void DeployConfigurationRequest::setType(const std::string& type) +{ + type_ = type; + setBodyParameter("Type", type); +} + +std::string DeployConfigurationRequest::getContent()const +{ + return content_; +} + +void DeployConfigurationRequest::setContent(const std::string& content) +{ + content_ = content; + setBodyParameter("Content", content); +} + +std::string DeployConfigurationRequest::getGroup()const +{ + return group_; +} + +void DeployConfigurationRequest::setGroup(const std::string& group) +{ + group_ = group; + setBodyParameter("Group", group); +} + +std::string DeployConfigurationRequest::getDesc()const +{ + return desc_; +} + +void DeployConfigurationRequest::setDesc(const std::string& desc) +{ + desc_ = desc; + setBodyParameter("Desc", desc); +} + +std::string DeployConfigurationRequest::getTags()const +{ + return tags_; +} + +void DeployConfigurationRequest::setTags(const std::string& tags) +{ + tags_ = tags; + setBodyParameter("Tags", tags); +} + diff --git a/acm/src/model/DeployConfigurationResult.cc b/acm/src/model/DeployConfigurationResult.cc new file mode 100644 index 000000000..ee2e52ff1 --- /dev/null +++ b/acm/src/model/DeployConfigurationResult.cc @@ -0,0 +1,58 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +DeployConfigurationResult::DeployConfigurationResult() : + ServiceResult() +{} + +DeployConfigurationResult::DeployConfigurationResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DeployConfigurationResult::~DeployConfigurationResult() +{} + +void DeployConfigurationResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string DeployConfigurationResult::getMessage()const +{ + return message_; +} + +std::string DeployConfigurationResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/DescribeConfigurationRequest.cc b/acm/src/model/DescribeConfigurationRequest.cc new file mode 100644 index 000000000..1bff16c19 --- /dev/null +++ b/acm/src/model/DescribeConfigurationRequest.cc @@ -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. + */ + +#include + +using AlibabaCloud::Acm::Model::DescribeConfigurationRequest; + +DescribeConfigurationRequest::DescribeConfigurationRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/configuration"); + setMethod(HttpRequest::Method::Get); +} + +DescribeConfigurationRequest::~DescribeConfigurationRequest() +{} + +std::string DescribeConfigurationRequest::getDataId()const +{ + return dataId_; +} + +void DescribeConfigurationRequest::setDataId(const std::string& dataId) +{ + dataId_ = dataId; + setParameter("DataId", dataId); +} + +std::string DescribeConfigurationRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void DescribeConfigurationRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setParameter("NamespaceId", namespaceId); +} + +std::string DescribeConfigurationRequest::getGroup()const +{ + return group_; +} + +void DescribeConfigurationRequest::setGroup(const std::string& group) +{ + group_ = group; + setParameter("Group", group); +} + diff --git a/acm/src/model/DescribeConfigurationResult.cc b/acm/src/model/DescribeConfigurationResult.cc new file mode 100644 index 000000000..6cc3347ac --- /dev/null +++ b/acm/src/model/DescribeConfigurationResult.cc @@ -0,0 +1,80 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +DescribeConfigurationResult::DescribeConfigurationResult() : + ServiceResult() +{} + +DescribeConfigurationResult::DescribeConfigurationResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeConfigurationResult::~DescribeConfigurationResult() +{} + +void DescribeConfigurationResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto configurationNode = value["Configuration"]; + if(!configurationNode["AppName"].isNull()) + configuration_.appName = configurationNode["AppName"].asString(); + if(!configurationNode["Content"].isNull()) + configuration_.content = configurationNode["Content"].asString(); + if(!configurationNode["DataId"].isNull()) + configuration_.dataId = configurationNode["DataId"].asString(); + if(!configurationNode["Desc"].isNull()) + configuration_.desc = configurationNode["Desc"].asString(); + if(!configurationNode["Group"].isNull()) + configuration_.group = configurationNode["Group"].asString(); + if(!configurationNode["Md5"].isNull()) + configuration_.md5 = configurationNode["Md5"].asString(); + if(!configurationNode["Tags"].isNull()) + configuration_.tags = configurationNode["Tags"].asString(); + if(!configurationNode["Type"].isNull()) + configuration_.type = configurationNode["Type"].asString(); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +DescribeConfigurationResult::Configuration DescribeConfigurationResult::getConfiguration()const +{ + return configuration_; +} + +std::string DescribeConfigurationResult::getMessage()const +{ + return message_; +} + +std::string DescribeConfigurationResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/DescribeNamespaceRequest.cc b/acm/src/model/DescribeNamespaceRequest.cc new file mode 100644 index 000000000..f3901b7e8 --- /dev/null +++ b/acm/src/model/DescribeNamespaceRequest.cc @@ -0,0 +1,41 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::DescribeNamespaceRequest; + +DescribeNamespaceRequest::DescribeNamespaceRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/namespace"); + setMethod(HttpRequest::Method::Get); +} + +DescribeNamespaceRequest::~DescribeNamespaceRequest() +{} + +std::string DescribeNamespaceRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void DescribeNamespaceRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setParameter("NamespaceId", namespaceId); +} + diff --git a/acm/src/model/DescribeNamespaceResult.cc b/acm/src/model/DescribeNamespaceResult.cc new file mode 100644 index 000000000..955778554 --- /dev/null +++ b/acm/src/model/DescribeNamespaceResult.cc @@ -0,0 +1,74 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +DescribeNamespaceResult::DescribeNamespaceResult() : + ServiceResult() +{} + +DescribeNamespaceResult::DescribeNamespaceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +DescribeNamespaceResult::~DescribeNamespaceResult() +{} + +void DescribeNamespaceResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + auto _namespaceNode = value["Namespace"]; + if(!_namespaceNode["AccessKey"].isNull()) + _namespace_.accessKey = _namespaceNode["AccessKey"].asString(); + if(!_namespaceNode["Endpoint"].isNull()) + _namespace_.endpoint = _namespaceNode["Endpoint"].asString(); + if(!_namespaceNode["Name"].isNull()) + _namespace_.name = _namespaceNode["Name"].asString(); + if(!_namespaceNode["RegionId"].isNull()) + _namespace_.regionId = _namespaceNode["RegionId"].asString(); + if(!_namespaceNode["SecretKey"].isNull()) + _namespace_.secretKey = _namespaceNode["SecretKey"].asString(); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string DescribeNamespaceResult::getMessage()const +{ + return message_; +} + +DescribeNamespaceResult::_Namespace DescribeNamespaceResult::get_Namespace()const +{ + return _namespace_; +} + +std::string DescribeNamespaceResult::getCode()const +{ + return code_; +} + diff --git a/acm/src/model/UpdateNamespaceRequest.cc b/acm/src/model/UpdateNamespaceRequest.cc new file mode 100644 index 000000000..a034b1fc8 --- /dev/null +++ b/acm/src/model/UpdateNamespaceRequest.cc @@ -0,0 +1,52 @@ +/* + * 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 + +using AlibabaCloud::Acm::Model::UpdateNamespaceRequest; + +UpdateNamespaceRequest::UpdateNamespaceRequest() : + RoaServiceRequest("acm", "2020-02-06") +{ + setResourcePath("/diamond-ops/pop/namespace"); + setMethod(HttpRequest::Method::Put); +} + +UpdateNamespaceRequest::~UpdateNamespaceRequest() +{} + +std::string UpdateNamespaceRequest::getNamespaceName()const +{ + return namespaceName_; +} + +void UpdateNamespaceRequest::setNamespaceName(const std::string& namespaceName) +{ + namespaceName_ = namespaceName; + setBodyParameter("NamespaceName", namespaceName); +} + +std::string UpdateNamespaceRequest::getNamespaceId()const +{ + return namespaceId_; +} + +void UpdateNamespaceRequest::setNamespaceId(const std::string& namespaceId) +{ + namespaceId_ = namespaceId; + setBodyParameter("NamespaceId", namespaceId); +} + diff --git a/acm/src/model/UpdateNamespaceResult.cc b/acm/src/model/UpdateNamespaceResult.cc new file mode 100644 index 000000000..0772266aa --- /dev/null +++ b/acm/src/model/UpdateNamespaceResult.cc @@ -0,0 +1,58 @@ +/* + * 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 +#include + +using namespace AlibabaCloud::Acm; +using namespace AlibabaCloud::Acm::Model; + +UpdateNamespaceResult::UpdateNamespaceResult() : + ServiceResult() +{} + +UpdateNamespaceResult::UpdateNamespaceResult(const std::string &payload) : + ServiceResult() +{ + parse(payload); +} + +UpdateNamespaceResult::~UpdateNamespaceResult() +{} + +void UpdateNamespaceResult::parse(const std::string &payload) +{ + Json::Reader reader; + Json::Value value; + reader.parse(payload, value); + setRequestId(value["RequestId"].asString()); + if(!value["Code"].isNull()) + code_ = value["Code"].asString(); + if(!value["Message"].isNull()) + message_ = value["Message"].asString(); + +} + +std::string UpdateNamespaceResult::getMessage()const +{ + return message_; +} + +std::string UpdateNamespaceResult::getCode()const +{ + return code_; +} +