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

com.pulumi.azurenative.networkanalytics.DataProductArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.networkanalytics;

import com.pulumi.azurenative.networkanalytics.enums.ControlState;
import com.pulumi.azurenative.networkanalytics.inputs.DataProductNetworkAclsArgs;
import com.pulumi.azurenative.networkanalytics.inputs.EncryptionKeyDetailsArgs;
import com.pulumi.azurenative.networkanalytics.inputs.ManagedResourceGroupConfigurationArgs;
import com.pulumi.azurenative.networkanalytics.inputs.ManagedServiceIdentityArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 DataProductArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataProductArgs Empty = new DataProductArgs();

    /**
     * Current configured minor version of the data product resource.
     * 
     */
    @Import(name="currentMinorVersion")
    private @Nullable Output currentMinorVersion;

    /**
     * @return Current configured minor version of the data product resource.
     * 
     */
    public Optional> currentMinorVersion() {
        return Optional.ofNullable(this.currentMinorVersion);
    }

    /**
     * Customer managed encryption key details for data product.
     * 
     */
    @Import(name="customerEncryptionKey")
    private @Nullable Output customerEncryptionKey;

    /**
     * @return Customer managed encryption key details for data product.
     * 
     */
    public Optional> customerEncryptionKey() {
        return Optional.ofNullable(this.customerEncryptionKey);
    }

    /**
     * Flag to enable customer managed key encryption for data product.
     * 
     */
    @Import(name="customerManagedKeyEncryptionEnabled")
    private @Nullable Output> customerManagedKeyEncryptionEnabled;

    /**
     * @return Flag to enable customer managed key encryption for data product.
     * 
     */
    public Optional>> customerManagedKeyEncryptionEnabled() {
        return Optional.ofNullable(this.customerManagedKeyEncryptionEnabled);
    }

    /**
     * The data product resource name
     * 
     */
    @Import(name="dataProductName")
    private @Nullable Output dataProductName;

    /**
     * @return The data product resource name
     * 
     */
    public Optional> dataProductName() {
        return Optional.ofNullable(this.dataProductName);
    }

    /**
     * The managed service identities assigned to this resource.
     * 
     */
    @Import(name="identity")
    private @Nullable Output identity;

    /**
     * @return The managed service identities assigned to this resource.
     * 
     */
    public Optional> identity() {
        return Optional.ofNullable(this.identity);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Major version of data product.
     * 
     */
    @Import(name="majorVersion", required=true)
    private Output majorVersion;

    /**
     * @return Major version of data product.
     * 
     */
    public Output majorVersion() {
        return this.majorVersion;
    }

    /**
     * Managed resource group configuration.
     * 
     */
    @Import(name="managedResourceGroupConfiguration")
    private @Nullable Output managedResourceGroupConfiguration;

    /**
     * @return Managed resource group configuration.
     * 
     */
    public Optional> managedResourceGroupConfiguration() {
        return Optional.ofNullable(this.managedResourceGroupConfiguration);
    }

    /**
     * Network rule set for data product.
     * 
     */
    @Import(name="networkacls")
    private @Nullable Output networkacls;

    /**
     * @return Network rule set for data product.
     * 
     */
    public Optional> networkacls() {
        return Optional.ofNullable(this.networkacls);
    }

    /**
     * List of name or email associated with data product resource deployment.
     * 
     */
    @Import(name="owners")
    private @Nullable Output> owners;

    /**
     * @return List of name or email associated with data product resource deployment.
     * 
     */
    public Optional>> owners() {
        return Optional.ofNullable(this.owners);
    }

    /**
     * Flag to enable or disable private link for data product resource.
     * 
     */
    @Import(name="privateLinksEnabled")
    private @Nullable Output> privateLinksEnabled;

    /**
     * @return Flag to enable or disable private link for data product resource.
     * 
     */
    public Optional>> privateLinksEnabled() {
        return Optional.ofNullable(this.privateLinksEnabled);
    }

    /**
     * Product name of data product.
     * 
     */
    @Import(name="product", required=true)
    private Output product;

    /**
     * @return Product name of data product.
     * 
     */
    public Output product() {
        return this.product;
    }

    /**
     * Flag to enable or disable public access of data product resource.
     * 
     */
    @Import(name="publicNetworkAccess")
    private @Nullable Output> publicNetworkAccess;

    /**
     * @return Flag to enable or disable public access of data product resource.
     * 
     */
    public Optional>> publicNetworkAccess() {
        return Optional.ofNullable(this.publicNetworkAccess);
    }

    /**
     * Data product publisher name.
     * 
     */
    @Import(name="publisher", required=true)
    private Output publisher;

    /**
     * @return Data product publisher name.
     * 
     */
    public Output publisher() {
        return this.publisher;
    }

    /**
     * Purview account url for data product to connect to.
     * 
     */
    @Import(name="purviewAccount")
    private @Nullable Output purviewAccount;

    /**
     * @return Purview account url for data product to connect to.
     * 
     */
    public Optional> purviewAccount() {
        return Optional.ofNullable(this.purviewAccount);
    }

    /**
     * Purview collection url for data product to connect to.
     * 
     */
    @Import(name="purviewCollection")
    private @Nullable Output purviewCollection;

    /**
     * @return Purview collection url for data product to connect to.
     * 
     */
    public Optional> purviewCollection() {
        return Optional.ofNullable(this.purviewCollection);
    }

    /**
     * Flag to enable or disable redundancy for data product.
     * 
     */
    @Import(name="redundancy")
    private @Nullable Output> redundancy;

    /**
     * @return Flag to enable or disable redundancy for data product.
     * 
     */
    public Optional>> redundancy() {
        return Optional.ofNullable(this.redundancy);
    }

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private DataProductArgs() {}

    private DataProductArgs(DataProductArgs $) {
        this.currentMinorVersion = $.currentMinorVersion;
        this.customerEncryptionKey = $.customerEncryptionKey;
        this.customerManagedKeyEncryptionEnabled = $.customerManagedKeyEncryptionEnabled;
        this.dataProductName = $.dataProductName;
        this.identity = $.identity;
        this.location = $.location;
        this.majorVersion = $.majorVersion;
        this.managedResourceGroupConfiguration = $.managedResourceGroupConfiguration;
        this.networkacls = $.networkacls;
        this.owners = $.owners;
        this.privateLinksEnabled = $.privateLinksEnabled;
        this.product = $.product;
        this.publicNetworkAccess = $.publicNetworkAccess;
        this.publisher = $.publisher;
        this.purviewAccount = $.purviewAccount;
        this.purviewCollection = $.purviewCollection;
        this.redundancy = $.redundancy;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private DataProductArgs $;

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

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

        /**
         * @param currentMinorVersion Current configured minor version of the data product resource.
         * 
         * @return builder
         * 
         */
        public Builder currentMinorVersion(@Nullable Output currentMinorVersion) {
            $.currentMinorVersion = currentMinorVersion;
            return this;
        }

        /**
         * @param currentMinorVersion Current configured minor version of the data product resource.
         * 
         * @return builder
         * 
         */
        public Builder currentMinorVersion(String currentMinorVersion) {
            return currentMinorVersion(Output.of(currentMinorVersion));
        }

        /**
         * @param customerEncryptionKey Customer managed encryption key details for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerEncryptionKey(@Nullable Output customerEncryptionKey) {
            $.customerEncryptionKey = customerEncryptionKey;
            return this;
        }

        /**
         * @param customerEncryptionKey Customer managed encryption key details for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerEncryptionKey(EncryptionKeyDetailsArgs customerEncryptionKey) {
            return customerEncryptionKey(Output.of(customerEncryptionKey));
        }

        /**
         * @param customerManagedKeyEncryptionEnabled Flag to enable customer managed key encryption for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerManagedKeyEncryptionEnabled(@Nullable Output> customerManagedKeyEncryptionEnabled) {
            $.customerManagedKeyEncryptionEnabled = customerManagedKeyEncryptionEnabled;
            return this;
        }

        /**
         * @param customerManagedKeyEncryptionEnabled Flag to enable customer managed key encryption for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerManagedKeyEncryptionEnabled(Either customerManagedKeyEncryptionEnabled) {
            return customerManagedKeyEncryptionEnabled(Output.of(customerManagedKeyEncryptionEnabled));
        }

        /**
         * @param customerManagedKeyEncryptionEnabled Flag to enable customer managed key encryption for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerManagedKeyEncryptionEnabled(String customerManagedKeyEncryptionEnabled) {
            return customerManagedKeyEncryptionEnabled(Either.ofLeft(customerManagedKeyEncryptionEnabled));
        }

        /**
         * @param customerManagedKeyEncryptionEnabled Flag to enable customer managed key encryption for data product.
         * 
         * @return builder
         * 
         */
        public Builder customerManagedKeyEncryptionEnabled(ControlState customerManagedKeyEncryptionEnabled) {
            return customerManagedKeyEncryptionEnabled(Either.ofRight(customerManagedKeyEncryptionEnabled));
        }

        /**
         * @param dataProductName The data product resource name
         * 
         * @return builder
         * 
         */
        public Builder dataProductName(@Nullable Output dataProductName) {
            $.dataProductName = dataProductName;
            return this;
        }

        /**
         * @param dataProductName The data product resource name
         * 
         * @return builder
         * 
         */
        public Builder dataProductName(String dataProductName) {
            return dataProductName(Output.of(dataProductName));
        }

        /**
         * @param identity The managed service identities assigned to this resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(@Nullable Output identity) {
            $.identity = identity;
            return this;
        }

        /**
         * @param identity The managed service identities assigned to this resource.
         * 
         * @return builder
         * 
         */
        public Builder identity(ManagedServiceIdentityArgs identity) {
            return identity(Output.of(identity));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param majorVersion Major version of data product.
         * 
         * @return builder
         * 
         */
        public Builder majorVersion(Output majorVersion) {
            $.majorVersion = majorVersion;
            return this;
        }

        /**
         * @param majorVersion Major version of data product.
         * 
         * @return builder
         * 
         */
        public Builder majorVersion(String majorVersion) {
            return majorVersion(Output.of(majorVersion));
        }

        /**
         * @param managedResourceGroupConfiguration Managed resource group configuration.
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupConfiguration(@Nullable Output managedResourceGroupConfiguration) {
            $.managedResourceGroupConfiguration = managedResourceGroupConfiguration;
            return this;
        }

        /**
         * @param managedResourceGroupConfiguration Managed resource group configuration.
         * 
         * @return builder
         * 
         */
        public Builder managedResourceGroupConfiguration(ManagedResourceGroupConfigurationArgs managedResourceGroupConfiguration) {
            return managedResourceGroupConfiguration(Output.of(managedResourceGroupConfiguration));
        }

        /**
         * @param networkacls Network rule set for data product.
         * 
         * @return builder
         * 
         */
        public Builder networkacls(@Nullable Output networkacls) {
            $.networkacls = networkacls;
            return this;
        }

        /**
         * @param networkacls Network rule set for data product.
         * 
         * @return builder
         * 
         */
        public Builder networkacls(DataProductNetworkAclsArgs networkacls) {
            return networkacls(Output.of(networkacls));
        }

        /**
         * @param owners List of name or email associated with data product resource deployment.
         * 
         * @return builder
         * 
         */
        public Builder owners(@Nullable Output> owners) {
            $.owners = owners;
            return this;
        }

        /**
         * @param owners List of name or email associated with data product resource deployment.
         * 
         * @return builder
         * 
         */
        public Builder owners(List owners) {
            return owners(Output.of(owners));
        }

        /**
         * @param owners List of name or email associated with data product resource deployment.
         * 
         * @return builder
         * 
         */
        public Builder owners(String... owners) {
            return owners(List.of(owners));
        }

        /**
         * @param privateLinksEnabled Flag to enable or disable private link for data product resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinksEnabled(@Nullable Output> privateLinksEnabled) {
            $.privateLinksEnabled = privateLinksEnabled;
            return this;
        }

        /**
         * @param privateLinksEnabled Flag to enable or disable private link for data product resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinksEnabled(Either privateLinksEnabled) {
            return privateLinksEnabled(Output.of(privateLinksEnabled));
        }

        /**
         * @param privateLinksEnabled Flag to enable or disable private link for data product resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinksEnabled(String privateLinksEnabled) {
            return privateLinksEnabled(Either.ofLeft(privateLinksEnabled));
        }

        /**
         * @param privateLinksEnabled Flag to enable or disable private link for data product resource.
         * 
         * @return builder
         * 
         */
        public Builder privateLinksEnabled(ControlState privateLinksEnabled) {
            return privateLinksEnabled(Either.ofRight(privateLinksEnabled));
        }

        /**
         * @param product Product name of data product.
         * 
         * @return builder
         * 
         */
        public Builder product(Output product) {
            $.product = product;
            return this;
        }

        /**
         * @param product Product name of data product.
         * 
         * @return builder
         * 
         */
        public Builder product(String product) {
            return product(Output.of(product));
        }

        /**
         * @param publicNetworkAccess Flag to enable or disable public access of data product resource.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(@Nullable Output> publicNetworkAccess) {
            $.publicNetworkAccess = publicNetworkAccess;
            return this;
        }

        /**
         * @param publicNetworkAccess Flag to enable or disable public access of data product resource.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(Either publicNetworkAccess) {
            return publicNetworkAccess(Output.of(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Flag to enable or disable public access of data product resource.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(String publicNetworkAccess) {
            return publicNetworkAccess(Either.ofLeft(publicNetworkAccess));
        }

        /**
         * @param publicNetworkAccess Flag to enable or disable public access of data product resource.
         * 
         * @return builder
         * 
         */
        public Builder publicNetworkAccess(ControlState publicNetworkAccess) {
            return publicNetworkAccess(Either.ofRight(publicNetworkAccess));
        }

        /**
         * @param publisher Data product publisher name.
         * 
         * @return builder
         * 
         */
        public Builder publisher(Output publisher) {
            $.publisher = publisher;
            return this;
        }

        /**
         * @param publisher Data product publisher name.
         * 
         * @return builder
         * 
         */
        public Builder publisher(String publisher) {
            return publisher(Output.of(publisher));
        }

        /**
         * @param purviewAccount Purview account url for data product to connect to.
         * 
         * @return builder
         * 
         */
        public Builder purviewAccount(@Nullable Output purviewAccount) {
            $.purviewAccount = purviewAccount;
            return this;
        }

        /**
         * @param purviewAccount Purview account url for data product to connect to.
         * 
         * @return builder
         * 
         */
        public Builder purviewAccount(String purviewAccount) {
            return purviewAccount(Output.of(purviewAccount));
        }

        /**
         * @param purviewCollection Purview collection url for data product to connect to.
         * 
         * @return builder
         * 
         */
        public Builder purviewCollection(@Nullable Output purviewCollection) {
            $.purviewCollection = purviewCollection;
            return this;
        }

        /**
         * @param purviewCollection Purview collection url for data product to connect to.
         * 
         * @return builder
         * 
         */
        public Builder purviewCollection(String purviewCollection) {
            return purviewCollection(Output.of(purviewCollection));
        }

        /**
         * @param redundancy Flag to enable or disable redundancy for data product.
         * 
         * @return builder
         * 
         */
        public Builder redundancy(@Nullable Output> redundancy) {
            $.redundancy = redundancy;
            return this;
        }

        /**
         * @param redundancy Flag to enable or disable redundancy for data product.
         * 
         * @return builder
         * 
         */
        public Builder redundancy(Either redundancy) {
            return redundancy(Output.of(redundancy));
        }

        /**
         * @param redundancy Flag to enable or disable redundancy for data product.
         * 
         * @return builder
         * 
         */
        public Builder redundancy(String redundancy) {
            return redundancy(Either.ofLeft(redundancy));
        }

        /**
         * @param redundancy Flag to enable or disable redundancy for data product.
         * 
         * @return builder
         * 
         */
        public Builder redundancy(ControlState redundancy) {
            return redundancy(Either.ofRight(redundancy));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public DataProductArgs build() {
            if ($.majorVersion == null) {
                throw new MissingRequiredPropertyException("DataProductArgs", "majorVersion");
            }
            if ($.product == null) {
                throw new MissingRequiredPropertyException("DataProductArgs", "product");
            }
            if ($.publisher == null) {
                throw new MissingRequiredPropertyException("DataProductArgs", "publisher");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("DataProductArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy