/* * 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; import com.amazonaws.AmazonWebServiceRequest; /** * * @see AWS API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class StartAssetBundleExportJobRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *
* The ID of the Amazon Web Services account to export assets from. *
*/ private String awsAccountId; /** ** The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID * for another job. *
*/ private String assetBundleExportJobId; /** ** An array of resource ARNs to export. The following resources are supported. *
*
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the resources * can be exported. *
*/ private java.util.List
* A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job.
* For example, say you provided a Dashboard ARN to the ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource that is a
* dependency of the dashboard is also exported.
*
* The export data format. *
*/ private String exportFormat; /** ** An optional collection of structures that generate CloudFormation parameters to override the existing resource * property values when the resource is exported to a new CloudFormation template. *
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
API call
* is set to CLOUDFORMATION_JSON
.
*
* The ID of the Amazon Web Services account to export assets from. *
* * @param awsAccountId * The ID of the Amazon Web Services account to export assets from. */ public void setAwsAccountId(String awsAccountId) { this.awsAccountId = awsAccountId; } /** ** The ID of the Amazon Web Services account to export assets from. *
* * @return The ID of the Amazon Web Services account to export assets from. */ public String getAwsAccountId() { return this.awsAccountId; } /** ** The ID of the Amazon Web Services account to export assets from. *
* * @param awsAccountId * The ID of the Amazon Web Services account to export assets from. * @return Returns a reference to this object so that method calls can be chained together. */ public StartAssetBundleExportJobRequest withAwsAccountId(String awsAccountId) { setAwsAccountId(awsAccountId); return this; } /** ** The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID * for another job. *
* * @param assetBundleExportJobId * The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse * this ID for another job. */ public void setAssetBundleExportJobId(String assetBundleExportJobId) { this.assetBundleExportJobId = assetBundleExportJobId; } /** ** The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID * for another job. *
* * @return The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse * this ID for another job. */ public String getAssetBundleExportJobId() { return this.assetBundleExportJobId; } /** ** The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID * for another job. *
* * @param assetBundleExportJobId * The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse * this ID for another job. * @return Returns a reference to this object so that method calls can be chained together. */ public StartAssetBundleExportJobRequest withAssetBundleExportJobId(String assetBundleExportJobId) { setAssetBundleExportJobId(assetBundleExportJobId); return this; } /** ** An array of resource ARNs to export. The following resources are supported. *
*
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the resources * can be exported. *
* * @return An array of resource ARNs to export. The following resources are supported. *
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the
* resources can be exported.
*/
public java.util.List
* An array of resource ARNs to export. The following resources are supported.
*
*
*
*
*
*
*
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the resources
* can be exported.
*
*
* Analysis
* Dashboard
* DataSet
* DataSource
* RefreshSchedule
* Theme
* VPCConnection
*
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the
* resources can be exported.
*/
public void setResourceArns(java.util.Collection
* An array of resource ARNs to export. The following resources are supported.
*
*
*
*
*
*
*
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the resources
* can be exported.
*
* 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.
*
*
* Analysis
* Dashboard
* DataSet
* DataSource
* RefreshSchedule
* Theme
* VPCConnection
*
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the
* resources can be exported.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartAssetBundleExportJobRequest withResourceArns(String... resourceArns) {
if (this.resourceArns == null) {
setResourceArns(new java.util.ArrayList
* An array of resource ARNs to export. The following resources are supported.
*
*
*
*
*
*
*
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the resources
* can be exported.
*
*
* Analysis
* Dashboard
* DataSet
* DataSource
* RefreshSchedule
* Theme
* VPCConnection
*
* Analysis
*
* Dashboard
*
* DataSet
*
* DataSource
*
* RefreshSchedule
*
* Theme
*
* VPCConnection
*
* The API caller must have the necessary permissions in their IAM role to access each resource before the
* resources can be exported.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartAssetBundleExportJobRequest withResourceArns(java.util.Collection
* A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job.
* For example, say you provided a Dashboard ARN to the
* A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job.
* For example, say you provided a Dashboard ARN to the
* A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job.
* For example, say you provided a Dashboard ARN to the
* A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job.
* For example, say you provided a Dashboard ARN to the
* The export data format.
*
* The export data format.
*
* The export data format.
*
* The export data format.
*
* An optional collection of structures that generate CloudFormation parameters to override the existing resource
* property values when the resource is exported to a new CloudFormation template.
*
* Use this field if the ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource that is a
* dependency of the dashboard is also exported.
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource
* that is a dependency of the dashboard is also exported.
*/
public void setIncludeAllDependencies(Boolean includeAllDependencies) {
this.includeAllDependencies = includeAllDependencies;
}
/**
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource that is a
* dependency of the dashboard is also exported.
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource
* that is a dependency of the dashboard is also exported.
*/
public Boolean getIncludeAllDependencies() {
return this.includeAllDependencies;
}
/**
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource that is a
* dependency of the dashboard is also exported.
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource
* that is a dependency of the dashboard is also exported.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartAssetBundleExportJobRequest withIncludeAllDependencies(Boolean includeAllDependencies) {
setIncludeAllDependencies(includeAllDependencies);
return this;
}
/**
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource that is a
* dependency of the dashboard is also exported.
* ResourceArns
parameter. If you set
* IncludeAllDependencies
to TRUE
, any theme, dataset, and data source resource
* that is a dependency of the dashboard is also exported.
*/
public Boolean isIncludeAllDependencies() {
return this.includeAllDependencies;
}
/**
* ExportFormat
field of a StartAssetBundleExportJobRequest
API call
* is set to CLOUDFORMATION_JSON
.
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
* API call is set to CLOUDFORMATION_JSON
.
*/
public void setCloudFormationOverridePropertyConfiguration(
AssetBundleCloudFormationOverridePropertyConfiguration cloudFormationOverridePropertyConfiguration) {
this.cloudFormationOverridePropertyConfiguration = cloudFormationOverridePropertyConfiguration;
}
/**
*
* An optional collection of structures that generate CloudFormation parameters to override the existing resource * property values when the resource is exported to a new CloudFormation template. *
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
API call
* is set to CLOUDFORMATION_JSON
.
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
* API call is set to CLOUDFORMATION_JSON
.
*/
public AssetBundleCloudFormationOverridePropertyConfiguration getCloudFormationOverridePropertyConfiguration() {
return this.cloudFormationOverridePropertyConfiguration;
}
/**
*
* An optional collection of structures that generate CloudFormation parameters to override the existing resource * property values when the resource is exported to a new CloudFormation template. *
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
API call
* is set to CLOUDFORMATION_JSON
.
*
* Use this field if the ExportFormat
field of a StartAssetBundleExportJobRequest
* API call is set to CLOUDFORMATION_JSON
.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public StartAssetBundleExportJobRequest withCloudFormationOverridePropertyConfiguration(
AssetBundleCloudFormationOverridePropertyConfiguration cloudFormationOverridePropertyConfiguration) {
setCloudFormationOverridePropertyConfiguration(cloudFormationOverridePropertyConfiguration);
return this;
}
/**
* Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be
* redacted from this string using a placeholder value.
*
* @return A string representation of this object.
*
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{");
if (getAwsAccountId() != null)
sb.append("AwsAccountId: ").append(getAwsAccountId()).append(",");
if (getAssetBundleExportJobId() != null)
sb.append("AssetBundleExportJobId: ").append(getAssetBundleExportJobId()).append(",");
if (getResourceArns() != null)
sb.append("ResourceArns: ").append(getResourceArns()).append(",");
if (getIncludeAllDependencies() != null)
sb.append("IncludeAllDependencies: ").append(getIncludeAllDependencies()).append(",");
if (getExportFormat() != null)
sb.append("ExportFormat: ").append(getExportFormat()).append(",");
if (getCloudFormationOverridePropertyConfiguration() != null)
sb.append("CloudFormationOverridePropertyConfiguration: ").append(getCloudFormationOverridePropertyConfiguration());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof StartAssetBundleExportJobRequest == false)
return false;
StartAssetBundleExportJobRequest other = (StartAssetBundleExportJobRequest) obj;
if (other.getAwsAccountId() == null ^ this.getAwsAccountId() == null)
return false;
if (other.getAwsAccountId() != null && other.getAwsAccountId().equals(this.getAwsAccountId()) == false)
return false;
if (other.getAssetBundleExportJobId() == null ^ this.getAssetBundleExportJobId() == null)
return false;
if (other.getAssetBundleExportJobId() != null && other.getAssetBundleExportJobId().equals(this.getAssetBundleExportJobId()) == false)
return false;
if (other.getResourceArns() == null ^ this.getResourceArns() == null)
return false;
if (other.getResourceArns() != null && other.getResourceArns().equals(this.getResourceArns()) == false)
return false;
if (other.getIncludeAllDependencies() == null ^ this.getIncludeAllDependencies() == null)
return false;
if (other.getIncludeAllDependencies() != null && other.getIncludeAllDependencies().equals(this.getIncludeAllDependencies()) == false)
return false;
if (other.getExportFormat() == null ^ this.getExportFormat() == null)
return false;
if (other.getExportFormat() != null && other.getExportFormat().equals(this.getExportFormat()) == false)
return false;
if (other.getCloudFormationOverridePropertyConfiguration() == null ^ this.getCloudFormationOverridePropertyConfiguration() == null)
return false;
if (other.getCloudFormationOverridePropertyConfiguration() != null
&& other.getCloudFormationOverridePropertyConfiguration().equals(this.getCloudFormationOverridePropertyConfiguration()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getAwsAccountId() == null) ? 0 : getAwsAccountId().hashCode());
hashCode = prime * hashCode + ((getAssetBundleExportJobId() == null) ? 0 : getAssetBundleExportJobId().hashCode());
hashCode = prime * hashCode + ((getResourceArns() == null) ? 0 : getResourceArns().hashCode());
hashCode = prime * hashCode + ((getIncludeAllDependencies() == null) ? 0 : getIncludeAllDependencies().hashCode());
hashCode = prime * hashCode + ((getExportFormat() == null) ? 0 : getExportFormat().hashCode());
hashCode = prime * hashCode
+ ((getCloudFormationOverridePropertyConfiguration() == null) ? 0 : getCloudFormationOverridePropertyConfiguration().hashCode());
return hashCode;
}
@Override
public StartAssetBundleExportJobRequest clone() {
return (StartAssetBundleExportJobRequest) super.clone();
}
}