import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Network Manager Routing Rule. * * !> **Note:** Terraform has enabled force deletion. This setting deletes the resource even if it's part of a deployed configuration. If the configuration is deployed, the service will perform a cleanup deployment in the background before the deletion. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const current = azure.core.getSubscription({}); * const exampleNetworkManager = new azure.network.NetworkManager("example", { * name: "example-network-manager", * resourceGroupName: example.name, * location: example.location, * scope: { * subscriptionIds: [current.then(current => current.id)], * }, * scopeAccesses: ["Routing"], * }); * const exampleNetworkManagerNetworkGroup = new azure.network.NetworkManagerNetworkGroup("example", { * name: "example-network-group", * networkManagerId: exampleNetworkManager.id, * }); * const exampleNetworkManagerRoutingConfiguration = new azure.network.NetworkManagerRoutingConfiguration("example", { * name: "example-routing-configuration", * networkManagerId: exampleNetworkManager.id, * }); * const exampleNetworkManagerRoutingRuleCollection = new azure.network.NetworkManagerRoutingRuleCollection("example", { * name: "example-routing-rule-collection", * routingConfigurationId: exampleNetworkManagerRoutingConfiguration.id, * networkGroupIds: [exampleNetworkManagerNetworkGroup.id], * description: "example routing rule collection", * }); * const exampleNetworkManagerRoutingRule = new azure.network.NetworkManagerRoutingRule("example", { * name: "example-routing-rule", * ruleCollectionId: exampleNetworkManagerRoutingRuleCollection.id, * description: "example routing rule", * destination: { * type: "AddressPrefix", * address: "10.0.0.0/24", * }, * nextHop: { * type: "VirtualNetworkGateway", * }, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Network` - 2025-01-01 * * ## Import * * Network Manager Routing Rules can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:network/networkManagerRoutingRule:NetworkManagerRoutingRule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.Network/networkManagers/manager1/routingConfigurations/conf1/ruleCollections/collection1/rules/rule1 * ``` */ export declare class NetworkManagerRoutingRule extends pulumi.CustomResource { /** * Get an existing NetworkManagerRoutingRule resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: NetworkManagerRoutingRuleState, opts?: pulumi.CustomResourceOptions): NetworkManagerRoutingRule; /** * Returns true if the given object is an instance of NetworkManagerRoutingRule. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is NetworkManagerRoutingRule; /** * A description for the routing rule. */ readonly description: pulumi.Output; /** * A `destination` block as defined below. */ readonly destination: pulumi.Output; /** * The name of the Network Manager Routing Rule. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * A `nextHop` block as defined below. */ readonly nextHop: pulumi.Output; /** * The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created. */ readonly ruleCollectionId: pulumi.Output; /** * Create a NetworkManagerRoutingRule resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: NetworkManagerRoutingRuleArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering NetworkManagerRoutingRule resources. */ export interface NetworkManagerRoutingRuleState { /** * A description for the routing rule. */ description?: pulumi.Input; /** * A `destination` block as defined below. */ destination?: pulumi.Input; /** * The name of the Network Manager Routing Rule. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `nextHop` block as defined below. */ nextHop?: pulumi.Input; /** * The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created. */ ruleCollectionId?: pulumi.Input; } /** * The set of arguments for constructing a NetworkManagerRoutingRule resource. */ export interface NetworkManagerRoutingRuleArgs { /** * A description for the routing rule. */ description?: pulumi.Input; /** * A `destination` block as defined below. */ destination: pulumi.Input; /** * The name of the Network Manager Routing Rule. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * A `nextHop` block as defined below. */ nextHop: pulumi.Input; /** * The ID of the Network Manager Routing Rule Collection to which this rule belongs. Changing this forces a new resource to be created. */ ruleCollectionId: pulumi.Input; }