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

com.pulumi.azurenative.securityinsights.inputs.SapAgentConfigurationArgs 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.securityinsights.inputs;

import com.pulumi.azurenative.securityinsights.enums.KeyVaultAuthenticationMode;
import com.pulumi.azurenative.securityinsights.enums.SecretSource;
import com.pulumi.core.Either;
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.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Describes the configuration of a SAP Docker agent.
 * 
 */
public final class SapAgentConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final SapAgentConfigurationArgs Empty = new SapAgentConfigurationArgs();

    /**
     * The name of the docker agent.
     * only letters with numbers, underscores and hyphens are allowed
     * example: "my-agent"
     * 
     */
    @Import(name="agentContainerName")
    private @Nullable Output agentContainerName;

    /**
     * @return The name of the docker agent.
     * only letters with numbers, underscores and hyphens are allowed
     * example: "my-agent"
     * 
     */
    public Optional> agentContainerName() {
        return Optional.ofNullable(this.agentContainerName);
    }

    /**
     * The key mode of the agent.
     * ManagedIdentity|ApplicationIdentity are the options
     * 
     */
    @Import(name="keyVaultAuthenticationMode")
    private @Nullable Output> keyVaultAuthenticationMode;

    /**
     * @return The key mode of the agent.
     * ManagedIdentity|ApplicationIdentity are the options
     * 
     */
    public Optional>> keyVaultAuthenticationMode() {
        return Optional.ofNullable(this.keyVaultAuthenticationMode);
    }

    /**
     * The key vault resource id to access the key vault.
     * example: "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault"
     * 
     */
    @Import(name="keyVaultResourceId")
    private @Nullable Output keyVaultResourceId;

    /**
     * @return The key vault resource id to access the key vault.
     * example: "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault"
     * 
     */
    public Optional> keyVaultResourceId() {
        return Optional.ofNullable(this.keyVaultResourceId);
    }

    /**
     * The SDK path (a file not a folder) on the agent machine.
     * example: "/path/to/nwrfc750P_8-70002755.zip"
     * 
     */
    @Import(name="sdkPath")
    private @Nullable Output sdkPath;

    /**
     * @return The SDK path (a file not a folder) on the agent machine.
     * example: "/path/to/nwrfc750P_8-70002755.zip"
     * 
     */
    public Optional> sdkPath() {
        return Optional.ofNullable(this.sdkPath);
    }

    /**
     * The secret source of the agent.
     * AzureKeyVault is the option
     * 
     */
    @Import(name="secretSource")
    private @Nullable Output> secretSource;

    /**
     * @return The secret source of the agent.
     * AzureKeyVault is the option
     * 
     */
    public Optional>> secretSource() {
        return Optional.ofNullable(this.secretSource);
    }

    /**
     * The SNC path (a folder not a file) on the agent machine.
     * example: "/path/to/snc"
     * 
     */
    @Import(name="sncPath")
    private @Nullable Output sncPath;

    /**
     * @return The SNC path (a folder not a file) on the agent machine.
     * example: "/path/to/snc"
     * 
     */
    public Optional> sncPath() {
        return Optional.ofNullable(this.sncPath);
    }

    /**
     * Type of the agent
     * Expected value is 'SAP'.
     * 
     */
    @Import(name="type", required=true)
    private Output type;

    /**
     * @return Type of the agent
     * Expected value is 'SAP'.
     * 
     */
    public Output type() {
        return this.type;
    }

    private SapAgentConfigurationArgs() {}

    private SapAgentConfigurationArgs(SapAgentConfigurationArgs $) {
        this.agentContainerName = $.agentContainerName;
        this.keyVaultAuthenticationMode = $.keyVaultAuthenticationMode;
        this.keyVaultResourceId = $.keyVaultResourceId;
        this.sdkPath = $.sdkPath;
        this.secretSource = $.secretSource;
        this.sncPath = $.sncPath;
        this.type = $.type;
    }

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

    public static final class Builder {
        private SapAgentConfigurationArgs $;

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

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

        /**
         * @param agentContainerName The name of the docker agent.
         * only letters with numbers, underscores and hyphens are allowed
         * example: "my-agent"
         * 
         * @return builder
         * 
         */
        public Builder agentContainerName(@Nullable Output agentContainerName) {
            $.agentContainerName = agentContainerName;
            return this;
        }

        /**
         * @param agentContainerName The name of the docker agent.
         * only letters with numbers, underscores and hyphens are allowed
         * example: "my-agent"
         * 
         * @return builder
         * 
         */
        public Builder agentContainerName(String agentContainerName) {
            return agentContainerName(Output.of(agentContainerName));
        }

        /**
         * @param keyVaultAuthenticationMode The key mode of the agent.
         * ManagedIdentity|ApplicationIdentity are the options
         * 
         * @return builder
         * 
         */
        public Builder keyVaultAuthenticationMode(@Nullable Output> keyVaultAuthenticationMode) {
            $.keyVaultAuthenticationMode = keyVaultAuthenticationMode;
            return this;
        }

        /**
         * @param keyVaultAuthenticationMode The key mode of the agent.
         * ManagedIdentity|ApplicationIdentity are the options
         * 
         * @return builder
         * 
         */
        public Builder keyVaultAuthenticationMode(Either keyVaultAuthenticationMode) {
            return keyVaultAuthenticationMode(Output.of(keyVaultAuthenticationMode));
        }

        /**
         * @param keyVaultAuthenticationMode The key mode of the agent.
         * ManagedIdentity|ApplicationIdentity are the options
         * 
         * @return builder
         * 
         */
        public Builder keyVaultAuthenticationMode(String keyVaultAuthenticationMode) {
            return keyVaultAuthenticationMode(Either.ofLeft(keyVaultAuthenticationMode));
        }

        /**
         * @param keyVaultAuthenticationMode The key mode of the agent.
         * ManagedIdentity|ApplicationIdentity are the options
         * 
         * @return builder
         * 
         */
        public Builder keyVaultAuthenticationMode(KeyVaultAuthenticationMode keyVaultAuthenticationMode) {
            return keyVaultAuthenticationMode(Either.ofRight(keyVaultAuthenticationMode));
        }

        /**
         * @param keyVaultResourceId The key vault resource id to access the key vault.
         * example: "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault"
         * 
         * @return builder
         * 
         */
        public Builder keyVaultResourceId(@Nullable Output keyVaultResourceId) {
            $.keyVaultResourceId = keyVaultResourceId;
            return this;
        }

        /**
         * @param keyVaultResourceId The key vault resource id to access the key vault.
         * example: "/subscriptions/d0cfe6b2-9ac0-4464-9919-dccaee2e48c0/resourceGroups/myRg/providers/Microsoft.KeyVault/vaults/myVault"
         * 
         * @return builder
         * 
         */
        public Builder keyVaultResourceId(String keyVaultResourceId) {
            return keyVaultResourceId(Output.of(keyVaultResourceId));
        }

        /**
         * @param sdkPath The SDK path (a file not a folder) on the agent machine.
         * example: "/path/to/nwrfc750P_8-70002755.zip"
         * 
         * @return builder
         * 
         */
        public Builder sdkPath(@Nullable Output sdkPath) {
            $.sdkPath = sdkPath;
            return this;
        }

        /**
         * @param sdkPath The SDK path (a file not a folder) on the agent machine.
         * example: "/path/to/nwrfc750P_8-70002755.zip"
         * 
         * @return builder
         * 
         */
        public Builder sdkPath(String sdkPath) {
            return sdkPath(Output.of(sdkPath));
        }

        /**
         * @param secretSource The secret source of the agent.
         * AzureKeyVault is the option
         * 
         * @return builder
         * 
         */
        public Builder secretSource(@Nullable Output> secretSource) {
            $.secretSource = secretSource;
            return this;
        }

        /**
         * @param secretSource The secret source of the agent.
         * AzureKeyVault is the option
         * 
         * @return builder
         * 
         */
        public Builder secretSource(Either secretSource) {
            return secretSource(Output.of(secretSource));
        }

        /**
         * @param secretSource The secret source of the agent.
         * AzureKeyVault is the option
         * 
         * @return builder
         * 
         */
        public Builder secretSource(String secretSource) {
            return secretSource(Either.ofLeft(secretSource));
        }

        /**
         * @param secretSource The secret source of the agent.
         * AzureKeyVault is the option
         * 
         * @return builder
         * 
         */
        public Builder secretSource(SecretSource secretSource) {
            return secretSource(Either.ofRight(secretSource));
        }

        /**
         * @param sncPath The SNC path (a folder not a file) on the agent machine.
         * example: "/path/to/snc"
         * 
         * @return builder
         * 
         */
        public Builder sncPath(@Nullable Output sncPath) {
            $.sncPath = sncPath;
            return this;
        }

        /**
         * @param sncPath The SNC path (a folder not a file) on the agent machine.
         * example: "/path/to/snc"
         * 
         * @return builder
         * 
         */
        public Builder sncPath(String sncPath) {
            return sncPath(Output.of(sncPath));
        }

        /**
         * @param type Type of the agent
         * Expected value is 'SAP'.
         * 
         * @return builder
         * 
         */
        public Builder type(Output type) {
            $.type = type;
            return this;
        }

        /**
         * @param type Type of the agent
         * Expected value is 'SAP'.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Output.of(type));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy