com.amazonaws.services.amplify.AWSAmplify Maven / Gradle / Ivy
/*
 * Copyright 2019-2024 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.
 */
package com.amazonaws.services.amplify;
import javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.amplify.model.*;
/**
 * Interface for accessing Amplify.
 * 
 * Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
 * {@link com.amazonaws.services.amplify.AbstractAWSAmplify} instead.
 * 
 * 
 * 
 * Amplify enables developers to develop and deploy cloud-powered mobile and web apps. Amplify Hosting provides a
 * continuous delivery and hosting service for web applications. For more information, see the Amplify Hosting User Guide. The Amplify
 * Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. For more
 * information, see the Amplify Framework.
 * 
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSAmplify {
    /**
     * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
     * (such as supported regions) of the service.
     *
     * @see RegionUtils#getRegionsForService(String)
     */
    String ENDPOINT_PREFIX = "amplify";
    /**
     * 
     * Creates a new Amplify app.
     * 
     * 
     * @param createAppRequest
     *        The request structure used to create apps in Amplify.
     * @return Result of the CreateApp operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.CreateApp
     * @see AWS API
     *      Documentation
     */
    CreateAppResult createApp(CreateAppRequest createAppRequest);
    /**
     * 
     * Creates a new backend environment for an Amplify app.
     * 
     * 
     * This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the
     * Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an
     * application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.
     * 
     * 
     * @param createBackendEnvironmentRequest
     *        The request structure for the backend environment create request.
     * @return Result of the CreateBackendEnvironment operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.CreateBackendEnvironment
     * @see AWS API Documentation
     */
    CreateBackendEnvironmentResult createBackendEnvironment(CreateBackendEnvironmentRequest createBackendEnvironmentRequest);
    /**
     * 
     * Creates a new branch for an Amplify app.
     * 
     * 
     * @param createBranchRequest
     *        The request structure for the create branch request.
     * @return Result of the CreateBranch operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.CreateBranch
     * @see AWS API
     *      Documentation
     */
    CreateBranchResult createBranch(CreateBranchRequest createBranchRequest);
    /**
     * 
     * Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a
     * repository.
     * 
     * 
     * The maximum duration between the CreateDeployment call and the StartDeployment call
     * cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated
     * Job will fail.
     * 
     * 
     * @param createDeploymentRequest
     *        The request structure for the create a new deployment request.
     * @return Result of the CreateDeployment operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.CreateDeployment
     * @see AWS API
     *      Documentation
     */
    CreateDeploymentResult createDeployment(CreateDeploymentRequest createDeploymentRequest);
    /**
     * 
     * Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app
     * 
     * 
     * @param createDomainAssociationRequest
     *        The request structure for the create domain association request.
     * @return Result of the CreateDomainAssociation operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.CreateDomainAssociation
     * @see AWS API Documentation
     */
    CreateDomainAssociationResult createDomainAssociation(CreateDomainAssociationRequest createDomainAssociationRequest);
    /**
     * 
     * Creates a new webhook on an Amplify app.
     * 
     * 
     * @param createWebhookRequest
     *        The request structure for the create webhook request.
     * @return Result of the CreateWebhook operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.CreateWebhook
     * @see AWS API
     *      Documentation
     */
    CreateWebhookResult createWebhook(CreateWebhookRequest createWebhookRequest);
    /**
     * 
     * Deletes an existing Amplify app specified by an app ID.
     * 
     * 
     * @param deleteAppRequest
     *        Describes the request structure for the delete app request.
     * @return Result of the DeleteApp operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.DeleteApp
     * @see AWS API
     *      Documentation
     */
    DeleteAppResult deleteApp(DeleteAppRequest deleteAppRequest);
    /**
     * 
     * Deletes a backend environment for an Amplify app.
     * 
     * 
     * This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the
     * Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an
     * application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.
     * 
     * 
     * @param deleteBackendEnvironmentRequest
     *        The request structure for the delete backend environment request.
     * @return Result of the DeleteBackendEnvironment operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.DeleteBackendEnvironment
     * @see AWS API Documentation
     */
    DeleteBackendEnvironmentResult deleteBackendEnvironment(DeleteBackendEnvironmentRequest deleteBackendEnvironmentRequest);
    /**
     * 
     * Deletes a branch for an Amplify app.
     * 
     * 
     * @param deleteBranchRequest
     *        The request structure for the delete branch request.
     * @return Result of the DeleteBranch operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.DeleteBranch
     * @see AWS API
     *      Documentation
     */
    DeleteBranchResult deleteBranch(DeleteBranchRequest deleteBranchRequest);
    /**
     * 
     * Deletes a domain association for an Amplify app.
     * 
     * 
     * @param deleteDomainAssociationRequest
     *        The request structure for the delete domain association request.
     * @return Result of the DeleteDomainAssociation operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.DeleteDomainAssociation
     * @see AWS API Documentation
     */
    DeleteDomainAssociationResult deleteDomainAssociation(DeleteDomainAssociationRequest deleteDomainAssociationRequest);
    /**
     * 
     * Deletes a job for a branch of an Amplify app.
     * 
     * 
     * @param deleteJobRequest
     *        The request structure for the delete job request.
     * @return Result of the DeleteJob operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.DeleteJob
     * @see AWS API
     *      Documentation
     */
    DeleteJobResult deleteJob(DeleteJobRequest deleteJobRequest);
    /**
     * 
     * Deletes a webhook.
     * 
     * 
     * @param deleteWebhookRequest
     *        The request structure for the delete webhook request.
     * @return Result of the DeleteWebhook operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.DeleteWebhook
     * @see AWS API
     *      Documentation
     */
    DeleteWebhookResult deleteWebhook(DeleteWebhookRequest deleteWebhookRequest);
    /**
     * 
     * Returns the website access logs for a specific time range using a presigned URL.
     * 
     * 
     * @param generateAccessLogsRequest
     *        The request structure for the generate access logs request.
     * @return Result of the GenerateAccessLogs operation returned by the service.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.GenerateAccessLogs
     * @see AWS API
     *      Documentation
     */
    GenerateAccessLogsResult generateAccessLogs(GenerateAccessLogsRequest generateAccessLogsRequest);
    /**
     * 
     * Returns an existing Amplify app specified by an app ID.
     * 
     * 
     * @param getAppRequest
     *        The request structure for the get app request.
     * @return Result of the GetApp operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.GetApp
     * @see AWS API
     *      Documentation
     */
    GetAppResult getApp(GetAppRequest getAppRequest);
    /**
     * 
     * Returns the artifact info that corresponds to an artifact id.
     * 
     * 
     * @param getArtifactUrlRequest
     *        Returns the request structure for the get artifact request.
     * @return Result of the GetArtifactUrl operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.GetArtifactUrl
     * @see AWS API
     *      Documentation
     */
    GetArtifactUrlResult getArtifactUrl(GetArtifactUrlRequest getArtifactUrlRequest);
    /**
     * 
     * Returns a backend environment for an Amplify app.
     * 
     * 
     * This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the
     * Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an
     * application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.
     * 
     * 
     * @param getBackendEnvironmentRequest
     *        The request structure for the get backend environment request.
     * @return Result of the GetBackendEnvironment operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.GetBackendEnvironment
     * @see AWS
     *      API Documentation
     */
    GetBackendEnvironmentResult getBackendEnvironment(GetBackendEnvironmentRequest getBackendEnvironmentRequest);
    /**
     * 
     * Returns a branch for an Amplify app.
     * 
     * 
     * @param getBranchRequest
     *        The request structure for the get branch request.
     * @return Result of the GetBranch operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.GetBranch
     * @see AWS API
     *      Documentation
     */
    GetBranchResult getBranch(GetBranchRequest getBranchRequest);
    /**
     * 
     * Returns the domain information for an Amplify app.
     * 
     * 
     * @param getDomainAssociationRequest
     *        The request structure for the get domain association request.
     * @return Result of the GetDomainAssociation operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.GetDomainAssociation
     * @see AWS
     *      API Documentation
     */
    GetDomainAssociationResult getDomainAssociation(GetDomainAssociationRequest getDomainAssociationRequest);
    /**
     * 
     * Returns a job for a branch of an Amplify app.
     * 
     * 
     * @param getJobRequest
     *        The request structure for the get job request.
     * @return Result of the GetJob operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.GetJob
     * @see AWS API
     *      Documentation
     */
    GetJobResult getJob(GetJobRequest getJobRequest);
    /**
     * 
     * Returns the webhook information that corresponds to a specified webhook ID.
     * 
     * 
     * @param getWebhookRequest
     *        The request structure for the get webhook request.
     * @return Result of the GetWebhook operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.GetWebhook
     * @see AWS API
     *      Documentation
     */
    GetWebhookResult getWebhook(GetWebhookRequest getWebhookRequest);
    /**
     * 
     * Returns a list of the existing Amplify apps.
     * 
     * 
     * @param listAppsRequest
     *        The request structure for the list apps request.
     * @return Result of the ListApps operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.ListApps
     * @see AWS API
     *      Documentation
     */
    ListAppsResult listApps(ListAppsRequest listAppsRequest);
    /**
     * 
     * Returns a list of artifacts for a specified app, branch, and job.
     * 
     * 
     * @param listArtifactsRequest
     *        Describes the request structure for the list artifacts request.
     * @return Result of the ListArtifacts operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.ListArtifacts
     * @see AWS API
     *      Documentation
     */
    ListArtifactsResult listArtifacts(ListArtifactsRequest listArtifactsRequest);
    /**
     * 
     * Lists the backend environments for an Amplify app.
     * 
     * 
     * This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the
     * Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an
     * application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.
     * 
     * 
     * @param listBackendEnvironmentsRequest
     *        The request structure for the list backend environments request.
     * @return Result of the ListBackendEnvironments operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.ListBackendEnvironments
     * @see AWS API Documentation
     */
    ListBackendEnvironmentsResult listBackendEnvironments(ListBackendEnvironmentsRequest listBackendEnvironmentsRequest);
    /**
     * 
     * Lists the branches of an Amplify app.
     * 
     * 
     * @param listBranchesRequest
     *        The request structure for the list branches request.
     * @return Result of the ListBranches operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.ListBranches
     * @see AWS API
     *      Documentation
     */
    ListBranchesResult listBranches(ListBranchesRequest listBranchesRequest);
    /**
     * 
     * Returns the domain associations for an Amplify app.
     * 
     * 
     * @param listDomainAssociationsRequest
     *        The request structure for the list domain associations request.
     * @return Result of the ListDomainAssociations operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.ListDomainAssociations
     * @see AWS
     *      API Documentation
     */
    ListDomainAssociationsResult listDomainAssociations(ListDomainAssociationsRequest listDomainAssociationsRequest);
    /**
     * 
     * Lists the jobs for a branch of an Amplify app.
     * 
     * 
     * @param listJobsRequest
     *        The request structure for the list jobs request.
     * @return Result of the ListJobs operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.ListJobs
     * @see AWS API
     *      Documentation
     */
    ListJobsResult listJobs(ListJobsRequest listJobsRequest);
    /**
     * 
     * Returns a list of tags for a specified Amazon Resource Name (ARN).
     * 
     * 
     * @param listTagsForResourceRequest
     *        The request structure to use to list tags for a resource.
     * @return Result of the ListTagsForResource operation returned by the service.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws ResourceNotFoundException
     *         An operation failed due to a non-existent resource.
     * @sample AWSAmplify.ListTagsForResource
     * @see AWS
     *      API Documentation
     */
    ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
    /**
     * 
     * Returns a list of webhooks for an Amplify app.
     * 
     * 
     * @param listWebhooksRequest
     *        The request structure for the list webhooks request.
     * @return Result of the ListWebhooks operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.ListWebhooks
     * @see AWS API
     *      Documentation
     */
    ListWebhooksResult listWebhooks(ListWebhooksRequest listWebhooksRequest);
    /**
     * 
     * Starts a deployment for a manually deployed app. Manually deployed apps are not connected to a repository.
     * 
     * 
     * The maximum duration between the CreateDeployment call and the StartDeployment call
     * cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated
     * Job will fail.
     * 
     * 
     * @param startDeploymentRequest
     *        The request structure for the start a deployment request.
     * @return Result of the StartDeployment operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.StartDeployment
     * @see AWS API
     *      Documentation
     */
    StartDeploymentResult startDeployment(StartDeploymentRequest startDeploymentRequest);
    /**
     * 
     * Starts a new job for a branch of an Amplify app.
     * 
     * 
     * @param startJobRequest
     *        The request structure for the start job request.
     * @return Result of the StartJob operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.StartJob
     * @see AWS API
     *      Documentation
     */
    StartJobResult startJob(StartJobRequest startJobRequest);
    /**
     * 
     * Stops a job that is in progress for a branch of an Amplify app.
     * 
     * 
     * @param stopJobRequest
     *        The request structure for the stop job request.
     * @return Result of the StopJob operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws LimitExceededException
     *         A resource could not be created because service quotas were exceeded.
     * @sample AWSAmplify.StopJob
     * @see AWS API
     *      Documentation
     */
    StopJobResult stopJob(StopJobRequest stopJobRequest);
    /**
     * 
     * Tags the resource with a tag key and value.
     * 
     * 
     * @param tagResourceRequest
     *        The request structure to tag a resource with a tag key and value.
     * @return Result of the TagResource operation returned by the service.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws ResourceNotFoundException
     *         An operation failed due to a non-existent resource.
     * @sample AWSAmplify.TagResource
     * @see AWS API
     *      Documentation
     */
    TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
    /**
     * 
     * Untags a resource with a specified Amazon Resource Name (ARN).
     * 
     * 
     * @param untagResourceRequest
     *        The request structure for the untag resource request.
     * @return Result of the UntagResource operation returned by the service.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws ResourceNotFoundException
     *         An operation failed due to a non-existent resource.
     * @sample AWSAmplify.UntagResource
     * @see AWS API
     *      Documentation
     */
    UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
    /**
     * 
     * Updates an existing Amplify app.
     * 
     * 
     * @param updateAppRequest
     *        The request structure for the update app request.
     * @return Result of the UpdateApp operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @sample AWSAmplify.UpdateApp
     * @see AWS API
     *      Documentation
     */
    UpdateAppResult updateApp(UpdateAppRequest updateAppRequest);
    /**
     * 
     * Updates a branch for an Amplify app.
     * 
     * 
     * @param updateBranchRequest
     *        The request structure for the update branch request.
     * @return Result of the UpdateBranch operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.UpdateBranch
     * @see AWS API
     *      Documentation
     */
    UpdateBranchResult updateBranch(UpdateBranchRequest updateBranchRequest);
    /**
     * 
     * Creates a new domain association for an Amplify app.
     * 
     * 
     * @param updateDomainAssociationRequest
     *        The request structure for the update domain association request.
     * @return Result of the UpdateDomainAssociation operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.UpdateDomainAssociation
     * @see AWS API Documentation
     */
    UpdateDomainAssociationResult updateDomainAssociation(UpdateDomainAssociationRequest updateDomainAssociationRequest);
    /**
     * 
     * Updates a webhook.
     * 
     * 
     * @param updateWebhookRequest
     *        The request structure for the update webhook request.
     * @return Result of the UpdateWebhook operation returned by the service.
     * @throws BadRequestException
     *         A request contains unexpected data.
     * @throws UnauthorizedException
     *         An operation failed due to a lack of access.
     * @throws NotFoundException
     *         An entity was not found during an operation.
     * @throws InternalFailureException
     *         The service failed to perform an operation due to an internal issue.
     * @throws DependentServiceFailureException
     *         An operation failed because a dependent service threw an exception.
     * @sample AWSAmplify.UpdateWebhook
     * @see AWS API
     *      Documentation
     */
    UpdateWebhookResult updateWebhook(UpdateWebhookRequest updateWebhookRequest);
    /**
     * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
     * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
     * has been shutdown, it should not be used to make any more requests.
     */
    void shutdown();
    /**
     * Returns additional metadata for a previously executed successful request, typically used for debugging issues
     * where a service isn't acting as expected. This data isn't considered part of the result data returned by an
     * operation, so it's available through this separate, diagnostic interface.
     * 
     * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
     * information for an executed request, you should use this method to retrieve it as soon as possible after
     * executing a request.
     *
     * @param request
     *        The originally executed request.
     *
     * @return The response metadata for the specified request, or null if none is available.
     */
    ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}