kong.Plugin
Explore with Pulumi AI
# kong.Plugin
The plugin resource maps directly onto the json for the API endpoint in Kong. For more information on the parameters see the Kong Api create documentation.
The config_json
is passed through to the plugin to configure it as is.
Example Usage
using Pulumi;
using Kong = Pulumi.Kong;
class MyStack : Stack
{
public MyStack()
{
var rateLimit = new Kong.Plugin("rateLimit", new Kong.PluginArgs
{
ConfigJson = @" {
""second"": 5,
""hour"" : 1000
}
",
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-kong/sdk/v4/go/kong"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := kong.NewPlugin(ctx, "rateLimit", &kong.PluginArgs{
ConfigJson: pulumi.String(fmt.Sprintf("%v%v%v%v%v", " {\n", " \"second\": 5,\n", " \"hour\" : 1000\n", " }\n", "\n")),
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_kong as kong
rate_limit = kong.Plugin("rateLimit", config_json=""" {
"second": 5,
"hour" : 1000
}
""")
import * as pulumi from "@pulumi/pulumi";
import * as kong from "@pulumi/kong";
const rateLimit = new kong.Plugin("rate_limit", {
configJson: ` {
"second": 5,
"hour" : 1000
}
`,
});
Coming soon!
property, for example
using Pulumi;
using Kong = Pulumi.Kong;
class MyStack : Stack
{
public MyStack()
{
var pluginConsumer = new Kong.Consumer("pluginConsumer", new Kong.ConsumerArgs
{
CustomId = "567",
Username = "PluginUser",
});
var rateLimit = new Kong.Plugin("rateLimit", new Kong.PluginArgs
{
ConfigJson = @" {
""second"": 5,
""hour"" : 1000
}
",
ConsumerId = pluginConsumer.Id,
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-kong/sdk/v4/go/kong"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
pluginConsumer, err := kong.NewConsumer(ctx, "pluginConsumer", &kong.ConsumerArgs{
CustomId: pulumi.String("567"),
Username: pulumi.String("PluginUser"),
})
if err != nil {
return err
}
_, err = kong.NewPlugin(ctx, "rateLimit", &kong.PluginArgs{
ConfigJson: pulumi.String(fmt.Sprintf("%v%v%v%v%v", " {\n", " \"second\": 5,\n", " \"hour\" : 1000\n", " }\n", "\n")),
ConsumerId: pluginConsumer.ID(),
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_kong as kong
plugin_consumer = kong.Consumer("pluginConsumer",
custom_id="567",
username="PluginUser")
rate_limit = kong.Plugin("rateLimit",
config_json=""" {
"second": 5,
"hour" : 1000
}
""",
consumer_id=plugin_consumer.id)
import * as pulumi from "@pulumi/pulumi";
import * as kong from "@pulumi/kong";
const pluginConsumer = new kong.Consumer("plugin_consumer", {
customId: "567",
username: "PluginUser",
});
const rateLimit = new kong.Plugin("rate_limit", {
configJson: ` {
"second": 5,
"hour" : 1000
}
`,
consumerId: pluginConsumer.id,
});
Coming soon!
property, for example
using Pulumi;
using Kong = Pulumi.Kong;
class MyStack : Stack
{
public MyStack()
{
var service = new Kong.Service("service", new Kong.ServiceArgs
{
Host = "test.org",
Protocol = "http",
});
var rateLimit = new Kong.Plugin("rateLimit", new Kong.PluginArgs
{
ConfigJson = @" {
""second"": 10,
""hour"" : 2000
}
",
ServiceId = service.Id,
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-kong/sdk/v4/go/kong"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
service, err := kong.NewService(ctx, "service", &kong.ServiceArgs{
Host: pulumi.String("test.org"),
Protocol: pulumi.String("http"),
})
if err != nil {
return err
}
_, err = kong.NewPlugin(ctx, "rateLimit", &kong.PluginArgs{
ConfigJson: pulumi.String(fmt.Sprintf("%v%v%v%v%v", " {\n", " \"second\": 10,\n", " \"hour\" : 2000\n", " }\n", "\n")),
ServiceId: service.ID(),
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_kong as kong
service = kong.Service("service",
host="test.org",
protocol="http")
rate_limit = kong.Plugin("rateLimit",
config_json=""" {
"second": 10,
"hour" : 2000
}
""",
service_id=service.id)
import * as pulumi from "@pulumi/pulumi";
import * as kong from "@pulumi/kong";
const service = new kong.Service("service", {
host: "test.org",
protocol: "http",
});
const rateLimit = new kong.Plugin("rate_limit", {
configJson: ` {
"second": 10,
"hour" : 2000
}
`,
serviceId: service.id,
});
Coming soon!
property, for example
using Pulumi;
using Kong = Pulumi.Kong;
class MyStack : Stack
{
public MyStack()
{
var service = new Kong.Service("service", new Kong.ServiceArgs
{
Host = "test.org",
Protocol = "http",
});
var rateLimit = new Kong.Plugin("rateLimit", new Kong.PluginArgs
{
ConfigJson = @" {
""second"": 11,
""hour"" : 4000
}
",
Enabled = true,
ServiceId = service.Id,
});
}
}
package main
import (
"fmt"
"github.com/pulumi/pulumi-kong/sdk/v4/go/kong"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
service, err := kong.NewService(ctx, "service", &kong.ServiceArgs{
Host: pulumi.String("test.org"),
Protocol: pulumi.String("http"),
})
if err != nil {
return err
}
_, err = kong.NewPlugin(ctx, "rateLimit", &kong.PluginArgs{
ConfigJson: pulumi.String(fmt.Sprintf("%v%v%v%v%v", " {\n", " \"second\": 11,\n", " \"hour\" : 4000\n", " }\n", "\n")),
Enabled: pulumi.Bool(true),
ServiceId: service.ID(),
})
if err != nil {
return err
}
return nil
})
}
Coming soon!
import pulumi
import pulumi_kong as kong
service = kong.Service("service",
host="test.org",
protocol="http")
rate_limit = kong.Plugin("rateLimit",
config_json=""" {
"second": 11,
"hour" : 4000
}
""",
enabled=True,
service_id=service.id)
import * as pulumi from "@pulumi/pulumi";
import * as kong from "@pulumi/kong";
const service = new kong.Service("service", {
host: "test.org",
protocol: "http",
});
const rateLimit = new kong.Plugin("rate_limit", {
configJson: ` {
"second": 11,
"hour" : 4000
}
`,
enabled: true,
serviceId: service.id,
});
Coming soon!
Create Plugin Resource
new Plugin(name: string, args?: PluginArgs, opts?: CustomResourceOptions);
@overload
def Plugin(resource_name: str,
opts: Optional[ResourceOptions] = None,
config_json: Optional[str] = None,
consumer_id: Optional[str] = None,
enabled: Optional[bool] = None,
name: Optional[str] = None,
route_id: Optional[str] = None,
service_id: Optional[str] = None,
strict_match: Optional[bool] = None,
tags: Optional[Sequence[str]] = None)
@overload
def Plugin(resource_name: str,
args: Optional[PluginArgs] = None,
opts: Optional[ResourceOptions] = None)
func NewPlugin(ctx *Context, name string, args *PluginArgs, opts ...ResourceOption) (*Plugin, error)
public Plugin(string name, PluginArgs? args = null, CustomResourceOptions? opts = null)
public Plugin(String name, PluginArgs args)
public Plugin(String name, PluginArgs args, CustomResourceOptions options)
type: kong:Plugin
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PluginArgs
- 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 PluginArgs
- 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 PluginArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args PluginArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args PluginArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Plugin Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
The Plugin resource accepts the following input properties:
- Config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- Consumer
Id string the consumer id you want to configure the plugin for
- Enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- Name string
- Route
Id string the route id that you want to configure the plugin for
- Service
Id string the service id that you want to configure the plugin for
- Strict
Match bool - List<string>
A list of strings associated with the Plugin for grouping and filtering
- Config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- Consumer
Id string the consumer id you want to configure the plugin for
- Enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- Name string
- Route
Id string the route id that you want to configure the plugin for
- Service
Id string the service id that you want to configure the plugin for
- Strict
Match bool - []string
A list of strings associated with the Plugin for grouping and filtering
- config
Json String this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id String the consumer id you want to configure the plugin for
- enabled Boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name String
- route
Id String the route id that you want to configure the plugin for
- service
Id String the service id that you want to configure the plugin for
- strict
Match Boolean - List<String>
A list of strings associated with the Plugin for grouping and filtering
- config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id string the consumer id you want to configure the plugin for
- enabled boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name string
- route
Id string the route id that you want to configure the plugin for
- service
Id string the service id that you want to configure the plugin for
- strict
Match boolean - string[]
A list of strings associated with the Plugin for grouping and filtering
- config_
json str this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer_
id str the consumer id you want to configure the plugin for
- enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name str
- route_
id str the route id that you want to configure the plugin for
- service_
id str the service id that you want to configure the plugin for
- strict_
match bool - Sequence[str]
A list of strings associated with the Plugin for grouping and filtering
- config
Json String this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id String the consumer id you want to configure the plugin for
- enabled Boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name String
- route
Id String the route id that you want to configure the plugin for
- service
Id String the service id that you want to configure the plugin for
- strict
Match Boolean - List<String>
A list of strings associated with the Plugin for grouping and filtering
Outputs
All input properties are implicitly available as output properties. Additionally, the Plugin resource produces the following output properties:
- Computed
Config string - Id string
The provider-assigned unique ID for this managed resource.
- Computed
Config string - Id string
The provider-assigned unique ID for this managed resource.
- computed
Config String - id String
The provider-assigned unique ID for this managed resource.
- computed
Config string - id string
The provider-assigned unique ID for this managed resource.
- computed_
config str - id str
The provider-assigned unique ID for this managed resource.
- computed
Config String - id String
The provider-assigned unique ID for this managed resource.
Look up Existing Plugin Resource
Get an existing Plugin 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?: PluginState, opts?: CustomResourceOptions): Plugin
@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
computed_config: Optional[str] = None,
config_json: Optional[str] = None,
consumer_id: Optional[str] = None,
enabled: Optional[bool] = None,
name: Optional[str] = None,
route_id: Optional[str] = None,
service_id: Optional[str] = None,
strict_match: Optional[bool] = None,
tags: Optional[Sequence[str]] = None) -> Plugin
func GetPlugin(ctx *Context, name string, id IDInput, state *PluginState, opts ...ResourceOption) (*Plugin, error)
public static Plugin Get(string name, Input<string> id, PluginState? state, CustomResourceOptions? opts = null)
public static Plugin get(String name, Output<String> id, PluginState state, CustomResourceOptions options)
Resource lookup is not supported in YAML
- 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.
- Computed
Config string - Config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- Consumer
Id string the consumer id you want to configure the plugin for
- Enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- Name string
- Route
Id string the route id that you want to configure the plugin for
- Service
Id string the service id that you want to configure the plugin for
- Strict
Match bool - List<string>
A list of strings associated with the Plugin for grouping and filtering
- Computed
Config string - Config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- Consumer
Id string the consumer id you want to configure the plugin for
- Enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- Name string
- Route
Id string the route id that you want to configure the plugin for
- Service
Id string the service id that you want to configure the plugin for
- Strict
Match bool - []string
A list of strings associated with the Plugin for grouping and filtering
- computed
Config String - config
Json String this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id String the consumer id you want to configure the plugin for
- enabled Boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name String
- route
Id String the route id that you want to configure the plugin for
- service
Id String the service id that you want to configure the plugin for
- strict
Match Boolean - List<String>
A list of strings associated with the Plugin for grouping and filtering
- computed
Config string - config
Json string this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id string the consumer id you want to configure the plugin for
- enabled boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name string
- route
Id string the route id that you want to configure the plugin for
- service
Id string the service id that you want to configure the plugin for
- strict
Match boolean - string[]
A list of strings associated with the Plugin for grouping and filtering
- computed_
config str - config_
json str this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer_
id str the consumer id you want to configure the plugin for
- enabled bool
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name str
- route_
id str the route id that you want to configure the plugin for
- service_
id str the service id that you want to configure the plugin for
- strict_
match bool - Sequence[str]
A list of strings associated with the Plugin for grouping and filtering
- computed
Config String - config
Json String this is the configuration json for how you want to configure the plugin. The json is passed straight through to kong as is. You can get the json config from the Kong documentation page of the plugin you are configuring
- consumer
Id String the consumer id you want to configure the plugin for
- enabled Boolean
whether the plugin is enabled or not, use if you want to keep the plugin installed but disable it
- name String
- route
Id String the route id that you want to configure the plugin for
- service
Id String the service id that you want to configure the plugin for
- strict
Match Boolean - List<String>
A list of strings associated with the Plugin for grouping and filtering
Import
To import a plugin
$ pulumi import kong:index/plugin:Plugin <plugin_identifier> <plugin_id>
Package Details
- Repository
- Kong pulumi/pulumi-kong
- License
- Apache-2.0
- Notes
This Pulumi package is based on the
kong
Terraform Provider.