/* * 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.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.
*
* The deployment status of a framework. The statuses are: *
*
* CREATE_IN_PROGRESS | UPDATE_IN_PROGRESS | DELETE_IN_PROGRESS | COMPLETED | FAILED
*
* 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.
*
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.
*
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.
*
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
*
* 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
*
* 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
*
* 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);
}
}