com.amazonaws.services.backup.model.ReportJob Maven / Gradle / Ivy
Show all versions of aws-java-sdk-backup Show documentation
/*
* 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.backup.model;
import java.io.Serializable;
import javax.annotation.Generated;
import com.amazonaws.protocol.StructuredPojo;
import com.amazonaws.protocol.ProtocolMarshaller;
/**
*
* Contains detailed information about a report job. A report job compiles a report based on a report plan and publishes
* it to Amazon S3.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class ReportJob implements Serializable, Cloneable, StructuredPojo {
/**
*
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most
* 1,024 bytes long. Report job IDs cannot be edited.
*
*/
private String reportJobId;
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*/
private String reportPlanArn;
/**
*
* Identifies the report template for the report. Reports are built using a report template. The report templates
* are:
*
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*
*/
private String reportTemplate;
/**
*
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The value of
* CreationTime
is accurate to milliseconds. For example, the value 1516925490.087 represents Friday,
* January 26, 2018 12:11:30.087 AM.
*
*/
private java.util.Date creationTime;
/**
*
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The value
* of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087 represents
* Friday, January 26, 2018 12:11:30.087 AM.
*
*/
private java.util.Date completionTime;
/**
*
* The status of a report job. The statuses are:
*
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination. If the
* status is FAILED
, review the StatusMessage
for the reason.
*
*/
private String status;
/**
*
* A message explaining the status of the report job.
*
*/
private String statusMessage;
/**
*
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*
*/
private ReportDestination reportDestination;
/**
*
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most
* 1,024 bytes long. Report job IDs cannot be edited.
*
*
* @param reportJobId
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at
* most 1,024 bytes long. Report job IDs cannot be edited.
*/
public void setReportJobId(String reportJobId) {
this.reportJobId = reportJobId;
}
/**
*
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most
* 1,024 bytes long. Report job IDs cannot be edited.
*
*
* @return The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at
* most 1,024 bytes long. Report job IDs cannot be edited.
*/
public String getReportJobId() {
return this.reportJobId;
}
/**
*
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at most
* 1,024 bytes long. Report job IDs cannot be edited.
*
*
* @param reportJobId
* The identifier for a report job. A unique, randomly generated, Unicode, UTF-8 encoded string that is at
* most 1,024 bytes long. Report job IDs cannot be edited.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withReportJobId(String reportJobId) {
setReportJobId(reportJobId);
return this;
}
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*
* @param reportPlanArn
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the
* resource type.
*/
public void setReportPlanArn(String reportPlanArn) {
this.reportPlanArn = reportPlanArn;
}
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*
* @return An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the
* resource type.
*/
public String getReportPlanArn() {
return this.reportPlanArn;
}
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*
* @param reportPlanArn
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the
* resource type.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withReportPlanArn(String reportPlanArn) {
setReportPlanArn(reportPlanArn);
return this;
}
/**
*
* Identifies the report template for the report. Reports are built using a report template. The report templates
* are:
*
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*
*
* @param reportTemplate
* Identifies the report template for the report. Reports are built using a report template. The report
* templates are:
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*/
public void setReportTemplate(String reportTemplate) {
this.reportTemplate = reportTemplate;
}
/**
*
* Identifies the report template for the report. Reports are built using a report template. The report templates
* are:
*
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*
*
* @return Identifies the report template for the report. Reports are built using a report template. The report
* templates are:
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*/
public String getReportTemplate() {
return this.reportTemplate;
}
/**
*
* Identifies the report template for the report. Reports are built using a report template. The report templates
* are:
*
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
*
*
* @param reportTemplate
* Identifies the report template for the report. Reports are built using a report template. The report
* templates are:
*
* RESOURCE_COMPLIANCE_REPORT | CONTROL_COMPLIANCE_REPORT | BACKUP_JOB_REPORT | COPY_JOB_REPORT | RESTORE_JOB_REPORT
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withReportTemplate(String reportTemplate) {
setReportTemplate(reportTemplate);
return this;
}
/**
*
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The value of
* CreationTime
is accurate to milliseconds. For example, the value 1516925490.087 represents Friday,
* January 26, 2018 12:11:30.087 AM.
*
*
* @param creationTime
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The
* value of CreationTime
is accurate to milliseconds. For example, the value 1516925490.087
* represents Friday, January 26, 2018 12:11:30.087 AM.
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
*
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The value of
* CreationTime
is accurate to milliseconds. For example, the value 1516925490.087 represents Friday,
* January 26, 2018 12:11:30.087 AM.
*
*
* @return The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The
* value of CreationTime
is accurate to milliseconds. For example, the value 1516925490.087
* represents Friday, January 26, 2018 12:11:30.087 AM.
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
*
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The value of
* CreationTime
is accurate to milliseconds. For example, the value 1516925490.087 represents Friday,
* January 26, 2018 12:11:30.087 AM.
*
*
* @param creationTime
* The date and time that a report job is created, in Unix format and Coordinated Universal Time (UTC). The
* value of CreationTime
is accurate to milliseconds. For example, the value 1516925490.087
* represents Friday, January 26, 2018 12:11:30.087 AM.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
*
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The value
* of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087 represents
* Friday, January 26, 2018 12:11:30.087 AM.
*
*
* @param completionTime
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The
* value of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087
* represents Friday, January 26, 2018 12:11:30.087 AM.
*/
public void setCompletionTime(java.util.Date completionTime) {
this.completionTime = completionTime;
}
/**
*
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The value
* of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087 represents
* Friday, January 26, 2018 12:11:30.087 AM.
*
*
* @return The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC).
* The value of CompletionTime
is accurate to milliseconds. For example, the value
* 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM.
*/
public java.util.Date getCompletionTime() {
return this.completionTime;
}
/**
*
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The value
* of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087 represents
* Friday, January 26, 2018 12:11:30.087 AM.
*
*
* @param completionTime
* The date and time that a report job is completed, in Unix format and Coordinated Universal Time (UTC). The
* value of CompletionTime
is accurate to milliseconds. For example, the value 1516925490.087
* represents Friday, January 26, 2018 12:11:30.087 AM.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withCompletionTime(java.util.Date completionTime) {
setCompletionTime(completionTime);
return this;
}
/**
*
* The status of a report job. The statuses are:
*
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination. If the
* status is FAILED
, review the StatusMessage
for the reason.
*
*
* @param status
* The status of a report job. The statuses are:
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination.
* If the status is FAILED
, review the StatusMessage
for the reason.
*/
public void setStatus(String status) {
this.status = status;
}
/**
*
* The status of a report job. The statuses are:
*
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination. If the
* status is FAILED
, review the StatusMessage
for the reason.
*
*
* @return The status of a report job. The statuses are:
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination.
* If the status is FAILED
, review the StatusMessage
for the reason.
*/
public String getStatus() {
return this.status;
}
/**
*
* The status of a report job. The statuses are:
*
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination. If the
* status is FAILED
, review the StatusMessage
for the reason.
*
*
* @param status
* The status of a report job. The statuses are:
*
* CREATED | RUNNING | COMPLETED | FAILED
*
*
* COMPLETED
means that the report is available for your review at your designated destination.
* If the status is FAILED
, review the StatusMessage
for the reason.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withStatus(String status) {
setStatus(status);
return this;
}
/**
*
* A message explaining the status of the report job.
*
*
* @param statusMessage
* A message explaining the status of the report job.
*/
public void setStatusMessage(String statusMessage) {
this.statusMessage = statusMessage;
}
/**
*
* A message explaining the status of the report job.
*
*
* @return A message explaining the status of the report job.
*/
public String getStatusMessage() {
return this.statusMessage;
}
/**
*
* A message explaining the status of the report job.
*
*
* @param statusMessage
* A message explaining the status of the report job.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withStatusMessage(String statusMessage) {
setStatusMessage(statusMessage);
return this;
}
/**
*
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*
*
* @param reportDestination
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*/
public void setReportDestination(ReportDestination reportDestination) {
this.reportDestination = reportDestination;
}
/**
*
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*
*
* @return The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*/
public ReportDestination getReportDestination() {
return this.reportDestination;
}
/**
*
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
*
*
* @param reportDestination
* The S3 bucket name and S3 keys for the destination where the report job publishes the report.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public ReportJob withReportDestination(ReportDestination reportDestination) {
setReportDestination(reportDestination);
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 (getReportJobId() != null)
sb.append("ReportJobId: ").append(getReportJobId()).append(",");
if (getReportPlanArn() != null)
sb.append("ReportPlanArn: ").append(getReportPlanArn()).append(",");
if (getReportTemplate() != null)
sb.append("ReportTemplate: ").append(getReportTemplate()).append(",");
if (getCreationTime() != null)
sb.append("CreationTime: ").append(getCreationTime()).append(",");
if (getCompletionTime() != null)
sb.append("CompletionTime: ").append(getCompletionTime()).append(",");
if (getStatus() != null)
sb.append("Status: ").append(getStatus()).append(",");
if (getStatusMessage() != null)
sb.append("StatusMessage: ").append(getStatusMessage()).append(",");
if (getReportDestination() != null)
sb.append("ReportDestination: ").append(getReportDestination());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof ReportJob == false)
return false;
ReportJob other = (ReportJob) obj;
if (other.getReportJobId() == null ^ this.getReportJobId() == null)
return false;
if (other.getReportJobId() != null && other.getReportJobId().equals(this.getReportJobId()) == false)
return false;
if (other.getReportPlanArn() == null ^ this.getReportPlanArn() == null)
return false;
if (other.getReportPlanArn() != null && other.getReportPlanArn().equals(this.getReportPlanArn()) == false)
return false;
if (other.getReportTemplate() == null ^ this.getReportTemplate() == null)
return false;
if (other.getReportTemplate() != null && other.getReportTemplate().equals(this.getReportTemplate()) == false)
return false;
if (other.getCreationTime() == null ^ this.getCreationTime() == null)
return false;
if (other.getCreationTime() != null && other.getCreationTime().equals(this.getCreationTime()) == false)
return false;
if (other.getCompletionTime() == null ^ this.getCompletionTime() == null)
return false;
if (other.getCompletionTime() != null && other.getCompletionTime().equals(this.getCompletionTime()) == false)
return false;
if (other.getStatus() == null ^ this.getStatus() == null)
return false;
if (other.getStatus() != null && other.getStatus().equals(this.getStatus()) == false)
return false;
if (other.getStatusMessage() == null ^ this.getStatusMessage() == null)
return false;
if (other.getStatusMessage() != null && other.getStatusMessage().equals(this.getStatusMessage()) == false)
return false;
if (other.getReportDestination() == null ^ this.getReportDestination() == null)
return false;
if (other.getReportDestination() != null && other.getReportDestination().equals(this.getReportDestination()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getReportJobId() == null) ? 0 : getReportJobId().hashCode());
hashCode = prime * hashCode + ((getReportPlanArn() == null) ? 0 : getReportPlanArn().hashCode());
hashCode = prime * hashCode + ((getReportTemplate() == null) ? 0 : getReportTemplate().hashCode());
hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
hashCode = prime * hashCode + ((getCompletionTime() == null) ? 0 : getCompletionTime().hashCode());
hashCode = prime * hashCode + ((getStatus() == null) ? 0 : getStatus().hashCode());
hashCode = prime * hashCode + ((getStatusMessage() == null) ? 0 : getStatusMessage().hashCode());
hashCode = prime * hashCode + ((getReportDestination() == null) ? 0 : getReportDestination().hashCode());
return hashCode;
}
@Override
public ReportJob clone() {
try {
return (ReportJob) super.clone();
} catch (CloneNotSupportedException e) {
throw new IllegalStateException("Got a CloneNotSupportedException from Object.clone() " + "even though we're Cloneable!", e);
}
}
@com.amazonaws.annotation.SdkInternalApi
@Override
public void marshall(ProtocolMarshaller protocolMarshaller) {
com.amazonaws.services.backup.model.transform.ReportJobMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}