com.amazonaws.services.backup.model.Framework Maven / Gradle / Ivy
Show all versions of aws-java-sdk-backup Show documentation
/*
* Copyright 2017-2022 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 framework. Frameworks contain controls, which evaluate and report on your
* backup events and resources. Frameworks generate daily compliance results.
*
*
* @see AWS API
* Documentation
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class Framework implements Serializable, Cloneable, StructuredPojo {
/**
*
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting
* of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*
*/
private String frameworkName;
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*/
private String frameworkArn;
/**
*
* An optional description of the framework with a maximum 1,024 characters.
*
*/
private String frameworkDescription;
/**
*
* The number of controls contained by the framework.
*
*/
private Integer numberOfControls;
/**
*
* The date and time that a framework is created, in ISO 8601 representation. The value of CreationTime
* is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00 represents the 10th of July 2020 at 3:00
* PM 8 hours behind UTC.
*
*/
private java.util.Date creationTime;
/**
*
* The deployment status of a framework. The statuses are:
*
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*
*/
private String deploymentStatus;
/**
*
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting
* of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*
*
* @param frameworkName
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and
* consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*/
public void setFrameworkName(String frameworkName) {
this.frameworkName = frameworkName;
}
/**
*
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting
* of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*
*
* @return The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and
* consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*/
public String getFrameworkName() {
return this.frameworkName;
}
/**
*
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and consisting
* of letters (a-z, A-Z), numbers (0-9), and underscores (_).
*
*
* @param frameworkName
* The unique name of a framework. This name is between 1 and 256 characters, starting with a letter, and
* consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Framework withFrameworkName(String frameworkName) {
setFrameworkName(frameworkName);
return this;
}
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*
* @param frameworkArn
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the
* resource type.
*/
public void setFrameworkArn(String frameworkArn) {
this.frameworkArn = frameworkArn;
}
/**
*
* 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 getFrameworkArn() {
return this.frameworkArn;
}
/**
*
* An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource
* type.
*
*
* @param frameworkArn
* 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 Framework withFrameworkArn(String frameworkArn) {
setFrameworkArn(frameworkArn);
return this;
}
/**
*
* An optional description of the framework with a maximum 1,024 characters.
*
*
* @param frameworkDescription
* An optional description of the framework with a maximum 1,024 characters.
*/
public void setFrameworkDescription(String frameworkDescription) {
this.frameworkDescription = frameworkDescription;
}
/**
*
* An optional description of the framework with a maximum 1,024 characters.
*
*
* @return An optional description of the framework with a maximum 1,024 characters.
*/
public String getFrameworkDescription() {
return this.frameworkDescription;
}
/**
*
* An optional description of the framework with a maximum 1,024 characters.
*
*
* @param frameworkDescription
* An optional description of the framework with a maximum 1,024 characters.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Framework withFrameworkDescription(String frameworkDescription) {
setFrameworkDescription(frameworkDescription);
return this;
}
/**
*
* The number of controls contained by the framework.
*
*
* @param numberOfControls
* The number of controls contained by the framework.
*/
public void setNumberOfControls(Integer numberOfControls) {
this.numberOfControls = numberOfControls;
}
/**
*
* The number of controls contained by the framework.
*
*
* @return The number of controls contained by the framework.
*/
public Integer getNumberOfControls() {
return this.numberOfControls;
}
/**
*
* The number of controls contained by the framework.
*
*
* @param numberOfControls
* The number of controls contained by the framework.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Framework withNumberOfControls(Integer numberOfControls) {
setNumberOfControls(numberOfControls);
return this;
}
/**
*
* The date and time that a framework is created, in ISO 8601 representation. The value of CreationTime
* is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00 represents the 10th of July 2020 at 3:00
* PM 8 hours behind UTC.
*
*
* @param creationTime
* The date and time that a framework is created, in ISO 8601 representation. The value of
* CreationTime
is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00
* represents the 10th of July 2020 at 3:00 PM 8 hours behind UTC.
*/
public void setCreationTime(java.util.Date creationTime) {
this.creationTime = creationTime;
}
/**
*
* The date and time that a framework is created, in ISO 8601 representation. The value of CreationTime
* is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00 represents the 10th of July 2020 at 3:00
* PM 8 hours behind UTC.
*
*
* @return The date and time that a framework is created, in ISO 8601 representation. The value of
* CreationTime
is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00
* represents the 10th of July 2020 at 3:00 PM 8 hours behind UTC.
*/
public java.util.Date getCreationTime() {
return this.creationTime;
}
/**
*
* The date and time that a framework is created, in ISO 8601 representation. The value of CreationTime
* is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00 represents the 10th of July 2020 at 3:00
* PM 8 hours behind UTC.
*
*
* @param creationTime
* The date and time that a framework is created, in ISO 8601 representation. The value of
* CreationTime
is accurate to milliseconds. For example, 2020-07-10T15:00:00.000-08:00
* represents the 10th of July 2020 at 3:00 PM 8 hours behind UTC.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Framework withCreationTime(java.util.Date creationTime) {
setCreationTime(creationTime);
return this;
}
/**
*
* The deployment status of a framework. The statuses are:
*
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*
*
* @param deploymentStatus
* The deployment status of a framework. The statuses are:
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*/
public void setDeploymentStatus(String deploymentStatus) {
this.deploymentStatus = deploymentStatus;
}
/**
*
* The deployment status of a framework. The statuses are:
*
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*
*
* @return The deployment status of a framework. The statuses are:
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*/
public String getDeploymentStatus() {
return this.deploymentStatus;
}
/**
*
* The deployment status of a framework. The statuses are:
*
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*
*
* @param deploymentStatus
* The deployment status of a framework. The statuses are:
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Framework withDeploymentStatus(String deploymentStatus) {
setDeploymentStatus(deploymentStatus);
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 (getFrameworkName() != null)
sb.append("FrameworkName: ").append(getFrameworkName()).append(",");
if (getFrameworkArn() != null)
sb.append("FrameworkArn: ").append(getFrameworkArn()).append(",");
if (getFrameworkDescription() != null)
sb.append("FrameworkDescription: ").append(getFrameworkDescription()).append(",");
if (getNumberOfControls() != null)
sb.append("NumberOfControls: ").append(getNumberOfControls()).append(",");
if (getCreationTime() != null)
sb.append("CreationTime: ").append(getCreationTime()).append(",");
if (getDeploymentStatus() != null)
sb.append("DeploymentStatus: ").append(getDeploymentStatus());
sb.append("}");
return sb.toString();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (obj instanceof Framework == false)
return false;
Framework other = (Framework) obj;
if (other.getFrameworkName() == null ^ this.getFrameworkName() == null)
return false;
if (other.getFrameworkName() != null && other.getFrameworkName().equals(this.getFrameworkName()) == false)
return false;
if (other.getFrameworkArn() == null ^ this.getFrameworkArn() == null)
return false;
if (other.getFrameworkArn() != null && other.getFrameworkArn().equals(this.getFrameworkArn()) == false)
return false;
if (other.getFrameworkDescription() == null ^ this.getFrameworkDescription() == null)
return false;
if (other.getFrameworkDescription() != null && other.getFrameworkDescription().equals(this.getFrameworkDescription()) == false)
return false;
if (other.getNumberOfControls() == null ^ this.getNumberOfControls() == null)
return false;
if (other.getNumberOfControls() != null && other.getNumberOfControls().equals(this.getNumberOfControls()) == 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.getDeploymentStatus() == null ^ this.getDeploymentStatus() == null)
return false;
if (other.getDeploymentStatus() != null && other.getDeploymentStatus().equals(this.getDeploymentStatus()) == false)
return false;
return true;
}
@Override
public int hashCode() {
final int prime = 31;
int hashCode = 1;
hashCode = prime * hashCode + ((getFrameworkName() == null) ? 0 : getFrameworkName().hashCode());
hashCode = prime * hashCode + ((getFrameworkArn() == null) ? 0 : getFrameworkArn().hashCode());
hashCode = prime * hashCode + ((getFrameworkDescription() == null) ? 0 : getFrameworkDescription().hashCode());
hashCode = prime * hashCode + ((getNumberOfControls() == null) ? 0 : getNumberOfControls().hashCode());
hashCode = prime * hashCode + ((getCreationTime() == null) ? 0 : getCreationTime().hashCode());
hashCode = prime * hashCode + ((getDeploymentStatus() == null) ? 0 : getDeploymentStatus().hashCode());
return hashCode;
}
@Override
public Framework clone() {
try {
return (Framework) 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.FrameworkMarshaller.getInstance().marshall(this, protocolMarshaller);
}
}