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

com.pulumi.azurenative.security.SecurityConnectorArgs 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.security;

import com.pulumi.azurenative.security.enums.CloudName;
import com.pulumi.azurenative.security.inputs.AwsEnvironmentDataArgs;
import com.pulumi.azurenative.security.inputs.AzureDevOpsScopeEnvironmentDataArgs;
import com.pulumi.azurenative.security.inputs.CspmMonitorAwsOfferingArgs;
import com.pulumi.azurenative.security.inputs.CspmMonitorAzureDevOpsOfferingArgs;
import com.pulumi.azurenative.security.inputs.CspmMonitorGcpOfferingArgs;
import com.pulumi.azurenative.security.inputs.CspmMonitorGitLabOfferingArgs;
import com.pulumi.azurenative.security.inputs.CspmMonitorGithubOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderCspmAwsOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderCspmGcpOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderFoDatabasesAwsOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersAwsOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForContainersGcpOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForDatabasesGcpOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForDevOpsAzureDevOpsOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForDevOpsGitLabOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForDevOpsGithubOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForServersAwsOfferingArgs;
import com.pulumi.azurenative.security.inputs.DefenderForServersGcpOfferingArgs;
import com.pulumi.azurenative.security.inputs.GcpProjectEnvironmentDataArgs;
import com.pulumi.azurenative.security.inputs.GithubScopeEnvironmentDataArgs;
import com.pulumi.azurenative.security.inputs.GitlabScopeEnvironmentDataArgs;
import com.pulumi.azurenative.security.inputs.InformationProtectionAwsOfferingArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Object;
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 SecurityConnectorArgs extends com.pulumi.resources.ResourceArgs {

    public static final SecurityConnectorArgs Empty = new SecurityConnectorArgs();

    /**
     * The security connector environment data.
     * 
     */
    @Import(name="environmentData")
    private @Nullable Output environmentData;

    /**
     * @return The security connector environment data.
     * 
     */
    public Optional> environmentData() {
        return Optional.ofNullable(this.environmentData);
    }

    /**
     * The multi cloud resource's cloud name.
     * 
     */
    @Import(name="environmentName")
    private @Nullable Output> environmentName;

    /**
     * @return The multi cloud resource's cloud name.
     * 
     */
    public Optional>> environmentName() {
        return Optional.ofNullable(this.environmentName);
    }

    /**
     * The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
     * 
     */
    @Import(name="hierarchyIdentifier")
    private @Nullable Output hierarchyIdentifier;

    /**
     * @return The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
     * 
     */
    public Optional> hierarchyIdentifier() {
        return Optional.ofNullable(this.hierarchyIdentifier);
    }

    /**
     * Kind of the resource
     * 
     */
    @Import(name="kind")
    private @Nullable Output kind;

    /**
     * @return Kind of the resource
     * 
     */
    public Optional> kind() {
        return Optional.ofNullable(this.kind);
    }

    /**
     * Location where the resource is stored
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Location where the resource is stored
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * A collection of offerings for the security connector.
     * 
     */
    @Import(name="offerings")
    private @Nullable Output> offerings;

    /**
     * @return A collection of offerings for the security connector.
     * 
     */
    public Optional>> offerings() {
        return Optional.ofNullable(this.offerings);
    }

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

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

    /**
     * The security connector name.
     * 
     */
    @Import(name="securityConnectorName")
    private @Nullable Output securityConnectorName;

    /**
     * @return The security connector name.
     * 
     */
    public Optional> securityConnectorName() {
        return Optional.ofNullable(this.securityConnectorName);
    }

    /**
     * A list of key value pairs that describe the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A list of key value pairs that describe the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private SecurityConnectorArgs() {}

    private SecurityConnectorArgs(SecurityConnectorArgs $) {
        this.environmentData = $.environmentData;
        this.environmentName = $.environmentName;
        this.hierarchyIdentifier = $.hierarchyIdentifier;
        this.kind = $.kind;
        this.location = $.location;
        this.offerings = $.offerings;
        this.resourceGroupName = $.resourceGroupName;
        this.securityConnectorName = $.securityConnectorName;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private SecurityConnectorArgs $;

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

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

        /**
         * @param environmentData The security connector environment data.
         * 
         * @return builder
         * 
         */
        public Builder environmentData(@Nullable Output environmentData) {
            $.environmentData = environmentData;
            return this;
        }

        /**
         * @param environmentData The security connector environment data.
         * 
         * @return builder
         * 
         */
        public Builder environmentData(Object environmentData) {
            return environmentData(Output.of(environmentData));
        }

        /**
         * @param environmentName The multi cloud resource's cloud name.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(@Nullable Output> environmentName) {
            $.environmentName = environmentName;
            return this;
        }

        /**
         * @param environmentName The multi cloud resource's cloud name.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(Either environmentName) {
            return environmentName(Output.of(environmentName));
        }

        /**
         * @param environmentName The multi cloud resource's cloud name.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(String environmentName) {
            return environmentName(Either.ofLeft(environmentName));
        }

        /**
         * @param environmentName The multi cloud resource's cloud name.
         * 
         * @return builder
         * 
         */
        public Builder environmentName(CloudName environmentName) {
            return environmentName(Either.ofRight(environmentName));
        }

        /**
         * @param hierarchyIdentifier The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
         * 
         * @return builder
         * 
         */
        public Builder hierarchyIdentifier(@Nullable Output hierarchyIdentifier) {
            $.hierarchyIdentifier = hierarchyIdentifier;
            return this;
        }

        /**
         * @param hierarchyIdentifier The multi cloud resource identifier (account id in case of AWS connector, project number in case of GCP connector).
         * 
         * @return builder
         * 
         */
        public Builder hierarchyIdentifier(String hierarchyIdentifier) {
            return hierarchyIdentifier(Output.of(hierarchyIdentifier));
        }

        /**
         * @param kind Kind of the resource
         * 
         * @return builder
         * 
         */
        public Builder kind(@Nullable Output kind) {
            $.kind = kind;
            return this;
        }

        /**
         * @param kind Kind of the resource
         * 
         * @return builder
         * 
         */
        public Builder kind(String kind) {
            return kind(Output.of(kind));
        }

        /**
         * @param location Location where the resource is stored
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Location where the resource is stored
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param offerings A collection of offerings for the security connector.
         * 
         * @return builder
         * 
         */
        public Builder offerings(@Nullable Output> offerings) {
            $.offerings = offerings;
            return this;
        }

        /**
         * @param offerings A collection of offerings for the security connector.
         * 
         * @return builder
         * 
         */
        public Builder offerings(List offerings) {
            return offerings(Output.of(offerings));
        }

        /**
         * @param offerings A collection of offerings for the security connector.
         * 
         * @return builder
         * 
         */
        public Builder offerings(Object... offerings) {
            return offerings(List.of(offerings));
        }

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

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

        /**
         * @param securityConnectorName The security connector name.
         * 
         * @return builder
         * 
         */
        public Builder securityConnectorName(@Nullable Output securityConnectorName) {
            $.securityConnectorName = securityConnectorName;
            return this;
        }

        /**
         * @param securityConnectorName The security connector name.
         * 
         * @return builder
         * 
         */
        public Builder securityConnectorName(String securityConnectorName) {
            return securityConnectorName(Output.of(securityConnectorName));
        }

        /**
         * @param tags A list of key value pairs that describe the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A list of key value pairs that describe the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        public SecurityConnectorArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("SecurityConnectorArgs", "resourceGroupName");
            }
            return $;
        }
    }

}