{"attribution":"This Pulumi package is based on the [`jetstream` Terraform Provider](https://github.com/nats-io/terraform-provider-jetstream).","config":{"defaults":["servers"],"variables":{"credentialData":{"description":"The contents of the NATS 2.0 Credentials file to use","type":"string"},"credentials":{"description":"Path to the NATS 2.0 credentials file to use for authentication","type":"string"},"nkey":{"description":"Connect using a NKEY seed stored in a file","type":"string"},"password":{"description":"Connect using a password","type":"string"},"servers":{"description":"Comma separated list of NATS servers to connect to","type":"string"},"tls":{"$ref":"#/types/jetstream:config%2Ftls:tls"},"user":{"description":"Connect using an username, used as token when no password is given","type":"string"}}},"description":"A Pulumi provider dynamically bridged from jetstream.","functions":{"pulumi:providers:jetstream/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:jetstream"}},"required":["__self__"],"type":"object"},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"jetstream"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from jetstream.","readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/nats-io/terraform-provider-jetstream)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-jetstream` repo](https://github.com/nats-io/terraform-provider-jetstream/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/nats-io/terraform-provider-jetstream)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-jetstream` repo](https://github.com/nats-io/terraform-provider-jetstream/issues).","respectSchemaVersion":true}},"meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"name":"jetstream","parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL25hdHMtaW8vamV0c3RyZWFtIiwidmVyc2lvbiI6IjAuNC4wIn19"},"provider":{"description":"The provider type for the jetstream 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","inputProperties":{"credentialData":{"description":"The contents of the NATS 2.0 Credentials file to use","type":"string"},"credentials":{"description":"Path to the NATS 2.0 credentials file to use for authentication","type":"string"},"nkey":{"description":"Connect using a NKEY seed stored in a file","type":"string"},"password":{"description":"Connect using a password","type":"string"},"servers":{"description":"Comma separated list of NATS servers to connect to","type":"string"},"tls":{"$ref":"#/types/jetstream:index%2FProviderTls:ProviderTls"},"user":{"description":"Connect using an username, used as token when no password is given","type":"string"}},"methods":{"terraformConfig":"pulumi:providers:jetstream/terraformConfig"},"properties":{"credentialData":{"description":"The contents of the NATS 2.0 Credentials file to use","type":"string"},"credentials":{"description":"Path to the NATS 2.0 credentials file to use for authentication","type":"string"},"nkey":{"description":"Connect using a NKEY seed stored in a file","type":"string"},"password":{"description":"Connect using a password","type":"string"},"servers":{"description":"Comma separated list of NATS servers to connect to","type":"string"},"user":{"description":"Connect using an username, used as token when no password is given","type":"string"}},"required":["servers"],"requiredInputs":["servers"],"type":"object"},"publisher":"nats-io","repository":"https://github.com/nats-io/terraform-provider-jetstream","resources":{"jetstream:index/consumer:Consumer":{"description":"## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst ORDERS = new jetstream.Stream(\"ORDERS\", {\n    name: \"ORDERS\",\n    subjects: [\"ORDERS.*\"],\n    storage: \"file\",\n    maxAge: 60 * 60 * 24 * 365,\n});\nconst ORDERS_NEW = new jetstream.Consumer(\"ORDERS_NEW\", {\n    streamId: ORDERS.streamId,\n    durableName: \"NEW\",\n    deliverAll: true,\n    filterSubject: \"ORDERS.received\",\n    sampleFreq: 100,\n});\n```\n```python\nimport pulumi\nimport pulumi_jetstream as jetstream\n\norders = jetstream.Stream(\"ORDERS\",\n    name=\"ORDERS\",\n    subjects=[\"ORDERS.*\"],\n    storage=\"file\",\n    max_age=60 * 60 * 24 * 365)\norder_s__new = jetstream.Consumer(\"ORDERS_NEW\",\n    stream_id=orders.stream_id,\n    durable_name=\"NEW\",\n    deliver_all=True,\n    filter_subject=\"ORDERS.received\",\n    sample_freq=100)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var ORDERS = new Jetstream.Stream(\"ORDERS\", new()\n    {\n        Name = \"ORDERS\",\n        Subjects = new[]\n        {\n            \"ORDERS.*\",\n        },\n        Storage = \"file\",\n        MaxAge = 60 * 60 * 24 * 365,\n    });\n\n    var ORDERS_NEW = new Jetstream.Consumer(\"ORDERS_NEW\", new()\n    {\n        StreamId = ORDERS.StreamId,\n        DurableName = \"NEW\",\n        DeliverAll = true,\n        FilterSubject = \"ORDERS.received\",\n        SampleFreq = 100,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tORDERS, err := jetstream.NewStream(ctx, \"ORDERS\", &jetstream.StreamArgs{\n\t\t\tName: pulumi.String(\"ORDERS\"),\n\t\t\tSubjects: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORDERS.*\"),\n\t\t\t},\n\t\t\tStorage: pulumi.String(\"file\"),\n\t\t\tMaxAge:  60 * 60 * 24 * 365,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = jetstream.NewConsumer(ctx, \"ORDERS_NEW\", &jetstream.ConsumerArgs{\n\t\t\tStreamId:      ORDERS.StreamId,\n\t\t\tDurableName:   pulumi.String(\"NEW\"),\n\t\t\tDeliverAll:    pulumi.Bool(true),\n\t\t\tFilterSubject: pulumi.String(\"ORDERS.received\"),\n\t\t\tSampleFreq:    pulumi.Float64(100),\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.jetstream.Stream;\nimport com.pulumi.jetstream.StreamArgs;\nimport com.pulumi.jetstream.Consumer;\nimport com.pulumi.jetstream.ConsumerArgs;\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 oRDERS = new Stream(\"ORDERS\", StreamArgs.builder()\n            .name(\"ORDERS\")\n            .subjects(\"ORDERS.*\")\n            .storage(\"file\")\n            .maxAge(60 * 60 * 24 * 365)\n            .build());\n\n        var oRDERS_NEW = new Consumer(\"ORDERS_NEW\", ConsumerArgs.builder()\n            .streamId(ORDERS.streamId())\n            .durableName(\"NEW\")\n            .deliverAll(true)\n            .filterSubject(\"ORDERS.received\")\n            .sampleFreq(100.0)\n            .build());\n\n    }\n}\n```\n<!--End PulumiCodeChooser -->\n\n### Attribute Reference\n\n * <span pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\">`description`</span> - (optional) Contains additional information about this consumer\n * <span pulumi-lang-nodejs=\"`metadata`\" pulumi-lang-dotnet=\"`Metadata`\" pulumi-lang-go=\"`metadata`\" pulumi-lang-python=\"`metadata`\" pulumi-lang-yaml=\"`metadata`\" pulumi-lang-java=\"`metadata`\">`metadata`</span> - (optional) A map of strings with arbitrary metadata for the consumer\n * <span pulumi-lang-nodejs=\"`ackPolicy`\" pulumi-lang-dotnet=\"`AckPolicy`\" pulumi-lang-go=\"`ackPolicy`\" pulumi-lang-python=\"`ack_policy`\" pulumi-lang-yaml=\"`ackPolicy`\" pulumi-lang-java=\"`ackPolicy`\">`ack_policy`</span> - (optional) The delivery acknowledgement policy to apply to the Consumer. One of <span pulumi-lang-nodejs=\"`explicit`\" pulumi-lang-dotnet=\"`Explicit`\" pulumi-lang-go=\"`explicit`\" pulumi-lang-python=\"`explicit`\" pulumi-lang-yaml=\"`explicit`\" pulumi-lang-java=\"`explicit`\">`explicit`</span> (default), <span pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\">`all`</span>, <span pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\">`none`</span>, or <span pulumi-lang-nodejs=\"`flowControl`\" pulumi-lang-dotnet=\"`FlowControl`\" pulumi-lang-go=\"`flowControl`\" pulumi-lang-python=\"`flow_control`\" pulumi-lang-yaml=\"`flowControl`\" pulumi-lang-java=\"`flowControl`\">`flow_control`</span>. The <span pulumi-lang-nodejs=\"`flowControl`\" pulumi-lang-dotnet=\"`FlowControl`\" pulumi-lang-go=\"`flowControl`\" pulumi-lang-python=\"`flow_control`\" pulumi-lang-yaml=\"`flowControl`\" pulumi-lang-java=\"`flowControl`\">`flow_control`</span> policy requires a push consumer with <span pulumi-lang-nodejs=\"`flowControl \" pulumi-lang-dotnet=\"`FlowControl \" pulumi-lang-go=\"`flowControl \" pulumi-lang-python=\"`flow_control \" pulumi-lang-yaml=\"`flowControl \" pulumi-lang-java=\"`flowControl \">`flow_control </span>= true` and `heartbeat = 1`.\n * <span pulumi-lang-nodejs=\"`ackWait`\" pulumi-lang-dotnet=\"`AckWait`\" pulumi-lang-go=\"`ackWait`\" pulumi-lang-python=\"`ack_wait`\" pulumi-lang-yaml=\"`ackWait`\" pulumi-lang-java=\"`ackWait`\">`ack_wait`</span> - (optional) Number of seconds to wait for acknowledgement\n * <span pulumi-lang-nodejs=\"`deliverAll`\" pulumi-lang-dotnet=\"`DeliverAll`\" pulumi-lang-go=\"`deliverAll`\" pulumi-lang-python=\"`deliver_all`\" pulumi-lang-yaml=\"`deliverAll`\" pulumi-lang-java=\"`deliverAll`\">`deliver_all`</span> - (optional) Starts at the first available message in the Stream\n * <span pulumi-lang-nodejs=\"`deliverLast`\" pulumi-lang-dotnet=\"`DeliverLast`\" pulumi-lang-go=\"`deliverLast`\" pulumi-lang-python=\"`deliver_last`\" pulumi-lang-yaml=\"`deliverLast`\" pulumi-lang-java=\"`deliverLast`\">`deliver_last`</span> - (optional) Starts at the latest available message in the Stream\n * <span pulumi-lang-nodejs=\"`deliverySubject`\" pulumi-lang-dotnet=\"`DeliverySubject`\" pulumi-lang-go=\"`deliverySubject`\" pulumi-lang-python=\"`delivery_subject`\" pulumi-lang-yaml=\"`deliverySubject`\" pulumi-lang-java=\"`deliverySubject`\">`delivery_subject`</span> - (optional) The subject where a Push-based consumer will deliver messages\n * <span pulumi-lang-nodejs=\"`deliveryGroup`\" pulumi-lang-dotnet=\"`DeliveryGroup`\" pulumi-lang-go=\"`deliveryGroup`\" pulumi-lang-python=\"`delivery_group`\" pulumi-lang-yaml=\"`deliveryGroup`\" pulumi-lang-java=\"`deliveryGroup`\">`delivery_group`</span> - (optional) When set Push consumers will only deliver messages to subscriptions with this group set\n * <span pulumi-lang-nodejs=\"`durableName`\" pulumi-lang-dotnet=\"`DurableName`\" pulumi-lang-go=\"`durableName`\" pulumi-lang-python=\"`durable_name`\" pulumi-lang-yaml=\"`durableName`\" pulumi-lang-java=\"`durableName`\">`durable_name`</span> - The durable name of the Consumer\n * <span pulumi-lang-nodejs=\"`filterSubject`\" pulumi-lang-dotnet=\"`FilterSubject`\" pulumi-lang-go=\"`filterSubject`\" pulumi-lang-python=\"`filter_subject`\" pulumi-lang-yaml=\"`filterSubject`\" pulumi-lang-java=\"`filterSubject`\">`filter_subject`</span> - (optional) Only receive a subset of messages from the Stream based on the subject they entered the Stream on\n * <span pulumi-lang-nodejs=\"`filterSubjects`\" pulumi-lang-dotnet=\"`FilterSubjects`\" pulumi-lang-go=\"`filterSubjects`\" pulumi-lang-python=\"`filter_subjects`\" pulumi-lang-yaml=\"`filterSubjects`\" pulumi-lang-java=\"`filterSubjects`\">`filter_subjects`</span> - (optional) Only receive a subset tof messages from the Stream based on subjects they entered the Stream on. This is exclusive to <span pulumi-lang-nodejs=\"`filterSubject`\" pulumi-lang-dotnet=\"`FilterSubject`\" pulumi-lang-go=\"`filterSubject`\" pulumi-lang-python=\"`filter_subject`\" pulumi-lang-yaml=\"`filterSubject`\" pulumi-lang-java=\"`filterSubject`\">`filter_subject`</span>. Only works with v2.10 or better.\n * <span pulumi-lang-nodejs=\"`maxDelivery`\" pulumi-lang-dotnet=\"`MaxDelivery`\" pulumi-lang-go=\"`maxDelivery`\" pulumi-lang-python=\"`max_delivery`\" pulumi-lang-yaml=\"`maxDelivery`\" pulumi-lang-java=\"`maxDelivery`\">`max_delivery`</span> - (optional) Maximum deliveries to attempt for each message\n * <span pulumi-lang-nodejs=\"`replayPolicy`\" pulumi-lang-dotnet=\"`ReplayPolicy`\" pulumi-lang-go=\"`replayPolicy`\" pulumi-lang-python=\"`replay_policy`\" pulumi-lang-yaml=\"`replayPolicy`\" pulumi-lang-java=\"`replayPolicy`\">`replay_policy`</span> - (optional) The rate at which messages will be replayed from the stream\n * <span pulumi-lang-nodejs=\"`sampleFreq`\" pulumi-lang-dotnet=\"`SampleFreq`\" pulumi-lang-go=\"`sampleFreq`\" pulumi-lang-python=\"`sample_freq`\" pulumi-lang-yaml=\"`sampleFreq`\" pulumi-lang-java=\"`sampleFreq`\">`sample_freq`</span> - (optional) The percentage of acknowledgements that will be sampled for observability purposes\n * <span pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\">`start_time`</span> - (optional) The timestamp of the first message that will be delivered by this Consumer\n * <span pulumi-lang-nodejs=\"`streamId`\" pulumi-lang-dotnet=\"`StreamId`\" pulumi-lang-go=\"`streamId`\" pulumi-lang-python=\"`stream_id`\" pulumi-lang-yaml=\"`streamId`\" pulumi-lang-java=\"`streamId`\">`stream_id`</span> - The name of the Stream that this consumer consumes\n * <span pulumi-lang-nodejs=\"`streamSequence`\" pulumi-lang-dotnet=\"`StreamSequence`\" pulumi-lang-go=\"`streamSequence`\" pulumi-lang-python=\"`stream_sequence`\" pulumi-lang-yaml=\"`streamSequence`\" pulumi-lang-java=\"`streamSequence`\">`stream_sequence`</span> - (optional) The Stream Sequence that will be the first message delivered by this Consumer\n * <span pulumi-lang-nodejs=\"`ratelimit`\" pulumi-lang-dotnet=\"`Ratelimit`\" pulumi-lang-go=\"`ratelimit`\" pulumi-lang-python=\"`ratelimit`\" pulumi-lang-yaml=\"`ratelimit`\" pulumi-lang-java=\"`ratelimit`\">`ratelimit`</span> - (optional) The rate limit for delivering messages to push consumers, expressed in bits per second\n * <span pulumi-lang-nodejs=\"`heartbeat`\" pulumi-lang-dotnet=\"`Heartbeat`\" pulumi-lang-go=\"`heartbeat`\" pulumi-lang-python=\"`heartbeat`\" pulumi-lang-yaml=\"`heartbeat`\" pulumi-lang-java=\"`heartbeat`\">`heartbeat`</span> - (optional) Enable heartbeat messages for push consumers, duration specified in seconds\n * <span pulumi-lang-nodejs=\"`flowControl`\" pulumi-lang-dotnet=\"`FlowControl`\" pulumi-lang-go=\"`flowControl`\" pulumi-lang-python=\"`flow_control`\" pulumi-lang-yaml=\"`flowControl`\" pulumi-lang-java=\"`flowControl`\">`flow_control`</span> - (optional) Enable flow control for push consumers\n * <span pulumi-lang-nodejs=\"`maxWaiting`\" pulumi-lang-dotnet=\"`MaxWaiting`\" pulumi-lang-go=\"`maxWaiting`\" pulumi-lang-python=\"`max_waiting`\" pulumi-lang-yaml=\"`maxWaiting`\" pulumi-lang-java=\"`maxWaiting`\">`max_waiting`</span> - (optional) The number of pulls that can be outstanding on a pull consumer, pulls received after this is reached are ignored\n * <span pulumi-lang-nodejs=\"`headersOnly`\" pulumi-lang-dotnet=\"`HeadersOnly`\" pulumi-lang-go=\"`headersOnly`\" pulumi-lang-python=\"`headers_only`\" pulumi-lang-yaml=\"`headersOnly`\" pulumi-lang-java=\"`headersOnly`\">`headers_only`</span> - (optional) When true no message bodies will be delivered only headers\n * <span pulumi-lang-nodejs=\"`maxBatch`\" pulumi-lang-dotnet=\"`MaxBatch`\" pulumi-lang-go=\"`maxBatch`\" pulumi-lang-python=\"`max_batch`\" pulumi-lang-yaml=\"`maxBatch`\" pulumi-lang-java=\"`maxBatch`\">`max_batch`</span> - (optional) Limits Pull Batch sizes to this maximum\n * <span pulumi-lang-nodejs=\"`maxBytes`\" pulumi-lang-dotnet=\"`MaxBytes`\" pulumi-lang-go=\"`maxBytes`\" pulumi-lang-python=\"`max_bytes`\" pulumi-lang-yaml=\"`maxBytes`\" pulumi-lang-java=\"`maxBytes`\">`max_bytes`</span> - (optional)The maximum bytes value that maybe set when dong a pull on a Pull Consumer\n * <span pulumi-lang-nodejs=\"`maxExpires`\" pulumi-lang-dotnet=\"`MaxExpires`\" pulumi-lang-go=\"`maxExpires`\" pulumi-lang-python=\"`max_expires`\" pulumi-lang-yaml=\"`maxExpires`\" pulumi-lang-java=\"`maxExpires`\">`max_expires`</span> - (optional) Limits the Pull Expires duration to this maximum in seconds\n * <span pulumi-lang-nodejs=\"`inactiveThreshold`\" pulumi-lang-dotnet=\"`InactiveThreshold`\" pulumi-lang-go=\"`inactiveThreshold`\" pulumi-lang-python=\"`inactive_threshold`\" pulumi-lang-yaml=\"`inactiveThreshold`\" pulumi-lang-java=\"`inactiveThreshold`\">`inactive_threshold`</span> - (optional) Removes the consumer after a idle period, specified as a duration in seconds\n * <span pulumi-lang-nodejs=\"`maxAckPending`\" pulumi-lang-dotnet=\"`MaxAckPending`\" pulumi-lang-go=\"`maxAckPending`\" pulumi-lang-python=\"`max_ack_pending`\" pulumi-lang-yaml=\"`maxAckPending`\" pulumi-lang-java=\"`maxAckPending`\">`max_ack_pending`</span> - (optional) Maximum pending Acks before consumers are paused\n * <span pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\">`replicas`</span> - (optional) How many replicas of the data to keep in a clustered environment\n * <span pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\">`memory`</span> - (optional) Force the consumer state to be kept in memory rather than inherit the setting from the stream\n * <span pulumi-lang-nodejs=\"`backoff`\" pulumi-lang-dotnet=\"`Backoff`\" pulumi-lang-go=\"`backoff`\" pulumi-lang-python=\"`backoff`\" pulumi-lang-yaml=\"`backoff`\" pulumi-lang-java=\"`backoff`\">`backoff`</span> - (optional) List of durations in Go format that represents a retry time scale for NaK'd messages. A list of durations in seconds\n","inputProperties":{"ackPolicy":{"description":"The delivery acknowledgement policy to apply to the Consumer","type":"string"},"ackWait":{"description":"Number of seconds to wait for acknowledgement","type":"number"},"backoffs":{"description":"List of durations in Go format that represents a retry time scale for NaK'd messages. A list of durations in seconds.","items":{"type":"number"},"type":"array"},"consumerId":{"type":"string"},"deliverAll":{"description":"Starts at the first available message in the Stream","type":"boolean"},"deliverLast":{"description":"Starts at the latest available message in the Stream","type":"boolean"},"deliverLastPerSubject":{"description":"Starts with the last message for each subject matched by filter","type":"boolean"},"deliverNew":{"description":"Starts with the next available message in the Stream","type":"boolean"},"deliveryGroup":{"description":"When set Push consumers will only deliver messages to subscriptions with this group set","type":"string"},"deliverySubject":{"description":"The subject where a Push-based consumer will deliver messages","type":"string"},"description":{"description":"Contains additional information about this consumer","type":"string"},"durableName":{"description":"The durable name of the Consumer","type":"string"},"filterSubject":{"description":"Only receive a subset of messages from the Stream based on the subject they entered the Stream on","type":"string"},"filterSubjects":{"description":"Only receive a subset of messages from the stream baseed on the subjects they entered the Streeam on, exlusive to<span pulumi-lang-nodejs=\" filterSubject \" pulumi-lang-dotnet=\" FilterSubject \" pulumi-lang-go=\" filterSubject \" pulumi-lang-python=\" filter_subject \" pulumi-lang-yaml=\" filterSubject \" pulumi-lang-java=\" filterSubject \"> filter_subject </span>and works with nats-server v2.10 or better","items":{"type":"string"},"type":"array"},"flowControl":{"description":"Enable flow control for push consumers","type":"boolean"},"headersOnly":{"description":"When true no message bodies will be delivered only headers","type":"boolean"},"heartbeat":{"description":"Enable heartbeat messages for push consumers, duration specified in seconds","type":"number"},"inactiveThreshold":{"description":"Removes the consumer after a idle period, specified as a duration in seconds","type":"number"},"maxAckPending":{"description":"Maximum pending Acks before consumers are paused","type":"number"},"maxBatch":{"description":"Limits Pull Batch sizes to this maximum","type":"number"},"maxBytes":{"description":"The maximum bytes value that maybe set when dong a pull on a Pull Consumer","type":"number"},"maxDelivery":{"description":"Maximum deliveries to attempt for each message","type":"number"},"maxExpires":{"description":"Limits the Pull Expires duration to this maximum in seconds","type":"number"},"maxWaiting":{"description":"The number of pulls that can be outstanding on a pull consumer, pulls received after this is reached are ignored","type":"number"},"memory":{"description":"Force the consumer state to be kept in memory rather than inherit the setting from the stream","type":"boolean"},"metadata":{"additionalProperties":{"type":"string"},"description":"Free form metadata about the consumer","type":"object"},"priorityGroups":{"description":"List of priority groups this consumer supports","items":{"type":"string"},"type":"array"},"priorityPolicy":{"description":"The priority policy the consumer is set to","type":"string"},"priorityTimeout":{"description":"For<span pulumi-lang-nodejs=\" pinnedClient \" pulumi-lang-dotnet=\" PinnedClient \" pulumi-lang-go=\" pinnedClient \" pulumi-lang-python=\" pinned_client \" pulumi-lang-yaml=\" pinnedClient \" pulumi-lang-java=\" pinnedClient \"> pinned_client </span>priority policy how long before the client times out","type":"number"},"ratelimit":{"description":"The rate limit for delivering messages to push consumers, expressed in bits per second","type":"number"},"replayPolicy":{"description":"The rate at which messages will be replayed from the stream","type":"string"},"replicas":{"description":"How many replicas of the data to keep in a clustered environment","type":"number"},"sampleFreq":{"description":"The percentage of acknowledgements that will be sampled for observability purposes","type":"number"},"startTime":{"description":"The timestamp of the first message that will be delivered by this Consumer","type":"string"},"streamId":{"description":"The name of the Stream that this consumer consumes","type":"string"},"streamSequence":{"description":"The Stream Sequence that will be the first message delivered by this Consumer","type":"number"}},"properties":{"ackPolicy":{"description":"The delivery acknowledgement policy to apply to the Consumer","type":"string"},"ackWait":{"description":"Number of seconds to wait for acknowledgement","type":"number"},"backoffs":{"description":"List of durations in Go format that represents a retry time scale for NaK'd messages. A list of durations in seconds.","items":{"type":"number"},"type":"array"},"consumerId":{"type":"string"},"deliverAll":{"description":"Starts at the first available message in the Stream","type":"boolean"},"deliverLast":{"description":"Starts at the latest available message in the Stream","type":"boolean"},"deliverLastPerSubject":{"description":"Starts with the last message for each subject matched by filter","type":"boolean"},"deliverNew":{"description":"Starts with the next available message in the Stream","type":"boolean"},"deliveryGroup":{"description":"When set Push consumers will only deliver messages to subscriptions with this group set","type":"string"},"deliverySubject":{"description":"The subject where a Push-based consumer will deliver messages","type":"string"},"description":{"description":"Contains additional information about this consumer","type":"string"},"durableName":{"description":"The durable name of the Consumer","type":"string"},"filterSubject":{"description":"Only receive a subset of messages from the Stream based on the subject they entered the Stream on","type":"string"},"filterSubjects":{"description":"Only receive a subset of messages from the stream baseed on the subjects they entered the Streeam on, exlusive to<span pulumi-lang-nodejs=\" filterSubject \" pulumi-lang-dotnet=\" FilterSubject \" pulumi-lang-go=\" filterSubject \" pulumi-lang-python=\" filter_subject \" pulumi-lang-yaml=\" filterSubject \" pulumi-lang-java=\" filterSubject \"> filter_subject </span>and works with nats-server v2.10 or better","items":{"type":"string"},"type":"array"},"flowControl":{"description":"Enable flow control for push consumers","type":"boolean"},"headersOnly":{"description":"When true no message bodies will be delivered only headers","type":"boolean"},"heartbeat":{"description":"Enable heartbeat messages for push consumers, duration specified in seconds","type":"number"},"inactiveThreshold":{"description":"Removes the consumer after a idle period, specified as a duration in seconds","type":"number"},"maxAckPending":{"description":"Maximum pending Acks before consumers are paused","type":"number"},"maxBatch":{"description":"Limits Pull Batch sizes to this maximum","type":"number"},"maxBytes":{"description":"The maximum bytes value that maybe set when dong a pull on a Pull Consumer","type":"number"},"maxDelivery":{"description":"Maximum deliveries to attempt for each message","type":"number"},"maxExpires":{"description":"Limits the Pull Expires duration to this maximum in seconds","type":"number"},"maxWaiting":{"description":"The number of pulls that can be outstanding on a pull consumer, pulls received after this is reached are ignored","type":"number"},"memory":{"description":"Force the consumer state to be kept in memory rather than inherit the setting from the stream","type":"boolean"},"metadata":{"additionalProperties":{"type":"string"},"description":"Free form metadata about the consumer","type":"object"},"priorityGroups":{"description":"List of priority groups this consumer supports","items":{"type":"string"},"type":"array"},"priorityPolicy":{"description":"The priority policy the consumer is set to","type":"string"},"priorityTimeout":{"description":"For<span pulumi-lang-nodejs=\" pinnedClient \" pulumi-lang-dotnet=\" PinnedClient \" pulumi-lang-go=\" pinnedClient \" pulumi-lang-python=\" pinned_client \" pulumi-lang-yaml=\" pinnedClient \" pulumi-lang-java=\" pinnedClient \"> pinned_client </span>priority policy how long before the client times out","type":"number"},"ratelimit":{"description":"The rate limit for delivering messages to push consumers, expressed in bits per second","type":"number"},"replayPolicy":{"description":"The rate at which messages will be replayed from the stream","type":"string"},"replicas":{"description":"How many replicas of the data to keep in a clustered environment","type":"number"},"sampleFreq":{"description":"The percentage of acknowledgements that will be sampled for observability purposes","type":"number"},"startTime":{"description":"The timestamp of the first message that will be delivered by this Consumer","type":"string"},"streamId":{"description":"The name of the Stream that this consumer consumes","type":"string"},"streamSequence":{"description":"The Stream Sequence that will be the first message delivered by this Consumer","type":"number"}},"required":["consumerId","durableName","maxWaiting","streamId"],"requiredInputs":["durableName","streamId"],"stateInputs":{"description":"Input properties used for looking up and filtering Consumer resources.\n","properties":{"ackPolicy":{"description":"The delivery acknowledgement policy to apply to the Consumer","type":"string"},"ackWait":{"description":"Number of seconds to wait for acknowledgement","type":"number"},"backoffs":{"description":"List of durations in Go format that represents a retry time scale for NaK'd messages. A list of durations in seconds.","items":{"type":"number"},"type":"array"},"consumerId":{"type":"string"},"deliverAll":{"description":"Starts at the first available message in the Stream","type":"boolean"},"deliverLast":{"description":"Starts at the latest available message in the Stream","type":"boolean"},"deliverLastPerSubject":{"description":"Starts with the last message for each subject matched by filter","type":"boolean"},"deliverNew":{"description":"Starts with the next available message in the Stream","type":"boolean"},"deliveryGroup":{"description":"When set Push consumers will only deliver messages to subscriptions with this group set","type":"string"},"deliverySubject":{"description":"The subject where a Push-based consumer will deliver messages","type":"string"},"description":{"description":"Contains additional information about this consumer","type":"string"},"durableName":{"description":"The durable name of the Consumer","type":"string"},"filterSubject":{"description":"Only receive a subset of messages from the Stream based on the subject they entered the Stream on","type":"string"},"filterSubjects":{"description":"Only receive a subset of messages from the stream baseed on the subjects they entered the Streeam on, exlusive to<span pulumi-lang-nodejs=\" filterSubject \" pulumi-lang-dotnet=\" FilterSubject \" pulumi-lang-go=\" filterSubject \" pulumi-lang-python=\" filter_subject \" pulumi-lang-yaml=\" filterSubject \" pulumi-lang-java=\" filterSubject \"> filter_subject </span>and works with nats-server v2.10 or better","items":{"type":"string"},"type":"array"},"flowControl":{"description":"Enable flow control for push consumers","type":"boolean"},"headersOnly":{"description":"When true no message bodies will be delivered only headers","type":"boolean"},"heartbeat":{"description":"Enable heartbeat messages for push consumers, duration specified in seconds","type":"number"},"inactiveThreshold":{"description":"Removes the consumer after a idle period, specified as a duration in seconds","type":"number"},"maxAckPending":{"description":"Maximum pending Acks before consumers are paused","type":"number"},"maxBatch":{"description":"Limits Pull Batch sizes to this maximum","type":"number"},"maxBytes":{"description":"The maximum bytes value that maybe set when dong a pull on a Pull Consumer","type":"number"},"maxDelivery":{"description":"Maximum deliveries to attempt for each message","type":"number"},"maxExpires":{"description":"Limits the Pull Expires duration to this maximum in seconds","type":"number"},"maxWaiting":{"description":"The number of pulls that can be outstanding on a pull consumer, pulls received after this is reached are ignored","type":"number"},"memory":{"description":"Force the consumer state to be kept in memory rather than inherit the setting from the stream","type":"boolean"},"metadata":{"additionalProperties":{"type":"string"},"description":"Free form metadata about the consumer","type":"object"},"priorityGroups":{"description":"List of priority groups this consumer supports","items":{"type":"string"},"type":"array"},"priorityPolicy":{"description":"The priority policy the consumer is set to","type":"string"},"priorityTimeout":{"description":"For<span pulumi-lang-nodejs=\" pinnedClient \" pulumi-lang-dotnet=\" PinnedClient \" pulumi-lang-go=\" pinnedClient \" pulumi-lang-python=\" pinned_client \" pulumi-lang-yaml=\" pinnedClient \" pulumi-lang-java=\" pinnedClient \"> pinned_client </span>priority policy how long before the client times out","type":"number"},"ratelimit":{"description":"The rate limit for delivering messages to push consumers, expressed in bits per second","type":"number"},"replayPolicy":{"description":"The rate at which messages will be replayed from the stream","type":"string"},"replicas":{"description":"How many replicas of the data to keep in a clustered environment","type":"number"},"sampleFreq":{"description":"The percentage of acknowledgements that will be sampled for observability purposes","type":"number"},"startTime":{"description":"The timestamp of the first message that will be delivered by this Consumer","type":"string"},"streamId":{"description":"The name of the Stream that this consumer consumes","type":"string"},"streamSequence":{"description":"The Stream Sequence that will be the first message delivered by this Consumer","type":"number"}},"type":"object"},"type":"object"},"jetstream:index/kvBucket:KvBucket":{"description":"## #<span pulumi-lang-nodejs=\" jetstream.KvBucket \" pulumi-lang-dotnet=\" jetstream.KvBucket \" pulumi-lang-go=\" KvBucket \" pulumi-lang-python=\" KvBucket \" pulumi-lang-yaml=\" jetstream.KvBucket \" pulumi-lang-java=\" jetstream.KvBucket \"> jetstream.KvBucket </span>Resource\n\nThe <span pulumi-lang-nodejs=\"`jetstream.KvBucket`\" pulumi-lang-dotnet=\"`jetstream.KvBucket`\" pulumi-lang-go=\"`KvBucket`\" pulumi-lang-python=\"`KvBucket`\" pulumi-lang-yaml=\"`jetstream.KvBucket`\" pulumi-lang-java=\"`jetstream.KvBucket`\">`jetstream.KvBucket`</span> Resource manages JetStream Based Key-Value buckets, supports editing Buckets in place.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst CFG = new jetstream.KvBucket(\"CFG\", {\n    name: \"CFG\",\n    history: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_jetstream as jetstream\n\ncfg = jetstream.KvBucket(\"CFG\",\n    name=\"CFG\",\n    history=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var CFG = new Jetstream.KvBucket(\"CFG\", new()\n    {\n        Name = \"CFG\",\n        History = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\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 := jetstream.NewKvBucket(ctx, \"CFG\", &jetstream.KvBucketArgs{\n\t\t\tName:    pulumi.String(\"CFG\"),\n\t\t\tHistory: pulumi.Float64(10),\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.jetstream.KvBucket;\nimport com.pulumi.jetstream.KvBucketArgs;\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 cFG = new KvBucket(\"CFG\", KvBucketArgs.builder()\n            .name(\"CFG\")\n            .history(10.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  CFG:\n    type: jetstream:KvBucket\n    properties:\n      name: CFG\n      history: 10\n```\n<!--End PulumiCodeChooser -->\n\n### Attribute Reference\n\n* <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span> - (required) The unique name of the KV bucket, must match `\\A[a-zA-Z0-9_-]+\\z`\n* <span pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\">`description`</span> - (optional) Contains additional information about this bucket\n* <span pulumi-lang-nodejs=\"`storage`\" pulumi-lang-dotnet=\"`Storage`\" pulumi-lang-go=\"`storage`\" pulumi-lang-python=\"`storage`\" pulumi-lang-yaml=\"`storage`\" pulumi-lang-java=\"`storage`\">`storage`</span> - (optional) Storage backend to use, defaults to <span pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\">`file`</span>, can be <span pulumi-lang-nodejs=\"`file`\" pulumi-lang-dotnet=\"`File`\" pulumi-lang-go=\"`file`\" pulumi-lang-python=\"`file`\" pulumi-lang-yaml=\"`file`\" pulumi-lang-java=\"`file`\">`file`</span> or <span pulumi-lang-nodejs=\"`memory`\" pulumi-lang-dotnet=\"`Memory`\" pulumi-lang-go=\"`memory`\" pulumi-lang-python=\"`memory`\" pulumi-lang-yaml=\"`memory`\" pulumi-lang-java=\"`memory`\">`memory`</span>\n* <span pulumi-lang-nodejs=\"`history`\" pulumi-lang-dotnet=\"`History`\" pulumi-lang-go=\"`history`\" pulumi-lang-python=\"`history`\" pulumi-lang-yaml=\"`history`\" pulumi-lang-java=\"`history`\">`history`</span> - (optional) Number of historic values to keep\n* <span pulumi-lang-nodejs=\"`ttl`\" pulumi-lang-dotnet=\"`Ttl`\" pulumi-lang-go=\"`ttl`\" pulumi-lang-python=\"`ttl`\" pulumi-lang-yaml=\"`ttl`\" pulumi-lang-java=\"`ttl`\">`ttl`</span> - (optional) How many seconds to keep values for, keeps forever when not set\n* <span pulumi-lang-nodejs=\"`placementCluster`\" pulumi-lang-dotnet=\"`PlacementCluster`\" pulumi-lang-go=\"`placementCluster`\" pulumi-lang-python=\"`placement_cluster`\" pulumi-lang-yaml=\"`placementCluster`\" pulumi-lang-java=\"`placementCluster`\">`placement_cluster`</span> - (optional) Place the bucket in a specific cluster, influenced by<span pulumi-lang-nodejs=\" placementTags\n\" pulumi-lang-dotnet=\" PlacementTags\n\" pulumi-lang-go=\" placementTags\n\" pulumi-lang-python=\" placement_tags\n\" pulumi-lang-yaml=\" placementTags\n\" pulumi-lang-java=\" placementTags\n\"> placement_tags\n</span>* <span pulumi-lang-nodejs=\"`placementTags`\" pulumi-lang-dotnet=\"`PlacementTags`\" pulumi-lang-go=\"`placementTags`\" pulumi-lang-python=\"`placement_tags`\" pulumi-lang-yaml=\"`placementTags`\" pulumi-lang-java=\"`placementTags`\">`placement_tags`</span> - (optional) Place the bucket only on servers with these tags\n* <span pulumi-lang-nodejs=\"`maxValueSize`\" pulumi-lang-dotnet=\"`MaxValueSize`\" pulumi-lang-go=\"`maxValueSize`\" pulumi-lang-python=\"`max_value_size`\" pulumi-lang-yaml=\"`maxValueSize`\" pulumi-lang-java=\"`maxValueSize`\">`max_value_size`</span> - (optional) Maximum size of any value\n* <span pulumi-lang-nodejs=\"`maxBucketSize`\" pulumi-lang-dotnet=\"`MaxBucketSize`\" pulumi-lang-go=\"`maxBucketSize`\" pulumi-lang-python=\"`max_bucket_size`\" pulumi-lang-yaml=\"`maxBucketSize`\" pulumi-lang-java=\"`maxBucketSize`\">`max_bucket_size`</span> - (optional) The maximum size of all data in the bucket\n* <span pulumi-lang-nodejs=\"`replicas`\" pulumi-lang-dotnet=\"`Replicas`\" pulumi-lang-go=\"`replicas`\" pulumi-lang-python=\"`replicas`\" pulumi-lang-yaml=\"`replicas`\" pulumi-lang-java=\"`replicas`\">`replicas`</span> - (optional) How many replicas to keep on a JetStream cluster\n","inputProperties":{"description":{"description":"Contains additional information about this bucket","type":"string"},"history":{"description":"How many historical values to keep","type":"number"},"kvBucketId":{"type":"string"},"limitMarkerTtl":{"description":"Enables Per-Key TTLs and Limit Markers, duration specified in seconds","type":"number"},"maxBucketSize":{"description":"Maximum size of the entire bucket","type":"number"},"maxValueSize":{"description":"Maximum size of any value","type":"number"},"name":{"description":"The name of the Bucket","type":"string"},"placementCluster":{"description":"Place the bucket in a specific cluster, influenced by placement_tags","type":"string"},"placementTags":{"description":"Place the stream only on servers with these tags","items":{"type":"string"},"type":"array"},"replicas":{"description":"Number of cluster replicas to store","type":"number"},"storage":{"description":"The storage engine to use to back the bucket","type":"string"},"ttl":{"description":"How many seconds a value will be kept in the bucket","type":"number"}},"properties":{"description":{"description":"Contains additional information about this bucket","type":"string"},"history":{"description":"How many historical values to keep","type":"number"},"kvBucketId":{"type":"string"},"limitMarkerTtl":{"description":"Enables Per-Key TTLs and Limit Markers, duration specified in seconds","type":"number"},"maxBucketSize":{"description":"Maximum size of the entire bucket","type":"number"},"maxValueSize":{"description":"Maximum size of any value","type":"number"},"name":{"description":"The name of the Bucket","type":"string"},"placementCluster":{"description":"Place the bucket in a specific cluster, influenced by placement_tags","type":"string"},"placementTags":{"description":"Place the stream only on servers with these tags","items":{"type":"string"},"type":"array"},"replicas":{"description":"Number of cluster replicas to store","type":"number"},"storage":{"description":"The storage engine to use to back the bucket","type":"string"},"ttl":{"description":"How many seconds a value will be kept in the bucket","type":"number"}},"required":["kvBucketId","name"],"stateInputs":{"description":"Input properties used for looking up and filtering KvBucket resources.\n","properties":{"description":{"description":"Contains additional information about this bucket","type":"string"},"history":{"description":"How many historical values to keep","type":"number"},"kvBucketId":{"type":"string"},"limitMarkerTtl":{"description":"Enables Per-Key TTLs and Limit Markers, duration specified in seconds","type":"number"},"maxBucketSize":{"description":"Maximum size of the entire bucket","type":"number"},"maxValueSize":{"description":"Maximum size of any value","type":"number"},"name":{"description":"The name of the Bucket","type":"string"},"placementCluster":{"description":"Place the bucket in a specific cluster, influenced by placement_tags","type":"string"},"placementTags":{"description":"Place the stream only on servers with these tags","items":{"type":"string"},"type":"array"},"replicas":{"description":"Number of cluster replicas to store","type":"number"},"storage":{"description":"The storage engine to use to back the bucket","type":"string"},"ttl":{"description":"How many seconds a value will be kept in the bucket","type":"number"}},"type":"object"},"type":"object"},"jetstream:index/kvEntry:KvEntry":{"description":"##<span pulumi-lang-nodejs=\" jetstream.KvEntry \" pulumi-lang-dotnet=\" jetstream.KvEntry \" pulumi-lang-go=\" KvEntry \" pulumi-lang-python=\" KvEntry \" pulumi-lang-yaml=\" jetstream.KvEntry \" pulumi-lang-java=\" jetstream.KvEntry \"> jetstream.KvEntry </span>Resource\n\nThe <span pulumi-lang-nodejs=\"`jetstream.KvEntry`\" pulumi-lang-dotnet=\"`jetstream.KvEntry`\" pulumi-lang-go=\"`KvEntry`\" pulumi-lang-python=\"`KvEntry`\" pulumi-lang-yaml=\"`jetstream.KvEntry`\" pulumi-lang-java=\"`jetstream.KvEntry`\">`jetstream.KvEntry`</span> Resource manages entries in JetStream Based Key-Value buckets and supports editing entries in place.\n\n### Example\n\nUsing a string value:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst myserviceCfg = new jetstream.KvEntry(\"myservice_cfg\", {\n    bucket: \"CFG\",\n    key: \"config.myservice.timeout\",\n    value: \"10\",\n});\n```\n```python\nimport pulumi\nimport pulumi_jetstream as jetstream\n\nmyservice_cfg = jetstream.KvEntry(\"myservice_cfg\",\n    bucket=\"CFG\",\n    key=\"config.myservice.timeout\",\n    value=\"10\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myserviceCfg = new Jetstream.KvEntry(\"myservice_cfg\", new()\n    {\n        Bucket = \"CFG\",\n        Key = \"config.myservice.timeout\",\n        Value = \"10\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\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 := jetstream.NewKvEntry(ctx, \"myservice_cfg\", &jetstream.KvEntryArgs{\n\t\t\tBucket: pulumi.String(\"CFG\"),\n\t\t\tKey:    pulumi.String(\"config.myservice.timeout\"),\n\t\t\tValue:  pulumi.String(\"10\"),\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.jetstream.KvEntry;\nimport com.pulumi.jetstream.KvEntryArgs;\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 myserviceCfg = new KvEntry(\"myserviceCfg\", KvEntryArgs.builder()\n            .bucket(\"CFG\")\n            .key(\"config.myservice.timeout\")\n            .value(\"10\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myserviceCfg:\n    type: jetstream:KvEntry\n    name: myservice_cfg\n    properties:\n      bucket: CFG\n      key: config.myservice.timeout\n      value: '10'\n```\n<!--End PulumiCodeChooser -->\n\nUsing json:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst myserviceCfg = new jetstream.KvEntry(\"myservice_cfg\", {\n    bucket: \"CFG\",\n    key: \"config.myservice\",\n    value: JSON.stringify({\n        timeout: 10,\n        retries: 3,\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_jetstream as jetstream\n\nmyservice_cfg = jetstream.KvEntry(\"myservice_cfg\",\n    bucket=\"CFG\",\n    key=\"config.myservice\",\n    value=json.dumps({\n        \"timeout\": 10,\n        \"retries\": 3,\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var myserviceCfg = new Jetstream.KvEntry(\"myservice_cfg\", new()\n    {\n        Bucket = \"CFG\",\n        Key = \"config.myservice\",\n        Value = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"timeout\"] = 10,\n            [\"retries\"] = 3,\n        }),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"timeout\": 10,\n\t\t\t\"retries\": 3,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = jetstream.NewKvEntry(ctx, \"myservice_cfg\", &jetstream.KvEntryArgs{\n\t\t\tBucket: pulumi.String(\"CFG\"),\n\t\t\tKey:    pulumi.String(\"config.myservice\"),\n\t\t\tValue:  pulumi.String(json0),\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.jetstream.KvEntry;\nimport com.pulumi.jetstream.KvEntryArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\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 myserviceCfg = new KvEntry(\"myserviceCfg\", KvEntryArgs.builder()\n            .bucket(\"CFG\")\n            .key(\"config.myservice\")\n            .value(serializeJson(\n                jsonObject(\n                    jsonProperty(\"timeout\", 10),\n                    jsonProperty(\"retries\", 3)\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myserviceCfg:\n    type: jetstream:KvEntry\n    name: myservice_cfg\n    properties:\n      bucket: CFG\n      key: config.myservice\n      value:\n        fn::toJSON:\n          timeout: 10\n          retries: 3\n```\n<!--End PulumiCodeChooser -->\n\n### Attribute Reference\n\n * <span pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\">`bucket`</span> - (required) The name of the KV bucket\n * <span pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\">`key`</span> - (required) The entry key\n * <span pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\">`value`</span> - (required) The entry value\n","inputProperties":{"bucket":{"description":"The name of the bucket","type":"string"},"key":{"description":"The key of the entry","type":"string"},"kvEntryId":{"type":"string"},"value":{"description":"The value of the entry","type":"string"}},"properties":{"bucket":{"description":"The name of the bucket","type":"string"},"key":{"description":"The key of the entry","type":"string"},"kvEntryId":{"type":"string"},"revision":{"description":"The revision of the entry","type":"number"},"value":{"description":"The value of the entry","type":"string"}},"required":["bucket","key","kvEntryId","revision","value"],"requiredInputs":["bucket","key","value"],"stateInputs":{"description":"Input properties used for looking up and filtering KvEntry resources.\n","properties":{"bucket":{"description":"The name of the bucket","type":"string"},"key":{"description":"The key of the entry","type":"string"},"kvEntryId":{"type":"string"},"revision":{"description":"The revision of the entry","type":"number"},"value":{"description":"The value of the entry","type":"string"}},"type":"object"},"type":"object"},"jetstream:index/stream:Stream":{"description":"## #<span pulumi-lang-nodejs=\" jetstream.Stream \" pulumi-lang-dotnet=\" jetstream.Stream \" pulumi-lang-go=\" Stream \" pulumi-lang-python=\" Stream \" pulumi-lang-yaml=\" jetstream.Stream \" pulumi-lang-java=\" jetstream.Stream \"> jetstream.Stream </span>Resource\n\nThe <span pulumi-lang-nodejs=\"`jetstream.Stream`\" pulumi-lang-dotnet=\"`jetstream.Stream`\" pulumi-lang-go=\"`Stream`\" pulumi-lang-python=\"`Stream`\" pulumi-lang-yaml=\"`jetstream.Stream`\" pulumi-lang-java=\"`jetstream.Stream`\">`jetstream.Stream`</span> Resource creates a JetStream Stream, supports editing resources in place.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst ORDERS = new jetstream.Stream(\"ORDERS\", {\n    name: \"ORDERS\",\n    subjects: [\"ORDERS.*\"],\n    storage: \"file\",\n    maxAge: 60 * 60 * 24 * 365,\n});\n```\n```python\nimport pulumi\nimport pulumi_jetstream as jetstream\n\norders = jetstream.Stream(\"ORDERS\",\n    name=\"ORDERS\",\n    subjects=[\"ORDERS.*\"],\n    storage=\"file\",\n    max_age=60 * 60 * 24 * 365)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var ORDERS = new Jetstream.Stream(\"ORDERS\", new()\n    {\n        Name = \"ORDERS\",\n        Subjects = new[]\n        {\n            \"ORDERS.*\",\n        },\n        Storage = \"file\",\n        MaxAge = 60 * 60 * 24 * 365,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\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 := jetstream.NewStream(ctx, \"ORDERS\", &jetstream.StreamArgs{\n\t\t\tName: pulumi.String(\"ORDERS\"),\n\t\t\tSubjects: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ORDERS.*\"),\n\t\t\t},\n\t\t\tStorage: pulumi.String(\"file\"),\n\t\t\tMaxAge:  60 * 60 * 24 * 365,\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.jetstream.Stream;\nimport com.pulumi.jetstream.StreamArgs;\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 oRDERS = new Stream(\"ORDERS\", StreamArgs.builder()\n            .name(\"ORDERS\")\n            .subjects(\"ORDERS.*\")\n            .storage(\"file\")\n            .maxAge(60 * 60 * 24 * 365)\n            .build());\n\n    }\n}\n```\n<!--End PulumiCodeChooser -->\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as jetstream from \"@pulumi/jetstream\";\n\nconst ORDERS_ARCHIVE = new jetstream.Stream(\"ORDERS_ARCHIVE\", {\n    name: \"ORDERS_ARCHIVE\",\n    storage: \"file\",\n    maxAge: 5 * 60 * 60 * 24 * 365,\n    mirrorDirect: true,\n    mirror: {\n        name: \"ORDERS\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_jetstream as jetstream\n\norder_s__archive = jetstream.Stream(\"ORDERS_ARCHIVE\",\n    name=\"ORDERS_ARCHIVE\",\n    storage=\"file\",\n    max_age=5 * 60 * 60 * 24 * 365,\n    mirror_direct=True,\n    mirror={\n        \"name\": \"ORDERS\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Jetstream = Pulumi.Jetstream;\n\nreturn await Deployment.RunAsync(() => \n{\n    var ORDERS_ARCHIVE = new Jetstream.Stream(\"ORDERS_ARCHIVE\", new()\n    {\n        Name = \"ORDERS_ARCHIVE\",\n        Storage = \"file\",\n        MaxAge = 5 * 60 * 60 * 24 * 365,\n        MirrorDirect = true,\n        Mirror = new Jetstream.Inputs.StreamMirrorArgs\n        {\n            Name = \"ORDERS\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/jetstream/jetstream\"\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 := jetstream.NewStream(ctx, \"ORDERS_ARCHIVE\", &jetstream.StreamArgs{\n\t\t\tName:         pulumi.String(\"ORDERS_ARCHIVE\"),\n\t\t\tStorage:      pulumi.String(\"file\"),\n\t\t\tMaxAge:       5 * 60 * 60 * 24 * 365,\n\t\t\tMirrorDirect: pulumi.Bool(true),\n\t\t\tMirror: &jetstream.StreamMirrorArgs{\n\t\t\t\tName: pulumi.String(\"ORDERS\"),\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.jetstream.Stream;\nimport com.pulumi.jetstream.StreamArgs;\nimport com.pulumi.jetstream.inputs.StreamMirrorArgs;\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 oRDERS_ARCHIVE = new Stream(\"ORDERS_ARCHIVE\", StreamArgs.builder()\n            .name(\"ORDERS_ARCHIVE\")\n            .storage(\"file\")\n            .maxAge(5 * 60 * 60 * 24 * 365)\n            .mirrorDirect(true)\n            .mirror(StreamMirrorArgs.builder()\n                .name(\"ORDERS\")\n                .build())\n            .build());\n\n    }\n}\n```\n<!--End PulumiCodeChooser -->\n\n## Sources and Mirrors\n\nAbove the `ORDERS_ARCHIVE` stream is a mirror of `ORDERS`, valid options for specifying a mirror and sources are:\n\n * <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span> - The name of the stream to mirror\n * <span pulumi-lang-nodejs=\"`filterSubject`\" pulumi-lang-dotnet=\"`FilterSubject`\" pulumi-lang-go=\"`filterSubject`\" pulumi-lang-python=\"`filter_subject`\" pulumi-lang-yaml=\"`filterSubject`\" pulumi-lang-java=\"`filterSubject`\">`filter_subject`</span> - (optional) For sources this filters the source\n * <span pulumi-lang-nodejs=\"`startSeq`\" pulumi-lang-dotnet=\"`StartSeq`\" pulumi-lang-go=\"`startSeq`\" pulumi-lang-python=\"`start_seq`\" pulumi-lang-yaml=\"`startSeq`\" pulumi-lang-java=\"`startSeq`\">`start_seq`</span> - (optional) Starts the mirror or source at this sequence in the source\n * <span pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\">`start_time`</span> - (optional) Starts the mirror or source at this time in the source, in RFC3339 format\n * <span pulumi-lang-nodejs=\"`external`\" pulumi-lang-dotnet=\"`External`\" pulumi-lang-go=\"`external`\" pulumi-lang-python=\"`external`\" pulumi-lang-yaml=\"`external`\" pulumi-lang-java=\"`external`\">`external`</span> - (optional) Reference to an external stream with keys <span pulumi-lang-nodejs=\"`api`\" pulumi-lang-dotnet=\"`Api`\" pulumi-lang-go=\"`api`\" pulumi-lang-python=\"`api`\" pulumi-lang-yaml=\"`api`\" pulumi-lang-java=\"`api`\">`api`</span> and <span pulumi-lang-nodejs=\"`deliver`\" pulumi-lang-dotnet=\"`Deliver`\" pulumi-lang-go=\"`deliver`\" pulumi-lang-python=\"`deliver`\" pulumi-lang-yaml=\"`deliver`\" pulumi-lang-java=\"`deliver`\">`deliver`</span>\n * <span pulumi-lang-nodejs=\"`consumer`\" pulumi-lang-dotnet=\"`Consumer`\" pulumi-lang-go=\"`consumer`\" pulumi-lang-python=\"`consumer`\" pulumi-lang-yaml=\"`consumer`\" pulumi-lang-java=\"`consumer`\">`consumer`</span> - (optional) Use a named durable consumer on the source stream for sourcing. A block with <span pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\">`name`</span> (the durable consumer name on the source stream) and <span pulumi-lang-nodejs=\"`deliverSubject`\" pulumi-lang-dotnet=\"`DeliverSubject`\" pulumi-lang-go=\"`deliverSubject`\" pulumi-lang-python=\"`deliver_subject`\" pulumi-lang-yaml=\"`deliverSubject`\" pulumi-lang-java=\"`deliverSubject`\">`deliver_subject`</span> (the push subject the source consumer delivers to).\n * <span pulumi-lang-nodejs=\"`mirrorDirect`\" pulumi-lang-dotnet=\"`MirrorDirect`\" pulumi-lang-go=\"`mirrorDirect`\" pulumi-lang-python=\"`mirror_direct`\" pulumi-lang-yaml=\"`mirrorDirect`\" pulumi-lang-java=\"`mirrorDirect`\">`mirror_direct`</span> - (optional) If true the mirror will participate in a serving direct get requests for individual messages from the origin stream\n","inputProperties":{"ack":{"description":"(optional) If the Stream should support confirming receiving messages via acknowledgements (bool)\n","type":"boolean"},"allowAtomic":{"description":"(optional) Enables atomic batch publishes\n","type":"boolean"},"allowBatched":{"description":"(optional) Allows fast batch publishing into the stream.\n","type":"boolean"},"allowDirect":{"description":"(optional) Allow higher performance, direct access to get individual messages via the $JS.DS.GET API (bool)\n","type":"boolean"},"allowMsgCounter":{"description":"(optional) Enables distributed counter mode for the stream. This field can only be set if <span pulumi-lang-nodejs=\"`retention`\" pulumi-lang-dotnet=\"`Retention`\" pulumi-lang-go=\"`retention`\" pulumi-lang-python=\"`retention`\" pulumi-lang-yaml=\"`retention`\" pulumi-lang-java=\"`retention`\">`retention`</span> is set to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`discard`\" pulumi-lang-dotnet=\"`Discard`\" pulumi-lang-go=\"`discard`\" pulumi-lang-python=\"`discard`\" pulumi-lang-yaml=\"`discard`\" pulumi-lang-java=\"`discard`\">`discard`</span> is not <span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span>, <span pulumi-lang-nodejs=\"`allowMsgTtl`\" pulumi-lang-dotnet=\"`AllowMsgTtl`\" pulumi-lang-go=\"`allowMsgTtl`\" pulumi-lang-python=\"`allow_msg_ttl`\" pulumi-lang-yaml=\"`allowMsgTtl`\" pulumi-lang-java=\"`allowMsgTtl`\">`allow_msg_ttl`</span> is false and the stream is not a <span pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\">`mirror`</span>.\n","type":"boolean"},"allowMsgSchedules":{"description":"(optional) Allows message scheduling for delayed or recurring delivery. This field can only be set if <span pulumi-lang-nodejs=\"`allowRollupHdrs`\" pulumi-lang-dotnet=\"`AllowRollupHdrs`\" pulumi-lang-go=\"`allowRollupHdrs`\" pulumi-lang-python=\"`allow_rollup_hdrs`\" pulumi-lang-yaml=\"`allowRollupHdrs`\" pulumi-lang-java=\"`allowRollupHdrs`\">`allow_rollup_hdrs`</span> is true.\n","type":"boolean"},"allowMsgTtl":{"description":"(optional) Enables Per Message TTLs\n","type":"boolean"},"allowRollupHdrs":{"description":"(optional) Allows the use of the Nats-Rollup header to replace all contents of a stream, or subject in a stream, with a single new message (bool)\n","type":"boolean"},"compression":{"description":"(optional) Enable stream compression by setting the value to <span pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\">`s2`</span>\n","type":"string"},"denyDelete":{"description":"(optional) Restricts the ability to delete messages from a stream via the API. Cannot be changed once set to true (bool)\n","type":"boolean"},"denyPurge":{"description":"(optional) Restricts the ability to purge messages from a stream via the API. Cannot be change once set to true (bool)\n","type":"boolean"},"description":{"description":"(optional) Contains additional information about this stream (string)\n","type":"string"},"discard":{"description":"(optional) When a Stream reach it's limits either old messages are deleted or new ones are denied (<span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span> or <span pulumi-lang-nodejs=\"`old`\" pulumi-lang-dotnet=\"`Old`\" pulumi-lang-go=\"`old`\" pulumi-lang-python=\"`old`\" pulumi-lang-yaml=\"`old`\" pulumi-lang-java=\"`old`\">`old`</span>)\n","type":"string"},"discardNewPerSubject":{"description":"(optional) When discard policy is new and the stream is one with max messages per subject set, this will apply the new behavior to every subject. Essentially turning discard new from maximum number of subjects into maximum number of messages in a subject (bool)\n","type":"boolean"},"duplicateWindow":{"description":"(optional) The time window size for duplicate tracking, duration specified in seconds (number)\n","type":"number"},"firstSeq":{"description":"(optional) Sets a custom starting sequence for the first message in the stream. Cannot be changed after the stream is created.\n","type":"number"},"inactiveThreshold":{"description":"(optional) Removes the consumer after a idle period, specified as a duration in seconds\n","type":"number"},"maxAckPending":{"description":"(optional) Maximum pending Acks before consumers are paused\n","type":"number"},"maxAge":{"description":"(optional) The maximum oldest message that can be kept in the stream, duration specified in seconds (number)\n","type":"number"},"maxBytes":{"description":"(optional) The maximum size of all messages that can be kept in the stream (number)\n","type":"number"},"maxConsumers":{"description":"(optional) Number of consumers this stream allows (number)\n","type":"number"},"maxMsgSize":{"description":"(optional) The maximum individual message size that the stream will accept (number)\n","type":"number"},"maxMsgs":{"description":"(optional) The maximum amount of messages that can be kept in the stream (number)\n","type":"number"},"maxMsgsPerSubject":{"description":"(optional) The maximum amount of messages that can be kept in the stream on a per-subject basis (number)\n","type":"number"},"metadata":{"additionalProperties":{"type":"string"},"description":"(optional) A map of strings with arbitrary metadata for the stream\n","type":"object"},"mirror":{"$ref":"#/types/jetstream:index%2FStreamMirror:StreamMirror","description":"(optional) Stream to mirror\n"},"mirrorDirect":{"description":"(optional) If true, and the stream is a mirror, the mirror will participate in a serving direct get requests for individual messages from origin stream\n","type":"boolean"},"name":{"description":"The name of the stream (string)\n","type":"string"},"persistMode":{"description":"(optional) Sets a specific persistence mode for writing to the stream. One of `\"\"` (server default), <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span>, or <span pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\">`async`</span>.\n","type":"string"},"placementCluster":{"description":"(optional) Place the stream in a specific cluster, influenced by placement_tags\n","type":"string"},"placementPreferred":{"description":"(optional) A preferred server name to move the stream leader to\n","type":"string"},"placementTags":{"description":"(optional) Place the stream only on servers with these tags\n","items":{"type":"string"},"type":"array"},"replicas":{"description":"(optional) How many replicas of the data to keep in a clustered environment (number)\n","type":"number"},"republishDestination":{"description":"(optional) The destination to publish messages to\n","type":"string"},"republishHeadersOnly":{"description":"(optional) Republish only message headers, no bodies\n","type":"boolean"},"republishSource":{"description":"(optional) Republish matching messages to <span pulumi-lang-nodejs=\"`republishDestination`\" pulumi-lang-dotnet=\"`RepublishDestination`\" pulumi-lang-go=\"`republishDestination`\" pulumi-lang-python=\"`republish_destination`\" pulumi-lang-yaml=\"`republishDestination`\" pulumi-lang-java=\"`republishDestination`\">`republish_destination`</span>\n","type":"string"},"retention":{"description":"(optional) The retention policy to apply over and above max_msgs,<span pulumi-lang-nodejs=\" maxBytes \" pulumi-lang-dotnet=\" MaxBytes \" pulumi-lang-go=\" maxBytes \" pulumi-lang-python=\" max_bytes \" pulumi-lang-yaml=\" maxBytes \" pulumi-lang-java=\" maxBytes \"> max_bytes </span>and<span pulumi-lang-nodejs=\" maxAge \" pulumi-lang-dotnet=\" MaxAge \" pulumi-lang-go=\" maxAge \" pulumi-lang-python=\" max_age \" pulumi-lang-yaml=\" maxAge \" pulumi-lang-java=\" maxAge \"> max_age </span>(string). Options are <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`interest`\" pulumi-lang-dotnet=\"`Interest`\" pulumi-lang-go=\"`interest`\" pulumi-lang-python=\"`interest`\" pulumi-lang-yaml=\"`interest`\" pulumi-lang-java=\"`interest`\">`interest`</span> and <span pulumi-lang-nodejs=\"`workqueue`\" pulumi-lang-dotnet=\"`Workqueue`\" pulumi-lang-go=\"`workqueue`\" pulumi-lang-python=\"`workqueue`\" pulumi-lang-yaml=\"`workqueue`\" pulumi-lang-java=\"`workqueue`\">`workqueue`</span>. Defaults to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>.\n","type":"string"},"sources":{"description":"(optional) List of streams to source\n","items":{"$ref":"#/types/jetstream:index%2FStreamSource:StreamSource"},"type":"array"},"storage":{"description":"(optional) The storage engine to use to back the stream (string)\n","type":"string"},"streamId":{"type":"string"},"subjectDeleteMarkerTtl":{"description":"(optional) Enables placing markers when Max Age removes messages, duration specified in seconds (number)\n","type":"number"},"subjectTransform":{"$ref":"#/types/jetstream:index%2FStreamSubjectTransform:StreamSubjectTransform","description":"(optional) A map of source and destination subjects to transform.\n"},"subjects":{"description":"The list of subjects that will be consumed by the Stream ([\"list\", \"string\"])\n","items":{"type":"string"},"type":"array"}},"properties":{"ack":{"description":"(optional) If the Stream should support confirming receiving messages via acknowledgements (bool)\n","type":"boolean"},"allowAtomic":{"description":"(optional) Enables atomic batch publishes\n","type":"boolean"},"allowBatched":{"description":"(optional) Allows fast batch publishing into the stream.\n","type":"boolean"},"allowDirect":{"description":"(optional) Allow higher performance, direct access to get individual messages via the $JS.DS.GET API (bool)\n","type":"boolean"},"allowMsgCounter":{"description":"(optional) Enables distributed counter mode for the stream. This field can only be set if <span pulumi-lang-nodejs=\"`retention`\" pulumi-lang-dotnet=\"`Retention`\" pulumi-lang-go=\"`retention`\" pulumi-lang-python=\"`retention`\" pulumi-lang-yaml=\"`retention`\" pulumi-lang-java=\"`retention`\">`retention`</span> is set to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`discard`\" pulumi-lang-dotnet=\"`Discard`\" pulumi-lang-go=\"`discard`\" pulumi-lang-python=\"`discard`\" pulumi-lang-yaml=\"`discard`\" pulumi-lang-java=\"`discard`\">`discard`</span> is not <span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span>, <span pulumi-lang-nodejs=\"`allowMsgTtl`\" pulumi-lang-dotnet=\"`AllowMsgTtl`\" pulumi-lang-go=\"`allowMsgTtl`\" pulumi-lang-python=\"`allow_msg_ttl`\" pulumi-lang-yaml=\"`allowMsgTtl`\" pulumi-lang-java=\"`allowMsgTtl`\">`allow_msg_ttl`</span> is false and the stream is not a <span pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\">`mirror`</span>.\n","type":"boolean"},"allowMsgSchedules":{"description":"(optional) Allows message scheduling for delayed or recurring delivery. This field can only be set if <span pulumi-lang-nodejs=\"`allowRollupHdrs`\" pulumi-lang-dotnet=\"`AllowRollupHdrs`\" pulumi-lang-go=\"`allowRollupHdrs`\" pulumi-lang-python=\"`allow_rollup_hdrs`\" pulumi-lang-yaml=\"`allowRollupHdrs`\" pulumi-lang-java=\"`allowRollupHdrs`\">`allow_rollup_hdrs`</span> is true.\n","type":"boolean"},"allowMsgTtl":{"description":"(optional) Enables Per Message TTLs\n","type":"boolean"},"allowRollupHdrs":{"description":"(optional) Allows the use of the Nats-Rollup header to replace all contents of a stream, or subject in a stream, with a single new message (bool)\n","type":"boolean"},"compression":{"description":"(optional) Enable stream compression by setting the value to <span pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\">`s2`</span>\n","type":"string"},"denyDelete":{"description":"(optional) Restricts the ability to delete messages from a stream via the API. Cannot be changed once set to true (bool)\n","type":"boolean"},"denyPurge":{"description":"(optional) Restricts the ability to purge messages from a stream via the API. Cannot be change once set to true (bool)\n","type":"boolean"},"description":{"description":"(optional) Contains additional information about this stream (string)\n","type":"string"},"discard":{"description":"(optional) When a Stream reach it's limits either old messages are deleted or new ones are denied (<span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span> or <span pulumi-lang-nodejs=\"`old`\" pulumi-lang-dotnet=\"`Old`\" pulumi-lang-go=\"`old`\" pulumi-lang-python=\"`old`\" pulumi-lang-yaml=\"`old`\" pulumi-lang-java=\"`old`\">`old`</span>)\n","type":"string"},"discardNewPerSubject":{"description":"(optional) When discard policy is new and the stream is one with max messages per subject set, this will apply the new behavior to every subject. Essentially turning discard new from maximum number of subjects into maximum number of messages in a subject (bool)\n","type":"boolean"},"duplicateWindow":{"description":"(optional) The time window size for duplicate tracking, duration specified in seconds (number)\n","type":"number"},"firstSeq":{"description":"(optional) Sets a custom starting sequence for the first message in the stream. Cannot be changed after the stream is created.\n","type":"number"},"inactiveThreshold":{"description":"(optional) Removes the consumer after a idle period, specified as a duration in seconds\n","type":"number"},"maxAckPending":{"description":"(optional) Maximum pending Acks before consumers are paused\n","type":"number"},"maxAge":{"description":"(optional) The maximum oldest message that can be kept in the stream, duration specified in seconds (number)\n","type":"number"},"maxBytes":{"description":"(optional) The maximum size of all messages that can be kept in the stream (number)\n","type":"number"},"maxConsumers":{"description":"(optional) Number of consumers this stream allows (number)\n","type":"number"},"maxMsgSize":{"description":"(optional) The maximum individual message size that the stream will accept (number)\n","type":"number"},"maxMsgs":{"description":"(optional) The maximum amount of messages that can be kept in the stream (number)\n","type":"number"},"maxMsgsPerSubject":{"description":"(optional) The maximum amount of messages that can be kept in the stream on a per-subject basis (number)\n","type":"number"},"metadata":{"additionalProperties":{"type":"string"},"description":"(optional) A map of strings with arbitrary metadata for the stream\n","type":"object"},"mirror":{"$ref":"#/types/jetstream:index%2FStreamMirror:StreamMirror","description":"(optional) Stream to mirror\n"},"mirrorDirect":{"description":"(optional) If true, and the stream is a mirror, the mirror will participate in a serving direct get requests for individual messages from origin stream\n","type":"boolean"},"name":{"description":"The name of the stream (string)\n","type":"string"},"persistMode":{"description":"(optional) Sets a specific persistence mode for writing to the stream. One of `\"\"` (server default), <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span>, or <span pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\">`async`</span>.\n","type":"string"},"placementCluster":{"description":"(optional) Place the stream in a specific cluster, influenced by placement_tags\n","type":"string"},"placementPreferred":{"description":"(optional) A preferred server name to move the stream leader to\n","type":"string"},"placementTags":{"description":"(optional) Place the stream only on servers with these tags\n","items":{"type":"string"},"type":"array"},"replicas":{"description":"(optional) How many replicas of the data to keep in a clustered environment (number)\n","type":"number"},"republishDestination":{"description":"(optional) The destination to publish messages to\n","type":"string"},"republishHeadersOnly":{"description":"(optional) Republish only message headers, no bodies\n","type":"boolean"},"republishSource":{"description":"(optional) Republish matching messages to <span pulumi-lang-nodejs=\"`republishDestination`\" pulumi-lang-dotnet=\"`RepublishDestination`\" pulumi-lang-go=\"`republishDestination`\" pulumi-lang-python=\"`republish_destination`\" pulumi-lang-yaml=\"`republishDestination`\" pulumi-lang-java=\"`republishDestination`\">`republish_destination`</span>\n","type":"string"},"retention":{"description":"(optional) The retention policy to apply over and above max_msgs,<span pulumi-lang-nodejs=\" maxBytes \" pulumi-lang-dotnet=\" MaxBytes \" pulumi-lang-go=\" maxBytes \" pulumi-lang-python=\" max_bytes \" pulumi-lang-yaml=\" maxBytes \" pulumi-lang-java=\" maxBytes \"> max_bytes </span>and<span pulumi-lang-nodejs=\" maxAge \" pulumi-lang-dotnet=\" MaxAge \" pulumi-lang-go=\" maxAge \" pulumi-lang-python=\" max_age \" pulumi-lang-yaml=\" maxAge \" pulumi-lang-java=\" maxAge \"> max_age </span>(string). Options are <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`interest`\" pulumi-lang-dotnet=\"`Interest`\" pulumi-lang-go=\"`interest`\" pulumi-lang-python=\"`interest`\" pulumi-lang-yaml=\"`interest`\" pulumi-lang-java=\"`interest`\">`interest`</span> and <span pulumi-lang-nodejs=\"`workqueue`\" pulumi-lang-dotnet=\"`Workqueue`\" pulumi-lang-go=\"`workqueue`\" pulumi-lang-python=\"`workqueue`\" pulumi-lang-yaml=\"`workqueue`\" pulumi-lang-java=\"`workqueue`\">`workqueue`</span>. Defaults to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>.\n","type":"string"},"sources":{"description":"(optional) List of streams to source\n","items":{"$ref":"#/types/jetstream:index%2FStreamSource:StreamSource"},"type":"array"},"storage":{"description":"(optional) The storage engine to use to back the stream (string)\n","type":"string"},"streamId":{"type":"string"},"subjectDeleteMarkerTtl":{"description":"(optional) Enables placing markers when Max Age removes messages, duration specified in seconds (number)\n","type":"number"},"subjectTransform":{"$ref":"#/types/jetstream:index%2FStreamSubjectTransform:StreamSubjectTransform","description":"(optional) A map of source and destination subjects to transform.\n"},"subjects":{"description":"The list of subjects that will be consumed by the Stream ([\"list\", \"string\"])\n","items":{"type":"string"},"type":"array"}},"required":["name","streamId"],"stateInputs":{"description":"Input properties used for looking up and filtering Stream resources.\n","properties":{"ack":{"description":"(optional) If the Stream should support confirming receiving messages via acknowledgements (bool)\n","type":"boolean"},"allowAtomic":{"description":"(optional) Enables atomic batch publishes\n","type":"boolean"},"allowBatched":{"description":"(optional) Allows fast batch publishing into the stream.\n","type":"boolean"},"allowDirect":{"description":"(optional) Allow higher performance, direct access to get individual messages via the $JS.DS.GET API (bool)\n","type":"boolean"},"allowMsgCounter":{"description":"(optional) Enables distributed counter mode for the stream. This field can only be set if <span pulumi-lang-nodejs=\"`retention`\" pulumi-lang-dotnet=\"`Retention`\" pulumi-lang-go=\"`retention`\" pulumi-lang-python=\"`retention`\" pulumi-lang-yaml=\"`retention`\" pulumi-lang-java=\"`retention`\">`retention`</span> is set to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`discard`\" pulumi-lang-dotnet=\"`Discard`\" pulumi-lang-go=\"`discard`\" pulumi-lang-python=\"`discard`\" pulumi-lang-yaml=\"`discard`\" pulumi-lang-java=\"`discard`\">`discard`</span> is not <span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span>, <span pulumi-lang-nodejs=\"`allowMsgTtl`\" pulumi-lang-dotnet=\"`AllowMsgTtl`\" pulumi-lang-go=\"`allowMsgTtl`\" pulumi-lang-python=\"`allow_msg_ttl`\" pulumi-lang-yaml=\"`allowMsgTtl`\" pulumi-lang-java=\"`allowMsgTtl`\">`allow_msg_ttl`</span> is false and the stream is not a <span pulumi-lang-nodejs=\"`mirror`\" pulumi-lang-dotnet=\"`Mirror`\" pulumi-lang-go=\"`mirror`\" pulumi-lang-python=\"`mirror`\" pulumi-lang-yaml=\"`mirror`\" pulumi-lang-java=\"`mirror`\">`mirror`</span>.\n","type":"boolean"},"allowMsgSchedules":{"description":"(optional) Allows message scheduling for delayed or recurring delivery. This field can only be set if <span pulumi-lang-nodejs=\"`allowRollupHdrs`\" pulumi-lang-dotnet=\"`AllowRollupHdrs`\" pulumi-lang-go=\"`allowRollupHdrs`\" pulumi-lang-python=\"`allow_rollup_hdrs`\" pulumi-lang-yaml=\"`allowRollupHdrs`\" pulumi-lang-java=\"`allowRollupHdrs`\">`allow_rollup_hdrs`</span> is true.\n","type":"boolean"},"allowMsgTtl":{"description":"(optional) Enables Per Message TTLs\n","type":"boolean"},"allowRollupHdrs":{"description":"(optional) Allows the use of the Nats-Rollup header to replace all contents of a stream, or subject in a stream, with a single new message (bool)\n","type":"boolean"},"compression":{"description":"(optional) Enable stream compression by setting the value to <span pulumi-lang-nodejs=\"`s2`\" pulumi-lang-dotnet=\"`S2`\" pulumi-lang-go=\"`s2`\" pulumi-lang-python=\"`s2`\" pulumi-lang-yaml=\"`s2`\" pulumi-lang-java=\"`s2`\">`s2`</span>\n","type":"string"},"denyDelete":{"description":"(optional) Restricts the ability to delete messages from a stream via the API. Cannot be changed once set to true (bool)\n","type":"boolean"},"denyPurge":{"description":"(optional) Restricts the ability to purge messages from a stream via the API. Cannot be change once set to true (bool)\n","type":"boolean"},"description":{"description":"(optional) Contains additional information about this stream (string)\n","type":"string"},"discard":{"description":"(optional) When a Stream reach it's limits either old messages are deleted or new ones are denied (<span pulumi-lang-nodejs=\"`new`\" pulumi-lang-dotnet=\"`New`\" pulumi-lang-go=\"`new`\" pulumi-lang-python=\"`new`\" pulumi-lang-yaml=\"`new`\" pulumi-lang-java=\"`new`\">`new`</span> or <span pulumi-lang-nodejs=\"`old`\" pulumi-lang-dotnet=\"`Old`\" pulumi-lang-go=\"`old`\" pulumi-lang-python=\"`old`\" pulumi-lang-yaml=\"`old`\" pulumi-lang-java=\"`old`\">`old`</span>)\n","type":"string"},"discardNewPerSubject":{"description":"(optional) When discard policy is new and the stream is one with max messages per subject set, this will apply the new behavior to every subject. Essentially turning discard new from maximum number of subjects into maximum number of messages in a subject (bool)\n","type":"boolean"},"duplicateWindow":{"description":"(optional) The time window size for duplicate tracking, duration specified in seconds (number)\n","type":"number"},"firstSeq":{"description":"(optional) Sets a custom starting sequence for the first message in the stream. Cannot be changed after the stream is created.\n","type":"number"},"inactiveThreshold":{"description":"(optional) Removes the consumer after a idle period, specified as a duration in seconds\n","type":"number"},"maxAckPending":{"description":"(optional) Maximum pending Acks before consumers are paused\n","type":"number"},"maxAge":{"description":"(optional) The maximum oldest message that can be kept in the stream, duration specified in seconds (number)\n","type":"number"},"maxBytes":{"description":"(optional) The maximum size of all messages that can be kept in the stream (number)\n","type":"number"},"maxConsumers":{"description":"(optional) Number of consumers this stream allows (number)\n","type":"number"},"maxMsgSize":{"description":"(optional) The maximum individual message size that the stream will accept (number)\n","type":"number"},"maxMsgs":{"description":"(optional) The maximum amount of messages that can be kept in the stream (number)\n","type":"number"},"maxMsgsPerSubject":{"description":"(optional) The maximum amount of messages that can be kept in the stream on a per-subject basis (number)\n","type":"number"},"metadata":{"additionalProperties":{"type":"string"},"description":"(optional) A map of strings with arbitrary metadata for the stream\n","type":"object"},"mirror":{"$ref":"#/types/jetstream:index%2FStreamMirror:StreamMirror","description":"(optional) Stream to mirror\n"},"mirrorDirect":{"description":"(optional) If true, and the stream is a mirror, the mirror will participate in a serving direct get requests for individual messages from origin stream\n","type":"boolean"},"name":{"description":"The name of the stream (string)\n","type":"string"},"persistMode":{"description":"(optional) Sets a specific persistence mode for writing to the stream. One of `\"\"` (server default), <span pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\">`default`</span>, or <span pulumi-lang-nodejs=\"`async`\" pulumi-lang-dotnet=\"`Async`\" pulumi-lang-go=\"`async`\" pulumi-lang-python=\"`async`\" pulumi-lang-yaml=\"`async`\" pulumi-lang-java=\"`async`\">`async`</span>.\n","type":"string"},"placementCluster":{"description":"(optional) Place the stream in a specific cluster, influenced by placement_tags\n","type":"string"},"placementPreferred":{"description":"(optional) A preferred server name to move the stream leader to\n","type":"string"},"placementTags":{"description":"(optional) Place the stream only on servers with these tags\n","items":{"type":"string"},"type":"array"},"replicas":{"description":"(optional) How many replicas of the data to keep in a clustered environment (number)\n","type":"number"},"republishDestination":{"description":"(optional) The destination to publish messages to\n","type":"string"},"republishHeadersOnly":{"description":"(optional) Republish only message headers, no bodies\n","type":"boolean"},"republishSource":{"description":"(optional) Republish matching messages to <span pulumi-lang-nodejs=\"`republishDestination`\" pulumi-lang-dotnet=\"`RepublishDestination`\" pulumi-lang-go=\"`republishDestination`\" pulumi-lang-python=\"`republish_destination`\" pulumi-lang-yaml=\"`republishDestination`\" pulumi-lang-java=\"`republishDestination`\">`republish_destination`</span>\n","type":"string"},"retention":{"description":"(optional) The retention policy to apply over and above max_msgs,<span pulumi-lang-nodejs=\" maxBytes \" pulumi-lang-dotnet=\" MaxBytes \" pulumi-lang-go=\" maxBytes \" pulumi-lang-python=\" max_bytes \" pulumi-lang-yaml=\" maxBytes \" pulumi-lang-java=\" maxBytes \"> max_bytes </span>and<span pulumi-lang-nodejs=\" maxAge \" pulumi-lang-dotnet=\" MaxAge \" pulumi-lang-go=\" maxAge \" pulumi-lang-python=\" max_age \" pulumi-lang-yaml=\" maxAge \" pulumi-lang-java=\" maxAge \"> max_age </span>(string). Options are <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>, <span pulumi-lang-nodejs=\"`interest`\" pulumi-lang-dotnet=\"`Interest`\" pulumi-lang-go=\"`interest`\" pulumi-lang-python=\"`interest`\" pulumi-lang-yaml=\"`interest`\" pulumi-lang-java=\"`interest`\">`interest`</span> and <span pulumi-lang-nodejs=\"`workqueue`\" pulumi-lang-dotnet=\"`Workqueue`\" pulumi-lang-go=\"`workqueue`\" pulumi-lang-python=\"`workqueue`\" pulumi-lang-yaml=\"`workqueue`\" pulumi-lang-java=\"`workqueue`\">`workqueue`</span>. Defaults to <span pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\">`limits`</span>.\n","type":"string"},"sources":{"description":"(optional) List of streams to source\n","items":{"$ref":"#/types/jetstream:index%2FStreamSource:StreamSource"},"type":"array"},"storage":{"description":"(optional) The storage engine to use to back the stream (string)\n","type":"string"},"streamId":{"type":"string"},"subjectDeleteMarkerTtl":{"description":"(optional) Enables placing markers when Max Age removes messages, duration specified in seconds (number)\n","type":"number"},"subjectTransform":{"$ref":"#/types/jetstream:index%2FStreamSubjectTransform:StreamSubjectTransform","description":"(optional) A map of source and destination subjects to transform.\n"},"subjects":{"description":"The list of subjects that will be consumed by the Stream ([\"list\", \"string\"])\n","items":{"type":"string"},"type":"array"}},"type":"object"},"type":"object"}},"types":{"jetstream:config/tls:tls":{"properties":{"caFile":{"description":"Path to the server root CA file (in PEM format). Needed when the NATS server has TLS enabled with an unknown root CA\n","type":"string"},"caFileData":{"description":"The root CA (file) content, in PEM format. Needed when the NATS server has TLS enabled with an unknown root CA\n","type":"string"},"certFile":{"description":"Path to client cert file (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"certFileData":{"description":"The cert file content (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"keyFile":{"description":"Path to client key file (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"keyFileData":{"description":"The key file content (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"}},"type":"object"},"jetstream:index/ProviderTls:ProviderTls":{"properties":{"caFile":{"description":"Path to the server root CA file (in PEM format). Needed when the NATS server has TLS enabled with an unknown root CA\n","type":"string"},"caFileData":{"description":"The root CA (file) content, in PEM format. Needed when the NATS server has TLS enabled with an unknown root CA\n","type":"string"},"certFile":{"description":"Path to client cert file (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"certFileData":{"description":"The cert file content (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"keyFile":{"description":"Path to client key file (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"},"keyFileData":{"description":"The key file content (in PEM format). Needed when NATS server is configured to verify client certificate\n","type":"string"}},"type":"object"},"jetstream:index/StreamMirror:StreamMirror":{"properties":{"consumer":{"$ref":"#/types/jetstream:index%2FStreamMirrorConsumer:StreamMirrorConsumer","description":"Use a named durable consumer on the source stream for sourcing\n"},"external":{"$ref":"#/types/jetstream:index%2FStreamMirrorExternal:StreamMirrorExternal","description":"Streams replicated from other accounts\n"},"filterSubject":{"description":"Only copy messages matching a specific subject, not usable for mirrors\n","type":"string"},"name":{"description":"The name of the stream (string)\n","type":"string"},"startSeq":{"description":"The sequence to start mirroring from\n","type":"number"},"startTime":{"description":"The time stamp in the source stream to start from, in RFC3339 format\n","type":"string"},"subjectTransforms":{"description":"(optional) A map of source and destination subjects to transform.\n","items":{"$ref":"#/types/jetstream:index%2FStreamMirrorSubjectTransform:StreamMirrorSubjectTransform"},"type":"array"}},"required":["name"],"type":"object"},"jetstream:index/StreamMirrorConsumer:StreamMirrorConsumer":{"properties":{"deliverSubject":{"description":"The subject the source consumer delivers messages to\n","type":"string"},"name":{"description":"The name of the stream (string)\n","type":"string"}},"required":["deliverSubject","name"],"type":"object"},"jetstream:index/StreamMirrorExternal:StreamMirrorExternal":{"properties":{"api":{"description":"The subject prefix for the remote API\n","type":"string"},"deliver":{"description":"The subject prefix where messages will be delivered to\n","type":"string"}},"type":"object"},"jetstream:index/StreamMirrorSubjectTransform:StreamMirrorSubjectTransform":{"properties":{"destination":{"description":"The subject transform destination\n","type":"string"},"source":{"description":"(optional) List of streams to source\n","type":"string"}},"required":["destination","source"],"type":"object"},"jetstream:index/StreamSource:StreamSource":{"properties":{"consumer":{"$ref":"#/types/jetstream:index%2FStreamSourceConsumer:StreamSourceConsumer","description":"Use a named durable consumer on the source stream for sourcing\n"},"external":{"$ref":"#/types/jetstream:index%2FStreamSourceExternal:StreamSourceExternal","description":"Streams replicated from other accounts\n"},"filterSubject":{"description":"Only copy messages matching a specific subject, not usable for mirrors\n","type":"string"},"name":{"description":"The name of the stream (string)\n","type":"string"},"startSeq":{"description":"The sequence to start mirroring from\n","type":"number"},"startTime":{"description":"The time stamp in the source stream to start from, in RFC3339 format\n","type":"string"},"subjectTransforms":{"description":"(optional) A map of source and destination subjects to transform.\n","items":{"$ref":"#/types/jetstream:index%2FStreamSourceSubjectTransform:StreamSourceSubjectTransform"},"type":"array"}},"required":["name"],"type":"object"},"jetstream:index/StreamSourceConsumer:StreamSourceConsumer":{"properties":{"deliverSubject":{"description":"The subject the source consumer delivers messages to\n","type":"string"},"name":{"description":"The name of the stream (string)\n","type":"string"}},"required":["deliverSubject","name"],"type":"object"},"jetstream:index/StreamSourceExternal:StreamSourceExternal":{"properties":{"api":{"description":"The subject prefix for the remote API\n","type":"string"},"deliver":{"description":"The subject prefix where messages will be delivered to\n","type":"string"}},"type":"object"},"jetstream:index/StreamSourceSubjectTransform:StreamSourceSubjectTransform":{"properties":{"destination":{"description":"The subject transform destination\n","type":"string"},"source":{"description":"(optional) List of streams to source\n","type":"string"}},"required":["destination","source"],"type":"object"},"jetstream:index/StreamSubjectTransform:StreamSubjectTransform":{"properties":{"destination":{"description":"The subject transform destination\n","type":"string"},"source":{"description":"(optional) List of streams to source\n","type":"string"}},"required":["destination","source"],"type":"object"}},"version":"0.4.0"}
