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

com.pulumi.azurenative.mobilenetwork.PacketCaptureArgs 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.mobilenetwork;

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.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class PacketCaptureArgs extends com.pulumi.resources.ResourceArgs {

    public static final PacketCaptureArgs Empty = new PacketCaptureArgs();

    /**
     * Number of bytes captured per packet, the remaining bytes are truncated. The default "0" means the entire packet is captured.
     * 
     */
    @Import(name="bytesToCapturePerPacket")
    private @Nullable Output bytesToCapturePerPacket;

    /**
     * @return Number of bytes captured per packet, the remaining bytes are truncated. The default "0" means the entire packet is captured.
     * 
     */
    public Optional> bytesToCapturePerPacket() {
        return Optional.ofNullable(this.bytesToCapturePerPacket);
    }

    /**
     * List of network interfaces to capture on.
     * 
     */
    @Import(name="networkInterfaces")
    private @Nullable Output> networkInterfaces;

    /**
     * @return List of network interfaces to capture on.
     * 
     */
    public Optional>> networkInterfaces() {
        return Optional.ofNullable(this.networkInterfaces);
    }

    /**
     * The name of the packet capture session.
     * 
     */
    @Import(name="packetCaptureName")
    private @Nullable Output packetCaptureName;

    /**
     * @return The name of the packet capture session.
     * 
     */
    public Optional> packetCaptureName() {
        return Optional.ofNullable(this.packetCaptureName);
    }

    /**
     * The name of the packet core control plane.
     * 
     */
    @Import(name="packetCoreControlPlaneName", required=true)
    private Output packetCoreControlPlaneName;

    /**
     * @return The name of the packet core control plane.
     * 
     */
    public Output packetCoreControlPlaneName() {
        return this.packetCoreControlPlaneName;
    }

    /**
     * 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;
    }

    /**
     * Maximum duration of the capture session in seconds.
     * 
     */
    @Import(name="timeLimitInSeconds")
    private @Nullable Output timeLimitInSeconds;

    /**
     * @return Maximum duration of the capture session in seconds.
     * 
     */
    public Optional> timeLimitInSeconds() {
        return Optional.ofNullable(this.timeLimitInSeconds);
    }

    /**
     * Maximum size of the capture output.
     * 
     */
    @Import(name="totalBytesPerSession")
    private @Nullable Output totalBytesPerSession;

    /**
     * @return Maximum size of the capture output.
     * 
     */
    public Optional> totalBytesPerSession() {
        return Optional.ofNullable(this.totalBytesPerSession);
    }

    private PacketCaptureArgs() {}

    private PacketCaptureArgs(PacketCaptureArgs $) {
        this.bytesToCapturePerPacket = $.bytesToCapturePerPacket;
        this.networkInterfaces = $.networkInterfaces;
        this.packetCaptureName = $.packetCaptureName;
        this.packetCoreControlPlaneName = $.packetCoreControlPlaneName;
        this.resourceGroupName = $.resourceGroupName;
        this.timeLimitInSeconds = $.timeLimitInSeconds;
        this.totalBytesPerSession = $.totalBytesPerSession;
    }

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

    public static final class Builder {
        private PacketCaptureArgs $;

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

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

        /**
         * @param bytesToCapturePerPacket Number of bytes captured per packet, the remaining bytes are truncated. The default "0" means the entire packet is captured.
         * 
         * @return builder
         * 
         */
        public Builder bytesToCapturePerPacket(@Nullable Output bytesToCapturePerPacket) {
            $.bytesToCapturePerPacket = bytesToCapturePerPacket;
            return this;
        }

        /**
         * @param bytesToCapturePerPacket Number of bytes captured per packet, the remaining bytes are truncated. The default "0" means the entire packet is captured.
         * 
         * @return builder
         * 
         */
        public Builder bytesToCapturePerPacket(Double bytesToCapturePerPacket) {
            return bytesToCapturePerPacket(Output.of(bytesToCapturePerPacket));
        }

        /**
         * @param networkInterfaces List of network interfaces to capture on.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaces(@Nullable Output> networkInterfaces) {
            $.networkInterfaces = networkInterfaces;
            return this;
        }

        /**
         * @param networkInterfaces List of network interfaces to capture on.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaces(List networkInterfaces) {
            return networkInterfaces(Output.of(networkInterfaces));
        }

        /**
         * @param networkInterfaces List of network interfaces to capture on.
         * 
         * @return builder
         * 
         */
        public Builder networkInterfaces(String... networkInterfaces) {
            return networkInterfaces(List.of(networkInterfaces));
        }

        /**
         * @param packetCaptureName The name of the packet capture session.
         * 
         * @return builder
         * 
         */
        public Builder packetCaptureName(@Nullable Output packetCaptureName) {
            $.packetCaptureName = packetCaptureName;
            return this;
        }

        /**
         * @param packetCaptureName The name of the packet capture session.
         * 
         * @return builder
         * 
         */
        public Builder packetCaptureName(String packetCaptureName) {
            return packetCaptureName(Output.of(packetCaptureName));
        }

        /**
         * @param packetCoreControlPlaneName The name of the packet core control plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreControlPlaneName(Output packetCoreControlPlaneName) {
            $.packetCoreControlPlaneName = packetCoreControlPlaneName;
            return this;
        }

        /**
         * @param packetCoreControlPlaneName The name of the packet core control plane.
         * 
         * @return builder
         * 
         */
        public Builder packetCoreControlPlaneName(String packetCoreControlPlaneName) {
            return packetCoreControlPlaneName(Output.of(packetCoreControlPlaneName));
        }

        /**
         * @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 timeLimitInSeconds Maximum duration of the capture session in seconds.
         * 
         * @return builder
         * 
         */
        public Builder timeLimitInSeconds(@Nullable Output timeLimitInSeconds) {
            $.timeLimitInSeconds = timeLimitInSeconds;
            return this;
        }

        /**
         * @param timeLimitInSeconds Maximum duration of the capture session in seconds.
         * 
         * @return builder
         * 
         */
        public Builder timeLimitInSeconds(Integer timeLimitInSeconds) {
            return timeLimitInSeconds(Output.of(timeLimitInSeconds));
        }

        /**
         * @param totalBytesPerSession Maximum size of the capture output.
         * 
         * @return builder
         * 
         */
        public Builder totalBytesPerSession(@Nullable Output totalBytesPerSession) {
            $.totalBytesPerSession = totalBytesPerSession;
            return this;
        }

        /**
         * @param totalBytesPerSession Maximum size of the capture output.
         * 
         * @return builder
         * 
         */
        public Builder totalBytesPerSession(Double totalBytesPerSession) {
            return totalBytesPerSession(Output.of(totalBytesPerSession));
        }

        public PacketCaptureArgs build() {
            $.bytesToCapturePerPacket = Codegen.doubleProp("bytesToCapturePerPacket").output().arg($.bytesToCapturePerPacket).def(0e+00).getNullable();
            if ($.packetCoreControlPlaneName == null) {
                throw new MissingRequiredPropertyException("PacketCaptureArgs", "packetCoreControlPlaneName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("PacketCaptureArgs", "resourceGroupName");
            }
            $.timeLimitInSeconds = Codegen.integerProp("timeLimitInSeconds").output().arg($.timeLimitInSeconds).def(18000).getNullable();
            $.totalBytesPerSession = Codegen.doubleProp("totalBytesPerSession").output().arg($.totalBytesPerSession).def(6.7108864e+07).getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy