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

com.pulumi.azurenative.awsconnector.inputs.InventoryConfigurationArgs Maven / Gradle / Ivy

There is a newer version: 2.82.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.awsconnector.inputs;

import com.pulumi.azurenative.awsconnector.enums.InventoryConfigurationIncludedObjectVersions;
import com.pulumi.azurenative.awsconnector.enums.InventoryConfigurationOptionalFields;
import com.pulumi.azurenative.awsconnector.enums.InventoryConfigurationScheduleFrequency;
import com.pulumi.azurenative.awsconnector.inputs.DestinationArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of InventoryConfiguration
 * 
 */
public final class InventoryConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final InventoryConfigurationArgs Empty = new InventoryConfigurationArgs();

    /**
     * Contains information about where to publish the inventory results. Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.
     * 
     */
    @Import(name="destination")
    private @Nullable Output destination;

    /**
     * @return Contains information about where to publish the inventory results. Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.
     * 
     */
    public Optional> destination() {
        return Optional.ofNullable(this.destination);
    }

    /**
     * Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * The ID used to identify the inventory configuration.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return The ID used to identify the inventory configuration.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
     * 
     */
    @Import(name="includedObjectVersions")
    private @Nullable Output> includedObjectVersions;

    /**
     * @return Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
     * 
     */
    public Optional>> includedObjectVersions() {
        return Optional.ofNullable(this.includedObjectVersions);
    }

    /**
     * Contains the optional fields that are included in the inventory results.
     * 
     */
    @Import(name="optionalFields")
    private @Nullable Output>> optionalFields;

    /**
     * @return Contains the optional fields that are included in the inventory results.
     * 
     */
    public Optional>>> optionalFields() {
        return Optional.ofNullable(this.optionalFields);
    }

    /**
     * Specifies the inventory filter prefix.
     * 
     */
    @Import(name="prefix")
    private @Nullable Output prefix;

    /**
     * @return Specifies the inventory filter prefix.
     * 
     */
    public Optional> prefix() {
        return Optional.ofNullable(this.prefix);
    }

    /**
     * Specifies the schedule for generating inventory results.
     * 
     */
    @Import(name="scheduleFrequency")
    private @Nullable Output> scheduleFrequency;

    /**
     * @return Specifies the schedule for generating inventory results.
     * 
     */
    public Optional>> scheduleFrequency() {
        return Optional.ofNullable(this.scheduleFrequency);
    }

    private InventoryConfigurationArgs() {}

    private InventoryConfigurationArgs(InventoryConfigurationArgs $) {
        this.destination = $.destination;
        this.enabled = $.enabled;
        this.id = $.id;
        this.includedObjectVersions = $.includedObjectVersions;
        this.optionalFields = $.optionalFields;
        this.prefix = $.prefix;
        this.scheduleFrequency = $.scheduleFrequency;
    }

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

    public static final class Builder {
        private InventoryConfigurationArgs $;

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

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

        /**
         * @param destination Contains information about where to publish the inventory results. Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder destination(@Nullable Output destination) {
            $.destination = destination;
            return this;
        }

        /**
         * @param destination Contains information about where to publish the inventory results. Specifies information about where to publish analysis or configuration results for an Amazon S3 bucket.
         * 
         * @return builder
         * 
         */
        public Builder destination(DestinationArgs destination) {
            return destination(Output.of(destination));
        }

        /**
         * @param enabled Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Specifies whether the inventory is enabled or disabled. If set to ``True``, an inventory list is generated. If set to ``False``, no inventory list is generated.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param id The ID used to identify the inventory configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id The ID used to identify the inventory configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param includedObjectVersions Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
         * 
         * @return builder
         * 
         */
        public Builder includedObjectVersions(@Nullable Output> includedObjectVersions) {
            $.includedObjectVersions = includedObjectVersions;
            return this;
        }

        /**
         * @param includedObjectVersions Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
         * 
         * @return builder
         * 
         */
        public Builder includedObjectVersions(Either includedObjectVersions) {
            return includedObjectVersions(Output.of(includedObjectVersions));
        }

        /**
         * @param includedObjectVersions Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
         * 
         * @return builder
         * 
         */
        public Builder includedObjectVersions(String includedObjectVersions) {
            return includedObjectVersions(Either.ofLeft(includedObjectVersions));
        }

        /**
         * @param includedObjectVersions Object versions to include in the inventory list. If set to ``All``, the list includes all the object versions, which adds the version-related fields ``VersionId``, ``IsLatest``, and ``DeleteMarker`` to the list. If set to ``Current``, the list does not contain these version-related fields.
         * 
         * @return builder
         * 
         */
        public Builder includedObjectVersions(InventoryConfigurationIncludedObjectVersions includedObjectVersions) {
            return includedObjectVersions(Either.ofRight(includedObjectVersions));
        }

        /**
         * @param optionalFields Contains the optional fields that are included in the inventory results.
         * 
         * @return builder
         * 
         */
        public Builder optionalFields(@Nullable Output>> optionalFields) {
            $.optionalFields = optionalFields;
            return this;
        }

        /**
         * @param optionalFields Contains the optional fields that are included in the inventory results.
         * 
         * @return builder
         * 
         */
        public Builder optionalFields(List> optionalFields) {
            return optionalFields(Output.of(optionalFields));
        }

        /**
         * @param optionalFields Contains the optional fields that are included in the inventory results.
         * 
         * @return builder
         * 
         */
        public Builder optionalFields(Either... optionalFields) {
            return optionalFields(List.of(optionalFields));
        }

        /**
         * @param prefix Specifies the inventory filter prefix.
         * 
         * @return builder
         * 
         */
        public Builder prefix(@Nullable Output prefix) {
            $.prefix = prefix;
            return this;
        }

        /**
         * @param prefix Specifies the inventory filter prefix.
         * 
         * @return builder
         * 
         */
        public Builder prefix(String prefix) {
            return prefix(Output.of(prefix));
        }

        /**
         * @param scheduleFrequency Specifies the schedule for generating inventory results.
         * 
         * @return builder
         * 
         */
        public Builder scheduleFrequency(@Nullable Output> scheduleFrequency) {
            $.scheduleFrequency = scheduleFrequency;
            return this;
        }

        /**
         * @param scheduleFrequency Specifies the schedule for generating inventory results.
         * 
         * @return builder
         * 
         */
        public Builder scheduleFrequency(Either scheduleFrequency) {
            return scheduleFrequency(Output.of(scheduleFrequency));
        }

        /**
         * @param scheduleFrequency Specifies the schedule for generating inventory results.
         * 
         * @return builder
         * 
         */
        public Builder scheduleFrequency(String scheduleFrequency) {
            return scheduleFrequency(Either.ofLeft(scheduleFrequency));
        }

        /**
         * @param scheduleFrequency Specifies the schedule for generating inventory results.
         * 
         * @return builder
         * 
         */
        public Builder scheduleFrequency(InventoryConfigurationScheduleFrequency scheduleFrequency) {
            return scheduleFrequency(Either.ofRight(scheduleFrequency));
        }

        public InventoryConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy