com.pulumi.aws.auditmanager.outputs.ControlControlMappingSource Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws Show documentation
Show all versions of aws Show documentation
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.aws.auditmanager.outputs;
import com.pulumi.aws.auditmanager.outputs.ControlControlMappingSourceSourceKeyword;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ControlControlMappingSource {
/**
* @return Description of the source.
*
*/
private @Nullable String sourceDescription;
/**
* @return Frequency of evidence collection. Valid values are `DAILY`, `WEEKLY`, or `MONTHLY`.
*
*/
private @Nullable String sourceFrequency;
private @Nullable String sourceId;
/**
* @return The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names. See `source_keyword` below.
*
*/
private @Nullable ControlControlMappingSourceSourceKeyword sourceKeyword;
/**
* @return Name of the source.
*
*/
private String sourceName;
/**
* @return The setup option for the data source. This option reflects if the evidence collection is automated or manual. Valid values are `System_Controls_Mapping` (automated) and `Procedural_Controls_Mapping` (manual).
*
*/
private String sourceSetUpOption;
/**
* @return Type of data source for evidence collection. If `source_set_up_option` is manual, the only valid value is `MANUAL`. If `source_set_up_option` is automated, valid values are `AWS_Cloudtrail`, `AWS_Config`, `AWS_Security_Hub`, or `AWS_API_Call`.
*
* The following arguments are optional:
*
*/
private String sourceType;
/**
* @return Instructions for troubleshooting the control.
*
*/
private @Nullable String troubleshootingText;
private ControlControlMappingSource() {}
/**
* @return Description of the source.
*
*/
public Optional sourceDescription() {
return Optional.ofNullable(this.sourceDescription);
}
/**
* @return Frequency of evidence collection. Valid values are `DAILY`, `WEEKLY`, or `MONTHLY`.
*
*/
public Optional sourceFrequency() {
return Optional.ofNullable(this.sourceFrequency);
}
public Optional sourceId() {
return Optional.ofNullable(this.sourceId);
}
/**
* @return The keyword to search for in CloudTrail logs, Config rules, Security Hub checks, and Amazon Web Services API names. See `source_keyword` below.
*
*/
public Optional sourceKeyword() {
return Optional.ofNullable(this.sourceKeyword);
}
/**
* @return Name of the source.
*
*/
public String sourceName() {
return this.sourceName;
}
/**
* @return The setup option for the data source. This option reflects if the evidence collection is automated or manual. Valid values are `System_Controls_Mapping` (automated) and `Procedural_Controls_Mapping` (manual).
*
*/
public String sourceSetUpOption() {
return this.sourceSetUpOption;
}
/**
* @return Type of data source for evidence collection. If `source_set_up_option` is manual, the only valid value is `MANUAL`. If `source_set_up_option` is automated, valid values are `AWS_Cloudtrail`, `AWS_Config`, `AWS_Security_Hub`, or `AWS_API_Call`.
*
* The following arguments are optional:
*
*/
public String sourceType() {
return this.sourceType;
}
/**
* @return Instructions for troubleshooting the control.
*
*/
public Optional troubleshootingText() {
return Optional.ofNullable(this.troubleshootingText);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ControlControlMappingSource defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String sourceDescription;
private @Nullable String sourceFrequency;
private @Nullable String sourceId;
private @Nullable ControlControlMappingSourceSourceKeyword sourceKeyword;
private String sourceName;
private String sourceSetUpOption;
private String sourceType;
private @Nullable String troubleshootingText;
public Builder() {}
public Builder(ControlControlMappingSource defaults) {
Objects.requireNonNull(defaults);
this.sourceDescription = defaults.sourceDescription;
this.sourceFrequency = defaults.sourceFrequency;
this.sourceId = defaults.sourceId;
this.sourceKeyword = defaults.sourceKeyword;
this.sourceName = defaults.sourceName;
this.sourceSetUpOption = defaults.sourceSetUpOption;
this.sourceType = defaults.sourceType;
this.troubleshootingText = defaults.troubleshootingText;
}
@CustomType.Setter
public Builder sourceDescription(@Nullable String sourceDescription) {
this.sourceDescription = sourceDescription;
return this;
}
@CustomType.Setter
public Builder sourceFrequency(@Nullable String sourceFrequency) {
this.sourceFrequency = sourceFrequency;
return this;
}
@CustomType.Setter
public Builder sourceId(@Nullable String sourceId) {
this.sourceId = sourceId;
return this;
}
@CustomType.Setter
public Builder sourceKeyword(@Nullable ControlControlMappingSourceSourceKeyword sourceKeyword) {
this.sourceKeyword = sourceKeyword;
return this;
}
@CustomType.Setter
public Builder sourceName(String sourceName) {
if (sourceName == null) {
throw new MissingRequiredPropertyException("ControlControlMappingSource", "sourceName");
}
this.sourceName = sourceName;
return this;
}
@CustomType.Setter
public Builder sourceSetUpOption(String sourceSetUpOption) {
if (sourceSetUpOption == null) {
throw new MissingRequiredPropertyException("ControlControlMappingSource", "sourceSetUpOption");
}
this.sourceSetUpOption = sourceSetUpOption;
return this;
}
@CustomType.Setter
public Builder sourceType(String sourceType) {
if (sourceType == null) {
throw new MissingRequiredPropertyException("ControlControlMappingSource", "sourceType");
}
this.sourceType = sourceType;
return this;
}
@CustomType.Setter
public Builder troubleshootingText(@Nullable String troubleshootingText) {
this.troubleshootingText = troubleshootingText;
return this;
}
public ControlControlMappingSource build() {
final var _resultValue = new ControlControlMappingSource();
_resultValue.sourceDescription = sourceDescription;
_resultValue.sourceFrequency = sourceFrequency;
_resultValue.sourceId = sourceId;
_resultValue.sourceKeyword = sourceKeyword;
_resultValue.sourceName = sourceName;
_resultValue.sourceSetUpOption = sourceSetUpOption;
_resultValue.sourceType = sourceType;
_resultValue.troubleshootingText = troubleshootingText;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy