import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides an AWS App Mesh route resource. * * ## Example Usage * * ### HTTP Routing * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const serviceb = new aws.appmesh.Route("serviceb", { * spec: { * httpRoute: { * match: { * prefix: "/", * }, * action: { * weightedTargets: [ * { * virtualNode: serviceb1.name, * weight: 90, * }, * { * virtualNode: serviceb2.name, * weight: 10, * }, * ], * }, * }, * }, * name: "serviceB-route", * meshName: simple.id, * virtualRouterName: servicebAwsAppmeshVirtualRouter.name, * }); * ``` * * ### HTTP Header Routing * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const serviceb = new aws.appmesh.Route("serviceb", { * spec: { * httpRoute: { * match: { * headers: [{ * match: { * prefix: "123", * }, * name: "clientRequestId", * }], * method: "POST", * prefix: "/", * scheme: "https", * }, * action: { * weightedTargets: [{ * virtualNode: servicebAwsAppmeshVirtualNode.name, * weight: 100, * }], * }, * }, * }, * name: "serviceB-route", * meshName: simple.id, * virtualRouterName: servicebAwsAppmeshVirtualRouter.name, * }); * ``` * * ### Retry Policy * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const serviceb = new aws.appmesh.Route("serviceb", { * spec: { * httpRoute: { * match: { * prefix: "/", * }, * retryPolicy: { * perRetryTimeout: { * unit: "s", * value: 15, * }, * httpRetryEvents: ["server-error"], * maxRetries: 1, * }, * action: { * weightedTargets: [{ * virtualNode: servicebAwsAppmeshVirtualNode.name, * weight: 100, * }], * }, * }, * }, * name: "serviceB-route", * meshName: simple.id, * virtualRouterName: servicebAwsAppmeshVirtualRouter.name, * }); * ``` * * ### TCP Routing * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const serviceb = new aws.appmesh.Route("serviceb", { * spec: { * tcpRoute: { * action: { * weightedTargets: [{ * virtualNode: serviceb1.name, * weight: 100, * }], * }, * }, * }, * name: "serviceB-route", * meshName: simple.id, * virtualRouterName: servicebAwsAppmeshVirtualRouter.name, * }); * ``` * * ## Import * * Using `pulumi import`, import App Mesh virtual routes using `meshName` and `virtualRouterName` together with the route's `name`. For example: * * ```sh * $ pulumi import aws:appmesh/route:Route serviceb simpleapp/serviceB/serviceB-route * ``` */ export declare class Route extends pulumi.CustomResource { /** * Get an existing Route 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?: RouteState, opts?: pulumi.CustomResourceOptions): Route; /** * Returns true if the given object is an instance of Route. 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 Route; /** * ARN of the route. */ readonly arn: pulumi.Output; /** * Creation date of the route. */ readonly createdDate: pulumi.Output; /** * Last update date of the route. */ readonly lastUpdatedDate: pulumi.Output; /** * Name of the service mesh in which to create the route. Must be between 1 and 255 characters in length. */ readonly meshName: pulumi.Output; /** * AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. */ readonly meshOwner: pulumi.Output; /** * Name to use for the route. Must be between 1 and 255 characters in length. */ readonly name: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Resource owner's AWS account ID. */ readonly resourceOwner: pulumi.Output; /** * Route specification to apply. See `spec` Block for details. */ readonly spec: pulumi.Output; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ readonly tagsAll: pulumi.Output<{ [key: string]: string; }>; /** * Name of the virtual router in which to create the route. Must be between 1 and 255 characters in length. */ readonly virtualRouterName: pulumi.Output; /** * Create a Route 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: RouteArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Route resources. */ export interface RouteState { /** * ARN of the route. */ arn?: pulumi.Input; /** * Creation date of the route. */ createdDate?: pulumi.Input; /** * Last update date of the route. */ lastUpdatedDate?: pulumi.Input; /** * Name of the service mesh in which to create the route. Must be between 1 and 255 characters in length. */ meshName?: pulumi.Input; /** * AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. */ meshOwner?: pulumi.Input; /** * Name to use for the route. Must be between 1 and 255 characters in length. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Resource owner's AWS account ID. */ resourceOwner?: pulumi.Input; /** * Route specification to apply. See `spec` Block for details. */ spec?: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. */ tagsAll?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the virtual router in which to create the route. Must be between 1 and 255 characters in length. */ virtualRouterName?: pulumi.Input; } /** * The set of arguments for constructing a Route resource. */ export interface RouteArgs { /** * Name of the service mesh in which to create the route. Must be between 1 and 255 characters in length. */ meshName: pulumi.Input; /** * AWS account ID of the service mesh's owner. Defaults to the account ID the AWS provider is currently connected to. */ meshOwner?: pulumi.Input; /** * Name to use for the route. Must be between 1 and 255 characters in length. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; /** * Route specification to apply. See `spec` Block for details. */ spec: pulumi.Input; /** * Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the virtual router in which to create the route. Must be between 1 and 255 characters in length. */ virtualRouterName: pulumi.Input; } //# sourceMappingURL=route.d.ts.map