import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages an EC2 Transit Gateway Metering Policy Entry. Each entry defines a traffic matching rule within a Transit Gateway Metering Policy that determines which account is charged for matching traffic flows. * * ## Example Usage * * ### Basic Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.ec2transitgateway.MeteringPolicyEntry("example", { * transitGatewayMeteringPolicyId: exampleAwsEc2TransitGatewayMeteringPolicy.transitGatewayMeteringPolicyId, * policyRuleNumber: 100, * meteredAccount: "source-attachment-owner", * }); * ``` * * ### Full Traffic Matching Rule * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = new aws.ec2transitgateway.MeteringPolicyEntry("example", { * transitGatewayMeteringPolicyId: exampleAwsEc2TransitGatewayMeteringPolicy.transitGatewayMeteringPolicyId, * policyRuleNumber: 200, * meteredAccount: "destination-attachment-owner", * sourceCidrBlock: "10.0.0.0/8", * destinationCidrBlock: "172.16.0.0/12", * protocol: "6", * }); * ``` * * ## Import * * Using `pulumi import`, import `aws.ec2transitgateway.MeteringPolicyEntry` using the composite identifier. For example: * * ```sh * $ pulumi import aws:ec2transitgateway/meteringPolicyEntry:MeteringPolicyEntry example tgw-policy-12345678,100 * ``` */ export declare class MeteringPolicyEntry extends pulumi.CustomResource { /** * Get an existing MeteringPolicyEntry 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?: MeteringPolicyEntryState, opts?: pulumi.CustomResourceOptions): MeteringPolicyEntry; /** * Returns true if the given object is an instance of MeteringPolicyEntry. 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 MeteringPolicyEntry; /** * Destination CIDR block to match. If not specified, all destination CIDR blocks are matched. */ readonly destinationCidrBlock: pulumi.Output; readonly destinationPortRange: pulumi.Output; readonly destinationTransitGatewayAttachmentId: pulumi.Output; /** * Destination attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ readonly destinationTransitGatewayAttachmentType: pulumi.Output; /** * The account to charge for matching traffic. Valid values are `source-attachment-owner` or `destination-attachment-owner`. */ readonly meteredAccount: pulumi.Output; /** * Rule number for this entry. Lower numbers have higher priority. Valid values are between `1` and `32766`. */ readonly policyRuleNumber: pulumi.Output; /** * Protocol number to match (e.g., `6` for TCP, `17` for UDP). If not specified, all protocols are matched. */ readonly protocol: 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; /** * Source CIDR block to match. If not specified, all source CIDR blocks are matched. */ readonly sourceCidrBlock: pulumi.Output; readonly sourcePortRange: pulumi.Output; readonly sourceTransitGatewayAttachmentId: pulumi.Output; /** * Source attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ readonly sourceTransitGatewayAttachmentType: pulumi.Output; readonly timeouts: pulumi.Output; /** * EC2 Transit Gateway Metering Policy identifier. * * The following arguments are optional: */ readonly transitGatewayMeteringPolicyId: pulumi.Output; /** * Create a MeteringPolicyEntry 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: MeteringPolicyEntryArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering MeteringPolicyEntry resources. */ export interface MeteringPolicyEntryState { /** * Destination CIDR block to match. If not specified, all destination CIDR blocks are matched. */ destinationCidrBlock?: pulumi.Input; destinationPortRange?: pulumi.Input; destinationTransitGatewayAttachmentId?: pulumi.Input; /** * Destination attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ destinationTransitGatewayAttachmentType?: pulumi.Input; /** * The account to charge for matching traffic. Valid values are `source-attachment-owner` or `destination-attachment-owner`. */ meteredAccount?: pulumi.Input; /** * Rule number for this entry. Lower numbers have higher priority. Valid values are between `1` and `32766`. */ policyRuleNumber?: pulumi.Input; /** * Protocol number to match (e.g., `6` for TCP, `17` for UDP). If not specified, all protocols are matched. */ protocol?: 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; /** * Source CIDR block to match. If not specified, all source CIDR blocks are matched. */ sourceCidrBlock?: pulumi.Input; sourcePortRange?: pulumi.Input; sourceTransitGatewayAttachmentId?: pulumi.Input; /** * Source attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ sourceTransitGatewayAttachmentType?: pulumi.Input; timeouts?: pulumi.Input; /** * EC2 Transit Gateway Metering Policy identifier. * * The following arguments are optional: */ transitGatewayMeteringPolicyId?: pulumi.Input; } /** * The set of arguments for constructing a MeteringPolicyEntry resource. */ export interface MeteringPolicyEntryArgs { /** * Destination CIDR block to match. If not specified, all destination CIDR blocks are matched. */ destinationCidrBlock?: pulumi.Input; destinationPortRange?: pulumi.Input; destinationTransitGatewayAttachmentId?: pulumi.Input; /** * Destination attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ destinationTransitGatewayAttachmentType?: pulumi.Input; /** * The account to charge for matching traffic. Valid values are `source-attachment-owner` or `destination-attachment-owner`. */ meteredAccount: pulumi.Input; /** * Rule number for this entry. Lower numbers have higher priority. Valid values are between `1` and `32766`. */ policyRuleNumber: pulumi.Input; /** * Protocol number to match (e.g., `6` for TCP, `17` for UDP). If not specified, all protocols are matched. */ protocol?: 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; /** * Source CIDR block to match. If not specified, all source CIDR blocks are matched. */ sourceCidrBlock?: pulumi.Input; sourcePortRange?: pulumi.Input; sourceTransitGatewayAttachmentId?: pulumi.Input; /** * Source attachment resource type to match. Valid values are `vpc`, `vpn`, `direct-connect-gateway`, `connect`, `peering`, `tgw-peering`. */ sourceTransitGatewayAttachmentType?: pulumi.Input; timeouts?: pulumi.Input; /** * EC2 Transit Gateway Metering Policy identifier. * * The following arguments are optional: */ transitGatewayMeteringPolicyId: pulumi.Input; } //# sourceMappingURL=meteringPolicyEntry.d.ts.map