1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #pragma once 7 #include <aws/appmesh/AppMesh_EXPORTS.h> 8 #include <aws/appmesh/AppMeshErrors.h> 9 #include <aws/core/client/AWSError.h> 10 #include <aws/core/client/ClientConfiguration.h> 11 #include <aws/core/client/AWSClient.h> 12 #include <aws/core/utils/memory/stl/AWSString.h> 13 #include <aws/core/utils/json/JsonSerializer.h> 14 #include <aws/appmesh/model/CreateGatewayRouteResult.h> 15 #include <aws/appmesh/model/CreateMeshResult.h> 16 #include <aws/appmesh/model/CreateRouteResult.h> 17 #include <aws/appmesh/model/CreateVirtualGatewayResult.h> 18 #include <aws/appmesh/model/CreateVirtualNodeResult.h> 19 #include <aws/appmesh/model/CreateVirtualRouterResult.h> 20 #include <aws/appmesh/model/CreateVirtualServiceResult.h> 21 #include <aws/appmesh/model/DeleteGatewayRouteResult.h> 22 #include <aws/appmesh/model/DeleteMeshResult.h> 23 #include <aws/appmesh/model/DeleteRouteResult.h> 24 #include <aws/appmesh/model/DeleteVirtualGatewayResult.h> 25 #include <aws/appmesh/model/DeleteVirtualNodeResult.h> 26 #include <aws/appmesh/model/DeleteVirtualRouterResult.h> 27 #include <aws/appmesh/model/DeleteVirtualServiceResult.h> 28 #include <aws/appmesh/model/DescribeGatewayRouteResult.h> 29 #include <aws/appmesh/model/DescribeMeshResult.h> 30 #include <aws/appmesh/model/DescribeRouteResult.h> 31 #include <aws/appmesh/model/DescribeVirtualGatewayResult.h> 32 #include <aws/appmesh/model/DescribeVirtualNodeResult.h> 33 #include <aws/appmesh/model/DescribeVirtualRouterResult.h> 34 #include <aws/appmesh/model/DescribeVirtualServiceResult.h> 35 #include <aws/appmesh/model/ListGatewayRoutesResult.h> 36 #include <aws/appmesh/model/ListMeshesResult.h> 37 #include <aws/appmesh/model/ListRoutesResult.h> 38 #include <aws/appmesh/model/ListTagsForResourceResult.h> 39 #include <aws/appmesh/model/ListVirtualGatewaysResult.h> 40 #include <aws/appmesh/model/ListVirtualNodesResult.h> 41 #include <aws/appmesh/model/ListVirtualRoutersResult.h> 42 #include <aws/appmesh/model/ListVirtualServicesResult.h> 43 #include <aws/appmesh/model/TagResourceResult.h> 44 #include <aws/appmesh/model/UntagResourceResult.h> 45 #include <aws/appmesh/model/UpdateGatewayRouteResult.h> 46 #include <aws/appmesh/model/UpdateMeshResult.h> 47 #include <aws/appmesh/model/UpdateRouteResult.h> 48 #include <aws/appmesh/model/UpdateVirtualGatewayResult.h> 49 #include <aws/appmesh/model/UpdateVirtualNodeResult.h> 50 #include <aws/appmesh/model/UpdateVirtualRouterResult.h> 51 #include <aws/appmesh/model/UpdateVirtualServiceResult.h> 52 #include <aws/core/client/AsyncCallerContext.h> 53 #include <aws/core/http/HttpTypes.h> 54 #include <future> 55 #include <functional> 56 57 namespace Aws 58 { 59 60 namespace Http 61 { 62 class HttpClient; 63 class HttpClientFactory; 64 } // namespace Http 65 66 namespace Utils 67 { 68 template< typename R, typename E> class Outcome; 69 namespace Threading 70 { 71 class Executor; 72 } // namespace Threading 73 } // namespace Utils 74 75 namespace Auth 76 { 77 class AWSCredentials; 78 class AWSCredentialsProvider; 79 } // namespace Auth 80 81 namespace Client 82 { 83 class RetryStrategy; 84 } // namespace Client 85 86 namespace AppMesh 87 { 88 89 namespace Model 90 { 91 class CreateGatewayRouteRequest; 92 class CreateMeshRequest; 93 class CreateRouteRequest; 94 class CreateVirtualGatewayRequest; 95 class CreateVirtualNodeRequest; 96 class CreateVirtualRouterRequest; 97 class CreateVirtualServiceRequest; 98 class DeleteGatewayRouteRequest; 99 class DeleteMeshRequest; 100 class DeleteRouteRequest; 101 class DeleteVirtualGatewayRequest; 102 class DeleteVirtualNodeRequest; 103 class DeleteVirtualRouterRequest; 104 class DeleteVirtualServiceRequest; 105 class DescribeGatewayRouteRequest; 106 class DescribeMeshRequest; 107 class DescribeRouteRequest; 108 class DescribeVirtualGatewayRequest; 109 class DescribeVirtualNodeRequest; 110 class DescribeVirtualRouterRequest; 111 class DescribeVirtualServiceRequest; 112 class ListGatewayRoutesRequest; 113 class ListMeshesRequest; 114 class ListRoutesRequest; 115 class ListTagsForResourceRequest; 116 class ListVirtualGatewaysRequest; 117 class ListVirtualNodesRequest; 118 class ListVirtualRoutersRequest; 119 class ListVirtualServicesRequest; 120 class TagResourceRequest; 121 class UntagResourceRequest; 122 class UpdateGatewayRouteRequest; 123 class UpdateMeshRequest; 124 class UpdateRouteRequest; 125 class UpdateVirtualGatewayRequest; 126 class UpdateVirtualNodeRequest; 127 class UpdateVirtualRouterRequest; 128 class UpdateVirtualServiceRequest; 129 130 typedef Aws::Utils::Outcome<CreateGatewayRouteResult, AppMeshError> CreateGatewayRouteOutcome; 131 typedef Aws::Utils::Outcome<CreateMeshResult, AppMeshError> CreateMeshOutcome; 132 typedef Aws::Utils::Outcome<CreateRouteResult, AppMeshError> CreateRouteOutcome; 133 typedef Aws::Utils::Outcome<CreateVirtualGatewayResult, AppMeshError> CreateVirtualGatewayOutcome; 134 typedef Aws::Utils::Outcome<CreateVirtualNodeResult, AppMeshError> CreateVirtualNodeOutcome; 135 typedef Aws::Utils::Outcome<CreateVirtualRouterResult, AppMeshError> CreateVirtualRouterOutcome; 136 typedef Aws::Utils::Outcome<CreateVirtualServiceResult, AppMeshError> CreateVirtualServiceOutcome; 137 typedef Aws::Utils::Outcome<DeleteGatewayRouteResult, AppMeshError> DeleteGatewayRouteOutcome; 138 typedef Aws::Utils::Outcome<DeleteMeshResult, AppMeshError> DeleteMeshOutcome; 139 typedef Aws::Utils::Outcome<DeleteRouteResult, AppMeshError> DeleteRouteOutcome; 140 typedef Aws::Utils::Outcome<DeleteVirtualGatewayResult, AppMeshError> DeleteVirtualGatewayOutcome; 141 typedef Aws::Utils::Outcome<DeleteVirtualNodeResult, AppMeshError> DeleteVirtualNodeOutcome; 142 typedef Aws::Utils::Outcome<DeleteVirtualRouterResult, AppMeshError> DeleteVirtualRouterOutcome; 143 typedef Aws::Utils::Outcome<DeleteVirtualServiceResult, AppMeshError> DeleteVirtualServiceOutcome; 144 typedef Aws::Utils::Outcome<DescribeGatewayRouteResult, AppMeshError> DescribeGatewayRouteOutcome; 145 typedef Aws::Utils::Outcome<DescribeMeshResult, AppMeshError> DescribeMeshOutcome; 146 typedef Aws::Utils::Outcome<DescribeRouteResult, AppMeshError> DescribeRouteOutcome; 147 typedef Aws::Utils::Outcome<DescribeVirtualGatewayResult, AppMeshError> DescribeVirtualGatewayOutcome; 148 typedef Aws::Utils::Outcome<DescribeVirtualNodeResult, AppMeshError> DescribeVirtualNodeOutcome; 149 typedef Aws::Utils::Outcome<DescribeVirtualRouterResult, AppMeshError> DescribeVirtualRouterOutcome; 150 typedef Aws::Utils::Outcome<DescribeVirtualServiceResult, AppMeshError> DescribeVirtualServiceOutcome; 151 typedef Aws::Utils::Outcome<ListGatewayRoutesResult, AppMeshError> ListGatewayRoutesOutcome; 152 typedef Aws::Utils::Outcome<ListMeshesResult, AppMeshError> ListMeshesOutcome; 153 typedef Aws::Utils::Outcome<ListRoutesResult, AppMeshError> ListRoutesOutcome; 154 typedef Aws::Utils::Outcome<ListTagsForResourceResult, AppMeshError> ListTagsForResourceOutcome; 155 typedef Aws::Utils::Outcome<ListVirtualGatewaysResult, AppMeshError> ListVirtualGatewaysOutcome; 156 typedef Aws::Utils::Outcome<ListVirtualNodesResult, AppMeshError> ListVirtualNodesOutcome; 157 typedef Aws::Utils::Outcome<ListVirtualRoutersResult, AppMeshError> ListVirtualRoutersOutcome; 158 typedef Aws::Utils::Outcome<ListVirtualServicesResult, AppMeshError> ListVirtualServicesOutcome; 159 typedef Aws::Utils::Outcome<TagResourceResult, AppMeshError> TagResourceOutcome; 160 typedef Aws::Utils::Outcome<UntagResourceResult, AppMeshError> UntagResourceOutcome; 161 typedef Aws::Utils::Outcome<UpdateGatewayRouteResult, AppMeshError> UpdateGatewayRouteOutcome; 162 typedef Aws::Utils::Outcome<UpdateMeshResult, AppMeshError> UpdateMeshOutcome; 163 typedef Aws::Utils::Outcome<UpdateRouteResult, AppMeshError> UpdateRouteOutcome; 164 typedef Aws::Utils::Outcome<UpdateVirtualGatewayResult, AppMeshError> UpdateVirtualGatewayOutcome; 165 typedef Aws::Utils::Outcome<UpdateVirtualNodeResult, AppMeshError> UpdateVirtualNodeOutcome; 166 typedef Aws::Utils::Outcome<UpdateVirtualRouterResult, AppMeshError> UpdateVirtualRouterOutcome; 167 typedef Aws::Utils::Outcome<UpdateVirtualServiceResult, AppMeshError> UpdateVirtualServiceOutcome; 168 169 typedef std::future<CreateGatewayRouteOutcome> CreateGatewayRouteOutcomeCallable; 170 typedef std::future<CreateMeshOutcome> CreateMeshOutcomeCallable; 171 typedef std::future<CreateRouteOutcome> CreateRouteOutcomeCallable; 172 typedef std::future<CreateVirtualGatewayOutcome> CreateVirtualGatewayOutcomeCallable; 173 typedef std::future<CreateVirtualNodeOutcome> CreateVirtualNodeOutcomeCallable; 174 typedef std::future<CreateVirtualRouterOutcome> CreateVirtualRouterOutcomeCallable; 175 typedef std::future<CreateVirtualServiceOutcome> CreateVirtualServiceOutcomeCallable; 176 typedef std::future<DeleteGatewayRouteOutcome> DeleteGatewayRouteOutcomeCallable; 177 typedef std::future<DeleteMeshOutcome> DeleteMeshOutcomeCallable; 178 typedef std::future<DeleteRouteOutcome> DeleteRouteOutcomeCallable; 179 typedef std::future<DeleteVirtualGatewayOutcome> DeleteVirtualGatewayOutcomeCallable; 180 typedef std::future<DeleteVirtualNodeOutcome> DeleteVirtualNodeOutcomeCallable; 181 typedef std::future<DeleteVirtualRouterOutcome> DeleteVirtualRouterOutcomeCallable; 182 typedef std::future<DeleteVirtualServiceOutcome> DeleteVirtualServiceOutcomeCallable; 183 typedef std::future<DescribeGatewayRouteOutcome> DescribeGatewayRouteOutcomeCallable; 184 typedef std::future<DescribeMeshOutcome> DescribeMeshOutcomeCallable; 185 typedef std::future<DescribeRouteOutcome> DescribeRouteOutcomeCallable; 186 typedef std::future<DescribeVirtualGatewayOutcome> DescribeVirtualGatewayOutcomeCallable; 187 typedef std::future<DescribeVirtualNodeOutcome> DescribeVirtualNodeOutcomeCallable; 188 typedef std::future<DescribeVirtualRouterOutcome> DescribeVirtualRouterOutcomeCallable; 189 typedef std::future<DescribeVirtualServiceOutcome> DescribeVirtualServiceOutcomeCallable; 190 typedef std::future<ListGatewayRoutesOutcome> ListGatewayRoutesOutcomeCallable; 191 typedef std::future<ListMeshesOutcome> ListMeshesOutcomeCallable; 192 typedef std::future<ListRoutesOutcome> ListRoutesOutcomeCallable; 193 typedef std::future<ListTagsForResourceOutcome> ListTagsForResourceOutcomeCallable; 194 typedef std::future<ListVirtualGatewaysOutcome> ListVirtualGatewaysOutcomeCallable; 195 typedef std::future<ListVirtualNodesOutcome> ListVirtualNodesOutcomeCallable; 196 typedef std::future<ListVirtualRoutersOutcome> ListVirtualRoutersOutcomeCallable; 197 typedef std::future<ListVirtualServicesOutcome> ListVirtualServicesOutcomeCallable; 198 typedef std::future<TagResourceOutcome> TagResourceOutcomeCallable; 199 typedef std::future<UntagResourceOutcome> UntagResourceOutcomeCallable; 200 typedef std::future<UpdateGatewayRouteOutcome> UpdateGatewayRouteOutcomeCallable; 201 typedef std::future<UpdateMeshOutcome> UpdateMeshOutcomeCallable; 202 typedef std::future<UpdateRouteOutcome> UpdateRouteOutcomeCallable; 203 typedef std::future<UpdateVirtualGatewayOutcome> UpdateVirtualGatewayOutcomeCallable; 204 typedef std::future<UpdateVirtualNodeOutcome> UpdateVirtualNodeOutcomeCallable; 205 typedef std::future<UpdateVirtualRouterOutcome> UpdateVirtualRouterOutcomeCallable; 206 typedef std::future<UpdateVirtualServiceOutcome> UpdateVirtualServiceOutcomeCallable; 207 } // namespace Model 208 209 class AppMeshClient; 210 211 typedef std::function<void(const AppMeshClient*, const Model::CreateGatewayRouteRequest&, const Model::CreateGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateGatewayRouteResponseReceivedHandler; 212 typedef std::function<void(const AppMeshClient*, const Model::CreateMeshRequest&, const Model::CreateMeshOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateMeshResponseReceivedHandler; 213 typedef std::function<void(const AppMeshClient*, const Model::CreateRouteRequest&, const Model::CreateRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateRouteResponseReceivedHandler; 214 typedef std::function<void(const AppMeshClient*, const Model::CreateVirtualGatewayRequest&, const Model::CreateVirtualGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVirtualGatewayResponseReceivedHandler; 215 typedef std::function<void(const AppMeshClient*, const Model::CreateVirtualNodeRequest&, const Model::CreateVirtualNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVirtualNodeResponseReceivedHandler; 216 typedef std::function<void(const AppMeshClient*, const Model::CreateVirtualRouterRequest&, const Model::CreateVirtualRouterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVirtualRouterResponseReceivedHandler; 217 typedef std::function<void(const AppMeshClient*, const Model::CreateVirtualServiceRequest&, const Model::CreateVirtualServiceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > CreateVirtualServiceResponseReceivedHandler; 218 typedef std::function<void(const AppMeshClient*, const Model::DeleteGatewayRouteRequest&, const Model::DeleteGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteGatewayRouteResponseReceivedHandler; 219 typedef std::function<void(const AppMeshClient*, const Model::DeleteMeshRequest&, const Model::DeleteMeshOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteMeshResponseReceivedHandler; 220 typedef std::function<void(const AppMeshClient*, const Model::DeleteRouteRequest&, const Model::DeleteRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteRouteResponseReceivedHandler; 221 typedef std::function<void(const AppMeshClient*, const Model::DeleteVirtualGatewayRequest&, const Model::DeleteVirtualGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVirtualGatewayResponseReceivedHandler; 222 typedef std::function<void(const AppMeshClient*, const Model::DeleteVirtualNodeRequest&, const Model::DeleteVirtualNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVirtualNodeResponseReceivedHandler; 223 typedef std::function<void(const AppMeshClient*, const Model::DeleteVirtualRouterRequest&, const Model::DeleteVirtualRouterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVirtualRouterResponseReceivedHandler; 224 typedef std::function<void(const AppMeshClient*, const Model::DeleteVirtualServiceRequest&, const Model::DeleteVirtualServiceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DeleteVirtualServiceResponseReceivedHandler; 225 typedef std::function<void(const AppMeshClient*, const Model::DescribeGatewayRouteRequest&, const Model::DescribeGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeGatewayRouteResponseReceivedHandler; 226 typedef std::function<void(const AppMeshClient*, const Model::DescribeMeshRequest&, const Model::DescribeMeshOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeMeshResponseReceivedHandler; 227 typedef std::function<void(const AppMeshClient*, const Model::DescribeRouteRequest&, const Model::DescribeRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeRouteResponseReceivedHandler; 228 typedef std::function<void(const AppMeshClient*, const Model::DescribeVirtualGatewayRequest&, const Model::DescribeVirtualGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVirtualGatewayResponseReceivedHandler; 229 typedef std::function<void(const AppMeshClient*, const Model::DescribeVirtualNodeRequest&, const Model::DescribeVirtualNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVirtualNodeResponseReceivedHandler; 230 typedef std::function<void(const AppMeshClient*, const Model::DescribeVirtualRouterRequest&, const Model::DescribeVirtualRouterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVirtualRouterResponseReceivedHandler; 231 typedef std::function<void(const AppMeshClient*, const Model::DescribeVirtualServiceRequest&, const Model::DescribeVirtualServiceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > DescribeVirtualServiceResponseReceivedHandler; 232 typedef std::function<void(const AppMeshClient*, const Model::ListGatewayRoutesRequest&, const Model::ListGatewayRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListGatewayRoutesResponseReceivedHandler; 233 typedef std::function<void(const AppMeshClient*, const Model::ListMeshesRequest&, const Model::ListMeshesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListMeshesResponseReceivedHandler; 234 typedef std::function<void(const AppMeshClient*, const Model::ListRoutesRequest&, const Model::ListRoutesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListRoutesResponseReceivedHandler; 235 typedef std::function<void(const AppMeshClient*, const Model::ListTagsForResourceRequest&, const Model::ListTagsForResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListTagsForResourceResponseReceivedHandler; 236 typedef std::function<void(const AppMeshClient*, const Model::ListVirtualGatewaysRequest&, const Model::ListVirtualGatewaysOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListVirtualGatewaysResponseReceivedHandler; 237 typedef std::function<void(const AppMeshClient*, const Model::ListVirtualNodesRequest&, const Model::ListVirtualNodesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListVirtualNodesResponseReceivedHandler; 238 typedef std::function<void(const AppMeshClient*, const Model::ListVirtualRoutersRequest&, const Model::ListVirtualRoutersOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListVirtualRoutersResponseReceivedHandler; 239 typedef std::function<void(const AppMeshClient*, const Model::ListVirtualServicesRequest&, const Model::ListVirtualServicesOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > ListVirtualServicesResponseReceivedHandler; 240 typedef std::function<void(const AppMeshClient*, const Model::TagResourceRequest&, const Model::TagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > TagResourceResponseReceivedHandler; 241 typedef std::function<void(const AppMeshClient*, const Model::UntagResourceRequest&, const Model::UntagResourceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UntagResourceResponseReceivedHandler; 242 typedef std::function<void(const AppMeshClient*, const Model::UpdateGatewayRouteRequest&, const Model::UpdateGatewayRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateGatewayRouteResponseReceivedHandler; 243 typedef std::function<void(const AppMeshClient*, const Model::UpdateMeshRequest&, const Model::UpdateMeshOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateMeshResponseReceivedHandler; 244 typedef std::function<void(const AppMeshClient*, const Model::UpdateRouteRequest&, const Model::UpdateRouteOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateRouteResponseReceivedHandler; 245 typedef std::function<void(const AppMeshClient*, const Model::UpdateVirtualGatewayRequest&, const Model::UpdateVirtualGatewayOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVirtualGatewayResponseReceivedHandler; 246 typedef std::function<void(const AppMeshClient*, const Model::UpdateVirtualNodeRequest&, const Model::UpdateVirtualNodeOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVirtualNodeResponseReceivedHandler; 247 typedef std::function<void(const AppMeshClient*, const Model::UpdateVirtualRouterRequest&, const Model::UpdateVirtualRouterOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVirtualRouterResponseReceivedHandler; 248 typedef std::function<void(const AppMeshClient*, const Model::UpdateVirtualServiceRequest&, const Model::UpdateVirtualServiceOutcome&, const std::shared_ptr<const Aws::Client::AsyncCallerContext>&) > UpdateVirtualServiceResponseReceivedHandler; 249 250 /** 251 * <p>App Mesh is a service mesh based on the Envoy proxy that makes it easy to 252 * monitor and control microservices. App Mesh standardizes how your microservices 253 * communicate, giving you end-to-end visibility and helping to ensure high 254 * availability for your applications.</p> <p>App Mesh gives you consistent 255 * visibility and network traffic controls for every microservice in an 256 * application. You can use App Mesh with Amazon Web Services Fargate, Amazon ECS, 257 * Amazon EKS, Kubernetes on Amazon Web Services, and Amazon EC2.</p> <p>App 258 * Mesh supports microservice applications that use service discovery naming for 259 * their components. For more information about service discovery on Amazon ECS, 260 * see <a 261 * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html">Service 262 * Discovery</a> in the <i>Amazon Elastic Container Service Developer Guide</i>. 263 * Kubernetes <code>kube-dns</code> and <code>coredns</code> are supported. For 264 * more information, see <a 265 * href="https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/">DNS 266 * for Services and Pods</a> in the Kubernetes documentation.</p> 267 */ 268 class AWS_APPMESH_API AppMeshClient : public Aws::Client::AWSJsonClient 269 { 270 public: 271 typedef Aws::Client::AWSJsonClient BASECLASS; 272 273 /** 274 * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config 275 * is not specified, it will be initialized to default values. 276 */ 277 AppMeshClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 278 279 /** 280 * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config 281 * is not specified, it will be initialized to default values. 282 */ 283 AppMeshClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 284 285 /** 286 * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, 287 * the default http client factory will be used 288 */ 289 AppMeshClient(const std::shared_ptr<Aws::Auth::AWSCredentialsProvider>& credentialsProvider, 290 const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); 291 292 virtual ~AppMeshClient(); 293 294 295 /** 296 * <p>Creates a gateway route.</p> <p>A gateway route is attached to a virtual 297 * gateway and routes traffic to an existing virtual service. If a route matches a 298 * request, it can distribute traffic to a target virtual service.</p> <p>For more 299 * information about gateway routes, see <a 300 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html">Gateway 301 * routes</a>.</p><p><h3>See Also:</h3> <a 302 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute">AWS 303 * API Reference</a></p> 304 */ 305 virtual Model::CreateGatewayRouteOutcome CreateGatewayRoute(const Model::CreateGatewayRouteRequest& request) const; 306 307 /** 308 * <p>Creates a gateway route.</p> <p>A gateway route is attached to a virtual 309 * gateway and routes traffic to an existing virtual service. If a route matches a 310 * request, it can distribute traffic to a target virtual service.</p> <p>For more 311 * information about gateway routes, see <a 312 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html">Gateway 313 * routes</a>.</p><p><h3>See Also:</h3> <a 314 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute">AWS 315 * API Reference</a></p> 316 * 317 * returns a future to the operation so that it can be executed in parallel to other requests. 318 */ 319 virtual Model::CreateGatewayRouteOutcomeCallable CreateGatewayRouteCallable(const Model::CreateGatewayRouteRequest& request) const; 320 321 /** 322 * <p>Creates a gateway route.</p> <p>A gateway route is attached to a virtual 323 * gateway and routes traffic to an existing virtual service. If a route matches a 324 * request, it can distribute traffic to a target virtual service.</p> <p>For more 325 * information about gateway routes, see <a 326 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html">Gateway 327 * routes</a>.</p><p><h3>See Also:</h3> <a 328 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute">AWS 329 * API Reference</a></p> 330 * 331 * Queues the request into a thread executor and triggers associated callback when operation has finished. 332 */ 333 virtual void CreateGatewayRouteAsync(const Model::CreateGatewayRouteRequest& request, const CreateGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 334 335 /** 336 * <p>Creates a service mesh.</p> <p> A service mesh is a logical boundary for 337 * network traffic between services that are represented by resources within the 338 * mesh. After you create your service mesh, you can create virtual services, 339 * virtual nodes, virtual routers, and routes to distribute traffic between the 340 * applications in your mesh.</p> <p>For more information about service meshes, see 341 * <a 342 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html">Service 343 * meshes</a>.</p><p><h3>See Also:</h3> <a 344 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh">AWS 345 * API Reference</a></p> 346 */ 347 virtual Model::CreateMeshOutcome CreateMesh(const Model::CreateMeshRequest& request) const; 348 349 /** 350 * <p>Creates a service mesh.</p> <p> A service mesh is a logical boundary for 351 * network traffic between services that are represented by resources within the 352 * mesh. After you create your service mesh, you can create virtual services, 353 * virtual nodes, virtual routers, and routes to distribute traffic between the 354 * applications in your mesh.</p> <p>For more information about service meshes, see 355 * <a 356 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html">Service 357 * meshes</a>.</p><p><h3>See Also:</h3> <a 358 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh">AWS 359 * API Reference</a></p> 360 * 361 * returns a future to the operation so that it can be executed in parallel to other requests. 362 */ 363 virtual Model::CreateMeshOutcomeCallable CreateMeshCallable(const Model::CreateMeshRequest& request) const; 364 365 /** 366 * <p>Creates a service mesh.</p> <p> A service mesh is a logical boundary for 367 * network traffic between services that are represented by resources within the 368 * mesh. After you create your service mesh, you can create virtual services, 369 * virtual nodes, virtual routers, and routes to distribute traffic between the 370 * applications in your mesh.</p> <p>For more information about service meshes, see 371 * <a 372 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html">Service 373 * meshes</a>.</p><p><h3>See Also:</h3> <a 374 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh">AWS 375 * API Reference</a></p> 376 * 377 * Queues the request into a thread executor and triggers associated callback when operation has finished. 378 */ 379 virtual void CreateMeshAsync(const Model::CreateMeshRequest& request, const CreateMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 380 381 /** 382 * <p>Creates a route that is associated with a virtual router.</p> <p> You can 383 * route several different protocols and define a retry policy for a route. Traffic 384 * can be routed to one or more virtual nodes.</p> <p>For more information about 385 * routes, see <a 386 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html">Routes</a>.</p><p><h3>See 387 * Also:</h3> <a 388 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute">AWS 389 * API Reference</a></p> 390 */ 391 virtual Model::CreateRouteOutcome CreateRoute(const Model::CreateRouteRequest& request) const; 392 393 /** 394 * <p>Creates a route that is associated with a virtual router.</p> <p> You can 395 * route several different protocols and define a retry policy for a route. Traffic 396 * can be routed to one or more virtual nodes.</p> <p>For more information about 397 * routes, see <a 398 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html">Routes</a>.</p><p><h3>See 399 * Also:</h3> <a 400 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute">AWS 401 * API Reference</a></p> 402 * 403 * returns a future to the operation so that it can be executed in parallel to other requests. 404 */ 405 virtual Model::CreateRouteOutcomeCallable CreateRouteCallable(const Model::CreateRouteRequest& request) const; 406 407 /** 408 * <p>Creates a route that is associated with a virtual router.</p> <p> You can 409 * route several different protocols and define a retry policy for a route. Traffic 410 * can be routed to one or more virtual nodes.</p> <p>For more information about 411 * routes, see <a 412 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html">Routes</a>.</p><p><h3>See 413 * Also:</h3> <a 414 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute">AWS 415 * API Reference</a></p> 416 * 417 * Queues the request into a thread executor and triggers associated callback when operation has finished. 418 */ 419 virtual void CreateRouteAsync(const Model::CreateRouteRequest& request, const CreateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 420 421 /** 422 * <p>Creates a virtual gateway.</p> <p>A virtual gateway allows resources outside 423 * your mesh to communicate to resources that are inside your mesh. The virtual 424 * gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes 425 * service, or on an Amazon EC2 instance. Unlike a virtual node, which represents 426 * an Envoy running with an application, a virtual gateway represents Envoy 427 * deployed by itself.</p> <p>For more information about virtual gateways, see <a 428 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html">Virtual 429 * gateways</a>. </p><p><h3>See Also:</h3> <a 430 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway">AWS 431 * API Reference</a></p> 432 */ 433 virtual Model::CreateVirtualGatewayOutcome CreateVirtualGateway(const Model::CreateVirtualGatewayRequest& request) const; 434 435 /** 436 * <p>Creates a virtual gateway.</p> <p>A virtual gateway allows resources outside 437 * your mesh to communicate to resources that are inside your mesh. The virtual 438 * gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes 439 * service, or on an Amazon EC2 instance. Unlike a virtual node, which represents 440 * an Envoy running with an application, a virtual gateway represents Envoy 441 * deployed by itself.</p> <p>For more information about virtual gateways, see <a 442 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html">Virtual 443 * gateways</a>. </p><p><h3>See Also:</h3> <a 444 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway">AWS 445 * API Reference</a></p> 446 * 447 * returns a future to the operation so that it can be executed in parallel to other requests. 448 */ 449 virtual Model::CreateVirtualGatewayOutcomeCallable CreateVirtualGatewayCallable(const Model::CreateVirtualGatewayRequest& request) const; 450 451 /** 452 * <p>Creates a virtual gateway.</p> <p>A virtual gateway allows resources outside 453 * your mesh to communicate to resources that are inside your mesh. The virtual 454 * gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes 455 * service, or on an Amazon EC2 instance. Unlike a virtual node, which represents 456 * an Envoy running with an application, a virtual gateway represents Envoy 457 * deployed by itself.</p> <p>For more information about virtual gateways, see <a 458 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html">Virtual 459 * gateways</a>. </p><p><h3>See Also:</h3> <a 460 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway">AWS 461 * API Reference</a></p> 462 * 463 * Queues the request into a thread executor and triggers associated callback when operation has finished. 464 */ 465 virtual void CreateVirtualGatewayAsync(const Model::CreateVirtualGatewayRequest& request, const CreateVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 466 467 /** 468 * <p>Creates a virtual node within a service mesh.</p> <p> A virtual node acts as 469 * a logical pointer to a particular task group, such as an Amazon ECS service or a 470 * Kubernetes deployment. When you create a virtual node, you can specify the 471 * service discovery information for your task group, and whether the proxy running 472 * in a task group will communicate with other proxies using Transport Layer 473 * Security (TLS).</p> <p>You define a <code>listener</code> for any inbound 474 * traffic that your virtual node expects. Any virtual service that your virtual 475 * node expects to communicate to is specified as a <code>backend</code>.</p> 476 * <p>The response metadata for your new virtual node contains the <code>arn</code> 477 * that is associated with the virtual node. Set this value to the full ARN; for 478 * example, 479 * <code>arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp</code>) 480 * as the <code>APPMESH_RESOURCE_ARN</code> environment variable for your task 481 * group's Envoy proxy container in your task definition or pod spec. This is then 482 * mapped to the <code>node.id</code> and <code>node.cluster</code> Envoy 483 * parameters.</p> <p>By default, App Mesh uses the name of the resource you 484 * specified in <code>APPMESH_RESOURCE_ARN</code> when Envoy is referring to itself 485 * in metrics and traces. You can override this behavior by setting the 486 * <code>APPMESH_RESOURCE_CLUSTER</code> environment variable with your own 487 * name.</p> <p>For more information about virtual nodes, see <a 488 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html">Virtual 489 * nodes</a>. You must be using <code>1.15.0</code> or later of the Envoy image 490 * when setting these variables. For more information aboutApp Mesh Envoy 491 * variables, see <a 492 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html">Envoy 493 * image</a> in the AWS App Mesh User Guide.</p><p><h3>See Also:</h3> <a 494 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode">AWS 495 * API Reference</a></p> 496 */ 497 virtual Model::CreateVirtualNodeOutcome CreateVirtualNode(const Model::CreateVirtualNodeRequest& request) const; 498 499 /** 500 * <p>Creates a virtual node within a service mesh.</p> <p> A virtual node acts as 501 * a logical pointer to a particular task group, such as an Amazon ECS service or a 502 * Kubernetes deployment. When you create a virtual node, you can specify the 503 * service discovery information for your task group, and whether the proxy running 504 * in a task group will communicate with other proxies using Transport Layer 505 * Security (TLS).</p> <p>You define a <code>listener</code> for any inbound 506 * traffic that your virtual node expects. Any virtual service that your virtual 507 * node expects to communicate to is specified as a <code>backend</code>.</p> 508 * <p>The response metadata for your new virtual node contains the <code>arn</code> 509 * that is associated with the virtual node. Set this value to the full ARN; for 510 * example, 511 * <code>arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp</code>) 512 * as the <code>APPMESH_RESOURCE_ARN</code> environment variable for your task 513 * group's Envoy proxy container in your task definition or pod spec. This is then 514 * mapped to the <code>node.id</code> and <code>node.cluster</code> Envoy 515 * parameters.</p> <p>By default, App Mesh uses the name of the resource you 516 * specified in <code>APPMESH_RESOURCE_ARN</code> when Envoy is referring to itself 517 * in metrics and traces. You can override this behavior by setting the 518 * <code>APPMESH_RESOURCE_CLUSTER</code> environment variable with your own 519 * name.</p> <p>For more information about virtual nodes, see <a 520 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html">Virtual 521 * nodes</a>. You must be using <code>1.15.0</code> or later of the Envoy image 522 * when setting these variables. For more information aboutApp Mesh Envoy 523 * variables, see <a 524 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html">Envoy 525 * image</a> in the AWS App Mesh User Guide.</p><p><h3>See Also:</h3> <a 526 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode">AWS 527 * API Reference</a></p> 528 * 529 * returns a future to the operation so that it can be executed in parallel to other requests. 530 */ 531 virtual Model::CreateVirtualNodeOutcomeCallable CreateVirtualNodeCallable(const Model::CreateVirtualNodeRequest& request) const; 532 533 /** 534 * <p>Creates a virtual node within a service mesh.</p> <p> A virtual node acts as 535 * a logical pointer to a particular task group, such as an Amazon ECS service or a 536 * Kubernetes deployment. When you create a virtual node, you can specify the 537 * service discovery information for your task group, and whether the proxy running 538 * in a task group will communicate with other proxies using Transport Layer 539 * Security (TLS).</p> <p>You define a <code>listener</code> for any inbound 540 * traffic that your virtual node expects. Any virtual service that your virtual 541 * node expects to communicate to is specified as a <code>backend</code>.</p> 542 * <p>The response metadata for your new virtual node contains the <code>arn</code> 543 * that is associated with the virtual node. Set this value to the full ARN; for 544 * example, 545 * <code>arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp</code>) 546 * as the <code>APPMESH_RESOURCE_ARN</code> environment variable for your task 547 * group's Envoy proxy container in your task definition or pod spec. This is then 548 * mapped to the <code>node.id</code> and <code>node.cluster</code> Envoy 549 * parameters.</p> <p>By default, App Mesh uses the name of the resource you 550 * specified in <code>APPMESH_RESOURCE_ARN</code> when Envoy is referring to itself 551 * in metrics and traces. You can override this behavior by setting the 552 * <code>APPMESH_RESOURCE_CLUSTER</code> environment variable with your own 553 * name.</p> <p>For more information about virtual nodes, see <a 554 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html">Virtual 555 * nodes</a>. You must be using <code>1.15.0</code> or later of the Envoy image 556 * when setting these variables. For more information aboutApp Mesh Envoy 557 * variables, see <a 558 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html">Envoy 559 * image</a> in the AWS App Mesh User Guide.</p><p><h3>See Also:</h3> <a 560 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode">AWS 561 * API Reference</a></p> 562 * 563 * Queues the request into a thread executor and triggers associated callback when operation has finished. 564 */ 565 virtual void CreateVirtualNodeAsync(const Model::CreateVirtualNodeRequest& request, const CreateVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 566 567 /** 568 * <p>Creates a virtual router within a service mesh.</p> <p>Specify a 569 * <code>listener</code> for any inbound traffic that your virtual router receives. 570 * Create a virtual router for each protocol and port that you need to route. 571 * Virtual routers handle traffic for one or more virtual services within your 572 * mesh. After you create your virtual router, create and associate routes for your 573 * virtual router that direct incoming requests to different virtual nodes.</p> 574 * <p>For more information about virtual routers, see <a 575 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html">Virtual 576 * routers</a>.</p><p><h3>See Also:</h3> <a 577 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter">AWS 578 * API Reference</a></p> 579 */ 580 virtual Model::CreateVirtualRouterOutcome CreateVirtualRouter(const Model::CreateVirtualRouterRequest& request) const; 581 582 /** 583 * <p>Creates a virtual router within a service mesh.</p> <p>Specify a 584 * <code>listener</code> for any inbound traffic that your virtual router receives. 585 * Create a virtual router for each protocol and port that you need to route. 586 * Virtual routers handle traffic for one or more virtual services within your 587 * mesh. After you create your virtual router, create and associate routes for your 588 * virtual router that direct incoming requests to different virtual nodes.</p> 589 * <p>For more information about virtual routers, see <a 590 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html">Virtual 591 * routers</a>.</p><p><h3>See Also:</h3> <a 592 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter">AWS 593 * API Reference</a></p> 594 * 595 * returns a future to the operation so that it can be executed in parallel to other requests. 596 */ 597 virtual Model::CreateVirtualRouterOutcomeCallable CreateVirtualRouterCallable(const Model::CreateVirtualRouterRequest& request) const; 598 599 /** 600 * <p>Creates a virtual router within a service mesh.</p> <p>Specify a 601 * <code>listener</code> for any inbound traffic that your virtual router receives. 602 * Create a virtual router for each protocol and port that you need to route. 603 * Virtual routers handle traffic for one or more virtual services within your 604 * mesh. After you create your virtual router, create and associate routes for your 605 * virtual router that direct incoming requests to different virtual nodes.</p> 606 * <p>For more information about virtual routers, see <a 607 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html">Virtual 608 * routers</a>.</p><p><h3>See Also:</h3> <a 609 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter">AWS 610 * API Reference</a></p> 611 * 612 * Queues the request into a thread executor and triggers associated callback when operation has finished. 613 */ 614 virtual void CreateVirtualRouterAsync(const Model::CreateVirtualRouterRequest& request, const CreateVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 615 616 /** 617 * <p>Creates a virtual service within a service mesh.</p> <p>A virtual service is 618 * an abstraction of a real service that is provided by a virtual node directly or 619 * indirectly by means of a virtual router. Dependent services call your virtual 620 * service by its <code>virtualServiceName</code>, and those requests are routed to 621 * the virtual node or virtual router that is specified as the provider for the 622 * virtual service.</p> <p>For more information about virtual services, see <a 623 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html">Virtual 624 * services</a>.</p><p><h3>See Also:</h3> <a 625 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService">AWS 626 * API Reference</a></p> 627 */ 628 virtual Model::CreateVirtualServiceOutcome CreateVirtualService(const Model::CreateVirtualServiceRequest& request) const; 629 630 /** 631 * <p>Creates a virtual service within a service mesh.</p> <p>A virtual service is 632 * an abstraction of a real service that is provided by a virtual node directly or 633 * indirectly by means of a virtual router. Dependent services call your virtual 634 * service by its <code>virtualServiceName</code>, and those requests are routed to 635 * the virtual node or virtual router that is specified as the provider for the 636 * virtual service.</p> <p>For more information about virtual services, see <a 637 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html">Virtual 638 * services</a>.</p><p><h3>See Also:</h3> <a 639 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService">AWS 640 * API Reference</a></p> 641 * 642 * returns a future to the operation so that it can be executed in parallel to other requests. 643 */ 644 virtual Model::CreateVirtualServiceOutcomeCallable CreateVirtualServiceCallable(const Model::CreateVirtualServiceRequest& request) const; 645 646 /** 647 * <p>Creates a virtual service within a service mesh.</p> <p>A virtual service is 648 * an abstraction of a real service that is provided by a virtual node directly or 649 * indirectly by means of a virtual router. Dependent services call your virtual 650 * service by its <code>virtualServiceName</code>, and those requests are routed to 651 * the virtual node or virtual router that is specified as the provider for the 652 * virtual service.</p> <p>For more information about virtual services, see <a 653 * href="https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html">Virtual 654 * services</a>.</p><p><h3>See Also:</h3> <a 655 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService">AWS 656 * API Reference</a></p> 657 * 658 * Queues the request into a thread executor and triggers associated callback when operation has finished. 659 */ 660 virtual void CreateVirtualServiceAsync(const Model::CreateVirtualServiceRequest& request, const CreateVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 661 662 /** 663 * <p>Deletes an existing gateway route.</p><p><h3>See Also:</h3> <a 664 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute">AWS 665 * API Reference</a></p> 666 */ 667 virtual Model::DeleteGatewayRouteOutcome DeleteGatewayRoute(const Model::DeleteGatewayRouteRequest& request) const; 668 669 /** 670 * <p>Deletes an existing gateway route.</p><p><h3>See Also:</h3> <a 671 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute">AWS 672 * API Reference</a></p> 673 * 674 * returns a future to the operation so that it can be executed in parallel to other requests. 675 */ 676 virtual Model::DeleteGatewayRouteOutcomeCallable DeleteGatewayRouteCallable(const Model::DeleteGatewayRouteRequest& request) const; 677 678 /** 679 * <p>Deletes an existing gateway route.</p><p><h3>See Also:</h3> <a 680 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute">AWS 681 * API Reference</a></p> 682 * 683 * Queues the request into a thread executor and triggers associated callback when operation has finished. 684 */ 685 virtual void DeleteGatewayRouteAsync(const Model::DeleteGatewayRouteRequest& request, const DeleteGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 686 687 /** 688 * <p>Deletes an existing service mesh.</p> <p>You must delete all resources 689 * (virtual services, routes, virtual routers, and virtual nodes) in the service 690 * mesh before you can delete the mesh itself.</p><p><h3>See Also:</h3> <a 691 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh">AWS 692 * API Reference</a></p> 693 */ 694 virtual Model::DeleteMeshOutcome DeleteMesh(const Model::DeleteMeshRequest& request) const; 695 696 /** 697 * <p>Deletes an existing service mesh.</p> <p>You must delete all resources 698 * (virtual services, routes, virtual routers, and virtual nodes) in the service 699 * mesh before you can delete the mesh itself.</p><p><h3>See Also:</h3> <a 700 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh">AWS 701 * API Reference</a></p> 702 * 703 * returns a future to the operation so that it can be executed in parallel to other requests. 704 */ 705 virtual Model::DeleteMeshOutcomeCallable DeleteMeshCallable(const Model::DeleteMeshRequest& request) const; 706 707 /** 708 * <p>Deletes an existing service mesh.</p> <p>You must delete all resources 709 * (virtual services, routes, virtual routers, and virtual nodes) in the service 710 * mesh before you can delete the mesh itself.</p><p><h3>See Also:</h3> <a 711 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh">AWS 712 * API Reference</a></p> 713 * 714 * Queues the request into a thread executor and triggers associated callback when operation has finished. 715 */ 716 virtual void DeleteMeshAsync(const Model::DeleteMeshRequest& request, const DeleteMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 717 718 /** 719 * <p>Deletes an existing route.</p><p><h3>See Also:</h3> <a 720 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute">AWS 721 * API Reference</a></p> 722 */ 723 virtual Model::DeleteRouteOutcome DeleteRoute(const Model::DeleteRouteRequest& request) const; 724 725 /** 726 * <p>Deletes an existing route.</p><p><h3>See Also:</h3> <a 727 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute">AWS 728 * API Reference</a></p> 729 * 730 * returns a future to the operation so that it can be executed in parallel to other requests. 731 */ 732 virtual Model::DeleteRouteOutcomeCallable DeleteRouteCallable(const Model::DeleteRouteRequest& request) const; 733 734 /** 735 * <p>Deletes an existing route.</p><p><h3>See Also:</h3> <a 736 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute">AWS 737 * API Reference</a></p> 738 * 739 * Queues the request into a thread executor and triggers associated callback when operation has finished. 740 */ 741 virtual void DeleteRouteAsync(const Model::DeleteRouteRequest& request, const DeleteRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 742 743 /** 744 * <p>Deletes an existing virtual gateway. You cannot delete a virtual gateway if 745 * any gateway routes are associated to it.</p><p><h3>See Also:</h3> <a 746 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway">AWS 747 * API Reference</a></p> 748 */ 749 virtual Model::DeleteVirtualGatewayOutcome DeleteVirtualGateway(const Model::DeleteVirtualGatewayRequest& request) const; 750 751 /** 752 * <p>Deletes an existing virtual gateway. You cannot delete a virtual gateway if 753 * any gateway routes are associated to it.</p><p><h3>See Also:</h3> <a 754 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway">AWS 755 * API Reference</a></p> 756 * 757 * returns a future to the operation so that it can be executed in parallel to other requests. 758 */ 759 virtual Model::DeleteVirtualGatewayOutcomeCallable DeleteVirtualGatewayCallable(const Model::DeleteVirtualGatewayRequest& request) const; 760 761 /** 762 * <p>Deletes an existing virtual gateway. You cannot delete a virtual gateway if 763 * any gateway routes are associated to it.</p><p><h3>See Also:</h3> <a 764 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway">AWS 765 * API Reference</a></p> 766 * 767 * Queues the request into a thread executor and triggers associated callback when operation has finished. 768 */ 769 virtual void DeleteVirtualGatewayAsync(const Model::DeleteVirtualGatewayRequest& request, const DeleteVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 770 771 /** 772 * <p>Deletes an existing virtual node.</p> <p>You must delete any virtual services 773 * that list a virtual node as a service provider before you can delete the virtual 774 * node itself.</p><p><h3>See Also:</h3> <a 775 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode">AWS 776 * API Reference</a></p> 777 */ 778 virtual Model::DeleteVirtualNodeOutcome DeleteVirtualNode(const Model::DeleteVirtualNodeRequest& request) const; 779 780 /** 781 * <p>Deletes an existing virtual node.</p> <p>You must delete any virtual services 782 * that list a virtual node as a service provider before you can delete the virtual 783 * node itself.</p><p><h3>See Also:</h3> <a 784 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode">AWS 785 * API Reference</a></p> 786 * 787 * returns a future to the operation so that it can be executed in parallel to other requests. 788 */ 789 virtual Model::DeleteVirtualNodeOutcomeCallable DeleteVirtualNodeCallable(const Model::DeleteVirtualNodeRequest& request) const; 790 791 /** 792 * <p>Deletes an existing virtual node.</p> <p>You must delete any virtual services 793 * that list a virtual node as a service provider before you can delete the virtual 794 * node itself.</p><p><h3>See Also:</h3> <a 795 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode">AWS 796 * API Reference</a></p> 797 * 798 * Queues the request into a thread executor and triggers associated callback when operation has finished. 799 */ 800 virtual void DeleteVirtualNodeAsync(const Model::DeleteVirtualNodeRequest& request, const DeleteVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 801 802 /** 803 * <p>Deletes an existing virtual router.</p> <p>You must delete any routes 804 * associated with the virtual router before you can delete the router 805 * itself.</p><p><h3>See Also:</h3> <a 806 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter">AWS 807 * API Reference</a></p> 808 */ 809 virtual Model::DeleteVirtualRouterOutcome DeleteVirtualRouter(const Model::DeleteVirtualRouterRequest& request) const; 810 811 /** 812 * <p>Deletes an existing virtual router.</p> <p>You must delete any routes 813 * associated with the virtual router before you can delete the router 814 * itself.</p><p><h3>See Also:</h3> <a 815 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter">AWS 816 * API Reference</a></p> 817 * 818 * returns a future to the operation so that it can be executed in parallel to other requests. 819 */ 820 virtual Model::DeleteVirtualRouterOutcomeCallable DeleteVirtualRouterCallable(const Model::DeleteVirtualRouterRequest& request) const; 821 822 /** 823 * <p>Deletes an existing virtual router.</p> <p>You must delete any routes 824 * associated with the virtual router before you can delete the router 825 * itself.</p><p><h3>See Also:</h3> <a 826 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualRouter">AWS 827 * API Reference</a></p> 828 * 829 * Queues the request into a thread executor and triggers associated callback when operation has finished. 830 */ 831 virtual void DeleteVirtualRouterAsync(const Model::DeleteVirtualRouterRequest& request, const DeleteVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 832 833 /** 834 * <p>Deletes an existing virtual service.</p><p><h3>See Also:</h3> <a 835 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService">AWS 836 * API Reference</a></p> 837 */ 838 virtual Model::DeleteVirtualServiceOutcome DeleteVirtualService(const Model::DeleteVirtualServiceRequest& request) const; 839 840 /** 841 * <p>Deletes an existing virtual service.</p><p><h3>See Also:</h3> <a 842 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService">AWS 843 * API Reference</a></p> 844 * 845 * returns a future to the operation so that it can be executed in parallel to other requests. 846 */ 847 virtual Model::DeleteVirtualServiceOutcomeCallable DeleteVirtualServiceCallable(const Model::DeleteVirtualServiceRequest& request) const; 848 849 /** 850 * <p>Deletes an existing virtual service.</p><p><h3>See Also:</h3> <a 851 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualService">AWS 852 * API Reference</a></p> 853 * 854 * Queues the request into a thread executor and triggers associated callback when operation has finished. 855 */ 856 virtual void DeleteVirtualServiceAsync(const Model::DeleteVirtualServiceRequest& request, const DeleteVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 857 858 /** 859 * <p>Describes an existing gateway route.</p><p><h3>See Also:</h3> <a 860 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute">AWS 861 * API Reference</a></p> 862 */ 863 virtual Model::DescribeGatewayRouteOutcome DescribeGatewayRoute(const Model::DescribeGatewayRouteRequest& request) const; 864 865 /** 866 * <p>Describes an existing gateway route.</p><p><h3>See Also:</h3> <a 867 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute">AWS 868 * API Reference</a></p> 869 * 870 * returns a future to the operation so that it can be executed in parallel to other requests. 871 */ 872 virtual Model::DescribeGatewayRouteOutcomeCallable DescribeGatewayRouteCallable(const Model::DescribeGatewayRouteRequest& request) const; 873 874 /** 875 * <p>Describes an existing gateway route.</p><p><h3>See Also:</h3> <a 876 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeGatewayRoute">AWS 877 * API Reference</a></p> 878 * 879 * Queues the request into a thread executor and triggers associated callback when operation has finished. 880 */ 881 virtual void DescribeGatewayRouteAsync(const Model::DescribeGatewayRouteRequest& request, const DescribeGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 882 883 /** 884 * <p>Describes an existing service mesh.</p><p><h3>See Also:</h3> <a 885 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh">AWS 886 * API Reference</a></p> 887 */ 888 virtual Model::DescribeMeshOutcome DescribeMesh(const Model::DescribeMeshRequest& request) const; 889 890 /** 891 * <p>Describes an existing service mesh.</p><p><h3>See Also:</h3> <a 892 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh">AWS 893 * API Reference</a></p> 894 * 895 * returns a future to the operation so that it can be executed in parallel to other requests. 896 */ 897 virtual Model::DescribeMeshOutcomeCallable DescribeMeshCallable(const Model::DescribeMeshRequest& request) const; 898 899 /** 900 * <p>Describes an existing service mesh.</p><p><h3>See Also:</h3> <a 901 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeMesh">AWS 902 * API Reference</a></p> 903 * 904 * Queues the request into a thread executor and triggers associated callback when operation has finished. 905 */ 906 virtual void DescribeMeshAsync(const Model::DescribeMeshRequest& request, const DescribeMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 907 908 /** 909 * <p>Describes an existing route.</p><p><h3>See Also:</h3> <a 910 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute">AWS 911 * API Reference</a></p> 912 */ 913 virtual Model::DescribeRouteOutcome DescribeRoute(const Model::DescribeRouteRequest& request) const; 914 915 /** 916 * <p>Describes an existing route.</p><p><h3>See Also:</h3> <a 917 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute">AWS 918 * API Reference</a></p> 919 * 920 * returns a future to the operation so that it can be executed in parallel to other requests. 921 */ 922 virtual Model::DescribeRouteOutcomeCallable DescribeRouteCallable(const Model::DescribeRouteRequest& request) const; 923 924 /** 925 * <p>Describes an existing route.</p><p><h3>See Also:</h3> <a 926 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeRoute">AWS 927 * API Reference</a></p> 928 * 929 * Queues the request into a thread executor and triggers associated callback when operation has finished. 930 */ 931 virtual void DescribeRouteAsync(const Model::DescribeRouteRequest& request, const DescribeRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 932 933 /** 934 * <p>Describes an existing virtual gateway.</p><p><h3>See Also:</h3> <a 935 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway">AWS 936 * API Reference</a></p> 937 */ 938 virtual Model::DescribeVirtualGatewayOutcome DescribeVirtualGateway(const Model::DescribeVirtualGatewayRequest& request) const; 939 940 /** 941 * <p>Describes an existing virtual gateway.</p><p><h3>See Also:</h3> <a 942 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway">AWS 943 * API Reference</a></p> 944 * 945 * returns a future to the operation so that it can be executed in parallel to other requests. 946 */ 947 virtual Model::DescribeVirtualGatewayOutcomeCallable DescribeVirtualGatewayCallable(const Model::DescribeVirtualGatewayRequest& request) const; 948 949 /** 950 * <p>Describes an existing virtual gateway.</p><p><h3>See Also:</h3> <a 951 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualGateway">AWS 952 * API Reference</a></p> 953 * 954 * Queues the request into a thread executor and triggers associated callback when operation has finished. 955 */ 956 virtual void DescribeVirtualGatewayAsync(const Model::DescribeVirtualGatewayRequest& request, const DescribeVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 957 958 /** 959 * <p>Describes an existing virtual node.</p><p><h3>See Also:</h3> <a 960 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode">AWS 961 * API Reference</a></p> 962 */ 963 virtual Model::DescribeVirtualNodeOutcome DescribeVirtualNode(const Model::DescribeVirtualNodeRequest& request) const; 964 965 /** 966 * <p>Describes an existing virtual node.</p><p><h3>See Also:</h3> <a 967 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode">AWS 968 * API Reference</a></p> 969 * 970 * returns a future to the operation so that it can be executed in parallel to other requests. 971 */ 972 virtual Model::DescribeVirtualNodeOutcomeCallable DescribeVirtualNodeCallable(const Model::DescribeVirtualNodeRequest& request) const; 973 974 /** 975 * <p>Describes an existing virtual node.</p><p><h3>See Also:</h3> <a 976 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualNode">AWS 977 * API Reference</a></p> 978 * 979 * Queues the request into a thread executor and triggers associated callback when operation has finished. 980 */ 981 virtual void DescribeVirtualNodeAsync(const Model::DescribeVirtualNodeRequest& request, const DescribeVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 982 983 /** 984 * <p>Describes an existing virtual router.</p><p><h3>See Also:</h3> <a 985 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter">AWS 986 * API Reference</a></p> 987 */ 988 virtual Model::DescribeVirtualRouterOutcome DescribeVirtualRouter(const Model::DescribeVirtualRouterRequest& request) const; 989 990 /** 991 * <p>Describes an existing virtual router.</p><p><h3>See Also:</h3> <a 992 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter">AWS 993 * API Reference</a></p> 994 * 995 * returns a future to the operation so that it can be executed in parallel to other requests. 996 */ 997 virtual Model::DescribeVirtualRouterOutcomeCallable DescribeVirtualRouterCallable(const Model::DescribeVirtualRouterRequest& request) const; 998 999 /** 1000 * <p>Describes an existing virtual router.</p><p><h3>See Also:</h3> <a 1001 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualRouter">AWS 1002 * API Reference</a></p> 1003 * 1004 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1005 */ 1006 virtual void DescribeVirtualRouterAsync(const Model::DescribeVirtualRouterRequest& request, const DescribeVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1007 1008 /** 1009 * <p>Describes an existing virtual service.</p><p><h3>See Also:</h3> <a 1010 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService">AWS 1011 * API Reference</a></p> 1012 */ 1013 virtual Model::DescribeVirtualServiceOutcome DescribeVirtualService(const Model::DescribeVirtualServiceRequest& request) const; 1014 1015 /** 1016 * <p>Describes an existing virtual service.</p><p><h3>See Also:</h3> <a 1017 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService">AWS 1018 * API Reference</a></p> 1019 * 1020 * returns a future to the operation so that it can be executed in parallel to other requests. 1021 */ 1022 virtual Model::DescribeVirtualServiceOutcomeCallable DescribeVirtualServiceCallable(const Model::DescribeVirtualServiceRequest& request) const; 1023 1024 /** 1025 * <p>Describes an existing virtual service.</p><p><h3>See Also:</h3> <a 1026 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DescribeVirtualService">AWS 1027 * API Reference</a></p> 1028 * 1029 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1030 */ 1031 virtual void DescribeVirtualServiceAsync(const Model::DescribeVirtualServiceRequest& request, const DescribeVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1032 1033 /** 1034 * <p>Returns a list of existing gateway routes that are associated to a virtual 1035 * gateway.</p><p><h3>See Also:</h3> <a 1036 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes">AWS 1037 * API Reference</a></p> 1038 */ 1039 virtual Model::ListGatewayRoutesOutcome ListGatewayRoutes(const Model::ListGatewayRoutesRequest& request) const; 1040 1041 /** 1042 * <p>Returns a list of existing gateway routes that are associated to a virtual 1043 * gateway.</p><p><h3>See Also:</h3> <a 1044 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes">AWS 1045 * API Reference</a></p> 1046 * 1047 * returns a future to the operation so that it can be executed in parallel to other requests. 1048 */ 1049 virtual Model::ListGatewayRoutesOutcomeCallable ListGatewayRoutesCallable(const Model::ListGatewayRoutesRequest& request) const; 1050 1051 /** 1052 * <p>Returns a list of existing gateway routes that are associated to a virtual 1053 * gateway.</p><p><h3>See Also:</h3> <a 1054 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListGatewayRoutes">AWS 1055 * API Reference</a></p> 1056 * 1057 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1058 */ 1059 virtual void ListGatewayRoutesAsync(const Model::ListGatewayRoutesRequest& request, const ListGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1060 1061 /** 1062 * <p>Returns a list of existing service meshes.</p><p><h3>See Also:</h3> <a 1063 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes">AWS 1064 * API Reference</a></p> 1065 */ 1066 virtual Model::ListMeshesOutcome ListMeshes(const Model::ListMeshesRequest& request) const; 1067 1068 /** 1069 * <p>Returns a list of existing service meshes.</p><p><h3>See Also:</h3> <a 1070 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes">AWS 1071 * API Reference</a></p> 1072 * 1073 * returns a future to the operation so that it can be executed in parallel to other requests. 1074 */ 1075 virtual Model::ListMeshesOutcomeCallable ListMeshesCallable(const Model::ListMeshesRequest& request) const; 1076 1077 /** 1078 * <p>Returns a list of existing service meshes.</p><p><h3>See Also:</h3> <a 1079 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListMeshes">AWS 1080 * API Reference</a></p> 1081 * 1082 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1083 */ 1084 virtual void ListMeshesAsync(const Model::ListMeshesRequest& request, const ListMeshesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1085 1086 /** 1087 * <p>Returns a list of existing routes in a service mesh.</p><p><h3>See Also:</h3> 1088 * <a 1089 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes">AWS 1090 * API Reference</a></p> 1091 */ 1092 virtual Model::ListRoutesOutcome ListRoutes(const Model::ListRoutesRequest& request) const; 1093 1094 /** 1095 * <p>Returns a list of existing routes in a service mesh.</p><p><h3>See Also:</h3> 1096 * <a 1097 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes">AWS 1098 * API Reference</a></p> 1099 * 1100 * returns a future to the operation so that it can be executed in parallel to other requests. 1101 */ 1102 virtual Model::ListRoutesOutcomeCallable ListRoutesCallable(const Model::ListRoutesRequest& request) const; 1103 1104 /** 1105 * <p>Returns a list of existing routes in a service mesh.</p><p><h3>See Also:</h3> 1106 * <a 1107 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListRoutes">AWS 1108 * API Reference</a></p> 1109 * 1110 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1111 */ 1112 virtual void ListRoutesAsync(const Model::ListRoutesRequest& request, const ListRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1113 1114 /** 1115 * <p>List the tags for an App Mesh resource.</p><p><h3>See Also:</h3> <a 1116 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource">AWS 1117 * API Reference</a></p> 1118 */ 1119 virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; 1120 1121 /** 1122 * <p>List the tags for an App Mesh resource.</p><p><h3>See Also:</h3> <a 1123 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource">AWS 1124 * API Reference</a></p> 1125 * 1126 * returns a future to the operation so that it can be executed in parallel to other requests. 1127 */ 1128 virtual Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const Model::ListTagsForResourceRequest& request) const; 1129 1130 /** 1131 * <p>List the tags for an App Mesh resource.</p><p><h3>See Also:</h3> <a 1132 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListTagsForResource">AWS 1133 * API Reference</a></p> 1134 * 1135 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1136 */ 1137 virtual void ListTagsForResourceAsync(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1138 1139 /** 1140 * <p>Returns a list of existing virtual gateways in a service mesh.</p><p><h3>See 1141 * Also:</h3> <a 1142 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways">AWS 1143 * API Reference</a></p> 1144 */ 1145 virtual Model::ListVirtualGatewaysOutcome ListVirtualGateways(const Model::ListVirtualGatewaysRequest& request) const; 1146 1147 /** 1148 * <p>Returns a list of existing virtual gateways in a service mesh.</p><p><h3>See 1149 * Also:</h3> <a 1150 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways">AWS 1151 * API Reference</a></p> 1152 * 1153 * returns a future to the operation so that it can be executed in parallel to other requests. 1154 */ 1155 virtual Model::ListVirtualGatewaysOutcomeCallable ListVirtualGatewaysCallable(const Model::ListVirtualGatewaysRequest& request) const; 1156 1157 /** 1158 * <p>Returns a list of existing virtual gateways in a service mesh.</p><p><h3>See 1159 * Also:</h3> <a 1160 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualGateways">AWS 1161 * API Reference</a></p> 1162 * 1163 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1164 */ 1165 virtual void ListVirtualGatewaysAsync(const Model::ListVirtualGatewaysRequest& request, const ListVirtualGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1166 1167 /** 1168 * <p>Returns a list of existing virtual nodes.</p><p><h3>See Also:</h3> <a 1169 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes">AWS 1170 * API Reference</a></p> 1171 */ 1172 virtual Model::ListVirtualNodesOutcome ListVirtualNodes(const Model::ListVirtualNodesRequest& request) const; 1173 1174 /** 1175 * <p>Returns a list of existing virtual nodes.</p><p><h3>See Also:</h3> <a 1176 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes">AWS 1177 * API Reference</a></p> 1178 * 1179 * returns a future to the operation so that it can be executed in parallel to other requests. 1180 */ 1181 virtual Model::ListVirtualNodesOutcomeCallable ListVirtualNodesCallable(const Model::ListVirtualNodesRequest& request) const; 1182 1183 /** 1184 * <p>Returns a list of existing virtual nodes.</p><p><h3>See Also:</h3> <a 1185 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualNodes">AWS 1186 * API Reference</a></p> 1187 * 1188 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1189 */ 1190 virtual void ListVirtualNodesAsync(const Model::ListVirtualNodesRequest& request, const ListVirtualNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1191 1192 /** 1193 * <p>Returns a list of existing virtual routers in a service mesh.</p><p><h3>See 1194 * Also:</h3> <a 1195 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters">AWS 1196 * API Reference</a></p> 1197 */ 1198 virtual Model::ListVirtualRoutersOutcome ListVirtualRouters(const Model::ListVirtualRoutersRequest& request) const; 1199 1200 /** 1201 * <p>Returns a list of existing virtual routers in a service mesh.</p><p><h3>See 1202 * Also:</h3> <a 1203 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters">AWS 1204 * API Reference</a></p> 1205 * 1206 * returns a future to the operation so that it can be executed in parallel to other requests. 1207 */ 1208 virtual Model::ListVirtualRoutersOutcomeCallable ListVirtualRoutersCallable(const Model::ListVirtualRoutersRequest& request) const; 1209 1210 /** 1211 * <p>Returns a list of existing virtual routers in a service mesh.</p><p><h3>See 1212 * Also:</h3> <a 1213 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualRouters">AWS 1214 * API Reference</a></p> 1215 * 1216 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1217 */ 1218 virtual void ListVirtualRoutersAsync(const Model::ListVirtualRoutersRequest& request, const ListVirtualRoutersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1219 1220 /** 1221 * <p>Returns a list of existing virtual services in a service mesh.</p><p><h3>See 1222 * Also:</h3> <a 1223 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices">AWS 1224 * API Reference</a></p> 1225 */ 1226 virtual Model::ListVirtualServicesOutcome ListVirtualServices(const Model::ListVirtualServicesRequest& request) const; 1227 1228 /** 1229 * <p>Returns a list of existing virtual services in a service mesh.</p><p><h3>See 1230 * Also:</h3> <a 1231 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices">AWS 1232 * API Reference</a></p> 1233 * 1234 * returns a future to the operation so that it can be executed in parallel to other requests. 1235 */ 1236 virtual Model::ListVirtualServicesOutcomeCallable ListVirtualServicesCallable(const Model::ListVirtualServicesRequest& request) const; 1237 1238 /** 1239 * <p>Returns a list of existing virtual services in a service mesh.</p><p><h3>See 1240 * Also:</h3> <a 1241 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/ListVirtualServices">AWS 1242 * API Reference</a></p> 1243 * 1244 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1245 */ 1246 virtual void ListVirtualServicesAsync(const Model::ListVirtualServicesRequest& request, const ListVirtualServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1247 1248 /** 1249 * <p>Associates the specified tags to a resource with the specified 1250 * <code>resourceArn</code>. If existing tags on a resource aren't specified in the 1251 * request parameters, they aren't changed. When a resource is deleted, the tags 1252 * associated with that resource are also deleted.</p><p><h3>See Also:</h3> <a 1253 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource">AWS 1254 * API Reference</a></p> 1255 */ 1256 virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; 1257 1258 /** 1259 * <p>Associates the specified tags to a resource with the specified 1260 * <code>resourceArn</code>. If existing tags on a resource aren't specified in the 1261 * request parameters, they aren't changed. When a resource is deleted, the tags 1262 * associated with that resource are also deleted.</p><p><h3>See Also:</h3> <a 1263 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource">AWS 1264 * API Reference</a></p> 1265 * 1266 * returns a future to the operation so that it can be executed in parallel to other requests. 1267 */ 1268 virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const; 1269 1270 /** 1271 * <p>Associates the specified tags to a resource with the specified 1272 * <code>resourceArn</code>. If existing tags on a resource aren't specified in the 1273 * request parameters, they aren't changed. When a resource is deleted, the tags 1274 * associated with that resource are also deleted.</p><p><h3>See Also:</h3> <a 1275 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/TagResource">AWS 1276 * API Reference</a></p> 1277 * 1278 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1279 */ 1280 virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1281 1282 /** 1283 * <p>Deletes specified tags from a resource.</p><p><h3>See Also:</h3> <a 1284 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource">AWS 1285 * API Reference</a></p> 1286 */ 1287 virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; 1288 1289 /** 1290 * <p>Deletes specified tags from a resource.</p><p><h3>See Also:</h3> <a 1291 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource">AWS 1292 * API Reference</a></p> 1293 * 1294 * returns a future to the operation so that it can be executed in parallel to other requests. 1295 */ 1296 virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const; 1297 1298 /** 1299 * <p>Deletes specified tags from a resource.</p><p><h3>See Also:</h3> <a 1300 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UntagResource">AWS 1301 * API Reference</a></p> 1302 * 1303 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1304 */ 1305 virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1306 1307 /** 1308 * <p>Updates an existing gateway route that is associated to a specified virtual 1309 * gateway in a service mesh.</p><p><h3>See Also:</h3> <a 1310 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute">AWS 1311 * API Reference</a></p> 1312 */ 1313 virtual Model::UpdateGatewayRouteOutcome UpdateGatewayRoute(const Model::UpdateGatewayRouteRequest& request) const; 1314 1315 /** 1316 * <p>Updates an existing gateway route that is associated to a specified virtual 1317 * gateway in a service mesh.</p><p><h3>See Also:</h3> <a 1318 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute">AWS 1319 * API Reference</a></p> 1320 * 1321 * returns a future to the operation so that it can be executed in parallel to other requests. 1322 */ 1323 virtual Model::UpdateGatewayRouteOutcomeCallable UpdateGatewayRouteCallable(const Model::UpdateGatewayRouteRequest& request) const; 1324 1325 /** 1326 * <p>Updates an existing gateway route that is associated to a specified virtual 1327 * gateway in a service mesh.</p><p><h3>See Also:</h3> <a 1328 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateGatewayRoute">AWS 1329 * API Reference</a></p> 1330 * 1331 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1332 */ 1333 virtual void UpdateGatewayRouteAsync(const Model::UpdateGatewayRouteRequest& request, const UpdateGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1334 1335 /** 1336 * <p>Updates an existing service mesh.</p><p><h3>See Also:</h3> <a 1337 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh">AWS 1338 * API Reference</a></p> 1339 */ 1340 virtual Model::UpdateMeshOutcome UpdateMesh(const Model::UpdateMeshRequest& request) const; 1341 1342 /** 1343 * <p>Updates an existing service mesh.</p><p><h3>See Also:</h3> <a 1344 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh">AWS 1345 * API Reference</a></p> 1346 * 1347 * returns a future to the operation so that it can be executed in parallel to other requests. 1348 */ 1349 virtual Model::UpdateMeshOutcomeCallable UpdateMeshCallable(const Model::UpdateMeshRequest& request) const; 1350 1351 /** 1352 * <p>Updates an existing service mesh.</p><p><h3>See Also:</h3> <a 1353 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateMesh">AWS 1354 * API Reference</a></p> 1355 * 1356 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1357 */ 1358 virtual void UpdateMeshAsync(const Model::UpdateMeshRequest& request, const UpdateMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1359 1360 /** 1361 * <p>Updates an existing route for a specified service mesh and virtual 1362 * router.</p><p><h3>See Also:</h3> <a 1363 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute">AWS 1364 * API Reference</a></p> 1365 */ 1366 virtual Model::UpdateRouteOutcome UpdateRoute(const Model::UpdateRouteRequest& request) const; 1367 1368 /** 1369 * <p>Updates an existing route for a specified service mesh and virtual 1370 * router.</p><p><h3>See Also:</h3> <a 1371 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute">AWS 1372 * API Reference</a></p> 1373 * 1374 * returns a future to the operation so that it can be executed in parallel to other requests. 1375 */ 1376 virtual Model::UpdateRouteOutcomeCallable UpdateRouteCallable(const Model::UpdateRouteRequest& request) const; 1377 1378 /** 1379 * <p>Updates an existing route for a specified service mesh and virtual 1380 * router.</p><p><h3>See Also:</h3> <a 1381 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateRoute">AWS 1382 * API Reference</a></p> 1383 * 1384 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1385 */ 1386 virtual void UpdateRouteAsync(const Model::UpdateRouteRequest& request, const UpdateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1387 1388 /** 1389 * <p>Updates an existing virtual gateway in a specified service 1390 * mesh.</p><p><h3>See Also:</h3> <a 1391 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway">AWS 1392 * API Reference</a></p> 1393 */ 1394 virtual Model::UpdateVirtualGatewayOutcome UpdateVirtualGateway(const Model::UpdateVirtualGatewayRequest& request) const; 1395 1396 /** 1397 * <p>Updates an existing virtual gateway in a specified service 1398 * mesh.</p><p><h3>See Also:</h3> <a 1399 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway">AWS 1400 * API Reference</a></p> 1401 * 1402 * returns a future to the operation so that it can be executed in parallel to other requests. 1403 */ 1404 virtual Model::UpdateVirtualGatewayOutcomeCallable UpdateVirtualGatewayCallable(const Model::UpdateVirtualGatewayRequest& request) const; 1405 1406 /** 1407 * <p>Updates an existing virtual gateway in a specified service 1408 * mesh.</p><p><h3>See Also:</h3> <a 1409 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualGateway">AWS 1410 * API Reference</a></p> 1411 * 1412 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1413 */ 1414 virtual void UpdateVirtualGatewayAsync(const Model::UpdateVirtualGatewayRequest& request, const UpdateVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1415 1416 /** 1417 * <p>Updates an existing virtual node in a specified service mesh.</p><p><h3>See 1418 * Also:</h3> <a 1419 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode">AWS 1420 * API Reference</a></p> 1421 */ 1422 virtual Model::UpdateVirtualNodeOutcome UpdateVirtualNode(const Model::UpdateVirtualNodeRequest& request) const; 1423 1424 /** 1425 * <p>Updates an existing virtual node in a specified service mesh.</p><p><h3>See 1426 * Also:</h3> <a 1427 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode">AWS 1428 * API Reference</a></p> 1429 * 1430 * returns a future to the operation so that it can be executed in parallel to other requests. 1431 */ 1432 virtual Model::UpdateVirtualNodeOutcomeCallable UpdateVirtualNodeCallable(const Model::UpdateVirtualNodeRequest& request) const; 1433 1434 /** 1435 * <p>Updates an existing virtual node in a specified service mesh.</p><p><h3>See 1436 * Also:</h3> <a 1437 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualNode">AWS 1438 * API Reference</a></p> 1439 * 1440 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1441 */ 1442 virtual void UpdateVirtualNodeAsync(const Model::UpdateVirtualNodeRequest& request, const UpdateVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1443 1444 /** 1445 * <p>Updates an existing virtual router in a specified service mesh.</p><p><h3>See 1446 * Also:</h3> <a 1447 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter">AWS 1448 * API Reference</a></p> 1449 */ 1450 virtual Model::UpdateVirtualRouterOutcome UpdateVirtualRouter(const Model::UpdateVirtualRouterRequest& request) const; 1451 1452 /** 1453 * <p>Updates an existing virtual router in a specified service mesh.</p><p><h3>See 1454 * Also:</h3> <a 1455 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter">AWS 1456 * API Reference</a></p> 1457 * 1458 * returns a future to the operation so that it can be executed in parallel to other requests. 1459 */ 1460 virtual Model::UpdateVirtualRouterOutcomeCallable UpdateVirtualRouterCallable(const Model::UpdateVirtualRouterRequest& request) const; 1461 1462 /** 1463 * <p>Updates an existing virtual router in a specified service mesh.</p><p><h3>See 1464 * Also:</h3> <a 1465 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualRouter">AWS 1466 * API Reference</a></p> 1467 * 1468 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1469 */ 1470 virtual void UpdateVirtualRouterAsync(const Model::UpdateVirtualRouterRequest& request, const UpdateVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1471 1472 /** 1473 * <p>Updates an existing virtual service in a specified service 1474 * mesh.</p><p><h3>See Also:</h3> <a 1475 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService">AWS 1476 * API Reference</a></p> 1477 */ 1478 virtual Model::UpdateVirtualServiceOutcome UpdateVirtualService(const Model::UpdateVirtualServiceRequest& request) const; 1479 1480 /** 1481 * <p>Updates an existing virtual service in a specified service 1482 * mesh.</p><p><h3>See Also:</h3> <a 1483 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService">AWS 1484 * API Reference</a></p> 1485 * 1486 * returns a future to the operation so that it can be executed in parallel to other requests. 1487 */ 1488 virtual Model::UpdateVirtualServiceOutcomeCallable UpdateVirtualServiceCallable(const Model::UpdateVirtualServiceRequest& request) const; 1489 1490 /** 1491 * <p>Updates an existing virtual service in a specified service 1492 * mesh.</p><p><h3>See Also:</h3> <a 1493 * href="http://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/UpdateVirtualService">AWS 1494 * API Reference</a></p> 1495 * 1496 * Queues the request into a thread executor and triggers associated callback when operation has finished. 1497 */ 1498 virtual void UpdateVirtualServiceAsync(const Model::UpdateVirtualServiceRequest& request, const UpdateVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context = nullptr) const; 1499 1500 1501 void OverrideEndpoint(const Aws::String& endpoint); 1502 private: 1503 void init(const Aws::Client::ClientConfiguration& clientConfiguration); 1504 void CreateGatewayRouteAsyncHelper(const Model::CreateGatewayRouteRequest& request, const CreateGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1505 void CreateMeshAsyncHelper(const Model::CreateMeshRequest& request, const CreateMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1506 void CreateRouteAsyncHelper(const Model::CreateRouteRequest& request, const CreateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1507 void CreateVirtualGatewayAsyncHelper(const Model::CreateVirtualGatewayRequest& request, const CreateVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1508 void CreateVirtualNodeAsyncHelper(const Model::CreateVirtualNodeRequest& request, const CreateVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1509 void CreateVirtualRouterAsyncHelper(const Model::CreateVirtualRouterRequest& request, const CreateVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1510 void CreateVirtualServiceAsyncHelper(const Model::CreateVirtualServiceRequest& request, const CreateVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1511 void DeleteGatewayRouteAsyncHelper(const Model::DeleteGatewayRouteRequest& request, const DeleteGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1512 void DeleteMeshAsyncHelper(const Model::DeleteMeshRequest& request, const DeleteMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1513 void DeleteRouteAsyncHelper(const Model::DeleteRouteRequest& request, const DeleteRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1514 void DeleteVirtualGatewayAsyncHelper(const Model::DeleteVirtualGatewayRequest& request, const DeleteVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1515 void DeleteVirtualNodeAsyncHelper(const Model::DeleteVirtualNodeRequest& request, const DeleteVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1516 void DeleteVirtualRouterAsyncHelper(const Model::DeleteVirtualRouterRequest& request, const DeleteVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1517 void DeleteVirtualServiceAsyncHelper(const Model::DeleteVirtualServiceRequest& request, const DeleteVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1518 void DescribeGatewayRouteAsyncHelper(const Model::DescribeGatewayRouteRequest& request, const DescribeGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1519 void DescribeMeshAsyncHelper(const Model::DescribeMeshRequest& request, const DescribeMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1520 void DescribeRouteAsyncHelper(const Model::DescribeRouteRequest& request, const DescribeRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1521 void DescribeVirtualGatewayAsyncHelper(const Model::DescribeVirtualGatewayRequest& request, const DescribeVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1522 void DescribeVirtualNodeAsyncHelper(const Model::DescribeVirtualNodeRequest& request, const DescribeVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1523 void DescribeVirtualRouterAsyncHelper(const Model::DescribeVirtualRouterRequest& request, const DescribeVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1524 void DescribeVirtualServiceAsyncHelper(const Model::DescribeVirtualServiceRequest& request, const DescribeVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1525 void ListGatewayRoutesAsyncHelper(const Model::ListGatewayRoutesRequest& request, const ListGatewayRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1526 void ListMeshesAsyncHelper(const Model::ListMeshesRequest& request, const ListMeshesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1527 void ListRoutesAsyncHelper(const Model::ListRoutesRequest& request, const ListRoutesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1528 void ListTagsForResourceAsyncHelper(const Model::ListTagsForResourceRequest& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1529 void ListVirtualGatewaysAsyncHelper(const Model::ListVirtualGatewaysRequest& request, const ListVirtualGatewaysResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1530 void ListVirtualNodesAsyncHelper(const Model::ListVirtualNodesRequest& request, const ListVirtualNodesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1531 void ListVirtualRoutersAsyncHelper(const Model::ListVirtualRoutersRequest& request, const ListVirtualRoutersResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1532 void ListVirtualServicesAsyncHelper(const Model::ListVirtualServicesRequest& request, const ListVirtualServicesResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1533 void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1534 void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1535 void UpdateGatewayRouteAsyncHelper(const Model::UpdateGatewayRouteRequest& request, const UpdateGatewayRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1536 void UpdateMeshAsyncHelper(const Model::UpdateMeshRequest& request, const UpdateMeshResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1537 void UpdateRouteAsyncHelper(const Model::UpdateRouteRequest& request, const UpdateRouteResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1538 void UpdateVirtualGatewayAsyncHelper(const Model::UpdateVirtualGatewayRequest& request, const UpdateVirtualGatewayResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1539 void UpdateVirtualNodeAsyncHelper(const Model::UpdateVirtualNodeRequest& request, const UpdateVirtualNodeResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1540 void UpdateVirtualRouterAsyncHelper(const Model::UpdateVirtualRouterRequest& request, const UpdateVirtualRouterResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1541 void UpdateVirtualServiceAsyncHelper(const Model::UpdateVirtualServiceRequest& request, const UpdateVirtualServiceResponseReceivedHandler& handler, const std::shared_ptr<const Aws::Client::AsyncCallerContext>& context) const; 1542 1543 Aws::String m_uri; 1544 Aws::String m_configScheme; 1545 std::shared_ptr<Aws::Utils::Threading::Executor> m_executor; 1546 }; 1547 1548 } // namespace AppMesh 1549 } // namespace Aws 1550