/*
 * Copyright 2018-2023 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.quicksight.model;
import java.io.Serializable;
import javax.annotation.Generated;
/**
 * 
 * @see AWS API Documentation
 */
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class DescribeAssetBundleExportJobResult extends com.amazonaws.AmazonWebServiceResult 
     * Indicates the status of a job through its queuing and execution.
     *  
     * Poll this  
     * The URL to download the exported asset bundle data from.
     *  
     * This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance. Call
     *  
     * The downloaded asset bundle is a zip file named  
     * This URL can't be used in a  
     * An array of error records that describes any failures that occurred during the export job processing.
     *  
     * Error records accumulate while the job runs. The complete set of error records is available after the job has
     * completed and failed.
     *  
     * The Amazon Resource Name (ARN) for the export job.
     *  
     * The time that the export job was created.
     *  
     * The ID of the job. The job ID is set when you start a new job with a  
     * The ID of the Amazon Web Services account that the export job was executed in.
     *  
     * A list of resource ARNs that exported with the job.
     *  
     * The include dependencies flag.
     *  
     * The format of the exported asset bundle. A  
     * The CloudFormation override property configuration for the export job.
     *  
     * The Amazon Web Services request ID for this operation.
     *  
     * The HTTP status of the response.
     *  
     * Indicates the status of a job through its queuing and execution.
     *  
     * Poll this DescribeAssetBundleExportApi until JobStatus is either
     * SUCCESSFUL or FAILED.
     * DescribeAssetBundleExportJob again for a fresh URL if needed.
     * assetbundle-{jobId}.qs. The file has a
     * .qs extension.
     * StartAssetBundleImportJob API call and should only be used for download
     * purposes.
     * StartAssetBundleExportJob API
     * call.
     * QUICKSIGHT_JSON formatted file can be used to make a
     * StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can be used in
     * the CloudFormation console and with the CloudFormation APIs.
     * DescribeAssetBundleExportApi until JobStatus is either
     * SUCCESSFUL or FAILED.
     * 
     *        Poll this DescribeAssetBundleExportApi until JobStatus is either
     *        SUCCESSFUL or FAILED.
     * @see AssetBundleExportJobStatus
     */
    public void setJobStatus(String jobStatus) {
        this.jobStatus = jobStatus;
    }
    /**
     * 
* Indicates the status of a job through its queuing and execution. *
*
     * Poll this DescribeAssetBundleExportApi until JobStatus is either
     * SUCCESSFUL or FAILED.
     * 
     *         Poll this DescribeAssetBundleExportApi until JobStatus is either
     *         SUCCESSFUL or FAILED.
     * @see AssetBundleExportJobStatus
     */
    public String getJobStatus() {
        return this.jobStatus;
    }
    /**
     * 
* Indicates the status of a job through its queuing and execution. *
*
     * Poll this DescribeAssetBundleExportApi until JobStatus is either
     * SUCCESSFUL or FAILED.
     * 
     *        Poll this DescribeAssetBundleExportApi until JobStatus is either
     *        SUCCESSFUL or FAILED.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AssetBundleExportJobStatus
     */
    public DescribeAssetBundleExportJobResult withJobStatus(String jobStatus) {
        setJobStatus(jobStatus);
        return this;
    }
    /**
     * 
* Indicates the status of a job through its queuing and execution. *
*
     * Poll this DescribeAssetBundleExportApi until JobStatus is either
     * SUCCESSFUL or FAILED.
     * 
     *        Poll this DescribeAssetBundleExportApi until JobStatus is either
     *        SUCCESSFUL or FAILED.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AssetBundleExportJobStatus
     */
    public DescribeAssetBundleExportJobResult withJobStatus(AssetBundleExportJobStatus jobStatus) {
        this.jobStatus = jobStatus.toString();
        return this;
    }
    /**
     * 
* The URL to download the exported asset bundle data from. *
*
     * This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance. Call
     * DescribeAssetBundleExportJob again for a fresh URL if needed.
     * 
     * The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     * .qs extension.
     * 
     * This URL can't be used in a StartAssetBundleImportJob API call and should only be used for download
     * purposes.
     * 
     *        This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance.
     *        Call DescribeAssetBundleExportJob again for a fresh URL if needed.
     *        
     *        The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     *        .qs extension.
     *        
     *        This URL can't be used in a StartAssetBundleImportJob API call and should only be used for
     *        download purposes.
     */
    public void setDownloadUrl(String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }
    /**
     * 
* The URL to download the exported asset bundle data from. *
*
     * This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance. Call
     * DescribeAssetBundleExportJob again for a fresh URL if needed.
     * 
     * The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     * .qs extension.
     * 
     * This URL can't be used in a StartAssetBundleImportJob API call and should only be used for download
     * purposes.
     * 
     *         This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance.
     *         Call DescribeAssetBundleExportJob again for a fresh URL if needed.
     *         
     *         The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     *         .qs extension.
     *         
     *         This URL can't be used in a StartAssetBundleImportJob API call and should only be used for
     *         download purposes.
     */
    public String getDownloadUrl() {
        return this.downloadUrl;
    }
    /**
     * 
* The URL to download the exported asset bundle data from. *
*
     * This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance. Call
     * DescribeAssetBundleExportJob again for a fresh URL if needed.
     * 
     * The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     * .qs extension.
     * 
     * This URL can't be used in a StartAssetBundleImportJob API call and should only be used for download
     * purposes.
     * 
     *        This URL is available only after the job has succeeded. This URL is valid for 5 minutes after issuance.
     *        Call DescribeAssetBundleExportJob again for a fresh URL if needed.
     *        
     *        The downloaded asset bundle is a zip file named assetbundle-{jobId}.qs. The file has a
     *        .qs extension.
     *        
     *        This URL can't be used in a StartAssetBundleImportJob API call and should only be used for
     *        download purposes.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeAssetBundleExportJobResult withDownloadUrl(String downloadUrl) {
        setDownloadUrl(downloadUrl);
        return this;
    }
    /**
     * 
* An array of error records that describes any failures that occurred during the export job processing. *
** Error records accumulate while the job runs. The complete set of error records is available after the job has * completed and failed. *
* * @return An array of error records that describes any failures that occurred during the export job processing. *
     *         Error records accumulate while the job runs. The complete set of error records is available after the job
     *         has completed and failed.
     */
    public java.util.List 
     * An array of error records that describes any failures that occurred during the export job processing.
     *  
     * Error records accumulate while the job runs. The complete set of error records is available after the job has
     * completed and failed.
     * 
     *        Error records accumulate while the job runs. The complete set of error records is available after the job
     *        has completed and failed.
     */
    public void setErrors(java.util.Collection 
     * An array of error records that describes any failures that occurred during the export job processing.
     *  
     * Error records accumulate while the job runs. The complete set of error records is available after the job has
     * completed and failed.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setErrors(java.util.Collection)} or {@link #withErrors(java.util.Collection)} if you want to override the
     * existing values.
     * 
     *        Error records accumulate while the job runs. The complete set of error records is available after the job
     *        has completed and failed.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeAssetBundleExportJobResult withErrors(AssetBundleExportJobError... errors) {
        if (this.errors == null) {
            setErrors(new java.util.ArrayList 
     * An array of error records that describes any failures that occurred during the export job processing.
     *  
     * Error records accumulate while the job runs. The complete set of error records is available after the job has
     * completed and failed.
     * 
     *        Error records accumulate while the job runs. The complete set of error records is available after the job
     *        has completed and failed.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeAssetBundleExportJobResult withErrors(java.util.Collection 
     * The Amazon Resource Name (ARN) for the export job.
     *  
     * The Amazon Resource Name (ARN) for the export job.
     *  
     * The Amazon Resource Name (ARN) for the export job.
     *  
     * The time that the export job was created.
     *  
     * The time that the export job was created.
     *  
     * The time that the export job was created.
     *  
     * The ID of the job. The job ID is set when you start a new job with a  
     * The ID of the job. The job ID is set when you start a new job with a  
     * The ID of the job. The job ID is set when you start a new job with a  
     * The ID of the Amazon Web Services account that the export job was executed in.
     *  
     * The ID of the Amazon Web Services account that the export job was executed in.
     *  
     * The ID of the Amazon Web Services account that the export job was executed in.
     *  
     * A list of resource ARNs that exported with the job.
     *  
     * A list of resource ARNs that exported with the job.
     *  
     * A list of resource ARNs that exported with the job.
     *  
     * NOTE: This method appends the values to the existing list (if any). Use
     * {@link #setResourceArns(java.util.Collection)} or {@link #withResourceArns(java.util.Collection)} if you want to
     * override the existing values.
     *  
     * A list of resource ARNs that exported with the job.
     *  
     * The include dependencies flag.
     *  
     * The include dependencies flag.
     *  
     * The include dependencies flag.
     *  
     * The include dependencies flag.
     *  
     * The format of the exported asset bundle. A  
     * The format of the exported asset bundle. A  
     * The format of the exported asset bundle. A  
     * The format of the exported asset bundle. A  
     * The CloudFormation override property configuration for the export job.
     *  
     * The CloudFormation override property configuration for the export job.
     *  
     * The CloudFormation override property configuration for the export job.
     *  
     * The Amazon Web Services request ID for this operation.
     *  
     * The Amazon Web Services request ID for this operation.
     *  
     * The Amazon Web Services request ID for this operation.
     *  
     * The HTTP status of the response.
     *  
     * The HTTP status of the response.
     *  
     * The HTTP status of the response.
     * StartAssetBundleExportJob API
     * call.
     * StartAssetBundleExportJob API call.
     */
    public void setAssetBundleExportJobId(String assetBundleExportJobId) {
        this.assetBundleExportJobId = assetBundleExportJobId;
    }
    /**
     * StartAssetBundleExportJob API
     * call.
     * StartAssetBundleExportJob API call.
     */
    public String getAssetBundleExportJobId() {
        return this.assetBundleExportJobId;
    }
    /**
     * StartAssetBundleExportJob API
     * call.
     * StartAssetBundleExportJob API call.
     * @return Returns a reference to this object so that method calls can be chained together.
     */
    public DescribeAssetBundleExportJobResult withAssetBundleExportJobId(String assetBundleExportJobId) {
        setAssetBundleExportJobId(assetBundleExportJobId);
        return this;
    }
    /**
     * QUICKSIGHT_JSON formatted file can be used to make a
     * StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can be used in
     * the CloudFormation console and with the CloudFormation APIs.
     * QUICKSIGHT_JSON formatted file can be used to make
     *        a StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can
     *        be used in the CloudFormation console and with the CloudFormation APIs.
     * @see AssetBundleExportFormat
     */
    public void setExportFormat(String exportFormat) {
        this.exportFormat = exportFormat;
    }
    /**
     * QUICKSIGHT_JSON formatted file can be used to make a
     * StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can be used in
     * the CloudFormation console and with the CloudFormation APIs.
     * QUICKSIGHT_JSON formatted file can be used to
     *         make a StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file
     *         can be used in the CloudFormation console and with the CloudFormation APIs.
     * @see AssetBundleExportFormat
     */
    public String getExportFormat() {
        return this.exportFormat;
    }
    /**
     * QUICKSIGHT_JSON formatted file can be used to make a
     * StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can be used in
     * the CloudFormation console and with the CloudFormation APIs.
     * QUICKSIGHT_JSON formatted file can be used to make
     *        a StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can
     *        be used in the CloudFormation console and with the CloudFormation APIs.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AssetBundleExportFormat
     */
    public DescribeAssetBundleExportJobResult withExportFormat(String exportFormat) {
        setExportFormat(exportFormat);
        return this;
    }
    /**
     * QUICKSIGHT_JSON formatted file can be used to make a
     * StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can be used in
     * the CloudFormation console and with the CloudFormation APIs.
     * QUICKSIGHT_JSON formatted file can be used to make
     *        a StartAssetBundleImportJob API call. A CLOUDFORMATION_JSON formatted file can
     *        be used in the CloudFormation console and with the CloudFormation APIs.
     * @return Returns a reference to this object so that method calls can be chained together.
     * @see AssetBundleExportFormat
     */
    public DescribeAssetBundleExportJobResult withExportFormat(AssetBundleExportFormat exportFormat) {
        this.exportFormat = exportFormat.toString();
        return this;
    }
    /**
     *