/** * 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:

  • Visible to all * principals that it is shared with.

  • Modifiable in AWS RAM.

    *

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:

  • Visible to all * principals that it is shared with.

  • Modifiable in 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::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:

  • Visible to all * principals that it is shared with.

  • Modifiable in AWS RAM.

    *

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