All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.macie2.inputs.ClassificationJobState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
Show newest version
// *** 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.inputs;

import com.pulumi.aws.macie2.inputs.ClassificationJobS3JobDefinitionArgs;
import com.pulumi.aws.macie2.inputs.ClassificationJobScheduleFrequencyArgs;
import com.pulumi.aws.macie2.inputs.ClassificationJobUserPausedDetailArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 ClassificationJobState extends com.pulumi.resources.ResourceArgs {

    public static final ClassificationJobState Empty = new ClassificationJobState();

    /**
     * The date and time, in UTC and extended RFC 3339 format, when the job was created.
     * 
     */
    @Import(name="createdAt")
    private @Nullable Output createdAt;

    /**
     * @return The date and time, in UTC and extended RFC 3339 format, when the job was created.
     * 
     */
    public Optional> createdAt() {
        return Optional.ofNullable(this.createdAt);
    }

    /**
     * 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);
    }

    @Import(name="jobArn")
    private @Nullable Output jobArn;

    public Optional> jobArn() {
        return Optional.ofNullable(this.jobArn);
    }

    @Import(name="jobId")
    private @Nullable Output jobId;

    public Optional> jobId() {
        return Optional.ofNullable(this.jobId);
    }

    /**
     * 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")
    private @Nullable 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 Optional> jobType() {
        return Optional.ofNullable(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")
    private @Nullable Output s3JobDefinition;

    /**
     * @return The S3 buckets that contain the objects to analyze, and the scope of that analysis. (documented below)
     * 
     */
    public Optional> s3JobDefinition() {
        return Optional.ofNullable(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);
    }

    /**
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    /**
     * If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be canceled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
     * 
     */
    @Import(name="userPausedDetails")
    private @Nullable Output> userPausedDetails;

    /**
     * @return If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be canceled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
     * 
     */
    public Optional>> userPausedDetails() {
        return Optional.ofNullable(this.userPausedDetails);
    }

    private ClassificationJobState() {}

    private ClassificationJobState(ClassificationJobState $) {
        this.createdAt = $.createdAt;
        this.customDataIdentifierIds = $.customDataIdentifierIds;
        this.description = $.description;
        this.initialRun = $.initialRun;
        this.jobArn = $.jobArn;
        this.jobId = $.jobId;
        this.jobStatus = $.jobStatus;
        this.jobType = $.jobType;
        this.name = $.name;
        this.namePrefix = $.namePrefix;
        this.s3JobDefinition = $.s3JobDefinition;
        this.samplingPercentage = $.samplingPercentage;
        this.scheduleFrequency = $.scheduleFrequency;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
        this.userPausedDetails = $.userPausedDetails;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ClassificationJobState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ClassificationJobState $;

        public Builder() {
            $ = new ClassificationJobState();
        }

        public Builder(ClassificationJobState defaults) {
            $ = new ClassificationJobState(Objects.requireNonNull(defaults));
        }

        /**
         * @param createdAt The date and time, in UTC and extended RFC 3339 format, when the job was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(@Nullable Output createdAt) {
            $.createdAt = createdAt;
            return this;
        }

        /**
         * @param createdAt The date and time, in UTC and extended RFC 3339 format, when the job was created.
         * 
         * @return builder
         * 
         */
        public Builder createdAt(String createdAt) {
            return createdAt(Output.of(createdAt));
        }

        /**
         * @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));
        }

        public Builder jobArn(@Nullable Output jobArn) {
            $.jobArn = jobArn;
            return this;
        }

        public Builder jobArn(String jobArn) {
            return jobArn(Output.of(jobArn));
        }

        public Builder jobId(@Nullable Output jobId) {
            $.jobId = jobId;
            return this;
        }

        public Builder jobId(String jobId) {
            return jobId(Output.of(jobId));
        }

        /**
         * @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(@Nullable 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(@Nullable 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));
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        /**
         * @param userPausedDetails If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be canceled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
         * 
         * @return builder
         * 
         */
        public Builder userPausedDetails(@Nullable Output> userPausedDetails) {
            $.userPausedDetails = userPausedDetails;
            return this;
        }

        /**
         * @param userPausedDetails If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be canceled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
         * 
         * @return builder
         * 
         */
        public Builder userPausedDetails(List userPausedDetails) {
            return userPausedDetails(Output.of(userPausedDetails));
        }

        /**
         * @param userPausedDetails If the current status of the job is `USER_PAUSED`, specifies when the job was paused and when the job or job run will expire and be canceled if it isn't resumed. This value is present only if the value for `job-status` is `USER_PAUSED`.
         * 
         * @return builder
         * 
         */
        public Builder userPausedDetails(ClassificationJobUserPausedDetailArgs... userPausedDetails) {
            return userPausedDetails(List.of(userPausedDetails));
        }

        public ClassificationJobState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy