com.pulumi.aws.securitylake.outputs.AwsLogSourceSource 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.securitylake.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class AwsLogSourceSource {
/**
* @return Specify the AWS account information where you want to enable Security Lake.
* If not specified, uses all accounts included in the Security Lake.
*
*/
private @Nullable List accounts;
/**
* @return Specify the Regions where you want to enable Security Lake.
*
*/
private List regions;
/**
* @return The name for a AWS source. This must be a Regionally unique value. Valid values: `ROUTE53`, `VPC_FLOW`, `SH_FINDINGS`, `CLOUD_TRAIL_MGMT`, `LAMBDA_EXECUTION`, `S3_DATA`, `EKS_AUDIT`, `WAF`.
*
*/
private String sourceName;
/**
* @return The version for a AWS source.
* If not specified, the version will be the default.
* This must be a Regionally unique value.
*
*/
private @Nullable String sourceVersion;
private AwsLogSourceSource() {}
/**
* @return Specify the AWS account information where you want to enable Security Lake.
* If not specified, uses all accounts included in the Security Lake.
*
*/
public List accounts() {
return this.accounts == null ? List.of() : this.accounts;
}
/**
* @return Specify the Regions where you want to enable Security Lake.
*
*/
public List regions() {
return this.regions;
}
/**
* @return The name for a AWS source. This must be a Regionally unique value. Valid values: `ROUTE53`, `VPC_FLOW`, `SH_FINDINGS`, `CLOUD_TRAIL_MGMT`, `LAMBDA_EXECUTION`, `S3_DATA`, `EKS_AUDIT`, `WAF`.
*
*/
public String sourceName() {
return this.sourceName;
}
/**
* @return The version for a AWS source.
* If not specified, the version will be the default.
* This must be a Regionally unique value.
*
*/
public Optional sourceVersion() {
return Optional.ofNullable(this.sourceVersion);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AwsLogSourceSource defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable List accounts;
private List regions;
private String sourceName;
private @Nullable String sourceVersion;
public Builder() {}
public Builder(AwsLogSourceSource defaults) {
Objects.requireNonNull(defaults);
this.accounts = defaults.accounts;
this.regions = defaults.regions;
this.sourceName = defaults.sourceName;
this.sourceVersion = defaults.sourceVersion;
}
@CustomType.Setter
public Builder accounts(@Nullable List accounts) {
this.accounts = accounts;
return this;
}
public Builder accounts(String... accounts) {
return accounts(List.of(accounts));
}
@CustomType.Setter
public Builder regions(List regions) {
if (regions == null) {
throw new MissingRequiredPropertyException("AwsLogSourceSource", "regions");
}
this.regions = regions;
return this;
}
public Builder regions(String... regions) {
return regions(List.of(regions));
}
@CustomType.Setter
public Builder sourceName(String sourceName) {
if (sourceName == null) {
throw new MissingRequiredPropertyException("AwsLogSourceSource", "sourceName");
}
this.sourceName = sourceName;
return this;
}
@CustomType.Setter
public Builder sourceVersion(@Nullable String sourceVersion) {
this.sourceVersion = sourceVersion;
return this;
}
public AwsLogSourceSource build() {
final var _resultValue = new AwsLogSourceSource();
_resultValue.accounts = accounts;
_resultValue.regions = regions;
_resultValue.sourceName = sourceName;
_resultValue.sourceVersion = sourceVersion;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy