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

com.azure.communication.jobrouter.models.RuleEngineQueueSelectorAttachment Maven / Gradle / Ivy

The newest version!
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// Code generated by Microsoft (R) AutoRest Code Generator.
package com.azure.communication.jobrouter.models;

import com.azure.core.annotation.Generated;
import com.azure.core.annotation.Immutable;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import com.fasterxml.jackson.annotation.JsonTypeName;

/** Attaches queue selectors to a job when the RouterRule is resolved. */
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "kind")
@JsonTypeName("rule-engine")
@Immutable
public final class RuleEngineQueueSelectorAttachment extends QueueSelectorAttachment {

    /*
     * A rule of one of the following types:
     *
     * StaticRule:  A rule
     * providing static rules that always return the same result, regardless of
     * input.
     * DirectMapRule:  A rule that return the same labels as the input
     * labels.
     * ExpressionRule: A rule providing inline expression
     * rules.
     * FunctionRule: A rule providing a binding to an HTTP Triggered Azure
     * Function.
     * WebhookRule: A rule providing a binding to a webserver following
     * OAuth2.0 authentication protocol.
     */
    @Generated
    @JsonProperty(value = "rule")
    private RouterRule rule;

    /**
     * Creates an instance of RuleEngineQueueSelectorAttachment class.
     *
     * @param rule the rule value to set.
     */
    @Generated
    @JsonCreator
    public RuleEngineQueueSelectorAttachment(@JsonProperty(value = "rule") RouterRule rule) {
        this.rule = rule;
    }

    /**
     * Get the rule property: A rule of one of the following types:
     *
     * 

StaticRule: A rule providing static rules that always return the same result, regardless of input. * DirectMapRule: A rule that return the same labels as the input labels. ExpressionRule: A rule providing inline * expression rules. FunctionRule: A rule providing a binding to an HTTP Triggered Azure Function. WebhookRule: A * rule providing a binding to a webserver following OAuth2.0 authentication protocol. * * @return the rule value. */ @Generated public RouterRule getRule() { return this.rule; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy