{"name":"impart","displayName":"Impart Security","version":"0.11.3","description":"A Pulumi package for creating and managing Impart resources.","keywords":["pulumi","impart","category/infrastructure"],"homepage":"https://www.impart.security/","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`impart` Terraform Provider](https://github.com/impart-security/terraform-provider-impart).","repository":"https://github.com/impart-security/pulumi-impart","logoUrl":"https://console.impartsecurity.net/logo-blue-black.svg","pluginDownloadURL":"github://api.github.com/impart-security","publisher":"Impart Security","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"go":{"importBasePath":"github.com/impart-security/pulumi-impart/sdk/go/impart","generateResourceContainerTypes":true,"generateExtraInputTypes":true},"nodejs":{"packageName":"@impart-security/pulumi-impart","packageDescription":"A Pulumi package for creating and managing Impart resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/impart-security/terraform-provider-impart)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-impart` repo](https://github.com/impart-security/pulumi-impart/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-impart` repo](https://github.com/impart-security/terraform-provider-impart/issues).","dependencies":{"@pulumi/pulumi":"^3.0.0"},"devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"typescriptVersion":"^5.4.3","compatibility":"tfbridge20","disableUnionOutputTypes":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/impart-security/terraform-provider-impart)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-impart` repo](https://github.com/impart-security/pulumi-impart/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-impart` repo](https://github.com/impart-security/terraform-provider-impart/issues).","compatibility":"tfbridge20","pyproject":{}}},"config":{"variables":{"endpoint":{"type":"string","description":"The Impart api endpoint","defaultInfo":{"environment":["IMPART_ENDPOINT"]}},"token":{"type":"string","description":"The Impart api token","defaultInfo":{"environment":["IMPART_TOKEN"]}}}},"types":{"impart:index/ListItem:ListItem":{"properties":{"expiration":{"type":"string","description":"The list item expiration.\n"},"value":{"type":"string","description":"The list item value.\n"}},"type":"object","required":["value"]},"impart:index/MonitorCondition:MonitorCondition":{"properties":{"comparator":{"type":"string","description":"Greater than, equal to, or less than (should be one of 'gt', 'lt', or 'eq')\n"},"delay":{"type":"integer","description":"In milliseconds, the offset from now() for the time window.\n"},"details":{"$ref":"#/types/impart:index/MonitorConditionDetails:MonitorConditionDetails"},"threshold":{"type":"integer","description":"Number of occurrences that need to execute to have this condition be true.\n"},"timePeriod":{"type":"integer","description":"In milliseconds, the time span from now until when we should be counting events (for example, 60000 is all events in the last minute).\n"}},"type":"object","required":["comparator","delay","details","threshold","timePeriod"]},"impart:index/MonitorConditionDetails:MonitorConditionDetails":{"properties":{"action":{"type":"string","description":"Strictly for event type monitors. A slug of the action the monitor is tracking.\n"},"actorType":{"type":"string","description":"Strictly for event type monitors. A slug of the actor type the monitor is tracking.\n"},"subjectType":{"type":"string","description":"Strictly for event type monitors. A slug of the subject type the monitor is tracking.\n"},"tag":{"type":"string","description":"Strictly for metric type monitors. The tag the monitor is tracking.\n"},"type":{"type":"string","description":"The type of monitor (should be one of 'event' or 'metric'\n"}},"type":"object","required":["type"]},"impart:index/RuleClientIdentifierHashField:RuleClientIdentifierHashField":{"properties":{"field":{"type":"string","description":"The hash field.\n"},"key":{"type":"string","description":"The hash field key.\n"}},"type":"object","required":["field"]},"impart:index/RuleDependenciesDependency:RuleDependenciesDependency":{"properties":{"dependsOns":{"type":"array","items":{"type":"string"},"description":"IDs of the rule this rule depends on.\n"},"ruleId":{"type":"string","description":"The ID of the rule\n"}},"type":"object","required":["dependsOns","ruleId"]},"impart:index/RuleScriptDependenciesDependency:RuleScriptDependenciesDependency":{"properties":{"dependsOnRuleScriptIds":{"type":"array","items":{"type":"string"},"description":"IDs of the rule script this rule depends on.\n"},"ruleScriptId":{"type":"string","description":"The ID of the rule script\n"}},"type":"object","required":["dependsOnRuleScriptIds","ruleScriptId"]},"impart:index/RuleTestCaseAssertion:RuleTestCaseAssertion":{"properties":{"assertionType":{"type":"string","description":"The assertion type of the request.\n"},"condition":{"type":"string","description":"The condition of the assertion.\nAccepted values per assertion type:\n**output**: contains, not*contains.\n**tags**: contains, not*contains.\n**status_code**: equal, not*equal, greater*than, less*than, one*of.\n**block**: N/A\n"},"description":{"type":"string","description":"The description of the assertion.\n"},"expected":{"type":"string","description":"The expected value of the assertion.\nIt is a string value, and the format it must satisfy depends on the assertion type:\n**output**: A string.\n**tags**: A string.\n**status_code**: An integer value (e.g., \"200\") or comma-separated list of integers for\u003cspan pulumi-lang-nodejs=\" oneOf \" pulumi-lang-dotnet=\" OneOf \" pulumi-lang-go=\" oneOf \" pulumi-lang-python=\" one_of \" pulumi-lang-yaml=\" oneOf \" pulumi-lang-java=\" oneOf \"\u003e one_of \u003c/span\u003econdition (e.g., \"200,404,500\").\n**block**: A boolean value represented as \"true\" or \"false\".\n"},"location":{"type":"string","description":"The location of the assertion. Allowed values: req, res. Not applicable for assertion type output.\n"},"messageIndexes":{"type":"array","items":{"type":"integer"},"description":"The indexes of the messages in the test case the assertion applies to.\n"}},"type":"object","required":["assertionType","expected","messageIndexes"]},"impart:index/RuleTestCaseMessage:RuleTestCaseMessage":{"properties":{"count":{"type":"integer","description":"The number of times to include the message in the test case.\n"},"delay":{"type":"integer","description":"The delay in milliseconds between message iterations.\n"},"description":{"type":"string","description":"The description of the test case message.\n"},"postDelay":{"type":"integer","description":"The delay in milliseconds after a set of message iterations.\n"},"req":{"$ref":"#/types/impart:index/RuleTestCaseMessageReq:RuleTestCaseMessageReq","description":"A payload sent to the inspector to inspect an HTTP request.\n"},"res":{"$ref":"#/types/impart:index/RuleTestCaseMessageRes:RuleTestCaseMessageRes","description":"A payload sent to the inspector to inspect an HTTP response.\n"}},"type":"object","required":["req","res"],"language":{"nodejs":{"requiredOutputs":["count","delay","postDelay","req","res"]}}},"impart:index/RuleTestCaseMessageReq:RuleTestCaseMessageReq":{"properties":{"body":{"type":"string","description":"The base64 encoded HTTP request body.\n"},"cookieKeys":{"type":"array","items":{"type":"string"},"description":"The HTTP request cookie keys.\n"},"cookieValues":{"type":"array","items":{"type":"string"},"description":"The HTTP request cookie values.\n"},"headerKeys":{"type":"array","items":{"type":"string"},"description":"The HTTP request header keys.\n"},"headerValues":{"type":"array","items":{"type":"string"},"description":"The HTTP request header values.\n"},"method":{"type":"string","description":"The method of the request.\n"},"remoteAddr":{"type":"string","description":"The remote address of the request.\n"},"truncatedBody":{"type":"boolean","description":"Indicates whether the request body was truncated.\n"},"url":{"type":"string","description":"The URL of the request.\n"}},"type":"object","required":["method","url"]},"impart:index/RuleTestCaseMessageRes:RuleTestCaseMessageRes":{"properties":{"body":{"type":"string","description":"The base64 encoded HTTP response body.\n"},"headerKeys":{"type":"array","items":{"type":"string"},"description":"The HTTP response header keys.\n"},"headerValues":{"type":"array","items":{"type":"string"},"description":"The HTTP response header values.\n"},"statusCode":{"type":"integer","description":"The HTTP response status code.\n"},"truncatedBody":{"type":"boolean","description":"Indicates whether the response body was truncated.\n"}},"type":"object","required":["statusCode"]},"impart:index/SpecLearningConfig:SpecLearningConfig":{"properties":{"includeQueryParams":{"type":"boolean","description":"Include query parameters during spec learning.\n"},"includeRequestBody":{"type":"boolean","description":"Include request body during spec learning.\n"},"includeRequestHeaders":{"type":"boolean","description":"Include request headers during spec learning.\n"},"includeResponseBody":{"type":"boolean","description":"Include response body during spec learning.\n"},"includeResponseHeaders":{"type":"boolean","description":"Include response headers during spec learning.\n"},"learningMode":{"type":"string","description":"Spec learning mode configuration options. Valid values: all, paths*only, paths*custom. Note: When using 'all' or 'paths*only' modes, the include** flags will be preserved in state but are not applicable as the mode overrides these settings.\n"}},"type":"object","required":["learningMode"]}},"provider":{"description":"The provider type for the impart package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"endpoint":{"type":"string","description":"The Impart api endpoint"},"token":{"type":"string","description":"The Impart api token"}},"inputProperties":{"endpoint":{"type":"string","description":"The Impart api endpoint","defaultInfo":{"environment":["IMPART_ENDPOINT"]}},"token":{"type":"string","description":"The Impart api token","defaultInfo":{"environment":["IMPART_TOKEN"]}}},"methods":{"terraformConfig":"pulumi:providers:impart/terraformConfig"}},"resources":{"impart:index/apiBinding:ApiBinding":{"description":"Manage an api binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new api binding\nconst example = new impart.ApiBinding(\"example\", {\n    name: \"api_binding_example\",\n    port: 443,\n    specId: impartSpec.example.id,\n    hostname: \"example.com\",\n    basePath: \"/\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new api binding\nexample = impart.ApiBinding(\"example\",\n    name=\"api_binding_example\",\n    port=443,\n    spec_id=impart_spec[\"example\"][\"id\"],\n    hostname=\"example.com\",\n    base_path=\"/\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new api binding\n    var example = new Impart.ApiBinding(\"example\", new()\n    {\n        Name = \"api_binding_example\",\n        Port = 443,\n        SpecId = impartSpec.Example.Id,\n        Hostname = \"example.com\",\n        BasePath = \"/\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new api binding\n\t\t_, err := impart.NewApiBinding(ctx, \"example\", \u0026impart.ApiBindingArgs{\n\t\t\tName:     pulumi.String(\"api_binding_example\"),\n\t\t\tPort:     pulumi.Int(443),\n\t\t\tSpecId:   pulumi.Any(impartSpec.Example.Id),\n\t\t\tHostname: pulumi.String(\"example.com\"),\n\t\t\tBasePath: pulumi.String(\"/\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.ApiBinding;\nimport com.pulumi.impart.ApiBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new api binding\n        var example = new ApiBinding(\"example\", ApiBindingArgs.builder()\n            .name(\"api_binding_example\")\n            .port(443)\n            .specId(impartSpec.example().id())\n            .hostname(\"example.com\")\n            .basePath(\"/\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new api binding\n  example:\n    type: impart:ApiBinding\n    properties:\n      name: api_binding_example\n      port: 443\n      specId: ${impartSpec.example.id}\n      hostname: example.com\n      basePath: /\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"basePath":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" basePath \" pulumi-lang-dotnet=\" BasePath \" pulumi-lang-go=\" basePath \" pulumi-lang-python=\" base_path \" pulumi-lang-yaml=\" basePath \" pulumi-lang-java=\" basePath \"\u003e base_path \u003c/span\u003efor this api binding.\n"},"disabled":{"type":"boolean","description":"The disabled for this api binding.\n"},"forwardedFors":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedFor \" pulumi-lang-dotnet=\" ForwardedFor \" pulumi-lang-go=\" forwardedFor \" pulumi-lang-python=\" forwarded_for \" pulumi-lang-yaml=\" forwardedFor \" pulumi-lang-java=\" forwardedFor \"\u003e forwarded_for \u003c/span\u003efor this api binding.\n"},"forwardedHosts":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedHost \" pulumi-lang-dotnet=\" ForwardedHost \" pulumi-lang-go=\" forwardedHost \" pulumi-lang-python=\" forwarded_host \" pulumi-lang-yaml=\" forwardedHost \" pulumi-lang-java=\" forwardedHost \"\u003e forwarded_host \u003c/span\u003efor this api binding.\n"},"forwardedIds":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedId \" pulumi-lang-dotnet=\" ForwardedId \" pulumi-lang-go=\" forwardedId \" pulumi-lang-python=\" forwarded_id \" pulumi-lang-yaml=\" forwardedId \" pulumi-lang-java=\" forwardedId \"\u003e forwarded_id \u003c/span\u003efor this api binding.\n"},"forwardedProtos":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedProto \" pulumi-lang-dotnet=\" ForwardedProto \" pulumi-lang-go=\" forwardedProto \" pulumi-lang-python=\" forwarded_proto \" pulumi-lang-yaml=\" forwardedProto \" pulumi-lang-java=\" forwardedProto \"\u003e forwarded_proto \u003c/span\u003efor this api binding.\n"},"hops":{"type":"integer","description":"The hops for this api binding.\n"},"hostname":{"type":"string","description":"The hostname for this api binding.\n"},"name":{"type":"string","description":"The name for this api binding.\n"},"port":{"type":"integer","description":"The port for this api binding.\n"},"specId":{"type":"string","description":"The specification id.\n"},"upstreamOrigin":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" upstreamOrigin \" pulumi-lang-dotnet=\" UpstreamOrigin \" pulumi-lang-go=\" upstreamOrigin \" pulumi-lang-python=\" upstream_origin \" pulumi-lang-yaml=\" upstreamOrigin \" pulumi-lang-java=\" upstreamOrigin \"\u003e upstream_origin \u003c/span\u003efor this api binding.\n"},"useForwarded":{"type":"boolean","description":"The\u003cspan pulumi-lang-nodejs=\" useForwarded \" pulumi-lang-dotnet=\" UseForwarded \" pulumi-lang-go=\" useForwarded \" pulumi-lang-python=\" use_forwarded \" pulumi-lang-yaml=\" useForwarded \" pulumi-lang-java=\" useForwarded \"\u003e use_forwarded \u003c/span\u003efor this api binding.\n"}},"required":["basePath","hostname","name","port","specId"],"inputProperties":{"basePath":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" basePath \" pulumi-lang-dotnet=\" BasePath \" pulumi-lang-go=\" basePath \" pulumi-lang-python=\" base_path \" pulumi-lang-yaml=\" basePath \" pulumi-lang-java=\" basePath \"\u003e base_path \u003c/span\u003efor this api binding.\n"},"disabled":{"type":"boolean","description":"The disabled for this api binding.\n"},"forwardedFors":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedFor \" pulumi-lang-dotnet=\" ForwardedFor \" pulumi-lang-go=\" forwardedFor \" pulumi-lang-python=\" forwarded_for \" pulumi-lang-yaml=\" forwardedFor \" pulumi-lang-java=\" forwardedFor \"\u003e forwarded_for \u003c/span\u003efor this api binding.\n"},"forwardedHosts":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedHost \" pulumi-lang-dotnet=\" ForwardedHost \" pulumi-lang-go=\" forwardedHost \" pulumi-lang-python=\" forwarded_host \" pulumi-lang-yaml=\" forwardedHost \" pulumi-lang-java=\" forwardedHost \"\u003e forwarded_host \u003c/span\u003efor this api binding.\n"},"forwardedIds":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedId \" pulumi-lang-dotnet=\" ForwardedId \" pulumi-lang-go=\" forwardedId \" pulumi-lang-python=\" forwarded_id \" pulumi-lang-yaml=\" forwardedId \" pulumi-lang-java=\" forwardedId \"\u003e forwarded_id \u003c/span\u003efor this api binding.\n"},"forwardedProtos":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedProto \" pulumi-lang-dotnet=\" ForwardedProto \" pulumi-lang-go=\" forwardedProto \" pulumi-lang-python=\" forwarded_proto \" pulumi-lang-yaml=\" forwardedProto \" pulumi-lang-java=\" forwardedProto \"\u003e forwarded_proto \u003c/span\u003efor this api binding.\n"},"hops":{"type":"integer","description":"The hops for this api binding.\n"},"hostname":{"type":"string","description":"The hostname for this api binding.\n"},"name":{"type":"string","description":"The name for this api binding.\n"},"port":{"type":"integer","description":"The port for this api binding.\n"},"specId":{"type":"string","description":"The specification id.\n"},"upstreamOrigin":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" upstreamOrigin \" pulumi-lang-dotnet=\" UpstreamOrigin \" pulumi-lang-go=\" upstreamOrigin \" pulumi-lang-python=\" upstream_origin \" pulumi-lang-yaml=\" upstreamOrigin \" pulumi-lang-java=\" upstreamOrigin \"\u003e upstream_origin \u003c/span\u003efor this api binding.\n"},"useForwarded":{"type":"boolean","description":"The\u003cspan pulumi-lang-nodejs=\" useForwarded \" pulumi-lang-dotnet=\" UseForwarded \" pulumi-lang-go=\" useForwarded \" pulumi-lang-python=\" use_forwarded \" pulumi-lang-yaml=\" useForwarded \" pulumi-lang-java=\" useForwarded \"\u003e use_forwarded \u003c/span\u003efor this api binding.\n"}},"requiredInputs":["basePath","hostname","name","port","specId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApiBinding resources.\n","properties":{"basePath":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" basePath \" pulumi-lang-dotnet=\" BasePath \" pulumi-lang-go=\" basePath \" pulumi-lang-python=\" base_path \" pulumi-lang-yaml=\" basePath \" pulumi-lang-java=\" basePath \"\u003e base_path \u003c/span\u003efor this api binding.\n"},"disabled":{"type":"boolean","description":"The disabled for this api binding.\n"},"forwardedFors":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedFor \" pulumi-lang-dotnet=\" ForwardedFor \" pulumi-lang-go=\" forwardedFor \" pulumi-lang-python=\" forwarded_for \" pulumi-lang-yaml=\" forwardedFor \" pulumi-lang-java=\" forwardedFor \"\u003e forwarded_for \u003c/span\u003efor this api binding.\n"},"forwardedHosts":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedHost \" pulumi-lang-dotnet=\" ForwardedHost \" pulumi-lang-go=\" forwardedHost \" pulumi-lang-python=\" forwarded_host \" pulumi-lang-yaml=\" forwardedHost \" pulumi-lang-java=\" forwardedHost \"\u003e forwarded_host \u003c/span\u003efor this api binding.\n"},"forwardedIds":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedId \" pulumi-lang-dotnet=\" ForwardedId \" pulumi-lang-go=\" forwardedId \" pulumi-lang-python=\" forwarded_id \" pulumi-lang-yaml=\" forwardedId \" pulumi-lang-java=\" forwardedId \"\u003e forwarded_id \u003c/span\u003efor this api binding.\n"},"forwardedProtos":{"type":"array","items":{"type":"string"},"description":"The\u003cspan pulumi-lang-nodejs=\" forwardedProto \" pulumi-lang-dotnet=\" ForwardedProto \" pulumi-lang-go=\" forwardedProto \" pulumi-lang-python=\" forwarded_proto \" pulumi-lang-yaml=\" forwardedProto \" pulumi-lang-java=\" forwardedProto \"\u003e forwarded_proto \u003c/span\u003efor this api binding.\n"},"hops":{"type":"integer","description":"The hops for this api binding.\n"},"hostname":{"type":"string","description":"The hostname for this api binding.\n"},"name":{"type":"string","description":"The name for this api binding.\n"},"port":{"type":"integer","description":"The port for this api binding.\n"},"specId":{"type":"string","description":"The specification id.\n"},"upstreamOrigin":{"type":"string","description":"The\u003cspan pulumi-lang-nodejs=\" upstreamOrigin \" pulumi-lang-dotnet=\" UpstreamOrigin \" pulumi-lang-go=\" upstreamOrigin \" pulumi-lang-python=\" upstream_origin \" pulumi-lang-yaml=\" upstreamOrigin \" pulumi-lang-java=\" upstreamOrigin \"\u003e upstream_origin \u003c/span\u003efor this api binding.\n"},"useForwarded":{"type":"boolean","description":"The\u003cspan pulumi-lang-nodejs=\" useForwarded \" pulumi-lang-dotnet=\" UseForwarded \" pulumi-lang-go=\" useForwarded \" pulumi-lang-python=\" use_forwarded \" pulumi-lang-yaml=\" useForwarded \" pulumi-lang-java=\" useForwarded \"\u003e use_forwarded \u003c/span\u003efor this api binding.\n"}},"type":"object"}},"impart:index/coreRuleConfig:CoreRuleConfig":{"description":"Manage a core rule configuration.\n","properties":{"config":{"type":"string","description":"the core rule configuration.\n"},"disabled":{"type":"boolean","description":"Set true to disable the core rule.\n"},"slug":{"type":"string","description":"The slug for the core rule.\n"}},"required":["config","disabled","slug"],"inputProperties":{"config":{"type":"string","description":"the core rule configuration.\n"},"disabled":{"type":"boolean","description":"Set true to disable the core rule.\n"},"slug":{"type":"string","description":"The slug for the core rule.\n"}},"requiredInputs":["config","disabled","slug"],"stateInputs":{"description":"Input properties used for looking up and filtering CoreRuleConfig resources.\n","properties":{"config":{"type":"string","description":"the core rule configuration.\n"},"disabled":{"type":"boolean","description":"Set true to disable the core rule.\n"},"slug":{"type":"string","description":"The slug for the core rule.\n"}},"type":"object"}},"impart:index/externalLink:ExternalLink":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new external link\nconst externalLink1 = new impart.ExternalLink(\"external_link1\", {\n    name: \"Datadog client IP address\",\n    description: \"A link to Datadog dashboard for client IP address\",\n    url: \"https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\",\n    entity: \"request\",\n    jsonPathElement: \"$.client_ip.address\",\n    vendor: \"Datadog\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new external link\nexternal_link1 = impart.ExternalLink(\"external_link1\",\n    name=\"Datadog client IP address\",\n    description=\"A link to Datadog dashboard for client IP address\",\n    url=\"https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\",\n    entity=\"request\",\n    json_path_element=\"$.client_ip.address\",\n    vendor=\"Datadog\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new external link\n    var externalLink1 = new Impart.ExternalLink(\"external_link1\", new()\n    {\n        Name = \"Datadog client IP address\",\n        Description = \"A link to Datadog dashboard for client IP address\",\n        Url = \"https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\",\n        Entity = \"request\",\n        JsonPathElement = \"$.client_ip.address\",\n        Vendor = \"Datadog\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new external link\n\t\t_, err := impart.NewExternalLink(ctx, \"external_link1\", \u0026impart.ExternalLinkArgs{\n\t\t\tName:            pulumi.String(\"Datadog client IP address\"),\n\t\t\tDescription:     pulumi.String(\"A link to Datadog dashboard for client IP address\"),\n\t\t\tUrl:             pulumi.String(\"https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\"),\n\t\t\tEntity:          pulumi.String(\"request\"),\n\t\t\tJsonPathElement: pulumi.String(\"$.client_ip.address\"),\n\t\t\tVendor:          pulumi.String(\"Datadog\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.ExternalLink;\nimport com.pulumi.impart.ExternalLinkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new external link\n        var externalLink1 = new ExternalLink(\"externalLink1\", ExternalLinkArgs.builder()\n            .name(\"Datadog client IP address\")\n            .description(\"A link to Datadog dashboard for client IP address\")\n            .url(\"https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\")\n            .entity(\"request\")\n            .jsonPathElement(\"$.client_ip.address\")\n            .vendor(\"Datadog\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new external link\n  externalLink1:\n    type: impart:ExternalLink\n    name: external_link1\n    properties:\n      name: Datadog client IP address\n      description: A link to Datadog dashboard for client IP address\n      url: https://app.datadoghq.com/dashboard/3tm-mpc-863?tpl_var_ClientIp=9.37.130.233\n      entity: request\n      jsonPathElement: $.client_ip.address\n      vendor: Datadog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description of the external link.\n"},"entity":{"type":"string","description":"The entity to which the links should be applied.\n"},"jsonPathElement":{"type":"string","description":"A JSONPath to the element for which this link should apply (e.g. $.client_ip.address).\n"},"name":{"type":"string","description":"The name of the external link.\n"},"specIds":{"type":"array","items":{"type":"string"},"description":"A list of spec IDs this external link applies to (empty means all).\n"},"url":{"type":"string","description":"The external URL template with JSONPath element variables.\n"},"vendor":{"type":"string","description":"The vendor for the external link.\n"}},"required":["entity","jsonPathElement","name","url","vendor"],"inputProperties":{"description":{"type":"string","description":"The description of the external link.\n"},"entity":{"type":"string","description":"The entity to which the links should be applied.\n"},"jsonPathElement":{"type":"string","description":"A JSONPath to the element for which this link should apply (e.g. $.client_ip.address).\n"},"name":{"type":"string","description":"The name of the external link.\n"},"specIds":{"type":"array","items":{"type":"string"},"description":"A list of spec IDs this external link applies to (empty means all).\n"},"url":{"type":"string","description":"The external URL template with JSONPath element variables.\n"},"vendor":{"type":"string","description":"The vendor for the external link.\n"}},"requiredInputs":["entity","jsonPathElement","name","url","vendor"],"stateInputs":{"description":"Input properties used for looking up and filtering ExternalLink resources.\n","properties":{"description":{"type":"string","description":"The description of the external link.\n"},"entity":{"type":"string","description":"The entity to which the links should be applied.\n"},"jsonPathElement":{"type":"string","description":"A JSONPath to the element for which this link should apply (e.g. $.client_ip.address).\n"},"name":{"type":"string","description":"The name of the external link.\n"},"specIds":{"type":"array","items":{"type":"string"},"description":"A list of spec IDs this external link applies to (empty means all).\n"},"url":{"type":"string","description":"The external URL template with JSONPath element variables.\n"},"vendor":{"type":"string","description":"The vendor for the external link.\n"}},"type":"object"}},"impart:index/label:Label":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new label\nconst example = new impart.Label(\"example\", {\n    slug: \"example\",\n    displayName: \"Example\",\n    description: \"example label\",\n    color: \"red\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new label\nexample = impart.Label(\"example\",\n    slug=\"example\",\n    display_name=\"Example\",\n    description=\"example label\",\n    color=\"red\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new label\n    var example = new Impart.Label(\"example\", new()\n    {\n        Slug = \"example\",\n        DisplayName = \"Example\",\n        Description = \"example label\",\n        Color = \"red\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new label\n\t\t_, err := impart.NewLabel(ctx, \"example\", \u0026impart.LabelArgs{\n\t\t\tSlug:        pulumi.String(\"example\"),\n\t\t\tDisplayName: pulumi.String(\"Example\"),\n\t\t\tDescription: pulumi.String(\"example label\"),\n\t\t\tColor:       pulumi.String(\"red\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.Label;\nimport com.pulumi.impart.LabelArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new label\n        var example = new Label(\"example\", LabelArgs.builder()\n            .slug(\"example\")\n            .displayName(\"Example\")\n            .description(\"example label\")\n            .color(\"red\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new label\n  example:\n    type: impart:Label\n    properties:\n      slug: example\n      displayName: Example\n      description: example label\n      color: red\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"color":{"type":"string","description":"The color of the label.\n"},"description":{"type":"string","description":"The description of the label.\n"},"displayName":{"type":"string","description":"The display name of the label.\n"},"slug":{"type":"string","description":"Slug of the label.\n"}},"required":["slug"],"inputProperties":{"color":{"type":"string","description":"The color of the label.\n"},"description":{"type":"string","description":"The description of the label.\n"},"displayName":{"type":"string","description":"The display name of the label.\n"},"slug":{"type":"string","description":"Slug of the label.\n"}},"requiredInputs":["slug"],"stateInputs":{"description":"Input properties used for looking up and filtering Label resources.\n","properties":{"color":{"type":"string","description":"The color of the label.\n"},"description":{"type":"string","description":"The description of the label.\n"},"displayName":{"type":"string","description":"The display name of the label.\n"},"slug":{"type":"string","description":"Slug of the label.\n"}},"type":"object"}},"impart:index/list:List":{"description":"Manage a list.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new string list\nconst example = new impart.List(\"example\", {\n    name: \"list_example\",\n    kind: \"string\",\n    description: \"list description\",\n    items: [\n        {\n            value: \"item1\",\n        },\n        {\n            value: \"item2\",\n        },\n    ],\n});\n// Create a regex pattern list\nconst regexExample = new impart.List(\"regex_example\", {\n    name: \"regex_list_example\",\n    kind: \"regex\",\n    description: \"A list of regex patterns for matching\",\n    items: [\n        {\n            value: \"^/api/v[0-9]+/users/.*$\",\n        },\n        {\n            value: \"\\\\.(php|asp|aspx)$\",\n        },\n    ],\n});\n// Create an Aho-Corasick pattern list\nconst ahoCorasickExample = new impart.List(\"aho_corasick_example\", {\n    name: \"aho_corasick_list_example\",\n    kind: \"aho_corasick\",\n    description: \"A list of patterns for Aho-Corasick matching\",\n    items: [\n        {\n            value: \"SELECT * FROM\",\n        },\n        {\n            value: \"DROP TABLE\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new string list\nexample = impart.List(\"example\",\n    name=\"list_example\",\n    kind=\"string\",\n    description=\"list description\",\n    items=[\n        {\n            \"value\": \"item1\",\n        },\n        {\n            \"value\": \"item2\",\n        },\n    ])\n# Create a regex pattern list\nregex_example = impart.List(\"regex_example\",\n    name=\"regex_list_example\",\n    kind=\"regex\",\n    description=\"A list of regex patterns for matching\",\n    items=[\n        {\n            \"value\": \"^/api/v[0-9]+/users/.*$\",\n        },\n        {\n            \"value\": \"\\\\.(php|asp|aspx)$\",\n        },\n    ])\n# Create an Aho-Corasick pattern list\naho_corasick_example = impart.List(\"aho_corasick_example\",\n    name=\"aho_corasick_list_example\",\n    kind=\"aho_corasick\",\n    description=\"A list of patterns for Aho-Corasick matching\",\n    items=[\n        {\n            \"value\": \"SELECT * FROM\",\n        },\n        {\n            \"value\": \"DROP TABLE\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new string list\n    var example = new Impart.List(\"example\", new()\n    {\n        Name = \"list_example\",\n        Kind = \"string\",\n        Description = \"list description\",\n        Items = new[]\n        {\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"item1\",\n            },\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"item2\",\n            },\n        },\n    });\n\n    // Create a regex pattern list\n    var regexExample = new Impart.List(\"regex_example\", new()\n    {\n        Name = \"regex_list_example\",\n        Kind = \"regex\",\n        Description = \"A list of regex patterns for matching\",\n        Items = new[]\n        {\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"^/api/v[0-9]+/users/.*$\",\n            },\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"\\\\.(php|asp|aspx)$\",\n            },\n        },\n    });\n\n    // Create an Aho-Corasick pattern list\n    var ahoCorasickExample = new Impart.List(\"aho_corasick_example\", new()\n    {\n        Name = \"aho_corasick_list_example\",\n        Kind = \"aho_corasick\",\n        Description = \"A list of patterns for Aho-Corasick matching\",\n        Items = new[]\n        {\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"SELECT * FROM\",\n            },\n            new Impart.Inputs.ListItemArgs\n            {\n                Value = \"DROP TABLE\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new string list\n\t\t_, err := impart.NewList(ctx, \"example\", \u0026impart.ListArgs{\n\t\t\tName:        pulumi.String(\"list_example\"),\n\t\t\tKind:        pulumi.String(\"string\"),\n\t\t\tDescription: pulumi.String(\"list description\"),\n\t\t\tItems: impart.ListItemArray{\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"item1\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"item2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a regex pattern list\n\t\t_, err = impart.NewList(ctx, \"regex_example\", \u0026impart.ListArgs{\n\t\t\tName:        pulumi.String(\"regex_list_example\"),\n\t\t\tKind:        pulumi.String(\"regex\"),\n\t\t\tDescription: pulumi.String(\"A list of regex patterns for matching\"),\n\t\t\tItems: impart.ListItemArray{\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"^/api/v[0-9]+/users/.*$\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"\\\\.(php|asp|aspx)$\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create an Aho-Corasick pattern list\n\t\t_, err = impart.NewList(ctx, \"aho_corasick_example\", \u0026impart.ListArgs{\n\t\t\tName:        pulumi.String(\"aho_corasick_list_example\"),\n\t\t\tKind:        pulumi.String(\"aho_corasick\"),\n\t\t\tDescription: pulumi.String(\"A list of patterns for Aho-Corasick matching\"),\n\t\t\tItems: impart.ListItemArray{\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"SELECT * FROM\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.ListItemArgs{\n\t\t\t\t\tValue: pulumi.String(\"DROP TABLE\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.List;\nimport com.pulumi.impart.ListArgs;\nimport com.pulumi.impart.inputs.ListItemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new string list\n        var example = new List(\"example\", ListArgs.builder()\n            .name(\"list_example\")\n            .kind(\"string\")\n            .description(\"list description\")\n            .items(            \n                ListItemArgs.builder()\n                    .value(\"item1\")\n                    .build(),\n                ListItemArgs.builder()\n                    .value(\"item2\")\n                    .build())\n            .build());\n\n        // Create a regex pattern list\n        var regexExample = new List(\"regexExample\", ListArgs.builder()\n            .name(\"regex_list_example\")\n            .kind(\"regex\")\n            .description(\"A list of regex patterns for matching\")\n            .items(            \n                ListItemArgs.builder()\n                    .value(\"^/api/v[0-9]+/users/.*$\")\n                    .build(),\n                ListItemArgs.builder()\n                    .value(\"\\\\.(php|asp|aspx)$\")\n                    .build())\n            .build());\n\n        // Create an Aho-Corasick pattern list\n        var ahoCorasickExample = new List(\"ahoCorasickExample\", ListArgs.builder()\n            .name(\"aho_corasick_list_example\")\n            .kind(\"aho_corasick\")\n            .description(\"A list of patterns for Aho-Corasick matching\")\n            .items(            \n                ListItemArgs.builder()\n                    .value(\"SELECT * FROM\")\n                    .build(),\n                ListItemArgs.builder()\n                    .value(\"DROP TABLE\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new string list\n  example:\n    type: impart:List\n    properties:\n      name: list_example\n      kind: string\n      description: list description\n      items:\n        - value: item1\n        - value: item2\n  # Create a regex pattern list\n  regexExample:\n    type: impart:List\n    name: regex_example\n    properties:\n      name: regex_list_example\n      kind: regex\n      description: A list of regex patterns for matching\n      items:\n        - value: ^/api/v[0-9]+/users/.*$\n        - value: \\.(php|asp|aspx)$\n  # Create an Aho-Corasick pattern list\n  ahoCorasickExample:\n    type: impart:List\n    name: aho_corasick_example\n    properties:\n      name: aho_corasick_list_example\n      kind: aho_corasick\n      description: A list of patterns for Aho-Corasick matching\n      items:\n        - value: SELECT * FROM\n        - value: DROP TABLE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description for this list.\n"},"functionality":{"type":"string","description":"The list functionality. Allowed values are add, add/remove, and none (cloud managed).\n"},"items":{"type":"array","items":{"$ref":"#/types/impart:index/ListItem:ListItem"},"description":"The list items.\n"},"kind":{"type":"string","description":"The list kind.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this list.\n"},"subkind":{"type":"string","description":"The list subkind.\n"}},"required":["kind","name"],"inputProperties":{"description":{"type":"string","description":"The description for this list.\n"},"functionality":{"type":"string","description":"The list functionality. Allowed values are add, add/remove, and none (cloud managed).\n"},"items":{"type":"array","items":{"$ref":"#/types/impart:index/ListItem:ListItem"},"description":"The list items.\n"},"kind":{"type":"string","description":"The list kind.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this list.\n"},"subkind":{"type":"string","description":"The list subkind.\n"}},"requiredInputs":["kind","name"],"stateInputs":{"description":"Input properties used for looking up and filtering List resources.\n","properties":{"description":{"type":"string","description":"The description for this list.\n"},"functionality":{"type":"string","description":"The list functionality. Allowed values are add, add/remove, and none (cloud managed).\n"},"items":{"type":"array","items":{"$ref":"#/types/impart:index/ListItem:ListItem"},"description":"The list items.\n"},"kind":{"type":"string","description":"The list kind.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this list.\n"},"subkind":{"type":"string","description":"The list subkind.\n"}},"type":"object"}},"impart:index/logBinding:LogBinding":{"description":"Manage a log binding.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new log binding\nconst example = new impart.LogBinding(\"example\", {\n    name: \"log_binding_example\",\n    patternType: \"grok\",\n    pattern: \"\u003cpattern\u003e\\n\",\n    logstreamId: \"logstream_id\",\n    specId: impartSpec.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new log binding\nexample = impart.LogBinding(\"example\",\n    name=\"log_binding_example\",\n    pattern_type=\"grok\",\n    pattern=\"\u003cpattern\u003e\\n\",\n    logstream_id=\"logstream_id\",\n    spec_id=impart_spec[\"example\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new log binding\n    var example = new Impart.LogBinding(\"example\", new()\n    {\n        Name = \"log_binding_example\",\n        PatternType = \"grok\",\n        Pattern = @\"\u003cpattern\u003e\n\",\n        LogstreamId = \"logstream_id\",\n        SpecId = impartSpec.Example.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new log binding\n\t\t_, err := impart.NewLogBinding(ctx, \"example\", \u0026impart.LogBindingArgs{\n\t\t\tName:        pulumi.String(\"log_binding_example\"),\n\t\t\tPatternType: pulumi.String(\"grok\"),\n\t\t\tPattern:     pulumi.String(\"\u003cpattern\u003e\\n\"),\n\t\t\tLogstreamId: pulumi.String(\"logstream_id\"),\n\t\t\tSpecId:      pulumi.Any(impartSpec.Example.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.LogBinding;\nimport com.pulumi.impart.LogBindingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new log binding\n        var example = new LogBinding(\"example\", LogBindingArgs.builder()\n            .name(\"log_binding_example\")\n            .patternType(\"grok\")\n            .pattern(\"\"\"\n\u003cpattern\u003e\n            \"\"\")\n            .logstreamId(\"logstream_id\")\n            .specId(impartSpec.example().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new log binding\n  example:\n    type: impart:LogBinding\n    properties:\n      name: log_binding_example\n      patternType: grok\n      pattern: |\n        \u003cpattern\u003e\n      logstreamId: logstream_id\n      specId: ${impartSpec.example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"logstreamId":{"type":"string","description":"The logstream id for this log binding.\n"},"name":{"type":"string","description":"The name for this log binding.\n"},"pattern":{"type":"string","description":"The grok/json pattern for this log binding.\n"},"patternType":{"type":"string","description":"The pattern type for this log binding. Accepted values: grok, json\n"},"specId":{"type":"string","description":"The specification id.\n"}},"required":["name","pattern","patternType","specId"],"inputProperties":{"logstreamId":{"type":"string","description":"The logstream id for this log binding.\n"},"name":{"type":"string","description":"The name for this log binding.\n"},"pattern":{"type":"string","description":"The grok/json pattern for this log binding.\n"},"patternType":{"type":"string","description":"The pattern type for this log binding. Accepted values: grok, json\n"},"specId":{"type":"string","description":"The specification id.\n"}},"requiredInputs":["name","pattern","patternType","specId"],"stateInputs":{"description":"Input properties used for looking up and filtering LogBinding resources.\n","properties":{"logstreamId":{"type":"string","description":"The logstream id for this log binding.\n"},"name":{"type":"string","description":"The name for this log binding.\n"},"pattern":{"type":"string","description":"The grok/json pattern for this log binding.\n"},"patternType":{"type":"string","description":"The pattern type for this log binding. Accepted values: grok, json\n"},"specId":{"type":"string","description":"The specification id.\n"}},"type":"object"}},"impart:index/monitor:Monitor":{"description":"Manage a monitor.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new event monitor\nconst testEvent = new impart.Monitor(\"test_event\", {\n    name: \"terraform_event_monitor\",\n    description: \"test event monitor\",\n    notificationTemplateIds: [\"\u003cnotification_template_id\u003e\"],\n    conditions: [{\n        threshold: 1,\n        comparator: \"gt\",\n        timePeriod: 60000,\n        delay: 0,\n        details: {\n            type: \"event\",\n            action: \"api_access_token_created\",\n            subjectType: \"api_access_token_id\",\n            actorType: \"user_id\",\n        },\n    }],\n});\n// Create a new metric monitor\nconst testMetric = new impart.Monitor(\"test_metric\", {\n    name: \"terraform_event_monitor\",\n    description: \"test event monitor\",\n    notificationTemplateIds: [\"\u003cnotification_template_id\u003e\"],\n    conditions: [{\n        threshold: 1,\n        comparator: \"lt\",\n        timePeriod: 60000,\n        delay: 0,\n        details: {\n            type: \"metric\",\n            tag: \"http-request\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new event monitor\ntest_event = impart.Monitor(\"test_event\",\n    name=\"terraform_event_monitor\",\n    description=\"test event monitor\",\n    notification_template_ids=[\"\u003cnotification_template_id\u003e\"],\n    conditions=[{\n        \"threshold\": 1,\n        \"comparator\": \"gt\",\n        \"time_period\": 60000,\n        \"delay\": 0,\n        \"details\": {\n            \"type\": \"event\",\n            \"action\": \"api_access_token_created\",\n            \"subject_type\": \"api_access_token_id\",\n            \"actor_type\": \"user_id\",\n        },\n    }])\n# Create a new metric monitor\ntest_metric = impart.Monitor(\"test_metric\",\n    name=\"terraform_event_monitor\",\n    description=\"test event monitor\",\n    notification_template_ids=[\"\u003cnotification_template_id\u003e\"],\n    conditions=[{\n        \"threshold\": 1,\n        \"comparator\": \"lt\",\n        \"time_period\": 60000,\n        \"delay\": 0,\n        \"details\": {\n            \"type\": \"metric\",\n            \"tag\": \"http-request\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new event monitor\n    var testEvent = new Impart.Monitor(\"test_event\", new()\n    {\n        Name = \"terraform_event_monitor\",\n        Description = \"test event monitor\",\n        NotificationTemplateIds = new[]\n        {\n            \"\u003cnotification_template_id\u003e\",\n        },\n        Conditions = new[]\n        {\n            new Impart.Inputs.MonitorConditionArgs\n            {\n                Threshold = 1,\n                Comparator = \"gt\",\n                TimePeriod = 60000,\n                Delay = 0,\n                Details = new Impart.Inputs.MonitorConditionDetailsArgs\n                {\n                    Type = \"event\",\n                    Action = \"api_access_token_created\",\n                    SubjectType = \"api_access_token_id\",\n                    ActorType = \"user_id\",\n                },\n            },\n        },\n    });\n\n    // Create a new metric monitor\n    var testMetric = new Impart.Monitor(\"test_metric\", new()\n    {\n        Name = \"terraform_event_monitor\",\n        Description = \"test event monitor\",\n        NotificationTemplateIds = new[]\n        {\n            \"\u003cnotification_template_id\u003e\",\n        },\n        Conditions = new[]\n        {\n            new Impart.Inputs.MonitorConditionArgs\n            {\n                Threshold = 1,\n                Comparator = \"lt\",\n                TimePeriod = 60000,\n                Delay = 0,\n                Details = new Impart.Inputs.MonitorConditionDetailsArgs\n                {\n                    Type = \"metric\",\n                    Tag = \"http-request\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new event monitor\n\t\t_, err := impart.NewMonitor(ctx, \"test_event\", \u0026impart.MonitorArgs{\n\t\t\tName:        pulumi.String(\"terraform_event_monitor\"),\n\t\t\tDescription: pulumi.String(\"test event monitor\"),\n\t\t\tNotificationTemplateIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003cnotification_template_id\u003e\"),\n\t\t\t},\n\t\t\tConditions: impart.MonitorConditionArray{\n\t\t\t\t\u0026impart.MonitorConditionArgs{\n\t\t\t\t\tThreshold:  pulumi.Int(1),\n\t\t\t\t\tComparator: pulumi.String(\"gt\"),\n\t\t\t\t\tTimePeriod: pulumi.Int(60000),\n\t\t\t\t\tDelay:      pulumi.Int(0),\n\t\t\t\t\tDetails: \u0026impart.MonitorConditionDetailsArgs{\n\t\t\t\t\t\tType:        pulumi.String(\"event\"),\n\t\t\t\t\t\tAction:      pulumi.String(\"api_access_token_created\"),\n\t\t\t\t\t\tSubjectType: pulumi.String(\"api_access_token_id\"),\n\t\t\t\t\t\tActorType:   pulumi.String(\"user_id\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new metric monitor\n\t\t_, err = impart.NewMonitor(ctx, \"test_metric\", \u0026impart.MonitorArgs{\n\t\t\tName:        pulumi.String(\"terraform_event_monitor\"),\n\t\t\tDescription: pulumi.String(\"test event monitor\"),\n\t\t\tNotificationTemplateIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003cnotification_template_id\u003e\"),\n\t\t\t},\n\t\t\tConditions: impart.MonitorConditionArray{\n\t\t\t\t\u0026impart.MonitorConditionArgs{\n\t\t\t\t\tThreshold:  pulumi.Int(1),\n\t\t\t\t\tComparator: pulumi.String(\"lt\"),\n\t\t\t\t\tTimePeriod: pulumi.Int(60000),\n\t\t\t\t\tDelay:      pulumi.Int(0),\n\t\t\t\t\tDetails: \u0026impart.MonitorConditionDetailsArgs{\n\t\t\t\t\t\tType: pulumi.String(\"metric\"),\n\t\t\t\t\t\tTag:  pulumi.String(\"http-request\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.Monitor;\nimport com.pulumi.impart.MonitorArgs;\nimport com.pulumi.impart.inputs.MonitorConditionArgs;\nimport com.pulumi.impart.inputs.MonitorConditionDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new event monitor\n        var testEvent = new Monitor(\"testEvent\", MonitorArgs.builder()\n            .name(\"terraform_event_monitor\")\n            .description(\"test event monitor\")\n            .notificationTemplateIds(\"\u003cnotification_template_id\u003e\")\n            .conditions(MonitorConditionArgs.builder()\n                .threshold(1)\n                .comparator(\"gt\")\n                .timePeriod(60000)\n                .delay(0)\n                .details(MonitorConditionDetailsArgs.builder()\n                    .type(\"event\")\n                    .action(\"api_access_token_created\")\n                    .subjectType(\"api_access_token_id\")\n                    .actorType(\"user_id\")\n                    .build())\n                .build())\n            .build());\n\n        // Create a new metric monitor\n        var testMetric = new Monitor(\"testMetric\", MonitorArgs.builder()\n            .name(\"terraform_event_monitor\")\n            .description(\"test event monitor\")\n            .notificationTemplateIds(\"\u003cnotification_template_id\u003e\")\n            .conditions(MonitorConditionArgs.builder()\n                .threshold(1)\n                .comparator(\"lt\")\n                .timePeriod(60000)\n                .delay(0)\n                .details(MonitorConditionDetailsArgs.builder()\n                    .type(\"metric\")\n                    .tag(\"http-request\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new event monitor\n  testEvent:\n    type: impart:Monitor\n    name: test_event\n    properties:\n      name: terraform_event_monitor\n      description: test event monitor\n      notificationTemplateIds:\n        - \u003cnotification_template_id\u003e\n      conditions:\n        - threshold: 1\n          comparator: gt\n          timePeriod: 60000\n          delay: 0\n          details:\n            type: event\n            action: api_access_token_created\n            subjectType: api_access_token_id\n            actorType: user_id\n  # Create a new metric monitor\n  testMetric:\n    type: impart:Monitor\n    name: test_metric\n    properties:\n      name: terraform_event_monitor\n      description: test event monitor\n      notificationTemplateIds:\n        - \u003cnotification_template_id\u003e\n      conditions:\n        - threshold: 1\n          comparator: lt\n          timePeriod: 60000\n          delay: 0\n          details:\n            type: metric\n            tag: http-request\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"conditions":{"type":"array","items":{"$ref":"#/types/impart:index/MonitorCondition:MonitorCondition"},"description":"An array of conditions for which the monitor will trigger.\n"},"description":{"type":"string","description":"The description for this monitor.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this monitor.\n"},"notificationTemplateIds":{"type":"array","items":{"type":"string"},"description":"An array of notification template ids for the templates that will send notifications to their respective connectors.\n"}},"required":["conditions","description","name","notificationTemplateIds"],"inputProperties":{"conditions":{"type":"array","items":{"$ref":"#/types/impart:index/MonitorCondition:MonitorCondition"},"description":"An array of conditions for which the monitor will trigger.\n"},"description":{"type":"string","description":"The description for this monitor.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this monitor.\n"},"notificationTemplateIds":{"type":"array","items":{"type":"string"},"description":"An array of notification template ids for the templates that will send notifications to their respective connectors.\n"}},"requiredInputs":["conditions","description","name","notificationTemplateIds"],"stateInputs":{"description":"Input properties used for looking up and filtering Monitor resources.\n","properties":{"conditions":{"type":"array","items":{"$ref":"#/types/impart:index/MonitorCondition:MonitorCondition"},"description":"An array of conditions for which the monitor will trigger.\n"},"description":{"type":"string","description":"The description for this monitor.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this monitor.\n"},"notificationTemplateIds":{"type":"array","items":{"type":"string"},"description":"An array of notification template ids for the templates that will send notifications to their respective connectors.\n"}},"type":"object"}},"impart:index/notificationTemplate:NotificationTemplate":{"description":"Manage an notification template.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new notification template\nconst example = new impart.NotificationTemplate(\"example\", {\n    name: \"notification_template_example\",\n    connectorId: \"\u003cexample_connector.id\u003e\",\n    payload: \"This is a test message payload\",\n    subject: \"Test subject\",\n    destinations: [\"test-destination-id\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new notification template\nexample = impart.NotificationTemplate(\"example\",\n    name=\"notification_template_example\",\n    connector_id=\"\u003cexample_connector.id\u003e\",\n    payload=\"This is a test message payload\",\n    subject=\"Test subject\",\n    destinations=[\"test-destination-id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new notification template\n    var example = new Impart.NotificationTemplate(\"example\", new()\n    {\n        Name = \"notification_template_example\",\n        ConnectorId = \"\u003cexample_connector.id\u003e\",\n        Payload = \"This is a test message payload\",\n        Subject = \"Test subject\",\n        Destinations = new[]\n        {\n            \"test-destination-id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new notification template\n\t\t_, err := impart.NewNotificationTemplate(ctx, \"example\", \u0026impart.NotificationTemplateArgs{\n\t\t\tName:        pulumi.String(\"notification_template_example\"),\n\t\t\tConnectorId: pulumi.String(\"\u003cexample_connector.id\u003e\"),\n\t\t\tPayload:     pulumi.String(\"This is a test message payload\"),\n\t\t\tSubject:     pulumi.String(\"Test subject\"),\n\t\t\tDestinations: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test-destination-id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.NotificationTemplate;\nimport com.pulumi.impart.NotificationTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new notification template\n        var example = new NotificationTemplate(\"example\", NotificationTemplateArgs.builder()\n            .name(\"notification_template_example\")\n            .connectorId(\"\u003cexample_connector.id\u003e\")\n            .payload(\"This is a test message payload\")\n            .subject(\"Test subject\")\n            .destinations(\"test-destination-id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new notification template\n  example:\n    type: impart:NotificationTemplate\n    properties:\n      name: notification_template_example\n      connectorId: \u003cexample_connector.id\u003e\n      payload: This is a test message payload\n      subject: Test subject\n      destinations:\n        - test-destination-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"connectorId":{"type":"string","description":"The connector id.\n"},"destinations":{"type":"array","items":{"type":"string"},"description":"An array of destination ids to which the payloads will be sent.\n"},"name":{"type":"string","description":"The name for this notification template.\n"},"payload":{"type":"string","description":"The payload message that will be sent to the Third Party API.\n"},"subject":{"type":"string","description":"The subject message that will be sent to the Third Party API.\n"}},"required":["connectorId","destinations","name","payload","subject"],"inputProperties":{"connectorId":{"type":"string","description":"The connector id.\n"},"destinations":{"type":"array","items":{"type":"string"},"description":"An array of destination ids to which the payloads will be sent.\n"},"name":{"type":"string","description":"The name for this notification template.\n"},"payload":{"type":"string","description":"The payload message that will be sent to the Third Party API.\n"},"subject":{"type":"string","description":"The subject message that will be sent to the Third Party API.\n"}},"requiredInputs":["connectorId","destinations","name","payload","subject"],"stateInputs":{"description":"Input properties used for looking up and filtering NotificationTemplate resources.\n","properties":{"connectorId":{"type":"string","description":"The connector id.\n"},"destinations":{"type":"array","items":{"type":"string"},"description":"An array of destination ids to which the payloads will be sent.\n"},"name":{"type":"string","description":"The name for this notification template.\n"},"payload":{"type":"string","description":"The payload message that will be sent to the Third Party API.\n"},"subject":{"type":"string","description":"The subject message that will be sent to the Third Party API.\n"}},"type":"object"}},"impart:index/rule:Rule":{"description":"Manage a rule.\n\n","properties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"},"type":{"type":"string","description":"The type of the rule. Allowed values: script, recipe.\n"}},"required":["disabled","name","type"],"inputProperties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"},"type":{"type":"string","description":"The type of the rule. Allowed values: script, recipe.\n"}},"requiredInputs":["disabled","name","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Rule resources.\n","properties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"},"type":{"type":"string","description":"The type of the rule. Allowed values: script, recipe.\n"}},"type":"object"}},"impart:index/ruleClientIdentifier:RuleClientIdentifier":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new rule client identifier\nconst clientIdentifier = new impart.RuleClientIdentifier(\"client_identifier\", {\n    name: \"client identifier\",\n    description: \"terraform client identifier\",\n    hashFields: [\n        {\n            field: \"header_value\",\n            key: \"Authorization\",\n        },\n        {\n            field: \"client_ip\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new rule client identifier\nclient_identifier = impart.RuleClientIdentifier(\"client_identifier\",\n    name=\"client identifier\",\n    description=\"terraform client identifier\",\n    hash_fields=[\n        {\n            \"field\": \"header_value\",\n            \"key\": \"Authorization\",\n        },\n        {\n            \"field\": \"client_ip\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new rule client identifier\n    var clientIdentifier = new Impart.RuleClientIdentifier(\"client_identifier\", new()\n    {\n        Name = \"client identifier\",\n        Description = \"terraform client identifier\",\n        HashFields = new[]\n        {\n            new Impart.Inputs.RuleClientIdentifierHashFieldArgs\n            {\n                Field = \"header_value\",\n                Key = \"Authorization\",\n            },\n            new Impart.Inputs.RuleClientIdentifierHashFieldArgs\n            {\n                Field = \"client_ip\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rule client identifier\n\t\t_, err := impart.NewRuleClientIdentifier(ctx, \"client_identifier\", \u0026impart.RuleClientIdentifierArgs{\n\t\t\tName:        pulumi.String(\"client identifier\"),\n\t\t\tDescription: pulumi.String(\"terraform client identifier\"),\n\t\t\tHashFields: impart.RuleClientIdentifierHashFieldArray{\n\t\t\t\t\u0026impart.RuleClientIdentifierHashFieldArgs{\n\t\t\t\t\tField: pulumi.String(\"header_value\"),\n\t\t\t\t\tKey:   pulumi.String(\"Authorization\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.RuleClientIdentifierHashFieldArgs{\n\t\t\t\t\tField: pulumi.String(\"client_ip\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.RuleClientIdentifier;\nimport com.pulumi.impart.RuleClientIdentifierArgs;\nimport com.pulumi.impart.inputs.RuleClientIdentifierHashFieldArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new rule client identifier\n        var clientIdentifier = new RuleClientIdentifier(\"clientIdentifier\", RuleClientIdentifierArgs.builder()\n            .name(\"client identifier\")\n            .description(\"terraform client identifier\")\n            .hashFields(            \n                RuleClientIdentifierHashFieldArgs.builder()\n                    .field(\"header_value\")\n                    .key(\"Authorization\")\n                    .build(),\n                RuleClientIdentifierHashFieldArgs.builder()\n                    .field(\"client_ip\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new rule client identifier\n  clientIdentifier:\n    type: impart:RuleClientIdentifier\n    name: client_identifier\n    properties:\n      name: client identifier\n      description: terraform client identifier\n      hashFields:\n        - field: header_value\n          key: Authorization\n        - field: client_ip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description for the rule client identifier.\n"},"hashFields":{"type":"array","items":{"$ref":"#/types/impart:index/RuleClientIdentifierHashField:RuleClientIdentifierHashField"},"description":"The hash fields for the rule client identifier.\n"},"name":{"type":"string","description":"The name for the rule client identifier.\n"},"storageId":{"type":"string","description":"The storage id for the rule client identifier.\n"}},"required":["hashFields","name"],"inputProperties":{"description":{"type":"string","description":"The description for the rule client identifier.\n"},"hashFields":{"type":"array","items":{"$ref":"#/types/impart:index/RuleClientIdentifierHashField:RuleClientIdentifierHashField"},"description":"The hash fields for the rule client identifier.\n"},"name":{"type":"string","description":"The name for the rule client identifier.\n"},"storageId":{"type":"string","description":"The storage id for the rule client identifier.\n"}},"requiredInputs":["hashFields","name"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleClientIdentifier resources.\n","properties":{"description":{"type":"string","description":"The description for the rule client identifier.\n"},"hashFields":{"type":"array","items":{"$ref":"#/types/impart:index/RuleClientIdentifierHashField:RuleClientIdentifierHashField"},"description":"The hash fields for the rule client identifier.\n"},"name":{"type":"string","description":"The name for the rule client identifier.\n"},"storageId":{"type":"string","description":"The storage id for the rule client identifier.\n"}},"type":"object"}},"impart:index/ruleClientIdentifierStorage:RuleClientIdentifierStorage":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new rule client identifier storage\nconst clientIdentifierStorage = new impart.RuleClientIdentifierStorage(\"client_identifier_storage\", {\n    name: \"client identifier storage\",\n    description: \"terraform client identifier storage\",\n    capacity: 10000,\n    storageId: impartRuleClientIdentifier.example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new rule client identifier storage\nclient_identifier_storage = impart.RuleClientIdentifierStorage(\"client_identifier_storage\",\n    name=\"client identifier storage\",\n    description=\"terraform client identifier storage\",\n    capacity=10000,\n    storage_id=impart_rule_client_identifier[\"example\"][\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new rule client identifier storage\n    var clientIdentifierStorage = new Impart.RuleClientIdentifierStorage(\"client_identifier_storage\", new()\n    {\n        Name = \"client identifier storage\",\n        Description = \"terraform client identifier storage\",\n        Capacity = 10000,\n        StorageId = impartRuleClientIdentifier.Example.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rule client identifier storage\n\t\t_, err := impart.NewRuleClientIdentifierStorage(ctx, \"client_identifier_storage\", \u0026impart.RuleClientIdentifierStorageArgs{\n\t\t\tName:        pulumi.String(\"client identifier storage\"),\n\t\t\tDescription: pulumi.String(\"terraform client identifier storage\"),\n\t\t\tCapacity:    pulumi.Int(10000),\n\t\t\tStorageId:   impartRuleClientIdentifier.Example.Id,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.RuleClientIdentifierStorage;\nimport com.pulumi.impart.RuleClientIdentifierStorageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new rule client identifier storage\n        var clientIdentifierStorage = new RuleClientIdentifierStorage(\"clientIdentifierStorage\", RuleClientIdentifierStorageArgs.builder()\n            .name(\"client identifier storage\")\n            .description(\"terraform client identifier storage\")\n            .capacity(10000)\n            .storageId(impartRuleClientIdentifier.example().id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new rule client identifier storage\n  clientIdentifierStorage:\n    type: impart:RuleClientIdentifierStorage\n    name: client_identifier_storage\n    properties:\n      name: client identifier storage\n      description: terraform client identifier storage\n      capacity: 10000\n      storageId: ${impartRuleClientIdentifier.example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"capacity":{"type":"integer","description":"The capacity for the rule client identifier storage.\n"},"description":{"type":"string","description":"The description for the rule client identifier storage.\n"},"name":{"type":"string","description":"The name for the rule client identifier storage.\n"}},"required":["capacity","name"],"inputProperties":{"capacity":{"type":"integer","description":"The capacity for the rule client identifier storage.\n"},"description":{"type":"string","description":"The description for the rule client identifier storage.\n"},"name":{"type":"string","description":"The name for the rule client identifier storage.\n"}},"requiredInputs":["capacity","name"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleClientIdentifierStorage resources.\n","properties":{"capacity":{"type":"integer","description":"The capacity for the rule client identifier storage.\n"},"description":{"type":"string","description":"The description for the rule client identifier storage.\n"},"name":{"type":"string","description":"The name for the rule client identifier storage.\n"}},"type":"object"}},"impart:index/ruleDependencies:RuleDependencies":{"description":"Manage rule dependencies. There should only ever be one instance of this resource in a workspace at once, because it manages rule dependencies at an organization level.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\nconst example = new impart.RuleDependencies(\"example\", {dependencies: [{\n    rule_id: \"\u003cexample_1.id\u003e\",\n    depends_on: [\"\u003cexample_2.id\u003e\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\nexample = impart.RuleDependencies(\"example\", dependencies=[{\n    \"rule_id\": \"\u003cexample_1.id\u003e\",\n    \"depends_on\": [\"\u003cexample_2.id\u003e\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Impart.RuleDependencies(\"example\", new()\n    {\n        Dependencies = new[]\n        {\n            new Impart.Inputs.RuleDependenciesDependencyArgs\n            {\n                Rule_id = \"\u003cexample_1.id\u003e\",\n                Depends_on = new[]\n                {\n                    \"\u003cexample_2.id\u003e\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := impart.NewRuleDependencies(ctx, \"example\", \u0026impart.RuleDependenciesArgs{\n\t\t\tDependencies: impart.RuleDependenciesDependencyArray{\n\t\t\t\t\u0026impart.RuleDependenciesDependencyArgs{\n\t\t\t\t\tRule_id: \"\u003cexample_1.id\u003e\",\n\t\t\t\t\tDepends_on: []string{\n\t\t\t\t\t\t\"\u003cexample_2.id\u003e\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.RuleDependencies;\nimport com.pulumi.impart.RuleDependenciesArgs;\nimport com.pulumi.impart.inputs.RuleDependenciesDependencyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RuleDependencies(\"example\", RuleDependenciesArgs.builder()\n            .dependencies(RuleDependenciesDependencyArgs.builder()\n%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))\n                .build());\n\n        }\n}\n```\n```yaml\nresources:\n  example:\n    type: impart:RuleDependencies\n    properties:\n      dependencies:\n        - rule_id: \u003cexample_1.id\u003e\n          depends_on:\n            - \u003cexample_2.id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleDependenciesDependency:RuleDependenciesDependency"},"description":"An array of rules and the other ids of the rules they depend on before executing.\n"}},"required":["dependencies"],"inputProperties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleDependenciesDependency:RuleDependenciesDependency"},"description":"An array of rules and the other ids of the rules they depend on before executing.\n"}},"requiredInputs":["dependencies"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleDependencies resources.\n","properties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleDependenciesDependency:RuleDependenciesDependency"},"description":"An array of rules and the other ids of the rules they depend on before executing.\n"}},"type":"object"}},"impart:index/ruleScript:RuleScript":{"description":"Manage a rule script.\n\n","properties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule script.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule script.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule script.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"}},"required":["disabled","name"],"inputProperties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule script.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule script.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule script.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"}},"requiredInputs":["disabled","name"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleScript resources.\n","properties":{"blockingEffect":{"type":"string","description":"The rule blocking effect. Allowed values: block, simulate. If not set effect will be block.\n"},"content":{"type":"string","description":"The rule body content.\n"},"description":{"type":"string","description":"The description for this rule script.\n"},"disabled":{"type":"boolean","description":"Set true to disable the rule script.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The name for this rule script.\n"},"sourceFile":{"type":"string","description":"The rule source file.\n"},"sourceHash":{"type":"string","description":"The rule source hash.\n"}},"type":"object"}},"impart:index/ruleScriptDependencies:RuleScriptDependencies":{"description":"Manage rule script dependencies. There should only ever be one instance of this resource in a workspace at once, because it manages rule script dependencies at an organization level.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\nconst example = new impart.RuleScriptDependencies(\"example\", {dependencies: [{\n    rule_script_id: \"\u003cexample_1.id\u003e\",\n    depends_on_rule_script_ids: [\"\u003cexample_2.id\u003e\"],\n}]});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\nexample = impart.RuleScriptDependencies(\"example\", dependencies=[{\n    \"rule_script_id\": \"\u003cexample_1.id\u003e\",\n    \"depends_on_rule_script_ids\": [\"\u003cexample_2.id\u003e\"],\n}])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\n    var example = new Impart.RuleScriptDependencies(\"example\", new()\n    {\n        Dependencies = new[]\n        {\n            new Impart.Inputs.RuleScriptDependenciesDependencyArgs\n            {\n                Rule_script_id = \"\u003cexample_1.id\u003e\",\n                Depends_on_rule_script_ids = new[]\n                {\n                    \"\u003cexample_2.id\u003e\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\n\t\t_, err := impart.NewRuleScriptDependencies(ctx, \"example\", \u0026impart.RuleScriptDependenciesArgs{\n\t\t\tDependencies: impart.RuleScriptDependenciesDependencyArray{\n\t\t\t\t\u0026impart.RuleScriptDependenciesDependencyArgs{\n\t\t\t\t\tRule_script_id: \"\u003cexample_1.id\u003e\",\n\t\t\t\t\tDepends_on_rule_script_ids: []string{\n\t\t\t\t\t\t\"\u003cexample_2.id\u003e\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.RuleScriptDependencies;\nimport com.pulumi.impart.RuleScriptDependenciesArgs;\nimport com.pulumi.impart.inputs.RuleScriptDependenciesDependencyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\n        var example = new RuleScriptDependencies(\"example\", RuleScriptDependenciesArgs.builder()\n            .dependencies(RuleScriptDependenciesDependencyArgs.builder()\n%!v(PANIC=Format method: interface conversion: model.Expression is *model.TemplateExpression, not *model.LiteralValueExpression))\n                .build());\n\n        }\n}\n```\n```yaml\nresources:\n  # ⚠️ This resource is deprecated. Please migrate to `impart_rule_dependencies` instead.\n  example:\n    type: impart:RuleScriptDependencies\n    properties:\n      dependencies:\n        - rule_script_id: \u003cexample_1.id\u003e\n          depends_on_rule_script_ids:\n            - \u003cexample_2.id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleScriptDependenciesDependency:RuleScriptDependenciesDependency"},"description":"An array of rule scripts and the other ids of the rules they depend on before executing.\n"}},"required":["dependencies"],"inputProperties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleScriptDependenciesDependency:RuleScriptDependenciesDependency"},"description":"An array of rule scripts and the other ids of the rules they depend on before executing.\n"}},"requiredInputs":["dependencies"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleScriptDependencies resources.\n","properties":{"dependencies":{"type":"array","items":{"$ref":"#/types/impart:index/RuleScriptDependenciesDependency:RuleScriptDependenciesDependency"},"description":"An array of rule scripts and the other ids of the rules they depend on before executing.\n"}},"type":"object"}},"impart:index/ruleTestCase:RuleTestCase":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\nimport * as std from \"@pulumi/std\";\n\nconst example = new impart.RuleTestCase(\"example\", {\n    name: \"example\",\n    description: \"test case description\",\n    messages: [{\n        count: 1,\n        req: {\n            url: \"http://example.com\",\n            method: \"GET\",\n            body: std.base64encode({\n                input: \"request body\",\n            }).then(invoke =\u003e invoke.result),\n            headerKeys: [\"Header1\"],\n            headerValues: [\"value1\"],\n            remoteAddr: \"192.168.1.1\",\n        },\n        res: {\n            statusCode: 201,\n            headerKeys: [\"Header1\"],\n            headerValues: [\"value1\"],\n            body: std.base64encode({\n                input: \"response body\",\n            }).then(invoke =\u003e invoke.result),\n        },\n    }],\n    assertions: [\n        {\n            messageIndexes: [0],\n            assertionType: \"output\",\n            condition: \"contains\",\n            expected: \"test\",\n        },\n        {\n            messageIndexes: [0],\n            assertionType: \"block\",\n            location: \"req\",\n            expected: \"true\",\n        },\n        {\n            messageIndexes: [0],\n            assertionType: \"status_code\",\n            location: \"req\",\n            condition: \"one_of\",\n            expected: \"201,200\",\n        },\n        {\n            messageIndexes: [0],\n            assertionType: \"tags\",\n            location: \"req\",\n            condition: \"contains\",\n            expected: \"tagname\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\nimport pulumi_std as std\n\nexample = impart.RuleTestCase(\"example\",\n    name=\"example\",\n    description=\"test case description\",\n    messages=[{\n        \"count\": 1,\n        \"req\": {\n            \"url\": \"http://example.com\",\n            \"method\": \"GET\",\n            \"body\": std.base64encode(input=\"request body\").result,\n            \"header_keys\": [\"Header1\"],\n            \"header_values\": [\"value1\"],\n            \"remote_addr\": \"192.168.1.1\",\n        },\n        \"res\": {\n            \"status_code\": 201,\n            \"header_keys\": [\"Header1\"],\n            \"header_values\": [\"value1\"],\n            \"body\": std.base64encode(input=\"response body\").result,\n        },\n    }],\n    assertions=[\n        {\n            \"message_indexes\": [0],\n            \"assertion_type\": \"output\",\n            \"condition\": \"contains\",\n            \"expected\": \"test\",\n        },\n        {\n            \"message_indexes\": [0],\n            \"assertion_type\": \"block\",\n            \"location\": \"req\",\n            \"expected\": \"true\",\n        },\n        {\n            \"message_indexes\": [0],\n            \"assertion_type\": \"status_code\",\n            \"location\": \"req\",\n            \"condition\": \"one_of\",\n            \"expected\": \"201,200\",\n        },\n        {\n            \"message_indexes\": [0],\n            \"assertion_type\": \"tags\",\n            \"location\": \"req\",\n            \"condition\": \"contains\",\n            \"expected\": \"tagname\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Impart.RuleTestCase(\"example\", new()\n    {\n        Name = \"example\",\n        Description = \"test case description\",\n        Messages = new[]\n        {\n            new Impart.Inputs.RuleTestCaseMessageArgs\n            {\n                Count = 1,\n                Req = new Impart.Inputs.RuleTestCaseMessageReqArgs\n                {\n                    Url = \"http://example.com\",\n                    Method = \"GET\",\n                    Body = Std.Base64encode.Invoke(new()\n                    {\n                        Input = \"request body\",\n                    }).Apply(invoke =\u003e invoke.Result),\n                    HeaderKeys = new[]\n                    {\n                        \"Header1\",\n                    },\n                    HeaderValues = new[]\n                    {\n                        \"value1\",\n                    },\n                    RemoteAddr = \"192.168.1.1\",\n                },\n                Res = new Impart.Inputs.RuleTestCaseMessageResArgs\n                {\n                    StatusCode = 201,\n                    HeaderKeys = new[]\n                    {\n                        \"Header1\",\n                    },\n                    HeaderValues = new[]\n                    {\n                        \"value1\",\n                    },\n                    Body = Std.Base64encode.Invoke(new()\n                    {\n                        Input = \"response body\",\n                    }).Apply(invoke =\u003e invoke.Result),\n                },\n            },\n        },\n        Assertions = new[]\n        {\n            new Impart.Inputs.RuleTestCaseAssertionArgs\n            {\n                MessageIndexes = new[]\n                {\n                    0,\n                },\n                AssertionType = \"output\",\n                Condition = \"contains\",\n                Expected = \"test\",\n            },\n            new Impart.Inputs.RuleTestCaseAssertionArgs\n            {\n                MessageIndexes = new[]\n                {\n                    0,\n                },\n                AssertionType = \"block\",\n                Location = \"req\",\n                Expected = \"true\",\n            },\n            new Impart.Inputs.RuleTestCaseAssertionArgs\n            {\n                MessageIndexes = new[]\n                {\n                    0,\n                },\n                AssertionType = \"status_code\",\n                Location = \"req\",\n                Condition = \"one_of\",\n                Expected = \"201,200\",\n            },\n            new Impart.Inputs.RuleTestCaseAssertionArgs\n            {\n                MessageIndexes = new[]\n                {\n                    0,\n                },\n                AssertionType = \"tags\",\n                Location = \"req\",\n                Condition = \"contains\",\n                Expected = \"tagname\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi-std/sdk/v2/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeBase64encode, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"request body\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tinvokeBase64encode1, err := std.Base64encode(ctx, \u0026std.Base64encodeArgs{\n\t\t\tInput: \"response body\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = impart.NewRuleTestCase(ctx, \"example\", \u0026impart.RuleTestCaseArgs{\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tDescription: pulumi.String(\"test case description\"),\n\t\t\tMessages: impart.RuleTestCaseMessageArray{\n\t\t\t\t\u0026impart.RuleTestCaseMessageArgs{\n\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\tReq: \u0026impart.RuleTestCaseMessageReqArgs{\n\t\t\t\t\t\tUrl:    pulumi.String(\"http://example.com\"),\n\t\t\t\t\t\tMethod: pulumi.String(\"GET\"),\n\t\t\t\t\t\tBody:   pulumi.String(invokeBase64encode.Result),\n\t\t\t\t\t\tHeaderKeys: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Header1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHeaderValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tRemoteAddr: pulumi.String(\"192.168.1.1\"),\n\t\t\t\t\t},\n\t\t\t\t\tRes: \u0026impart.RuleTestCaseMessageResArgs{\n\t\t\t\t\t\tStatusCode: pulumi.Int(201),\n\t\t\t\t\t\tHeaderKeys: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"Header1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tHeaderValues: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"value1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tBody: pulumi.String(invokeBase64encode1.Result),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAssertions: impart.RuleTestCaseAssertionArray{\n\t\t\t\t\u0026impart.RuleTestCaseAssertionArgs{\n\t\t\t\t\tMessageIndexes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tAssertionType: pulumi.String(\"output\"),\n\t\t\t\t\tCondition:     pulumi.String(\"contains\"),\n\t\t\t\t\tExpected:      pulumi.String(\"test\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.RuleTestCaseAssertionArgs{\n\t\t\t\t\tMessageIndexes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tAssertionType: pulumi.String(\"block\"),\n\t\t\t\t\tLocation:      pulumi.String(\"req\"),\n\t\t\t\t\tExpected:      pulumi.String(\"true\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.RuleTestCaseAssertionArgs{\n\t\t\t\t\tMessageIndexes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tAssertionType: pulumi.String(\"status_code\"),\n\t\t\t\t\tLocation:      pulumi.String(\"req\"),\n\t\t\t\t\tCondition:     pulumi.String(\"one_of\"),\n\t\t\t\t\tExpected:      pulumi.String(\"201,200\"),\n\t\t\t\t},\n\t\t\t\t\u0026impart.RuleTestCaseAssertionArgs{\n\t\t\t\t\tMessageIndexes: pulumi.IntArray{\n\t\t\t\t\t\tpulumi.Int(0),\n\t\t\t\t\t},\n\t\t\t\t\tAssertionType: pulumi.String(\"tags\"),\n\t\t\t\t\tLocation:      pulumi.String(\"req\"),\n\t\t\t\t\tCondition:     pulumi.String(\"contains\"),\n\t\t\t\t\tExpected:      pulumi.String(\"tagname\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.RuleTestCase;\nimport com.pulumi.impart.RuleTestCaseArgs;\nimport com.pulumi.impart.inputs.RuleTestCaseMessageArgs;\nimport com.pulumi.impart.inputs.RuleTestCaseMessageReqArgs;\nimport com.pulumi.impart.inputs.RuleTestCaseMessageResArgs;\nimport com.pulumi.impart.inputs.RuleTestCaseAssertionArgs;\nimport com.pulumi.std.StdFunctions;\nimport com.pulumi.std.inputs.Base64encodeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RuleTestCase(\"example\", RuleTestCaseArgs.builder()\n            .name(\"example\")\n            .description(\"test case description\")\n            .messages(RuleTestCaseMessageArgs.builder()\n                .count(1)\n                .req(RuleTestCaseMessageReqArgs.builder()\n                    .url(\"http://example.com\")\n                    .method(\"GET\")\n                    .body(StdFunctions.base64encode(Base64encodeArgs.builder()\n                        .input(\"request body\")\n                        .build()).result())\n                    .headerKeys(\"Header1\")\n                    .headerValues(\"value1\")\n                    .remoteAddr(\"192.168.1.1\")\n                    .build())\n                .res(RuleTestCaseMessageResArgs.builder()\n                    .statusCode(201)\n                    .headerKeys(\"Header1\")\n                    .headerValues(\"value1\")\n                    .body(StdFunctions.base64encode(Base64encodeArgs.builder()\n                        .input(\"response body\")\n                        .build()).result())\n                    .build())\n                .build())\n            .assertions(            \n                RuleTestCaseAssertionArgs.builder()\n                    .messageIndexes(0)\n                    .assertionType(\"output\")\n                    .condition(\"contains\")\n                    .expected(\"test\")\n                    .build(),\n                RuleTestCaseAssertionArgs.builder()\n                    .messageIndexes(0)\n                    .assertionType(\"block\")\n                    .location(\"req\")\n                    .expected(\"true\")\n                    .build(),\n                RuleTestCaseAssertionArgs.builder()\n                    .messageIndexes(0)\n                    .assertionType(\"status_code\")\n                    .location(\"req\")\n                    .condition(\"one_of\")\n                    .expected(\"201,200\")\n                    .build(),\n                RuleTestCaseAssertionArgs.builder()\n                    .messageIndexes(0)\n                    .assertionType(\"tags\")\n                    .location(\"req\")\n                    .condition(\"contains\")\n                    .expected(\"tagname\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: impart:RuleTestCase\n    properties:\n      name: example\n      description: test case description\n      messages:\n        - count: 1\n          req:\n            url: http://example.com\n            method: GET\n            body:\n              fn::invoke:\n                function: std:base64encode\n                arguments:\n                  input: request body\n                return: result\n            headerKeys:\n              - Header1\n            headerValues:\n              - value1\n            remoteAddr: 192.168.1.1\n          res:\n            statusCode: 201\n            headerKeys:\n              - Header1\n            headerValues:\n              - value1\n            body:\n              fn::invoke:\n                function: std:base64encode\n                arguments:\n                  input: response body\n                return: result\n      assertions:\n        - messageIndexes:\n            - 0\n          assertionType: output\n          condition: contains\n          expected: test\n        - messageIndexes:\n            - 0\n          assertionType: block\n          location: req\n          expected: 'true'\n        - messageIndexes:\n            - 0\n          assertionType: status_code\n          location: req\n          condition: one_of\n          expected: 201,200\n        - messageIndexes:\n            - 0\n          assertionType: tags\n          location: req\n          condition: contains\n          expected: tagname\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"assertions":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseAssertion:RuleTestCaseAssertion"},"description":"The assertions of the test case.\n"},"description":{"type":"string","description":"The description of the test case.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"messages":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseMessage:RuleTestCaseMessage"},"description":"The messages of the test case.\n"},"name":{"type":"string","description":"The name of the test case.\n"},"required":{"type":"boolean","description":"Sets if test case required to pass on update.\n"}},"required":["messages","name"],"inputProperties":{"assertions":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseAssertion:RuleTestCaseAssertion"},"description":"The assertions of the test case.\n"},"description":{"type":"string","description":"The description of the test case.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"messages":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseMessage:RuleTestCaseMessage"},"description":"The messages of the test case.\n"},"name":{"type":"string","description":"The name of the test case.\n"},"required":{"type":"boolean","description":"Sets if test case required to pass on update.\n"}},"requiredInputs":["messages","name"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleTestCase resources.\n","properties":{"assertions":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseAssertion:RuleTestCaseAssertion"},"description":"The assertions of the test case.\n"},"description":{"type":"string","description":"The description of the test case.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"messages":{"type":"array","items":{"$ref":"#/types/impart:index/RuleTestCaseMessage:RuleTestCaseMessage"},"description":"The messages of the test case.\n"},"name":{"type":"string","description":"The name of the test case.\n"},"required":{"type":"boolean","description":"Sets if test case required to pass on update.\n"}},"type":"object"}},"impart:index/spec:Spec":{"description":"Manage a specification.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n!/bin/bash\n\n```sh\n$ pulumi import impart:index/spec:Spec example \"\u003cid\u003e\"\n```\n\n","properties":{"learningConfig":{"$ref":"#/types/impart:index/SpecLearningConfig:SpecLearningConfig","description":"Configuration for spec learning.\n"},"name":{"type":"string","description":"The name for this specification.\n"},"sourceFile":{"type":"string","description":"The specification file.\n"},"sourceHash":{"type":"string","description":"The specification source hash.\n"}},"required":["name","sourceFile"],"inputProperties":{"learningConfig":{"$ref":"#/types/impart:index/SpecLearningConfig:SpecLearningConfig","description":"Configuration for spec learning.\n"},"name":{"type":"string","description":"The name for this specification.\n"},"sourceFile":{"type":"string","description":"The specification file.\n"},"sourceHash":{"type":"string","description":"The specification source hash.\n"}},"requiredInputs":["name","sourceFile"],"stateInputs":{"description":"Input properties used for looking up and filtering Spec resources.\n","properties":{"learningConfig":{"$ref":"#/types/impart:index/SpecLearningConfig:SpecLearningConfig","description":"Configuration for spec learning.\n"},"name":{"type":"string","description":"The name for this specification.\n"},"sourceFile":{"type":"string","description":"The specification file.\n"},"sourceHash":{"type":"string","description":"The specification source hash.\n"}},"type":"object"}},"impart:index/tagMetadata:TagMetadata":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Create a new tag metadata\nconst example = new impart.TagMetadata(\"example\", {\n    name: \"tag\",\n    description: \"tag description\",\n    externalUrl: \"http://example.com\",\n    labels: [impartLabel.example.slug],\n    riskStatement: \"risk statement\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Create a new tag metadata\nexample = impart.TagMetadata(\"example\",\n    name=\"tag\",\n    description=\"tag description\",\n    external_url=\"http://example.com\",\n    labels=[impart_label[\"example\"][\"slug\"]],\n    risk_statement=\"risk statement\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new tag metadata\n    var example = new Impart.TagMetadata(\"example\", new()\n    {\n        Name = \"tag\",\n        Description = \"tag description\",\n        ExternalUrl = \"http://example.com\",\n        Labels = new[]\n        {\n            impartLabel.Example.Slug,\n        },\n        RiskStatement = \"risk statement\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new tag metadata\n\t\t_, err := impart.NewTagMetadata(ctx, \"example\", \u0026impart.TagMetadataArgs{\n\t\t\tName:        pulumi.String(\"tag\"),\n\t\t\tDescription: pulumi.String(\"tag description\"),\n\t\t\tExternalUrl: pulumi.String(\"http://example.com\"),\n\t\t\tLabels: pulumi.StringArray{\n\t\t\t\timpartLabel.Example.Slug,\n\t\t\t},\n\t\t\tRiskStatement: pulumi.String(\"risk statement\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.TagMetadata;\nimport com.pulumi.impart.TagMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new tag metadata\n        var example = new TagMetadata(\"example\", TagMetadataArgs.builder()\n            .name(\"tag\")\n            .description(\"tag description\")\n            .externalUrl(\"http://example.com\")\n            .labels(impartLabel.example().slug())\n            .riskStatement(\"risk statement\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new tag metadata\n  example:\n    type: impart:TagMetadata\n    properties:\n      name: tag\n      description: tag description\n      externalUrl: http://example.com\n      labels:\n        - ${impartLabel.example.slug}\n      riskStatement: risk statement\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"description":{"type":"string","description":"The description for the tag.\n"},"externalUrl":{"type":"string","description":"The external URL for the tag.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The tag name.\n"},"riskStatement":{"type":"string","description":"The risk statement for the tag.\n"}},"required":["name"],"inputProperties":{"description":{"type":"string","description":"The description for the tag.\n"},"externalUrl":{"type":"string","description":"The external URL for the tag.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The tag name.\n"},"riskStatement":{"type":"string","description":"The risk statement for the tag.\n"}},"requiredInputs":["name"],"stateInputs":{"description":"Input properties used for looking up and filtering TagMetadata resources.\n","properties":{"description":{"type":"string","description":"The description for the tag.\n"},"externalUrl":{"type":"string","description":"The external URL for the tag.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"The applied labels.\n"},"name":{"type":"string","description":"The tag name.\n"},"riskStatement":{"type":"string","description":"The risk statement for the tag.\n"}},"type":"object"}}},"functions":{"impart:index/getConnector:GetConnector":{"description":"Manage a connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Read in an existing specification\nconst exampleConnector = impart.GetConnector({\n    id: \"\u003cid\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Read in an existing specification\nexample_connector = impart.get_connector(id=\"\u003cid\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Read in an existing specification\n    var exampleConnector = Impart.GetConnector.Invoke(new()\n    {\n        Id = \"\u003cid\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Read in an existing specification\n\t\t_, err := impart.GetConnector(ctx, \u0026impart.GetConnectorArgs{\n\t\t\tId: \"\u003cid\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.ImpartFunctions;\nimport com.pulumi.impart.inputs.GetConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Read in an existing specification\n        final var exampleConnector = ImpartFunctions.GetConnector(GetConnectorArgs.builder()\n            .id(\"\u003cid\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Read in an existing specification\n  exampleConnector:\n    fn::invoke:\n      function: impart:GetConnector\n      arguments:\n        id: \u003cid\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking GetConnector.\n","properties":{"connectorTypeId":{"type":"string","description":"ID of the connector type (eg. ID for our Slack or Jira connector types).\n"},"id":{"type":"string","description":"Identifier for this connector.\n"},"isConnected":{"type":"boolean","description":"Whether or not the connector is authenticated via OAuth2.\n"},"name":{"type":"string","description":"Name for this connector.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by GetConnector.\n","properties":{"connectorTypeId":{"description":"ID of the connector type (eg. ID for our Slack or Jira connector types).\n","type":"string"},"id":{"description":"Identifier for this connector.\n","type":"string"},"isConnected":{"description":"Whether or not the connector is authenticated via OAuth2.\n","type":"boolean"},"name":{"description":"Name for this connector.\n","type":"string"}},"required":["id"],"type":"object"}},"impart:index/getSpec:GetSpec":{"description":"Manage a specification.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as impart from \"@impart-security/pulumi-impart\";\n\n// Read in an existing specification\nconst example = impart.GetSpec({\n    id: \"\u003cid\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_impart as impart\n\n# Read in an existing specification\nexample = impart.get_spec(id=\"\u003cid\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Impart = Pulumi.Impart;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Read in an existing specification\n    var example = Impart.GetSpec.Invoke(new()\n    {\n        Id = \"\u003cid\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/impart-security/pulumi-impart/sdk/go/impart\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Read in an existing specification\n\t\t_, err := impart.GetSpec(ctx, \u0026impart.LookupSpecArgs{\n\t\t\tId: \"\u003cid\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.impart.ImpartFunctions;\nimport com.pulumi.impart.inputs.GetSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Read in an existing specification\n        final var example = ImpartFunctions.GetSpec(GetSpecArgs.builder()\n            .id(\"\u003cid\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Read in an existing specification\n  example:\n    fn::invoke:\n      function: impart:GetSpec\n      arguments:\n        id: \u003cid\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking GetSpec.\n","properties":{"id":{"type":"string","description":"Identifier for this specification.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by GetSpec.\n","properties":{"id":{"description":"Identifier for this specification.\n","type":"string"},"name":{"description":"The name for this specification.\n","type":"string"}},"required":["id","name"],"type":"object"}},"pulumi:providers:impart/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:impart/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}