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

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

// *** 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.EFSVolumeConfigurationTransitEncryption;
import com.pulumi.azurenative.awsconnector.inputs.AuthorizationConfigArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Definition of EFSVolumeConfiguration
 * 
 */
public final class EFSVolumeConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final EFSVolumeConfigurationArgs Empty = new EFSVolumeConfigurationArgs();

    /**
     * The authorization configuration details for the Amazon EFS file system. The authorization configuration details for the Amazon EFS file system.
     * 
     */
    @Import(name="authorizationConfig")
    private @Nullable Output authorizationConfig;

    /**
     * @return The authorization configuration details for the Amazon EFS file system. The authorization configuration details for the Amazon EFS file system.
     * 
     */
    public Optional> authorizationConfig() {
        return Optional.ofNullable(this.authorizationConfig);
    }

    /**
     * The Amazon EFS file system ID to use.
     * 
     */
    @Import(name="filesystemId")
    private @Nullable Output filesystemId;

    /**
     * @return The Amazon EFS file system ID to use.
     * 
     */
    public Optional> filesystemId() {
        return Optional.ofNullable(this.filesystemId);
    }

    /**
     * The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.  If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.
     * 
     */
    @Import(name="rootDirectory")
    private @Nullable Output rootDirectory;

    /**
     * @return The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.  If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.
     * 
     */
    public Optional> rootDirectory() {
        return Optional.ofNullable(this.rootDirectory);
    }

    /**
     * Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
     * 
     */
    @Import(name="transitEncryption")
    private @Nullable Output> transitEncryption;

    /**
     * @return Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
     * 
     */
    public Optional>> transitEncryption() {
        return Optional.ofNullable(this.transitEncryption);
    }

    /**
     * The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.
     * 
     */
    @Import(name="transitEncryptionPort")
    private @Nullable Output transitEncryptionPort;

    /**
     * @return The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.
     * 
     */
    public Optional> transitEncryptionPort() {
        return Optional.ofNullable(this.transitEncryptionPort);
    }

    private EFSVolumeConfigurationArgs() {}

    private EFSVolumeConfigurationArgs(EFSVolumeConfigurationArgs $) {
        this.authorizationConfig = $.authorizationConfig;
        this.filesystemId = $.filesystemId;
        this.rootDirectory = $.rootDirectory;
        this.transitEncryption = $.transitEncryption;
        this.transitEncryptionPort = $.transitEncryptionPort;
    }

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

    public static final class Builder {
        private EFSVolumeConfigurationArgs $;

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

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

        /**
         * @param authorizationConfig The authorization configuration details for the Amazon EFS file system. The authorization configuration details for the Amazon EFS file system.
         * 
         * @return builder
         * 
         */
        public Builder authorizationConfig(@Nullable Output authorizationConfig) {
            $.authorizationConfig = authorizationConfig;
            return this;
        }

        /**
         * @param authorizationConfig The authorization configuration details for the Amazon EFS file system. The authorization configuration details for the Amazon EFS file system.
         * 
         * @return builder
         * 
         */
        public Builder authorizationConfig(AuthorizationConfigArgs authorizationConfig) {
            return authorizationConfig(Output.of(authorizationConfig));
        }

        /**
         * @param filesystemId The Amazon EFS file system ID to use.
         * 
         * @return builder
         * 
         */
        public Builder filesystemId(@Nullable Output filesystemId) {
            $.filesystemId = filesystemId;
            return this;
        }

        /**
         * @param filesystemId The Amazon EFS file system ID to use.
         * 
         * @return builder
         * 
         */
        public Builder filesystemId(String filesystemId) {
            return filesystemId(Output.of(filesystemId));
        }

        /**
         * @param rootDirectory The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.  If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.
         * 
         * @return builder
         * 
         */
        public Builder rootDirectory(@Nullable Output rootDirectory) {
            $.rootDirectory = rootDirectory;
            return this;
        }

        /**
         * @param rootDirectory The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume will be used. Specifying ``/`` will have the same effect as omitting this parameter.  If an EFS access point is specified in the ``authorizationConfig``, the root directory parameter must either be omitted or set to ``/`` which will enforce the path set on the EFS access point.
         * 
         * @return builder
         * 
         */
        public Builder rootDirectory(String rootDirectory) {
            return rootDirectory(Output.of(rootDirectory));
        }

        /**
         * @param transitEncryption Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryption(@Nullable Output> transitEncryption) {
            $.transitEncryption = transitEncryption;
            return this;
        }

        /**
         * @param transitEncryption Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryption(Either transitEncryption) {
            return transitEncryption(Output.of(transitEncryption));
        }

        /**
         * @param transitEncryption Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryption(String transitEncryption) {
            return transitEncryption(Either.ofLeft(transitEncryption));
        }

        /**
         * @param transitEncryption Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of ``DISABLED`` is used. For more information, see [Encrypting data in transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryption(EFSVolumeConfigurationTransitEncryption transitEncryption) {
            return transitEncryption(Either.ofRight(transitEncryption));
        }

        /**
         * @param transitEncryptionPort The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryptionPort(@Nullable Output transitEncryptionPort) {
            $.transitEncryptionPort = transitEncryptionPort;
            return this;
        }

        /**
         * @param transitEncryptionPort The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you do not specify a transit encryption port, it will use the port selection strategy that the Amazon EFS mount helper uses. For more information, see [EFS mount helper](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) in the *Amazon Elastic File System User Guide*.
         * 
         * @return builder
         * 
         */
        public Builder transitEncryptionPort(Integer transitEncryptionPort) {
            return transitEncryptionPort(Output.of(transitEncryptionPort));
        }

        public EFSVolumeConfigurationArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy