1. Packages
  2. Packages
  3. Konnect Provider
  4. API Docs
  5. GatewayPluginMeteringAndBilling
Viewing docs for konnect 3.14.0
published on Friday, Apr 24, 2026 by kong
Viewing docs for konnect 3.14.0
published on Friday, Apr 24, 2026 by kong

    GatewayPluginMeteringAndBilling Resource

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as konnect from "@pulumi/konnect";
    
    const myGatewaypluginmeteringandbilling = new konnect.GatewayPluginMeteringAndBilling("my_gatewaypluginmeteringandbilling", {
        condition: "...my_condition...",
        config: {
            apiToken: "...my_api_token...",
            attributes: [{
                eventPropertyName: "...my_event_property_name...",
                lookUpValueIn: "...my_look_up_value_in...",
                source: "query",
            }],
            ingestEndpoint: "...my_ingest_endpoint...",
            keepalive: 60000,
            meterAiTokenUsage: true,
            meterApiRequests: true,
            queue: {
                concurrencyLimit: 1,
                initialRetryDelay: 396586.03,
                maxBatchSize: 1,
                maxBytes: 9,
                maxCoalescingDelay: 1,
                maxEntries: 10000,
                maxRetryDelay: 60,
                maxRetryTime: 60,
            },
            sslVerify: true,
            subject: {
                field: "...my_field...",
                lookUpValueIn: "consumer",
            },
            timeout: 10000,
        },
        consumer: {
            id: "...my_id...",
        },
        controlPlaneId: "9524ec7d-36d9-465d-a8c5-83a3c9390458",
        createdAt: 1,
        enabled: true,
        gatewayPluginMeteringAndBillingId: "...my_id...",
        instanceName: "...my_instance_name...",
        ordering: {
            after: {
                accesses: ["..."],
            },
            before: {
                accesses: ["..."],
            },
        },
        partials: [{
            id: "...my_id...",
            name: "...my_name...",
            path: "...my_path...",
        }],
        protocols: ["tcp"],
        route: {
            id: "...my_id...",
        },
        service: {
            id: "...my_id...",
        },
        tags: ["..."],
        updatedAt: 10,
    });
    
    import pulumi
    import pulumi_konnect as konnect
    
    my_gatewaypluginmeteringandbilling = konnect.GatewayPluginMeteringAndBilling("my_gatewaypluginmeteringandbilling",
        condition="...my_condition...",
        config={
            "api_token": "...my_api_token...",
            "attributes": [{
                "event_property_name": "...my_event_property_name...",
                "look_up_value_in": "...my_look_up_value_in...",
                "source": "query",
            }],
            "ingest_endpoint": "...my_ingest_endpoint...",
            "keepalive": 60000,
            "meter_ai_token_usage": True,
            "meter_api_requests": True,
            "queue": {
                "concurrency_limit": 1,
                "initial_retry_delay": 396586.03,
                "max_batch_size": 1,
                "max_bytes": 9,
                "max_coalescing_delay": 1,
                "max_entries": 10000,
                "max_retry_delay": 60,
                "max_retry_time": 60,
            },
            "ssl_verify": True,
            "subject": {
                "field": "...my_field...",
                "look_up_value_in": "consumer",
            },
            "timeout": 10000,
        },
        consumer={
            "id": "...my_id...",
        },
        control_plane_id="9524ec7d-36d9-465d-a8c5-83a3c9390458",
        created_at=1,
        enabled=True,
        gateway_plugin_metering_and_billing_id="...my_id...",
        instance_name="...my_instance_name...",
        ordering={
            "after": {
                "accesses": ["..."],
            },
            "before": {
                "accesses": ["..."],
            },
        },
        partials=[{
            "id": "...my_id...",
            "name": "...my_name...",
            "path": "...my_path...",
        }],
        protocols=["tcp"],
        route={
            "id": "...my_id...",
        },
        service={
            "id": "...my_id...",
        },
        tags=["..."],
        updated_at=10)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/konnect/v3/konnect"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := konnect.NewGatewayPluginMeteringAndBilling(ctx, "my_gatewaypluginmeteringandbilling", &konnect.GatewayPluginMeteringAndBillingArgs{
    			Condition: pulumi.String("...my_condition..."),
    			Config: &konnect.GatewayPluginMeteringAndBillingConfigArgs{
    				ApiToken: pulumi.String("...my_api_token..."),
    				Attributes: konnect.GatewayPluginMeteringAndBillingConfigAttributeArray{
    					&konnect.GatewayPluginMeteringAndBillingConfigAttributeArgs{
    						EventPropertyName: pulumi.String("...my_event_property_name..."),
    						LookUpValueIn:     pulumi.String("...my_look_up_value_in..."),
    						Source:            pulumi.String("query"),
    					},
    				},
    				IngestEndpoint:    pulumi.String("...my_ingest_endpoint..."),
    				Keepalive:         pulumi.Float64(60000),
    				MeterAiTokenUsage: pulumi.Bool(true),
    				MeterApiRequests:  pulumi.Bool(true),
    				Queue: &konnect.GatewayPluginMeteringAndBillingConfigQueueArgs{
    					ConcurrencyLimit:   pulumi.Float64(1),
    					InitialRetryDelay:  pulumi.Float64(396586.03),
    					MaxBatchSize:       pulumi.Float64(1),
    					MaxBytes:           pulumi.Float64(9),
    					MaxCoalescingDelay: pulumi.Float64(1),
    					MaxEntries:         pulumi.Float64(10000),
    					MaxRetryDelay:      pulumi.Float64(60),
    					MaxRetryTime:       pulumi.Float64(60),
    				},
    				SslVerify: pulumi.Bool(true),
    				Subject: &konnect.GatewayPluginMeteringAndBillingConfigSubjectArgs{
    					Field:         pulumi.String("...my_field..."),
    					LookUpValueIn: pulumi.String("consumer"),
    				},
    				Timeout: pulumi.Float64(10000),
    			},
    			Consumer: &konnect.GatewayPluginMeteringAndBillingConsumerArgs{
    				Id: pulumi.String("...my_id..."),
    			},
    			ControlPlaneId:                    pulumi.String("9524ec7d-36d9-465d-a8c5-83a3c9390458"),
    			CreatedAt:                         pulumi.Float64(1),
    			Enabled:                           pulumi.Bool(true),
    			GatewayPluginMeteringAndBillingId: pulumi.String("...my_id..."),
    			InstanceName:                      pulumi.String("...my_instance_name..."),
    			Ordering: &konnect.GatewayPluginMeteringAndBillingOrderingArgs{
    				After: &konnect.GatewayPluginMeteringAndBillingOrderingAfterArgs{
    					Accesses: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    				},
    				Before: &konnect.GatewayPluginMeteringAndBillingOrderingBeforeArgs{
    					Accesses: pulumi.StringArray{
    						pulumi.String("..."),
    					},
    				},
    			},
    			Partials: konnect.GatewayPluginMeteringAndBillingPartialArray{
    				&konnect.GatewayPluginMeteringAndBillingPartialArgs{
    					Id:   pulumi.String("...my_id..."),
    					Name: pulumi.String("...my_name..."),
    					Path: pulumi.String("...my_path..."),
    				},
    			},
    			Protocols: pulumi.StringArray{
    				pulumi.String("tcp"),
    			},
    			Route: &konnect.GatewayPluginMeteringAndBillingRouteArgs{
    				Id: pulumi.String("...my_id..."),
    			},
    			Service: &konnect.GatewayPluginMeteringAndBillingServiceArgs{
    				Id: pulumi.String("...my_id..."),
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("..."),
    			},
    			UpdatedAt: pulumi.Float64(10),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Konnect = Pulumi.Konnect;
    
    return await Deployment.RunAsync(() => 
    {
        var myGatewaypluginmeteringandbilling = new Konnect.GatewayPluginMeteringAndBilling("my_gatewaypluginmeteringandbilling", new()
        {
            Condition = "...my_condition...",
            Config = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigArgs
            {
                ApiToken = "...my_api_token...",
                Attributes = new[]
                {
                    new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigAttributeArgs
                    {
                        EventPropertyName = "...my_event_property_name...",
                        LookUpValueIn = "...my_look_up_value_in...",
                        Source = "query",
                    },
                },
                IngestEndpoint = "...my_ingest_endpoint...",
                Keepalive = 60000,
                MeterAiTokenUsage = true,
                MeterApiRequests = true,
                Queue = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigQueueArgs
                {
                    ConcurrencyLimit = 1,
                    InitialRetryDelay = 396586.03,
                    MaxBatchSize = 1,
                    MaxBytes = 9,
                    MaxCoalescingDelay = 1,
                    MaxEntries = 10000,
                    MaxRetryDelay = 60,
                    MaxRetryTime = 60,
                },
                SslVerify = true,
                Subject = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigSubjectArgs
                {
                    Field = "...my_field...",
                    LookUpValueIn = "consumer",
                },
                Timeout = 10000,
            },
            Consumer = new Konnect.Inputs.GatewayPluginMeteringAndBillingConsumerArgs
            {
                Id = "...my_id...",
            },
            ControlPlaneId = "9524ec7d-36d9-465d-a8c5-83a3c9390458",
            CreatedAt = 1,
            Enabled = true,
            GatewayPluginMeteringAndBillingId = "...my_id...",
            InstanceName = "...my_instance_name...",
            Ordering = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingArgs
            {
                After = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingAfterArgs
                {
                    Accesses = new[]
                    {
                        "...",
                    },
                },
                Before = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingBeforeArgs
                {
                    Accesses = new[]
                    {
                        "...",
                    },
                },
            },
            Partials = new[]
            {
                new Konnect.Inputs.GatewayPluginMeteringAndBillingPartialArgs
                {
                    Id = "...my_id...",
                    Name = "...my_name...",
                    Path = "...my_path...",
                },
            },
            Protocols = new[]
            {
                "tcp",
            },
            Route = new Konnect.Inputs.GatewayPluginMeteringAndBillingRouteArgs
            {
                Id = "...my_id...",
            },
            Service = new Konnect.Inputs.GatewayPluginMeteringAndBillingServiceArgs
            {
                Id = "...my_id...",
            },
            Tags = new[]
            {
                "...",
            },
            UpdatedAt = 10,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.konnect.GatewayPluginMeteringAndBilling;
    import com.pulumi.konnect.GatewayPluginMeteringAndBillingArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingConfigArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingConfigQueueArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingConfigSubjectArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingConsumerArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingOrderingArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingOrderingAfterArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingOrderingBeforeArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingPartialArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingRouteArgs;
    import com.pulumi.konnect.inputs.GatewayPluginMeteringAndBillingServiceArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myGatewaypluginmeteringandbilling = new GatewayPluginMeteringAndBilling("myGatewaypluginmeteringandbilling", GatewayPluginMeteringAndBillingArgs.builder()
                .condition("...my_condition...")
                .config(GatewayPluginMeteringAndBillingConfigArgs.builder()
                    .apiToken("...my_api_token...")
                    .attributes(GatewayPluginMeteringAndBillingConfigAttributeArgs.builder()
                        .eventPropertyName("...my_event_property_name...")
                        .lookUpValueIn("...my_look_up_value_in...")
                        .source("query")
                        .build())
                    .ingestEndpoint("...my_ingest_endpoint...")
                    .keepalive(60000.0)
                    .meterAiTokenUsage(true)
                    .meterApiRequests(true)
                    .queue(GatewayPluginMeteringAndBillingConfigQueueArgs.builder()
                        .concurrencyLimit(1.0)
                        .initialRetryDelay(396586.03)
                        .maxBatchSize(1.0)
                        .maxBytes(9.0)
                        .maxCoalescingDelay(1.0)
                        .maxEntries(10000.0)
                        .maxRetryDelay(60.0)
                        .maxRetryTime(60.0)
                        .build())
                    .sslVerify(true)
                    .subject(GatewayPluginMeteringAndBillingConfigSubjectArgs.builder()
                        .field("...my_field...")
                        .lookUpValueIn("consumer")
                        .build())
                    .timeout(10000.0)
                    .build())
                .consumer(GatewayPluginMeteringAndBillingConsumerArgs.builder()
                    .id("...my_id...")
                    .build())
                .controlPlaneId("9524ec7d-36d9-465d-a8c5-83a3c9390458")
                .createdAt(1.0)
                .enabled(true)
                .gatewayPluginMeteringAndBillingId("...my_id...")
                .instanceName("...my_instance_name...")
                .ordering(GatewayPluginMeteringAndBillingOrderingArgs.builder()
                    .after(GatewayPluginMeteringAndBillingOrderingAfterArgs.builder()
                        .accesses("...")
                        .build())
                    .before(GatewayPluginMeteringAndBillingOrderingBeforeArgs.builder()
                        .accesses("...")
                        .build())
                    .build())
                .partials(GatewayPluginMeteringAndBillingPartialArgs.builder()
                    .id("...my_id...")
                    .name("...my_name...")
                    .path("...my_path...")
                    .build())
                .protocols("tcp")
                .route(GatewayPluginMeteringAndBillingRouteArgs.builder()
                    .id("...my_id...")
                    .build())
                .service(GatewayPluginMeteringAndBillingServiceArgs.builder()
                    .id("...my_id...")
                    .build())
                .tags("...")
                .updatedAt(10.0)
                .build());
    
        }
    }
    
    resources:
      myGatewaypluginmeteringandbilling:
        type: konnect:GatewayPluginMeteringAndBilling
        name: my_gatewaypluginmeteringandbilling
        properties:
          condition: '...my_condition...'
          config:
            apiToken: '...my_api_token...'
            attributes:
              - eventPropertyName: '...my_event_property_name...'
                lookUpValueIn: '...my_look_up_value_in...'
                source: query
            ingestEndpoint: '...my_ingest_endpoint...'
            keepalive: 60000
            meterAiTokenUsage: true
            meterApiRequests: true
            queue:
              concurrencyLimit: 1
              initialRetryDelay: 396586.03
              maxBatchSize: 1
              maxBytes: 9
              maxCoalescingDelay: 1
              maxEntries: 10000
              maxRetryDelay: 60
              maxRetryTime: 60
            sslVerify: true
            subject:
              field: '...my_field...'
              lookUpValueIn: consumer
            timeout: 10000
          consumer:
            id: '...my_id...'
          controlPlaneId: 9524ec7d-36d9-465d-a8c5-83a3c9390458
          createdAt: 1
          enabled: true
          gatewayPluginMeteringAndBillingId: '...my_id...'
          instanceName: '...my_instance_name...'
          ordering:
            after:
              accesses:
                - '...'
            before:
              accesses:
                - '...'
          partials:
            - id: '...my_id...'
              name: '...my_name...'
              path: '...my_path...'
          protocols:
            - tcp
          route:
            id: '...my_id...'
          service:
            id: '...my_id...'
          tags:
            - '...'
          updatedAt: 10
    

    Create GatewayPluginMeteringAndBilling Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new GatewayPluginMeteringAndBilling(name: string, args: GatewayPluginMeteringAndBillingArgs, opts?: CustomResourceOptions);
    @overload
    def GatewayPluginMeteringAndBilling(resource_name: str,
                                        args: GatewayPluginMeteringAndBillingArgs,
                                        opts: Optional[ResourceOptions] = None)
    
    @overload
    def GatewayPluginMeteringAndBilling(resource_name: str,
                                        opts: Optional[ResourceOptions] = None,
                                        control_plane_id: Optional[str] = None,
                                        config: Optional[GatewayPluginMeteringAndBillingConfigArgs] = None,
                                        gateway_plugin_metering_and_billing_id: Optional[str] = None,
                                        consumer: Optional[GatewayPluginMeteringAndBillingConsumerArgs] = None,
                                        created_at: Optional[float] = None,
                                        enabled: Optional[bool] = None,
                                        condition: Optional[str] = None,
                                        instance_name: Optional[str] = None,
                                        ordering: Optional[GatewayPluginMeteringAndBillingOrderingArgs] = None,
                                        partials: Optional[Sequence[GatewayPluginMeteringAndBillingPartialArgs]] = None,
                                        protocols: Optional[Sequence[str]] = None,
                                        route: Optional[GatewayPluginMeteringAndBillingRouteArgs] = None,
                                        service: Optional[GatewayPluginMeteringAndBillingServiceArgs] = None,
                                        tags: Optional[Sequence[str]] = None,
                                        updated_at: Optional[float] = None)
    func NewGatewayPluginMeteringAndBilling(ctx *Context, name string, args GatewayPluginMeteringAndBillingArgs, opts ...ResourceOption) (*GatewayPluginMeteringAndBilling, error)
    public GatewayPluginMeteringAndBilling(string name, GatewayPluginMeteringAndBillingArgs args, CustomResourceOptions? opts = null)
    public GatewayPluginMeteringAndBilling(String name, GatewayPluginMeteringAndBillingArgs args)
    public GatewayPluginMeteringAndBilling(String name, GatewayPluginMeteringAndBillingArgs args, CustomResourceOptions options)
    
    type: konnect:GatewayPluginMeteringAndBilling
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args GatewayPluginMeteringAndBillingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args GatewayPluginMeteringAndBillingArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args GatewayPluginMeteringAndBillingArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args GatewayPluginMeteringAndBillingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args GatewayPluginMeteringAndBillingArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var gatewayPluginMeteringAndBillingResource = new Konnect.GatewayPluginMeteringAndBilling("gatewayPluginMeteringAndBillingResource", new()
    {
        ControlPlaneId = "string",
        Config = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigArgs
        {
            ApiToken = "string",
            IngestEndpoint = "string",
            Attributes = new[]
            {
                new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigAttributeArgs
                {
                    EventPropertyName = "string",
                    LookUpValueIn = "string",
                    Source = "string",
                },
            },
            Keepalive = 0,
            MeterAiTokenUsage = false,
            MeterApiRequests = false,
            Queue = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigQueueArgs
            {
                ConcurrencyLimit = 0,
                InitialRetryDelay = 0,
                MaxBatchSize = 0,
                MaxBytes = 0,
                MaxCoalescingDelay = 0,
                MaxEntries = 0,
                MaxRetryDelay = 0,
                MaxRetryTime = 0,
            },
            SslVerify = false,
            Subject = new Konnect.Inputs.GatewayPluginMeteringAndBillingConfigSubjectArgs
            {
                Field = "string",
                LookUpValueIn = "string",
            },
            Timeout = 0,
        },
        GatewayPluginMeteringAndBillingId = "string",
        Consumer = new Konnect.Inputs.GatewayPluginMeteringAndBillingConsumerArgs
        {
            Id = "string",
        },
        CreatedAt = 0,
        Enabled = false,
        Condition = "string",
        InstanceName = "string",
        Ordering = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingArgs
        {
            After = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingAfterArgs
            {
                Accesses = new[]
                {
                    "string",
                },
            },
            Before = new Konnect.Inputs.GatewayPluginMeteringAndBillingOrderingBeforeArgs
            {
                Accesses = new[]
                {
                    "string",
                },
            },
        },
        Partials = new[]
        {
            new Konnect.Inputs.GatewayPluginMeteringAndBillingPartialArgs
            {
                Id = "string",
                Name = "string",
                Path = "string",
            },
        },
        Protocols = new[]
        {
            "string",
        },
        Route = new Konnect.Inputs.GatewayPluginMeteringAndBillingRouteArgs
        {
            Id = "string",
        },
        Service = new Konnect.Inputs.GatewayPluginMeteringAndBillingServiceArgs
        {
            Id = "string",
        },
        Tags = new[]
        {
            "string",
        },
        UpdatedAt = 0,
    });
    
    example, err := konnect.NewGatewayPluginMeteringAndBilling(ctx, "gatewayPluginMeteringAndBillingResource", &konnect.GatewayPluginMeteringAndBillingArgs{
    	ControlPlaneId: pulumi.String("string"),
    	Config: &konnect.GatewayPluginMeteringAndBillingConfigArgs{
    		ApiToken:       pulumi.String("string"),
    		IngestEndpoint: pulumi.String("string"),
    		Attributes: konnect.GatewayPluginMeteringAndBillingConfigAttributeArray{
    			&konnect.GatewayPluginMeteringAndBillingConfigAttributeArgs{
    				EventPropertyName: pulumi.String("string"),
    				LookUpValueIn:     pulumi.String("string"),
    				Source:            pulumi.String("string"),
    			},
    		},
    		Keepalive:         pulumi.Float64(0),
    		MeterAiTokenUsage: pulumi.Bool(false),
    		MeterApiRequests:  pulumi.Bool(false),
    		Queue: &konnect.GatewayPluginMeteringAndBillingConfigQueueArgs{
    			ConcurrencyLimit:   pulumi.Float64(0),
    			InitialRetryDelay:  pulumi.Float64(0),
    			MaxBatchSize:       pulumi.Float64(0),
    			MaxBytes:           pulumi.Float64(0),
    			MaxCoalescingDelay: pulumi.Float64(0),
    			MaxEntries:         pulumi.Float64(0),
    			MaxRetryDelay:      pulumi.Float64(0),
    			MaxRetryTime:       pulumi.Float64(0),
    		},
    		SslVerify: pulumi.Bool(false),
    		Subject: &konnect.GatewayPluginMeteringAndBillingConfigSubjectArgs{
    			Field:         pulumi.String("string"),
    			LookUpValueIn: pulumi.String("string"),
    		},
    		Timeout: pulumi.Float64(0),
    	},
    	GatewayPluginMeteringAndBillingId: pulumi.String("string"),
    	Consumer: &konnect.GatewayPluginMeteringAndBillingConsumerArgs{
    		Id: pulumi.String("string"),
    	},
    	CreatedAt:    pulumi.Float64(0),
    	Enabled:      pulumi.Bool(false),
    	Condition:    pulumi.String("string"),
    	InstanceName: pulumi.String("string"),
    	Ordering: &konnect.GatewayPluginMeteringAndBillingOrderingArgs{
    		After: &konnect.GatewayPluginMeteringAndBillingOrderingAfterArgs{
    			Accesses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		Before: &konnect.GatewayPluginMeteringAndBillingOrderingBeforeArgs{
    			Accesses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    	},
    	Partials: konnect.GatewayPluginMeteringAndBillingPartialArray{
    		&konnect.GatewayPluginMeteringAndBillingPartialArgs{
    			Id:   pulumi.String("string"),
    			Name: pulumi.String("string"),
    			Path: pulumi.String("string"),
    		},
    	},
    	Protocols: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	Route: &konnect.GatewayPluginMeteringAndBillingRouteArgs{
    		Id: pulumi.String("string"),
    	},
    	Service: &konnect.GatewayPluginMeteringAndBillingServiceArgs{
    		Id: pulumi.String("string"),
    	},
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	UpdatedAt: pulumi.Float64(0),
    })
    
    var gatewayPluginMeteringAndBillingResource = new GatewayPluginMeteringAndBilling("gatewayPluginMeteringAndBillingResource", GatewayPluginMeteringAndBillingArgs.builder()
        .controlPlaneId("string")
        .config(GatewayPluginMeteringAndBillingConfigArgs.builder()
            .apiToken("string")
            .ingestEndpoint("string")
            .attributes(GatewayPluginMeteringAndBillingConfigAttributeArgs.builder()
                .eventPropertyName("string")
                .lookUpValueIn("string")
                .source("string")
                .build())
            .keepalive(0.0)
            .meterAiTokenUsage(false)
            .meterApiRequests(false)
            .queue(GatewayPluginMeteringAndBillingConfigQueueArgs.builder()
                .concurrencyLimit(0.0)
                .initialRetryDelay(0.0)
                .maxBatchSize(0.0)
                .maxBytes(0.0)
                .maxCoalescingDelay(0.0)
                .maxEntries(0.0)
                .maxRetryDelay(0.0)
                .maxRetryTime(0.0)
                .build())
            .sslVerify(false)
            .subject(GatewayPluginMeteringAndBillingConfigSubjectArgs.builder()
                .field("string")
                .lookUpValueIn("string")
                .build())
            .timeout(0.0)
            .build())
        .gatewayPluginMeteringAndBillingId("string")
        .consumer(GatewayPluginMeteringAndBillingConsumerArgs.builder()
            .id("string")
            .build())
        .createdAt(0.0)
        .enabled(false)
        .condition("string")
        .instanceName("string")
        .ordering(GatewayPluginMeteringAndBillingOrderingArgs.builder()
            .after(GatewayPluginMeteringAndBillingOrderingAfterArgs.builder()
                .accesses("string")
                .build())
            .before(GatewayPluginMeteringAndBillingOrderingBeforeArgs.builder()
                .accesses("string")
                .build())
            .build())
        .partials(GatewayPluginMeteringAndBillingPartialArgs.builder()
            .id("string")
            .name("string")
            .path("string")
            .build())
        .protocols("string")
        .route(GatewayPluginMeteringAndBillingRouteArgs.builder()
            .id("string")
            .build())
        .service(GatewayPluginMeteringAndBillingServiceArgs.builder()
            .id("string")
            .build())
        .tags("string")
        .updatedAt(0.0)
        .build());
    
    gateway_plugin_metering_and_billing_resource = konnect.GatewayPluginMeteringAndBilling("gatewayPluginMeteringAndBillingResource",
        control_plane_id="string",
        config={
            "api_token": "string",
            "ingest_endpoint": "string",
            "attributes": [{
                "event_property_name": "string",
                "look_up_value_in": "string",
                "source": "string",
            }],
            "keepalive": float(0),
            "meter_ai_token_usage": False,
            "meter_api_requests": False,
            "queue": {
                "concurrency_limit": float(0),
                "initial_retry_delay": float(0),
                "max_batch_size": float(0),
                "max_bytes": float(0),
                "max_coalescing_delay": float(0),
                "max_entries": float(0),
                "max_retry_delay": float(0),
                "max_retry_time": float(0),
            },
            "ssl_verify": False,
            "subject": {
                "field": "string",
                "look_up_value_in": "string",
            },
            "timeout": float(0),
        },
        gateway_plugin_metering_and_billing_id="string",
        consumer={
            "id": "string",
        },
        created_at=float(0),
        enabled=False,
        condition="string",
        instance_name="string",
        ordering={
            "after": {
                "accesses": ["string"],
            },
            "before": {
                "accesses": ["string"],
            },
        },
        partials=[{
            "id": "string",
            "name": "string",
            "path": "string",
        }],
        protocols=["string"],
        route={
            "id": "string",
        },
        service={
            "id": "string",
        },
        tags=["string"],
        updated_at=float(0))
    
    const gatewayPluginMeteringAndBillingResource = new konnect.GatewayPluginMeteringAndBilling("gatewayPluginMeteringAndBillingResource", {
        controlPlaneId: "string",
        config: {
            apiToken: "string",
            ingestEndpoint: "string",
            attributes: [{
                eventPropertyName: "string",
                lookUpValueIn: "string",
                source: "string",
            }],
            keepalive: 0,
            meterAiTokenUsage: false,
            meterApiRequests: false,
            queue: {
                concurrencyLimit: 0,
                initialRetryDelay: 0,
                maxBatchSize: 0,
                maxBytes: 0,
                maxCoalescingDelay: 0,
                maxEntries: 0,
                maxRetryDelay: 0,
                maxRetryTime: 0,
            },
            sslVerify: false,
            subject: {
                field: "string",
                lookUpValueIn: "string",
            },
            timeout: 0,
        },
        gatewayPluginMeteringAndBillingId: "string",
        consumer: {
            id: "string",
        },
        createdAt: 0,
        enabled: false,
        condition: "string",
        instanceName: "string",
        ordering: {
            after: {
                accesses: ["string"],
            },
            before: {
                accesses: ["string"],
            },
        },
        partials: [{
            id: "string",
            name: "string",
            path: "string",
        }],
        protocols: ["string"],
        route: {
            id: "string",
        },
        service: {
            id: "string",
        },
        tags: ["string"],
        updatedAt: 0,
    });
    
    type: konnect:GatewayPluginMeteringAndBilling
    properties:
        condition: string
        config:
            apiToken: string
            attributes:
                - eventPropertyName: string
                  lookUpValueIn: string
                  source: string
            ingestEndpoint: string
            keepalive: 0
            meterAiTokenUsage: false
            meterApiRequests: false
            queue:
                concurrencyLimit: 0
                initialRetryDelay: 0
                maxBatchSize: 0
                maxBytes: 0
                maxCoalescingDelay: 0
                maxEntries: 0
                maxRetryDelay: 0
                maxRetryTime: 0
            sslVerify: false
            subject:
                field: string
                lookUpValueIn: string
            timeout: 0
        consumer:
            id: string
        controlPlaneId: string
        createdAt: 0
        enabled: false
        gatewayPluginMeteringAndBillingId: string
        instanceName: string
        ordering:
            after:
                accesses:
                    - string
            before:
                accesses:
                    - string
        partials:
            - id: string
              name: string
              path: string
        protocols:
            - string
        route:
            id: string
        service:
            id: string
        tags:
            - string
        updatedAt: 0
    

    GatewayPluginMeteringAndBilling Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The GatewayPluginMeteringAndBilling resource accepts the following input properties:

    Config GatewayPluginMeteringAndBillingConfig
    ControlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    Condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    Consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    CreatedAt double
    Unix epoch when the resource was created.
    Enabled bool
    Whether the plugin is applied. Default: true
    GatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    InstanceName string
    A unique string representing a UTF-8 encoded name.
    Ordering GatewayPluginMeteringAndBillingOrdering
    Partials List<GatewayPluginMeteringAndBillingPartial>
    A list of partials to be used by the plugin.
    Protocols List<string>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    Route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    Service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    Tags List<string>
    An optional set of strings associated with the Plugin for grouping and filtering.
    UpdatedAt double
    Unix epoch when the resource was last updated.
    Config GatewayPluginMeteringAndBillingConfigArgs
    ControlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    Condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    Consumer GatewayPluginMeteringAndBillingConsumerArgs
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    CreatedAt float64
    Unix epoch when the resource was created.
    Enabled bool
    Whether the plugin is applied. Default: true
    GatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    InstanceName string
    A unique string representing a UTF-8 encoded name.
    Ordering GatewayPluginMeteringAndBillingOrderingArgs
    Partials []GatewayPluginMeteringAndBillingPartialArgs
    A list of partials to be used by the plugin.
    Protocols []string
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    Route GatewayPluginMeteringAndBillingRouteArgs
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    Service GatewayPluginMeteringAndBillingServiceArgs
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    Tags []string
    An optional set of strings associated with the Plugin for grouping and filtering.
    UpdatedAt float64
    Unix epoch when the resource was last updated.
    config GatewayPluginMeteringAndBillingConfig
    controlPlaneId String
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    condition String
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    createdAt Double
    Unix epoch when the resource was created.
    enabled Boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId String
    A string representing a UUID (universally unique identifier).
    instanceName String
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrdering
    partials List<GatewayPluginMeteringAndBillingPartial>
    A list of partials to be used by the plugin.
    protocols List<String>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags List<String>
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt Double
    Unix epoch when the resource was last updated.
    config GatewayPluginMeteringAndBillingConfig
    controlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    createdAt number
    Unix epoch when the resource was created.
    enabled boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    instanceName string
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrdering
    partials GatewayPluginMeteringAndBillingPartial[]
    A list of partials to be used by the plugin.
    protocols string[]
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags string[]
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt number
    Unix epoch when the resource was last updated.
    config GatewayPluginMeteringAndBillingConfigArgs
    control_plane_id str
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    condition str
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    consumer GatewayPluginMeteringAndBillingConsumerArgs
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    created_at float
    Unix epoch when the resource was created.
    enabled bool
    Whether the plugin is applied. Default: true
    gateway_plugin_metering_and_billing_id str
    A string representing a UUID (universally unique identifier).
    instance_name str
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrderingArgs
    partials Sequence[GatewayPluginMeteringAndBillingPartialArgs]
    A list of partials to be used by the plugin.
    protocols Sequence[str]
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRouteArgs
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingServiceArgs
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags Sequence[str]
    An optional set of strings associated with the Plugin for grouping and filtering.
    updated_at float
    Unix epoch when the resource was last updated.
    config Property Map
    controlPlaneId String
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    condition String
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    consumer Property Map
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    createdAt Number
    Unix epoch when the resource was created.
    enabled Boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId String
    A string representing a UUID (universally unique identifier).
    instanceName String
    A unique string representing a UTF-8 encoded name.
    ordering Property Map
    partials List<Property Map>
    A list of partials to be used by the plugin.
    protocols List<String>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route Property Map
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service Property Map
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags List<String>
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt Number
    Unix epoch when the resource was last updated.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the GatewayPluginMeteringAndBilling resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing GatewayPluginMeteringAndBilling Resource

    Get an existing GatewayPluginMeteringAndBilling resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: GatewayPluginMeteringAndBillingState, opts?: CustomResourceOptions): GatewayPluginMeteringAndBilling
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            condition: Optional[str] = None,
            config: Optional[GatewayPluginMeteringAndBillingConfigArgs] = None,
            consumer: Optional[GatewayPluginMeteringAndBillingConsumerArgs] = None,
            control_plane_id: Optional[str] = None,
            created_at: Optional[float] = None,
            enabled: Optional[bool] = None,
            gateway_plugin_metering_and_billing_id: Optional[str] = None,
            instance_name: Optional[str] = None,
            ordering: Optional[GatewayPluginMeteringAndBillingOrderingArgs] = None,
            partials: Optional[Sequence[GatewayPluginMeteringAndBillingPartialArgs]] = None,
            protocols: Optional[Sequence[str]] = None,
            route: Optional[GatewayPluginMeteringAndBillingRouteArgs] = None,
            service: Optional[GatewayPluginMeteringAndBillingServiceArgs] = None,
            tags: Optional[Sequence[str]] = None,
            updated_at: Optional[float] = None) -> GatewayPluginMeteringAndBilling
    func GetGatewayPluginMeteringAndBilling(ctx *Context, name string, id IDInput, state *GatewayPluginMeteringAndBillingState, opts ...ResourceOption) (*GatewayPluginMeteringAndBilling, error)
    public static GatewayPluginMeteringAndBilling Get(string name, Input<string> id, GatewayPluginMeteringAndBillingState? state, CustomResourceOptions? opts = null)
    public static GatewayPluginMeteringAndBilling get(String name, Output<String> id, GatewayPluginMeteringAndBillingState state, CustomResourceOptions options)
    resources:  _:    type: konnect:GatewayPluginMeteringAndBilling    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    Config GatewayPluginMeteringAndBillingConfig
    Consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    ControlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    CreatedAt double
    Unix epoch when the resource was created.
    Enabled bool
    Whether the plugin is applied. Default: true
    GatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    InstanceName string
    A unique string representing a UTF-8 encoded name.
    Ordering GatewayPluginMeteringAndBillingOrdering
    Partials List<GatewayPluginMeteringAndBillingPartial>
    A list of partials to be used by the plugin.
    Protocols List<string>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    Route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    Service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    Tags List<string>
    An optional set of strings associated with the Plugin for grouping and filtering.
    UpdatedAt double
    Unix epoch when the resource was last updated.
    Condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    Config GatewayPluginMeteringAndBillingConfigArgs
    Consumer GatewayPluginMeteringAndBillingConsumerArgs
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    ControlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    CreatedAt float64
    Unix epoch when the resource was created.
    Enabled bool
    Whether the plugin is applied. Default: true
    GatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    InstanceName string
    A unique string representing a UTF-8 encoded name.
    Ordering GatewayPluginMeteringAndBillingOrderingArgs
    Partials []GatewayPluginMeteringAndBillingPartialArgs
    A list of partials to be used by the plugin.
    Protocols []string
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    Route GatewayPluginMeteringAndBillingRouteArgs
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    Service GatewayPluginMeteringAndBillingServiceArgs
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    Tags []string
    An optional set of strings associated with the Plugin for grouping and filtering.
    UpdatedAt float64
    Unix epoch when the resource was last updated.
    condition String
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    config GatewayPluginMeteringAndBillingConfig
    consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    controlPlaneId String
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    createdAt Double
    Unix epoch when the resource was created.
    enabled Boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId String
    A string representing a UUID (universally unique identifier).
    instanceName String
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrdering
    partials List<GatewayPluginMeteringAndBillingPartial>
    A list of partials to be used by the plugin.
    protocols List<String>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags List<String>
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt Double
    Unix epoch when the resource was last updated.
    condition string
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    config GatewayPluginMeteringAndBillingConfig
    consumer GatewayPluginMeteringAndBillingConsumer
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    controlPlaneId string
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    createdAt number
    Unix epoch when the resource was created.
    enabled boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId string
    A string representing a UUID (universally unique identifier).
    instanceName string
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrdering
    partials GatewayPluginMeteringAndBillingPartial[]
    A list of partials to be used by the plugin.
    protocols string[]
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRoute
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingService
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags string[]
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt number
    Unix epoch when the resource was last updated.
    condition str
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    config GatewayPluginMeteringAndBillingConfigArgs
    consumer GatewayPluginMeteringAndBillingConsumerArgs
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    control_plane_id str
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    created_at float
    Unix epoch when the resource was created.
    enabled bool
    Whether the plugin is applied. Default: true
    gateway_plugin_metering_and_billing_id str
    A string representing a UUID (universally unique identifier).
    instance_name str
    A unique string representing a UTF-8 encoded name.
    ordering GatewayPluginMeteringAndBillingOrderingArgs
    partials Sequence[GatewayPluginMeteringAndBillingPartialArgs]
    A list of partials to be used by the plugin.
    protocols Sequence[str]
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route GatewayPluginMeteringAndBillingRouteArgs
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service GatewayPluginMeteringAndBillingServiceArgs
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags Sequence[str]
    An optional set of strings associated with the Plugin for grouping and filtering.
    updated_at float
    Unix epoch when the resource was last updated.
    condition String
    An expression used for conditional control over plugin execution. If the expression evaluates to true during the request flow, the plugin is executed; otherwise, it is skipped.
    config Property Map
    consumer Property Map
    If set, the plugin will activate only for requests where the specified has been authenticated. (Note that some plugins can not be restricted to consumers this way.). Leave unset for the plugin to activate regardless of the authenticated Consumer.
    controlPlaneId String
    The UUID of your control plane. This variable is available in the Konnect manager. Requires replacement if changed.
    createdAt Number
    Unix epoch when the resource was created.
    enabled Boolean
    Whether the plugin is applied. Default: true
    gatewayPluginMeteringAndBillingId String
    A string representing a UUID (universally unique identifier).
    instanceName String
    A unique string representing a UTF-8 encoded name.
    ordering Property Map
    partials List<Property Map>
    A list of partials to be used by the plugin.
    protocols List<String>
    A set of strings representing protocols. Default: ["grpc","grpcs","http","https"]
    route Property Map
    If set, the plugin will only activate when receiving requests via the specified route. Leave unset for the plugin to activate regardless of the route being used.
    service Property Map
    If set, the plugin will only activate when receiving requests via one of the routes belonging to the specified Service. Leave unset for the plugin to activate regardless of the Service being matched.
    tags List<String>
    An optional set of strings associated with the Plugin for grouping and filtering.
    updatedAt Number
    Unix epoch when the resource was last updated.

    Supporting Types

    GatewayPluginMeteringAndBillingConfig, GatewayPluginMeteringAndBillingConfigArgs

    ApiToken string
    Bearer token for authenticating with the ingest endpoint.
    IngestEndpoint string
    The HTTP endpoint where usage events are sent.
    Attributes List<GatewayPluginMeteringAndBillingConfigAttribute>
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    Keepalive double
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    MeterAiTokenUsage bool
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    MeterApiRequests bool
    Emit a usage event for each API Gateway request. Default: true
    Queue GatewayPluginMeteringAndBillingConfigQueue
    SslVerify bool
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    Subject GatewayPluginMeteringAndBillingConfigSubject
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    Timeout double
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000
    ApiToken string
    Bearer token for authenticating with the ingest endpoint.
    IngestEndpoint string
    The HTTP endpoint where usage events are sent.
    Attributes []GatewayPluginMeteringAndBillingConfigAttribute
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    Keepalive float64
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    MeterAiTokenUsage bool
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    MeterApiRequests bool
    Emit a usage event for each API Gateway request. Default: true
    Queue GatewayPluginMeteringAndBillingConfigQueue
    SslVerify bool
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    Subject GatewayPluginMeteringAndBillingConfigSubject
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    Timeout float64
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000
    apiToken String
    Bearer token for authenticating with the ingest endpoint.
    ingestEndpoint String
    The HTTP endpoint where usage events are sent.
    attributes List<GatewayPluginMeteringAndBillingConfigAttribute>
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    keepalive Double
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    meterAiTokenUsage Boolean
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    meterApiRequests Boolean
    Emit a usage event for each API Gateway request. Default: true
    queue GatewayPluginMeteringAndBillingConfigQueue
    sslVerify Boolean
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    subject GatewayPluginMeteringAndBillingConfigSubject
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    timeout Double
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000
    apiToken string
    Bearer token for authenticating with the ingest endpoint.
    ingestEndpoint string
    The HTTP endpoint where usage events are sent.
    attributes GatewayPluginMeteringAndBillingConfigAttribute[]
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    keepalive number
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    meterAiTokenUsage boolean
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    meterApiRequests boolean
    Emit a usage event for each API Gateway request. Default: true
    queue GatewayPluginMeteringAndBillingConfigQueue
    sslVerify boolean
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    subject GatewayPluginMeteringAndBillingConfigSubject
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    timeout number
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000
    api_token str
    Bearer token for authenticating with the ingest endpoint.
    ingest_endpoint str
    The HTTP endpoint where usage events are sent.
    attributes Sequence[GatewayPluginMeteringAndBillingConfigAttribute]
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    keepalive float
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    meter_ai_token_usage bool
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    meter_api_requests bool
    Emit a usage event for each API Gateway request. Default: true
    queue GatewayPluginMeteringAndBillingConfigQueue
    ssl_verify bool
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    subject GatewayPluginMeteringAndBillingConfigSubject
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    timeout float
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000
    apiToken String
    Bearer token for authenticating with the ingest endpoint.
    ingestEndpoint String
    The HTTP endpoint where usage events are sent.
    attributes List<Property Map>
    Capture custom properties to the usage event data payload for pricing dimensions or reporting. Attributes add dimensions like provider, department or project that your billing model needs for tiered or per-dimension pricing.
    keepalive Number
    How long in milliseconds an idle connection to the ingest endpoint is kept open before being closed. Default: 60000
    meterAiTokenUsage Boolean
    Emit events for LLM input and output tokens on AI Gateway requests. Default: true
    meterApiRequests Boolean
    Emit a usage event for each API Gateway request. Default: true
    queue Property Map
    sslVerify Boolean
    Verify the TLS certificate presented by the ingest endpoint. Default: true
    subject Property Map
    The subject identifies who gets billed for each request. Choose where the plugin should look for the customer identifier.
    timeout Number
    Maximum time in milliseconds to wait for a response from the ingest endpoint. Default: 10000

    GatewayPluginMeteringAndBillingConfigAttribute, GatewayPluginMeteringAndBillingConfigAttributeArgs

    EventPropertyName string
    The property name in the usage event data payload. Not Null
    LookUpValueIn string
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    Source string
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null
    EventPropertyName string
    The property name in the usage event data payload. Not Null
    LookUpValueIn string
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    Source string
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null
    eventPropertyName String
    The property name in the usage event data payload. Not Null
    lookUpValueIn String
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    source String
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null
    eventPropertyName string
    The property name in the usage event data payload. Not Null
    lookUpValueIn string
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    source string
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null
    event_property_name str
    The property name in the usage event data payload. Not Null
    look_up_value_in str
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    source str
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null
    eventPropertyName String
    The property name in the usage event data payload. Not Null
    lookUpValueIn String
    The header name or query parameter that contains the value, e.g 'x-department-id'. Not Null
    source String
    Where to find this attribute in the request. possible known values include one of ["header", "query"]; Not Null

    GatewayPluginMeteringAndBillingConfigQueue, GatewayPluginMeteringAndBillingConfigQueueArgs

    ConcurrencyLimit double
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    InitialRetryDelay double
    Time in seconds before the initial retry is made for a failing batch.
    MaxBatchSize double
    Maximum number of entries that can be processed at a time. Default: 1
    MaxBytes double
    Maximum number of bytes that can be waiting on a queue, requires string content.
    MaxCoalescingDelay double
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    MaxEntries double
    Maximum number of entries that can be waiting on the queue. Default: 10000
    MaxRetryDelay double
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    MaxRetryTime double
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60
    ConcurrencyLimit float64
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    InitialRetryDelay float64
    Time in seconds before the initial retry is made for a failing batch.
    MaxBatchSize float64
    Maximum number of entries that can be processed at a time. Default: 1
    MaxBytes float64
    Maximum number of bytes that can be waiting on a queue, requires string content.
    MaxCoalescingDelay float64
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    MaxEntries float64
    Maximum number of entries that can be waiting on the queue. Default: 10000
    MaxRetryDelay float64
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    MaxRetryTime float64
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60
    concurrencyLimit Double
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    initialRetryDelay Double
    Time in seconds before the initial retry is made for a failing batch.
    maxBatchSize Double
    Maximum number of entries that can be processed at a time. Default: 1
    maxBytes Double
    Maximum number of bytes that can be waiting on a queue, requires string content.
    maxCoalescingDelay Double
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    maxEntries Double
    Maximum number of entries that can be waiting on the queue. Default: 10000
    maxRetryDelay Double
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    maxRetryTime Double
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60
    concurrencyLimit number
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    initialRetryDelay number
    Time in seconds before the initial retry is made for a failing batch.
    maxBatchSize number
    Maximum number of entries that can be processed at a time. Default: 1
    maxBytes number
    Maximum number of bytes that can be waiting on a queue, requires string content.
    maxCoalescingDelay number
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    maxEntries number
    Maximum number of entries that can be waiting on the queue. Default: 10000
    maxRetryDelay number
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    maxRetryTime number
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60
    concurrency_limit float
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    initial_retry_delay float
    Time in seconds before the initial retry is made for a failing batch.
    max_batch_size float
    Maximum number of entries that can be processed at a time. Default: 1
    max_bytes float
    Maximum number of bytes that can be waiting on a queue, requires string content.
    max_coalescing_delay float
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    max_entries float
    Maximum number of entries that can be waiting on the queue. Default: 10000
    max_retry_delay float
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    max_retry_time float
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60
    concurrencyLimit Number
    The number of of queue delivery timers. -1 indicates unlimited. possible known values include one of [-1, 1]; Default: 1
    initialRetryDelay Number
    Time in seconds before the initial retry is made for a failing batch.
    maxBatchSize Number
    Maximum number of entries that can be processed at a time. Default: 1
    maxBytes Number
    Maximum number of bytes that can be waiting on a queue, requires string content.
    maxCoalescingDelay Number
    Maximum number of (fractional) seconds to elapse after the first entry was queued before the queue starts calling the handler. Default: 1
    maxEntries Number
    Maximum number of entries that can be waiting on the queue. Default: 10000
    maxRetryDelay Number
    Maximum time in seconds between retries, caps exponential backoff. Default: 60
    maxRetryTime Number
    Time in seconds before the queue gives up calling a failed handler for a batch. Default: 60

    GatewayPluginMeteringAndBillingConfigSubject, GatewayPluginMeteringAndBillingConfigSubjectArgs

    Field string
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    LookUpValueIn string
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"
    Field string
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    LookUpValueIn string
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"
    field String
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    lookUpValueIn String
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"
    field string
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    lookUpValueIn string
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"
    field str
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    look_up_value_in str
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"
    field String
    The header name, query parameter, consumer field, or application field that contains the customer identifier, e.g. 'x-customer-id'
    lookUpValueIn String
    Where to find the customer identifier in the request. possible known values include one of ["application", "consumer", "header", "query"]; Default: "consumer"

    GatewayPluginMeteringAndBillingConsumer, GatewayPluginMeteringAndBillingConsumerArgs

    Id string
    Id string
    id String
    id string
    id str
    id String

    GatewayPluginMeteringAndBillingOrdering, GatewayPluginMeteringAndBillingOrderingArgs

    GatewayPluginMeteringAndBillingOrderingAfter, GatewayPluginMeteringAndBillingOrderingAfterArgs

    Accesses List<string>
    Accesses []string
    accesses List<String>
    accesses string[]
    accesses Sequence[str]
    accesses List<String>

    GatewayPluginMeteringAndBillingOrderingBefore, GatewayPluginMeteringAndBillingOrderingBeforeArgs

    Accesses List<string>
    Accesses []string
    accesses List<String>
    accesses string[]
    accesses Sequence[str]
    accesses List<String>

    GatewayPluginMeteringAndBillingPartial, GatewayPluginMeteringAndBillingPartialArgs

    Id string
    A string representing a UUID (universally unique identifier).
    Name string
    A unique string representing a UTF-8 encoded name.
    Path string
    Id string
    A string representing a UUID (universally unique identifier).
    Name string
    A unique string representing a UTF-8 encoded name.
    Path string
    id String
    A string representing a UUID (universally unique identifier).
    name String
    A unique string representing a UTF-8 encoded name.
    path String
    id string
    A string representing a UUID (universally unique identifier).
    name string
    A unique string representing a UTF-8 encoded name.
    path string
    id str
    A string representing a UUID (universally unique identifier).
    name str
    A unique string representing a UTF-8 encoded name.
    path str
    id String
    A string representing a UUID (universally unique identifier).
    name String
    A unique string representing a UTF-8 encoded name.
    path String

    GatewayPluginMeteringAndBillingRoute, GatewayPluginMeteringAndBillingRouteArgs

    Id string
    Id string
    id String
    id string
    id str
    id String

    GatewayPluginMeteringAndBillingService, GatewayPluginMeteringAndBillingServiceArgs

    Id string
    Id string
    id String
    id string
    id str
    id String

    Import

    In Terraform v1.5.0 and later, the import block can be used with the id attribute, for example:

    terraform

    import {

    to = konnect_gateway_plugin_metering_and_billing.my_konnect_gateway_plugin_metering_and_billing

    id = jsonencode({

    control_plane_id = "9524ec7d-36d9-465d-a8c5-83a3c9390458"
    
    id               = "3473c251-5b6c-4f45-b1ff-7ede735a366d"
    

    })

    }

    The pulumi import command can be used, for example:

    $ pulumi import konnect:index/gatewayPluginMeteringAndBilling:GatewayPluginMeteringAndBilling my_konnect_gateway_plugin_metering_and_billing '{"control_plane_id": "9524ec7d-36d9-465d-a8c5-83a3c9390458", "id": "3473c251-5b6c-4f45-b1ff-7ede735a366d"}'
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    konnect kong/terraform-provider-konnect
    License
    Notes
    This Pulumi package is based on the konnect Terraform Provider.
    Viewing docs for konnect 3.14.0
    published on Friday, Apr 24, 2026 by kong
      Try Pulumi Cloud free. Your team will thank you.