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

com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingArgs Maven / Gradle / Ivy

There is a newer version: 2.72.0
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.azurenative.security.inputs;

import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingCloudWatchToKinesisArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTaskArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingKinesisToS3Args;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingKubernetesScubaReaderArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingKubernetesServiceArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The Defender for Containers AWS offering
 * 
 */
public final class DefenderForContainersAwsOfferingArgs extends com.pulumi.resources.ResourceArgs {

    public static final DefenderForContainersAwsOfferingArgs Empty = new DefenderForContainersAwsOfferingArgs();

    /**
     * Is audit logs pipeline auto provisioning enabled
     * 
     */
    @Import(name="autoProvisioning")
    private @Nullable Output autoProvisioning;

    /**
     * @return Is audit logs pipeline auto provisioning enabled
     * 
     */
    public Optional> autoProvisioning() {
        return Optional.ofNullable(this.autoProvisioning);
    }

    /**
     * The cloudwatch to kinesis connection configuration
     * 
     */
    @Import(name="cloudWatchToKinesis")
    private @Nullable Output cloudWatchToKinesis;

    /**
     * @return The cloudwatch to kinesis connection configuration
     * 
     */
    public Optional> cloudWatchToKinesis() {
        return Optional.ofNullable(this.cloudWatchToKinesis);
    }

    /**
     * The container vulnerability assessment configuration
     * 
     */
    @Import(name="containerVulnerabilityAssessment")
    private @Nullable Output containerVulnerabilityAssessment;

    /**
     * @return The container vulnerability assessment configuration
     * 
     */
    public Optional> containerVulnerabilityAssessment() {
        return Optional.ofNullable(this.containerVulnerabilityAssessment);
    }

    /**
     * The container vulnerability assessment task configuration
     * 
     */
    @Import(name="containerVulnerabilityAssessmentTask")
    private @Nullable Output containerVulnerabilityAssessmentTask;

    /**
     * @return The container vulnerability assessment task configuration
     * 
     */
    public Optional> containerVulnerabilityAssessmentTask() {
        return Optional.ofNullable(this.containerVulnerabilityAssessmentTask);
    }

    /**
     * Enable container vulnerability assessment feature
     * 
     */
    @Import(name="enableContainerVulnerabilityAssessment")
    private @Nullable Output enableContainerVulnerabilityAssessment;

    /**
     * @return Enable container vulnerability assessment feature
     * 
     */
    public Optional> enableContainerVulnerabilityAssessment() {
        return Optional.ofNullable(this.enableContainerVulnerabilityAssessment);
    }

    /**
     * The kinesis to s3 connection configuration
     * 
     */
    @Import(name="kinesisToS3")
    private @Nullable Output kinesisToS3;

    /**
     * @return The kinesis to s3 connection configuration
     * 
     */
    public Optional> kinesisToS3() {
        return Optional.ofNullable(this.kinesisToS3);
    }

    /**
     * The retention time in days of kube audit logs set on the CloudWatch log group
     * 
     */
    @Import(name="kubeAuditRetentionTime")
    private @Nullable Output kubeAuditRetentionTime;

    /**
     * @return The retention time in days of kube audit logs set on the CloudWatch log group
     * 
     */
    public Optional> kubeAuditRetentionTime() {
        return Optional.ofNullable(this.kubeAuditRetentionTime);
    }

    /**
     * The kubernetes to scuba connection configuration
     * 
     */
    @Import(name="kubernetesScubaReader")
    private @Nullable Output kubernetesScubaReader;

    /**
     * @return The kubernetes to scuba connection configuration
     * 
     */
    public Optional> kubernetesScubaReader() {
        return Optional.ofNullable(this.kubernetesScubaReader);
    }

    /**
     * The kubernetes service connection configuration
     * 
     */
    @Import(name="kubernetesService")
    private @Nullable Output kubernetesService;

    /**
     * @return The kubernetes service connection configuration
     * 
     */
    public Optional> kubernetesService() {
        return Optional.ofNullable(this.kubernetesService);
    }

    /**
     * The type of the security offering.
     * Expected value is 'DefenderForContainersAws'.
     * 
     */
    @Import(name="offeringType", required=true)
    private Output offeringType;

    /**
     * @return The type of the security offering.
     * Expected value is 'DefenderForContainersAws'.
     * 
     */
    public Output offeringType() {
        return this.offeringType;
    }

    /**
     * The externalId used by the data reader to prevent the confused deputy attack
     * 
     */
    @Import(name="scubaExternalId")
    private @Nullable Output scubaExternalId;

    /**
     * @return The externalId used by the data reader to prevent the confused deputy attack
     * 
     */
    public Optional> scubaExternalId() {
        return Optional.ofNullable(this.scubaExternalId);
    }

    private DefenderForContainersAwsOfferingArgs() {}

    private DefenderForContainersAwsOfferingArgs(DefenderForContainersAwsOfferingArgs $) {
        this.autoProvisioning = $.autoProvisioning;
        this.cloudWatchToKinesis = $.cloudWatchToKinesis;
        this.containerVulnerabilityAssessment = $.containerVulnerabilityAssessment;
        this.containerVulnerabilityAssessmentTask = $.containerVulnerabilityAssessmentTask;
        this.enableContainerVulnerabilityAssessment = $.enableContainerVulnerabilityAssessment;
        this.kinesisToS3 = $.kinesisToS3;
        this.kubeAuditRetentionTime = $.kubeAuditRetentionTime;
        this.kubernetesScubaReader = $.kubernetesScubaReader;
        this.kubernetesService = $.kubernetesService;
        this.offeringType = $.offeringType;
        this.scubaExternalId = $.scubaExternalId;
    }

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

    public static final class Builder {
        private DefenderForContainersAwsOfferingArgs $;

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

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

        /**
         * @param autoProvisioning Is audit logs pipeline auto provisioning enabled
         * 
         * @return builder
         * 
         */
        public Builder autoProvisioning(@Nullable Output autoProvisioning) {
            $.autoProvisioning = autoProvisioning;
            return this;
        }

        /**
         * @param autoProvisioning Is audit logs pipeline auto provisioning enabled
         * 
         * @return builder
         * 
         */
        public Builder autoProvisioning(Boolean autoProvisioning) {
            return autoProvisioning(Output.of(autoProvisioning));
        }

        /**
         * @param cloudWatchToKinesis The cloudwatch to kinesis connection configuration
         * 
         * @return builder
         * 
         */
        public Builder cloudWatchToKinesis(@Nullable Output cloudWatchToKinesis) {
            $.cloudWatchToKinesis = cloudWatchToKinesis;
            return this;
        }

        /**
         * @param cloudWatchToKinesis The cloudwatch to kinesis connection configuration
         * 
         * @return builder
         * 
         */
        public Builder cloudWatchToKinesis(DefenderForContainersAwsOfferingCloudWatchToKinesisArgs cloudWatchToKinesis) {
            return cloudWatchToKinesis(Output.of(cloudWatchToKinesis));
        }

        /**
         * @param containerVulnerabilityAssessment The container vulnerability assessment configuration
         * 
         * @return builder
         * 
         */
        public Builder containerVulnerabilityAssessment(@Nullable Output containerVulnerabilityAssessment) {
            $.containerVulnerabilityAssessment = containerVulnerabilityAssessment;
            return this;
        }

        /**
         * @param containerVulnerabilityAssessment The container vulnerability assessment configuration
         * 
         * @return builder
         * 
         */
        public Builder containerVulnerabilityAssessment(DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentArgs containerVulnerabilityAssessment) {
            return containerVulnerabilityAssessment(Output.of(containerVulnerabilityAssessment));
        }

        /**
         * @param containerVulnerabilityAssessmentTask The container vulnerability assessment task configuration
         * 
         * @return builder
         * 
         */
        public Builder containerVulnerabilityAssessmentTask(@Nullable Output containerVulnerabilityAssessmentTask) {
            $.containerVulnerabilityAssessmentTask = containerVulnerabilityAssessmentTask;
            return this;
        }

        /**
         * @param containerVulnerabilityAssessmentTask The container vulnerability assessment task configuration
         * 
         * @return builder
         * 
         */
        public Builder containerVulnerabilityAssessmentTask(DefenderForContainersAwsOfferingContainerVulnerabilityAssessmentTaskArgs containerVulnerabilityAssessmentTask) {
            return containerVulnerabilityAssessmentTask(Output.of(containerVulnerabilityAssessmentTask));
        }

        /**
         * @param enableContainerVulnerabilityAssessment Enable container vulnerability assessment feature
         * 
         * @return builder
         * 
         */
        public Builder enableContainerVulnerabilityAssessment(@Nullable Output enableContainerVulnerabilityAssessment) {
            $.enableContainerVulnerabilityAssessment = enableContainerVulnerabilityAssessment;
            return this;
        }

        /**
         * @param enableContainerVulnerabilityAssessment Enable container vulnerability assessment feature
         * 
         * @return builder
         * 
         */
        public Builder enableContainerVulnerabilityAssessment(Boolean enableContainerVulnerabilityAssessment) {
            return enableContainerVulnerabilityAssessment(Output.of(enableContainerVulnerabilityAssessment));
        }

        /**
         * @param kinesisToS3 The kinesis to s3 connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kinesisToS3(@Nullable Output kinesisToS3) {
            $.kinesisToS3 = kinesisToS3;
            return this;
        }

        /**
         * @param kinesisToS3 The kinesis to s3 connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kinesisToS3(DefenderForContainersAwsOfferingKinesisToS3Args kinesisToS3) {
            return kinesisToS3(Output.of(kinesisToS3));
        }

        /**
         * @param kubeAuditRetentionTime The retention time in days of kube audit logs set on the CloudWatch log group
         * 
         * @return builder
         * 
         */
        public Builder kubeAuditRetentionTime(@Nullable Output kubeAuditRetentionTime) {
            $.kubeAuditRetentionTime = kubeAuditRetentionTime;
            return this;
        }

        /**
         * @param kubeAuditRetentionTime The retention time in days of kube audit logs set on the CloudWatch log group
         * 
         * @return builder
         * 
         */
        public Builder kubeAuditRetentionTime(Double kubeAuditRetentionTime) {
            return kubeAuditRetentionTime(Output.of(kubeAuditRetentionTime));
        }

        /**
         * @param kubernetesScubaReader The kubernetes to scuba connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kubernetesScubaReader(@Nullable Output kubernetesScubaReader) {
            $.kubernetesScubaReader = kubernetesScubaReader;
            return this;
        }

        /**
         * @param kubernetesScubaReader The kubernetes to scuba connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kubernetesScubaReader(DefenderForContainersAwsOfferingKubernetesScubaReaderArgs kubernetesScubaReader) {
            return kubernetesScubaReader(Output.of(kubernetesScubaReader));
        }

        /**
         * @param kubernetesService The kubernetes service connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kubernetesService(@Nullable Output kubernetesService) {
            $.kubernetesService = kubernetesService;
            return this;
        }

        /**
         * @param kubernetesService The kubernetes service connection configuration
         * 
         * @return builder
         * 
         */
        public Builder kubernetesService(DefenderForContainersAwsOfferingKubernetesServiceArgs kubernetesService) {
            return kubernetesService(Output.of(kubernetesService));
        }

        /**
         * @param offeringType The type of the security offering.
         * Expected value is 'DefenderForContainersAws'.
         * 
         * @return builder
         * 
         */
        public Builder offeringType(Output offeringType) {
            $.offeringType = offeringType;
            return this;
        }

        /**
         * @param offeringType The type of the security offering.
         * Expected value is 'DefenderForContainersAws'.
         * 
         * @return builder
         * 
         */
        public Builder offeringType(String offeringType) {
            return offeringType(Output.of(offeringType));
        }

        /**
         * @param scubaExternalId The externalId used by the data reader to prevent the confused deputy attack
         * 
         * @return builder
         * 
         */
        public Builder scubaExternalId(@Nullable Output scubaExternalId) {
            $.scubaExternalId = scubaExternalId;
            return this;
        }

        /**
         * @param scubaExternalId The externalId used by the data reader to prevent the confused deputy attack
         * 
         * @return builder
         * 
         */
        public Builder scubaExternalId(String scubaExternalId) {
            return scubaExternalId(Output.of(scubaExternalId));
        }

        public DefenderForContainersAwsOfferingArgs build() {
            $.offeringType = Codegen.stringProp("offeringType").output().arg($.offeringType).require();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy