/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the servicecatalog-appregistry-2020-06-24.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.AppRegistry.Model;
namespace Amazon.AppRegistry
{
///
/// Interface for accessing AppRegistry
///
/// Amazon Web Services Service Catalog AppRegistry enables organizations to understand
/// the application context of their Amazon Web Services resources. AppRegistry provides
/// a repository of your applications, their resources, and the application metadata that
/// you use within your enterprise.
///
public partial interface IAmazonAppRegistry : IAmazonService, IDisposable
{
#if AWS_ASYNC_ENUMERABLES_API
///
/// Paginators for the service
///
IAppRegistryPaginatorFactory Paginators { get; }
#endif
#region AssociateAttributeGroup
///
/// Associates an attribute group with an application to augment the application's metadata
/// with the group's attributes. This feature enables applications to be described with
/// user-defined details that are machine-readable, such as third-party integrations.
///
/// Container for the necessary parameters to execute the AssociateAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateAttributeGroup service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The maximum number of resources per account has been reached.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for AssociateAttributeGroup Operation
Task AssociateAttributeGroupAsync(AssociateAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region AssociateResource
///
/// Associates a resource with an application. The resource can be specified by its ARN
/// or name. The application can be specified by ARN, ID, or name.
///
/// Container for the necessary parameters to execute the AssociateResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateResource service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The maximum number of resources per account has been reached.
///
///
/// The maximum number of API requests has been exceeded.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for AssociateResource Operation
Task AssociateResourceAsync(AssociateResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateApplication
///
/// Creates a new application that is the top-level node in a hierarchy of related cloud
/// resource abstractions.
///
/// Container for the necessary parameters to execute the CreateApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateApplication service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The maximum number of resources per account has been reached.
///
///
/// The maximum number of API requests has been exceeded.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for CreateApplication Operation
Task CreateApplicationAsync(CreateApplicationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateAttributeGroup
///
/// Creates a new attribute group as a container for user-defined attributes. This feature
/// enables users to have full control over their cloud application's metadata in a rich
/// machine-readable format to facilitate integration with automated workflows and third-party
/// tools.
///
/// Container for the necessary parameters to execute the CreateAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAttributeGroup service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The maximum number of resources per account has been reached.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for CreateAttributeGroup Operation
Task CreateAttributeGroupAsync(CreateAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteApplication
///
/// Deletes an application that is specified either by its application ID, name, or ARN.
/// All associated attribute groups and resources must be disassociated from it before
/// deleting an application.
///
/// Container for the necessary parameters to execute the DeleteApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteApplication service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for DeleteApplication Operation
Task DeleteApplicationAsync(DeleteApplicationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteAttributeGroup
///
/// Deletes an attribute group, specified either by its attribute group ID, name, or ARN.
///
/// Container for the necessary parameters to execute the DeleteAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteAttributeGroup service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for DeleteAttributeGroup Operation
Task DeleteAttributeGroupAsync(DeleteAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisassociateAttributeGroup
///
/// Disassociates an attribute group from an application to remove the extra attributes
/// contained in the attribute group from the application's metadata. This operation reverts
/// AssociateAttributeGroup
.
///
/// Container for the necessary parameters to execute the DisassociateAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateAttributeGroup service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for DisassociateAttributeGroup Operation
Task DisassociateAttributeGroupAsync(DisassociateAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DisassociateResource
///
/// Disassociates a resource from application. Both the resource and the application can
/// be specified either by ID or name.
///
/// Container for the necessary parameters to execute the DisassociateResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateResource service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The maximum number of API requests has been exceeded.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for DisassociateResource Operation
Task DisassociateResourceAsync(DisassociateResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetApplication
///
/// Retrieves metadata information about one of your applications. The application can
/// be specified by its ARN, ID, or name (which is unique within one account in one region
/// at a given point in time). Specify by ARN or ID in automated workflows if you want
/// to make sure that the exact same application is returned or a ResourceNotFoundException
/// is thrown, avoiding the ABA addressing problem.
///
/// Container for the necessary parameters to execute the GetApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetApplication service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for GetApplication Operation
Task GetApplicationAsync(GetApplicationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAssociatedResource
///
/// Gets the resource associated with the application.
///
/// Container for the necessary parameters to execute the GetAssociatedResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAssociatedResource service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for GetAssociatedResource Operation
Task GetAssociatedResourceAsync(GetAssociatedResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetAttributeGroup
///
/// Retrieves an attribute group by its ARN, ID, or name. The attribute group can be
/// specified by its ARN, ID, or name.
///
/// Container for the necessary parameters to execute the GetAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetAttributeGroup service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for GetAttributeGroup Operation
Task GetAttributeGroupAsync(GetAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetConfiguration
///
/// Retrieves a TagKey
configuration from an account.
///
/// Container for the necessary parameters to execute the GetConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetConfiguration service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
/// REST API Reference for GetConfiguration Operation
Task GetConfigurationAsync(GetConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListApplications
///
/// Retrieves a list of all of your applications. Results are paginated.
///
/// Container for the necessary parameters to execute the ListApplications service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListApplications service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListApplications Operation
Task ListApplicationsAsync(ListApplicationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAssociatedAttributeGroups
///
/// Lists all attribute groups that are associated with specified application. Results
/// are paginated.
///
/// Container for the necessary parameters to execute the ListAssociatedAttributeGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAssociatedAttributeGroups service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListAssociatedAttributeGroups Operation
Task ListAssociatedAttributeGroupsAsync(ListAssociatedAttributeGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAssociatedResources
///
/// Lists all of the resources that are associated with the specified application. Results
/// are paginated.
///
///
///
/// If you share an application, and a consumer account associates a tag query to the
/// application, all of the users who can access the application can also view the tag
/// values in all accounts that are associated with it using this API.
///
///
///
/// Container for the necessary parameters to execute the ListAssociatedResources service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAssociatedResources service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListAssociatedResources Operation
Task ListAssociatedResourcesAsync(ListAssociatedResourcesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAttributeGroups
///
/// Lists all attribute groups which you have access to. Results are paginated.
///
/// Container for the necessary parameters to execute the ListAttributeGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAttributeGroups service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListAttributeGroups Operation
Task ListAttributeGroupsAsync(ListAttributeGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListAttributeGroupsForApplication
///
/// Lists the details of all attribute groups associated with a specific application.
/// The results display in pages.
///
/// Container for the necessary parameters to execute the ListAttributeGroupsForApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAttributeGroupsForApplication service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListAttributeGroupsForApplication Operation
Task ListAttributeGroupsForApplicationAsync(ListAttributeGroupsForApplicationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListTagsForResource
///
/// Lists all of the tags on the resource.
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for ListTagsForResource Operation
Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutConfiguration
///
/// Associates a TagKey
configuration to an account.
///
/// Container for the necessary parameters to execute the PutConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutConfiguration service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for PutConfiguration Operation
Task PutConfigurationAsync(PutConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region SyncResource
///
/// Syncs the resource with current AppRegistry records.
///
///
///
/// Specifically, the resource’s AppRegistry system tags sync with its associated application.
/// We remove the resource's AppRegistry system tags if it does not associate with the
/// application. The caller must have permissions to read and update the resource.
///
///
/// Container for the necessary parameters to execute the SyncResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the SyncResource service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The maximum number of API requests has been exceeded.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for SyncResource Operation
Task SyncResourceAsync(SyncResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region TagResource
///
/// Assigns one or more tags (key-value pairs) to the specified resource.
///
///
///
/// Each tag consists of a key and an optional value. If a tag with the same key is already
/// associated with the resource, this action updates its value.
///
///
///
/// This operation returns an empty response if the call was successful.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for TagResource Operation
Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UntagResource
///
/// Removes tags from a resource.
///
///
///
/// This operation returns an empty response if the call was successful.
///
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by AppRegistry.
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for UntagResource Operation
Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateApplication
///
/// Updates an existing application with new attributes.
///
/// Container for the necessary parameters to execute the UpdateApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateApplication service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The maximum number of API requests has been exceeded.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for UpdateApplication Operation
Task UpdateApplicationAsync(UpdateApplicationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateAttributeGroup
///
/// Updates an existing attribute group with new details.
///
/// Container for the necessary parameters to execute the UpdateAttributeGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateAttributeGroup service method, as returned by AppRegistry.
///
/// There was a conflict when processing the request (for example, a resource with the
/// given name already exists within the account).
///
///
/// The service is experiencing internal problems.
///
///
/// The specified resource does not exist.
///
///
/// The request has invalid or missing parameters.
///
/// REST API Reference for UpdateAttributeGroup Operation
Task UpdateAttributeGroupAsync(UpdateAttributeGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}