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

com.pulumi.azurenative.devices.inputs.RoutingPropertiesArgs 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.devices.inputs;

import com.pulumi.azurenative.devices.inputs.EnrichmentPropertiesArgs;
import com.pulumi.azurenative.devices.inputs.FallbackRoutePropertiesArgs;
import com.pulumi.azurenative.devices.inputs.RoutePropertiesArgs;
import com.pulumi.azurenative.devices.inputs.RoutingEndpointsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The routing related properties of the IoT hub. See: https://docs.microsoft.com/azure/iot-hub/iot-hub-devguide-messaging
 * 
 */
public final class RoutingPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final RoutingPropertiesArgs Empty = new RoutingPropertiesArgs();

    /**
     * The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.
     * 
     */
    @Import(name="endpoints")
    private @Nullable Output endpoints;

    /**
     * @return The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.
     * 
     */
    public Optional> endpoints() {
        return Optional.ofNullable(this.endpoints);
    }

    /**
     * The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid
     * 
     */
    @Import(name="enrichments")
    private @Nullable Output> enrichments;

    /**
     * @return The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid
     * 
     */
    public Optional>> enrichments() {
        return Optional.ofNullable(this.enrichments);
    }

    /**
     * The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.
     * 
     */
    @Import(name="fallbackRoute")
    private @Nullable Output fallbackRoute;

    /**
     * @return The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.
     * 
     */
    public Optional> fallbackRoute() {
        return Optional.ofNullable(this.fallbackRoute);
    }

    /**
     * The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.
     * 
     */
    @Import(name="routes")
    private @Nullable Output> routes;

    /**
     * @return The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.
     * 
     */
    public Optional>> routes() {
        return Optional.ofNullable(this.routes);
    }

    private RoutingPropertiesArgs() {}

    private RoutingPropertiesArgs(RoutingPropertiesArgs $) {
        this.endpoints = $.endpoints;
        this.enrichments = $.enrichments;
        this.fallbackRoute = $.fallbackRoute;
        this.routes = $.routes;
    }

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

    public static final class Builder {
        private RoutingPropertiesArgs $;

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

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

        /**
         * @param endpoints The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(@Nullable Output endpoints) {
            $.endpoints = endpoints;
            return this;
        }

        /**
         * @param endpoints The properties related to the custom endpoints to which your IoT hub routes messages based on the routing rules. A maximum of 10 custom endpoints are allowed across all endpoint types for paid hubs and only 1 custom endpoint is allowed across all endpoint types for free hubs.
         * 
         * @return builder
         * 
         */
        public Builder endpoints(RoutingEndpointsArgs endpoints) {
            return endpoints(Output.of(endpoints));
        }

        /**
         * @param enrichments The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid
         * 
         * @return builder
         * 
         */
        public Builder enrichments(@Nullable Output> enrichments) {
            $.enrichments = enrichments;
            return this;
        }

        /**
         * @param enrichments The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid
         * 
         * @return builder
         * 
         */
        public Builder enrichments(List enrichments) {
            return enrichments(Output.of(enrichments));
        }

        /**
         * @param enrichments The list of user-provided enrichments that the IoT hub applies to messages to be delivered to built-in and custom endpoints. See: https://aka.ms/telemetryoneventgrid
         * 
         * @return builder
         * 
         */
        public Builder enrichments(EnrichmentPropertiesArgs... enrichments) {
            return enrichments(List.of(enrichments));
        }

        /**
         * @param fallbackRoute The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.
         * 
         * @return builder
         * 
         */
        public Builder fallbackRoute(@Nullable Output fallbackRoute) {
            $.fallbackRoute = fallbackRoute;
            return this;
        }

        /**
         * @param fallbackRoute The properties of the route that is used as a fall-back route when none of the conditions specified in the 'routes' section are met. This is an optional parameter. When this property is not set, the messages which do not meet any of the conditions specified in the 'routes' section get routed to the built-in eventhub endpoint.
         * 
         * @return builder
         * 
         */
        public Builder fallbackRoute(FallbackRoutePropertiesArgs fallbackRoute) {
            return fallbackRoute(Output.of(fallbackRoute));
        }

        /**
         * @param routes The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.
         * 
         * @return builder
         * 
         */
        public Builder routes(@Nullable Output> routes) {
            $.routes = routes;
            return this;
        }

        /**
         * @param routes The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.
         * 
         * @return builder
         * 
         */
        public Builder routes(List routes) {
            return routes(Output.of(routes));
        }

        /**
         * @param routes The list of user-provided routing rules that the IoT hub uses to route messages to built-in and custom endpoints. A maximum of 100 routing rules are allowed for paid hubs and a maximum of 5 routing rules are allowed for free hubs.
         * 
         * @return builder
         * 
         */
        public Builder routes(RoutePropertiesArgs... routes) {
            return routes(List.of(routes));
        }

        public RoutingPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy