Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.aws.macie2.ClassificationJobArgs Maven / Gradle / Ivy
// *** 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.macie2;
import com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;
import com.pulumi.aws.macie2.inputs.ClassificationJobScheduleFrequencyArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ClassificationJobArgs extends com.pulumi.resources.ResourceArgs {
public static final ClassificationJobArgs Empty = new ClassificationJobArgs();
/**
* The custom data identifiers to use for data analysis and classification.
*
*/
@Import(name="customDataIdentifierIds")
private @Nullable Output> customDataIdentifierIds;
/**
* @return The custom data identifiers to use for data analysis and classification.
*
*/
public Optional>> customDataIdentifierIds() {
return Optional.ofNullable(this.customDataIdentifierIds);
}
/**
* A custom description of the job. The description can contain as many as 200 characters.
*
*/
@Import(name="description")
private @Nullable Output description;
/**
* @return A custom description of the job. The description can contain as many as 200 characters.
*
*/
public Optional> description() {
return Optional.ofNullable(this.description);
}
/**
* Specifies whether to analyze all existing, eligible objects immediately after the job is created.
*
*/
@Import(name="initialRun")
private @Nullable Output initialRun;
/**
* @return Specifies whether to analyze all existing, eligible objects immediately after the job is created.
*
*/
public Optional> initialRun() {
return Optional.ofNullable(this.initialRun);
}
/**
* The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
*
*/
@Import(name="jobStatus")
private @Nullable Output jobStatus;
/**
* @return The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
*
*/
public Optional> jobStatus() {
return Optional.ofNullable(this.jobStatus);
}
/**
* The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `schedule_frequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `schedule_frequency` property to define the recurrence pattern for the job.
*
*/
@Import(name="jobType", required=true)
private Output jobType;
/**
* @return The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `schedule_frequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `schedule_frequency` property to define the recurrence pattern for the job.
*
*/
public Output jobType() {
return this.jobType;
}
/**
* A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
*/
@Import(name="namePrefix")
private @Nullable Output namePrefix;
/**
* @return Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
*/
public Optional> namePrefix() {
return Optional.ofNullable(this.namePrefix);
}
/**
* The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
*
*/
@Import(name="s3JobDefinition", required=true)
private Output s3JobDefinition;
/**
* @return The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
*
*/
public Output s3JobDefinition() {
return this.s3JobDefinition;
}
/**
* The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
*
*/
@Import(name="samplingPercentage")
private @Nullable Output samplingPercentage;
/**
* @return The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
*
*/
public Optional> samplingPercentage() {
return Optional.ofNullable(this.samplingPercentage);
}
/**
* The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `job_type` property to `ONE_TIME`. (documented below)
*
*/
@Import(name="scheduleFrequency")
private @Nullable Output scheduleFrequency;
/**
* @return The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `job_type` property to `ONE_TIME`. (documented below)
*
*/
public Optional> scheduleFrequency() {
return Optional.ofNullable(this.scheduleFrequency);
}
/**
* A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private ClassificationJobArgs() {}
private ClassificationJobArgs(ClassificationJobArgs $) {
this.customDataIdentifierIds = $.customDataIdentifierIds;
this.description = $.description;
this.initialRun = $.initialRun;
this.jobStatus = $.jobStatus;
this.jobType = $.jobType;
this.name = $.name;
this.namePrefix = $.namePrefix;
this.s3JobDefinition = $.s3JobDefinition;
this.samplingPercentage = $.samplingPercentage;
this.scheduleFrequency = $.scheduleFrequency;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ClassificationJobArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ClassificationJobArgs $;
public Builder() {
$ = new ClassificationJobArgs();
}
public Builder(ClassificationJobArgs defaults) {
$ = new ClassificationJobArgs(Objects.requireNonNull(defaults));
}
/**
* @param customDataIdentifierIds The custom data identifiers to use for data analysis and classification.
*
* @return builder
*
*/
public Builder customDataIdentifierIds(@Nullable Output> customDataIdentifierIds) {
$.customDataIdentifierIds = customDataIdentifierIds;
return this;
}
/**
* @param customDataIdentifierIds The custom data identifiers to use for data analysis and classification.
*
* @return builder
*
*/
public Builder customDataIdentifierIds(List customDataIdentifierIds) {
return customDataIdentifierIds(Output.of(customDataIdentifierIds));
}
/**
* @param customDataIdentifierIds The custom data identifiers to use for data analysis and classification.
*
* @return builder
*
*/
public Builder customDataIdentifierIds(String... customDataIdentifierIds) {
return customDataIdentifierIds(List.of(customDataIdentifierIds));
}
/**
* @param description A custom description of the job. The description can contain as many as 200 characters.
*
* @return builder
*
*/
public Builder description(@Nullable Output description) {
$.description = description;
return this;
}
/**
* @param description A custom description of the job. The description can contain as many as 200 characters.
*
* @return builder
*
*/
public Builder description(String description) {
return description(Output.of(description));
}
/**
* @param initialRun Specifies whether to analyze all existing, eligible objects immediately after the job is created.
*
* @return builder
*
*/
public Builder initialRun(@Nullable Output initialRun) {
$.initialRun = initialRun;
return this;
}
/**
* @param initialRun Specifies whether to analyze all existing, eligible objects immediately after the job is created.
*
* @return builder
*
*/
public Builder initialRun(Boolean initialRun) {
return initialRun(Output.of(initialRun));
}
/**
* @param jobStatus The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
*
* @return builder
*
*/
public Builder jobStatus(@Nullable Output jobStatus) {
$.jobStatus = jobStatus;
return this;
}
/**
* @param jobStatus The status for the job. Valid values are: `CANCELLED`, `RUNNING` and `USER_PAUSED`
*
* @return builder
*
*/
public Builder jobStatus(String jobStatus) {
return jobStatus(Output.of(jobStatus));
}
/**
* @param jobType The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `schedule_frequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `schedule_frequency` property to define the recurrence pattern for the job.
*
* @return builder
*
*/
public Builder jobType(Output jobType) {
$.jobType = jobType;
return this;
}
/**
* @param jobType The schedule for running the job. Valid values are: `ONE_TIME` - Run the job only once. If you specify this value, don't specify a value for the `schedule_frequency` property. `SCHEDULED` - Run the job on a daily, weekly, or monthly basis. If you specify this value, use the `schedule_frequency` property to define the recurrence pattern for the job.
*
* @return builder
*
*/
public Builder jobType(String jobType) {
return jobType(Output.of(jobType));
}
/**
* @param name A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name A custom name for the job. The name can contain as many as 500 characters. If omitted, the provider will assign a random, unique name. Conflicts with `name_prefix`.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param namePrefix Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
* @return builder
*
*/
public Builder namePrefix(@Nullable Output namePrefix) {
$.namePrefix = namePrefix;
return this;
}
/**
* @param namePrefix Creates a unique name beginning with the specified prefix. Conflicts with `name`.
*
* @return builder
*
*/
public Builder namePrefix(String namePrefix) {
return namePrefix(Output.of(namePrefix));
}
/**
* @param s3JobDefinition The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
*
* @return builder
*
*/
public Builder s3JobDefinition(Output s3JobDefinition) {
$.s3JobDefinition = s3JobDefinition;
return this;
}
/**
* @param s3JobDefinition The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
*
* @return builder
*
*/
public Builder s3JobDefinition(ClassificationJobS3JobDefinitionArgs s3JobDefinition) {
return s3JobDefinition(Output.of(s3JobDefinition));
}
/**
* @param samplingPercentage The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
*
* @return builder
*
*/
public Builder samplingPercentage(@Nullable Output samplingPercentage) {
$.samplingPercentage = samplingPercentage;
return this;
}
/**
* @param samplingPercentage The sampling depth, as a percentage, to apply when processing objects. This value determines the percentage of eligible objects that the job analyzes. If this value is less than 100, Amazon Macie selects the objects to analyze at random, up to the specified percentage, and analyzes all the data in those objects.
*
* @return builder
*
*/
public Builder samplingPercentage(Integer samplingPercentage) {
return samplingPercentage(Output.of(samplingPercentage));
}
/**
* @param scheduleFrequency The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `job_type` property to `ONE_TIME`. (documented below)
*
* @return builder
*
*/
public Builder scheduleFrequency(@Nullable Output scheduleFrequency) {
$.scheduleFrequency = scheduleFrequency;
return this;
}
/**
* @param scheduleFrequency The recurrence pattern for running the job. To run the job only once, don't specify a value for this property and set the value for the `job_type` property to `ONE_TIME`. (documented below)
*
* @return builder
*
*/
public Builder scheduleFrequency(ClassificationJobScheduleFrequencyArgs scheduleFrequency) {
return scheduleFrequency(Output.of(scheduleFrequency));
}
/**
* @param tags A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A map of key-value pairs that specifies the tags to associate with the job. A job can have a maximum of 50 tags. Each tag consists of a tag key and an associated tag value. The maximum length of a tag key is 128 characters. The maximum length of a tag value is 256 characters.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public ClassificationJobArgs build() {
if ($.jobType == null) {
throw new MissingRequiredPropertyException("ClassificationJobArgs", "jobType");
}
if ($.s3JobDefinition == null) {
throw new MissingRequiredPropertyException("ClassificationJobArgs", "s3JobDefinition");
}
return $;
}
}
}