/* * 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.auditmanager.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* A control in Audit Manager. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Control implements Serializable, Cloneable, StructuredPojo { /** ** The Amazon Resource Name (ARN) of the control. *
*/ private String arn; /** ** The unique identifier for the control. *
*/ private String id; /** ** Specifies whether the control is a standard control or a custom control. *
*/ private String type; /** ** The name of the control. *
*/ private String name; /** ** The description of the control. *
*/ private String description; /** ** The steps that you should follow to determine if the control has been satisfied. *
*/ private String testingInformation; /** ** The title of the action plan for remediating the control. *
*/ private String actionPlanTitle; /** ** The recommended actions to carry out if the control isn't fulfilled. *
*/ private String actionPlanInstructions; /** ** The data source types that determine where Audit Manager collects evidence from for the control. *
*/ private String controlSources; /** ** The data mapping sources for the control. *
*/ private java.util.List* The time when the control was created. *
*/ private java.util.Date createdAt; /** ** The time when the control was most recently updated. *
*/ private java.util.Date lastUpdatedAt; /** ** The user or role that created the control. *
*/ private String createdBy; /** ** The user or role that most recently updated the control. *
*/ private String lastUpdatedBy; /** ** The tags associated with the control. *
*/ private java.util.Map* The Amazon Resource Name (ARN) of the control. *
* * @param arn * The Amazon Resource Name (ARN) of the control. */ public void setArn(String arn) { this.arn = arn; } /** ** The Amazon Resource Name (ARN) of the control. *
* * @return The Amazon Resource Name (ARN) of the control. */ public String getArn() { return this.arn; } /** ** The Amazon Resource Name (ARN) of the control. *
* * @param arn * The Amazon Resource Name (ARN) of the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withArn(String arn) { setArn(arn); return this; } /** ** The unique identifier for the control. *
* * @param id * The unique identifier for the control. */ public void setId(String id) { this.id = id; } /** ** The unique identifier for the control. *
* * @return The unique identifier for the control. */ public String getId() { return this.id; } /** ** The unique identifier for the control. *
* * @param id * The unique identifier for the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withId(String id) { setId(id); return this; } /** ** Specifies whether the control is a standard control or a custom control. *
* * @param type * Specifies whether the control is a standard control or a custom control. * @see ControlType */ public void setType(String type) { this.type = type; } /** ** Specifies whether the control is a standard control or a custom control. *
* * @return Specifies whether the control is a standard control or a custom control. * @see ControlType */ public String getType() { return this.type; } /** ** Specifies whether the control is a standard control or a custom control. *
* * @param type * Specifies whether the control is a standard control or a custom control. * @return Returns a reference to this object so that method calls can be chained together. * @see ControlType */ public Control withType(String type) { setType(type); return this; } /** ** Specifies whether the control is a standard control or a custom control. *
* * @param type * Specifies whether the control is a standard control or a custom control. * @return Returns a reference to this object so that method calls can be chained together. * @see ControlType */ public Control withType(ControlType type) { this.type = type.toString(); return this; } /** ** The name of the control. *
* * @param name * The name of the control. */ public void setName(String name) { this.name = name; } /** ** The name of the control. *
* * @return The name of the control. */ public String getName() { return this.name; } /** ** The name of the control. *
* * @param name * The name of the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withName(String name) { setName(name); return this; } /** ** The description of the control. *
* * @param description * The description of the control. */ public void setDescription(String description) { this.description = description; } /** ** The description of the control. *
* * @return The description of the control. */ public String getDescription() { return this.description; } /** ** The description of the control. *
* * @param description * The description of the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withDescription(String description) { setDescription(description); return this; } /** ** The steps that you should follow to determine if the control has been satisfied. *
* * @param testingInformation * The steps that you should follow to determine if the control has been satisfied. */ public void setTestingInformation(String testingInformation) { this.testingInformation = testingInformation; } /** ** The steps that you should follow to determine if the control has been satisfied. *
* * @return The steps that you should follow to determine if the control has been satisfied. */ public String getTestingInformation() { return this.testingInformation; } /** ** The steps that you should follow to determine if the control has been satisfied. *
* * @param testingInformation * The steps that you should follow to determine if the control has been satisfied. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withTestingInformation(String testingInformation) { setTestingInformation(testingInformation); return this; } /** ** The title of the action plan for remediating the control. *
* * @param actionPlanTitle * The title of the action plan for remediating the control. */ public void setActionPlanTitle(String actionPlanTitle) { this.actionPlanTitle = actionPlanTitle; } /** ** The title of the action plan for remediating the control. *
* * @return The title of the action plan for remediating the control. */ public String getActionPlanTitle() { return this.actionPlanTitle; } /** ** The title of the action plan for remediating the control. *
* * @param actionPlanTitle * The title of the action plan for remediating the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withActionPlanTitle(String actionPlanTitle) { setActionPlanTitle(actionPlanTitle); return this; } /** ** The recommended actions to carry out if the control isn't fulfilled. *
* * @param actionPlanInstructions * The recommended actions to carry out if the control isn't fulfilled. */ public void setActionPlanInstructions(String actionPlanInstructions) { this.actionPlanInstructions = actionPlanInstructions; } /** ** The recommended actions to carry out if the control isn't fulfilled. *
* * @return The recommended actions to carry out if the control isn't fulfilled. */ public String getActionPlanInstructions() { return this.actionPlanInstructions; } /** ** The recommended actions to carry out if the control isn't fulfilled. *
* * @param actionPlanInstructions * The recommended actions to carry out if the control isn't fulfilled. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withActionPlanInstructions(String actionPlanInstructions) { setActionPlanInstructions(actionPlanInstructions); return this; } /** ** The data source types that determine where Audit Manager collects evidence from for the control. *
* * @param controlSources * The data source types that determine where Audit Manager collects evidence from for the control. */ public void setControlSources(String controlSources) { this.controlSources = controlSources; } /** ** The data source types that determine where Audit Manager collects evidence from for the control. *
* * @return The data source types that determine where Audit Manager collects evidence from for the control. */ public String getControlSources() { return this.controlSources; } /** ** The data source types that determine where Audit Manager collects evidence from for the control. *
* * @param controlSources * The data source types that determine where Audit Manager collects evidence from for the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withControlSources(String controlSources) { setControlSources(controlSources); return this; } /** ** The data mapping sources for the control. *
* * @return The data mapping sources for the control. */ public java.util.List* The data mapping sources for the control. *
* * @param controlMappingSources * The data mapping sources for the control. */ public void setControlMappingSources(java.util.Collection* The data mapping sources for the control. *
** NOTE: This method appends the values to the existing list (if any). Use * {@link #setControlMappingSources(java.util.Collection)} or * {@link #withControlMappingSources(java.util.Collection)} if you want to override the existing values. *
* * @param controlMappingSources * The data mapping sources for the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withControlMappingSources(ControlMappingSource... controlMappingSources) { if (this.controlMappingSources == null) { setControlMappingSources(new java.util.ArrayList* The data mapping sources for the control. *
* * @param controlMappingSources * The data mapping sources for the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withControlMappingSources(java.util.Collection* The time when the control was created. *
* * @param createdAt * The time when the control was created. */ public void setCreatedAt(java.util.Date createdAt) { this.createdAt = createdAt; } /** ** The time when the control was created. *
* * @return The time when the control was created. */ public java.util.Date getCreatedAt() { return this.createdAt; } /** ** The time when the control was created. *
* * @param createdAt * The time when the control was created. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withCreatedAt(java.util.Date createdAt) { setCreatedAt(createdAt); return this; } /** ** The time when the control was most recently updated. *
* * @param lastUpdatedAt * The time when the control was most recently updated. */ public void setLastUpdatedAt(java.util.Date lastUpdatedAt) { this.lastUpdatedAt = lastUpdatedAt; } /** ** The time when the control was most recently updated. *
* * @return The time when the control was most recently updated. */ public java.util.Date getLastUpdatedAt() { return this.lastUpdatedAt; } /** ** The time when the control was most recently updated. *
* * @param lastUpdatedAt * The time when the control was most recently updated. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withLastUpdatedAt(java.util.Date lastUpdatedAt) { setLastUpdatedAt(lastUpdatedAt); return this; } /** ** The user or role that created the control. *
* * @param createdBy * The user or role that created the control. */ public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } /** ** The user or role that created the control. *
* * @return The user or role that created the control. */ public String getCreatedBy() { return this.createdBy; } /** ** The user or role that created the control. *
* * @param createdBy * The user or role that created the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withCreatedBy(String createdBy) { setCreatedBy(createdBy); return this; } /** ** The user or role that most recently updated the control. *
* * @param lastUpdatedBy * The user or role that most recently updated the control. */ public void setLastUpdatedBy(String lastUpdatedBy) { this.lastUpdatedBy = lastUpdatedBy; } /** ** The user or role that most recently updated the control. *
* * @return The user or role that most recently updated the control. */ public String getLastUpdatedBy() { return this.lastUpdatedBy; } /** ** The user or role that most recently updated the control. *
* * @param lastUpdatedBy * The user or role that most recently updated the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withLastUpdatedBy(String lastUpdatedBy) { setLastUpdatedBy(lastUpdatedBy); return this; } /** ** The tags associated with the control. *
* * @return The tags associated with the control. */ public java.util.Map* The tags associated with the control. *
* * @param tags * The tags associated with the control. */ public void setTags(java.util.Map* The tags associated with the control. *
* * @param tags * The tags associated with the control. * @return Returns a reference to this object so that method calls can be chained together. */ public Control withTags(java.util.Map