/*
* 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 serverlessrepo-2017-09-08.normal.json service model.
*/
using System;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using Amazon.Runtime;
using Amazon.ServerlessApplicationRepository.Model;
namespace Amazon.ServerlessApplicationRepository
{
///
/// Interface for accessing ServerlessApplicationRepository
///
/// The AWS Serverless Application Repository makes it easy for developers and enterprises
/// to quickly find and deploy serverless applications in the AWS Cloud. For more information
/// about serverless applications, see Serverless Computing and Applications on the AWS
/// website.
///
///
///
/// The AWS Serverless Application Repository is deeply integrated with the AWS Lambda
/// console, so that developers of all levels can get started with serverless computing
/// without needing to learn anything new. You can use category keywords to browse for
/// applications such as web and mobile backends, data processing applications, or chatbots.
/// You can also search for applications by name, publisher, or event source. To use
/// an application, you simply choose it, configure any required fields, and deploy it
/// with a few clicks.
///
///
///
/// You can also easily publish applications, sharing them publicly with the community
/// at large, or privately within your team or across your organization. To publish a
/// serverless application (or app), you can use the AWS Management Console, AWS Command
/// Line Interface (AWS CLI), or AWS SDKs to upload the code. Along with the code, you
/// upload a simple manifest file, also known as the AWS Serverless Application Model
/// (AWS SAM) template. For more information about AWS SAM, see AWS Serverless Application
/// Model (AWS SAM) on the AWS Labs GitHub repository.
///
///
///
/// The AWS Serverless Application Repository Developer Guide contains more information
/// about the two developer experiences available:
///
/// -
///
/// Consuming Applications – Browse for applications and view information about them,
/// including source code and readme files. Also install, configure, and deploy applications
/// of your choosing.
///
///
///
/// Publishing Applications – Configure and upload applications to make them available
/// to other developers, and publish new versions of applications.
///
///
///
public partial interface IAmazonServerlessApplicationRepository : IAmazonService, IDisposable
{
///
/// Paginators for the service
///
IServerlessApplicationRepositoryPaginatorFactory Paginators { get; }
#region CreateApplication
///
/// Creates an application, optionally including an AWS SAM file to create the first application
/// version in the same call.
///
/// Container for the necessary parameters to execute the CreateApplication service method.
///
/// The response from the CreateApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateApplication Operation
CreateApplicationResponse CreateApplication(CreateApplicationRequest request);
///
/// Creates an application, optionally including an AWS SAM file to create the first application
/// version in the same call.
///
/// 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 ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateApplication Operation
Task CreateApplicationAsync(CreateApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateApplicationVersion
///
/// Creates an application version.
///
/// Container for the necessary parameters to execute the CreateApplicationVersion service method.
///
/// The response from the CreateApplicationVersion service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateApplicationVersion Operation
CreateApplicationVersionResponse CreateApplicationVersion(CreateApplicationVersionRequest request);
///
/// Creates an application version.
///
/// Container for the necessary parameters to execute the CreateApplicationVersion service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateApplicationVersion service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateApplicationVersion Operation
Task CreateApplicationVersionAsync(CreateApplicationVersionRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateCloudFormationChangeSet
///
/// Creates an AWS CloudFormation change set for the given application.
///
/// Container for the necessary parameters to execute the CreateCloudFormationChangeSet service method.
///
/// The response from the CreateCloudFormationChangeSet service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateCloudFormationChangeSet Operation
CreateCloudFormationChangeSetResponse CreateCloudFormationChangeSet(CreateCloudFormationChangeSetRequest request);
///
/// Creates an AWS CloudFormation change set for the given application.
///
/// Container for the necessary parameters to execute the CreateCloudFormationChangeSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateCloudFormationChangeSet service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateCloudFormationChangeSet Operation
Task CreateCloudFormationChangeSetAsync(CreateCloudFormationChangeSetRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region CreateCloudFormationTemplate
///
/// Creates an AWS CloudFormation template.
///
/// Container for the necessary parameters to execute the CreateCloudFormationTemplate service method.
///
/// The response from the CreateCloudFormationTemplate service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateCloudFormationTemplate Operation
CreateCloudFormationTemplateResponse CreateCloudFormationTemplate(CreateCloudFormationTemplateRequest request);
///
/// Creates an AWS CloudFormation template.
///
/// Container for the necessary parameters to execute the CreateCloudFormationTemplate service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateCloudFormationTemplate service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for CreateCloudFormationTemplate Operation
Task CreateCloudFormationTemplateAsync(CreateCloudFormationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region DeleteApplication
///
/// Deletes the specified application.
///
/// Container for the necessary parameters to execute the DeleteApplication service method.
///
/// The response from the DeleteApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for DeleteApplication Operation
DeleteApplicationResponse DeleteApplication(DeleteApplicationRequest request);
///
/// Deletes the specified 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 ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for DeleteApplication Operation
Task DeleteApplicationAsync(DeleteApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetApplication
///
/// Gets the specified application.
///
/// Container for the necessary parameters to execute the GetApplication service method.
///
/// The response from the GetApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetApplication Operation
GetApplicationResponse GetApplication(GetApplicationRequest request);
///
/// Gets the specified application.
///
/// 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 ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetApplication Operation
Task GetApplicationAsync(GetApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetApplicationPolicy
///
/// Retrieves the policy for the application.
///
/// Container for the necessary parameters to execute the GetApplicationPolicy service method.
///
/// The response from the GetApplicationPolicy service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetApplicationPolicy Operation
GetApplicationPolicyResponse GetApplicationPolicy(GetApplicationPolicyRequest request);
///
/// Retrieves the policy for the application.
///
/// Container for the necessary parameters to execute the GetApplicationPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetApplicationPolicy service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetApplicationPolicy Operation
Task GetApplicationPolicyAsync(GetApplicationPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region GetCloudFormationTemplate
///
/// Gets the specified AWS CloudFormation template.
///
/// Container for the necessary parameters to execute the GetCloudFormationTemplate service method.
///
/// The response from the GetCloudFormationTemplate service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetCloudFormationTemplate Operation
GetCloudFormationTemplateResponse GetCloudFormationTemplate(GetCloudFormationTemplateRequest request);
///
/// Gets the specified AWS CloudFormation template.
///
/// Container for the necessary parameters to execute the GetCloudFormationTemplate service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetCloudFormationTemplate service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for GetCloudFormationTemplate Operation
Task GetCloudFormationTemplateAsync(GetCloudFormationTemplateRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListApplicationDependencies
///
/// Retrieves the list of applications nested in the containing application.
///
/// Container for the necessary parameters to execute the ListApplicationDependencies service method.
///
/// The response from the ListApplicationDependencies service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for ListApplicationDependencies Operation
ListApplicationDependenciesResponse ListApplicationDependencies(ListApplicationDependenciesRequest request);
///
/// Retrieves the list of applications nested in the containing application.
///
/// Container for the necessary parameters to execute the ListApplicationDependencies service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListApplicationDependencies service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for ListApplicationDependencies Operation
Task ListApplicationDependenciesAsync(ListApplicationDependenciesRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListApplications
///
/// Lists applications owned by the requester.
///
/// Container for the necessary parameters to execute the ListApplications service method.
///
/// The response from the ListApplications service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
/// REST API Reference for ListApplications Operation
ListApplicationsResponse ListApplications(ListApplicationsRequest request);
///
/// Lists applications owned by the requester.
///
/// 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 ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
/// REST API Reference for ListApplications Operation
Task ListApplicationsAsync(ListApplicationsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region ListApplicationVersions
///
/// Lists versions for the specified application.
///
/// Container for the necessary parameters to execute the ListApplicationVersions service method.
///
/// The response from the ListApplicationVersions service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for ListApplicationVersions Operation
ListApplicationVersionsResponse ListApplicationVersions(ListApplicationVersionsRequest request);
///
/// Lists versions for the specified application.
///
/// Container for the necessary parameters to execute the ListApplicationVersions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListApplicationVersions service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for ListApplicationVersions Operation
Task ListApplicationVersionsAsync(ListApplicationVersionsRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region PutApplicationPolicy
///
/// Sets the permission policy for an application. For the list of actions supported for
/// this operation, see Application
/// Permissions .
///
/// Container for the necessary parameters to execute the PutApplicationPolicy service method.
///
/// The response from the PutApplicationPolicy service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for PutApplicationPolicy Operation
PutApplicationPolicyResponse PutApplicationPolicy(PutApplicationPolicyRequest request);
///
/// Sets the permission policy for an application. For the list of actions supported for
/// this operation, see Application
/// Permissions .
///
/// Container for the necessary parameters to execute the PutApplicationPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutApplicationPolicy service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for PutApplicationPolicy Operation
Task PutApplicationPolicyAsync(PutApplicationPolicyRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UnshareApplication
///
/// Unshares an application from an AWS Organization.
///
///
///
/// This operation can be called only from the organization's master account.
///
///
/// Container for the necessary parameters to execute the UnshareApplication service method.
///
/// The response from the UnshareApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for UnshareApplication Operation
UnshareApplicationResponse UnshareApplication(UnshareApplicationRequest request);
///
/// Unshares an application from an AWS Organization.
///
///
///
/// This operation can be called only from the organization's master account.
///
///
/// Container for the necessary parameters to execute the UnshareApplication service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UnshareApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for UnshareApplication Operation
Task UnshareApplicationAsync(UnshareApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
#region UpdateApplication
///
/// Updates the specified application.
///
/// Container for the necessary parameters to execute the UpdateApplication service method.
///
/// The response from the UpdateApplication service method, as returned by ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for UpdateApplication Operation
UpdateApplicationResponse UpdateApplication(UpdateApplicationRequest request);
///
/// Updates the specified application.
///
/// 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 ServerlessApplicationRepository.
///
/// One of the parameters in the request is invalid.
///
///
/// The resource already exists.
///
///
/// The client is not authenticated.
///
///
/// The AWS Serverless Application Repository service encountered an internal error.
///
///
/// The resource (for example, an access policy statement) specified in the request doesn't
/// exist.
///
///
/// The client is sending more than the allowed number of requests per unit of time.
///
/// REST API Reference for UpdateApplication Operation
Task UpdateApplicationAsync(UpdateApplicationRequest request, CancellationToken cancellationToken = default(CancellationToken));
#endregion
}
}