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

com.pulumi.alicloud.videosurveillance.SystemGroupArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.videosurveillance;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final SystemGroupArgs Empty = new SystemGroupArgs();

    /**
     * The space within the device status update of the callback, need to start with http:// or https:// at the beginning.
     * 
     */
    @Import(name="callback")
    private @Nullable Output callback;

    /**
     * @return The space within the device status update of the callback, need to start with http:// or https:// at the beginning.
     * 
     */
    public Optional> callback() {
        return Optional.ofNullable(this.callback);
    }

    /**
     * The description of Group.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of Group.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Whether to open Group.
     * 
     */
    @Import(name="enabled")
    private @Nullable Output enabled;

    /**
     * @return Whether to open Group.
     * 
     */
    public Optional> enabled() {
        return Optional.ofNullable(this.enabled);
    }

    /**
     * The Group Name.
     * 
     */
    @Import(name="groupName", required=true)
    private Output groupName;

    /**
     * @return The Group Name.
     * 
     */
    public Output groupName() {
        return this.groupName;
    }

    /**
     * The use of the access protocol support gb28181, Real Time Messaging Protocol (rtmp). Valid values: `gb28181`, `rtmp`.
     * 
     */
    @Import(name="inProtocol", required=true)
    private Output inProtocol;

    /**
     * @return The use of the access protocol support gb28181, Real Time Messaging Protocol (rtmp). Valid values: `gb28181`, `rtmp`.
     * 
     */
    public Output inProtocol() {
        return this.inProtocol;
    }

    /**
     * The playback protocol used by the space, multiple values are separated by commas (,). Valid values: `flv`,`hls`, `rtmp`.
     * 
     */
    @Import(name="outProtocol", required=true)
    private Output outProtocol;

    /**
     * @return The playback protocol used by the space, multiple values are separated by commas (,). Valid values: `flv`,`hls`, `rtmp`.
     * 
     */
    public Output outProtocol() {
        return this.outProtocol;
    }

    /**
     * The domain name of plan streaming used by the group.
     * 
     */
    @Import(name="playDomain", required=true)
    private Output playDomain;

    /**
     * @return The domain name of plan streaming used by the group.
     * 
     */
    public Output playDomain() {
        return this.playDomain;
    }

    /**
     * The domain name of push streaming used by the group.
     * 
     */
    @Import(name="pushDomain", required=true)
    private Output pushDomain;

    /**
     * @return The domain name of push streaming used by the group.
     * 
     */
    public Output pushDomain() {
        return this.pushDomain;
    }

    private SystemGroupArgs() {}

    private SystemGroupArgs(SystemGroupArgs $) {
        this.callback = $.callback;
        this.description = $.description;
        this.enabled = $.enabled;
        this.groupName = $.groupName;
        this.inProtocol = $.inProtocol;
        this.outProtocol = $.outProtocol;
        this.playDomain = $.playDomain;
        this.pushDomain = $.pushDomain;
    }

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

    public static final class Builder {
        private SystemGroupArgs $;

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

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

        /**
         * @param callback The space within the device status update of the callback, need to start with http:// or https:// at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder callback(@Nullable Output callback) {
            $.callback = callback;
            return this;
        }

        /**
         * @param callback The space within the device status update of the callback, need to start with http:// or https:// at the beginning.
         * 
         * @return builder
         * 
         */
        public Builder callback(String callback) {
            return callback(Output.of(callback));
        }

        /**
         * @param description The description of Group.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of Group.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param enabled Whether to open Group.
         * 
         * @return builder
         * 
         */
        public Builder enabled(@Nullable Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Whether to open Group.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param groupName The Group Name.
         * 
         * @return builder
         * 
         */
        public Builder groupName(Output groupName) {
            $.groupName = groupName;
            return this;
        }

        /**
         * @param groupName The Group Name.
         * 
         * @return builder
         * 
         */
        public Builder groupName(String groupName) {
            return groupName(Output.of(groupName));
        }

        /**
         * @param inProtocol The use of the access protocol support gb28181, Real Time Messaging Protocol (rtmp). Valid values: `gb28181`, `rtmp`.
         * 
         * @return builder
         * 
         */
        public Builder inProtocol(Output inProtocol) {
            $.inProtocol = inProtocol;
            return this;
        }

        /**
         * @param inProtocol The use of the access protocol support gb28181, Real Time Messaging Protocol (rtmp). Valid values: `gb28181`, `rtmp`.
         * 
         * @return builder
         * 
         */
        public Builder inProtocol(String inProtocol) {
            return inProtocol(Output.of(inProtocol));
        }

        /**
         * @param outProtocol The playback protocol used by the space, multiple values are separated by commas (,). Valid values: `flv`,`hls`, `rtmp`.
         * 
         * @return builder
         * 
         */
        public Builder outProtocol(Output outProtocol) {
            $.outProtocol = outProtocol;
            return this;
        }

        /**
         * @param outProtocol The playback protocol used by the space, multiple values are separated by commas (,). Valid values: `flv`,`hls`, `rtmp`.
         * 
         * @return builder
         * 
         */
        public Builder outProtocol(String outProtocol) {
            return outProtocol(Output.of(outProtocol));
        }

        /**
         * @param playDomain The domain name of plan streaming used by the group.
         * 
         * @return builder
         * 
         */
        public Builder playDomain(Output playDomain) {
            $.playDomain = playDomain;
            return this;
        }

        /**
         * @param playDomain The domain name of plan streaming used by the group.
         * 
         * @return builder
         * 
         */
        public Builder playDomain(String playDomain) {
            return playDomain(Output.of(playDomain));
        }

        /**
         * @param pushDomain The domain name of push streaming used by the group.
         * 
         * @return builder
         * 
         */
        public Builder pushDomain(Output pushDomain) {
            $.pushDomain = pushDomain;
            return this;
        }

        /**
         * @param pushDomain The domain name of push streaming used by the group.
         * 
         * @return builder
         * 
         */
        public Builder pushDomain(String pushDomain) {
            return pushDomain(Output.of(pushDomain));
        }

        public SystemGroupArgs build() {
            if ($.groupName == null) {
                throw new MissingRequiredPropertyException("SystemGroupArgs", "groupName");
            }
            if ($.inProtocol == null) {
                throw new MissingRequiredPropertyException("SystemGroupArgs", "inProtocol");
            }
            if ($.outProtocol == null) {
                throw new MissingRequiredPropertyException("SystemGroupArgs", "outProtocol");
            }
            if ($.playDomain == null) {
                throw new MissingRequiredPropertyException("SystemGroupArgs", "playDomain");
            }
            if ($.pushDomain == null) {
                throw new MissingRequiredPropertyException("SystemGroupArgs", "pushDomain");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy