/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace tnb { /** *

Amazon Web Services Telco Network Builder (TNB) is a network automation * service that helps you deploy and manage telecom networks. AWS TNB helps you * with the lifecycle management of your telecommunication network functions * throughout planning, deployment, and post-deployment activities.

*/ class AWS_TNB_API TnbClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef TnbClientConfiguration ClientConfigurationType; typedef TnbEndpointProvider EndpointProviderType; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TnbClient(const Aws::tnb::TnbClientConfiguration& clientConfiguration = Aws::tnb::TnbClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TnbClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::tnb::TnbClientConfiguration& clientConfiguration = Aws::tnb::TnbClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ TnbClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::tnb::TnbClientConfiguration& clientConfiguration = Aws::tnb::TnbClientConfiguration()); /* Legacy constructors due deprecation */ /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TnbClient(const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ TnbClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ TnbClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~TnbClient(); /** *

Cancels a network operation.

A network operation is any operation that * is done to your network, such as network instance instantiation or * termination.

See Also:

AWS * API Reference

*/ virtual Model::CancelSolNetworkOperationOutcome CancelSolNetworkOperation(const Model::CancelSolNetworkOperationRequest& request) const; /** * A Callable wrapper for CancelSolNetworkOperation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CancelSolNetworkOperationOutcomeCallable CancelSolNetworkOperationCallable(const CancelSolNetworkOperationRequestT& request) const { return SubmitCallable(&TnbClient::CancelSolNetworkOperation, request); } /** * An Async wrapper for CancelSolNetworkOperation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CancelSolNetworkOperationAsync(const CancelSolNetworkOperationRequestT& request, const CancelSolNetworkOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::CancelSolNetworkOperation, request, handler, context); } /** *

Creates a function package.

A function package is a .zip file in CSAR * (Cloud Service Archive) format that contains a network function (an ETSI * standard telecommunication application) and function package descriptor that * uses the TOSCA standard to describe how the network functions should run on your * network. For more information, see Function * packages in the Amazon Web Services Telco Network Builder User Guide. *

Creating a function package is the first step for creating a network in * AWS TNB. This request creates an empty container with an ID. The next step is to * upload the actual CSAR zip file into that empty container. To upload function * package content, see PutSolFunctionPackageContent.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSolFunctionPackageOutcome CreateSolFunctionPackage(const Model::CreateSolFunctionPackageRequest& request) const; /** * A Callable wrapper for CreateSolFunctionPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSolFunctionPackageOutcomeCallable CreateSolFunctionPackageCallable(const CreateSolFunctionPackageRequestT& request) const { return SubmitCallable(&TnbClient::CreateSolFunctionPackage, request); } /** * An Async wrapper for CreateSolFunctionPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSolFunctionPackageAsync(const CreateSolFunctionPackageRequestT& request, const CreateSolFunctionPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::CreateSolFunctionPackage, request, handler, context); } /** *

Creates a network instance.

A network instance is a single network * created in Amazon Web Services TNB that can be deployed and on which life-cycle * operations (like terminate, update, and delete) can be performed. Creating a * network instance is the third step after creating a network package. For more * information about network instances, Network * instances in the Amazon Web Services Telco Network Builder User * Guide.

Once you create a network instance, you can instantiate it. To * instantiate a network, see InstantiateSolNetworkInstance.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSolNetworkInstanceOutcome CreateSolNetworkInstance(const Model::CreateSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for CreateSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSolNetworkInstanceOutcomeCallable CreateSolNetworkInstanceCallable(const CreateSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::CreateSolNetworkInstance, request); } /** * An Async wrapper for CreateSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSolNetworkInstanceAsync(const CreateSolNetworkInstanceRequestT& request, const CreateSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::CreateSolNetworkInstance, request, handler, context); } /** *

Creates a network package.

A network package is a .zip file in CSAR * (Cloud Service Archive) format defines the function packages you want to deploy * and the Amazon Web Services infrastructure you want to deploy them on. For more * information, see Network * instances in the Amazon Web Services Telco Network Builder User * Guide.

A network package consists of a network service descriptor * (NSD) file (required) and any additional files (optional), such as scripts * specific to your needs. For example, if you have multiple function packages in * your network package, you can use the NSD to define which network functions * should run in certain VPCs, subnets, or EKS clusters.

This request * creates an empty network package container with an ID. Once you create a network * package, you can upload the network package content using PutSolNetworkPackageContent.

See * Also:

AWS * API Reference

*/ virtual Model::CreateSolNetworkPackageOutcome CreateSolNetworkPackage(const Model::CreateSolNetworkPackageRequest& request) const; /** * A Callable wrapper for CreateSolNetworkPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateSolNetworkPackageOutcomeCallable CreateSolNetworkPackageCallable(const CreateSolNetworkPackageRequestT& request) const { return SubmitCallable(&TnbClient::CreateSolNetworkPackage, request); } /** * An Async wrapper for CreateSolNetworkPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateSolNetworkPackageAsync(const CreateSolNetworkPackageRequestT& request, const CreateSolNetworkPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::CreateSolNetworkPackage, request, handler, context); } /** *

Deletes a function package.

A function package is a .zip file in CSAR * (Cloud Service Archive) format that contains a network function (an ETSI * standard telecommunication application) and function package descriptor that * uses the TOSCA standard to describe how the network functions should run on your * network.

To delete a function package, the package must be in a disabled * state. To disable a function package, see UpdateSolFunctionPackage. *

See Also:

AWS * API Reference

*/ virtual Model::DeleteSolFunctionPackageOutcome DeleteSolFunctionPackage(const Model::DeleteSolFunctionPackageRequest& request) const; /** * A Callable wrapper for DeleteSolFunctionPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSolFunctionPackageOutcomeCallable DeleteSolFunctionPackageCallable(const DeleteSolFunctionPackageRequestT& request) const { return SubmitCallable(&TnbClient::DeleteSolFunctionPackage, request); } /** * An Async wrapper for DeleteSolFunctionPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSolFunctionPackageAsync(const DeleteSolFunctionPackageRequestT& request, const DeleteSolFunctionPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::DeleteSolFunctionPackage, request, handler, context); } /** *

Deletes a network instance.

A network instance is a single network * created in Amazon Web Services TNB that can be deployed and on which life-cycle * operations (like terminate, update, and delete) can be performed.

To * delete a network instance, the instance must be in a stopped or terminated * state. To terminate a network instance, see TerminateSolNetworkInstance.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteSolNetworkInstanceOutcome DeleteSolNetworkInstance(const Model::DeleteSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for DeleteSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSolNetworkInstanceOutcomeCallable DeleteSolNetworkInstanceCallable(const DeleteSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::DeleteSolNetworkInstance, request); } /** * An Async wrapper for DeleteSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSolNetworkInstanceAsync(const DeleteSolNetworkInstanceRequestT& request, const DeleteSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::DeleteSolNetworkInstance, request, handler, context); } /** *

Deletes network package.

A network package is a .zip file in CSAR * (Cloud Service Archive) format defines the function packages you want to deploy * and the Amazon Web Services infrastructure you want to deploy them on.

To * delete a network package, the package must be in a disable state. To disable a * network package, see UpdateSolNetworkPackage.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteSolNetworkPackageOutcome DeleteSolNetworkPackage(const Model::DeleteSolNetworkPackageRequest& request) const; /** * A Callable wrapper for DeleteSolNetworkPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSolNetworkPackageOutcomeCallable DeleteSolNetworkPackageCallable(const DeleteSolNetworkPackageRequestT& request) const { return SubmitCallable(&TnbClient::DeleteSolNetworkPackage, request); } /** * An Async wrapper for DeleteSolNetworkPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSolNetworkPackageAsync(const DeleteSolNetworkPackageRequestT& request, const DeleteSolNetworkPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::DeleteSolNetworkPackage, request, handler, context); } /** *

Gets the details of a network function instance, including the instantation * state and metadata from the function package descriptor in the network function * package.

A network function instance is a function in a function package * .

See Also:

AWS * API Reference

*/ virtual Model::GetSolFunctionInstanceOutcome GetSolFunctionInstance(const Model::GetSolFunctionInstanceRequest& request) const; /** * A Callable wrapper for GetSolFunctionInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolFunctionInstanceOutcomeCallable GetSolFunctionInstanceCallable(const GetSolFunctionInstanceRequestT& request) const { return SubmitCallable(&TnbClient::GetSolFunctionInstance, request); } /** * An Async wrapper for GetSolFunctionInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolFunctionInstanceAsync(const GetSolFunctionInstanceRequestT& request, const GetSolFunctionInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolFunctionInstance, request, handler, context); } /** *

Gets the details of an individual function package, such as the operational * state and whether the package is in use.

A function package is a .zip * file in CSAR (Cloud Service Archive) format that contains a network function (an * ETSI standard telecommunication application) and function package descriptor * that uses the TOSCA standard to describe how the network functions should run on * your network..

See Also:

AWS * API Reference

*/ virtual Model::GetSolFunctionPackageOutcome GetSolFunctionPackage(const Model::GetSolFunctionPackageRequest& request) const; /** * A Callable wrapper for GetSolFunctionPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolFunctionPackageOutcomeCallable GetSolFunctionPackageCallable(const GetSolFunctionPackageRequestT& request) const { return SubmitCallable(&TnbClient::GetSolFunctionPackage, request); } /** * An Async wrapper for GetSolFunctionPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolFunctionPackageAsync(const GetSolFunctionPackageRequestT& request, const GetSolFunctionPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolFunctionPackage, request, handler, context); } /** *

Gets the contents of a function package.

A function package is a .zip * file in CSAR (Cloud Service Archive) format that contains a network function (an * ETSI standard telecommunication application) and function package descriptor * that uses the TOSCA standard to describe how the network functions should run on * your network.

See Also:

AWS * API Reference

*/ virtual Model::GetSolFunctionPackageContentOutcome GetSolFunctionPackageContent(const Model::GetSolFunctionPackageContentRequest& request) const; /** * A Callable wrapper for GetSolFunctionPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolFunctionPackageContentOutcomeCallable GetSolFunctionPackageContentCallable(const GetSolFunctionPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::GetSolFunctionPackageContent, request); } /** * An Async wrapper for GetSolFunctionPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolFunctionPackageContentAsync(const GetSolFunctionPackageContentRequestT& request, const GetSolFunctionPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolFunctionPackageContent, request, handler, context); } /** *

Gets a function package descriptor in a function package.

A function * package descriptor is a .yaml file in a function package that uses the TOSCA * standard to describe how the network function in the function package should run * on your network.

A function package is a .zip file in CSAR (Cloud Service * Archive) format that contains a network function (an ETSI standard * telecommunication application) and function package descriptor that uses the * TOSCA standard to describe how the network functions should run on your * network.

See Also:

AWS * API Reference

*/ virtual Model::GetSolFunctionPackageDescriptorOutcome GetSolFunctionPackageDescriptor(const Model::GetSolFunctionPackageDescriptorRequest& request) const; /** * A Callable wrapper for GetSolFunctionPackageDescriptor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolFunctionPackageDescriptorOutcomeCallable GetSolFunctionPackageDescriptorCallable(const GetSolFunctionPackageDescriptorRequestT& request) const { return SubmitCallable(&TnbClient::GetSolFunctionPackageDescriptor, request); } /** * An Async wrapper for GetSolFunctionPackageDescriptor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolFunctionPackageDescriptorAsync(const GetSolFunctionPackageDescriptorRequestT& request, const GetSolFunctionPackageDescriptorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolFunctionPackageDescriptor, request, handler, context); } /** *

Gets the details of the network instance.

A network instance is a * single network created in Amazon Web Services TNB that can be deployed and on * which life-cycle operations (like terminate, update, and delete) can be * performed.

See Also:

AWS * API Reference

*/ virtual Model::GetSolNetworkInstanceOutcome GetSolNetworkInstance(const Model::GetSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for GetSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolNetworkInstanceOutcomeCallable GetSolNetworkInstanceCallable(const GetSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::GetSolNetworkInstance, request); } /** * An Async wrapper for GetSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolNetworkInstanceAsync(const GetSolNetworkInstanceRequestT& request, const GetSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolNetworkInstance, request, handler, context); } /** *

Gets the details of a network operation, including the tasks involved in the * network operation and the status of the tasks.

A network operation is any * operation that is done to your network, such as network instance instantiation * or termination.

See Also:

AWS * API Reference

*/ virtual Model::GetSolNetworkOperationOutcome GetSolNetworkOperation(const Model::GetSolNetworkOperationRequest& request) const; /** * A Callable wrapper for GetSolNetworkOperation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolNetworkOperationOutcomeCallable GetSolNetworkOperationCallable(const GetSolNetworkOperationRequestT& request) const { return SubmitCallable(&TnbClient::GetSolNetworkOperation, request); } /** * An Async wrapper for GetSolNetworkOperation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolNetworkOperationAsync(const GetSolNetworkOperationRequestT& request, const GetSolNetworkOperationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolNetworkOperation, request, handler, context); } /** *

Gets the details of a network package.

A network package is a .zip * file in CSAR (Cloud Service Archive) format defines the function packages you * want to deploy and the Amazon Web Services infrastructure you want to deploy * them on.

See Also:

AWS * API Reference

*/ virtual Model::GetSolNetworkPackageOutcome GetSolNetworkPackage(const Model::GetSolNetworkPackageRequest& request) const; /** * A Callable wrapper for GetSolNetworkPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolNetworkPackageOutcomeCallable GetSolNetworkPackageCallable(const GetSolNetworkPackageRequestT& request) const { return SubmitCallable(&TnbClient::GetSolNetworkPackage, request); } /** * An Async wrapper for GetSolNetworkPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolNetworkPackageAsync(const GetSolNetworkPackageRequestT& request, const GetSolNetworkPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolNetworkPackage, request, handler, context); } /** *

Gets the contents of a network package.

A network package is a .zip * file in CSAR (Cloud Service Archive) format defines the function packages you * want to deploy and the Amazon Web Services infrastructure you want to deploy * them on.

See Also:

AWS * API Reference

*/ virtual Model::GetSolNetworkPackageContentOutcome GetSolNetworkPackageContent(const Model::GetSolNetworkPackageContentRequest& request) const; /** * A Callable wrapper for GetSolNetworkPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolNetworkPackageContentOutcomeCallable GetSolNetworkPackageContentCallable(const GetSolNetworkPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::GetSolNetworkPackageContent, request); } /** * An Async wrapper for GetSolNetworkPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolNetworkPackageContentAsync(const GetSolNetworkPackageContentRequestT& request, const GetSolNetworkPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolNetworkPackageContent, request, handler, context); } /** *

Gets the content of the network service descriptor.

A network service * descriptor is a .yaml file in a network package that uses the TOSCA standard to * describe the network functions you want to deploy and the Amazon Web Services * infrastructure you want to deploy the network functions on.

See * Also:

AWS * API Reference

*/ virtual Model::GetSolNetworkPackageDescriptorOutcome GetSolNetworkPackageDescriptor(const Model::GetSolNetworkPackageDescriptorRequest& request) const; /** * A Callable wrapper for GetSolNetworkPackageDescriptor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetSolNetworkPackageDescriptorOutcomeCallable GetSolNetworkPackageDescriptorCallable(const GetSolNetworkPackageDescriptorRequestT& request) const { return SubmitCallable(&TnbClient::GetSolNetworkPackageDescriptor, request); } /** * An Async wrapper for GetSolNetworkPackageDescriptor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetSolNetworkPackageDescriptorAsync(const GetSolNetworkPackageDescriptorRequestT& request, const GetSolNetworkPackageDescriptorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::GetSolNetworkPackageDescriptor, request, handler, context); } /** *

Instantiates a network instance.

A network instance is a single * network created in Amazon Web Services TNB that can be deployed and on which * life-cycle operations (like terminate, update, and delete) can be performed.

*

Before you can instantiate a network instance, you have to create a network * instance. For more information, see CreateSolNetworkInstance.

See * Also:

AWS * API Reference

*/ virtual Model::InstantiateSolNetworkInstanceOutcome InstantiateSolNetworkInstance(const Model::InstantiateSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for InstantiateSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::InstantiateSolNetworkInstanceOutcomeCallable InstantiateSolNetworkInstanceCallable(const InstantiateSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::InstantiateSolNetworkInstance, request); } /** * An Async wrapper for InstantiateSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void InstantiateSolNetworkInstanceAsync(const InstantiateSolNetworkInstanceRequestT& request, const InstantiateSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::InstantiateSolNetworkInstance, request, handler, context); } /** *

Lists network function instances.

A network function instance is a * function in a function package .

See Also:

AWS * API Reference

*/ virtual Model::ListSolFunctionInstancesOutcome ListSolFunctionInstances(const Model::ListSolFunctionInstancesRequest& request) const; /** * A Callable wrapper for ListSolFunctionInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSolFunctionInstancesOutcomeCallable ListSolFunctionInstancesCallable(const ListSolFunctionInstancesRequestT& request) const { return SubmitCallable(&TnbClient::ListSolFunctionInstances, request); } /** * An Async wrapper for ListSolFunctionInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSolFunctionInstancesAsync(const ListSolFunctionInstancesRequestT& request, const ListSolFunctionInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListSolFunctionInstances, request, handler, context); } /** *

Lists information about function packages.

A function package is a * .zip file in CSAR (Cloud Service Archive) format that contains a network * function (an ETSI standard telecommunication application) and function package * descriptor that uses the TOSCA standard to describe how the network functions * should run on your network.

See Also:

AWS * API Reference

*/ virtual Model::ListSolFunctionPackagesOutcome ListSolFunctionPackages(const Model::ListSolFunctionPackagesRequest& request) const; /** * A Callable wrapper for ListSolFunctionPackages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSolFunctionPackagesOutcomeCallable ListSolFunctionPackagesCallable(const ListSolFunctionPackagesRequestT& request) const { return SubmitCallable(&TnbClient::ListSolFunctionPackages, request); } /** * An Async wrapper for ListSolFunctionPackages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSolFunctionPackagesAsync(const ListSolFunctionPackagesRequestT& request, const ListSolFunctionPackagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListSolFunctionPackages, request, handler, context); } /** *

Lists your network instances.

A network instance is a single network * created in Amazon Web Services TNB that can be deployed and on which life-cycle * operations (like terminate, update, and delete) can be performed.

See * Also:

AWS * API Reference

*/ virtual Model::ListSolNetworkInstancesOutcome ListSolNetworkInstances(const Model::ListSolNetworkInstancesRequest& request) const; /** * A Callable wrapper for ListSolNetworkInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSolNetworkInstancesOutcomeCallable ListSolNetworkInstancesCallable(const ListSolNetworkInstancesRequestT& request) const { return SubmitCallable(&TnbClient::ListSolNetworkInstances, request); } /** * An Async wrapper for ListSolNetworkInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSolNetworkInstancesAsync(const ListSolNetworkInstancesRequestT& request, const ListSolNetworkInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListSolNetworkInstances, request, handler, context); } /** *

Lists details for a network operation, including when the operation started * and the status of the operation.

A network operation is any operation * that is done to your network, such as network instance instantiation or * termination.

See Also:

AWS * API Reference

*/ virtual Model::ListSolNetworkOperationsOutcome ListSolNetworkOperations(const Model::ListSolNetworkOperationsRequest& request) const; /** * A Callable wrapper for ListSolNetworkOperations that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSolNetworkOperationsOutcomeCallable ListSolNetworkOperationsCallable(const ListSolNetworkOperationsRequestT& request) const { return SubmitCallable(&TnbClient::ListSolNetworkOperations, request); } /** * An Async wrapper for ListSolNetworkOperations that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSolNetworkOperationsAsync(const ListSolNetworkOperationsRequestT& request, const ListSolNetworkOperationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListSolNetworkOperations, request, handler, context); } /** *

Lists network packages.

A network package is a .zip file in CSAR * (Cloud Service Archive) format defines the function packages you want to deploy * and the Amazon Web Services infrastructure you want to deploy them * on.

See Also:

AWS * API Reference

*/ virtual Model::ListSolNetworkPackagesOutcome ListSolNetworkPackages(const Model::ListSolNetworkPackagesRequest& request) const; /** * A Callable wrapper for ListSolNetworkPackages that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSolNetworkPackagesOutcomeCallable ListSolNetworkPackagesCallable(const ListSolNetworkPackagesRequestT& request) const { return SubmitCallable(&TnbClient::ListSolNetworkPackages, request); } /** * An Async wrapper for ListSolNetworkPackages that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSolNetworkPackagesAsync(const ListSolNetworkPackagesRequestT& request, const ListSolNetworkPackagesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListSolNetworkPackages, request, handler, context); } /** *

Lists tags for AWS TNB resources.

See Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&TnbClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ListTagsForResource, request, handler, context); } /** *

Uploads the contents of a function package.

A function package is a * .zip file in CSAR (Cloud Service Archive) format that contains a network * function (an ETSI standard telecommunication application) and function package * descriptor that uses the TOSCA standard to describe how the network functions * should run on your network.

See Also:

AWS * API Reference

*/ virtual Model::PutSolFunctionPackageContentOutcome PutSolFunctionPackageContent(const Model::PutSolFunctionPackageContentRequest& request) const; /** * A Callable wrapper for PutSolFunctionPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutSolFunctionPackageContentOutcomeCallable PutSolFunctionPackageContentCallable(const PutSolFunctionPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::PutSolFunctionPackageContent, request); } /** * An Async wrapper for PutSolFunctionPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutSolFunctionPackageContentAsync(const PutSolFunctionPackageContentRequestT& request, const PutSolFunctionPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::PutSolFunctionPackageContent, request, handler, context); } /** *

Uploads the contents of a network package.

A network package is a .zip * file in CSAR (Cloud Service Archive) format defines the function packages you * want to deploy and the Amazon Web Services infrastructure you want to deploy * them on.

See Also:

AWS * API Reference

*/ virtual Model::PutSolNetworkPackageContentOutcome PutSolNetworkPackageContent(const Model::PutSolNetworkPackageContentRequest& request) const; /** * A Callable wrapper for PutSolNetworkPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutSolNetworkPackageContentOutcomeCallable PutSolNetworkPackageContentCallable(const PutSolNetworkPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::PutSolNetworkPackageContent, request); } /** * An Async wrapper for PutSolNetworkPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutSolNetworkPackageContentAsync(const PutSolNetworkPackageContentRequestT& request, const PutSolNetworkPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::PutSolNetworkPackageContent, request, handler, context); } /** *

Tags an AWS TNB resource.

A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key and an optional value. * You can use tags to search and filter your resources or track your Amazon Web * Services costs.

See Also:

AWS API * Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&TnbClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::TagResource, request, handler, context); } /** *

Terminates a network instance.

A network instance is a single network * created in Amazon Web Services TNB that can be deployed and on which life-cycle * operations (like terminate, update, and delete) can be performed.

You * must terminate a network instance before you can delete it.

See * Also:

AWS * API Reference

*/ virtual Model::TerminateSolNetworkInstanceOutcome TerminateSolNetworkInstance(const Model::TerminateSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for TerminateSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TerminateSolNetworkInstanceOutcomeCallable TerminateSolNetworkInstanceCallable(const TerminateSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::TerminateSolNetworkInstance, request); } /** * An Async wrapper for TerminateSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TerminateSolNetworkInstanceAsync(const TerminateSolNetworkInstanceRequestT& request, const TerminateSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::TerminateSolNetworkInstance, request, handler, context); } /** *

Untags an AWS TNB resource.

A tag is a label that you assign to an * Amazon Web Services resource. Each tag consists of a key and an optional value. * You can use tags to search and filter your resources or track your Amazon Web * Services costs.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&TnbClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::UntagResource, request, handler, context); } /** *

Updates the operational state of function package.

A function package * is a .zip file in CSAR (Cloud Service Archive) format that contains a network * function (an ETSI standard telecommunication application) and function package * descriptor that uses the TOSCA standard to describe how the network functions * should run on your network.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSolFunctionPackageOutcome UpdateSolFunctionPackage(const Model::UpdateSolFunctionPackageRequest& request) const; /** * A Callable wrapper for UpdateSolFunctionPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSolFunctionPackageOutcomeCallable UpdateSolFunctionPackageCallable(const UpdateSolFunctionPackageRequestT& request) const { return SubmitCallable(&TnbClient::UpdateSolFunctionPackage, request); } /** * An Async wrapper for UpdateSolFunctionPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSolFunctionPackageAsync(const UpdateSolFunctionPackageRequestT& request, const UpdateSolFunctionPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::UpdateSolFunctionPackage, request, handler, context); } /** *

Update a network instance.

A network instance is a single network * created in Amazon Web Services TNB that can be deployed and on which life-cycle * operations (like terminate, update, and delete) can be performed.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateSolNetworkInstanceOutcome UpdateSolNetworkInstance(const Model::UpdateSolNetworkInstanceRequest& request) const; /** * A Callable wrapper for UpdateSolNetworkInstance that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSolNetworkInstanceOutcomeCallable UpdateSolNetworkInstanceCallable(const UpdateSolNetworkInstanceRequestT& request) const { return SubmitCallable(&TnbClient::UpdateSolNetworkInstance, request); } /** * An Async wrapper for UpdateSolNetworkInstance that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSolNetworkInstanceAsync(const UpdateSolNetworkInstanceRequestT& request, const UpdateSolNetworkInstanceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::UpdateSolNetworkInstance, request, handler, context); } /** *

Updates the operational state of a network package.

A network package * is a .zip file in CSAR (Cloud Service Archive) format defines the function * packages you want to deploy and the Amazon Web Services infrastructure you want * to deploy them on.

A network service descriptor is a .yaml file in a * network package that uses the TOSCA standard to describe the network functions * you want to deploy and the Amazon Web Services infrastructure you want to deploy * the network functions on.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSolNetworkPackageOutcome UpdateSolNetworkPackage(const Model::UpdateSolNetworkPackageRequest& request) const; /** * A Callable wrapper for UpdateSolNetworkPackage that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSolNetworkPackageOutcomeCallable UpdateSolNetworkPackageCallable(const UpdateSolNetworkPackageRequestT& request) const { return SubmitCallable(&TnbClient::UpdateSolNetworkPackage, request); } /** * An Async wrapper for UpdateSolNetworkPackage that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSolNetworkPackageAsync(const UpdateSolNetworkPackageRequestT& request, const UpdateSolNetworkPackageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::UpdateSolNetworkPackage, request, handler, context); } /** *

Validates function package content. This can be used as a dry run before * uploading function package content with PutSolFunctionPackageContent.

*

A function package is a .zip file in CSAR (Cloud Service Archive) format that * contains a network function (an ETSI standard telecommunication application) and * function package descriptor that uses the TOSCA standard to describe how the * network functions should run on your network.

See Also:

AWS * API Reference

*/ virtual Model::ValidateSolFunctionPackageContentOutcome ValidateSolFunctionPackageContent(const Model::ValidateSolFunctionPackageContentRequest& request) const; /** * A Callable wrapper for ValidateSolFunctionPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ValidateSolFunctionPackageContentOutcomeCallable ValidateSolFunctionPackageContentCallable(const ValidateSolFunctionPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::ValidateSolFunctionPackageContent, request); } /** * An Async wrapper for ValidateSolFunctionPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ValidateSolFunctionPackageContentAsync(const ValidateSolFunctionPackageContentRequestT& request, const ValidateSolFunctionPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ValidateSolFunctionPackageContent, request, handler, context); } /** *

Validates network package content. This can be used as a dry run before * uploading network package content with PutSolNetworkPackageContent.

*

A network package is a .zip file in CSAR (Cloud Service Archive) format * defines the function packages you want to deploy and the Amazon Web Services * infrastructure you want to deploy them on.

See Also:

AWS * API Reference

*/ virtual Model::ValidateSolNetworkPackageContentOutcome ValidateSolNetworkPackageContent(const Model::ValidateSolNetworkPackageContentRequest& request) const; /** * A Callable wrapper for ValidateSolNetworkPackageContent that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ValidateSolNetworkPackageContentOutcomeCallable ValidateSolNetworkPackageContentCallable(const ValidateSolNetworkPackageContentRequestT& request) const { return SubmitCallable(&TnbClient::ValidateSolNetworkPackageContent, request); } /** * An Async wrapper for ValidateSolNetworkPackageContent that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ValidateSolNetworkPackageContentAsync(const ValidateSolNetworkPackageContentRequestT& request, const ValidateSolNetworkPackageContentResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&TnbClient::ValidateSolNetworkPackageContent, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const TnbClientConfiguration& clientConfiguration); TnbClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace tnb } // namespace Aws