/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace Http
{
class HttpClient;
class HttpClientFactory;
} // namespace Http
namespace Utils
{
template< typename R, typename E> class Outcome;
namespace Threading
{
class Executor;
} // namespace Threading
} // namespace Utils
namespace Auth
{
class AWSCredentials;
class AWSCredentialsProvider;
} // namespace Auth
namespace Client
{
class RetryStrategy;
} // namespace Client
namespace RAM
{
namespace Model
{
class AcceptResourceShareInvitationRequest;
class AssociateResourceShareRequest;
class AssociateResourceSharePermissionRequest;
class CreateResourceShareRequest;
class DeleteResourceShareRequest;
class DisassociateResourceShareRequest;
class DisassociateResourceSharePermissionRequest;
class EnableSharingWithAwsOrganizationRequest;
class GetPermissionRequest;
class GetResourcePoliciesRequest;
class GetResourceShareAssociationsRequest;
class GetResourceShareInvitationsRequest;
class GetResourceSharesRequest;
class ListPendingInvitationResourcesRequest;
class ListPermissionsRequest;
class ListPrincipalsRequest;
class ListResourceSharePermissionsRequest;
class ListResourceTypesRequest;
class ListResourcesRequest;
class PromoteResourceShareCreatedFromPolicyRequest;
class RejectResourceShareInvitationRequest;
class TagResourceRequest;
class UntagResourceRequest;
class UpdateResourceShareRequest;
typedef Aws::Utils::Outcome AcceptResourceShareInvitationOutcome;
typedef Aws::Utils::Outcome AssociateResourceShareOutcome;
typedef Aws::Utils::Outcome AssociateResourceSharePermissionOutcome;
typedef Aws::Utils::Outcome CreateResourceShareOutcome;
typedef Aws::Utils::Outcome DeleteResourceShareOutcome;
typedef Aws::Utils::Outcome DisassociateResourceShareOutcome;
typedef Aws::Utils::Outcome DisassociateResourceSharePermissionOutcome;
typedef Aws::Utils::Outcome EnableSharingWithAwsOrganizationOutcome;
typedef Aws::Utils::Outcome GetPermissionOutcome;
typedef Aws::Utils::Outcome GetResourcePoliciesOutcome;
typedef Aws::Utils::Outcome GetResourceShareAssociationsOutcome;
typedef Aws::Utils::Outcome GetResourceShareInvitationsOutcome;
typedef Aws::Utils::Outcome GetResourceSharesOutcome;
typedef Aws::Utils::Outcome ListPendingInvitationResourcesOutcome;
typedef Aws::Utils::Outcome ListPermissionsOutcome;
typedef Aws::Utils::Outcome ListPrincipalsOutcome;
typedef Aws::Utils::Outcome ListResourceSharePermissionsOutcome;
typedef Aws::Utils::Outcome ListResourceTypesOutcome;
typedef Aws::Utils::Outcome ListResourcesOutcome;
typedef Aws::Utils::Outcome PromoteResourceShareCreatedFromPolicyOutcome;
typedef Aws::Utils::Outcome RejectResourceShareInvitationOutcome;
typedef Aws::Utils::Outcome TagResourceOutcome;
typedef Aws::Utils::Outcome UntagResourceOutcome;
typedef Aws::Utils::Outcome UpdateResourceShareOutcome;
typedef std::future AcceptResourceShareInvitationOutcomeCallable;
typedef std::future AssociateResourceShareOutcomeCallable;
typedef std::future AssociateResourceSharePermissionOutcomeCallable;
typedef std::future CreateResourceShareOutcomeCallable;
typedef std::future DeleteResourceShareOutcomeCallable;
typedef std::future DisassociateResourceShareOutcomeCallable;
typedef std::future DisassociateResourceSharePermissionOutcomeCallable;
typedef std::future EnableSharingWithAwsOrganizationOutcomeCallable;
typedef std::future GetPermissionOutcomeCallable;
typedef std::future GetResourcePoliciesOutcomeCallable;
typedef std::future GetResourceShareAssociationsOutcomeCallable;
typedef std::future GetResourceShareInvitationsOutcomeCallable;
typedef std::future GetResourceSharesOutcomeCallable;
typedef std::future ListPendingInvitationResourcesOutcomeCallable;
typedef std::future ListPermissionsOutcomeCallable;
typedef std::future ListPrincipalsOutcomeCallable;
typedef std::future ListResourceSharePermissionsOutcomeCallable;
typedef std::future ListResourceTypesOutcomeCallable;
typedef std::future ListResourcesOutcomeCallable;
typedef std::future PromoteResourceShareCreatedFromPolicyOutcomeCallable;
typedef std::future RejectResourceShareInvitationOutcomeCallable;
typedef std::future TagResourceOutcomeCallable;
typedef std::future UntagResourceOutcomeCallable;
typedef std::future UpdateResourceShareOutcomeCallable;
} // namespace Model
class RAMClient;
typedef std::function&) > AcceptResourceShareInvitationResponseReceivedHandler;
typedef std::function&) > AssociateResourceShareResponseReceivedHandler;
typedef std::function&) > AssociateResourceSharePermissionResponseReceivedHandler;
typedef std::function&) > CreateResourceShareResponseReceivedHandler;
typedef std::function&) > DeleteResourceShareResponseReceivedHandler;
typedef std::function&) > DisassociateResourceShareResponseReceivedHandler;
typedef std::function&) > DisassociateResourceSharePermissionResponseReceivedHandler;
typedef std::function&) > EnableSharingWithAwsOrganizationResponseReceivedHandler;
typedef std::function&) > GetPermissionResponseReceivedHandler;
typedef std::function&) > GetResourcePoliciesResponseReceivedHandler;
typedef std::function&) > GetResourceShareAssociationsResponseReceivedHandler;
typedef std::function&) > GetResourceShareInvitationsResponseReceivedHandler;
typedef std::function&) > GetResourceSharesResponseReceivedHandler;
typedef std::function&) > ListPendingInvitationResourcesResponseReceivedHandler;
typedef std::function&) > ListPermissionsResponseReceivedHandler;
typedef std::function&) > ListPrincipalsResponseReceivedHandler;
typedef std::function&) > ListResourceSharePermissionsResponseReceivedHandler;
typedef std::function&) > ListResourceTypesResponseReceivedHandler;
typedef std::function&) > ListResourcesResponseReceivedHandler;
typedef std::function&) > PromoteResourceShareCreatedFromPolicyResponseReceivedHandler;
typedef std::function&) > RejectResourceShareInvitationResponseReceivedHandler;
typedef std::function&) > TagResourceResponseReceivedHandler;
typedef std::function&) > UntagResourceResponseReceivedHandler;
typedef std::function&) > UpdateResourceShareResponseReceivedHandler;
/**
* Use AWS Resource Access Manager to share AWS resources between AWS accounts.
* To share a resource, you create a resource share, associate the resource with
* the resource share, and specify the principals that can access the resources
* associated with the resource share. The following principals are supported: AWS
* accounts, organizational units (OU) from AWS Organizations, and organizations
* from AWS Organizations.
For more information, see the AWS Resource Access
* Manager User Guide.
*/
class AWS_RAM_API RAMClient : public Aws::Client::AWSJsonClient
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
/**
* 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.
*/
RAMClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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.
*/
RAMClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::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
*/
RAMClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration());
virtual ~RAMClient();
/**
* Accepts an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*/
virtual Model::AcceptResourceShareInvitationOutcome AcceptResourceShareInvitation(const Model::AcceptResourceShareInvitationRequest& request) const;
/**
* Accepts an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AcceptResourceShareInvitationOutcomeCallable AcceptResourceShareInvitationCallable(const Model::AcceptResourceShareInvitationRequest& request) const;
/**
* Accepts an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AcceptResourceShareInvitationAsync(const Model::AcceptResourceShareInvitationRequest& request, const AcceptResourceShareInvitationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Associates the specified resource share with the specified principals and
* resources.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateResourceShareOutcome AssociateResourceShare(const Model::AssociateResourceShareRequest& request) const;
/**
* Associates the specified resource share with the specified principals and
* resources.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateResourceShareOutcomeCallable AssociateResourceShareCallable(const Model::AssociateResourceShareRequest& request) const;
/**
* Associates the specified resource share with the specified principals and
* resources.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateResourceShareAsync(const Model::AssociateResourceShareRequest& request, const AssociateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Associates a permission with a resource share.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateResourceSharePermissionOutcome AssociateResourceSharePermission(const Model::AssociateResourceSharePermissionRequest& request) const;
/**
* Associates a permission with a resource share.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::AssociateResourceSharePermissionOutcomeCallable AssociateResourceSharePermissionCallable(const Model::AssociateResourceSharePermissionRequest& request) const;
/**
* Associates a permission with a resource share.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void AssociateResourceSharePermissionAsync(const Model::AssociateResourceSharePermissionRequest& request, const AssociateResourceSharePermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Creates a resource share.
See Also:
AWS
* API Reference
*/
virtual Model::CreateResourceShareOutcome CreateResourceShare(const Model::CreateResourceShareRequest& request) const;
/**
* Creates a resource share.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::CreateResourceShareOutcomeCallable CreateResourceShareCallable(const Model::CreateResourceShareRequest& request) const;
/**
* Creates a resource share.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void CreateResourceShareAsync(const Model::CreateResourceShareRequest& request, const CreateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Deletes the specified resource share.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteResourceShareOutcome DeleteResourceShare(const Model::DeleteResourceShareRequest& request) const;
/**
* Deletes the specified resource share.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DeleteResourceShareOutcomeCallable DeleteResourceShareCallable(const Model::DeleteResourceShareRequest& request) const;
/**
* Deletes the specified resource share.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DeleteResourceShareAsync(const Model::DeleteResourceShareRequest& request, const DeleteResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Disassociates the specified principals or resources from the specified
* resource share.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateResourceShareOutcome DisassociateResourceShare(const Model::DisassociateResourceShareRequest& request) const;
/**
* Disassociates the specified principals or resources from the specified
* resource share.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateResourceShareOutcomeCallable DisassociateResourceShareCallable(const Model::DisassociateResourceShareRequest& request) const;
/**
* Disassociates the specified principals or resources from the specified
* resource share.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateResourceShareAsync(const Model::DisassociateResourceShareRequest& request, const DisassociateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Disassociates an AWS RAM permission from a resource share.
See
* Also:
AWS
* API Reference
*/
virtual Model::DisassociateResourceSharePermissionOutcome DisassociateResourceSharePermission(const Model::DisassociateResourceSharePermissionRequest& request) const;
/**
* Disassociates an AWS RAM permission from a resource share.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::DisassociateResourceSharePermissionOutcomeCallable DisassociateResourceSharePermissionCallable(const Model::DisassociateResourceSharePermissionRequest& request) const;
/**
* Disassociates an AWS RAM permission from a resource share.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void DisassociateResourceSharePermissionAsync(const Model::DisassociateResourceSharePermissionRequest& request, const DisassociateResourceSharePermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Enables resource sharing within your AWS Organization.
The caller must
* be the master account for the AWS Organization.
See Also:
AWS
* API Reference
*/
virtual Model::EnableSharingWithAwsOrganizationOutcome EnableSharingWithAwsOrganization(const Model::EnableSharingWithAwsOrganizationRequest& request) const;
/**
* Enables resource sharing within your AWS Organization.
The caller must
* be the master account for the AWS Organization.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::EnableSharingWithAwsOrganizationOutcomeCallable EnableSharingWithAwsOrganizationCallable(const Model::EnableSharingWithAwsOrganizationRequest& request) const;
/**
* Enables resource sharing within your AWS Organization.
The caller must
* be the master account for the AWS Organization.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void EnableSharingWithAwsOrganizationAsync(const Model::EnableSharingWithAwsOrganizationRequest& request, const EnableSharingWithAwsOrganizationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the contents of an AWS RAM permission in JSON format.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetPermissionOutcome GetPermission(const Model::GetPermissionRequest& request) const;
/**
* Gets the contents of an AWS RAM permission in JSON format.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetPermissionOutcomeCallable GetPermissionCallable(const Model::GetPermissionRequest& request) const;
/**
* Gets the contents of an AWS RAM permission in JSON format.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetPermissionAsync(const Model::GetPermissionRequest& request, const GetPermissionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the policies for the specified resources that you own and have
* shared.
See Also:
AWS
* API Reference
*/
virtual Model::GetResourcePoliciesOutcome GetResourcePolicies(const Model::GetResourcePoliciesRequest& request) const;
/**
* Gets the policies for the specified resources that you own and have
* shared.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResourcePoliciesOutcomeCallable GetResourcePoliciesCallable(const Model::GetResourcePoliciesRequest& request) const;
/**
* Gets the policies for the specified resources that you own and have
* shared.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResourcePoliciesAsync(const Model::GetResourcePoliciesRequest& request, const GetResourcePoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the resources or principals for the resource shares that you
* own.
See Also:
AWS
* API Reference
*/
virtual Model::GetResourceShareAssociationsOutcome GetResourceShareAssociations(const Model::GetResourceShareAssociationsRequest& request) const;
/**
* Gets the resources or principals for the resource shares that you
* own.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResourceShareAssociationsOutcomeCallable GetResourceShareAssociationsCallable(const Model::GetResourceShareAssociationsRequest& request) const;
/**
* Gets the resources or principals for the resource shares that you
* own.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResourceShareAssociationsAsync(const Model::GetResourceShareAssociationsRequest& request, const GetResourceShareAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the invitations for resource sharing that you've received.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetResourceShareInvitationsOutcome GetResourceShareInvitations(const Model::GetResourceShareInvitationsRequest& request) const;
/**
* Gets the invitations for resource sharing that you've received.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResourceShareInvitationsOutcomeCallable GetResourceShareInvitationsCallable(const Model::GetResourceShareInvitationsRequest& request) const;
/**
* Gets the invitations for resource sharing that you've received.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResourceShareInvitationsAsync(const Model::GetResourceShareInvitationsRequest& request, const GetResourceShareInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Gets the resource shares that you own or the resource shares that are shared
* with you.
See Also:
AWS
* API Reference
*/
virtual Model::GetResourceSharesOutcome GetResourceShares(const Model::GetResourceSharesRequest& request) const;
/**
* Gets the resource shares that you own or the resource shares that are shared
* with you.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::GetResourceSharesOutcomeCallable GetResourceSharesCallable(const Model::GetResourceSharesRequest& request) const;
/**
* Gets the resource shares that you own or the resource shares that are shared
* with you.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void GetResourceSharesAsync(const Model::GetResourceSharesRequest& request, const GetResourceSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the resources in a resource share that is shared with you but that the
* invitation is still pending for.
See Also:
AWS
* API Reference
*/
virtual Model::ListPendingInvitationResourcesOutcome ListPendingInvitationResources(const Model::ListPendingInvitationResourcesRequest& request) const;
/**
* Lists the resources in a resource share that is shared with you but that the
* invitation is still pending for.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListPendingInvitationResourcesOutcomeCallable ListPendingInvitationResourcesCallable(const Model::ListPendingInvitationResourcesRequest& request) const;
/**
* Lists the resources in a resource share that is shared with you but that the
* invitation is still pending for.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListPendingInvitationResourcesAsync(const Model::ListPendingInvitationResourcesRequest& request, const ListPendingInvitationResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the AWS RAM permissions.
See Also:
AWS
* API Reference
*/
virtual Model::ListPermissionsOutcome ListPermissions(const Model::ListPermissionsRequest& request) const;
/**
* Lists the AWS RAM permissions.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListPermissionsOutcomeCallable ListPermissionsCallable(const Model::ListPermissionsRequest& request) const;
/**
* Lists the AWS RAM permissions.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListPermissionsAsync(const Model::ListPermissionsRequest& request, const ListPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the principals that you have shared resources with or that have shared
* resources with you.
See Also:
AWS
* API Reference
*/
virtual Model::ListPrincipalsOutcome ListPrincipals(const Model::ListPrincipalsRequest& request) const;
/**
* Lists the principals that you have shared resources with or that have shared
* resources with you.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListPrincipalsOutcomeCallable ListPrincipalsCallable(const Model::ListPrincipalsRequest& request) const;
/**
* Lists the principals that you have shared resources with or that have shared
* resources with you.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListPrincipalsAsync(const Model::ListPrincipalsRequest& request, const ListPrincipalsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the AWS RAM permissions that are associated with a resource
* share.
See Also:
AWS
* API Reference
*/
virtual Model::ListResourceSharePermissionsOutcome ListResourceSharePermissions(const Model::ListResourceSharePermissionsRequest& request) const;
/**
* Lists the AWS RAM permissions that are associated with a resource
* share.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResourceSharePermissionsOutcomeCallable ListResourceSharePermissionsCallable(const Model::ListResourceSharePermissionsRequest& request) const;
/**
* Lists the AWS RAM permissions that are associated with a resource
* share.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResourceSharePermissionsAsync(const Model::ListResourceSharePermissionsRequest& request, const ListResourceSharePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the shareable resource types supported by AWS RAM.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListResourceTypesOutcome ListResourceTypes(const Model::ListResourceTypesRequest& request) const;
/**
* Lists the shareable resource types supported by AWS RAM.
See
* Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResourceTypesOutcomeCallable ListResourceTypesCallable(const Model::ListResourceTypesRequest& request) const;
/**
* Lists the shareable resource types supported by AWS RAM.
See
* Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResourceTypesAsync(const Model::ListResourceTypesRequest& request, const ListResourceTypesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Lists the resources that you added to a resource shares or the resources that
* are shared with you.
See Also:
AWS
* API Reference
*/
virtual Model::ListResourcesOutcome ListResources(const Model::ListResourcesRequest& request) const;
/**
* Lists the resources that you added to a resource shares or the resources that
* are shared with you.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::ListResourcesOutcomeCallable ListResourcesCallable(const Model::ListResourcesRequest& request) const;
/**
* Lists the resources that you added to a resource shares or the resources that
* are shared with you.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void ListResourcesAsync(const Model::ListResourcesRequest& request, const ListResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Resource shares that were created by attaching a policy to a resource are
* visible only to the resource share owner, and the resource share cannot be
* modified in AWS RAM.
Use this API action to promote the resource share.
* When you promote the resource share, it becomes:
See Also:
AWS
* API Reference
*/
virtual Model::PromoteResourceShareCreatedFromPolicyOutcome PromoteResourceShareCreatedFromPolicy(const Model::PromoteResourceShareCreatedFromPolicyRequest& request) const;
/**
* Resource shares that were created by attaching a policy to a resource are
* visible only to the resource share owner, and the resource share cannot be
* modified in AWS RAM.
Use this API action to promote the resource share.
* When you promote the resource share, it becomes:
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::PromoteResourceShareCreatedFromPolicyOutcomeCallable PromoteResourceShareCreatedFromPolicyCallable(const Model::PromoteResourceShareCreatedFromPolicyRequest& request) const;
/**
* Resource shares that were created by attaching a policy to a resource are
* visible only to the resource share owner, and the resource share cannot be
* modified in AWS RAM.
Use this API action to promote the resource share.
* When you promote the resource share, it becomes:
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void PromoteResourceShareCreatedFromPolicyAsync(const Model::PromoteResourceShareCreatedFromPolicyRequest& request, const PromoteResourceShareCreatedFromPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Rejects an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*/
virtual Model::RejectResourceShareInvitationOutcome RejectResourceShareInvitation(const Model::RejectResourceShareInvitationRequest& request) const;
/**
* Rejects an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::RejectResourceShareInvitationOutcomeCallable RejectResourceShareInvitationCallable(const Model::RejectResourceShareInvitationRequest& request) const;
/**
* Rejects an invitation to a resource share from another AWS
* account.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void RejectResourceShareInvitationAsync(const Model::RejectResourceShareInvitationRequest& request, const RejectResourceShareInvitationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Adds the specified tags to the specified resource share that you
* own.
See Also:
AWS API
* Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* Adds the specified tags to the specified resource share that you
* own.
See Also:
AWS API
* Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::TagResourceOutcomeCallable TagResourceCallable(const Model::TagResourceRequest& request) const;
/**
* Adds the specified tags to the specified resource share that you
* own.
See Also:
AWS API
* Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void TagResourceAsync(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Removes the specified tags from the specified resource share that you
* own.
See Also:
AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* Removes the specified tags from the specified resource share that you
* own.
See Also:
AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UntagResourceOutcomeCallable UntagResourceCallable(const Model::UntagResourceRequest& request) const;
/**
* Removes the specified tags from the specified resource share that you
* own.
See Also:
AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UntagResourceAsync(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
/**
* Updates the specified resource share that you own.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateResourceShareOutcome UpdateResourceShare(const Model::UpdateResourceShareRequest& request) const;
/**
* Updates the specified resource share that you own.
See Also:
* AWS
* API Reference
*
* returns a future to the operation so that it can be executed in parallel to other requests.
*/
virtual Model::UpdateResourceShareOutcomeCallable UpdateResourceShareCallable(const Model::UpdateResourceShareRequest& request) const;
/**
* Updates the specified resource share that you own.
See Also:
* AWS
* API Reference
*
* Queues the request into a thread executor and triggers associated callback when operation has finished.
*/
virtual void UpdateResourceShareAsync(const Model::UpdateResourceShareRequest& request, const UpdateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const;
void OverrideEndpoint(const Aws::String& endpoint);
private:
void init(const Aws::Client::ClientConfiguration& clientConfiguration);
void AcceptResourceShareInvitationAsyncHelper(const Model::AcceptResourceShareInvitationRequest& request, const AcceptResourceShareInvitationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void AssociateResourceShareAsyncHelper(const Model::AssociateResourceShareRequest& request, const AssociateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void AssociateResourceSharePermissionAsyncHelper(const Model::AssociateResourceSharePermissionRequest& request, const AssociateResourceSharePermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void CreateResourceShareAsyncHelper(const Model::CreateResourceShareRequest& request, const CreateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DeleteResourceShareAsyncHelper(const Model::DeleteResourceShareRequest& request, const DeleteResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DisassociateResourceShareAsyncHelper(const Model::DisassociateResourceShareRequest& request, const DisassociateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void DisassociateResourceSharePermissionAsyncHelper(const Model::DisassociateResourceSharePermissionRequest& request, const DisassociateResourceSharePermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void EnableSharingWithAwsOrganizationAsyncHelper(const Model::EnableSharingWithAwsOrganizationRequest& request, const EnableSharingWithAwsOrganizationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetPermissionAsyncHelper(const Model::GetPermissionRequest& request, const GetPermissionResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResourcePoliciesAsyncHelper(const Model::GetResourcePoliciesRequest& request, const GetResourcePoliciesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResourceShareAssociationsAsyncHelper(const Model::GetResourceShareAssociationsRequest& request, const GetResourceShareAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResourceShareInvitationsAsyncHelper(const Model::GetResourceShareInvitationsRequest& request, const GetResourceShareInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void GetResourceSharesAsyncHelper(const Model::GetResourceSharesRequest& request, const GetResourceSharesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListPendingInvitationResourcesAsyncHelper(const Model::ListPendingInvitationResourcesRequest& request, const ListPendingInvitationResourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListPermissionsAsyncHelper(const Model::ListPermissionsRequest& request, const ListPermissionsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListPrincipalsAsyncHelper(const Model::ListPrincipalsRequest& request, const ListPrincipalsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResourceSharePermissionsAsyncHelper(const Model::ListResourceSharePermissionsRequest& request, const ListResourceSharePermissionsResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResourceTypesAsyncHelper(const Model::ListResourceTypesRequest& request, const ListResourceTypesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void ListResourcesAsyncHelper(const Model::ListResourcesRequest& request, const ListResourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void PromoteResourceShareCreatedFromPolicyAsyncHelper(const Model::PromoteResourceShareCreatedFromPolicyRequest& request, const PromoteResourceShareCreatedFromPolicyResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void RejectResourceShareInvitationAsyncHelper(const Model::RejectResourceShareInvitationRequest& request, const RejectResourceShareInvitationResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void TagResourceAsyncHelper(const Model::TagResourceRequest& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UntagResourceAsyncHelper(const Model::UntagResourceRequest& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const;
void UpdateResourceShareAsyncHelper(const Model::UpdateResourceShareRequest& request, const UpdateResourceShareResponseReceivedHandler& handler, const std::shared_ptr& context) const;
Aws::String m_uri;
Aws::String m_configScheme;
std::shared_ptr m_executor;
};
} // namespace RAM
} // namespace Aws