{"name":"prefect","version":"2.92.5","description":"A Pulumi provider dynamically bridged from prefect.","attribution":"This Pulumi package is based on the [`prefect` Terraform Provider](https://github.com/prefecthq/terraform-provider-prefect).","repository":"https://github.com/prefecthq/terraform-provider-prefect","publisher":"prefecthq","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"prefect"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from prefect.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/prefecthq/terraform-provider-prefect)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-prefect` repo](https://github.com/prefecthq/terraform-provider-prefect/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/prefecthq/terraform-provider-prefect)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-prefect` repo](https://github.com/prefecthq/terraform-provider-prefect/issues).","respectSchemaVersion":true}},"config":{"variables":{"accountId":{"type":"string","description":"Default Prefect Cloud Account ID. Can also be set via the `PREFECT_CLOUD_ACCOUNT_ID` environment variable."},"apiKey":{"type":"string","description":"Prefect Cloud API key. Can also be set via the `PREFECT_API_KEY` environment variable.","secret":true},"basicAuthKey":{"type":"string","description":"Prefect basic auth key. Can also be set via the `PREFECT_BASIC_AUTH_KEY` environment variable.","secret":true},"csrfEnabled":{"type":"boolean","description":"Enable CSRF protection for API requests. Defaults to false. If enabled, the provider will fetch a CSRF token from the Prefect API and include it in all requests. This should be enabled if your Prefect server instance has CSRF protection active. Can also be set via the `PREFECT_CSRF_ENABLED` environment variable."},"customHeaders":{"type":"string","description":"Custom HTTP headers to include in all Prefect API requests as a JSON string. Useful for adding authentication headers required by proxies, CDNs, or security systems like Cloudflare Access. Can also be set via the `PREFECT_CLIENT_CUSTOM_HEADERS` environment variable. Example: `{\"CF-Access-Client-Id\": \"your-id\", \"CF-Access-Client-Secret\": \"your-secret\"}`. Protected headers (User-Agent, Prefect-Csrf-Token, Prefect-Csrf-Client) cannot be overridden.","secret":true},"endpoint":{"type":"string","description":"The Prefect API URL. Can also be set via the `PREFECT_API_URL` environment variable. Defaults to `https://api.prefect.cloud` if not configured. Can optionally include the default account ID and workspace ID in the following format: `https://api.prefect.cloud/api/accounts/\u003caccountID\u003e/workspaces/\u003cworkspaceID\u003e`. This is the same format used for the `PREFECT_API_URL` value in the Prefect CLI configuration file. The \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e attributes and their matching environment variables will take priority over any account and workspace ID values provided in the \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e attribute."},"profile":{"type":"string","description":"Prefect profile name to use for authentication. If not specified, uses the active profile from `~/.prefect/profiles.toml`. This allows you to use a specific profile instead of the active one."},"profileFile":{"type":"string","description":"Path to the Prefect profiles file. If not specified, uses the default location `~/.prefect/profiles.toml`. This allows you to use a custom profiles file location."},"workspaceId":{"type":"string","description":"Default Prefect Cloud Workspace ID."}}},"types":{"prefect:index/AccountSettings:AccountSettings":{"properties":{"aiLogSummaries":{"type":"boolean","description":"Whether to use AI to generate log summaries.\n"},"allowPublicWorkspaces":{"type":"boolean","description":"Whether or not this account allows public workspaces\n"},"enforceWebhookAuthentication":{"type":"boolean","description":"Whether to enforce webhook authentication\n"},"managedExecution":{"type":"boolean","description":"Whether to enable the use of managed work pools\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["aiLogSummaries","allowPublicWorkspaces","enforceWebhookAuthentication","managedExecution"]}}},"prefect:index/AutomationAction:AutomationAction":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform. Possible values: do-nothing, run-deployment, pause-deployment, resume-deployment, cancel-flow-run, change-flow-run-state, pause-work-queue, resume-work-queue, send-notification, call-webhook, pause-automation, resume-automation, suspend-flow-run, resume-flow-run, declare-incident, pause-work-pool, resume-work-pool\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["jobVariables","parameters","type"]}}},"prefect:index/AutomationActionsOnResolf:AutomationActionsOnResolf":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform. Possible values: do-nothing, run-deployment, pause-deployment, resume-deployment, cancel-flow-run, change-flow-run-state, pause-work-queue, resume-work-queue, send-notification, call-webhook, pause-automation, resume-automation, suspend-flow-run, resume-flow-run, declare-incident, pause-work-pool, resume-work-pool\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["jobVariables","parameters","type"]}}},"prefect:index/AutomationActionsOnTrigger:AutomationActionsOnTrigger":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform. Possible values: do-nothing, run-deployment, pause-deployment, resume-deployment, cancel-flow-run, change-flow-run-state, pause-work-queue, resume-work-queue, send-notification, call-webhook, pause-automation, resume-automation, suspend-flow-run, resume-flow-run, declare-incident, pause-work-pool, resume-work-pool\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["jobVariables","parameters","type"]}}},"prefect:index/AutomationTrigger:AutomationTrigger":{"properties":{"compound":{"$ref":"#/types/prefect:index%2FAutomationTriggerCompound:AutomationTriggerCompound","description":"A composite trigger that requires some number of triggers to have fired within the given time period\n"},"event":{"$ref":"#/types/prefect:index%2FAutomationTriggerEvent:AutomationTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerMetric:AutomationTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"},"sequence":{"$ref":"#/types/prefect:index%2FAutomationTriggerSequence:AutomationTriggerSequence","description":"A composite trigger that requires triggers to fire in a specific order\n"}},"type":"object"},"prefect:index/AutomationTriggerCompound:AutomationTriggerCompound":{"properties":{"require":{"$ref":"pulumi.json#/Any","description":"How many triggers must fire ('any', 'all', or a number)\n"},"triggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationTriggerCompoundTrigger:AutomationTriggerCompoundTrigger"},"description":"The ordered list of triggers that must fire in sequence\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["require","triggers"]},"prefect:index/AutomationTriggerCompoundTrigger:AutomationTriggerCompoundTrigger":{"properties":{"event":{"$ref":"#/types/prefect:index%2FAutomationTriggerCompoundTriggerEvent:AutomationTriggerCompoundTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerCompoundTriggerMetric:AutomationTriggerCompoundTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"}},"type":"object"},"prefect:index/AutomationTriggerCompoundTriggerEvent:AutomationTriggerCompoundTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["posture"],"language":{"nodejs":{"requiredOutputs":["afters","expects","forEaches","match","matchRelated","posture"]}}},"prefect:index/AutomationTriggerCompoundTriggerMetric:AutomationTriggerCompoundTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerCompoundTriggerMetricMetric:AutomationTriggerCompoundTriggerMetricMetric"}},"type":"object","required":["metric"],"language":{"nodejs":{"requiredOutputs":["match","matchRelated","metric"]}}},"prefect:index/AutomationTriggerCompoundTriggerMetricMetric:AutomationTriggerCompoundTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"]},"prefect:index/AutomationTriggerEvent:AutomationTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["posture"],"language":{"nodejs":{"requiredOutputs":["afters","expects","forEaches","match","matchRelated","posture"]}}},"prefect:index/AutomationTriggerMetric:AutomationTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerMetricMetric:AutomationTriggerMetricMetric"}},"type":"object","required":["metric"],"language":{"nodejs":{"requiredOutputs":["match","matchRelated","metric"]}}},"prefect:index/AutomationTriggerMetricMetric:AutomationTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"]},"prefect:index/AutomationTriggerSequence:AutomationTriggerSequence":{"properties":{"triggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationTriggerSequenceTrigger:AutomationTriggerSequenceTrigger"},"description":"The ordered list of triggers that must fire in sequence\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["triggers"]},"prefect:index/AutomationTriggerSequenceTrigger:AutomationTriggerSequenceTrigger":{"properties":{"event":{"$ref":"#/types/prefect:index%2FAutomationTriggerSequenceTriggerEvent:AutomationTriggerSequenceTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerSequenceTriggerMetric:AutomationTriggerSequenceTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"}},"type":"object"},"prefect:index/AutomationTriggerSequenceTriggerEvent:AutomationTriggerSequenceTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["posture"],"language":{"nodejs":{"requiredOutputs":["afters","expects","forEaches","match","matchRelated","posture"]}}},"prefect:index/AutomationTriggerSequenceTriggerMetric:AutomationTriggerSequenceTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FAutomationTriggerSequenceTriggerMetricMetric:AutomationTriggerSequenceTriggerMetricMetric"}},"type":"object","required":["metric"],"language":{"nodejs":{"requiredOutputs":["match","matchRelated","metric"]}}},"prefect:index/AutomationTriggerSequenceTriggerMetricMetric:AutomationTriggerSequenceTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"]},"prefect:index/DeploymentConcurrencyOptions:DeploymentConcurrencyOptions":{"properties":{"collisionStrategy":{"type":"string","description":"Enumeration of concurrency collision strategies.\n"}},"type":"object","required":["collisionStrategy"]},"prefect:index/DeploymentPullStep:DeploymentPullStep":{"properties":{"accessToken":{"type":"string","description":"(For type 'git_clone') Access token for the repository. Refer to a credentials block for security purposes. Used in leiu of 'credentials'.\n"},"branch":{"type":"string","description":"(For type 'git_clone') The branch to clone. If not provided, the default branch is used.\n"},"bucket":{"type":"string","description":"(For type 'pull*from*s3' and 'pull*from*gcs') The name of the bucket where files are stored.\n"},"container":{"type":"string","description":"(For type 'pull*from*azure*blob*storage') The name of the container where files are stored.\n"},"credentials":{"type":"string","description":"Credentials to use for the pull step. Refer to a {GitHub,GitLab,BitBucket} credentials block.\n"},"directory":{"type":"string","description":"(For type 'set*working*directory') The directory to set as the working directory.\n"},"folder":{"type":"string","description":"(For type 'pull*from**') The folder in the bucket/container where files are stored.\n"},"includeSubmodules":{"type":"boolean","description":"(For type 'git_clone') Whether to include submodules when cloning the repository.\n"},"repository":{"type":"string","description":"(For type 'git_clone') The URL of the repository to clone.\n"},"requires":{"type":"string","description":"A list of Python package dependencies.\n"},"type":{"type":"string","description":"The type of pull step\n"}},"type":"object","required":["type"]},"prefect:index/ResourceSlaSla:ResourceSlaSla":{"properties":{"duration":{"type":"number","description":"(TimeToCompletion SLA) The maximum flow run duration in seconds allowed before the SLA is violated.\n"},"enabled":{"type":"boolean","description":"Whether the SLA is enabled\n"},"expectedEvent":{"type":"string","description":"(Freshness SLA) The event to expect for this SLA.\n"},"name":{"type":"string","description":"Name of the SLA\n"},"ownerResource":{"type":"string","description":"Resource that owns this SLA\n"},"resourceMatch":{"type":"string","description":"(Freshness SLA) The resource to match for this SLA. Use `jsonencode()`\n"},"severity":{"type":"string","description":"Severity level of the SLA. Can be one of \u003cspan pulumi-lang-nodejs=\"`minor`\" pulumi-lang-dotnet=\"`Minor`\" pulumi-lang-go=\"`minor`\" pulumi-lang-python=\"`minor`\" pulumi-lang-yaml=\"`minor`\" pulumi-lang-java=\"`minor`\"\u003e`minor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`low`\" pulumi-lang-dotnet=\"`Low`\" pulumi-lang-go=\"`low`\" pulumi-lang-python=\"`low`\" pulumi-lang-yaml=\"`low`\" pulumi-lang-java=\"`low`\"\u003e`low`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`moderate`\" pulumi-lang-dotnet=\"`Moderate`\" pulumi-lang-go=\"`moderate`\" pulumi-lang-python=\"`moderate`\" pulumi-lang-yaml=\"`moderate`\" pulumi-lang-java=\"`moderate`\"\u003e`moderate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`critical`\" pulumi-lang-dotnet=\"`Critical`\" pulumi-lang-go=\"`critical`\" pulumi-lang-python=\"`critical`\" pulumi-lang-yaml=\"`critical`\" pulumi-lang-java=\"`critical`\"\u003e`critical`\u003c/span\u003e. Defaults to \u003cspan pulumi-lang-nodejs=\"`high`\" pulumi-lang-dotnet=\"`High`\" pulumi-lang-go=\"`high`\" pulumi-lang-python=\"`high`\" pulumi-lang-yaml=\"`high`\" pulumi-lang-java=\"`high`\"\u003e`high`\u003c/span\u003e.\n"},"staleAfter":{"type":"number","description":"(Frequency SLA) The amount of time after a flow run is considered stale.\n"},"within":{"type":"number","description":"(Freshness SLA or Lateness SLA) The amount of time after a flow run is considered stale or late.\n"}},"type":"object","required":["name"]},"prefect:index/getAccountMembersMember:getAccountMembersMember":{"properties":{"accountRoleId":{"type":"string","description":"Acount Role ID (UUID)\n"},"accountRoleName":{"type":"string","description":"Name of Account Role assigned to member\n"},"actorId":{"type":"string","description":"Actor ID (UUID), used for granting access to resources like Blocks and Deployments\n"},"email":{"type":"string","description":"Member email\n"},"firstName":{"type":"string","description":"Member's first name\n"},"handle":{"type":"string","description":"Member handle, or a human-readable identifier\n"},"id":{"type":"string","description":"Account Member ID (UUID)\n"},"lastName":{"type":"string","description":"Member's last name\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"type":"object","required":["accountRoleId","accountRoleName","actorId","email","firstName","handle","id","lastName","userId"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAccountSettings:getAccountSettings":{"properties":{"aiLogSummaries":{"type":"boolean","description":"Whether to use AI to generate log summaries.\n"},"allowPublicWorkspaces":{"type":"boolean","description":"Whether or not this account allows public workspaces\n"},"managedExecution":{"type":"boolean","description":"Whether to enable the use of managed work pools\n"}},"type":"object","required":["aiLogSummaries","allowPublicWorkspaces","managedExecution"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationAction:getAutomationAction":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["automationId","blockDocumentId","body","deploymentId","jobVariables","message","name","parameters","payload","source","state","subject","type","workPoolId","workQueueId"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationActionsOnResolf:getAutomationActionsOnResolf":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["automationId","blockDocumentId","body","deploymentId","jobVariables","message","name","parameters","payload","source","state","subject","type","workPoolId","workQueueId"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationActionsOnTrigger:getAutomationActionsOnTrigger":{"properties":{"automationId":{"type":"string","description":"(Automation) ID of the automation to apply this action to\n"},"blockDocumentId":{"type":"string","description":"(Webhook / Notification) ID of the block to use\n"},"body":{"type":"string","description":"(Notification) Body of the notification\n"},"deploymentId":{"type":"string","description":"(Deployment) ID of the deployment to apply this action to\n"},"jobVariables":{"type":"string","description":"(Deployment) (JSON) Job variables to pass to the created flow run. Use `jsonencode()`.\n"},"message":{"type":"string","description":"(Flow Run State Change) Message to associate with the state change\n"},"name":{"type":"string","description":"(Flow Run State Change) Name of the state to change the flow run to\n"},"parameters":{"type":"string","description":"(Deployment) (JSON) Parameters to pass to the deployment. Use `jsonencode()`.\n"},"payload":{"type":"string","description":"(Webhook) Payload to send when calling the webhook\n"},"source":{"type":"string","description":"(Deployment / Work Pool / Work Queue / Automation) Whether this action applies to a specific selected resource or to a specific resource by ID - 'selected' or 'inferred'\n"},"state":{"type":"string","description":"(Flow Run State Change) Type of state to change the flow run to\n"},"subject":{"type":"string","description":"(Notification) Subject of the notification\n"},"type":{"type":"string","description":"The type of action to perform\n"},"workPoolId":{"type":"string","description":"(Work Pool) ID of the work pool to apply this action to\n"},"workQueueId":{"type":"string","description":"(Work Queue) ID of the work queue to apply this action to\n"}},"type":"object","required":["automationId","blockDocumentId","body","deploymentId","jobVariables","message","name","parameters","payload","source","state","subject","type","workPoolId","workQueueId"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTrigger:getAutomationTrigger":{"properties":{"compound":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerCompound:getAutomationTriggerCompound","description":"A composite trigger that requires some number of triggers to have fired within the given time period\n"},"event":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerEvent:getAutomationTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerMetric:getAutomationTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"},"sequence":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerSequence:getAutomationTriggerSequence","description":"A composite trigger that requires triggers to fire in a specific order\n"}},"type":"object","required":["compound","event","metric","sequence"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerCompound:getAutomationTriggerCompound":{"properties":{"require":{"$ref":"pulumi.json#/Any","description":"How many triggers must fire ('any', 'all', or a number)\n"},"triggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerCompoundTrigger:getAutomationTriggerCompoundTrigger"},"description":"The ordered list of triggers that must fire in sequence\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["require","triggers","within"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerCompoundTrigger:getAutomationTriggerCompoundTrigger":{"properties":{"event":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerCompoundTriggerEvent:getAutomationTriggerCompoundTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerCompoundTriggerMetric:getAutomationTriggerCompoundTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"}},"type":"object","required":["event","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerCompoundTriggerEvent:getAutomationTriggerCompoundTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["afters","expects","forEaches","match","matchRelated","posture","threshold","within"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerCompoundTriggerMetric:getAutomationTriggerCompoundTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerCompoundTriggerMetricMetric:getAutomationTriggerCompoundTriggerMetricMetric"}},"type":"object","required":["match","matchRelated","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerCompoundTriggerMetricMetric:getAutomationTriggerCompoundTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerEvent:getAutomationTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["afters","expects","forEaches","match","matchRelated","posture","threshold","within"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerMetric:getAutomationTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerMetricMetric:getAutomationTriggerMetricMetric"}},"type":"object","required":["match","matchRelated","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerMetricMetric:getAutomationTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerSequence:getAutomationTriggerSequence":{"properties":{"triggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerSequenceTrigger:getAutomationTriggerSequenceTrigger"},"description":"The ordered list of triggers that must fire in sequence\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["triggers","within"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerSequenceTrigger:getAutomationTriggerSequenceTrigger":{"properties":{"event":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerSequenceTriggerEvent:getAutomationTriggerSequenceTriggerEvent","description":"A trigger that fires based on the presence or absence of events within a given period of time\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerSequenceTriggerMetric:getAutomationTriggerSequenceTriggerMetric","description":"A trigger that fires based on the results of a metric query\n"}},"type":"object","required":["event","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerSequenceTriggerEvent:getAutomationTriggerSequenceTriggerEvent":{"properties":{"afters":{"type":"array","items":{"type":"string"},"description":"The event(s) which must first been seen to fire this trigger. If empty, then fire this trigger immediately\n"},"expects":{"type":"array","items":{"type":"string"},"description":"The event(s) this trigger is expecting to see. If empty, this trigger will match any event\n"},"forEaches":{"type":"array","items":{"type":"string"},"description":"Evaluate the trigger separately for each distinct value of these labels on the resource\n"},"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"posture":{"type":"string","description":"The posture of this trigger, either Reactive or Proactive\n"},"threshold":{"type":"number","description":"The number of events required for this trigger to fire (Reactive) or expected (Proactive)\n"},"within":{"type":"number","description":"The time period in seconds over which the events must occur\n"}},"type":"object","required":["afters","expects","forEaches","match","matchRelated","posture","threshold","within"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerSequenceTriggerMetric:getAutomationTriggerSequenceTriggerMetric":{"properties":{"match":{"type":"string","description":"(JSON) Resource specification labels which this trigger will match. Use `jsonencode()`.\n"},"matchRelated":{"type":"string","description":"(JSON) Resource specification labels for related resources which this trigger will match. Use `jsonencode()`.\n"},"metric":{"$ref":"#/types/prefect:index%2FgetAutomationTriggerSequenceTriggerMetricMetric:getAutomationTriggerSequenceTriggerMetricMetric"}},"type":"object","required":["match","matchRelated","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getAutomationTriggerSequenceTriggerMetricMetric:getAutomationTriggerSequenceTriggerMetricMetric":{"properties":{"firingFor":{"type":"number","description":"The duration (seconds) for which the metric query must breach OR resolve continuously before the state is updated and actions are triggered.\n"},"name":{"type":"string","description":"The name of the metric to query\n"},"operator":{"type":"string","description":"The comparative operator used to evaluate the query result against the threshold value\n"},"range":{"type":"number","description":"The lookback duration (seconds) for a metric query. This duration is used to determine the time range over which the query will be executed.\n"},"threshold":{"type":"number","description":"The threshold value against which we'll compare the query results\n"}},"type":"object","required":["firingFor","name","operator","range","threshold"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getDeploymentConcurrencyOptions:getDeploymentConcurrencyOptions":{"properties":{"collisionStrategy":{"type":"string","description":"Enumeration of concurrency collision strategies.\n"}},"type":"object","required":["collisionStrategy"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getDeploymentPullStep:getDeploymentPullStep":{"properties":{"accessToken":{"type":"string","description":"(For type 'git_clone') Access token for the repository. Refer to a credentials block for security purposes. Used in leiu of 'credentials'.\n"},"branch":{"type":"string","description":"(For type 'git_clone') The branch to clone. If not provided, the default branch is used.\n"},"bucket":{"type":"string","description":"(For type 'pull*from**') The name of the bucket where files are stored.\n"},"credentials":{"type":"string","description":"Credentials to use for the pull step. Refer to a {GitHub,GitLab,BitBucket} credentials block.\n"},"directory":{"type":"string","description":"(For type 'set*working*directory') The directory to set as the working directory.\n"},"folder":{"type":"string","description":"(For type 'pull*from**') The folder in the bucket where files are stored.\n"},"includeSubmodules":{"type":"boolean","description":"(For type 'git_clone') Whether to include submodules when cloning the repository.\n"},"repository":{"type":"string","description":"(For type 'git_clone') The URL of the repository to clone.\n"},"requires":{"type":"string","description":"A list of Python package dependencies.\n"},"type":{"type":"string","description":"The type of pull step\n"}},"type":"object","required":["accessToken","branch","bucket","credentials","directory","folder","includeSubmodules","repository","requires","type"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getTeamsTeam:getTeamsTeam":{"properties":{"created":{"type":"string","description":"Date and time of the team creation in RFC 3339 format\n"},"description":{"type":"string","description":"Description of team\n"},"id":{"type":"string","description":"Team ID (UUID)\n"},"name":{"type":"string","description":"Name of Team\n"},"updated":{"type":"string","description":"Date and time that the team was last updated in RFC 3339 format\n"}},"type":"object","required":["created","description","id","name","updated"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getWorkPoolsWorkPool:getWorkPoolsWorkPool":{"properties":{"baseJobTemplate":{"type":"string","description":"The base job template for the work pool, as a JSON string\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work pool\n"},"created":{"type":"string","description":"Date and time of the work pool creation in RFC 3339 format\n"},"defaultQueueId":{"type":"string","description":"The ID (UUID) of the default queue associated with this work pool\n"},"description":{"type":"string","description":"Description of the work pool\n"},"id":{"type":"string","description":"Work pool ID (UUID)\n"},"name":{"type":"string","description":"Name of the work pool\n"},"paused":{"type":"boolean","description":"Whether this work pool is paused\n"},"type":{"type":"string","description":"Type of the work pool\n"},"updated":{"type":"string","description":"Date and time that the work pool was last updated in RFC 3339 format\n"}},"type":"object","required":["baseJobTemplate","concurrencyLimit","created","defaultQueueId","description","id","name","paused","type","updated"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getWorkQueuesWorkQueue:getWorkQueuesWorkQueue":{"properties":{"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work queue\n"},"created":{"type":"string","description":"Date and time of the work queue creation in RFC 3339 format\n"},"description":{"type":"string","description":"Description of the work queue\n"},"id":{"type":"string","description":"Work queue ID (UUID)\n"},"isPaused":{"type":"boolean","description":"Whether this work queue is paused\n"},"name":{"type":"string","description":"Name of the work queue\n"},"priority":{"type":"number","description":"Priority of the work queue\n"},"updated":{"type":"string","description":"Date and time that the work queue was last updated in RFC 3339 format\n"},"workPoolName":{"type":"string","description":"Name of the associated work pool\n"}},"type":"object","required":["concurrencyLimit","created","description","id","isPaused","name","priority","updated","workPoolName"],"language":{"nodejs":{"requiredInputs":[]}}},"prefect:index/getWorkerMetadataBaseJobConfigs:getWorkerMetadataBaseJobConfigs":{"properties":{"azureContainerInstances":{"type":"string","description":"Default base job configuration for Azure Container Instances workers\n"},"azureContainerInstancesPush":{"type":"string","description":"Default base job configuration for Azure Container Instances Push workers\n"},"cloudRun":{"type":"string","description":"Default base job configuration for Cloud Run workers\n"},"cloudRunPush":{"type":"string","description":"Default base job configuration for Cloud Run Push workers\n"},"cloudRunV2":{"type":"string","description":"Default base job configuration for Cloud Run V2 workers\n"},"cloudRunV2Push":{"type":"string","description":"Default base job configuration for Cloud Run V2 Push workers\n"},"docker":{"type":"string","description":"Default base job configuration for Docker workers\n"},"ecs":{"type":"string","description":"Default base job configuration for ECS workers\n"},"ecsPush":{"type":"string","description":"Default base job configuration for ECS Push workers\n"},"kubernetes":{"type":"string","description":"Default base job configuration for Kubernetes workers\n"},"modalPush":{"type":"string","description":"Default base job configuration for Modal Push workers\n"},"prefectAgent":{"type":"string","description":"Default base job configuration for Prefect Agent workers\n"},"prefectManaged":{"type":"string","description":"Default base job configuration for Prefect Managed workers\n"},"process":{"type":"string","description":"Default base job configuration for Process workers\n"},"vertexAi":{"type":"string","description":"Default base job configuration for Vertex AI workers\n"}},"type":"object","required":["azureContainerInstances","azureContainerInstancesPush","cloudRun","cloudRunPush","cloudRunV2","cloudRunV2Push","docker","ecs","ecsPush","kubernetes","modalPush","prefectAgent","prefectManaged","process","vertexAi"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the prefect package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"accountId":{"type":"string","description":"Default Prefect Cloud Account ID. Can also be set via the `PREFECT_CLOUD_ACCOUNT_ID` environment variable."},"apiKey":{"type":"string","description":"Prefect Cloud API key. Can also be set via the `PREFECT_API_KEY` environment variable.","secret":true},"basicAuthKey":{"type":"string","description":"Prefect basic auth key. Can also be set via the `PREFECT_BASIC_AUTH_KEY` environment variable.","secret":true},"customHeaders":{"type":"string","description":"Custom HTTP headers to include in all Prefect API requests as a JSON string. Useful for adding authentication headers required by proxies, CDNs, or security systems like Cloudflare Access. Can also be set via the `PREFECT_CLIENT_CUSTOM_HEADERS` environment variable. Example: `{\"CF-Access-Client-Id\": \"your-id\", \"CF-Access-Client-Secret\": \"your-secret\"}`. Protected headers (User-Agent, Prefect-Csrf-Token, Prefect-Csrf-Client) cannot be overridden.","secret":true},"endpoint":{"type":"string","description":"The Prefect API URL. Can also be set via the `PREFECT_API_URL` environment variable. Defaults to `https://api.prefect.cloud` if not configured. Can optionally include the default account ID and workspace ID in the following format: `https://api.prefect.cloud/api/accounts/\u003caccountID\u003e/workspaces/\u003cworkspaceID\u003e`. This is the same format used for the `PREFECT_API_URL` value in the Prefect CLI configuration file. The \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e attributes and their matching environment variables will take priority over any account and workspace ID values provided in the \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e attribute."},"profile":{"type":"string","description":"Prefect profile name to use for authentication. If not specified, uses the active profile from `~/.prefect/profiles.toml`. This allows you to use a specific profile instead of the active one."},"profileFile":{"type":"string","description":"Path to the Prefect profiles file. If not specified, uses the default location `~/.prefect/profiles.toml`. This allows you to use a custom profiles file location."},"workspaceId":{"type":"string","description":"Default Prefect Cloud Workspace ID."}},"type":"object","inputProperties":{"accountId":{"type":"string","description":"Default Prefect Cloud Account ID. Can also be set via the `PREFECT_CLOUD_ACCOUNT_ID` environment variable."},"apiKey":{"type":"string","description":"Prefect Cloud API key. Can also be set via the `PREFECT_API_KEY` environment variable.","secret":true},"basicAuthKey":{"type":"string","description":"Prefect basic auth key. Can also be set via the `PREFECT_BASIC_AUTH_KEY` environment variable.","secret":true},"csrfEnabled":{"type":"boolean","description":"Enable CSRF protection for API requests. Defaults to false. If enabled, the provider will fetch a CSRF token from the Prefect API and include it in all requests. This should be enabled if your Prefect server instance has CSRF protection active. Can also be set via the `PREFECT_CSRF_ENABLED` environment variable."},"customHeaders":{"type":"string","description":"Custom HTTP headers to include in all Prefect API requests as a JSON string. Useful for adding authentication headers required by proxies, CDNs, or security systems like Cloudflare Access. Can also be set via the `PREFECT_CLIENT_CUSTOM_HEADERS` environment variable. Example: `{\"CF-Access-Client-Id\": \"your-id\", \"CF-Access-Client-Secret\": \"your-secret\"}`. Protected headers (User-Agent, Prefect-Csrf-Token, Prefect-Csrf-Client) cannot be overridden.","secret":true},"endpoint":{"type":"string","description":"The Prefect API URL. Can also be set via the `PREFECT_API_URL` environment variable. Defaults to `https://api.prefect.cloud` if not configured. Can optionally include the default account ID and workspace ID in the following format: `https://api.prefect.cloud/api/accounts/\u003caccountID\u003e/workspaces/\u003cworkspaceID\u003e`. This is the same format used for the `PREFECT_API_URL` value in the Prefect CLI configuration file. The \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e attributes and their matching environment variables will take priority over any account and workspace ID values provided in the \u003cspan pulumi-lang-nodejs=\"`endpoint`\" pulumi-lang-dotnet=\"`Endpoint`\" pulumi-lang-go=\"`endpoint`\" pulumi-lang-python=\"`endpoint`\" pulumi-lang-yaml=\"`endpoint`\" pulumi-lang-java=\"`endpoint`\"\u003e`endpoint`\u003c/span\u003e attribute."},"profile":{"type":"string","description":"Prefect profile name to use for authentication. If not specified, uses the active profile from `~/.prefect/profiles.toml`. This allows you to use a specific profile instead of the active one."},"profileFile":{"type":"string","description":"Path to the Prefect profiles file. If not specified, uses the default location `~/.prefect/profiles.toml`. This allows you to use a custom profiles file location."},"workspaceId":{"type":"string","description":"Default Prefect Cloud Workspace ID."}},"methods":{"terraformConfig":"pulumi:providers:prefect/terraformConfig"}},"resources":{"prefect:index/account:Account":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.Account(\"example\", {\n    name: \"My Imported Account\",\n    handle: \"my-imported-account\",\n    settings: {\n        allowPublicWorkspaces: true,\n        aiLogSummaries: false,\n        enforceWebhookAuthentication: true,\n        managedExecution: false,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.Account(\"example\",\n    name=\"My Imported Account\",\n    handle=\"my-imported-account\",\n    settings={\n        \"allow_public_workspaces\": True,\n        \"ai_log_summaries\": False,\n        \"enforce_webhook_authentication\": True,\n        \"managed_execution\": False,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.Account(\"example\", new()\n    {\n        Name = \"My Imported Account\",\n        Handle = \"my-imported-account\",\n        Settings = new Prefect.Inputs.AccountSettingsArgs\n        {\n            AllowPublicWorkspaces = true,\n            AiLogSummaries = false,\n            EnforceWebhookAuthentication = true,\n            ManagedExecution = false,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewAccount(ctx, \"example\", \u0026prefect.AccountArgs{\n\t\t\tName:   pulumi.String(\"My Imported Account\"),\n\t\t\tHandle: pulumi.String(\"my-imported-account\"),\n\t\t\tSettings: \u0026prefect.AccountSettingsArgs{\n\t\t\t\tAllowPublicWorkspaces:        pulumi.Bool(true),\n\t\t\t\tAiLogSummaries:               pulumi.Bool(false),\n\t\t\t\tEnforceWebhookAuthentication: pulumi.Bool(true),\n\t\t\t\tManagedExecution:             pulumi.Bool(false),\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.prefect.Account;\nimport com.pulumi.prefect.AccountArgs;\nimport com.pulumi.prefect.inputs.AccountSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Account(\"example\", AccountArgs.builder()\n            .name(\"My Imported Account\")\n            .handle(\"my-imported-account\")\n            .settings(AccountSettingsArgs.builder()\n                .allowPublicWorkspaces(true)\n                .aiLogSummaries(false)\n                .enforceWebhookAuthentication(true)\n                .managedExecution(false)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:Account\n    properties:\n      name: My Imported Account\n      handle: my-imported-account\n      settings:\n        allowPublicWorkspaces: true\n        aiLogSummaries: false\n        enforceWebhookAuthentication: true\n        managedExecution: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Accounts can be imported using the account's UUID\n\n```sh\n$ pulumi import prefect:index/account:Account example 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"billingEmail":{"type":"string","description":"Billing email to apply to the account's Stripe customer\n","deprecationMessage":"Deprecated"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"domainNames":{"type":"array","items":{"type":"string"},"description":"The list of domain names for enabling SSO in Prefect Cloud.\n"},"handle":{"type":"string","description":"Unique handle of the account\n"},"link":{"type":"string","description":"An optional for an external url associated with the account, e.g. https://prefect.io/\n"},"location":{"type":"string","description":"An optional physical location for the account, e.g. Washington, D.C.\n"},"name":{"type":"string","description":"Name of the account\n"},"settings":{"$ref":"#/types/prefect:index%2FAccountSettings:AccountSettings","description":"Group of settings related to accounts\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object","required":["billingEmail","created","handle","name","settings","updated"],"inputProperties":{"billingEmail":{"type":"string","description":"Billing email to apply to the account's Stripe customer\n","deprecationMessage":"Deprecated"},"domainNames":{"type":"array","items":{"type":"string"},"description":"The list of domain names for enabling SSO in Prefect Cloud.\n"},"handle":{"type":"string","description":"Unique handle of the account\n"},"link":{"type":"string","description":"An optional for an external url associated with the account, e.g. https://prefect.io/\n"},"location":{"type":"string","description":"An optional physical location for the account, e.g. Washington, D.C.\n"},"name":{"type":"string","description":"Name of the account\n"},"settings":{"$ref":"#/types/prefect:index%2FAccountSettings:AccountSettings","description":"Group of settings related to accounts\n"}},"requiredInputs":["handle"],"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"billingEmail":{"type":"string","description":"Billing email to apply to the account's Stripe customer\n","deprecationMessage":"Deprecated"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"domainNames":{"type":"array","items":{"type":"string"},"description":"The list of domain names for enabling SSO in Prefect Cloud.\n"},"handle":{"type":"string","description":"Unique handle of the account\n"},"link":{"type":"string","description":"An optional for an external url associated with the account, e.g. https://prefect.io/\n"},"location":{"type":"string","description":"An optional physical location for the account, e.g. Washington, D.C.\n"},"name":{"type":"string","description":"Name of the account\n"},"settings":{"$ref":"#/types/prefect:index%2FAccountSettings:AccountSettings","description":"Group of settings related to accounts\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object"}},"prefect:index/accountMember:AccountMember":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Get the metadata for the desired account role.\nconst member = prefect.getAccountRole({\n    name: \"Member\",\n});\n// Manage an account member's role.\n// Note: this resource must be imported before it can be managed\n// because it cannot be created by Terraform.\nconst test = new prefect.AccountMember(\"test\", {accountRoleId: member.then(member =\u003e member.id)});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Get the metadata for the desired account role.\nmember = prefect.get_account_role(name=\"Member\")\n# Manage an account member's role.\n# Note: this resource must be imported before it can be managed\n# because it cannot be created by Terraform.\ntest = prefect.AccountMember(\"test\", account_role_id=member.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get the metadata for the desired account role.\n    var member = Prefect.GetAccountRole.Invoke(new()\n    {\n        Name = \"Member\",\n    });\n\n    // Manage an account member's role.\n    // Note: this resource must be imported before it can be managed\n    // because it cannot be created by Terraform.\n    var test = new Prefect.AccountMember(\"test\", new()\n    {\n        AccountRoleId = member.Apply(getAccountRoleResult =\u003e getAccountRoleResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// Get the metadata for the desired account role.\n\t\tmember, err := prefect.GetAccountRole(ctx, \u0026prefect.GetAccountRoleArgs{\n\t\t\tName: \"Member\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Manage an account member's role.\n\t\t// Note: this resource must be imported before it can be managed\n\t\t// because it cannot be created by Terraform.\n\t\t_, err = prefect.NewAccountMember(ctx, \"test\", \u0026prefect.AccountMemberArgs{\n\t\t\tAccountRoleId: pulumi.String(member.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetAccountRoleArgs;\nimport com.pulumi.prefect.AccountMember;\nimport com.pulumi.prefect.AccountMemberArgs;\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        // Get the metadata for the desired account role.\n        final var member = PrefectFunctions.getAccountRole(GetAccountRoleArgs.builder()\n            .name(\"Member\")\n            .build());\n\n        // Manage an account member's role.\n        // Note: this resource must be imported before it can be managed\n        // because it cannot be created by Terraform.\n        var test = new AccountMember(\"test\", AccountMemberArgs.builder()\n            .accountRoleId(member.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Manage an account member's role.\n  # Note: this resource must be imported before it can be managed\n  # because it cannot be created by Terraform.\n  test:\n    type: prefect:AccountMember\n    properties:\n      accountRoleId: ${member.id}\nvariables:\n  # Get the metadata for the desired account role.\n  member:\n    fn::invoke:\n      function: prefect:getAccountRole\n      arguments:\n        name: Member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_account_member resources can be imported by the email address\n\n```sh\n$ pulumi import prefect:index/accountMember:AccountMember my_account_member marvin@prefect.io\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"accountRoleId":{"type":"string","description":"Acount Role ID (UUID)\n"},"accountRoleName":{"type":"string","description":"Name of Account Role assigned to member\n"},"actorId":{"type":"string","description":"Actor ID (UUID)\n"},"email":{"type":"string","description":"Member email\n"},"firstName":{"type":"string","description":"Member's first name\n"},"handle":{"type":"string","description":"Member handle, or a human-readable identifier\n"},"lastName":{"type":"string","description":"Member's last name\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"type":"object","required":["accountRoleId","accountRoleName","actorId","email","firstName","handle","lastName","userId"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"accountRoleId":{"type":"string","description":"Acount Role ID (UUID)\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering AccountMember resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"accountRoleId":{"type":"string","description":"Acount Role ID (UUID)\n"},"accountRoleName":{"type":"string","description":"Name of Account Role assigned to member\n"},"actorId":{"type":"string","description":"Actor ID (UUID)\n"},"email":{"type":"string","description":"Member email\n"},"firstName":{"type":"string","description":"Member's first name\n"},"handle":{"type":"string","description":"Member handle, or a human-readable identifier\n"},"lastName":{"type":"string","description":"Member's last name\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"type":"object"}},"prefect:index/automation:Automation":{"description":"The resource 'automations' represents a Prefect Automation.\n\u003cbr\u003e\nFor more information, see [automate overview](https://docs.prefect.io/v3/automate/index).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n\n## Example Usage\n\nA common use case is to create an Automation that runs a Deployment.\n\nThis Automation can be set up to trigger off of an external event, such as a Webhook call:\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// set up the necessary resources for a Work Pool, Flow, and Deployment\nconst myWorkPool = new prefect.WorkPool(\"my_work_pool\", {\n    name: \"my-work-pool\",\n    type: \"prefect:managed\",\n});\nconst myFlow = new prefect.Flow(\"my_flow\", {name: \"my-flow\"});\nconst myDeployment = new prefect.Deployment(\"my_deployment\", {\n    name: \"my-deployment\",\n    flowId: myFlow.id,\n    workPoolName: myWorkPool.name,\n    workQueueName: \"default\",\n    pullSteps: [{\n        type: \"git_clone\",\n        repository: \"https://github.com/org/repo\",\n        branch: \"main\",\n    }],\n    entrypoint: \"dir/file.py:flow_name\",\n});\n// create the Automation, which has a `run-deployment` action\n// selecting the above deployment to run\nconst eventTrigger = new prefect.Automation(\"event_trigger\", {\n    name: \"my-automation\",\n    enabled: true,\n    trigger: {\n        event: {\n            posture: \"Reactive\",\n            expects: [\"external.event.happened\"],\n            threshold: 1,\n            within: 0,\n        },\n    },\n    actions: [{\n        type: \"run-deployment\",\n        source: \"selected\",\n        deploymentId: myDeployment.id,\n        parameters: JSON.stringify({}),\n        jobVariables: JSON.stringify({}),\n    }],\n});\n// optionally, create a Prefect Webhook that you can use to trigger the Automation\nconst webhook = new prefect.Webhook(\"webhook\", {\n    name: \"my-webhook\",\n    enabled: true,\n    template: JSON.stringify({\n        event: \"external.event.happened\",\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_prefect as prefect\n\n# set up the necessary resources for a Work Pool, Flow, and Deployment\nmy_work_pool = prefect.WorkPool(\"my_work_pool\",\n    name=\"my-work-pool\",\n    type=\"prefect:managed\")\nmy_flow = prefect.Flow(\"my_flow\", name=\"my-flow\")\nmy_deployment = prefect.Deployment(\"my_deployment\",\n    name=\"my-deployment\",\n    flow_id=my_flow.id,\n    work_pool_name=my_work_pool.name,\n    work_queue_name=\"default\",\n    pull_steps=[{\n        \"type\": \"git_clone\",\n        \"repository\": \"https://github.com/org/repo\",\n        \"branch\": \"main\",\n    }],\n    entrypoint=\"dir/file.py:flow_name\")\n# create the Automation, which has a `run-deployment` action\n# selecting the above deployment to run\nevent_trigger = prefect.Automation(\"event_trigger\",\n    name=\"my-automation\",\n    enabled=True,\n    trigger={\n        \"event\": {\n            \"posture\": \"Reactive\",\n            \"expects\": [\"external.event.happened\"],\n            \"threshold\": 1,\n            \"within\": 0,\n        },\n    },\n    actions=[{\n        \"type\": \"run-deployment\",\n        \"source\": \"selected\",\n        \"deployment_id\": my_deployment.id,\n        \"parameters\": json.dumps({}),\n        \"job_variables\": json.dumps({}),\n    }])\n# optionally, create a Prefect Webhook that you can use to trigger the Automation\nwebhook = prefect.Webhook(\"webhook\",\n    name=\"my-webhook\",\n    enabled=True,\n    template=json.dumps({\n        \"event\": \"external.event.happened\",\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // set up the necessary resources for a Work Pool, Flow, and Deployment\n    var myWorkPool = new Prefect.WorkPool(\"my_work_pool\", new()\n    {\n        Name = \"my-work-pool\",\n        Type = \"prefect:managed\",\n    });\n\n    var myFlow = new Prefect.Flow(\"my_flow\", new()\n    {\n        Name = \"my-flow\",\n    });\n\n    var myDeployment = new Prefect.Deployment(\"my_deployment\", new()\n    {\n        Name = \"my-deployment\",\n        FlowId = myFlow.Id,\n        WorkPoolName = myWorkPool.Name,\n        WorkQueueName = \"default\",\n        PullSteps = new[]\n        {\n            new Prefect.Inputs.DeploymentPullStepArgs\n            {\n                Type = \"git_clone\",\n                Repository = \"https://github.com/org/repo\",\n                Branch = \"main\",\n            },\n        },\n        Entrypoint = \"dir/file.py:flow_name\",\n    });\n\n    // create the Automation, which has a `run-deployment` action\n    // selecting the above deployment to run\n    var eventTrigger = new Prefect.Automation(\"event_trigger\", new()\n    {\n        Name = \"my-automation\",\n        Enabled = true,\n        Trigger = new Prefect.Inputs.AutomationTriggerArgs\n        {\n            Event = new Prefect.Inputs.AutomationTriggerEventArgs\n            {\n                Posture = \"Reactive\",\n                Expects = new[]\n                {\n                    \"external.event.happened\",\n                },\n                Threshold = 1,\n                Within = 0,\n            },\n        },\n        Actions = new[]\n        {\n            new Prefect.Inputs.AutomationActionArgs\n            {\n                Type = \"run-deployment\",\n                Source = \"selected\",\n                DeploymentId = myDeployment.Id,\n                Parameters = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                }),\n                JobVariables = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                }),\n            },\n        },\n    });\n\n    // optionally, create a Prefect Webhook that you can use to trigger the Automation\n    var webhook = new Prefect.Webhook(\"webhook\", new()\n    {\n        Name = \"my-webhook\",\n        Enabled = true,\n        Template = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"event\"] = \"external.event.happened\",\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/prefect/v2/prefect\"\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// set up the necessary resources for a Work Pool, Flow, and Deployment\n\t\tmyWorkPool, err := prefect.NewWorkPool(ctx, \"my_work_pool\", \u0026prefect.WorkPoolArgs{\n\t\t\tName: pulumi.String(\"my-work-pool\"),\n\t\t\tType: pulumi.String(\"prefect:managed\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyFlow, err := prefect.NewFlow(ctx, \"my_flow\", \u0026prefect.FlowArgs{\n\t\t\tName: pulumi.String(\"my-flow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDeployment, err := prefect.NewDeployment(ctx, \"my_deployment\", \u0026prefect.DeploymentArgs{\n\t\t\tName:          pulumi.String(\"my-deployment\"),\n\t\t\tFlowId:        myFlow.ID(),\n\t\t\tWorkPoolName:  myWorkPool.Name,\n\t\t\tWorkQueueName: pulumi.String(\"default\"),\n\t\t\tPullSteps: prefect.DeploymentPullStepArray{\n\t\t\t\t\u0026prefect.DeploymentPullStepArgs{\n\t\t\t\t\tType:       pulumi.String(\"git_clone\"),\n\t\t\t\t\tRepository: pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tBranch:     pulumi.String(\"main\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEntrypoint: pulumi.String(\"dir/file.py:flow_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t// create the Automation, which has a `run-deployment` action\n\t\t// selecting the above deployment to run\n\t\t_, err = prefect.NewAutomation(ctx, \"event_trigger\", \u0026prefect.AutomationArgs{\n\t\t\tName:    pulumi.String(\"my-automation\"),\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t\tTrigger: \u0026prefect.AutomationTriggerArgs{\n\t\t\t\tEvent: \u0026prefect.AutomationTriggerEventArgs{\n\t\t\t\t\tPosture: pulumi.String(\"Reactive\"),\n\t\t\t\t\tExpects: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"external.event.happened\"),\n\t\t\t\t\t},\n\t\t\t\t\tThreshold: pulumi.Float64(1),\n\t\t\t\t\tWithin:    pulumi.Float64(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tActions: prefect.AutomationActionArray{\n\t\t\t\t\u0026prefect.AutomationActionArgs{\n\t\t\t\t\tType:         pulumi.String(\"run-deployment\"),\n\t\t\t\t\tSource:       pulumi.String(\"selected\"),\n\t\t\t\t\tDeploymentId: myDeployment.ID(),\n\t\t\t\t\tParameters:   pulumi.String(json0),\n\t\t\t\t\tJobVariables: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"event\": \"external.event.happened\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\t// optionally, create a Prefect Webhook that you can use to trigger the Automation\n\t\t_, err = prefect.NewWebhook(ctx, \"webhook\", \u0026prefect.WebhookArgs{\n\t\t\tName:     pulumi.String(\"my-webhook\"),\n\t\t\tEnabled:  pulumi.Bool(true),\n\t\t\tTemplate: pulumi.String(json2),\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.prefect.WorkPool;\nimport com.pulumi.prefect.WorkPoolArgs;\nimport com.pulumi.prefect.Flow;\nimport com.pulumi.prefect.FlowArgs;\nimport com.pulumi.prefect.Deployment;\nimport com.pulumi.prefect.DeploymentArgs;\nimport com.pulumi.prefect.inputs.DeploymentPullStepArgs;\nimport com.pulumi.prefect.Automation;\nimport com.pulumi.prefect.AutomationArgs;\nimport com.pulumi.prefect.inputs.AutomationTriggerArgs;\nimport com.pulumi.prefect.inputs.AutomationTriggerEventArgs;\nimport com.pulumi.prefect.inputs.AutomationActionArgs;\nimport com.pulumi.prefect.Webhook;\nimport com.pulumi.prefect.WebhookArgs;\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        // set up the necessary resources for a Work Pool, Flow, and Deployment\n        var myWorkPool = new WorkPool(\"myWorkPool\", WorkPoolArgs.builder()\n            .name(\"my-work-pool\")\n            .type(\"prefect:managed\")\n            .build());\n\n        var myFlow = new Flow(\"myFlow\", FlowArgs.builder()\n            .name(\"my-flow\")\n            .build());\n\n        var myDeployment = new Deployment(\"myDeployment\", DeploymentArgs.builder()\n            .name(\"my-deployment\")\n            .flowId(myFlow.id())\n            .workPoolName(myWorkPool.name())\n            .workQueueName(\"default\")\n            .pullSteps(DeploymentPullStepArgs.builder()\n                .type(\"git_clone\")\n                .repository(\"https://github.com/org/repo\")\n                .branch(\"main\")\n                .build())\n            .entrypoint(\"dir/file.py:flow_name\")\n            .build());\n\n        // create the Automation, which has a `run-deployment` action\n        // selecting the above deployment to run\n        var eventTrigger = new Automation(\"eventTrigger\", AutomationArgs.builder()\n            .name(\"my-automation\")\n            .enabled(true)\n            .trigger(AutomationTriggerArgs.builder()\n                .event(AutomationTriggerEventArgs.builder()\n                    .posture(\"Reactive\")\n                    .expects(\"external.event.happened\")\n                    .threshold(1.0)\n                    .within(0.0)\n                    .build())\n                .build())\n            .actions(AutomationActionArgs.builder()\n                .type(\"run-deployment\")\n                .source(\"selected\")\n                .deploymentId(myDeployment.id())\n                .parameters(serializeJson(\n                    jsonObject(\n\n                    )))\n                .jobVariables(serializeJson(\n                    jsonObject(\n\n                    )))\n                .build())\n            .build());\n\n        // optionally, create a Prefect Webhook that you can use to trigger the Automation\n        var webhook = new Webhook(\"webhook\", WebhookArgs.builder()\n            .name(\"my-webhook\")\n            .enabled(true)\n            .template(serializeJson(\n                jsonObject(\n                    jsonProperty(\"event\", \"external.event.happened\")\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # set up the necessary resources for a Work Pool, Flow, and Deployment\n  myWorkPool:\n    type: prefect:WorkPool\n    name: my_work_pool\n    properties:\n      name: my-work-pool\n      type: prefect:managed\n  myFlow:\n    type: prefect:Flow\n    name: my_flow\n    properties:\n      name: my-flow\n  myDeployment:\n    type: prefect:Deployment\n    name: my_deployment\n    properties:\n      name: my-deployment\n      flowId: ${myFlow.id}\n      workPoolName: ${myWorkPool.name}\n      workQueueName: default\n      pullSteps:\n        - type: git_clone\n          repository: https://github.com/org/repo\n          branch: main\n      entrypoint: dir/file.py:flow_name\n  # create the Automation, which has a `run-deployment` action\n  # selecting the above deployment to run\n  eventTrigger:\n    type: prefect:Automation\n    name: event_trigger\n    properties:\n      name: my-automation\n      enabled: true\n      trigger:\n        event:\n          posture: Reactive\n          expects:\n            - external.event.happened\n          threshold: 1\n          within: 0\n      actions:\n        - type: run-deployment\n          source: selected\n          deploymentId: ${myDeployment.id}\n          parameters:\n            fn::toJSON: {}\n          jobVariables:\n            fn::toJSON: {}\n  # optionally, create a Prefect Webhook that you can use to trigger the Automation\n  webhook:\n    type: prefect:Webhook\n    properties:\n      name: my-webhook\n      enabled: true\n      template:\n        fn::toJSON:\n          event: external.event.happened\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  # example:\n  # An automation with an event trigger\n  eventTrigger:\n    type: prefect:Automation\n    name: event_trigger\n    properties:\n      name: tfp-test-event-trigger\n      description: ayu carumba\n      enabled: true\n      trigger:\n        event:\n          posture: Reactive\n          match:\n            fn::toJSON:\n              prefect.resource.id: prefect.flow-run.*\n          matchRelated:\n            fn::toJSON:\n              prefect.resource.id:\n                - prefect.flow.ce6ec0c9-4b51-483b-a776-43c085b6c4f8\n              prefect.resource.role: flow\n          afters:\n            - prefect.flow-run.completed\n          expects:\n            - prefect.flow-run.failed\n          forEaches:\n            - prefect.resource.id\n          threshold: 1\n          within: 60\n      actions:\n        - type: run-deployment\n          source: inferred\n          parameters:\n            fn::toJSON:\n              param1: value1\n              param2: value2\n          jobVariables:\n            fn::toJSON:\n              var1: value1\n              var2: value2\n              var3: 3\n              var4: true\n              var5:\n                key1: value1\n        - type: declare-incident\n  # example:\n  # An automation with a metric trigger\n  metricTrigger:\n    type: prefect:Automation\n    name: metric_trigger\n    properties:\n      name: tfp-test-metric-trigger\n      description: boom shakkala\n      enabled: true\n      trigger:\n        metric:\n          posture: Metric\n          match:\n            fn::toJSON: {}\n          matchRelated:\n            fn::toJSON: {}\n          metric:\n            name: duration\n            operator: '\u003e='\n            threshold: 10\n            range: 300\n            firingFor: 300\n      actions:\n        - type: change-flow-run-state\n          state: FAILED\n          name: Failed by automation\n          message: Flow run failed due to {{ event.reason }}\n      actionsOnTriggers: []\n      actionsOnResolves: []\n  # example:\n  # An automation with a compound trigger\n  compoundTrigger:\n    type: prefect:Automation\n    name: compound_trigger\n    properties:\n      name: tfp-test-compound-trigger\n      description: compound trigger dos!\n      enabled: true\n      trigger:\n        compound:\n          require: any\n          within: 300\n          triggers:\n            - event:\n                expects:\n                  - prefect.flow-run.Failed\n                match:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                matchRelated:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                    prefect.resource.role: flow\n                forEaches: []\n                afters: []\n                posture: Reactive\n                threshold: 1\n                within: 0\n            - event:\n                expects:\n                  - prefect.flow-run.NonExistent\n                match:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                matchRelated:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                    prefect.resource.role: flow\n                posture: Reactive\n                threshold: 1\n                within: 0\n      actions:\n        - type: run-deployment\n          source: inferred\n          jobVariables:\n            fn::toJSON:\n              var1: value1\n              var2: value2\n              var3: 3\n              var4: true\n              var5:\n                key1: value1\n  # example:\n  # An automation with a sequence trigger\n  sequenceTrigger:\n    type: prefect:Automation\n    name: sequence_trigger\n    properties:\n      name: tfp-test-sequence-trigger\n      description: sequence trigger tres!\n      enabled: true\n      trigger:\n        sequence:\n          within: 300\n          triggers:\n            - event:\n                expects:\n                  - prefect.flow-run.Pending\n                match:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                matchRelated:\n                  fn::toJSON: {}\n                forEaches: []\n                posture: Reactive\n                threshold: 1\n                within: 0\n            - event:\n                expects:\n                  - prefect.flow-run.Running\n                match:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                matchRelated:\n                  fn::toJSON: {}\n                forEaches: []\n                posture: Reactive\n                threshold: 1\n                within: 0\n            - event:\n                expects:\n                  - prefect.flow-run.Completed\n                match:\n                  fn::toJSON:\n                    prefect.resource.id: prefect.flow-run.*\n                matchRelated:\n                  fn::toJSON: {}\n                forEaches: []\n                posture: Reactive\n                threshold: 1\n                within: 0\n      actions:\n        - type: send-notification\n          blockDocumentId: 123e4567-e89b-12d3-a456-426614174000\n          subject: 'Flow Run Failed: {{ event.resource[''prefect.resource.name''] }}'\n          body: Flow run {{ event.resource['prefect.resource.id'] }} failed at {{ event.occurred }}\n      actionsOnTriggers:\n        - type: change-flow-run-state\n          state: FAILED\n          name: Failed by automation\n          message: Flow run failed due to {{ event.resource['prefect.resource.name'] }}\n      actionsOnResolves:\n        - type: call-webhook\n          blockDocumentId: 123e4567-e89b-12d3-a456-426614174000\n          payload: '{\"flow_run_id\": \"{{ event.resource[''prefect.resource.id''] }}\", \"status\": \"{{ event.event }}\"}'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_automation resources can be imported by the automation_id\n\n```sh\n$ pulumi import prefect:index/automation:Automation my_automation 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via automation_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/automation:Automation my_automation 00000000-0000-0000-0000-000000000000,11111111-1111-1111-1111-111111111111\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"actions":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationAction:AutomationAction"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnResolves":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnResolf:AutomationActionsOnResolf"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnTriggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnTrigger:AutomationActionsOnTrigger"},"description":"List of actions to perform when the automation is triggered\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the automation\n"},"enabled":{"type":"boolean","description":"Whether the automation is enabled\n"},"name":{"type":"string","description":"Name of the automation\n"},"trigger":{"$ref":"#/types/prefect:index%2FAutomationTrigger:AutomationTrigger","description":"The criteria for which events this Automation covers and how it will respond\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["actions","actionsOnResolves","actionsOnTriggers","created","description","enabled","name","trigger","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"actions":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationAction:AutomationAction"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnResolves":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnResolf:AutomationActionsOnResolf"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnTriggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnTrigger:AutomationActionsOnTrigger"},"description":"List of actions to perform when the automation is triggered\n"},"description":{"type":"string","description":"Description of the automation\n"},"enabled":{"type":"boolean","description":"Whether the automation is enabled\n"},"name":{"type":"string","description":"Name of the automation\n"},"trigger":{"$ref":"#/types/prefect:index%2FAutomationTrigger:AutomationTrigger","description":"The criteria for which events this Automation covers and how it will respond\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"requiredInputs":["trigger"],"stateInputs":{"description":"Input properties used for looking up and filtering Automation resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"actions":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationAction:AutomationAction"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnResolves":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnResolf:AutomationActionsOnResolf"},"description":"List of actions to perform when the automation is triggered\n"},"actionsOnTriggers":{"type":"array","items":{"$ref":"#/types/prefect:index%2FAutomationActionsOnTrigger:AutomationActionsOnTrigger"},"description":"List of actions to perform when the automation is triggered\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the automation\n"},"enabled":{"type":"boolean","description":"Whether the automation is enabled\n"},"name":{"type":"string","description":"Name of the automation\n"},"trigger":{"$ref":"#/types/prefect:index%2FAutomationTrigger:AutomationTrigger","description":"The criteria for which events this Automation covers and how it will respond\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"}},"prefect:index/block:Block":{"description":"\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_block resources can be imported by the block_id\n\n```sh\n$ pulumi import prefect:index/block:Block my_block 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via block_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/block:Block my_block 00000000-0000-0000-0000-000000000000,11111111-1111-1111-1111-111111111111\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)"},"data":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWo":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWoVersion":{"type":"number","description":"The version of the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute. This is used to track changes to the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute and trigger updates when the value changes."},"name":{"type":"string","description":"Unique name of the Block\n"},"typeSlug":{"type":"string","description":"Block Type slug, which determines the schema of the \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e JSON attribute. Use `prefect block type ls` to view all available Block type slugs.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set."}},"type":"object","required":["created","name","typeSlug","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located"},"data":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWo":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWoVersion":{"type":"number","description":"The version of the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute. This is used to track changes to the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute and trigger updates when the value changes."},"name":{"type":"string","description":"Unique name of the Block\n"},"typeSlug":{"type":"string","description":"Block Type slug, which determines the schema of the \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e JSON attribute. Use `prefect block type ls` to view all available Block type slugs.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set."}},"requiredInputs":["typeSlug"],"stateInputs":{"description":"Input properties used for looking up and filtering Block resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)"},"data":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWo":{"type":"string","description":"The user-inputted Block payload, as a JSON string. Use \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e on the provided value to satisfy the underlying JSON type. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.","secret":true},"dataWoVersion":{"type":"number","description":"The version of the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute. This is used to track changes to the \u003cspan pulumi-lang-nodejs=\"`dataWo`\" pulumi-lang-dotnet=\"`DataWo`\" pulumi-lang-go=\"`dataWo`\" pulumi-lang-python=\"`data_wo`\" pulumi-lang-yaml=\"`dataWo`\" pulumi-lang-java=\"`dataWo`\"\u003e`data_wo`\u003c/span\u003e attribute and trigger updates when the value changes."},"name":{"type":"string","description":"Unique name of the Block\n"},"typeSlug":{"type":"string","description":"Block Type slug, which determines the schema of the \u003cspan pulumi-lang-nodejs=\"`data`\" pulumi-lang-dotnet=\"`Data`\" pulumi-lang-go=\"`data`\" pulumi-lang-python=\"`data`\" pulumi-lang-yaml=\"`data`\" pulumi-lang-java=\"`data`\"\u003e`data`\u003c/span\u003e JSON attribute. Use `prefect block type ls` to view all available Block type slugs.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set."}},"type":"object"}},"prefect:index/blockAccess:BlockAccess":{"description":"This resource manages access control to Blocks. Accessors can be Service Accounts, Users, or Teams. Accessors can be Managers or Viewers.\n\nAll Actors/Teams must first be granted access to the Workspace where the Block resides.\n\nLeave fields empty to use the default access controls\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// All Blocks are scoped to a Workspace\nconst myWorkspace = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\nconst mySecret = new prefect.Block(\"my_secret\", {\n    name: \"my-secret\",\n    typeSlug: \"secret\",\n    data: JSON.stringify({\n        value: \"foobar\",\n    }),\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n// Be sure to grant all Actors/Teams who need Block access\n// to first be invited to the Workspace (with a role).\nconst developer = prefect.getWorkspaceRole({\n    name: \"Developer\",\n});\n// Example: invite a Service Account to the Workspace\nconst bot = new prefect.ServiceAccount(\"bot\", {name: \"bot\"});\nconst botDeveloper = new prefect.WorkspaceAccess(\"bot_developer\", {\n    accessorType: \"SERVICE_ACCOUNT\",\n    accessorId: bot.id,\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n// Example: invite a User to the Workspace\nconst user = prefect.getAccountMember({\n    email: \"user@prefect.io\",\n});\nconst userDeveloper = new prefect.WorkspaceAccess(\"user_developer\", {\n    accessorType: \"USER\",\n    accessorId: user.then(user =\u003e user.userId),\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n// Example: invite a Team to the Workspace\nconst eng = prefect.getTeam({\n    name: \"my-team\",\n});\nconst teamDeveloper = new prefect.WorkspaceAccess(\"team_developer\", {\n    accessorType: \"TEAM\",\n    accessorId: eng.then(eng =\u003e eng.id),\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n// Grant all Actors/Teams the appropriate Manage or View access to the Block\nconst customAccess = new prefect.BlockAccess(\"custom_access\", {\n    blockId: mySecret.id,\n    manageActorIds: [bot.actorId],\n    viewActorIds: [user.then(user =\u003e user.actorId)],\n    manageTeamIds: [eng.then(eng =\u003e eng.id)],\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n// Optionally, leave all fields empty to use the default access controls\nconst defaultAccess = new prefect.BlockAccess(\"default_access\", {\n    blockId: mySecret.id,\n    manageActorIds: [],\n    viewActorIds: [],\n    manageTeamIds: [],\n    viewTeamIds: [],\n    workspaceId: myWorkspace.then(myWorkspace =\u003e myWorkspace.id),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_prefect as prefect\n\n# All Blocks are scoped to a Workspace\nmy_workspace = prefect.get_workspace(handle=\"my-workspace\")\nmy_secret = prefect.Block(\"my_secret\",\n    name=\"my-secret\",\n    type_slug=\"secret\",\n    data=json.dumps({\n        \"value\": \"foobar\",\n    }),\n    workspace_id=my_workspace.id)\n# Be sure to grant all Actors/Teams who need Block access\n# to first be invited to the Workspace (with a role).\ndeveloper = prefect.get_workspace_role(name=\"Developer\")\n# Example: invite a Service Account to the Workspace\nbot = prefect.ServiceAccount(\"bot\", name=\"bot\")\nbot_developer = prefect.WorkspaceAccess(\"bot_developer\",\n    accessor_type=\"SERVICE_ACCOUNT\",\n    accessor_id=bot.id,\n    workspace_role_id=developer.id,\n    workspace_id=my_workspace.id)\n# Example: invite a User to the Workspace\nuser = prefect.get_account_member(email=\"user@prefect.io\")\nuser_developer = prefect.WorkspaceAccess(\"user_developer\",\n    accessor_type=\"USER\",\n    accessor_id=user.user_id,\n    workspace_role_id=developer.id,\n    workspace_id=my_workspace.id)\n# Example: invite a Team to the Workspace\neng = prefect.get_team(name=\"my-team\")\nteam_developer = prefect.WorkspaceAccess(\"team_developer\",\n    accessor_type=\"TEAM\",\n    accessor_id=eng.id,\n    workspace_role_id=developer.id,\n    workspace_id=my_workspace.id)\n# Grant all Actors/Teams the appropriate Manage or View access to the Block\ncustom_access = prefect.BlockAccess(\"custom_access\",\n    block_id=my_secret.id,\n    manage_actor_ids=[bot.actor_id],\n    view_actor_ids=[user.actor_id],\n    manage_team_ids=[eng.id],\n    workspace_id=my_workspace.id)\n# Optionally, leave all fields empty to use the default access controls\ndefault_access = prefect.BlockAccess(\"default_access\",\n    block_id=my_secret.id,\n    manage_actor_ids=[],\n    view_actor_ids=[],\n    manage_team_ids=[],\n    view_team_ids=[],\n    workspace_id=my_workspace.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // All Blocks are scoped to a Workspace\n    var myWorkspace = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    var mySecret = new Prefect.Block(\"my_secret\", new()\n    {\n        Name = \"my-secret\",\n        TypeSlug = \"secret\",\n        Data = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"value\"] = \"foobar\",\n        }),\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Be sure to grant all Actors/Teams who need Block access\n    // to first be invited to the Workspace (with a role).\n    var developer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Developer\",\n    });\n\n    // Example: invite a Service Account to the Workspace\n    var bot = new Prefect.ServiceAccount(\"bot\", new()\n    {\n        Name = \"bot\",\n    });\n\n    var botDeveloper = new Prefect.WorkspaceAccess(\"bot_developer\", new()\n    {\n        AccessorType = \"SERVICE_ACCOUNT\",\n        AccessorId = bot.Id,\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Example: invite a User to the Workspace\n    var user = Prefect.GetAccountMember.Invoke(new()\n    {\n        Email = \"user@prefect.io\",\n    });\n\n    var userDeveloper = new Prefect.WorkspaceAccess(\"user_developer\", new()\n    {\n        AccessorType = \"USER\",\n        AccessorId = user.Apply(getAccountMemberResult =\u003e getAccountMemberResult.UserId),\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Example: invite a Team to the Workspace\n    var eng = Prefect.GetTeam.Invoke(new()\n    {\n        Name = \"my-team\",\n    });\n\n    var teamDeveloper = new Prefect.WorkspaceAccess(\"team_developer\", new()\n    {\n        AccessorType = \"TEAM\",\n        AccessorId = eng.Apply(getTeamResult =\u003e getTeamResult.Id),\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Grant all Actors/Teams the appropriate Manage or View access to the Block\n    var customAccess = new Prefect.BlockAccess(\"custom_access\", new()\n    {\n        BlockId = mySecret.Id,\n        ManageActorIds = new[]\n        {\n            bot.ActorId,\n        },\n        ViewActorIds = new[]\n        {\n            user.Apply(getAccountMemberResult =\u003e getAccountMemberResult.ActorId),\n        },\n        ManageTeamIds = new[]\n        {\n            eng.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Optionally, leave all fields empty to use the default access controls\n    var defaultAccess = new Prefect.BlockAccess(\"default_access\", new()\n    {\n        BlockId = mySecret.Id,\n        ManageActorIds = new[] {},\n        ViewActorIds = new[] {},\n        ManageTeamIds = new[] {},\n        ViewTeamIds = new[] {},\n        WorkspaceId = myWorkspace.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\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/prefect/v2/prefect\"\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// All Blocks are scoped to a Workspace\n\t\tmyWorkspace, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"value\": \"foobar\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\tmySecret, err := prefect.NewBlock(ctx, \"my_secret\", \u0026prefect.BlockArgs{\n\t\t\tName:        pulumi.String(\"my-secret\"),\n\t\t\tTypeSlug:    pulumi.String(\"secret\"),\n\t\t\tData:        pulumi.String(json0),\n\t\t\tWorkspaceId: pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Be sure to grant all Actors/Teams who need Block access\n\t\t// to first be invited to the Workspace (with a role).\n\t\tdeveloper, err := prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Developer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Service Account to the Workspace\n\t\tbot, err := prefect.NewServiceAccount(ctx, \"bot\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"bot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"bot_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"SERVICE_ACCOUNT\"),\n\t\t\tAccessorId:      bot.ID(),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a User to the Workspace\n\t\tuser, err := prefect.LookupAccountMember(ctx, \u0026prefect.LookupAccountMemberArgs{\n\t\t\tEmail: \"user@prefect.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"user_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"USER\"),\n\t\t\tAccessorId:      pulumi.String(user.UserId),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Team to the Workspace\n\t\teng, err := prefect.LookupTeam(ctx, \u0026prefect.LookupTeamArgs{\n\t\t\tName: pulumi.StringRef(\"my-team\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"team_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"TEAM\"),\n\t\t\tAccessorId:      pulumi.String(eng.Id),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Grant all Actors/Teams the appropriate Manage or View access to the Block\n\t\t_, err = prefect.NewBlockAccess(ctx, \"custom_access\", \u0026prefect.BlockAccessArgs{\n\t\t\tBlockId: mySecret.ID(),\n\t\t\tManageActorIds: pulumi.StringArray{\n\t\t\t\tbot.ActorId,\n\t\t\t},\n\t\t\tViewActorIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(user.ActorId),\n\t\t\t},\n\t\t\tManageTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(eng.Id),\n\t\t\t},\n\t\t\tWorkspaceId: pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, leave all fields empty to use the default access controls\n\t\t_, err = prefect.NewBlockAccess(ctx, \"default_access\", \u0026prefect.BlockAccessArgs{\n\t\t\tBlockId:        mySecret.ID(),\n\t\t\tManageActorIds: pulumi.StringArray{},\n\t\t\tViewActorIds:   pulumi.StringArray{},\n\t\t\tManageTeamIds:  pulumi.StringArray{},\n\t\t\tViewTeamIds:    pulumi.StringArray{},\n\t\t\tWorkspaceId:    pulumi.String(myWorkspace.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.Block;\nimport com.pulumi.prefect.BlockArgs;\nimport com.pulumi.prefect.inputs.GetWorkspaceRoleArgs;\nimport com.pulumi.prefect.ServiceAccount;\nimport com.pulumi.prefect.ServiceAccountArgs;\nimport com.pulumi.prefect.WorkspaceAccess;\nimport com.pulumi.prefect.WorkspaceAccessArgs;\nimport com.pulumi.prefect.inputs.GetAccountMemberArgs;\nimport com.pulumi.prefect.inputs.GetTeamArgs;\nimport com.pulumi.prefect.BlockAccess;\nimport com.pulumi.prefect.BlockAccessArgs;\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        // All Blocks are scoped to a Workspace\n        final var myWorkspace = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        var mySecret = new Block(\"mySecret\", BlockArgs.builder()\n            .name(\"my-secret\")\n            .typeSlug(\"secret\")\n            .data(serializeJson(\n                jsonObject(\n                    jsonProperty(\"value\", \"foobar\")\n                )))\n            .workspaceId(myWorkspace.id())\n            .build());\n\n        // Be sure to grant all Actors/Teams who need Block access\n        // to first be invited to the Workspace (with a role).\n        final var developer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Developer\")\n            .build());\n\n        // Example: invite a Service Account to the Workspace\n        var bot = new ServiceAccount(\"bot\", ServiceAccountArgs.builder()\n            .name(\"bot\")\n            .build());\n\n        var botDeveloper = new WorkspaceAccess(\"botDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"SERVICE_ACCOUNT\")\n            .accessorId(bot.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(myWorkspace.id())\n            .build());\n\n        // Example: invite a User to the Workspace\n        final var user = PrefectFunctions.getAccountMember(GetAccountMemberArgs.builder()\n            .email(\"user@prefect.io\")\n            .build());\n\n        var userDeveloper = new WorkspaceAccess(\"userDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"USER\")\n            .accessorId(user.userId())\n            .workspaceRoleId(developer.id())\n            .workspaceId(myWorkspace.id())\n            .build());\n\n        // Example: invite a Team to the Workspace\n        final var eng = PrefectFunctions.getTeam(GetTeamArgs.builder()\n            .name(\"my-team\")\n            .build());\n\n        var teamDeveloper = new WorkspaceAccess(\"teamDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"TEAM\")\n            .accessorId(eng.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(myWorkspace.id())\n            .build());\n\n        // Grant all Actors/Teams the appropriate Manage or View access to the Block\n        var customAccess = new BlockAccess(\"customAccess\", BlockAccessArgs.builder()\n            .blockId(mySecret.id())\n            .manageActorIds(bot.actorId())\n            .viewActorIds(user.actorId())\n            .manageTeamIds(eng.id())\n            .workspaceId(myWorkspace.id())\n            .build());\n\n        // Optionally, leave all fields empty to use the default access controls\n        var defaultAccess = new BlockAccess(\"defaultAccess\", BlockAccessArgs.builder()\n            .blockId(mySecret.id())\n            .manageActorIds()\n            .viewActorIds()\n            .manageTeamIds()\n            .viewTeamIds()\n            .workspaceId(myWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mySecret:\n    type: prefect:Block\n    name: my_secret\n    properties:\n      name: my-secret\n      typeSlug: secret\n      data:\n        fn::toJSON:\n          value: foobar\n      workspaceId: ${myWorkspace.id}\n  # Example: invite a Service Account to the Workspace\n  bot:\n    type: prefect:ServiceAccount\n    properties:\n      name: bot\n  botDeveloper:\n    type: prefect:WorkspaceAccess\n    name: bot_developer\n    properties:\n      accessorType: SERVICE_ACCOUNT\n      accessorId: ${bot.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${myWorkspace.id}\n  userDeveloper:\n    type: prefect:WorkspaceAccess\n    name: user_developer\n    properties:\n      accessorType: USER\n      accessorId: ${user.userId}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${myWorkspace.id}\n  teamDeveloper:\n    type: prefect:WorkspaceAccess\n    name: team_developer\n    properties:\n      accessorType: TEAM\n      accessorId: ${eng.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${myWorkspace.id}\n  # Grant all Actors/Teams the appropriate Manage or View access to the Block\n  customAccess:\n    type: prefect:BlockAccess\n    name: custom_access\n    properties:\n      blockId: ${mySecret.id}\n      manageActorIds:\n        - ${bot.actorId}\n      viewActorIds:\n        - ${user.actorId}\n      manageTeamIds:\n        - ${eng.id}\n      workspaceId: ${myWorkspace.id}\n  # Optionally, leave all fields empty to use the default access controls\n  defaultAccess:\n    type: prefect:BlockAccess\n    name: default_access\n    properties:\n      blockId: ${mySecret.id}\n      manageActorIds: []\n      viewActorIds: []\n      manageTeamIds: []\n      viewTeamIds: []\n      workspaceId: ${myWorkspace.id}\nvariables:\n  # All Blocks are scoped to a Workspace\n  myWorkspace:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n  # Be sure to grant all Actors/Teams who need Block access\n  # to first be invited to the Workspace (with a role).\n  developer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Developer\n  # Example: invite a User to the Workspace\n  user:\n    fn::invoke:\n      function: prefect:getAccountMember\n      arguments:\n        email: user@prefect.io\n  # Example: invite a Team to the Workspace\n  eng:\n    fn::invoke:\n      function: prefect:getTeam\n      arguments:\n        name: my-team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockId":{"type":"string","description":"Block ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Block\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Block\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Block\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Block\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.BlockAccess`\" pulumi-lang-dotnet=\"`prefect.BlockAccess`\" pulumi-lang-go=\"`BlockAccess`\" pulumi-lang-python=\"`BlockAccess`\" pulumi-lang-yaml=\"`prefect.BlockAccess`\" pulumi-lang-java=\"`prefect.BlockAccess`\"\u003e`prefect.BlockAccess`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object","required":["blockId","manageActorIds","manageTeamIds","viewActorIds","viewTeamIds"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockId":{"type":"string","description":"Block ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Block\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Block\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Block\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Block\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.BlockAccess`\" pulumi-lang-dotnet=\"`prefect.BlockAccess`\" pulumi-lang-go=\"`BlockAccess`\" pulumi-lang-python=\"`BlockAccess`\" pulumi-lang-yaml=\"`prefect.BlockAccess`\" pulumi-lang-java=\"`prefect.BlockAccess`\"\u003e`prefect.BlockAccess`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"requiredInputs":["blockId"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockAccess resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockId":{"type":"string","description":"Block ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Block\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Block\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Block\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Block\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.BlockAccess`\" pulumi-lang-dotnet=\"`prefect.BlockAccess`\" pulumi-lang-go=\"`BlockAccess`\" pulumi-lang-python=\"`BlockAccess`\" pulumi-lang-yaml=\"`prefect.BlockAccess`\" pulumi-lang-java=\"`prefect.BlockAccess`\"\u003e`prefect.BlockAccess`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object"}},"prefect:index/blockSchema:BlockSchema":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`blockSchema`\" pulumi-lang-dotnet=\"`BlockSchema`\" pulumi-lang-go=\"`blockSchema`\" pulumi-lang-python=\"`block_schema`\" pulumi-lang-yaml=\"`blockSchema`\" pulumi-lang-java=\"`blockSchema`\"\u003e`block_schema`\u003c/span\u003e allows creating and managing [Prefect Block Schemas](https://docs.prefect.io/latest/concepts/blocks/).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): .\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = new prefect.BlockType(\"test\", {\n    name: \"my-block-type\",\n    slug: \"my-block-type\",\n    logoUrl: \"https://example.com/logo.png\",\n    documentationUrl: \"https://example.com/documentation\",\n    description: \"My custom block type\",\n    codeExample: \"Some code example\",\n});\nconst testBlockSchema = new prefect.BlockSchema(\"test\", {\n    blockTypeId: test.id,\n    capabilities: [\n        \"read\",\n        \"write\",\n    ],\n    version: \"1.0.0\",\n    fields: JSON.stringify({\n        title: \"x\",\n        type: \"object\",\n        properties: {\n            foo: {\n                title: \"Foo\",\n                type: \"string\",\n            },\n        },\n    }),\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_prefect as prefect\n\ntest = prefect.BlockType(\"test\",\n    name=\"my-block-type\",\n    slug=\"my-block-type\",\n    logo_url=\"https://example.com/logo.png\",\n    documentation_url=\"https://example.com/documentation\",\n    description=\"My custom block type\",\n    code_example=\"Some code example\")\ntest_block_schema = prefect.BlockSchema(\"test\",\n    block_type_id=test.id,\n    capabilities=[\n        \"read\",\n        \"write\",\n    ],\n    version=\"1.0.0\",\n    fields=json.dumps({\n        \"title\": \"x\",\n        \"type\": \"object\",\n        \"properties\": {\n            \"foo\": {\n                \"title\": \"Foo\",\n                \"type\": \"string\",\n            },\n        },\n    }))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Prefect.BlockType(\"test\", new()\n    {\n        Name = \"my-block-type\",\n        Slug = \"my-block-type\",\n        LogoUrl = \"https://example.com/logo.png\",\n        DocumentationUrl = \"https://example.com/documentation\",\n        Description = \"My custom block type\",\n        CodeExample = \"Some code example\",\n    });\n\n    var testBlockSchema = new Prefect.BlockSchema(\"test\", new()\n    {\n        BlockTypeId = test.Id,\n        Capabilities = new[]\n        {\n            \"read\",\n            \"write\",\n        },\n        Version = \"1.0.0\",\n        Fields = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n        {\n            [\"title\"] = \"x\",\n            [\"type\"] = \"object\",\n            [\"properties\"] = new Dictionary\u003cstring, object?\u003e\n            {\n                [\"foo\"] = new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"title\"] = \"Foo\",\n                    [\"type\"] = \"string\",\n                },\n            },\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/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := prefect.NewBlockType(ctx, \"test\", \u0026prefect.BlockTypeArgs{\n\t\t\tName:             pulumi.String(\"my-block-type\"),\n\t\t\tSlug:             pulumi.String(\"my-block-type\"),\n\t\t\tLogoUrl:          pulumi.String(\"https://example.com/logo.png\"),\n\t\t\tDocumentationUrl: pulumi.String(\"https://example.com/documentation\"),\n\t\t\tDescription:      pulumi.String(\"My custom block type\"),\n\t\t\tCodeExample:      pulumi.String(\"Some code example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"title\": \"x\",\n\t\t\t\"type\":  \"object\",\n\t\t\t\"properties\": map[string]interface{}{\n\t\t\t\t\"foo\": map[string]interface{}{\n\t\t\t\t\t\"title\": \"Foo\",\n\t\t\t\t\t\"type\":  \"string\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\t_, err = prefect.NewBlockSchema(ctx, \"test\", \u0026prefect.BlockSchemaArgs{\n\t\t\tBlockTypeId: test.ID(),\n\t\t\tCapabilities: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"read\"),\n\t\t\t\tpulumi.String(\"write\"),\n\t\t\t},\n\t\t\tVersion: pulumi.String(\"1.0.0\"),\n\t\t\tFields:  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.prefect.BlockType;\nimport com.pulumi.prefect.BlockTypeArgs;\nimport com.pulumi.prefect.BlockSchema;\nimport com.pulumi.prefect.BlockSchemaArgs;\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 test = new BlockType(\"test\", BlockTypeArgs.builder()\n            .name(\"my-block-type\")\n            .slug(\"my-block-type\")\n            .logoUrl(\"https://example.com/logo.png\")\n            .documentationUrl(\"https://example.com/documentation\")\n            .description(\"My custom block type\")\n            .codeExample(\"Some code example\")\n            .build());\n\n        var testBlockSchema = new BlockSchema(\"testBlockSchema\", BlockSchemaArgs.builder()\n            .blockTypeId(test.id())\n            .capabilities(            \n                \"read\",\n                \"write\")\n            .version(\"1.0.0\")\n            .fields(serializeJson(\n                jsonObject(\n                    jsonProperty(\"title\", \"x\"),\n                    jsonProperty(\"type\", \"object\"),\n                    jsonProperty(\"properties\", jsonObject(\n                        jsonProperty(\"foo\", jsonObject(\n                            jsonProperty(\"title\", \"Foo\"),\n                            jsonProperty(\"type\", \"string\")\n                        ))\n                    ))\n                )))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: prefect:BlockType\n    properties:\n      name: my-block-type\n      slug: my-block-type\n      logoUrl: https://example.com/logo.png\n      documentationUrl: https://example.com/documentation\n      description: My custom block type\n      codeExample: Some code example\n  testBlockSchema:\n    type: prefect:BlockSchema\n    name: test\n    properties:\n      blockTypeId: ${test.id}\n      capabilities:\n        - read\n        - write\n      version: 1.0.0\n      fields:\n        fn::toJSON:\n          title: x\n          type: object\n          properties:\n            foo:\n              title: Foo\n              type: string\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_block_schema resources can be imported by the block_schema_id\n\n```sh\n$ pulumi import prefect:index/blockSchema:BlockSchema my_block_schema 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockType":{"type":"string","description":"The type of the block.\n"},"blockTypeId":{"type":"string","description":"The ID of the block type.\n"},"capabilities":{"type":"array","items":{"type":"string"},"description":"The capabilities of the block schema.\n"},"checksum":{"type":"string","description":"The checksum of the block schema.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"fields":{"type":"string","description":"The fields of the block schema.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"version":{"type":"string","description":"The version of the block schema.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object","required":["blockType","blockTypeId","checksum","created","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockTypeId":{"type":"string","description":"The ID of the block type.\n"},"capabilities":{"type":"array","items":{"type":"string"},"description":"The capabilities of the block schema.\n"},"fields":{"type":"string","description":"The fields of the block schema.\n"},"version":{"type":"string","description":"The version of the block schema.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"requiredInputs":["blockTypeId"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockSchema resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"blockType":{"type":"string","description":"The type of the block.\n"},"blockTypeId":{"type":"string","description":"The ID of the block type.\n"},"capabilities":{"type":"array","items":{"type":"string"},"description":"The capabilities of the block schema.\n"},"checksum":{"type":"string","description":"The checksum of the block schema.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"fields":{"type":"string","description":"The fields of the block schema.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"version":{"type":"string","description":"The version of the block schema.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object"}},"prefect:index/blockType:BlockType":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`blockType`\" pulumi-lang-dotnet=\"`BlockType`\" pulumi-lang-go=\"`blockType`\" pulumi-lang-python=\"`block_type`\" pulumi-lang-yaml=\"`blockType`\" pulumi-lang-java=\"`blockType`\"\u003e`block_type`\u003c/span\u003e allows creating and managing [Prefect Block Types](https://docs.prefect.io/latest/concepts/blocks/).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): .\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = new prefect.BlockType(\"test\", {\n    name: \"my-block-type\",\n    slug: \"my-block-type\",\n    logoUrl: \"https://example.com/logo.png\",\n    documentationUrl: \"https://example.com/documentation\",\n    description: \"My custom block type\",\n    codeExample: \"Some code example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.BlockType(\"test\",\n    name=\"my-block-type\",\n    slug=\"my-block-type\",\n    logo_url=\"https://example.com/logo.png\",\n    documentation_url=\"https://example.com/documentation\",\n    description=\"My custom block type\",\n    code_example=\"Some code example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Prefect.BlockType(\"test\", new()\n    {\n        Name = \"my-block-type\",\n        Slug = \"my-block-type\",\n        LogoUrl = \"https://example.com/logo.png\",\n        DocumentationUrl = \"https://example.com/documentation\",\n        Description = \"My custom block type\",\n        CodeExample = \"Some code example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewBlockType(ctx, \"test\", \u0026prefect.BlockTypeArgs{\n\t\t\tName:             pulumi.String(\"my-block-type\"),\n\t\t\tSlug:             pulumi.String(\"my-block-type\"),\n\t\t\tLogoUrl:          pulumi.String(\"https://example.com/logo.png\"),\n\t\t\tDocumentationUrl: pulumi.String(\"https://example.com/documentation\"),\n\t\t\tDescription:      pulumi.String(\"My custom block type\"),\n\t\t\tCodeExample:      pulumi.String(\"Some code example\"),\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.prefect.BlockType;\nimport com.pulumi.prefect.BlockTypeArgs;\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 test = new BlockType(\"test\", BlockTypeArgs.builder()\n            .name(\"my-block-type\")\n            .slug(\"my-block-type\")\n            .logoUrl(\"https://example.com/logo.png\")\n            .documentationUrl(\"https://example.com/documentation\")\n            .description(\"My custom block type\")\n            .codeExample(\"Some code example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: prefect:BlockType\n    properties:\n      name: my-block-type\n      slug: my-block-type\n      logoUrl: https://example.com/logo.png\n      documentationUrl: https://example.com/documentation\n      description: My custom block type\n      codeExample: Some code example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_block_type resources can be imported by the block_type_id\n\n```sh\n$ pulumi import prefect:index/blockType:BlockType my_block_type 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"codeExample":{"type":"string","description":"A code snippet demonstrating use of the corresponding block.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"A short blurb about the corresponding block's intended use.\n"},"documentationUrl":{"type":"string","description":"Web URL for the block type's documentation.\n"},"isProtected":{"type":"boolean","description":"Whether the block type is protected. Protected block types cannot be modified via API.\n"},"logoUrl":{"type":"string","description":"Web URL for the block type's logo.\n"},"name":{"type":"string","description":"The name of the block type.\n"},"slug":{"type":"string","description":"The slug of the block type.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object","required":["created","isProtected","name","slug","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"codeExample":{"type":"string","description":"A code snippet demonstrating use of the corresponding block.\n"},"description":{"type":"string","description":"A short blurb about the corresponding block's intended use.\n"},"documentationUrl":{"type":"string","description":"Web URL for the block type's documentation.\n"},"logoUrl":{"type":"string","description":"Web URL for the block type's logo.\n"},"name":{"type":"string","description":"The name of the block type.\n"},"slug":{"type":"string","description":"The slug of the block type.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"requiredInputs":["slug"],"stateInputs":{"description":"Input properties used for looking up and filtering BlockType resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the Block is located\n"},"codeExample":{"type":"string","description":"A code snippet demonstrating use of the corresponding block.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"A short blurb about the corresponding block's intended use.\n"},"documentationUrl":{"type":"string","description":"Web URL for the block type's documentation.\n"},"isProtected":{"type":"boolean","description":"Whether the block type is protected. Protected block types cannot be modified via API.\n"},"logoUrl":{"type":"string","description":"Web URL for the block type's logo.\n"},"name":{"type":"string","description":"The name of the block type.\n"},"slug":{"type":"string","description":"The slug of the block type.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) where the Block is located. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`prefect.Block`\" pulumi-lang-dotnet=\"`prefect.Block`\" pulumi-lang-go=\"`Block`\" pulumi-lang-python=\"`Block`\" pulumi-lang-yaml=\"`prefect.Block`\" pulumi-lang-java=\"`prefect.Block`\"\u003e`prefect.Block`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object"}},"prefect:index/deployment:Deployment":{"description":"\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Deployments can be imported via deployment_id\n\n```sh\n$ pulumi import prefect:index/deployment:Deployment example 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via deployment_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/deployment:Deployment example 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The deployment's concurrency limit.\n"},"concurrencyOptions":{"$ref":"#/types/prefect:index%2FDeploymentConcurrencyOptions:DeploymentConcurrencyOptions","description":"Concurrency options for the deployment.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"A description for the deployment.\n"},"enforceParameterSchema":{"type":"boolean","description":"Whether or not the deployment should enforce the parameter schema.\n"},"entrypoint":{"type":"string","description":"The path to the entrypoint for the workflow, relative to the path.\n"},"flowId":{"type":"string","description":"Flow ID (UUID) to associate deployment to\n"},"globalConcurrencyLimitId":{"type":"string","description":"The ID of a global concurrency limit to apply to this deployment. This is the recommended way to set concurrency limits. Mutually exclusive with concurrency_limit.\n"},"jobVariables":{"type":"string","description":"Overrides for the flow's infrastructure configuration.\n"},"manifestPath":{"type":"string","description":"The path to the flow's manifest file, relative to the chosen storage.\n","deprecationMessage":"Deprecated"},"name":{"type":"string","description":"Name of the deployment\n"},"parameterOpenapiSchema":{"type":"string","description":"The parameter schema of the flow, including defaults.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment.\n"},"path":{"type":"string","description":"The path to the working directory for the workflow, relative to remote storage or an absolute path.\n"},"paused":{"type":"boolean","description":"Whether or not the deployment is paused.\n"},"pullSteps":{"type":"array","items":{"$ref":"#/types/prefect:index%2FDeploymentPullStep:DeploymentPullStep"},"description":"Pull steps to prepare flows for a deployment run.\n"},"storageDocumentId":{"type":"string","description":"ID of the associated storage document (UUID)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the deployment\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"version":{"type":"string","description":"An optional version for the deployment.\n"},"workPoolName":{"type":"string","description":"The name of the deployment's work pool.\n"},"workQueueName":{"type":"string","description":"The work queue for the deployment. If no work queue is set, work will not be scheduled.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to associate deployment to\n"}},"type":"object","required":["created","description","enforceParameterSchema","entrypoint","flowId","globalConcurrencyLimitId","jobVariables","name","parameterOpenapiSchema","parameters","path","paused","pullSteps","storageDocumentId","tags","updated","version","workPoolName","workQueueName"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The deployment's concurrency limit.\n"},"concurrencyOptions":{"$ref":"#/types/prefect:index%2FDeploymentConcurrencyOptions:DeploymentConcurrencyOptions","description":"Concurrency options for the deployment.\n"},"description":{"type":"string","description":"A description for the deployment.\n"},"enforceParameterSchema":{"type":"boolean","description":"Whether or not the deployment should enforce the parameter schema.\n"},"entrypoint":{"type":"string","description":"The path to the entrypoint for the workflow, relative to the path.\n"},"flowId":{"type":"string","description":"Flow ID (UUID) to associate deployment to\n"},"globalConcurrencyLimitId":{"type":"string","description":"The ID of a global concurrency limit to apply to this deployment. This is the recommended way to set concurrency limits. Mutually exclusive with concurrency_limit.\n"},"jobVariables":{"type":"string","description":"Overrides for the flow's infrastructure configuration.\n"},"manifestPath":{"type":"string","description":"The path to the flow's manifest file, relative to the chosen storage.\n","deprecationMessage":"Deprecated"},"name":{"type":"string","description":"Name of the deployment\n"},"parameterOpenapiSchema":{"type":"string","description":"The parameter schema of the flow, including defaults.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment.\n"},"path":{"type":"string","description":"The path to the working directory for the workflow, relative to remote storage or an absolute path.\n"},"paused":{"type":"boolean","description":"Whether or not the deployment is paused.\n"},"pullSteps":{"type":"array","items":{"$ref":"#/types/prefect:index%2FDeploymentPullStep:DeploymentPullStep"},"description":"Pull steps to prepare flows for a deployment run.\n"},"storageDocumentId":{"type":"string","description":"ID of the associated storage document (UUID)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the deployment\n"},"version":{"type":"string","description":"An optional version for the deployment.\n"},"workPoolName":{"type":"string","description":"The name of the deployment's work pool.\n"},"workQueueName":{"type":"string","description":"The work queue for the deployment. If no work queue is set, work will not be scheduled.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to associate deployment to\n"}},"requiredInputs":["flowId"],"stateInputs":{"description":"Input properties used for looking up and filtering Deployment resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The deployment's concurrency limit.\n"},"concurrencyOptions":{"$ref":"#/types/prefect:index%2FDeploymentConcurrencyOptions:DeploymentConcurrencyOptions","description":"Concurrency options for the deployment.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"A description for the deployment.\n"},"enforceParameterSchema":{"type":"boolean","description":"Whether or not the deployment should enforce the parameter schema.\n"},"entrypoint":{"type":"string","description":"The path to the entrypoint for the workflow, relative to the path.\n"},"flowId":{"type":"string","description":"Flow ID (UUID) to associate deployment to\n"},"globalConcurrencyLimitId":{"type":"string","description":"The ID of a global concurrency limit to apply to this deployment. This is the recommended way to set concurrency limits. Mutually exclusive with concurrency_limit.\n"},"jobVariables":{"type":"string","description":"Overrides for the flow's infrastructure configuration.\n"},"manifestPath":{"type":"string","description":"The path to the flow's manifest file, relative to the chosen storage.\n","deprecationMessage":"Deprecated"},"name":{"type":"string","description":"Name of the deployment\n"},"parameterOpenapiSchema":{"type":"string","description":"The parameter schema of the flow, including defaults.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment.\n"},"path":{"type":"string","description":"The path to the working directory for the workflow, relative to remote storage or an absolute path.\n"},"paused":{"type":"boolean","description":"Whether or not the deployment is paused.\n"},"pullSteps":{"type":"array","items":{"$ref":"#/types/prefect:index%2FDeploymentPullStep:DeploymentPullStep"},"description":"Pull steps to prepare flows for a deployment run.\n"},"storageDocumentId":{"type":"string","description":"ID of the associated storage document (UUID)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the deployment\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"version":{"type":"string","description":"An optional version for the deployment.\n"},"workPoolName":{"type":"string","description":"The name of the deployment's work pool.\n"},"workQueueName":{"type":"string","description":"The work queue for the deployment. If no work queue is set, work will not be scheduled.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to associate deployment to\n"}},"type":"object"}},"prefect:index/deploymentAccess:DeploymentAccess":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`deploymentAccess`\" pulumi-lang-dotnet=\"`DeploymentAccess`\" pulumi-lang-go=\"`deploymentAccess`\" pulumi-lang-python=\"`deployment_access`\" pulumi-lang-yaml=\"`deploymentAccess`\" pulumi-lang-java=\"`deploymentAccess`\"\u003e`deployment_access`\u003c/span\u003e represents a connection between an accessor (User, Service Account or Team) with a Deployment. This resource specifies an actor's access level to a specific Deployment in the Account. For more information, see [object access control lists](https://docs.prefect.io/v3/manage/cloud/manage-users/object-access-control-lists).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// All Deployments are scoped to a Workspace.\nconst test = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\n// Be sure to grant all Actors/Teams who need Deployment access to first be\n// invited to the Workspace (with a role).\nconst developer = prefect.getWorkspaceRole({\n    name: \"Developer\",\n});\n// Example: invite a Service Account to the Workspace and grant it Developer access\nconst testServiceAccount = new prefect.ServiceAccount(\"test\", {name: \"my-service-account\"});\nconst testWorkspaceAccess = new prefect.WorkspaceAccess(\"test\", {\n    accessorType: \"SERVICE_ACCOUNT\",\n    accessorId: testServiceAccount.id,\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: test.then(test =\u003e test.id),\n});\n// Example: invite a Team to the Workspace and grant it Developer access\nconst testGetTeam = prefect.getTeam({\n    name: \"my-team\",\n});\nconst testTeam = new prefect.WorkspaceAccess(\"test_team\", {\n    accessorType: \"TEAM\",\n    accessorId: testGetTeam.then(testGetTeam =\u003e testGetTeam.id),\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: test.then(test =\u003e test.id),\n});\n// Define the Flow and Deployment, and grant access to the Deployment\nconst testFlow = new prefect.Flow(\"test\", {\n    name: \"my-flow\",\n    workspaceId: test.then(test =\u003e test.id),\n    tags: [\"test\"],\n});\nconst testDeployment = new prefect.Deployment(\"test\", {\n    name: \"my-deployment\",\n    workspaceId: test.then(test =\u003e test.id),\n    flowId: testFlow.id,\n});\nconst testDeploymentAccess = new prefect.DeploymentAccess(\"test\", {\n    workspaceId: test.then(test =\u003e test.id),\n    deploymentId: testDeployment.id,\n    manageActorIds: [testServiceAccount.actorId],\n    runActorIds: [testServiceAccount.actorId],\n    viewActorIds: [testServiceAccount.actorId],\n    manageTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n    runTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n    viewTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# All Deployments are scoped to a Workspace.\ntest = prefect.get_workspace(handle=\"my-workspace\")\n# Be sure to grant all Actors/Teams who need Deployment access to first be\n# invited to the Workspace (with a role).\ndeveloper = prefect.get_workspace_role(name=\"Developer\")\n# Example: invite a Service Account to the Workspace and grant it Developer access\ntest_service_account = prefect.ServiceAccount(\"test\", name=\"my-service-account\")\ntest_workspace_access = prefect.WorkspaceAccess(\"test\",\n    accessor_type=\"SERVICE_ACCOUNT\",\n    accessor_id=test_service_account.id,\n    workspace_role_id=developer.id,\n    workspace_id=test.id)\n# Example: invite a Team to the Workspace and grant it Developer access\ntest_get_team = prefect.get_team(name=\"my-team\")\ntest_team = prefect.WorkspaceAccess(\"test_team\",\n    accessor_type=\"TEAM\",\n    accessor_id=test_get_team.id,\n    workspace_role_id=developer.id,\n    workspace_id=test.id)\n# Define the Flow and Deployment, and grant access to the Deployment\ntest_flow = prefect.Flow(\"test\",\n    name=\"my-flow\",\n    workspace_id=test.id,\n    tags=[\"test\"])\ntest_deployment = prefect.Deployment(\"test\",\n    name=\"my-deployment\",\n    workspace_id=test.id,\n    flow_id=test_flow.id)\ntest_deployment_access = prefect.DeploymentAccess(\"test\",\n    workspace_id=test.id,\n    deployment_id=test_deployment.id,\n    manage_actor_ids=[test_service_account.actor_id],\n    run_actor_ids=[test_service_account.actor_id],\n    view_actor_ids=[test_service_account.actor_id],\n    manage_team_ids=[test_get_team.id],\n    run_team_ids=[test_get_team.id],\n    view_team_ids=[test_get_team.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // All Deployments are scoped to a Workspace.\n    var test = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    // Be sure to grant all Actors/Teams who need Deployment access to first be\n    // invited to the Workspace (with a role).\n    var developer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Developer\",\n    });\n\n    // Example: invite a Service Account to the Workspace and grant it Developer access\n    var testServiceAccount = new Prefect.ServiceAccount(\"test\", new()\n    {\n        Name = \"my-service-account\",\n    });\n\n    var testWorkspaceAccess = new Prefect.WorkspaceAccess(\"test\", new()\n    {\n        AccessorType = \"SERVICE_ACCOUNT\",\n        AccessorId = testServiceAccount.Id,\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Example: invite a Team to the Workspace and grant it Developer access\n    var testGetTeam = Prefect.GetTeam.Invoke(new()\n    {\n        Name = \"my-team\",\n    });\n\n    var testTeam = new Prefect.WorkspaceAccess(\"test_team\", new()\n    {\n        AccessorType = \"TEAM\",\n        AccessorId = testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Define the Flow and Deployment, and grant access to the Deployment\n    var testFlow = new Prefect.Flow(\"test\", new()\n    {\n        Name = \"my-flow\",\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        Tags = new[]\n        {\n            \"test\",\n        },\n    });\n\n    var testDeployment = new Prefect.Deployment(\"test\", new()\n    {\n        Name = \"my-deployment\",\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        FlowId = testFlow.Id,\n    });\n\n    var testDeploymentAccess = new Prefect.DeploymentAccess(\"test\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        DeploymentId = testDeployment.Id,\n        ManageActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        RunActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        ViewActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        ManageTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n        RunTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n        ViewTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// All Deployments are scoped to a Workspace.\n\t\ttest, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Be sure to grant all Actors/Teams who need Deployment access to first be\n\t\t// invited to the Workspace (with a role).\n\t\tdeveloper, err := prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Developer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Service Account to the Workspace and grant it Developer access\n\t\ttestServiceAccount, err := prefect.NewServiceAccount(ctx, \"test\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"my-service-account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"test\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"SERVICE_ACCOUNT\"),\n\t\t\tAccessorId:      testServiceAccount.ID(),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Team to the Workspace and grant it Developer access\n\t\ttestGetTeam, err := prefect.LookupTeam(ctx, \u0026prefect.LookupTeamArgs{\n\t\t\tName: pulumi.StringRef(\"my-team\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"test_team\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"TEAM\"),\n\t\t\tAccessorId:      pulumi.String(testGetTeam.Id),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Define the Flow and Deployment, and grant access to the Deployment\n\t\ttestFlow, err := prefect.NewFlow(ctx, \"test\", \u0026prefect.FlowArgs{\n\t\t\tName:        pulumi.String(\"my-flow\"),\n\t\t\tWorkspaceId: pulumi.String(test.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDeployment, err := prefect.NewDeployment(ctx, \"test\", \u0026prefect.DeploymentArgs{\n\t\t\tName:        pulumi.String(\"my-deployment\"),\n\t\t\tWorkspaceId: pulumi.String(test.Id),\n\t\t\tFlowId:      testFlow.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewDeploymentAccess(ctx, \"test\", \u0026prefect.DeploymentAccessArgs{\n\t\t\tWorkspaceId:  pulumi.String(test.Id),\n\t\t\tDeploymentId: testDeployment.ID(),\n\t\t\tManageActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tRunActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tViewActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tManageTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t\tRunTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t\tViewTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.inputs.GetWorkspaceRoleArgs;\nimport com.pulumi.prefect.ServiceAccount;\nimport com.pulumi.prefect.ServiceAccountArgs;\nimport com.pulumi.prefect.WorkspaceAccess;\nimport com.pulumi.prefect.WorkspaceAccessArgs;\nimport com.pulumi.prefect.inputs.GetTeamArgs;\nimport com.pulumi.prefect.Flow;\nimport com.pulumi.prefect.FlowArgs;\nimport com.pulumi.prefect.Deployment;\nimport com.pulumi.prefect.DeploymentArgs;\nimport com.pulumi.prefect.DeploymentAccess;\nimport com.pulumi.prefect.DeploymentAccessArgs;\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        // All Deployments are scoped to a Workspace.\n        final var test = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        // Be sure to grant all Actors/Teams who need Deployment access to first be\n        // invited to the Workspace (with a role).\n        final var developer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Developer\")\n            .build());\n\n        // Example: invite a Service Account to the Workspace and grant it Developer access\n        var testServiceAccount = new ServiceAccount(\"testServiceAccount\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .build());\n\n        var testWorkspaceAccess = new WorkspaceAccess(\"testWorkspaceAccess\", WorkspaceAccessArgs.builder()\n            .accessorType(\"SERVICE_ACCOUNT\")\n            .accessorId(testServiceAccount.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(test.id())\n            .build());\n\n        // Example: invite a Team to the Workspace and grant it Developer access\n        final var testGetTeam = PrefectFunctions.getTeam(GetTeamArgs.builder()\n            .name(\"my-team\")\n            .build());\n\n        var testTeam = new WorkspaceAccess(\"testTeam\", WorkspaceAccessArgs.builder()\n            .accessorType(\"TEAM\")\n            .accessorId(testGetTeam.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(test.id())\n            .build());\n\n        // Define the Flow and Deployment, and grant access to the Deployment\n        var testFlow = new Flow(\"testFlow\", FlowArgs.builder()\n            .name(\"my-flow\")\n            .workspaceId(test.id())\n            .tags(\"test\")\n            .build());\n\n        var testDeployment = new Deployment(\"testDeployment\", DeploymentArgs.builder()\n            .name(\"my-deployment\")\n            .workspaceId(test.id())\n            .flowId(testFlow.id())\n            .build());\n\n        var testDeploymentAccess = new DeploymentAccess(\"testDeploymentAccess\", DeploymentAccessArgs.builder()\n            .workspaceId(test.id())\n            .deploymentId(testDeployment.id())\n            .manageActorIds(testServiceAccount.actorId())\n            .runActorIds(testServiceAccount.actorId())\n            .viewActorIds(testServiceAccount.actorId())\n            .manageTeamIds(testGetTeam.id())\n            .runTeamIds(testGetTeam.id())\n            .viewTeamIds(testGetTeam.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example: invite a Service Account to the Workspace and grant it Developer access\n  testServiceAccount:\n    type: prefect:ServiceAccount\n    name: test\n    properties:\n      name: my-service-account\n  testWorkspaceAccess:\n    type: prefect:WorkspaceAccess\n    name: test\n    properties:\n      accessorType: SERVICE_ACCOUNT\n      accessorId: ${testServiceAccount.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${test.id}\n  testTeam:\n    type: prefect:WorkspaceAccess\n    name: test_team\n    properties:\n      accessorType: TEAM\n      accessorId: ${testGetTeam.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${test.id}\n  # Define the Flow and Deployment, and grant access to the Deployment\n  testFlow:\n    type: prefect:Flow\n    name: test\n    properties:\n      name: my-flow\n      workspaceId: ${test.id}\n      tags:\n        - test\n  testDeployment:\n    type: prefect:Deployment\n    name: test\n    properties:\n      name: my-deployment\n      workspaceId: ${test.id}\n      flowId: ${testFlow.id}\n  testDeploymentAccess:\n    type: prefect:DeploymentAccess\n    name: test\n    properties:\n      workspaceId: ${test.id}\n      deploymentId: ${testDeployment.id}\n      manageActorIds:\n        - ${testServiceAccount.actorId}\n      runActorIds:\n        - ${testServiceAccount.actorId}\n      viewActorIds:\n        - ${testServiceAccount.actorId}\n      manageTeamIds:\n        - ${testGetTeam.id}\n      runTeamIds:\n        - ${testGetTeam.id}\n      viewTeamIds:\n        - ${testGetTeam.id}\nvariables:\n  # All Deployments are scoped to a Workspace.\n  test:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n  # Be sure to grant all Actors/Teams who need Deployment access to first be\n  # invited to the Workspace (with a role).\n  developer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Developer\n  # Example: invite a Team to the Workspace and grant it Developer access\n  testGetTeam:\n    fn::invoke:\n      function: prefect:getTeam\n      arguments:\n        name: my-team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Deployment\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Deployment\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Deployment\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Deployment\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Deployment\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Deployment\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["deploymentId","manageActorIds","manageTeamIds","runActorIds","runTeamIds","viewActorIds","viewTeamIds"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Deployment\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Deployment\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Deployment\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Deployment\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Deployment\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Deployment\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"requiredInputs":["deploymentId"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentAccess resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Deployment\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Deployment\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Deployment\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Deployment\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Deployment\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Deployment\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/deploymentSchedule:DeploymentSchedule":{"description":"The resource 'deployment_schedule' represents a schedule for a deployment.\n\u003cbr\u003e\nFor more information, see [schedule flow runs](https://docs.prefect.io/v3/automate/add-schedules).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\nconst testFlow = new prefect.Flow(\"test\", {\n    name: \"my-flow\",\n    workspaceId: test.then(test =\u003e test.id),\n    tags: [\"test\"],\n});\nconst testDeployment = new prefect.Deployment(\"test\", {\n    name: \"my-deployment\",\n    workspaceId: test.then(test =\u003e test.id),\n    flowId: testFlow.id,\n});\nconst testInterval = new prefect.DeploymentSchedule(\"test_interval\", {\n    workspaceId: test.then(test =\u003e test.id),\n    deploymentId: testDeployment.id,\n    active: true,\n    timezone: \"America/New_York\",\n    interval: 30,\n    anchorDate: \"2024-01-01T00:00:00Z\",\n});\nconst testCron = new prefect.DeploymentSchedule(\"test_cron\", {\n    workspaceId: test.then(test =\u003e test.id),\n    deploymentId: testDeployment.id,\n    active: true,\n    timezone: \"America/New_York\",\n    cron: \"0 0 * * *\",\n    dayOr: true,\n});\nconst testRrule = new prefect.DeploymentSchedule(\"test_rrule\", {\n    workspaceId: test.then(test =\u003e test.id),\n    deploymentId: testDeployment.id,\n    active: true,\n    timezone: \"America/New_York\",\n    rrule: \"FREQ=DAILY;INTERVAL=1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.get_workspace(handle=\"my-workspace\")\ntest_flow = prefect.Flow(\"test\",\n    name=\"my-flow\",\n    workspace_id=test.id,\n    tags=[\"test\"])\ntest_deployment = prefect.Deployment(\"test\",\n    name=\"my-deployment\",\n    workspace_id=test.id,\n    flow_id=test_flow.id)\ntest_interval = prefect.DeploymentSchedule(\"test_interval\",\n    workspace_id=test.id,\n    deployment_id=test_deployment.id,\n    active=True,\n    timezone=\"America/New_York\",\n    interval=30,\n    anchor_date=\"2024-01-01T00:00:00Z\")\ntest_cron = prefect.DeploymentSchedule(\"test_cron\",\n    workspace_id=test.id,\n    deployment_id=test_deployment.id,\n    active=True,\n    timezone=\"America/New_York\",\n    cron=\"0 0 * * *\",\n    day_or=True)\ntest_rrule = prefect.DeploymentSchedule(\"test_rrule\",\n    workspace_id=test.id,\n    deployment_id=test_deployment.id,\n    active=True,\n    timezone=\"America/New_York\",\n    rrule=\"FREQ=DAILY;INTERVAL=1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    var testFlow = new Prefect.Flow(\"test\", new()\n    {\n        Name = \"my-flow\",\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        Tags = new[]\n        {\n            \"test\",\n        },\n    });\n\n    var testDeployment = new Prefect.Deployment(\"test\", new()\n    {\n        Name = \"my-deployment\",\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        FlowId = testFlow.Id,\n    });\n\n    var testInterval = new Prefect.DeploymentSchedule(\"test_interval\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        DeploymentId = testDeployment.Id,\n        Active = true,\n        Timezone = \"America/New_York\",\n        Interval = 30,\n        AnchorDate = \"2024-01-01T00:00:00Z\",\n    });\n\n    var testCron = new Prefect.DeploymentSchedule(\"test_cron\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        DeploymentId = testDeployment.Id,\n        Active = true,\n        Timezone = \"America/New_York\",\n        Cron = \"0 0 * * *\",\n        DayOr = true,\n    });\n\n    var testRrule = new Prefect.DeploymentSchedule(\"test_rrule\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        DeploymentId = testDeployment.Id,\n        Active = true,\n        Timezone = \"America/New_York\",\n        Rrule = \"FREQ=DAILY;INTERVAL=1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestFlow, err := prefect.NewFlow(ctx, \"test\", \u0026prefect.FlowArgs{\n\t\t\tName:        pulumi.String(\"my-flow\"),\n\t\t\tWorkspaceId: pulumi.String(test.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"test\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestDeployment, err := prefect.NewDeployment(ctx, \"test\", \u0026prefect.DeploymentArgs{\n\t\t\tName:        pulumi.String(\"my-deployment\"),\n\t\t\tWorkspaceId: pulumi.String(test.Id),\n\t\t\tFlowId:      testFlow.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewDeploymentSchedule(ctx, \"test_interval\", \u0026prefect.DeploymentScheduleArgs{\n\t\t\tWorkspaceId:  pulumi.String(test.Id),\n\t\t\tDeploymentId: testDeployment.ID(),\n\t\t\tActive:       pulumi.Bool(true),\n\t\t\tTimezone:     pulumi.String(\"America/New_York\"),\n\t\t\tInterval:     pulumi.Float64(30),\n\t\t\tAnchorDate:   pulumi.String(\"2024-01-01T00:00:00Z\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewDeploymentSchedule(ctx, \"test_cron\", \u0026prefect.DeploymentScheduleArgs{\n\t\t\tWorkspaceId:  pulumi.String(test.Id),\n\t\t\tDeploymentId: testDeployment.ID(),\n\t\t\tActive:       pulumi.Bool(true),\n\t\t\tTimezone:     pulumi.String(\"America/New_York\"),\n\t\t\tCron:         pulumi.String(\"0 0 * * *\"),\n\t\t\tDayOr:        pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewDeploymentSchedule(ctx, \"test_rrule\", \u0026prefect.DeploymentScheduleArgs{\n\t\t\tWorkspaceId:  pulumi.String(test.Id),\n\t\t\tDeploymentId: testDeployment.ID(),\n\t\t\tActive:       pulumi.Bool(true),\n\t\t\tTimezone:     pulumi.String(\"America/New_York\"),\n\t\t\tRrule:        pulumi.String(\"FREQ=DAILY;INTERVAL=1\"),\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.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.Flow;\nimport com.pulumi.prefect.FlowArgs;\nimport com.pulumi.prefect.Deployment;\nimport com.pulumi.prefect.DeploymentArgs;\nimport com.pulumi.prefect.DeploymentSchedule;\nimport com.pulumi.prefect.DeploymentScheduleArgs;\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        final var test = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        var testFlow = new Flow(\"testFlow\", FlowArgs.builder()\n            .name(\"my-flow\")\n            .workspaceId(test.id())\n            .tags(\"test\")\n            .build());\n\n        var testDeployment = new Deployment(\"testDeployment\", DeploymentArgs.builder()\n            .name(\"my-deployment\")\n            .workspaceId(test.id())\n            .flowId(testFlow.id())\n            .build());\n\n        var testInterval = new DeploymentSchedule(\"testInterval\", DeploymentScheduleArgs.builder()\n            .workspaceId(test.id())\n            .deploymentId(testDeployment.id())\n            .active(true)\n            .timezone(\"America/New_York\")\n            .interval(30.0)\n            .anchorDate(\"2024-01-01T00:00:00Z\")\n            .build());\n\n        var testCron = new DeploymentSchedule(\"testCron\", DeploymentScheduleArgs.builder()\n            .workspaceId(test.id())\n            .deploymentId(testDeployment.id())\n            .active(true)\n            .timezone(\"America/New_York\")\n            .cron(\"0 0 * * *\")\n            .dayOr(true)\n            .build());\n\n        var testRrule = new DeploymentSchedule(\"testRrule\", DeploymentScheduleArgs.builder()\n            .workspaceId(test.id())\n            .deploymentId(testDeployment.id())\n            .active(true)\n            .timezone(\"America/New_York\")\n            .rrule(\"FREQ=DAILY;INTERVAL=1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testFlow:\n    type: prefect:Flow\n    name: test\n    properties:\n      name: my-flow\n      workspaceId: ${test.id}\n      tags:\n        - test\n  testDeployment:\n    type: prefect:Deployment\n    name: test\n    properties:\n      name: my-deployment\n      workspaceId: ${test.id}\n      flowId: ${testFlow.id}\n  testInterval:\n    type: prefect:DeploymentSchedule\n    name: test_interval\n    properties:\n      workspaceId: ${test.id}\n      deploymentId: ${testDeployment.id}\n      active: true\n      timezone: America/New_York\n      interval: 30\n      anchorDate: 2024-01-01T00:00:00Z\n  testCron:\n    type: prefect:DeploymentSchedule\n    name: test_cron\n    properties:\n      workspaceId: ${test.id}\n      deploymentId: ${testDeployment.id}\n      active: true\n      timezone: America/New_York\n      cron: 0 0 * * *\n      dayOr: true\n  testRrule:\n    type: prefect:DeploymentSchedule\n    name: test_rrule\n    properties:\n      workspaceId: ${test.id}\n      deploymentId: ${testDeployment.id}\n      active: true\n      timezone: America/New_York\n      rrule: FREQ=DAILY;INTERVAL=1\nvariables:\n  test:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether or not the schedule is active.\n"},"anchorDate":{"type":"string","description":"The anchor date of the schedule.\n"},"catchup":{"type":"boolean","description":"(Cloud only) Whether or not a worker should catch up on Late runs for the schedule.\n","deprecationMessage":"Deprecated"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"cron":{"type":"string","description":"The cron expression of the schedule.\n"},"dayOr":{"type":"boolean","description":"Control croniter behavior for handling day and day*of*week entries.\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"deploymentScheduleId":{"type":"string","description":"Deployment Schedule ID (UUID)\n"},"interval":{"type":"number","description":"The interval of the schedule.\n"},"maxActiveRuns":{"type":"number","description":"(Cloud only) The maximum number of active runs for the schedule.\n","deprecationMessage":"Deprecated"},"maxScheduledRuns":{"type":"number","description":"The maximum number of scheduled runs for the schedule.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment schedule.\n"},"rrule":{"type":"string","description":"The rrule expression of the schedule.\n"},"slug":{"type":"string","description":"An optional unique identifier for the schedule.\n"},"timezone":{"type":"string","description":"The timezone of the schedule.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["active","anchorDate","created","cron","dayOr","deploymentId","deploymentScheduleId","interval","maxScheduledRuns","parameters","rrule","slug","timezone","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether or not the schedule is active.\n"},"anchorDate":{"type":"string","description":"The anchor date of the schedule.\n"},"catchup":{"type":"boolean","description":"(Cloud only) Whether or not a worker should catch up on Late runs for the schedule.\n","deprecationMessage":"Deprecated"},"cron":{"type":"string","description":"The cron expression of the schedule.\n"},"dayOr":{"type":"boolean","description":"Control croniter behavior for handling day and day*of*week entries.\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"deploymentScheduleId":{"type":"string","description":"Deployment Schedule ID (UUID)\n"},"interval":{"type":"number","description":"The interval of the schedule.\n"},"maxActiveRuns":{"type":"number","description":"(Cloud only) The maximum number of active runs for the schedule.\n","deprecationMessage":"Deprecated"},"maxScheduledRuns":{"type":"number","description":"The maximum number of scheduled runs for the schedule.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment schedule.\n"},"rrule":{"type":"string","description":"The rrule expression of the schedule.\n"},"slug":{"type":"string","description":"An optional unique identifier for the schedule.\n"},"timezone":{"type":"string","description":"The timezone of the schedule.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"requiredInputs":["deploymentId"],"stateInputs":{"description":"Input properties used for looking up and filtering DeploymentSchedule resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether or not the schedule is active.\n"},"anchorDate":{"type":"string","description":"The anchor date of the schedule.\n"},"catchup":{"type":"boolean","description":"(Cloud only) Whether or not a worker should catch up on Late runs for the schedule.\n","deprecationMessage":"Deprecated"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"cron":{"type":"string","description":"The cron expression of the schedule.\n"},"dayOr":{"type":"boolean","description":"Control croniter behavior for handling day and day*of*week entries.\n"},"deploymentId":{"type":"string","description":"Deployment ID (UUID)\n"},"deploymentScheduleId":{"type":"string","description":"Deployment Schedule ID (UUID)\n"},"interval":{"type":"number","description":"The interval of the schedule.\n"},"maxActiveRuns":{"type":"number","description":"(Cloud only) The maximum number of active runs for the schedule.\n","deprecationMessage":"Deprecated"},"maxScheduledRuns":{"type":"number","description":"The maximum number of scheduled runs for the schedule.\n"},"parameters":{"type":"string","description":"Parameters for flow runs scheduled by the deployment schedule.\n"},"rrule":{"type":"string","description":"The rrule expression of the schedule.\n"},"slug":{"type":"string","description":"An optional unique identifier for the schedule.\n"},"timezone":{"type":"string","description":"The timezone of the schedule.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/flow:Flow":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`flow`\" pulumi-lang-dotnet=\"`Flow`\" pulumi-lang-go=\"`flow`\" pulumi-lang-python=\"`flow`\" pulumi-lang-yaml=\"`flow`\" pulumi-lang-java=\"`flow`\"\u003e`flow`\u003c/span\u003e represents a Prefect Flow. Flows are the most central Prefect object. A flow is a container for workflow logic as-code and allows users to configure how their workflows behave. Flows are defined as Python functions, and any Python function is eligible to be a flow. For more information, see [write and run flows](https://docs.prefect.io/v3/develop/write-flows).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst workspace = new prefect.Workspace(\"workspace\", {\n    handle: \"my-workspace\",\n    name: \"my-workspace\",\n});\nconst flow = new prefect.Flow(\"flow\", {\n    name: \"my-flow\",\n    workspaceId: workspace.id,\n    tags: [\"tf-test\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nworkspace = prefect.Workspace(\"workspace\",\n    handle=\"my-workspace\",\n    name=\"my-workspace\")\nflow = prefect.Flow(\"flow\",\n    name=\"my-flow\",\n    workspace_id=workspace.id,\n    tags=[\"tf-test\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var workspace = new Prefect.Workspace(\"workspace\", new()\n    {\n        Handle = \"my-workspace\",\n        Name = \"my-workspace\",\n    });\n\n    var flow = new Prefect.Flow(\"flow\", new()\n    {\n        Name = \"my-flow\",\n        WorkspaceId = workspace.Id,\n        Tags = new[]\n        {\n            \"tf-test\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tworkspace, err := prefect.NewWorkspace(ctx, \"workspace\", \u0026prefect.WorkspaceArgs{\n\t\t\tHandle: pulumi.String(\"my-workspace\"),\n\t\t\tName:   pulumi.String(\"my-workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewFlow(ctx, \"flow\", \u0026prefect.FlowArgs{\n\t\t\tName:        pulumi.String(\"my-flow\"),\n\t\t\tWorkspaceId: workspace.ID(),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tf-test\"),\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.prefect.Workspace;\nimport com.pulumi.prefect.WorkspaceArgs;\nimport com.pulumi.prefect.Flow;\nimport com.pulumi.prefect.FlowArgs;\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 workspace = new Workspace(\"workspace\", WorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .name(\"my-workspace\")\n            .build());\n\n        var flow = new Flow(\"flow\", FlowArgs.builder()\n            .name(\"my-flow\")\n            .workspaceId(workspace.id())\n            .tags(\"tf-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  workspace:\n    type: prefect:Workspace\n    properties:\n      handle: my-workspace\n      name: my-workspace\n  flow:\n    type: prefect:Flow\n    properties:\n      name: my-flow\n      workspaceId: ${workspace.id}\n      tags:\n        - tf-test\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Flows can be imported via flow_id\n\n```sh\n$ pulumi import prefect:index/flow:Flow example 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via flow_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/flow:Flow example 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the flow\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the flow\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["created","name","tags","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"name":{"type":"string","description":"Name of the flow\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the flow\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Flow resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the flow\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the flow\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/globalConcurrencyLimit:GlobalConcurrencyLimit":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`globalConcurrencyLimit`\" pulumi-lang-dotnet=\"`GlobalConcurrencyLimit`\" pulumi-lang-go=\"`globalConcurrencyLimit`\" pulumi-lang-python=\"`global_concurrency_limit`\" pulumi-lang-yaml=\"`globalConcurrencyLimit`\" pulumi-lang-java=\"`globalConcurrencyLimit`\"\u003e`global_concurrency_limit`\u003c/span\u003e represents a global concurrency limit. Global concurrency limits allow you to control how many tasks can run simultaneously across all workspaces. For more information, see [apply global concurrency and rate limits](https://docs.prefect.io/v3/develop/global-concurrency-limits).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\nconst testGlobalConcurrencyLimit = new prefect.GlobalConcurrencyLimit(\"test\", {\n    workspaceId: test.then(test =\u003e test.id),\n    name: \"test-global-concurrency-limit\",\n    limit: 1,\n    active: true,\n    activeSlots: 0,\n    slotDecayPerSecond: 1.5,\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.get_workspace(handle=\"my-workspace\")\ntest_global_concurrency_limit = prefect.GlobalConcurrencyLimit(\"test\",\n    workspace_id=test.id,\n    name=\"test-global-concurrency-limit\",\n    limit=1,\n    active=True,\n    active_slots=0,\n    slot_decay_per_second=1.5)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    var testGlobalConcurrencyLimit = new Prefect.GlobalConcurrencyLimit(\"test\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        Name = \"test-global-concurrency-limit\",\n        Limit = 1,\n        Active = true,\n        ActiveSlots = 0,\n        SlotDecayPerSecond = 1.5,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewGlobalConcurrencyLimit(ctx, \"test\", \u0026prefect.GlobalConcurrencyLimitArgs{\n\t\t\tWorkspaceId:        pulumi.String(test.Id),\n\t\t\tName:               pulumi.String(\"test-global-concurrency-limit\"),\n\t\t\tLimit:              pulumi.Float64(1),\n\t\t\tActive:             pulumi.Bool(true),\n\t\t\tActiveSlots:        pulumi.Float64(0),\n\t\t\tSlotDecayPerSecond: pulumi.Float64(1.5),\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.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.GlobalConcurrencyLimit;\nimport com.pulumi.prefect.GlobalConcurrencyLimitArgs;\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        final var test = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        var testGlobalConcurrencyLimit = new GlobalConcurrencyLimit(\"testGlobalConcurrencyLimit\", GlobalConcurrencyLimitArgs.builder()\n            .workspaceId(test.id())\n            .name(\"test-global-concurrency-limit\")\n            .limit(1.0)\n            .active(true)\n            .activeSlots(0.0)\n            .slotDecayPerSecond(1.5)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testGlobalConcurrencyLimit:\n    type: prefect:GlobalConcurrencyLimit\n    name: test\n    properties:\n      workspaceId: ${test.id}\n      name: test-global-concurrency-limit\n      limit: 1\n      active: true\n      activeSlots: 0\n      slotDecayPerSecond: 1.5\nvariables:\n  test:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect global concurrency limits can be imported via global_concurrency_limit_id\n\n```sh\n$ pulumi import prefect:index/globalConcurrencyLimit:GlobalConcurrencyLimit example 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via global_concurrency_limit_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/globalConcurrencyLimit:GlobalConcurrencyLimit example 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether the global concurrency limit is active.\n"},"activeSlots":{"type":"number","description":"The number of active slots.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"limit":{"type":"number","description":"The maximum number of tasks that can run simultaneously.\n"},"name":{"type":"string","description":"The name of the global concurrency limit.\n"},"slotDecayPerSecond":{"type":"number","description":"Slot Decay Per Second (number or null)\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["active","activeSlots","created","limit","name","slotDecayPerSecond","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether the global concurrency limit is active.\n"},"activeSlots":{"type":"number","description":"The number of active slots.\n"},"limit":{"type":"number","description":"The maximum number of tasks that can run simultaneously.\n"},"name":{"type":"string","description":"The name of the global concurrency limit.\n"},"slotDecayPerSecond":{"type":"number","description":"Slot Decay Per Second (number or null)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"requiredInputs":["limit"],"stateInputs":{"description":"Input properties used for looking up and filtering GlobalConcurrencyLimit resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"active":{"type":"boolean","description":"Whether the global concurrency limit is active.\n"},"activeSlots":{"type":"number","description":"The number of active slots.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"limit":{"type":"number","description":"The maximum number of tasks that can run simultaneously.\n"},"name":{"type":"string","description":"The name of the global concurrency limit.\n"},"slotDecayPerSecond":{"type":"number","description":"Slot Decay Per Second (number or null)\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/resourceSla:ResourceSla":{"description":"The resource 'resource_sla' represents a Prefect Resource SLA.\n\u003cbr\u003e\nFor more information, see documentation on setting up [Service Level Agreements](https://docs.prefect.io/v3/automate/events/slas) on Prefect resources.\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst myFlow = new prefect.Flow(\"my_flow\", {name: \"my-flow\"});\nconst myDeployment = new prefect.Deployment(\"my_deployment\", {\n    name: \"my-deployment\",\n    flowId: myFlow.id,\n});\nconst slas = new prefect.ResourceSla(\"slas\", {\n    resourceId: pulumi.interpolate`prefect.deployment.${myDeployment.id}`,\n    slas: [\n        {\n            name: \"my-time-to-completion-sla\",\n            duration: 60,\n        },\n        {\n            name: \"my-frequency-sla\",\n            severity: \"critical\",\n            staleAfter: 60,\n        },\n        {\n            name: \"my-freshness\",\n            severity: \"moderate\",\n            within: 60,\n            resourceMatch: JSON.stringify({\n                label: \"my-label\",\n            }),\n            expectedEvent: \"my-event\",\n        },\n        {\n            name: \"my-lateness\",\n            severity: \"moderate\",\n            within: 60,\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_prefect as prefect\n\nmy_flow = prefect.Flow(\"my_flow\", name=\"my-flow\")\nmy_deployment = prefect.Deployment(\"my_deployment\",\n    name=\"my-deployment\",\n    flow_id=my_flow.id)\nslas = prefect.ResourceSla(\"slas\",\n    resource_id=my_deployment.id.apply(lambda id: f\"prefect.deployment.{id}\"),\n    slas=[\n        {\n            \"name\": \"my-time-to-completion-sla\",\n            \"duration\": 60,\n        },\n        {\n            \"name\": \"my-frequency-sla\",\n            \"severity\": \"critical\",\n            \"stale_after\": 60,\n        },\n        {\n            \"name\": \"my-freshness\",\n            \"severity\": \"moderate\",\n            \"within\": 60,\n            \"resource_match\": json.dumps({\n                \"label\": \"my-label\",\n            }),\n            \"expected_event\": \"my-event\",\n        },\n        {\n            \"name\": \"my-lateness\",\n            \"severity\": \"moderate\",\n            \"within\": 60,\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myFlow = new Prefect.Flow(\"my_flow\", new()\n    {\n        Name = \"my-flow\",\n    });\n\n    var myDeployment = new Prefect.Deployment(\"my_deployment\", new()\n    {\n        Name = \"my-deployment\",\n        FlowId = myFlow.Id,\n    });\n\n    var slas = new Prefect.ResourceSla(\"slas\", new()\n    {\n        ResourceId = myDeployment.Id.Apply(id =\u003e $\"prefect.deployment.{id}\"),\n        Slas = new[]\n        {\n            new Prefect.Inputs.ResourceSlaSlaArgs\n            {\n                Name = \"my-time-to-completion-sla\",\n                Duration = 60,\n            },\n            new Prefect.Inputs.ResourceSlaSlaArgs\n            {\n                Name = \"my-frequency-sla\",\n                Severity = \"critical\",\n                StaleAfter = 60,\n            },\n            new Prefect.Inputs.ResourceSlaSlaArgs\n            {\n                Name = \"my-freshness\",\n                Severity = \"moderate\",\n                Within = 60,\n                ResourceMatch = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"label\"] = \"my-label\",\n                }),\n                ExpectedEvent = \"my-event\",\n            },\n            new Prefect.Inputs.ResourceSlaSlaArgs\n            {\n                Name = \"my-lateness\",\n                Severity = \"moderate\",\n                Within = 60,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tmyFlow, err := prefect.NewFlow(ctx, \"my_flow\", \u0026prefect.FlowArgs{\n\t\t\tName: pulumi.String(\"my-flow\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyDeployment, err := prefect.NewDeployment(ctx, \"my_deployment\", \u0026prefect.DeploymentArgs{\n\t\t\tName:   pulumi.String(\"my-deployment\"),\n\t\t\tFlowId: myFlow.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"label\": \"my-label\",\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 = prefect.NewResourceSla(ctx, \"slas\", \u0026prefect.ResourceSlaArgs{\n\t\t\tResourceId: myDeployment.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"prefect.deployment.%v\", id), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tSlas: prefect.ResourceSlaSlaArray{\n\t\t\t\t\u0026prefect.ResourceSlaSlaArgs{\n\t\t\t\t\tName:     pulumi.String(\"my-time-to-completion-sla\"),\n\t\t\t\t\tDuration: pulumi.Float64(60),\n\t\t\t\t},\n\t\t\t\t\u0026prefect.ResourceSlaSlaArgs{\n\t\t\t\t\tName:       pulumi.String(\"my-frequency-sla\"),\n\t\t\t\t\tSeverity:   pulumi.String(\"critical\"),\n\t\t\t\t\tStaleAfter: pulumi.Float64(60),\n\t\t\t\t},\n\t\t\t\t\u0026prefect.ResourceSlaSlaArgs{\n\t\t\t\t\tName:          pulumi.String(\"my-freshness\"),\n\t\t\t\t\tSeverity:      pulumi.String(\"moderate\"),\n\t\t\t\t\tWithin:        pulumi.Float64(60),\n\t\t\t\t\tResourceMatch: pulumi.String(json0),\n\t\t\t\t\tExpectedEvent: pulumi.String(\"my-event\"),\n\t\t\t\t},\n\t\t\t\t\u0026prefect.ResourceSlaSlaArgs{\n\t\t\t\t\tName:     pulumi.String(\"my-lateness\"),\n\t\t\t\t\tSeverity: pulumi.String(\"moderate\"),\n\t\t\t\t\tWithin:   pulumi.Float64(60),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.Flow;\nimport com.pulumi.prefect.FlowArgs;\nimport com.pulumi.prefect.Deployment;\nimport com.pulumi.prefect.DeploymentArgs;\nimport com.pulumi.prefect.ResourceSla;\nimport com.pulumi.prefect.ResourceSlaArgs;\nimport com.pulumi.prefect.inputs.ResourceSlaSlaArgs;\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 myFlow = new Flow(\"myFlow\", FlowArgs.builder()\n            .name(\"my-flow\")\n            .build());\n\n        var myDeployment = new Deployment(\"myDeployment\", DeploymentArgs.builder()\n            .name(\"my-deployment\")\n            .flowId(myFlow.id())\n            .build());\n\n        var slas = new ResourceSla(\"slas\", ResourceSlaArgs.builder()\n            .resourceId(myDeployment.id().applyValue(_id -\u003e String.format(\"prefect.deployment.%s\", _id)))\n            .slas(            \n                ResourceSlaSlaArgs.builder()\n                    .name(\"my-time-to-completion-sla\")\n                    .duration(60.0)\n                    .build(),\n                ResourceSlaSlaArgs.builder()\n                    .name(\"my-frequency-sla\")\n                    .severity(\"critical\")\n                    .staleAfter(60.0)\n                    .build(),\n                ResourceSlaSlaArgs.builder()\n                    .name(\"my-freshness\")\n                    .severity(\"moderate\")\n                    .within(60.0)\n                    .resourceMatch(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"label\", \"my-label\")\n                        )))\n                    .expectedEvent(\"my-event\")\n                    .build(),\n                ResourceSlaSlaArgs.builder()\n                    .name(\"my-lateness\")\n                    .severity(\"moderate\")\n                    .within(60.0)\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myFlow:\n    type: prefect:Flow\n    name: my_flow\n    properties:\n      name: my-flow\n  myDeployment:\n    type: prefect:Deployment\n    name: my_deployment\n    properties:\n      name: my-deployment\n      flowId: ${myFlow.id}\n  slas:\n    type: prefect:ResourceSla\n    properties:\n      resourceId: prefect.deployment.${myDeployment.id}\n      slas:\n        - name: my-time-to-completion-sla\n          duration: 60\n        - name: my-frequency-sla\n          severity: critical\n          staleAfter: 60\n        - name: my-freshness\n          severity: moderate\n          within: 60\n          resourceMatch:\n            fn::toJSON:\n              label: my-label\n          expectedEvent: my-event\n        - name: my-lateness\n          severity: moderate\n          within: 60\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"resourceId":{"type":"string","description":"The ID of the Prefect resource to set the SLA for, in the format of `prefect.\u003cresource_type\u003e.\u003cresource_id\u003e`.\n"},"slas":{"type":"array","items":{"$ref":"#/types/prefect:index%2FResourceSlaSla:ResourceSlaSla"},"description":"List of SLAs to set for the resource. Note that this is a declarative list, and any SLAs that are not defined in this list will be removed from the resource (if they existed previously). Existing SLAs will be updated to match the definitions in this list. See documentation on [Defining SLAs](https://docs.prefect.io/v3/automate/events/slas#defining-slas) for more information, as well as the [API specification](https://app.prefect.cloud/api/docs#tag/SLAs/operation/apply_slas_api_accounts__account_id__workspaces__workspace_id__slas_apply_resource_slas__resource_id__post) for the SLA payload structure.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["resourceId","slas"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"resourceId":{"type":"string","description":"The ID of the Prefect resource to set the SLA for, in the format of `prefect.\u003cresource_type\u003e.\u003cresource_id\u003e`.\n"},"slas":{"type":"array","items":{"$ref":"#/types/prefect:index%2FResourceSlaSla:ResourceSlaSla"},"description":"List of SLAs to set for the resource. Note that this is a declarative list, and any SLAs that are not defined in this list will be removed from the resource (if they existed previously). Existing SLAs will be updated to match the definitions in this list. See documentation on [Defining SLAs](https://docs.prefect.io/v3/automate/events/slas#defining-slas) for more information, as well as the [API specification](https://app.prefect.cloud/api/docs#tag/SLAs/operation/apply_slas_api_accounts__account_id__workspaces__workspace_id__slas_apply_resource_slas__resource_id__post) for the SLA payload structure.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"requiredInputs":["resourceId","slas"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceSla resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"resourceId":{"type":"string","description":"The ID of the Prefect resource to set the SLA for, in the format of `prefect.\u003cresource_type\u003e.\u003cresource_id\u003e`.\n"},"slas":{"type":"array","items":{"$ref":"#/types/prefect:index%2FResourceSlaSla:ResourceSlaSla"},"description":"List of SLAs to set for the resource. Note that this is a declarative list, and any SLAs that are not defined in this list will be removed from the resource (if they existed previously). Existing SLAs will be updated to match the definitions in this list. See documentation on [Defining SLAs](https://docs.prefect.io/v3/automate/events/slas#defining-slas) for more information, as well as the [API specification](https://app.prefect.cloud/api/docs#tag/SLAs/operation/apply_slas_api_accounts__account_id__workspaces__workspace_id__slas_apply_resource_slas__resource_id__post) for the SLA payload structure.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"}},"prefect:index/serviceAccount:ServiceAccount":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`serviceAccount`\" pulumi-lang-dotnet=\"`ServiceAccount`\" pulumi-lang-go=\"`serviceAccount`\" pulumi-lang-python=\"`service_account`\" pulumi-lang-yaml=\"`serviceAccount`\" pulumi-lang-java=\"`serviceAccount`\"\u003e`service_account`\u003c/span\u003e represents a Prefect Cloud Service Account. A Service Account allows you to create an API Key that is not associated with a user account.\n\nService Accounts are used to configure API access for workers or programs. Use this resource to provision and rotate Keys as well as assign Account and Workspace Access through Roles.\n\nAPI Keys for \u003cspan pulumi-lang-nodejs=\"`serviceAccount`\" pulumi-lang-dotnet=\"`ServiceAccount`\" pulumi-lang-go=\"`serviceAccount`\" pulumi-lang-python=\"`service_account`\" pulumi-lang-yaml=\"`serviceAccount`\" pulumi-lang-java=\"`serviceAccount`\"\u003e`service_account`\u003c/span\u003e resources can be rotated by modifying the \u003cspan pulumi-lang-nodejs=\"`apiKeyExpiration`\" pulumi-lang-dotnet=\"`ApiKeyExpiration`\" pulumi-lang-go=\"`apiKeyExpiration`\" pulumi-lang-python=\"`api_key_expiration`\" pulumi-lang-yaml=\"`apiKeyExpiration`\" pulumi-lang-java=\"`apiKeyExpiration`\"\u003e`api_key_expiration`\u003c/span\u003e attribute.\nFor more information, see [manage service accounts](https://docs.prefect.io/v3/manage/cloud/manage-users/service-accounts).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\nimport * as time from \"@pulumi/time\";\n\n// NON-EXPIRING API KEY\nconst example = new prefect.ServiceAccount(\"example\", {name: \"my-service-account\"});\nconst ninetyDays = new time.index.Rotating(\"ninety_days\", {rotationDays: 90});\n// Pass the time_rotating resource to the `api_key_expiration` attribute\n// in order to automate the rotation of the Service Account key\nconst exampleRotateTimeKey = new prefect.ServiceAccount(\"example_rotate_time_key\", {\n    name: \"my-service-account\",\n    apiKeyExpiration: ninetyDays.rotationRfc3339,\n});\n// Optionally, rotate non-expiring Service Account keys\n// using the `api_key_keepers` attribute, which is an\n// arbitrary map of values that, if changed, will\n// trigger a key rotation (but not a re-creation of the Service Account)\nconst exampleRotateForeverKey = new prefect.ServiceAccount(\"example_rotate_forever_key\", {\n    name: \"my-service-account\",\n    apiKeyExpiration: null,\n    apiKeyKeepers: {\n        foo: \"value-1\",\n        bar: \"value-2\",\n    },\n});\n// Use the optional `old_key_expires_in_seconds`, which applies\n// a TTL to the old key when rotation takes place.\n// This is useful to ensure that your consumers don't experience\n// downtime when the new key is being rolled out.\nconst exampleOldKeyExpiresLater = new prefect.ServiceAccount(\"example_old_key_expires_later\", {\n    name: \"my-service-account\",\n    oldKeyExpiresInSeconds: 300,\n    apiKeyExpiration: ninetyDays.rotationRfc3339,\n    apiKeyKeepers: {\n        foo: \"value-1\",\n        bar: \"value-2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\nimport pulumi_time as time\n\n# NON-EXPIRING API KEY\nexample = prefect.ServiceAccount(\"example\", name=\"my-service-account\")\nninety_days = time.index.Rotating(\"ninety_days\", rotation_days=90)\n# Pass the time_rotating resource to the `api_key_expiration` attribute\n# in order to automate the rotation of the Service Account key\nexample_rotate_time_key = prefect.ServiceAccount(\"example_rotate_time_key\",\n    name=\"my-service-account\",\n    api_key_expiration=ninety_days[\"rotationRfc3339\"])\n# Optionally, rotate non-expiring Service Account keys\n# using the `api_key_keepers` attribute, which is an\n# arbitrary map of values that, if changed, will\n# trigger a key rotation (but not a re-creation of the Service Account)\nexample_rotate_forever_key = prefect.ServiceAccount(\"example_rotate_forever_key\",\n    name=\"my-service-account\",\n    api_key_expiration=None,\n    api_key_keepers={\n        \"foo\": \"value-1\",\n        \"bar\": \"value-2\",\n    })\n# Use the optional `old_key_expires_in_seconds`, which applies\n# a TTL to the old key when rotation takes place.\n# This is useful to ensure that your consumers don't experience\n# downtime when the new key is being rolled out.\nexample_old_key_expires_later = prefect.ServiceAccount(\"example_old_key_expires_later\",\n    name=\"my-service-account\",\n    old_key_expires_in_seconds=300,\n    api_key_expiration=ninety_days[\"rotationRfc3339\"],\n    api_key_keepers={\n        \"foo\": \"value-1\",\n        \"bar\": \"value-2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\nusing Time = Pulumi.Time;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // NON-EXPIRING API KEY\n    var example = new Prefect.ServiceAccount(\"example\", new()\n    {\n        Name = \"my-service-account\",\n    });\n\n    var ninetyDays = new Time.Index.Rotating(\"ninety_days\", new()\n    {\n        RotationDays = 90,\n    });\n\n    // Pass the time_rotating resource to the `api_key_expiration` attribute\n    // in order to automate the rotation of the Service Account key\n    var exampleRotateTimeKey = new Prefect.ServiceAccount(\"example_rotate_time_key\", new()\n    {\n        Name = \"my-service-account\",\n        ApiKeyExpiration = ninetyDays.RotationRfc3339,\n    });\n\n    // Optionally, rotate non-expiring Service Account keys\n    // using the `api_key_keepers` attribute, which is an\n    // arbitrary map of values that, if changed, will\n    // trigger a key rotation (but not a re-creation of the Service Account)\n    var exampleRotateForeverKey = new Prefect.ServiceAccount(\"example_rotate_forever_key\", new()\n    {\n        Name = \"my-service-account\",\n        ApiKeyExpiration = null,\n        ApiKeyKeepers = \n        {\n            { \"foo\", \"value-1\" },\n            { \"bar\", \"value-2\" },\n        },\n    });\n\n    // Use the optional `old_key_expires_in_seconds`, which applies\n    // a TTL to the old key when rotation takes place.\n    // This is useful to ensure that your consumers don't experience\n    // downtime when the new key is being rolled out.\n    var exampleOldKeyExpiresLater = new Prefect.ServiceAccount(\"example_old_key_expires_later\", new()\n    {\n        Name = \"my-service-account\",\n        OldKeyExpiresInSeconds = 300,\n        ApiKeyExpiration = ninetyDays.RotationRfc3339,\n        ApiKeyKeepers = \n        {\n            { \"foo\", \"value-1\" },\n            { \"bar\", \"value-2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi-time/sdk/go/time\"\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// NON-EXPIRING API KEY\n\t\t_, err := prefect.NewServiceAccount(ctx, \"example\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"my-service-account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tninetyDays, err := time.NewRotating(ctx, \"ninety_days\", \u0026time.RotatingArgs{\n\t\t\tRotationDays: 90,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Pass the time_rotating resource to the `api_key_expiration` attribute\n\t\t// in order to automate the rotation of the Service Account key\n\t\t_, err = prefect.NewServiceAccount(ctx, \"example_rotate_time_key\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName:             pulumi.String(\"my-service-account\"),\n\t\t\tApiKeyExpiration: ninetyDays.RotationRfc3339,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optionally, rotate non-expiring Service Account keys\n\t\t// using the `api_key_keepers` attribute, which is an\n\t\t// arbitrary map of values that, if changed, will\n\t\t// trigger a key rotation (but not a re-creation of the Service Account)\n\t\t_, err = prefect.NewServiceAccount(ctx, \"example_rotate_forever_key\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName:             pulumi.String(\"my-service-account\"),\n\t\t\tApiKeyExpiration: nil,\n\t\t\tApiKeyKeepers: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"value-1\"),\n\t\t\t\t\"bar\": pulumi.String(\"value-2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use the optional `old_key_expires_in_seconds`, which applies\n\t\t// a TTL to the old key when rotation takes place.\n\t\t// This is useful to ensure that your consumers don't experience\n\t\t// downtime when the new key is being rolled out.\n\t\t_, err = prefect.NewServiceAccount(ctx, \"example_old_key_expires_later\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName:                   pulumi.String(\"my-service-account\"),\n\t\t\tOldKeyExpiresInSeconds: pulumi.Float64(300),\n\t\t\tApiKeyExpiration:       ninetyDays.RotationRfc3339,\n\t\t\tApiKeyKeepers: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"value-1\"),\n\t\t\t\t\"bar\": pulumi.String(\"value-2\"),\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.prefect.ServiceAccount;\nimport com.pulumi.prefect.ServiceAccountArgs;\nimport com.pulumi.time.Rotating;\nimport com.pulumi.time.RotatingArgs;\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        // NON-EXPIRING API KEY\n        var example = new ServiceAccount(\"example\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .build());\n\n        var ninetyDays = new Rotating(\"ninetyDays\", RotatingArgs.builder()\n            .rotationDays(90)\n            .build());\n\n        // Pass the time_rotating resource to the `api_key_expiration` attribute\n        // in order to automate the rotation of the Service Account key\n        var exampleRotateTimeKey = new ServiceAccount(\"exampleRotateTimeKey\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .apiKeyExpiration(ninetyDays.rotationRfc3339())\n            .build());\n\n        // Optionally, rotate non-expiring Service Account keys\n        // using the `api_key_keepers` attribute, which is an\n        // arbitrary map of values that, if changed, will\n        // trigger a key rotation (but not a re-creation of the Service Account)\n        var exampleRotateForeverKey = new ServiceAccount(\"exampleRotateForeverKey\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .apiKeyExpiration(null)\n            .apiKeyKeepers(Map.ofEntries(\n                Map.entry(\"foo\", \"value-1\"),\n                Map.entry(\"bar\", \"value-2\")\n            ))\n            .build());\n\n        // Use the optional `old_key_expires_in_seconds`, which applies\n        // a TTL to the old key when rotation takes place.\n        // This is useful to ensure that your consumers don't experience\n        // downtime when the new key is being rolled out.\n        var exampleOldKeyExpiresLater = new ServiceAccount(\"exampleOldKeyExpiresLater\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .oldKeyExpiresInSeconds(300.0)\n            .apiKeyExpiration(ninetyDays.rotationRfc3339())\n            .apiKeyKeepers(Map.ofEntries(\n                Map.entry(\"foo\", \"value-1\"),\n                Map.entry(\"bar\", \"value-2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # NON-EXPIRING API KEY\n  example:\n    type: prefect:ServiceAccount\n    properties:\n      name: my-service-account\n  ninetyDays:\n    type: time:Rotating\n    name: ninety_days\n    properties:\n      rotationDays: 90\n  # Pass the time_rotating resource to the `api_key_expiration` attribute\n  # in order to automate the rotation of the Service Account key\n  exampleRotateTimeKey:\n    type: prefect:ServiceAccount\n    name: example_rotate_time_key\n    properties:\n      name: my-service-account\n      apiKeyExpiration: ${ninetyDays.rotationRfc3339}\n  # Optionally, rotate non-expiring Service Account keys\n  # using the `api_key_keepers` attribute, which is an\n  # arbitrary map of values that, if changed, will\n  # trigger a key rotation (but not a re-creation of the Service Account)\n  exampleRotateForeverKey:\n    type: prefect:ServiceAccount\n    name: example_rotate_forever_key\n    properties:\n      name: my-service-account\n      apiKeyExpiration: null # never expires\n      apiKeyKeepers:\n        foo: value-1\n        bar: value-2\n  # Use the optional `old_key_expires_in_seconds`, which applies\n  # a TTL to the old key when rotation takes place.\n  # This is useful to ensure that your consumers don't experience\n  # downtime when the new key is being rolled out.\n  exampleOldKeyExpiresLater:\n    type: prefect:ServiceAccount\n    name: example_old_key_expires_later\n    properties:\n      name: my-service-account\n      oldKeyExpiresInSeconds: 300 # Remember that `old_key_expires_in_seconds` is only applied\n      #   # when a key rotation takes place, such as changing the\n      #   # `api_key_expiration` attribute\n      apiKeyExpiration: ${ninetyDays.rotationRfc3339}\n      apiKeyKeepers:\n        foo: value-1\n        bar: value-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Service Accounts can be imported by name in the form `name/my-bot-name`\n\n```sh\n$ pulumi import prefect:index/serviceAccount:ServiceAccount example name/my-bot-name\n```\n\nor via UUID\n\n```sh\n$ pulumi import prefect:index/serviceAccount:ServiceAccount example 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"accountRoleName":{"type":"string","description":"Account Role name of the service account (one of: Admin, Member, Owner)\n"},"actorId":{"type":"string","description":"Actor ID (UUID), used for granting access to resources like Blocks and Deployments\n"},"apiKey":{"type":"string","description":"API Key associated with the service account\n","secret":true},"apiKeyCreated":{"type":"string","description":"Timestamp of the API Key creation (RFC3339)\n"},"apiKeyExpiration":{"type":"string","description":"Timestamp of the API Key expiration (RFC3339). If left as null, the API Key will not expire. Modify this attribute to force a key rotation.\n"},"apiKeyId":{"type":"string","description":"API Key ID associated with the service account\n"},"apiKeyKeepers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of values that, if changed, will trigger a key rotation (but not a re-creation of the Service Account)\n"},"apiKeyName":{"type":"string","description":"API Key Name associated with the service account\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the service account\n"},"oldKeyExpiresInSeconds":{"type":"number","description":"Provide this field to set an expiration for the currently active api key. If not provided or provided Null, the current key will be deleted. If provided, it cannot be more than 48 hours (172800 seconds) in the future.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object","required":["accountId","accountRoleName","actorId","apiKey","apiKeyCreated","apiKeyId","apiKeyName","created","name","oldKeyExpiresInSeconds","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"accountRoleName":{"type":"string","description":"Account Role name of the service account (one of: Admin, Member, Owner)\n"},"apiKeyExpiration":{"type":"string","description":"Timestamp of the API Key expiration (RFC3339). If left as null, the API Key will not expire. Modify this attribute to force a key rotation.\n"},"apiKeyKeepers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of values that, if changed, will trigger a key rotation (but not a re-creation of the Service Account)\n"},"name":{"type":"string","description":"Name of the service account\n"},"oldKeyExpiresInSeconds":{"type":"number","description":"Provide this field to set an expiration for the currently active api key. If not provided or provided Null, the current key will be deleted. If provided, it cannot be more than 48 hours (172800 seconds) in the future.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ServiceAccount resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"accountRoleName":{"type":"string","description":"Account Role name of the service account (one of: Admin, Member, Owner)\n"},"actorId":{"type":"string","description":"Actor ID (UUID), used for granting access to resources like Blocks and Deployments\n"},"apiKey":{"type":"string","description":"API Key associated with the service account\n","secret":true},"apiKeyCreated":{"type":"string","description":"Timestamp of the API Key creation (RFC3339)\n"},"apiKeyExpiration":{"type":"string","description":"Timestamp of the API Key expiration (RFC3339). If left as null, the API Key will not expire. Modify this attribute to force a key rotation.\n"},"apiKeyId":{"type":"string","description":"API Key ID associated with the service account\n"},"apiKeyKeepers":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of values that, if changed, will trigger a key rotation (but not a re-creation of the Service Account)\n"},"apiKeyName":{"type":"string","description":"API Key Name associated with the service account\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the service account\n"},"oldKeyExpiresInSeconds":{"type":"number","description":"Provide this field to set an expiration for the currently active api key. If not provided or provided Null, the current key will be deleted. If provided, it cannot be more than 48 hours (172800 seconds) in the future.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object"}},"prefect:index/taskRunConcurrencyLimit:TaskRunConcurrencyLimit":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`taskRunConcurrencyLimit`\" pulumi-lang-dotnet=\"`TaskRunConcurrencyLimit`\" pulumi-lang-go=\"`taskRunConcurrencyLimit`\" pulumi-lang-python=\"`task_run_concurrency_limit`\" pulumi-lang-yaml=\"`taskRunConcurrencyLimit`\" pulumi-lang-java=\"`taskRunConcurrencyLimit`\"\u003e`task_run_concurrency_limit`\u003c/span\u003e represents a task run concurrency limit. Task run concurrency limits allow you to control how many tasks with specific tags can run simultaneously. For more information, see [limit concurrent task runs with tags](https://docs.prefect.io/v3/develop/task-run-limits).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\nconst testTaskRunConcurrencyLimit = new prefect.TaskRunConcurrencyLimit(\"test\", {\n    workspaceId: test.then(test =\u003e test.id),\n    concurrencyLimit: 1,\n    tag: \"test-tag\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.get_workspace(handle=\"my-workspace\")\ntest_task_run_concurrency_limit = prefect.TaskRunConcurrencyLimit(\"test\",\n    workspace_id=test.id,\n    concurrency_limit=1,\n    tag=\"test-tag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    var testTaskRunConcurrencyLimit = new Prefect.TaskRunConcurrencyLimit(\"test\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        ConcurrencyLimit = 1,\n        Tag = \"test-tag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewTaskRunConcurrencyLimit(ctx, \"test\", \u0026prefect.TaskRunConcurrencyLimitArgs{\n\t\t\tWorkspaceId:      pulumi.String(test.Id),\n\t\t\tConcurrencyLimit: pulumi.Float64(1),\n\t\t\tTag:              pulumi.String(\"test-tag\"),\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.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.TaskRunConcurrencyLimit;\nimport com.pulumi.prefect.TaskRunConcurrencyLimitArgs;\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        final var test = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        var testTaskRunConcurrencyLimit = new TaskRunConcurrencyLimit(\"testTaskRunConcurrencyLimit\", TaskRunConcurrencyLimitArgs.builder()\n            .workspaceId(test.id())\n            .concurrencyLimit(1.0)\n            .tag(\"test-tag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testTaskRunConcurrencyLimit:\n    type: prefect:TaskRunConcurrencyLimit\n    name: test\n    properties:\n      workspaceId: ${test.id}\n      concurrencyLimit: 1\n      tag: test-tag\nvariables:\n  test:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect task run concurrency limits can be imported via task_run_concurrency_limit_id\n\n```sh\n$ pulumi import prefect:index/taskRunConcurrencyLimit:TaskRunConcurrencyLimit example 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via task_run_concurrency_limit_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/taskRunConcurrencyLimit:TaskRunConcurrencyLimit example 00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"concurrencyLimit":{"type":"number","description":"The task run concurrency limit.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"tag":{"type":"string","description":"A tag the task run concurrency limit is applied to.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["concurrencyLimit","created","tag","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"concurrencyLimit":{"type":"number","description":"The task run concurrency limit.\n"},"tag":{"type":"string","description":"A tag the task run concurrency limit is applied to.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"requiredInputs":["concurrencyLimit","tag"],"stateInputs":{"description":"Input properties used for looking up and filtering TaskRunConcurrencyLimit resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"concurrencyLimit":{"type":"number","description":"The task run concurrency limit.\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"tag":{"type":"string","description":"A tag the task run concurrency limit is applied to.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/team:Team":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`team`\" pulumi-lang-dotnet=\"`Team`\" pulumi-lang-go=\"`team`\" pulumi-lang-python=\"`team`\" pulumi-lang-yaml=\"`team`\" pulumi-lang-java=\"`team`\"\u003e`team`\u003c/span\u003e represents a Prefect Team. Teams are used to organize users and their permissions. For more information, see [manage teams](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-teams).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.Team(\"example\", {\n    name: \"My team\",\n    description: \"My team description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.Team(\"example\",\n    name=\"My team\",\n    description=\"My team description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.Team(\"example\", new()\n    {\n        Name = \"My team\",\n        Description = \"My team description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewTeam(ctx, \"example\", \u0026prefect.TeamArgs{\n\t\t\tName:        pulumi.String(\"My team\"),\n\t\t\tDescription: pulumi.String(\"My team description\"),\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.prefect.Team;\nimport com.pulumi.prefect.TeamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Team(\"example\", TeamArgs.builder()\n            .name(\"My team\")\n            .description(\"My team description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:Team\n    properties:\n      name: My team\n      description: My team description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Teams can be imported via id `id`\n\n```sh\n$ pulumi import prefect:index/team:Team example 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"created":{"type":"string","description":"Timestamp of when the team was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the team\n"},"name":{"type":"string","description":"Unique name of the team\n"},"updated":{"type":"string","description":"Timestamp of when the team was updated (RFC3339)\n"}},"type":"object","required":["created","description","name","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"description":{"type":"string","description":"Description of the team\n"},"name":{"type":"string","description":"Unique name of the team\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Team resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"created":{"type":"string","description":"Timestamp of when the team was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the team\n"},"name":{"type":"string","description":"Unique name of the team\n"},"updated":{"type":"string","description":"Timestamp of when the team was updated (RFC3339)\n"}},"type":"object"}},"prefect:index/teamAccess:TeamAccess":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`teamAccess`\" pulumi-lang-dotnet=\"`TeamAccess`\" pulumi-lang-go=\"`teamAccess`\" pulumi-lang-python=\"`team_access`\" pulumi-lang-yaml=\"`teamAccess`\" pulumi-lang-java=\"`teamAccess`\"\u003e`team_access`\u003c/span\u003e grants access to a team for a user or service account. For more information, see [manage teams](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-teams).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Enterprise.\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"memberActorId":{"type":"string","description":"Member Actor ID (UUID)\n"},"memberId":{"type":"string","description":"Member ID (UUID)\n"},"memberType":{"type":"string","description":"Member Type (user | service_account)\n"},"teamId":{"type":"string","description":"Team ID (UUID)\n"}},"type":"object","required":["memberActorId","memberId","memberType","teamId"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"memberActorId":{"type":"string","description":"Member Actor ID (UUID)\n"},"memberId":{"type":"string","description":"Member ID (UUID)\n"},"memberType":{"type":"string","description":"Member Type (user | service_account)\n"},"teamId":{"type":"string","description":"Team ID (UUID)\n"}},"requiredInputs":["memberActorId","memberId","memberType","teamId"],"stateInputs":{"description":"Input properties used for looking up and filtering TeamAccess resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"memberActorId":{"type":"string","description":"Member Actor ID (UUID)\n"},"memberId":{"type":"string","description":"Member ID (UUID)\n"},"memberType":{"type":"string","description":"Member Type (user | service_account)\n"},"teamId":{"type":"string","description":"Team ID (UUID)\n"}},"type":"object"}},"prefect:index/user:User":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e represents a Prefect User.\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n\nA User is an individual user of Prefect Cloud. Use this resource to manage a\nuser's profile information. You can also use this resource to assign membership\nto resources like Teams and Workspaces. For more information, see\n[manage users](https://docs.prefect.io/v3/manage/cloud/manage-users/users).\n\nThere are two important caveats with this resource.\n\nFirst, **users cannot be created** because this is not supported by the API due\nto the way invitations work. Instead, you must first import user resources into\nthe state before they can be managed. Note that because of this limitation,\nthe delete functionality has not been implemented. If you remove your user\nresource from configuration, the user will not be deleted.\n\nSecond, the \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e resource requires that the API key used in the Prefect\nprovider be generated by the same user you are importing. This is because the\nUser API includes validation to confirm that requests for a user can only be\nmade by the user itself.\n\nIf you do not need to manage the attributes of a user, and only need to\nretrieve the user ID for reference in other resources, consider using the\naccount member datasource instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nresources:\n  marvin:\n    type: prefect:User\n    properties:\n      id: 00000000-0000-0000-0000-000000000000\n      handle: marvin\n      firstName: Marvin\n      lastName: The Paranoid Android\n      email: marvin@prefect.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe ` + \"`\" + `pulumi import` + \"`\" + ` command can be used, for example:\n\nPrefect Users can be imported by ID, which can be found in the UI\n\nby clicking the dropdown menu in the top left corner and then clicking \"My Profile\".\n\n```sh\n$ pulumi import prefect:index/user:User marvin 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"actorId":{"type":"string","description":"Actor ID (UUID), used for granting access to resources like Teams\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"email":{"type":"string","description":"Email of the user\n"},"firstName":{"type":"string","description":"First name of the user\n"},"handle":{"type":"string","description":"A unique handle for the user, containing only lowercase letters, numbers, and dashes.\n"},"lastName":{"type":"string","description":"Last name of the user\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object","required":["actorId","created","email","firstName","handle","lastName","updated"],"inputProperties":{"email":{"type":"string","description":"Email of the user\n"},"firstName":{"type":"string","description":"First name of the user\n"},"handle":{"type":"string","description":"A unique handle for the user, containing only lowercase letters, numbers, and dashes.\n"},"lastName":{"type":"string","description":"Last name of the user\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"actorId":{"type":"string","description":"Actor ID (UUID), used for granting access to resources like Teams\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"email":{"type":"string","description":"Email of the user\n"},"firstName":{"type":"string","description":"First name of the user\n"},"handle":{"type":"string","description":"A unique handle for the user, containing only lowercase letters, numbers, and dashes.\n"},"lastName":{"type":"string","description":"Last name of the user\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object"}},"prefect:index/userApiKey:UserApiKey":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`userApiKey`\" pulumi-lang-dotnet=\"`UserApiKey`\" pulumi-lang-go=\"`userApiKey`\" pulumi-lang-python=\"`user_api_key`\" pulumi-lang-yaml=\"`userApiKey`\" pulumi-lang-java=\"`userApiKey`\"\u003e`user_api_key`\u003c/span\u003e represents a Prefect User API Key. \nUser API Keys are used to authenticate requests to the Prefect API and are specifically bound to Prefect Users (and not Service Accounts - see \u003cspan pulumi-lang-nodejs=\"`prefect.ServiceAccount`\" pulumi-lang-dotnet=\"`prefect.ServiceAccount`\" pulumi-lang-go=\"`ServiceAccount`\" pulumi-lang-python=\"`ServiceAccount`\" pulumi-lang-yaml=\"`prefect.ServiceAccount`\" pulumi-lang-java=\"`prefect.ServiceAccount`\"\u003e`prefect.ServiceAccount`\u003c/span\u003e). \nAPI Keys via \u003cspan pulumi-lang-nodejs=\"`prefect.UserApiKey`\" pulumi-lang-dotnet=\"`prefect.UserApiKey`\" pulumi-lang-go=\"`UserApiKey`\" pulumi-lang-python=\"`UserApiKey`\" pulumi-lang-yaml=\"`prefect.UserApiKey`\" pulumi-lang-java=\"`prefect.UserApiKey`\"\u003e`prefect.UserApiKey`\u003c/span\u003e resources are not updateable, and any changes to the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`expiration`\" pulumi-lang-dotnet=\"`Expiration`\" pulumi-lang-go=\"`expiration`\" pulumi-lang-python=\"`expiration`\" pulumi-lang-yaml=\"`expiration`\" pulumi-lang-java=\"`expiration`\"\u003e`expiration`\u003c/span\u003e attributes will force a replacement of the API key.\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n","properties":{"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"expiration":{"type":"string","description":"Expiration of the API key (RFC3339). If left as null, the API key will not expire. Modify this attribute to re-create the API key.\n"},"key":{"type":"string","description":"Value of the API key\n","secret":true},"name":{"type":"string","description":"Name of the API key\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"type":"object","required":["created","key","name","userId"],"inputProperties":{"expiration":{"type":"string","description":"Expiration of the API key (RFC3339). If left as null, the API key will not expire. Modify this attribute to re-create the API key.\n"},"name":{"type":"string","description":"Name of the API key\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"requiredInputs":["userId"],"stateInputs":{"description":"Input properties used for looking up and filtering UserApiKey resources.\n","properties":{"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"expiration":{"type":"string","description":"Expiration of the API key (RFC3339). If left as null, the API key will not expire. Modify this attribute to re-create the API key.\n"},"key":{"type":"string","description":"Value of the API key\n","secret":true},"name":{"type":"string","description":"Name of the API key\n"},"userId":{"type":"string","description":"User ID (UUID)\n"}},"type":"object"}},"prefect:index/variable:Variable":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`variable`\" pulumi-lang-dotnet=\"`Variable`\" pulumi-lang-go=\"`variable`\" pulumi-lang-python=\"`variable`\" pulumi-lang-yaml=\"`variable`\" pulumi-lang-java=\"`variable`\"\u003e`variable`\u003c/span\u003e represents a Prefect Variable. Variables enable you to store and reuse non-sensitive information in your flows. For more information, see [set and get variables](https://docs.prefect.io/v3/develop/variables#set-and-get-variables).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.Variable(\"example\", {\n    name: \"my_variable_name\",\n    value: \"variable value goes here\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.Variable(\"example\",\n    name=\"my_variable_name\",\n    value=\"variable value goes here\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.Variable(\"example\", new()\n    {\n        Name = \"my_variable_name\",\n        Value = \"variable value goes here\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewVariable(ctx, \"example\", \u0026prefect.VariableArgs{\n\t\t\tName:  pulumi.String(\"my_variable_name\"),\n\t\t\tValue: pulumi.Any(\"variable value goes here\"),\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.prefect.Variable;\nimport com.pulumi.prefect.VariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Variable(\"example\", VariableArgs.builder()\n            .name(\"my_variable_name\")\n            .value(\"variable value goes here\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:Variable\n    properties:\n      name: my_variable_name\n      value: variable value goes here\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nprefect_variable resources can be imported by the `name/name_of_variable` identifier\n\n```sh\n$ pulumi import prefect:index/variable:Variable example name/name_of_variable\n```\n\nor via variable_id\n\n```sh\n$ pulumi import prefect:index/variable:Variable example 00000000-0000-0000-0000-000000000000\n```\n\nor from a different workspace via name/variable_name,workspace_id\n\n```sh\n$ pulumi import prefect:index/variable:Variable example name/name_of_variable,11111111-1111-1111-1111-111111111111\n```\n\nor from a different workspace via variable_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/variable:Variable example 00000000-0000-0000-0000-000000000000,11111111-1111-1111-1111-111111111111\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the variable\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the variable\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"value":{"$ref":"pulumi.json#/Any"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["created","name","tags","updated","value"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"name":{"type":"string","description":"Name of the variable\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the variable\n"},"value":{"$ref":"pulumi.json#/Any"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"requiredInputs":["value"],"stateInputs":{"description":"Input properties used for looking up and filtering Variable resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"name":{"type":"string","description":"Name of the variable\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the variable\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"value":{"$ref":"pulumi.json#/Any"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"}},"prefect:index/webhook:Webhook":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`webhook`\" pulumi-lang-dotnet=\"`Webhook`\" pulumi-lang-go=\"`webhook`\" pulumi-lang-python=\"`webhook`\" pulumi-lang-yaml=\"`webhook`\" pulumi-lang-java=\"`webhook`\"\u003e`webhook`\u003c/span\u003e represents a Prefect Cloud Webhook. Webhooks allow external services to trigger events in Prefect. For more information, see [receive events with webhooks](https://docs.prefect.io/v3/automate/events/webhook-triggers).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Webhooks can be imported using the webhook_id\n\n```sh\n$ pulumi import prefect:index/webhook:Webhook example 11111111-1111-1111-1111-111111111111\n```\n\nor from a different workspace via the webhook_id,workspace_id\n\n```sh\n$ pulumi import prefect:index/webhook:Webhook example 11111111-1111-1111-1111-111111111111,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the webhook\n"},"enabled":{"type":"boolean","description":"Whether the webhook is enabled\n"},"endpoint":{"type":"string","description":"The fully-formed webhook endpoint, eg. `https://api.prefect.cloud/hooks/\u003cslug\u003e`\n"},"name":{"type":"string","description":"Name of the webhook\n"},"serviceAccountId":{"type":"string","description":"ID of the Service Account to which this webhook belongs. `Pro` and `Enterprise` customers can assign a Service Account to a webhook to enhance security. If set, the webhook request will be authorized with the Service Account's API key.\n"},"template":{"type":"string","description":"Template used by the webhook. Use jsonencode() for static values or template strings for dynamic values.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["accountId","created","description","enabled","endpoint","name","template","updated","workspaceId"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"description":{"type":"string","description":"Description of the webhook\n"},"enabled":{"type":"boolean","description":"Whether the webhook is enabled\n"},"name":{"type":"string","description":"Name of the webhook\n"},"serviceAccountId":{"type":"string","description":"ID of the Service Account to which this webhook belongs. `Pro` and `Enterprise` customers can assign a Service Account to a webhook to enhance security. If set, the webhook request will be authorized with the Service Account's API key.\n"},"template":{"type":"string","description":"Template used by the webhook. Use jsonencode() for static values or template strings for dynamic values.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"requiredInputs":["template"],"stateInputs":{"description":"Input properties used for looking up and filtering Webhook resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the webhook\n"},"enabled":{"type":"boolean","description":"Whether the webhook is enabled\n"},"endpoint":{"type":"string","description":"The fully-formed webhook endpoint, eg. `https://api.prefect.cloud/hooks/\u003cslug\u003e`\n"},"name":{"type":"string","description":"Name of the webhook\n"},"serviceAccountId":{"type":"string","description":"ID of the Service Account to which this webhook belongs. `Pro` and `Enterprise` customers can assign a Service Account to a webhook to enhance security. If set, the webhook request will be authorized with the Service Account's API key.\n"},"template":{"type":"string","description":"Template used by the webhook. Use jsonencode() for static values or template strings for dynamic values.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"}},"prefect:index/workPool:WorkPool":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e represents a Prefect Work Pool. Work Pools represent infrastructure configurations for jobs across several common environments.\n\nWork Pools can be set up with default base job configurations, based on which type. Use this in conjunction with the \u003cspan pulumi-lang-nodejs=\"`prefect.getWorkerMetadata`\" pulumi-lang-dotnet=\"`prefect.getWorkerMetadata`\" pulumi-lang-go=\"`getWorkerMetadata`\" pulumi-lang-python=\"`get_worker_metadata`\" pulumi-lang-yaml=\"`prefect.getWorkerMetadata`\" pulumi-lang-java=\"`prefect.getWorkerMetadata`\"\u003e`prefect.getWorkerMetadata`\u003c/span\u003e data source to bootstrap new Work Pools quickly.\n\nFor more information, see [configure dynamic infrastructure with work pools](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Work Pools can be imported using the name\n\n```sh\n$ pulumi import prefect:index/workPool:WorkPool example kubernetes-work-pool\n```\n\nor from a different workspace via name,workspace_id\n\n```sh\n$ pulumi import prefect:index/workPool:WorkPool example kubernetes-work-pool,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"baseJobTemplate":{"type":"string","description":"The base job template for the work pool, as a JSON string\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work pool\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"defaultQueueId":{"type":"string","description":"The ID (UUID) of the default queue associated with this work pool\n"},"description":{"type":"string","description":"Description of the work pool\n"},"name":{"type":"string","description":"Name of the work pool\n"},"paused":{"type":"boolean","description":"Whether this work pool is paused\n"},"type":{"type":"string","description":"Type of the work pool, eg. kubernetes, ecs, process, etc.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object","required":["created","defaultQueueId","name","paused","type","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"baseJobTemplate":{"type":"string","description":"The base job template for the work pool, as a JSON string\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work pool\n"},"description":{"type":"string","description":"Description of the work pool\n"},"name":{"type":"string","description":"Name of the work pool\n"},"paused":{"type":"boolean","description":"Whether this work pool is paused\n"},"type":{"type":"string","description":"Type of the work pool, eg. kubernetes, ecs, process, etc.\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering WorkPool resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"baseJobTemplate":{"type":"string","description":"The base job template for the work pool, as a JSON string\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work pool\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"defaultQueueId":{"type":"string","description":"The ID (UUID) of the default queue associated with this work pool\n"},"description":{"type":"string","description":"Description of the work pool\n"},"name":{"type":"string","description":"Name of the work pool\n"},"paused":{"type":"boolean","description":"Whether this work pool is paused\n"},"type":{"type":"string","description":"Type of the work pool, eg. kubernetes, ecs, process, etc.\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object"}},"prefect:index/workPoolAccess:WorkPoolAccess":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workPoolAccess`\" pulumi-lang-dotnet=\"`WorkPoolAccess`\" pulumi-lang-go=\"`workPoolAccess`\" pulumi-lang-python=\"`work_pool_access`\" pulumi-lang-yaml=\"`workPoolAccess`\" pulumi-lang-java=\"`workPoolAccess`\"\u003e`work_pool_access`\u003c/span\u003e represents a connection between an accessor (User, Service Account or Team) with a Work Pool. This resource specifies an actor's access level to a specific Work Pool in the Account. For more information, see [object access control lists](https://docs.prefect.io/v3/manage/cloud/manage-users/object-access-control-lists).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// All work pools are scoped to a Workspace.\nconst test = prefect.getWorkspace({\n    handle: \"my-workspace\",\n});\n// Be sure to grant all Actors/Teams who need Work Pool access to first be\n// invited to the Workspace (with a role).\nconst developer = prefect.getWorkspaceRole({\n    name: \"Developer\",\n});\n// Example: invite a Service Account to the Workspace and grant it Developer access\nconst testServiceAccount = new prefect.ServiceAccount(\"test\", {name: \"my-service-account\"});\nconst testWorkspaceAccess = new prefect.WorkspaceAccess(\"test\", {\n    accessorType: \"SERVICE_ACCOUNT\",\n    accessorId: testServiceAccount.id,\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: test.then(test =\u003e test.id),\n});\n// Example: invite a Team to the Workspace and grant it Developer access\nconst testGetTeam = prefect.getTeam({\n    name: \"my-team\",\n});\nconst testTeam = new prefect.WorkspaceAccess(\"test_team\", {\n    accessorType: \"TEAM\",\n    accessorId: testGetTeam.then(testGetTeam =\u003e testGetTeam.id),\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n    workspaceId: test.then(test =\u003e test.id),\n});\n// Define the Work Pool and grant access to the Work Pool\nconst testWorkPool = new prefect.WorkPool(\"test\", {\n    name: \"my-work-pool\",\n    workspaceId: test.then(test =\u003e test.id),\n});\nconst testWorkPoolAccess = new prefect.WorkPoolAccess(\"test\", {\n    workspaceId: test.then(test =\u003e test.id),\n    workPoolName: testWorkPool.name,\n    manageActorIds: [testServiceAccount.actorId],\n    runActorIds: [testServiceAccount.actorId],\n    viewActorIds: [testServiceAccount.actorId],\n    manageTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n    runTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n    viewTeamIds: [testGetTeam.then(testGetTeam =\u003e testGetTeam.id)],\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# All work pools are scoped to a Workspace.\ntest = prefect.get_workspace(handle=\"my-workspace\")\n# Be sure to grant all Actors/Teams who need Work Pool access to first be\n# invited to the Workspace (with a role).\ndeveloper = prefect.get_workspace_role(name=\"Developer\")\n# Example: invite a Service Account to the Workspace and grant it Developer access\ntest_service_account = prefect.ServiceAccount(\"test\", name=\"my-service-account\")\ntest_workspace_access = prefect.WorkspaceAccess(\"test\",\n    accessor_type=\"SERVICE_ACCOUNT\",\n    accessor_id=test_service_account.id,\n    workspace_role_id=developer.id,\n    workspace_id=test.id)\n# Example: invite a Team to the Workspace and grant it Developer access\ntest_get_team = prefect.get_team(name=\"my-team\")\ntest_team = prefect.WorkspaceAccess(\"test_team\",\n    accessor_type=\"TEAM\",\n    accessor_id=test_get_team.id,\n    workspace_role_id=developer.id,\n    workspace_id=test.id)\n# Define the Work Pool and grant access to the Work Pool\ntest_work_pool = prefect.WorkPool(\"test\",\n    name=\"my-work-pool\",\n    workspace_id=test.id)\ntest_work_pool_access = prefect.WorkPoolAccess(\"test\",\n    workspace_id=test.id,\n    work_pool_name=test_work_pool.name,\n    manage_actor_ids=[test_service_account.actor_id],\n    run_actor_ids=[test_service_account.actor_id],\n    view_actor_ids=[test_service_account.actor_id],\n    manage_team_ids=[test_get_team.id],\n    run_team_ids=[test_get_team.id],\n    view_team_ids=[test_get_team.id])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // All work pools are scoped to a Workspace.\n    var test = Prefect.GetWorkspace.Invoke(new()\n    {\n        Handle = \"my-workspace\",\n    });\n\n    // Be sure to grant all Actors/Teams who need Work Pool access to first be\n    // invited to the Workspace (with a role).\n    var developer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Developer\",\n    });\n\n    // Example: invite a Service Account to the Workspace and grant it Developer access\n    var testServiceAccount = new Prefect.ServiceAccount(\"test\", new()\n    {\n        Name = \"my-service-account\",\n    });\n\n    var testWorkspaceAccess = new Prefect.WorkspaceAccess(\"test\", new()\n    {\n        AccessorType = \"SERVICE_ACCOUNT\",\n        AccessorId = testServiceAccount.Id,\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Example: invite a Team to the Workspace and grant it Developer access\n    var testGetTeam = Prefect.GetTeam.Invoke(new()\n    {\n        Name = \"my-team\",\n    });\n\n    var testTeam = new Prefect.WorkspaceAccess(\"test_team\", new()\n    {\n        AccessorType = \"TEAM\",\n        AccessorId = testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    // Define the Work Pool and grant access to the Work Pool\n    var testWorkPool = new Prefect.WorkPool(\"test\", new()\n    {\n        Name = \"my-work-pool\",\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n    });\n\n    var testWorkPoolAccess = new Prefect.WorkPoolAccess(\"test\", new()\n    {\n        WorkspaceId = test.Apply(getWorkspaceResult =\u003e getWorkspaceResult.Id),\n        WorkPoolName = testWorkPool.Name,\n        ManageActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        RunActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        ViewActorIds = new[]\n        {\n            testServiceAccount.ActorId,\n        },\n        ManageTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n        RunTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n        ViewTeamIds = new[]\n        {\n            testGetTeam.Apply(getTeamResult =\u003e getTeamResult.Id),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// All work pools are scoped to a Workspace.\n\t\ttest, err := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tHandle: pulumi.StringRef(\"my-workspace\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Be sure to grant all Actors/Teams who need Work Pool access to first be\n\t\t// invited to the Workspace (with a role).\n\t\tdeveloper, err := prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Developer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Service Account to the Workspace and grant it Developer access\n\t\ttestServiceAccount, err := prefect.NewServiceAccount(ctx, \"test\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"my-service-account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"test\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"SERVICE_ACCOUNT\"),\n\t\t\tAccessorId:      testServiceAccount.ID(),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: invite a Team to the Workspace and grant it Developer access\n\t\ttestGetTeam, err := prefect.LookupTeam(ctx, \u0026prefect.LookupTeamArgs{\n\t\t\tName: pulumi.StringRef(\"my-team\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"test_team\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"TEAM\"),\n\t\t\tAccessorId:      pulumi.String(testGetTeam.Id),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t\tWorkspaceId:     pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Define the Work Pool and grant access to the Work Pool\n\t\ttestWorkPool, err := prefect.NewWorkPool(ctx, \"test\", \u0026prefect.WorkPoolArgs{\n\t\t\tName:        pulumi.String(\"my-work-pool\"),\n\t\t\tWorkspaceId: pulumi.String(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkPoolAccess(ctx, \"test\", \u0026prefect.WorkPoolAccessArgs{\n\t\t\tWorkspaceId:  pulumi.String(test.Id),\n\t\t\tWorkPoolName: testWorkPool.Name,\n\t\t\tManageActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tRunActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tViewActorIds: pulumi.StringArray{\n\t\t\t\ttestServiceAccount.ActorId,\n\t\t\t},\n\t\t\tManageTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t\tRunTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t\tViewTeamIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(testGetTeam.Id),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\nimport com.pulumi.prefect.inputs.GetWorkspaceRoleArgs;\nimport com.pulumi.prefect.ServiceAccount;\nimport com.pulumi.prefect.ServiceAccountArgs;\nimport com.pulumi.prefect.WorkspaceAccess;\nimport com.pulumi.prefect.WorkspaceAccessArgs;\nimport com.pulumi.prefect.inputs.GetTeamArgs;\nimport com.pulumi.prefect.WorkPool;\nimport com.pulumi.prefect.WorkPoolArgs;\nimport com.pulumi.prefect.WorkPoolAccess;\nimport com.pulumi.prefect.WorkPoolAccessArgs;\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        // All work pools are scoped to a Workspace.\n        final var test = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .build());\n\n        // Be sure to grant all Actors/Teams who need Work Pool access to first be\n        // invited to the Workspace (with a role).\n        final var developer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Developer\")\n            .build());\n\n        // Example: invite a Service Account to the Workspace and grant it Developer access\n        var testServiceAccount = new ServiceAccount(\"testServiceAccount\", ServiceAccountArgs.builder()\n            .name(\"my-service-account\")\n            .build());\n\n        var testWorkspaceAccess = new WorkspaceAccess(\"testWorkspaceAccess\", WorkspaceAccessArgs.builder()\n            .accessorType(\"SERVICE_ACCOUNT\")\n            .accessorId(testServiceAccount.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(test.id())\n            .build());\n\n        // Example: invite a Team to the Workspace and grant it Developer access\n        final var testGetTeam = PrefectFunctions.getTeam(GetTeamArgs.builder()\n            .name(\"my-team\")\n            .build());\n\n        var testTeam = new WorkspaceAccess(\"testTeam\", WorkspaceAccessArgs.builder()\n            .accessorType(\"TEAM\")\n            .accessorId(testGetTeam.id())\n            .workspaceRoleId(developer.id())\n            .workspaceId(test.id())\n            .build());\n\n        // Define the Work Pool and grant access to the Work Pool\n        var testWorkPool = new WorkPool(\"testWorkPool\", WorkPoolArgs.builder()\n            .name(\"my-work-pool\")\n            .workspaceId(test.id())\n            .build());\n\n        var testWorkPoolAccess = new WorkPoolAccess(\"testWorkPoolAccess\", WorkPoolAccessArgs.builder()\n            .workspaceId(test.id())\n            .workPoolName(testWorkPool.name())\n            .manageActorIds(testServiceAccount.actorId())\n            .runActorIds(testServiceAccount.actorId())\n            .viewActorIds(testServiceAccount.actorId())\n            .manageTeamIds(testGetTeam.id())\n            .runTeamIds(testGetTeam.id())\n            .viewTeamIds(testGetTeam.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example: invite a Service Account to the Workspace and grant it Developer access\n  testServiceAccount:\n    type: prefect:ServiceAccount\n    name: test\n    properties:\n      name: my-service-account\n  testWorkspaceAccess:\n    type: prefect:WorkspaceAccess\n    name: test\n    properties:\n      accessorType: SERVICE_ACCOUNT\n      accessorId: ${testServiceAccount.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${test.id}\n  testTeam:\n    type: prefect:WorkspaceAccess\n    name: test_team\n    properties:\n      accessorType: TEAM\n      accessorId: ${testGetTeam.id}\n      workspaceRoleId: ${developer.id}\n      workspaceId: ${test.id}\n  # Define the Work Pool and grant access to the Work Pool\n  testWorkPool:\n    type: prefect:WorkPool\n    name: test\n    properties:\n      name: my-work-pool\n      workspaceId: ${test.id}\n  testWorkPoolAccess:\n    type: prefect:WorkPoolAccess\n    name: test\n    properties:\n      workspaceId: ${test.id}\n      workPoolName: ${testWorkPool.name}\n      manageActorIds:\n        - ${testServiceAccount.actorId}\n      runActorIds:\n        - ${testServiceAccount.actorId}\n      viewActorIds:\n        - ${testServiceAccount.actorId}\n      manageTeamIds:\n        - ${testGetTeam.id}\n      runTeamIds:\n        - ${testGetTeam.id}\n      viewTeamIds:\n        - ${testGetTeam.id}\nvariables:\n  # All work pools are scoped to a Workspace.\n  test:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        handle: my-workspace\n  # Be sure to grant all Actors/Teams who need Work Pool access to first be\n  # invited to the Workspace (with a role).\n  developer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Developer\n  # Example: invite a Team to the Workspace and grant it Developer access\n  testGetTeam:\n    fn::invoke:\n      function: prefect:getTeam\n      arguments:\n        name: my-team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Work Pool\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Work Pool\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Work Pool\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Work Pool\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Work Pool\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Work Pool\n"},"workPoolName":{"type":"string","description":"The name of the Work Pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object","required":["manageActorIds","manageTeamIds","runActorIds","runTeamIds","viewActorIds","viewTeamIds","workPoolName"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Work Pool\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Work Pool\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Work Pool\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Work Pool\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Work Pool\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Work Pool\n"},"workPoolName":{"type":"string","description":"The name of the Work Pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"requiredInputs":["workPoolName"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkPoolAccess resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID)\n"},"manageActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with manage access to the Work Pool\n"},"manageTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with manage access to the Work Pool\n"},"runActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with run access to the Work Pool\n"},"runTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with run access to the Work Pool\n"},"viewActorIds":{"type":"array","items":{"type":"string"},"description":"List of actor IDs with view access to the Work Pool\n"},"viewTeamIds":{"type":"array","items":{"type":"string"},"description":"List of team IDs with view access to the Work Pool\n"},"workPoolName":{"type":"string","description":"The name of the Work Pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"}},"prefect:index/workQueue:WorkQueue":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workQueue`\" pulumi-lang-dotnet=\"`WorkQueue`\" pulumi-lang-go=\"`workQueue`\" pulumi-lang-python=\"`work_queue`\" pulumi-lang-yaml=\"`workQueue`\" pulumi-lang-java=\"`workQueue`\"\u003e`work_queue`\u003c/span\u003e represents a Prefect Work Queue. Work Queues are used to configure and manage job execution queues in Prefect.\n\nWork Queues can be associated with a work pool and have configurations like concurrency limits.\n\nFor more information, see [work queues](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools#work-queues).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.Workspace(\"example\", {\n    handle: \"my-workspace\",\n    name: \"my-workspace\",\n});\nconst exampleWorkPool = new prefect.WorkPool(\"example\", {\n    name: \"my-work-pool\",\n    type: \"kubernetes\",\n    paused: false,\n    workspaceId: example.id,\n});\nconst exampleWorkQueue = new prefect.WorkQueue(\"example\", {\n    name: \"my-work-queue\",\n    description: \"My work queue\",\n    concurrencyLimit: 2,\n    workspaceId: example.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.Workspace(\"example\",\n    handle=\"my-workspace\",\n    name=\"my-workspace\")\nexample_work_pool = prefect.WorkPool(\"example\",\n    name=\"my-work-pool\",\n    type=\"kubernetes\",\n    paused=False,\n    workspace_id=example.id)\nexample_work_queue = prefect.WorkQueue(\"example\",\n    name=\"my-work-queue\",\n    description=\"My work queue\",\n    concurrency_limit=2,\n    workspace_id=example.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.Workspace(\"example\", new()\n    {\n        Handle = \"my-workspace\",\n        Name = \"my-workspace\",\n    });\n\n    var exampleWorkPool = new Prefect.WorkPool(\"example\", new()\n    {\n        Name = \"my-work-pool\",\n        Type = \"kubernetes\",\n        Paused = false,\n        WorkspaceId = example.Id,\n    });\n\n    var exampleWorkQueue = new Prefect.WorkQueue(\"example\", new()\n    {\n        Name = \"my-work-queue\",\n        Description = \"My work queue\",\n        ConcurrencyLimit = 2,\n        WorkspaceId = example.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := prefect.NewWorkspace(ctx, \"example\", \u0026prefect.WorkspaceArgs{\n\t\t\tHandle: pulumi.String(\"my-workspace\"),\n\t\t\tName:   pulumi.String(\"my-workspace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkPool(ctx, \"example\", \u0026prefect.WorkPoolArgs{\n\t\t\tName:        pulumi.String(\"my-work-pool\"),\n\t\t\tType:        pulumi.String(\"kubernetes\"),\n\t\t\tPaused:      pulumi.Bool(false),\n\t\t\tWorkspaceId: example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkQueue(ctx, \"example\", \u0026prefect.WorkQueueArgs{\n\t\t\tName:             pulumi.String(\"my-work-queue\"),\n\t\t\tDescription:      pulumi.String(\"My work queue\"),\n\t\t\tConcurrencyLimit: pulumi.Float64(2),\n\t\t\tWorkspaceId:      example.ID(),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.Workspace;\nimport com.pulumi.prefect.WorkspaceArgs;\nimport com.pulumi.prefect.WorkPool;\nimport com.pulumi.prefect.WorkPoolArgs;\nimport com.pulumi.prefect.WorkQueue;\nimport com.pulumi.prefect.WorkQueueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Workspace(\"example\", WorkspaceArgs.builder()\n            .handle(\"my-workspace\")\n            .name(\"my-workspace\")\n            .build());\n\n        var exampleWorkPool = new WorkPool(\"exampleWorkPool\", WorkPoolArgs.builder()\n            .name(\"my-work-pool\")\n            .type(\"kubernetes\")\n            .paused(false)\n            .workspaceId(example.id())\n            .build());\n\n        var exampleWorkQueue = new WorkQueue(\"exampleWorkQueue\", WorkQueueArgs.builder()\n            .name(\"my-work-queue\")\n            .description(\"My work queue\")\n            .concurrencyLimit(2.0)\n            .workspaceId(example.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:Workspace\n    properties:\n      handle: my-workspace\n      name: my-workspace\n  exampleWorkPool:\n    type: prefect:WorkPool\n    name: example\n    properties:\n      name: my-work-pool\n      type: kubernetes\n      paused: false\n      workspaceId: ${example.id}\n  exampleWorkQueue:\n    type: prefect:WorkQueue\n    name: example\n    properties:\n      name: my-work-queue\n      description: My work queue\n      concurrencyLimit: 2\n      workspaceId: ${example.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Work Queues can be imported using work_pool_name,work_queue_name,workspace_id\n\n```sh\n$ pulumi import prefect:index/workQueue:WorkQueue example kubernetes-work-pool,my-work-queue,00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work queue\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the work queue\n"},"isPaused":{"type":"boolean","description":"Whether this work queue is paused\n"},"name":{"type":"string","description":"Name of the work queue\n"},"priority":{"type":"number","description":"The priority of this work queue\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workPoolName":{"type":"string","description":"The name of the work pool associated with this work queue\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object","required":["created","description","isPaused","name","priority","updated","workPoolName"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work queue\n"},"description":{"type":"string","description":"Description of the work queue\n"},"isPaused":{"type":"boolean","description":"Whether this work queue is paused\n"},"name":{"type":"string","description":"Name of the work queue\n"},"priority":{"type":"number","description":"The priority of this work queue\n"},"workPoolName":{"type":"string","description":"The name of the work pool associated with this work queue\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"requiredInputs":["workPoolName"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkQueue resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work queue\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the work queue\n"},"isPaused":{"type":"boolean","description":"Whether this work queue is paused\n"},"name":{"type":"string","description":"Name of the work queue\n"},"priority":{"type":"number","description":"The priority of this work queue\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workPoolName":{"type":"string","description":"The name of the work pool associated with this work queue\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider. In Prefect Cloud, either the \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e resource or the provider's \u003cspan pulumi-lang-nodejs=\"`workspaceId`\" pulumi-lang-dotnet=\"`WorkspaceId`\" pulumi-lang-go=\"`workspaceId`\" pulumi-lang-python=\"`workspace_id`\" pulumi-lang-yaml=\"`workspaceId`\" pulumi-lang-java=\"`workspaceId`\"\u003e`workspace_id`\u003c/span\u003e must be set.\n"}},"type":"object"}},"prefect:index/workspace:Workspace":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workspace`\" pulumi-lang-dotnet=\"`Workspace`\" pulumi-lang-go=\"`workspace`\" pulumi-lang-python=\"`workspace`\" pulumi-lang-yaml=\"`workspace`\" pulumi-lang-java=\"`workspace`\"\u003e`workspace`\u003c/span\u003e represents a Prefect Cloud Workspace. Workspaces are discrete environments in Prefect Cloud for your flows, configurations, and deployments. Manage your workflows and RBAC policies using \u003cspan pulumi-lang-nodejs=\"`workPool`\" pulumi-lang-dotnet=\"`WorkPool`\" pulumi-lang-go=\"`workPool`\" pulumi-lang-python=\"`work_pool`\" pulumi-lang-yaml=\"`workPool`\" pulumi-lang-java=\"`workPool`\"\u003e`work_pool`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`workspaceAccess`\" pulumi-lang-dotnet=\"`WorkspaceAccess`\" pulumi-lang-go=\"`workspaceAccess`\" pulumi-lang-python=\"`workspace_access`\" pulumi-lang-yaml=\"`workspaceAccess`\" pulumi-lang-java=\"`workspaceAccess`\"\u003e`workspace_access`\u003c/span\u003e resources. For more information, see [manage workspaces](https://docs.prefect.io/v3/manage/cloud/workspaces).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.Workspace(\"example\", {\n    name: \"My Workspace\",\n    handle: \"my-workspace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.Workspace(\"example\",\n    name=\"My Workspace\",\n    handle=\"my-workspace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.Workspace(\"example\", new()\n    {\n        Name = \"My Workspace\",\n        Handle = \"my-workspace\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewWorkspace(ctx, \"example\", \u0026prefect.WorkspaceArgs{\n\t\t\tName:   pulumi.String(\"My Workspace\"),\n\t\t\tHandle: pulumi.String(\"my-workspace\"),\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.prefect.Workspace;\nimport com.pulumi.prefect.WorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Workspace(\"example\", WorkspaceArgs.builder()\n            .name(\"My Workspace\")\n            .handle(\"my-workspace\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:Workspace\n    properties:\n      name: My Workspace\n      handle: my-workspace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Workspaces can be imported via `handle/workspace-handle`\n\n```sh\n$ pulumi import prefect:index/workspace:Workspace example handle/workspace-handle\n```\n\nor via workspace_id\n\n```sh\n$ pulumi import prefect:index/workspace:Workspace example 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description for the workspace\n"},"handle":{"type":"string","description":"Unique handle for the workspace\n"},"name":{"type":"string","description":"Name of the workspace\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object","required":["created","description","handle","name","updated"],"inputProperties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"description":{"type":"string","description":"Description for the workspace\n"},"handle":{"type":"string","description":"Unique handle for the workspace\n"},"name":{"type":"string","description":"Name of the workspace\n"}},"requiredInputs":["handle"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description for the workspace\n"},"handle":{"type":"string","description":"Unique handle for the workspace\n"},"name":{"type":"string","description":"Name of the workspace\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object"}},"prefect:index/workspaceAccess:WorkspaceAccess":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workspaceAccess`\" pulumi-lang-dotnet=\"`WorkspaceAccess`\" pulumi-lang-go=\"`workspaceAccess`\" pulumi-lang-python=\"`workspace_access`\" pulumi-lang-yaml=\"`workspaceAccess`\" pulumi-lang-java=\"`workspaceAccess`\"\u003e`workspace_access`\u003c/span\u003e represents a connection between an accessor (User, Service Account or Team) with a Workspace Role. This resource specifies an actor's access level to a specific Workspace in the Account.\n\nUse this resource in conjunction with the \u003cspan pulumi-lang-nodejs=\"`workspaceRole`\" pulumi-lang-dotnet=\"`WorkspaceRole`\" pulumi-lang-go=\"`workspaceRole`\" pulumi-lang-python=\"`workspace_role`\" pulumi-lang-yaml=\"`workspaceRole`\" pulumi-lang-java=\"`workspaceRole`\"\u003e`workspace_role`\u003c/span\u003e resource or data source to manage access to Workspaces.\n\nFor more information, see [manage workspaces](https://docs.prefect.io/v3/manage/cloud/workspaces).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// ASSIGNING WORKSPACE ACCESS TO A USER\n// Read down a default Workspace Role (or create your own)\nconst developer = prefect.getWorkspaceRole({\n    name: \"Developer\",\n});\n// Read down an existing Account Member by email\nconst marvin = prefect.getAccountMember({\n    email: \"marvin@prefect.io\",\n});\n// Assign the Workspace Role to the Account Member\nconst marvinDeveloper = new prefect.WorkspaceAccess(\"marvin_developer\", {\n    accessorType: \"USER\",\n    accessorId: marvinPrefectAccountMember.userId,\n    workspaceId: \"00000000-0000-0000-0000-000000000000\",\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n});\n// ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n// Create a Service Account resource\nconst bot = new prefect.ServiceAccount(\"bot\", {name: \"a-cool-bot\"});\n// Assign the Workspace Role to the Service Account\nconst botDeveloper = new prefect.WorkspaceAccess(\"bot_developer\", {\n    accessorType: \"SERVICE_ACCOUNT\",\n    accessorId: bot.id,\n    workspaceId: \"00000000-0000-0000-0000-000000000000\",\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n});\n// ASSIGNING WORKSPACE ACCESS TO A TEAM\n// Assign the Workspace Role to the Team\nconst teamDeveloper = new prefect.WorkspaceAccess(\"team_developer\", {\n    accessorType: \"TEAM\",\n    accessorId: \"11111111-1111-1111-1111-111111111111\",\n    workspaceId: \"00000000-0000-0000-0000-000000000000\",\n    workspaceRoleId: developer.then(developer =\u003e developer.id),\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# ASSIGNING WORKSPACE ACCESS TO A USER\n# Read down a default Workspace Role (or create your own)\ndeveloper = prefect.get_workspace_role(name=\"Developer\")\n# Read down an existing Account Member by email\nmarvin = prefect.get_account_member(email=\"marvin@prefect.io\")\n# Assign the Workspace Role to the Account Member\nmarvin_developer = prefect.WorkspaceAccess(\"marvin_developer\",\n    accessor_type=\"USER\",\n    accessor_id=marvin_prefect_account_member[\"userId\"],\n    workspace_id=\"00000000-0000-0000-0000-000000000000\",\n    workspace_role_id=developer.id)\n# ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n# Create a Service Account resource\nbot = prefect.ServiceAccount(\"bot\", name=\"a-cool-bot\")\n# Assign the Workspace Role to the Service Account\nbot_developer = prefect.WorkspaceAccess(\"bot_developer\",\n    accessor_type=\"SERVICE_ACCOUNT\",\n    accessor_id=bot.id,\n    workspace_id=\"00000000-0000-0000-0000-000000000000\",\n    workspace_role_id=developer.id)\n# ASSIGNING WORKSPACE ACCESS TO A TEAM\n# Assign the Workspace Role to the Team\nteam_developer = prefect.WorkspaceAccess(\"team_developer\",\n    accessor_type=\"TEAM\",\n    accessor_id=\"11111111-1111-1111-1111-111111111111\",\n    workspace_id=\"00000000-0000-0000-0000-000000000000\",\n    workspace_role_id=developer.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ASSIGNING WORKSPACE ACCESS TO A USER\n    // Read down a default Workspace Role (or create your own)\n    var developer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Developer\",\n    });\n\n    // Read down an existing Account Member by email\n    var marvin = Prefect.GetAccountMember.Invoke(new()\n    {\n        Email = \"marvin@prefect.io\",\n    });\n\n    // Assign the Workspace Role to the Account Member\n    var marvinDeveloper = new Prefect.WorkspaceAccess(\"marvin_developer\", new()\n    {\n        AccessorType = \"USER\",\n        AccessorId = marvinPrefectAccountMember.UserId,\n        WorkspaceId = \"00000000-0000-0000-0000-000000000000\",\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n    });\n\n    // ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n    // Create a Service Account resource\n    var bot = new Prefect.ServiceAccount(\"bot\", new()\n    {\n        Name = \"a-cool-bot\",\n    });\n\n    // Assign the Workspace Role to the Service Account\n    var botDeveloper = new Prefect.WorkspaceAccess(\"bot_developer\", new()\n    {\n        AccessorType = \"SERVICE_ACCOUNT\",\n        AccessorId = bot.Id,\n        WorkspaceId = \"00000000-0000-0000-0000-000000000000\",\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n    });\n\n    // ASSIGNING WORKSPACE ACCESS TO A TEAM\n    // Assign the Workspace Role to the Team\n    var teamDeveloper = new Prefect.WorkspaceAccess(\"team_developer\", new()\n    {\n        AccessorType = \"TEAM\",\n        AccessorId = \"11111111-1111-1111-1111-111111111111\",\n        WorkspaceId = \"00000000-0000-0000-0000-000000000000\",\n        WorkspaceRoleId = developer.Apply(getWorkspaceRoleResult =\u003e getWorkspaceRoleResult.Id),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// ASSIGNING WORKSPACE ACCESS TO A USER\n\t\t// Read down a default Workspace Role (or create your own)\n\t\tdeveloper, err := prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Developer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down an existing Account Member by email\n\t\t_, err = prefect.LookupAccountMember(ctx, \u0026prefect.LookupAccountMemberArgs{\n\t\t\tEmail: \"marvin@prefect.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Assign the Workspace Role to the Account Member\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"marvin_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"USER\"),\n\t\t\tAccessorId:      pulumi.Any(marvinPrefectAccountMember.UserId),\n\t\t\tWorkspaceId:     pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n\t\t// Create a Service Account resource\n\t\tbot, err := prefect.NewServiceAccount(ctx, \"bot\", \u0026prefect.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"a-cool-bot\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Assign the Workspace Role to the Service Account\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"bot_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"SERVICE_ACCOUNT\"),\n\t\t\tAccessorId:      bot.ID(),\n\t\t\tWorkspaceId:     pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Assign the Workspace Role to the Team\n\t\t_, err = prefect.NewWorkspaceAccess(ctx, \"team_developer\", \u0026prefect.WorkspaceAccessArgs{\n\t\t\tAccessorType:    pulumi.String(\"TEAM\"),\n\t\t\tAccessorId:      pulumi.String(\"11111111-1111-1111-1111-111111111111\"),\n\t\t\tWorkspaceId:     pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tWorkspaceRoleId: pulumi.String(developer.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceRoleArgs;\nimport com.pulumi.prefect.inputs.GetAccountMemberArgs;\nimport com.pulumi.prefect.WorkspaceAccess;\nimport com.pulumi.prefect.WorkspaceAccessArgs;\nimport com.pulumi.prefect.ServiceAccount;\nimport com.pulumi.prefect.ServiceAccountArgs;\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        // ASSIGNING WORKSPACE ACCESS TO A USER\n        // Read down a default Workspace Role (or create your own)\n        final var developer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Developer\")\n            .build());\n\n        // Read down an existing Account Member by email\n        final var marvin = PrefectFunctions.getAccountMember(GetAccountMemberArgs.builder()\n            .email(\"marvin@prefect.io\")\n            .build());\n\n        // Assign the Workspace Role to the Account Member\n        var marvinDeveloper = new WorkspaceAccess(\"marvinDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"USER\")\n            .accessorId(marvinPrefectAccountMember.userId())\n            .workspaceId(\"00000000-0000-0000-0000-000000000000\")\n            .workspaceRoleId(developer.id())\n            .build());\n\n        // ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n        // Create a Service Account resource\n        var bot = new ServiceAccount(\"bot\", ServiceAccountArgs.builder()\n            .name(\"a-cool-bot\")\n            .build());\n\n        // Assign the Workspace Role to the Service Account\n        var botDeveloper = new WorkspaceAccess(\"botDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"SERVICE_ACCOUNT\")\n            .accessorId(bot.id())\n            .workspaceId(\"00000000-0000-0000-0000-000000000000\")\n            .workspaceRoleId(developer.id())\n            .build());\n\n        // ASSIGNING WORKSPACE ACCESS TO A TEAM\n        // Assign the Workspace Role to the Team\n        var teamDeveloper = new WorkspaceAccess(\"teamDeveloper\", WorkspaceAccessArgs.builder()\n            .accessorType(\"TEAM\")\n            .accessorId(\"11111111-1111-1111-1111-111111111111\")\n            .workspaceId(\"00000000-0000-0000-0000-000000000000\")\n            .workspaceRoleId(developer.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Assign the Workspace Role to the Account Member\n  marvinDeveloper:\n    type: prefect:WorkspaceAccess\n    name: marvin_developer\n    properties:\n      accessorType: USER\n      accessorId: ${marvinPrefectAccountMember.userId}\n      workspaceId: 00000000-0000-0000-0000-000000000000\n      workspaceRoleId: ${developer.id}\n  # ASSIGNING WORKSPACE ACCESS TO A SERVICE ACCOUNT\n  # Create a Service Account resource\n  bot:\n    type: prefect:ServiceAccount\n    properties:\n      name: a-cool-bot\n  # Assign the Workspace Role to the Service Account\n  botDeveloper: # ASSIGNING WORKSPACE ACCESS TO A TEAM\n    type: prefect:WorkspaceAccess\n    name: bot_developer\n    properties:\n      accessorType: SERVICE_ACCOUNT\n      accessorId: ${bot.id}\n      workspaceId: 00000000-0000-0000-0000-000000000000\n      workspaceRoleId: ${developer.id}\n  # Assign the Workspace Role to the Team\n  teamDeveloper:\n    type: prefect:WorkspaceAccess\n    name: team_developer\n    properties:\n      accessorType: TEAM\n      accessorId: 11111111-1111-1111-1111-111111111111\n      workspaceId: 00000000-0000-0000-0000-000000000000\n      workspaceRoleId: ${developer.id}\nvariables:\n  # ASSIGNING WORKSPACE ACCESS TO A USER\n  # Read down a default Workspace Role (or create your own)\n  developer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Developer\n  # Read down an existing Account Member by email\n  marvin:\n    fn::invoke:\n      function: prefect:getAccountMember\n      arguments:\n        email: marvin@prefect.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nImporting workspace access resources is not supported. Instead, define the\n\nresources as usual. If not present, they will be created.\n\n","properties":{"accessorId":{"type":"string","description":"ID (UUID) of accessor to the workspace. This can be an `account_member.user_id` or `service_account.id`\n"},"accessorType":{"type":"string","description":"USER | SERVICE_ACCOUNT | TEAM\n"},"accountId":{"type":"string","description":"Account ID (UUID) where the workspace is located\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to grant access to\n"},"workspaceRoleId":{"type":"string","description":"Workspace Role ID (UUID) to grant to accessor\n"}},"type":"object","required":["accessorId","accessorType","workspaceRoleId"],"inputProperties":{"accessorId":{"type":"string","description":"ID (UUID) of accessor to the workspace. This can be an `account_member.user_id` or `service_account.id`\n"},"accessorType":{"type":"string","description":"USER | SERVICE_ACCOUNT | TEAM\n"},"accountId":{"type":"string","description":"Account ID (UUID) where the workspace is located\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to grant access to\n"},"workspaceRoleId":{"type":"string","description":"Workspace Role ID (UUID) to grant to accessor\n"}},"requiredInputs":["accessorId","accessorType","workspaceRoleId"],"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceAccess resources.\n","properties":{"accessorId":{"type":"string","description":"ID (UUID) of accessor to the workspace. This can be an `account_member.user_id` or `service_account.id`\n"},"accessorType":{"type":"string","description":"USER | SERVICE_ACCOUNT | TEAM\n"},"accountId":{"type":"string","description":"Account ID (UUID) where the workspace is located\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to grant access to\n"},"workspaceRoleId":{"type":"string","description":"Workspace Role ID (UUID) to grant to accessor\n"}},"type":"object"}},"prefect:index/workspaceRole:WorkspaceRole":{"description":"The resource \u003cspan pulumi-lang-nodejs=\"`workspaceRole`\" pulumi-lang-dotnet=\"`WorkspaceRole`\" pulumi-lang-go=\"`workspaceRole`\" pulumi-lang-python=\"`workspace_role`\" pulumi-lang-yaml=\"`workspaceRole`\" pulumi-lang-java=\"`workspaceRole`\"\u003e`workspace_role`\u003c/span\u003e represents a Prefect Cloud Workspace Role. Workspace Roles hold a set of permissions to a specific Workspace, and can be attached to an accessor (User or Service Account) to grant access to the Workspace.\n\nTo obtain a list of available scopes, please refer to the `GET /api/workspace_scopes` [API](https://app.prefect.cloud/api/docs#tag/Workspace-Scopes/operation/get_workspace_scopes_api_workspace_scopes_get).\n\nFor more information, see [manage workspaces](https://docs.prefect.io/v3/manage/cloud/workspaces).\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = new prefect.WorkspaceRole(\"example\", {\n    name: \"Custom Workspace Role\",\n    scopes: [\n        \"manage_blocks\",\n        \"see_flows\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.WorkspaceRole(\"example\",\n    name=\"Custom Workspace Role\",\n    scopes=[\n        \"manage_blocks\",\n        \"see_flows\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Prefect.WorkspaceRole(\"example\", new()\n    {\n        Name = \"Custom Workspace Role\",\n        Scopes = new[]\n        {\n            \"manage_blocks\",\n            \"see_flows\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.NewWorkspaceRole(ctx, \"example\", \u0026prefect.WorkspaceRoleArgs{\n\t\t\tName: pulumi.String(\"Custom Workspace Role\"),\n\t\t\tScopes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"manage_blocks\"),\n\t\t\t\tpulumi.String(\"see_flows\"),\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.prefect.WorkspaceRole;\nimport com.pulumi.prefect.WorkspaceRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new WorkspaceRole(\"example\", WorkspaceRoleArgs.builder()\n            .name(\"Custom Workspace Role\")\n            .scopes(            \n                \"manage_blocks\",\n                \"see_flows\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: prefect:WorkspaceRole\n    properties:\n      name: Custom Workspace Role\n      scopes:\n        - manage_blocks\n        - see_flows\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nPrefect Workspace Roles can be imported using the workspace role's UUID\n\n```sh\n$ pulumi import prefect:index/workspaceRole:WorkspaceRole example 00000000-0000-0000-0000-000000000000\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the Workspace Role\n"},"inheritedRoleId":{"type":"string","description":"Workspace Role ID (UUID), whose permissions are inherited by this Workspace Role\n"},"name":{"type":"string","description":"Name of the Workspace Role\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"List of scopes linked to the Workspace Role\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object","required":["accountId","created","description","name","updated"],"inputProperties":{"description":{"type":"string","description":"Description of the Workspace Role\n"},"inheritedRoleId":{"type":"string","description":"Workspace Role ID (UUID), whose permissions are inherited by this Workspace Role\n"},"name":{"type":"string","description":"Name of the Workspace Role\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"List of scopes linked to the Workspace Role\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering WorkspaceRole resources.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"description":{"type":"string","description":"Description of the Workspace Role\n"},"inheritedRoleId":{"type":"string","description":"Workspace Role ID (UUID), whose permissions are inherited by this Workspace Role\n"},"name":{"type":"string","description":"Name of the Workspace Role\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"List of scopes linked to the Workspace Role\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"}},"type":"object"}}},"functions":{"prefect:index/getAccount:getAccount":{"description":"Get information about an existing Account.\n\u003cbr\u003e\nUse this data source to obtain account-level attributes\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"id":{"type":"string","description":"Account ID (UUID)\n"},"settings":{"$ref":"#/types/prefect:index%2FgetAccountSettings:getAccountSettings","description":"Group of settings related to accounts\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"billingEmail":{"description":"Billing email to apply to the account's Stripe customer\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"domainNames":{"description":"The list of domain names for enabling SSO in Prefect Cloud.\n","items":{"type":"string"},"type":"array"},"handle":{"description":"Unique handle of the account\n","type":"string"},"id":{"description":"Account ID (UUID)\n","type":"string"},"link":{"description":"An optional for an external url associated with the account, e.g. https://prefect.io/\n","type":"string"},"location":{"description":"An optional physical location for the account, e.g. Washington, D.C.\n","type":"string"},"name":{"description":"Name of the account\n","type":"string"},"settings":{"$ref":"#/types/prefect:index%2FgetAccountSettings:getAccountSettings","description":"Group of settings related to accounts\n"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"}},"required":["billingEmail","created","domainNames","handle","link","location","name","updated"],"type":"object"}},"prefect:index/getAccountMember:getAccountMember":{"description":"Get information about an existing Account Member (user)\tby their email.\n\u003cbr\u003e\nUse this data source to obtain user or actor IDs to manage Workspace Access.\n\u003cbr\u003e\nFor more information, see [manage account roles](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-teams).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Read down an existing Account Member by email\nconst marvin = prefect.getAccountMember({\n    email: \"marvin@prefect.io\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Read down an existing Account Member by email\nmarvin = prefect.get_account_member(email=\"marvin@prefect.io\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Read down an existing Account Member by email\n    var marvin = Prefect.GetAccountMember.Invoke(new()\n    {\n        Email = \"marvin@prefect.io\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Read down an existing Account Member by email\n\t\t_, err := prefect.LookupAccountMember(ctx, \u0026prefect.LookupAccountMemberArgs{\n\t\t\tEmail: \"marvin@prefect.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetAccountMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Read down an existing Account Member by email\n        final var marvin = PrefectFunctions.getAccountMember(GetAccountMemberArgs.builder()\n            .email(\"marvin@prefect.io\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Read down an existing Account Member by email\n  marvin:\n    fn::invoke:\n      function: prefect:getAccountMember\n      arguments:\n        email: marvin@prefect.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountMember.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the member resides\n"},"email":{"type":"string","description":"Member email\n"}},"type":"object","required":["email"]},"outputs":{"description":"A collection of values returned by getAccountMember.\n","properties":{"accountId":{"description":"Account ID (UUID) where the member resides\n","type":"string"},"accountRoleId":{"description":"Acount Role ID (UUID)\n","type":"string"},"accountRoleName":{"description":"Name of Account Role assigned to member\n","type":"string"},"actorId":{"description":"Actor ID (UUID), used for granting access to resources like Blocks and Deployments\n","type":"string"},"email":{"description":"Member email\n","type":"string"},"firstName":{"description":"Member's first name\n","type":"string"},"handle":{"description":"Member handle, or a human-readable identifier\n","type":"string"},"id":{"description":"Account Member ID (UUID)\n","type":"string"},"lastName":{"description":"Member's last name\n","type":"string"},"userId":{"description":"User ID (UUID)\n","type":"string"}},"required":["accountRoleId","accountRoleName","actorId","email","firstName","handle","id","lastName","userId"],"type":"object"}},"prefect:index/getAccountMembers:getAccountMembers":{"description":"Get information about all members of account.\n\u003cbr\u003e\nUse this data source to obtain user or actor IDs to manage Workspace Access.\n\u003cbr\u003e\nFor more information, see [manage account roles](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-teams).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst allMembers = prefect.getAccountMembers({});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nall_members = prefect.get_account_members()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allMembers = Prefect.GetAccountMembers.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.GetAccountMembers(ctx, \u0026prefect.GetAccountMembersArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetAccountMembersArgs;\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        final var allMembers = PrefectFunctions.getAccountMembers(GetAccountMembersArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allMembers:\n    fn::invoke:\n      function: prefect:getAccountMembers\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountMembers.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getAccountMembers.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"members":{"description":"List of Account members of an account\n","items":{"$ref":"#/types/prefect:index%2FgetAccountMembersMember:getAccountMembersMember"},"type":"array"}},"required":["id","members"],"type":"object"}},"prefect:index/getAccountRole:getAccountRole":{"description":"Get information about an existing Workspace Role.\n\u003cbr\u003e\nUse this data source read down the pre-defined Roles, to manage User and Service Account access.\n\u003cbr\u003e\nFor more information, see [manage account roles](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-roles#manage-account-roles).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Read down the default Admin Account Role\nconst admin = prefect.getAccountRole({\n    name: \"Admin\",\n});\n// Read down the default Member Account Role\nconst member = prefect.getAccountRole({\n    name: \"Member\",\n});\n// Read down the default Owner Account Role\nconst owner = prefect.getAccountRole({\n    name: \"Owner\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Read down the default Admin Account Role\nadmin = prefect.get_account_role(name=\"Admin\")\n# Read down the default Member Account Role\nmember = prefect.get_account_role(name=\"Member\")\n# Read down the default Owner Account Role\nowner = prefect.get_account_role(name=\"Owner\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Read down the default Admin Account Role\n    var admin = Prefect.GetAccountRole.Invoke(new()\n    {\n        Name = \"Admin\",\n    });\n\n    // Read down the default Member Account Role\n    var member = Prefect.GetAccountRole.Invoke(new()\n    {\n        Name = \"Member\",\n    });\n\n    // Read down the default Owner Account Role\n    var owner = Prefect.GetAccountRole.Invoke(new()\n    {\n        Name = \"Owner\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Read down the default Admin Account Role\n\t\t_, err := prefect.GetAccountRole(ctx, \u0026prefect.GetAccountRoleArgs{\n\t\t\tName: \"Admin\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Member Account Role\n\t\t_, err = prefect.GetAccountRole(ctx, \u0026prefect.GetAccountRoleArgs{\n\t\t\tName: \"Member\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Owner Account Role\n\t\t_, err = prefect.GetAccountRole(ctx, \u0026prefect.GetAccountRoleArgs{\n\t\t\tName: \"Owner\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetAccountRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Read down the default Admin Account Role\n        final var admin = PrefectFunctions.getAccountRole(GetAccountRoleArgs.builder()\n            .name(\"Admin\")\n            .build());\n\n        // Read down the default Member Account Role\n        final var member = PrefectFunctions.getAccountRole(GetAccountRoleArgs.builder()\n            .name(\"Member\")\n            .build());\n\n        // Read down the default Owner Account Role\n        final var owner = PrefectFunctions.getAccountRole(GetAccountRoleArgs.builder()\n            .name(\"Owner\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Read down the default Admin Account Role\n  admin:\n    fn::invoke:\n      function: prefect:getAccountRole\n      arguments:\n        name: Admin\n  # Read down the default Member Account Role\n  member:\n    fn::invoke:\n      function: prefect:getAccountRole\n      arguments:\n        name: Member\n  # Read down the default Owner Account Role\n  owner:\n    fn::invoke:\n      function: prefect:getAccountRole\n      arguments:\n        name: Owner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccountRole.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where the resource resides\n"},"name":{"type":"string","description":"Name of the Account Role\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getAccountRole.\n","properties":{"accountId":{"description":"Account ID (UUID) where the resource resides\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"id":{"description":"Account Role ID (UUID)\n","type":"string"},"isSystemRole":{"description":"Boolean specifying if the Account Role is a system role\n","type":"boolean"},"name":{"description":"Name of the Account Role\n","type":"string"},"permissions":{"description":"List of permissions linked to the Account Role\n","items":{"type":"string"},"type":"array"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"}},"required":["created","id","isSystemRole","name","permissions","updated"],"type":"object"}},"prefect:index/getAutomation:getAutomation":{"description":"Get information about an existing Automation by its ID\n\u003cbr\u003e\nFor more information, see [automate overview](https://docs.prefect.io/v3/automate/index).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = prefect.getAutomation({\n    id: \"7759cb06-ea19-48fc-b277-61db8bdb3de9\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.get_automation(id=\"7759cb06-ea19-48fc-b277-61db8bdb3de9\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Prefect.GetAutomation.Invoke(new()\n    {\n        Id = \"7759cb06-ea19-48fc-b277-61db8bdb3de9\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupAutomation(ctx, \u0026prefect.LookupAutomationArgs{\n\t\t\tId: \"7759cb06-ea19-48fc-b277-61db8bdb3de9\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetAutomationArgs;\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        final var test = PrefectFunctions.getAutomation(GetAutomationArgs.builder()\n            .id(\"7759cb06-ea19-48fc-b277-61db8bdb3de9\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: prefect:getAutomation\n      arguments:\n        id: 7759cb06-ea19-48fc-b277-61db8bdb3de9\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAutomation.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"id":{"type":"string","description":"Automation ID (UUID)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getAutomation.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"actions":{"description":"List of actions to perform when the automation is triggered\n","items":{"$ref":"#/types/prefect:index%2FgetAutomationAction:getAutomationAction"},"type":"array"},"actionsOnResolves":{"description":"List of actions to perform when the automation is triggered\n","items":{"$ref":"#/types/prefect:index%2FgetAutomationActionsOnResolf:getAutomationActionsOnResolf"},"type":"array"},"actionsOnTriggers":{"description":"List of actions to perform when the automation is triggered\n","items":{"$ref":"#/types/prefect:index%2FgetAutomationActionsOnTrigger:getAutomationActionsOnTrigger"},"type":"array"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"description":{"description":"Description of the automation\n","type":"string"},"enabled":{"description":"Whether the automation is enabled\n","type":"boolean"},"id":{"description":"Automation ID (UUID)\n","type":"string"},"name":{"description":"Name of the automation\n","type":"string"},"trigger":{"$ref":"#/types/prefect:index%2FgetAutomationTrigger:getAutomationTrigger","description":"The criteria for which events this Automation covers and how it will respond\n"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["actions","actionsOnResolves","actionsOnTriggers","created","description","enabled","id","name","trigger","updated"],"type":"object"}},"prefect:index/getBlock:getBlock":{"description":"Get information about an existing Block by either:\n- ID, or\n- block type name and block name\n\u003cbr\u003e\nIf the ID is provided, then the block type name and block name will be ignored.\n\u003cbr\u003e\nUse this data source to obtain Block-specific attributes, such as the data.\n\u003cbr\u003e\nFor more information, see [securely store typed configuration](https://docs.prefect.io/v3/develop/blocks).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n","inputs":{"description":"A collection of arguments for invoking getBlock.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"id":{"type":"string","description":"Block ID (UUID)\n"},"name":{"type":"string","description":"Name of the block\n"},"typeSlug":{"type":"string","description":"Block type slug\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getBlock.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"data":{"description":"The user-inputted Block payload, as a JSON string. The value's schema will depend on the selected \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e slug. Use `prefect block type inspect \u003cslug\u003e` to view the data schema for a given Block type.\n","secret":true,"type":"string"},"id":{"description":"Block ID (UUID)\n","type":"string"},"name":{"description":"Name of the block\n","type":"string"},"typeSlug":{"description":"Block type slug\n","type":"string"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["created","data","id","name","typeSlug","updated"],"type":"object"}},"prefect:index/getDeployment:getDeployment":{"description":"Get information about an existing Deployment by either:\n- deployment ID, or\n- deployment name\nThe Deployment ID takes precedence over deployment name.\n\u003cbr\u003e\nFor more information, see [deploy overview](https://docs.prefect.io/v3/deploy/index).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n","inputs":{"description":"A collection of arguments for invoking getDeployment.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"flowName":{"type":"string","description":"Flow name associated with the deployment\n"},"id":{"type":"string","description":"Deployment ID (UUID)\n"},"name":{"type":"string","description":"Name of the deployment\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID) to associate deployment to\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDeployment.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"concurrencyLimit":{"description":"The deployment's concurrency limit.\n","type":"number"},"concurrencyOptions":{"$ref":"#/types/prefect:index%2FgetDeploymentConcurrencyOptions:getDeploymentConcurrencyOptions","description":"Concurrency options for the deployment.\n"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"description":{"description":"A description for the deployment.\n","type":"string"},"enforceParameterSchema":{"description":"Whether or not the deployment should enforce the parameter schema.\n","type":"boolean"},"entrypoint":{"description":"The path to the entrypoint for the workflow, relative to the path.\n","type":"string"},"flowId":{"description":"Flow ID (UUID) to associate deployment to\n","type":"string"},"flowName":{"description":"Flow name associated with the deployment\n","type":"string"},"globalConcurrencyLimitId":{"description":"The ID of a global concurrency limit applied to this deployment.\n","type":"string"},"id":{"description":"Deployment ID (UUID)\n","type":"string"},"jobVariables":{"description":"Overrides for the flow's infrastructure configuration.\n","type":"string"},"manifestPath":{"deprecationMessage":"Deprecated","description":"The path to the flow's manifest file, relative to the chosen storage.\n","type":"string"},"name":{"description":"Name of the deployment\n","type":"string"},"parameterOpenapiSchema":{"description":"The parameter schema of the flow, including defaults.\n","type":"string"},"parameters":{"description":"Parameters for flow runs scheduled by the deployment.\n","type":"string"},"path":{"description":"The path to the working directory for the workflow, relative to remote storage or an absolute path.\n","type":"string"},"paused":{"description":"Whether or not the deployment is paused.\n","type":"boolean"},"pullSteps":{"description":"Pull steps to prepare flows for a deployment run.\n","items":{"$ref":"#/types/prefect:index%2FgetDeploymentPullStep:getDeploymentPullStep"},"type":"array"},"storageDocumentId":{"description":"ID of the associated storage document (UUID)\n","type":"string"},"tags":{"description":"Tags associated with the deployment\n","items":{"type":"string"},"type":"array"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"version":{"description":"An optional version for the deployment.\n","type":"string"},"workPoolName":{"description":"The name of the deployment's work pool.\n","type":"string"},"workQueueName":{"description":"The work queue for the deployment. If no work queue is set, work will not be scheduled.\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID) to associate deployment to\n","type":"string"}},"required":["accountId","concurrencyLimit","concurrencyOptions","created","description","enforceParameterSchema","entrypoint","flowId","flowName","globalConcurrencyLimitId","id","jobVariables","manifestPath","name","parameterOpenapiSchema","parameters","path","paused","pullSteps","storageDocumentId","tags","updated","version","workPoolName","workQueueName","workspaceId"],"type":"object"}},"prefect:index/getGlobalConcurrencyLimit:getGlobalConcurrencyLimit":{"description":"Get information about an existing Global Concurrency Limit\n\u003cbr\u003e\nUse this data source to read down the pre-defined Global Concurrency Limits, to manage concurrency limits.\n\u003cbr\u003e\nFor more information, see [apply global concurrency and rate limits](https://docs.prefect.io/v3/develop/global-concurrency-limits).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst limitById = prefect.getGlobalConcurrencyLimit({\n    id: \"00000000-0000-0000-0000-000000000000\",\n    workspaceId: \"00000000-0000-0000-0000-000000000000\",\n});\nconst limitByName = prefect.getGlobalConcurrencyLimit({\n    name: \"my-limit\",\n    workspaceId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nlimit_by_id = prefect.get_global_concurrency_limit(id=\"00000000-0000-0000-0000-000000000000\",\n    workspace_id=\"00000000-0000-0000-0000-000000000000\")\nlimit_by_name = prefect.get_global_concurrency_limit(name=\"my-limit\",\n    workspace_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var limitById = Prefect.GetGlobalConcurrencyLimit.Invoke(new()\n    {\n        Id = \"00000000-0000-0000-0000-000000000000\",\n        WorkspaceId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var limitByName = Prefect.GetGlobalConcurrencyLimit.Invoke(new()\n    {\n        Name = \"my-limit\",\n        WorkspaceId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupGlobalConcurrencyLimit(ctx, \u0026prefect.LookupGlobalConcurrencyLimitArgs{\n\t\t\tId:          pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tWorkspaceId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.LookupGlobalConcurrencyLimit(ctx, \u0026prefect.LookupGlobalConcurrencyLimitArgs{\n\t\t\tName:        pulumi.StringRef(\"my-limit\"),\n\t\t\tWorkspaceId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetGlobalConcurrencyLimitArgs;\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        final var limitById = PrefectFunctions.getGlobalConcurrencyLimit(GetGlobalConcurrencyLimitArgs.builder()\n            .id(\"00000000-0000-0000-0000-000000000000\")\n            .workspaceId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        final var limitByName = PrefectFunctions.getGlobalConcurrencyLimit(GetGlobalConcurrencyLimitArgs.builder()\n            .name(\"my-limit\")\n            .workspaceId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  limitById:\n    fn::invoke:\n      function: prefect:getGlobalConcurrencyLimit\n      arguments:\n        id: 00000000-0000-0000-0000-000000000000\n        workspaceId: 00000000-0000-0000-0000-000000000000\n  limitByName:\n    fn::invoke:\n      function: prefect:getGlobalConcurrencyLimit\n      arguments:\n        name: my-limit\n        workspaceId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGlobalConcurrencyLimit.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"created":{"type":"string","description":"Timestamp of when the resource was created (RFC3339)\n"},"id":{"type":"string","description":"Global Concurrency Limit ID (UUID)\n"},"name":{"type":"string","description":"Name of the global concurrency limit\n"},"updated":{"type":"string","description":"Timestamp of when the resource was updated (RFC3339)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGlobalConcurrencyLimit.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"active":{"description":"Whether the global concurrency limit is active.\n","type":"boolean"},"activeSlots":{"description":"The number of active slots.\n","type":"number"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"id":{"description":"Global Concurrency Limit ID (UUID)\n","type":"string"},"limit":{"description":"Maximum number of tasks that can run simultaneously\n","type":"number"},"name":{"description":"Name of the global concurrency limit\n","type":"string"},"slotDecayPerSecond":{"description":"The number of slots to decay per second.\n","type":"number"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["accountId","active","activeSlots","created","id","limit","name","slotDecayPerSecond","updated","workspaceId"],"type":"object"}},"prefect:index/getServiceAccount:getServiceAccount":{"description":"Get information about an existing Service Account, by name or ID.\n\u003cbr\u003e\nUse this data source to obtain service account-level attributes, such as ID.\n\u003cbr\u003e\nFor more information, see [manage service accounts](https://docs.prefect.io/v3/manage/cloud/manage-users/service-accounts).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Team, Pro, Enterprise.\n\n","inputs":{"description":"A collection of arguments for invoking getServiceAccount.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"id":{"type":"string","description":"Service Account ID (UUID)\n"},"name":{"type":"string","description":"Name of the service account\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceAccount.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"accountRoleName":{"description":"Account Role name of the service account\n","type":"string"},"actorId":{"description":"Actor ID (UUID), used for granting access to resources like Blocks and Deployments\n","type":"string"},"apiKey":{"description":"API Key associated with the service account\n","type":"string"},"apiKeyCreated":{"description":"Date and time that the API Key was created in RFC 3339 format\n","type":"string"},"apiKeyExpiration":{"description":"Date and time that the API Key expires in RFC 3339 format\n","type":"string"},"apiKeyId":{"description":"API Key ID associated with the service account. NOTE: this is always null for reads. If you need the API Key ID, use the \u003cspan pulumi-lang-nodejs=\"`prefect.ServiceAccount`\" pulumi-lang-dotnet=\"`prefect.ServiceAccount`\" pulumi-lang-go=\"`ServiceAccount`\" pulumi-lang-python=\"`ServiceAccount`\" pulumi-lang-yaml=\"`prefect.ServiceAccount`\" pulumi-lang-java=\"`prefect.ServiceAccount`\"\u003e`prefect.ServiceAccount`\u003c/span\u003e resource instead.\n","type":"string"},"apiKeyName":{"description":"API Key Name associated with the service account\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"id":{"description":"Service Account ID (UUID)\n","type":"string"},"name":{"description":"Name of the service account\n","type":"string"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"}},"required":["accountRoleName","actorId","apiKey","apiKeyCreated","apiKeyExpiration","apiKeyId","apiKeyName","created","id","name","updated"],"type":"object"}},"prefect:index/getTeam:getTeam":{"description":"Get information about an existing Team by their name.\n\u003cbr\u003e\nUse this data source to obtain team IDs to manage Workspace Access.\n\u003cbr\u003e\nFor more information, see [manage teams](https://docs.prefect.io/v3/manage/cloud/manage-users/manage-teams).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst myTeam = prefect.getTeam({\n    name: \"my-team\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nmy_team = prefect.get_team(name=\"my-team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myTeam = Prefect.GetTeam.Invoke(new()\n    {\n        Name = \"my-team\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupTeam(ctx, \u0026prefect.LookupTeamArgs{\n\t\t\tName: pulumi.StringRef(\"my-team\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetTeamArgs;\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        final var myTeam = PrefectFunctions.getTeam(GetTeamArgs.builder()\n            .name(\"my-team\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myTeam:\n    fn::invoke:\n      function: prefect:getTeam\n      arguments:\n        name: my-team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTeam.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"name":{"type":"string","description":"Name of Team\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTeam.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"created":{"description":"Date and time of the team creation in RFC 3339 format\n","type":"string"},"description":{"description":"Description of team\n","type":"string"},"id":{"description":"Team ID (UUID)\n","type":"string"},"name":{"description":"Name of Team\n","type":"string"},"updated":{"description":"Date and time that the team was last updated in RFC 3339 format\n","type":"string"}},"required":["created","description","id","name","updated"],"type":"object"}},"prefect:index/getTeams:getTeams":{"description":"Get information about multiple Teams.\n\u003cbr\u003e\nUse this data source to search for multiple Teams. Defaults to fetching all Teams in the Account.\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Query all Teams in Account\nconst allTeams = prefect.getTeams({});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Query all Teams in Account\nall_teams = prefect.get_teams()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query all Teams in Account\n    var allTeams = Prefect.GetTeams.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// Query all Teams in Account\n\t\t_, err := prefect.GetTeams(ctx, \u0026prefect.GetTeamsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetTeamsArgs;\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        // Query all Teams in Account\n        final var allTeams = PrefectFunctions.getTeams(GetTeamsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Query all Teams in Account\n  allTeams:\n    fn::invoke:\n      function: prefect:getTeams\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTeams.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTeams.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"teams":{"description":"Teams returned by the server\n","items":{"$ref":"#/types/prefect:index%2FgetTeamsTeam:getTeamsTeam"},"type":"array"}},"required":["id","teams"],"type":"object"}},"prefect:index/getVariable:getVariable":{"description":"Get information about an existing Variable by name or ID.\n\u003cbr\u003e\nUse this data source to obtain Variable-specific attributes, such as the value.\n\u003cbr\u003e\nFor more information, see [get and set variables](https://docs.prefect.io/v3/develop/variables).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst existingById = prefect.getVariable({\n    id: \"00000000-0000-0000-0000-000000000000\",\n});\nconst existingByName = prefect.getVariable({\n    name: \"my_variable_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexisting_by_id = prefect.get_variable(id=\"00000000-0000-0000-0000-000000000000\")\nexisting_by_name = prefect.get_variable(name=\"my_variable_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var existingById = Prefect.GetVariable.Invoke(new()\n    {\n        Id = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    var existingByName = Prefect.GetVariable.Invoke(new()\n    {\n        Name = \"my_variable_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupVariable(ctx, \u0026prefect.LookupVariableArgs{\n\t\t\tId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.LookupVariable(ctx, \u0026prefect.LookupVariableArgs{\n\t\t\tName: pulumi.StringRef(\"my_variable_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetVariableArgs;\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        final var existingById = PrefectFunctions.getVariable(GetVariableArgs.builder()\n            .id(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        final var existingByName = PrefectFunctions.getVariable(GetVariableArgs.builder()\n            .name(\"my_variable_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  existingById:\n    fn::invoke:\n      function: prefect:getVariable\n      arguments:\n        id: 00000000-0000-0000-0000-000000000000\n  existingByName:\n    fn::invoke:\n      function: prefect:getVariable\n      arguments:\n        name: my_variable_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVariable.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"id":{"type":"string","description":"Variable ID (UUID)\n"},"name":{"type":"string","description":"Name of the variable\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getVariable.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"id":{"description":"Variable ID (UUID)\n","type":"string"},"name":{"description":"Name of the variable\n","type":"string"},"tags":{"description":"Tags associated with the variable\n","items":{"type":"string"},"type":"array"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"value":{"$ref":"pulumi.json#/Any"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["created","id","name","tags","updated","value"],"type":"object"}},"prefect:index/getWebhook:getWebhook":{"description":"Get information about an existing Webhook, by name or ID.\n\u003cbr\u003e\nUse this data source to obtain webhook-level attributes, such as ID, Name, Template, and more.\n\u003cbr\u003e\nFor more information, see [receive events with webhooks](https://docs.prefect.io/v3/automate/events/webhook-triggers).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Query by ID\nconst exampleById = prefect.getWebhook({\n    id: \"00000000-0000-0000-0000-000000000000\",\n});\n// Query by name\nconst exampleByName = prefect.getWebhook({\n    name: \"my-webhook\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Query by ID\nexample_by_id = prefect.get_webhook(id=\"00000000-0000-0000-0000-000000000000\")\n# Query by name\nexample_by_name = prefect.get_webhook(name=\"my-webhook\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query by ID\n    var exampleById = Prefect.GetWebhook.Invoke(new()\n    {\n        Id = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n    // Query by name\n    var exampleByName = Prefect.GetWebhook.Invoke(new()\n    {\n        Name = \"my-webhook\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// Query by ID\n\t\t_, err := prefect.LookupWebhook(ctx, \u0026prefect.LookupWebhookArgs{\n\t\t\tId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Query by name\n\t\t_, err = prefect.LookupWebhook(ctx, \u0026prefect.LookupWebhookArgs{\n\t\t\tName: pulumi.StringRef(\"my-webhook\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWebhookArgs;\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        // Query by ID\n        final var exampleById = PrefectFunctions.getWebhook(GetWebhookArgs.builder()\n            .id(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n        // Query by name\n        final var exampleByName = PrefectFunctions.getWebhook(GetWebhookArgs.builder()\n            .name(\"my-webhook\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Query by ID\n  exampleById:\n    fn::invoke:\n      function: prefect:getWebhook\n      arguments:\n        id: 00000000-0000-0000-0000-000000000000\n  # Query by name\n  exampleByName:\n    fn::invoke:\n      function: prefect:getWebhook\n      arguments:\n        name: my-webhook\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWebhook.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"id":{"type":"string","description":"Webhook ID (UUID)\n"},"name":{"type":"string","description":"Name of the webhook\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWebhook.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"description":{"description":"Description of the webhook\n","type":"string"},"enabled":{"description":"Whether the webhook is enabled\n","type":"boolean"},"id":{"description":"Webhook ID (UUID)\n","type":"string"},"name":{"description":"Name of the webhook\n","type":"string"},"serviceAccountId":{"description":"ID of the Service Account to which this webhook belongs. `Pro` and `Enterprise` customers can assign a Service Account to a webhook to enhance security.\n","type":"string"},"slug":{"description":"Slug of the webhook\n","type":"string"},"template":{"description":"Template used by the webhook\n","type":"string"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["created","description","enabled","id","name","serviceAccountId","slug","template","updated"],"type":"object"}},"prefect:index/getWorkPool:getWorkPool":{"description":"Get information about an existing Work Pool by name.\n\u003cbr\u003e\nUse this data source to obtain Work Pool-specific attributes.\n\u003cbr\u003e\nFor more information, see [configure dynamic infrastructure with work pools](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst myPool = prefect.getWorkPool({\n    name: \"my-work-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nmy_pool = prefect.get_work_pool(name=\"my-work-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myPool = Prefect.GetWorkPool.Invoke(new()\n    {\n        Name = \"my-work-pool\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupWorkPool(ctx, \u0026prefect.LookupWorkPoolArgs{\n\t\t\tName: pulumi.StringRef(\"my-work-pool\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkPoolArgs;\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        final var myPool = PrefectFunctions.getWorkPool(GetWorkPoolArgs.builder()\n            .name(\"my-work-pool\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  myPool:\n    fn::invoke:\n      function: prefect:getWorkPool\n      arguments:\n        name: my-work-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkPool.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work pool\n"},"defaultQueueId":{"type":"string","description":"The ID (UUID) of the default queue associated with this work pool\n"},"description":{"type":"string","description":"Description of the work pool\n"},"id":{"type":"string","description":"Work pool ID (UUID)\n"},"name":{"type":"string","description":"Name of the work pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkPool.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"baseJobTemplate":{"description":"The base job template for the work pool, as a JSON string\n","type":"string"},"concurrencyLimit":{"description":"The concurrency limit applied to this work pool\n","type":"number"},"created":{"description":"Date and time of the work pool creation in RFC 3339 format\n","type":"string"},"defaultQueueId":{"description":"The ID (UUID) of the default queue associated with this work pool\n","type":"string"},"description":{"description":"Description of the work pool\n","type":"string"},"id":{"description":"Work pool ID (UUID)\n","type":"string"},"name":{"description":"Name of the work pool\n","type":"string"},"paused":{"description":"Whether this work pool is paused\n","type":"boolean"},"type":{"description":"Type of the work pool\n","type":"string"},"updated":{"description":"Date and time that the work pool was last updated in RFC 3339 format\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["baseJobTemplate","concurrencyLimit","created","defaultQueueId","description","id","name","paused","type","updated"],"type":"object"}},"prefect:index/getWorkPools:getWorkPools":{"description":"Get information about an multiple Work Pools.\n\u003cbr\u003e\nUse this data source to search for multiple Work Pools. Defaults to fetching all Work Pools in the Workspace.\n\u003cbr\u003e\nFor more information, see [configure dynamic infrastructure with work pools](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Query all Work Pools in Account/Workspace\nconst allPools = prefect.getWorkPools({});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Query all Work Pools in Account/Workspace\nall_pools = prefect.get_work_pools()\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Query all Work Pools in Account/Workspace\n    var allPools = Prefect.GetWorkPools.Invoke();\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// Query all Work Pools in Account/Workspace\n\t\t_, err := prefect.GetWorkPools(ctx, \u0026prefect.GetWorkPoolsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkPoolsArgs;\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        // Query all Work Pools in Account/Workspace\n        final var allPools = PrefectFunctions.getWorkPools(GetWorkPoolsArgs.builder()\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Query all Work Pools in Account/Workspace\n  allPools:\n    fn::invoke:\n      function: prefect:getWorkPools\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkPools.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"filterAnies":{"type":"array","items":{"type":"string"},"description":"Work pool IDs (UUID) to search for (work pools with any matching UUID are returned)\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkPools.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"filterAnies":{"description":"Work pool IDs (UUID) to search for (work pools with any matching UUID are returned)\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"workPools":{"description":"Work pools returned by the server\n","items":{"$ref":"#/types/prefect:index%2FgetWorkPoolsWorkPool:getWorkPoolsWorkPool"},"type":"array"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["id","workPools"],"type":"object"}},"prefect:index/getWorkQueue:getWorkQueue":{"description":"Get information about an existing Work Queue by name.\n\u003cbr\u003e\nUse this data source to obtain Work Queue-specific attributes.\n\u003cbr\u003e\nFor more information, see [work queues](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools#work-queues).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst example = prefect.getWorkQueue({\n    name: \"my-work-pool\",\n    workPoolName: \"my-work-queue\",\n    workspaceId: examplePrefectWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nexample = prefect.get_work_queue(name=\"my-work-pool\",\n    work_pool_name=\"my-work-queue\",\n    workspace_id=example_prefect_workspace[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Prefect.GetWorkQueue.Invoke(new()\n    {\n        Name = \"my-work-pool\",\n        WorkPoolName = \"my-work-queue\",\n        WorkspaceId = examplePrefectWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupWorkQueue(ctx, \u0026prefect.LookupWorkQueueArgs{\n\t\t\tName:         pulumi.StringRef(\"my-work-pool\"),\n\t\t\tWorkPoolName: \"my-work-queue\",\n\t\t\tWorkspaceId:  pulumi.StringRef(examplePrefectWorkspace.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkQueueArgs;\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        final var example = PrefectFunctions.getWorkQueue(GetWorkQueueArgs.builder()\n            .name(\"my-work-pool\")\n            .workPoolName(\"my-work-queue\")\n            .workspaceId(examplePrefectWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: prefect:getWorkQueue\n      arguments:\n        name: my-work-pool\n        workPoolName: my-work-queue\n        workspaceId: ${examplePrefectWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkQueue.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"concurrencyLimit":{"type":"number","description":"The concurrency limit applied to this work queue\n"},"description":{"type":"string","description":"Description of the work queue\n"},"id":{"type":"string","description":"Work queue ID (UUID)\n"},"name":{"type":"string","description":"Name of the work queue\n"},"workPoolName":{"type":"string","description":"Name of the associated work pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["workPoolName"]},"outputs":{"description":"A collection of values returned by getWorkQueue.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"concurrencyLimit":{"description":"The concurrency limit applied to this work queue\n","type":"number"},"created":{"description":"Date and time of the work queue creation in RFC 3339 format\n","type":"string"},"description":{"description":"Description of the work queue\n","type":"string"},"id":{"description":"Work queue ID (UUID)\n","type":"string"},"isPaused":{"description":"Whether this work queue is paused\n","type":"boolean"},"name":{"description":"Name of the work queue\n","type":"string"},"priority":{"description":"Priority of the work queue\n","type":"number"},"updated":{"description":"Date and time that the work queue was last updated in RFC 3339 format\n","type":"string"},"workPoolName":{"description":"Name of the associated work pool\n","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["concurrencyLimit","created","description","id","isPaused","name","priority","updated","workPoolName"],"type":"object"}},"prefect:index/getWorkQueues:getWorkQueues":{"description":"Get information about multiple Work Queues.\n\u003cbr\u003e\nUse this data source to search for multiple Work Queues. Defaults to fetching all Work Queues in the Workspace.\n\u003cbr\u003e\nFor more information, see [work queues](https://docs.prefect.io/v3/deploy/infrastructure-concepts/work-pools#work-queues).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst test = prefect.getWorkQueues({\n    workPoolName: testPrefectWorkPool.name,\n    workspaceId: testPrefectWorkspace.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\ntest = prefect.get_work_queues(work_pool_name=test_prefect_work_pool[\"name\"],\n    workspace_id=test_prefect_workspace[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Prefect.GetWorkQueues.Invoke(new()\n    {\n        WorkPoolName = testPrefectWorkPool.Name,\n        WorkspaceId = testPrefectWorkspace.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.GetWorkQueues(ctx, \u0026prefect.GetWorkQueuesArgs{\n\t\t\tWorkPoolName: testPrefectWorkPool.Name,\n\t\t\tWorkspaceId:  pulumi.StringRef(testPrefectWorkspace.Id),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkQueuesArgs;\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        final var test = PrefectFunctions.getWorkQueues(GetWorkQueuesArgs.builder()\n            .workPoolName(testPrefectWorkPool.name())\n            .workspaceId(testPrefectWorkspace.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: prefect:getWorkQueues\n      arguments:\n        workPoolName: ${testPrefectWorkPool.name}\n        workspaceId: ${testPrefectWorkspace.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkQueues.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"filterAnies":{"type":"array","items":{"type":"string"},"description":"Work queue IDs (UUID) to search for (work queues with any matching UUID are returned)\n"},"workPoolName":{"type":"string","description":"Name of the associated work pool\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object","required":["workPoolName"]},"outputs":{"description":"A collection of values returned by getWorkQueues.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"filterAnies":{"description":"Work queue IDs (UUID) to search for (work queues with any matching UUID are returned)\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"workPoolName":{"description":"Name of the associated work pool\n","type":"string"},"workQueues":{"description":"Work queues returned by the server\n","items":{"$ref":"#/types/prefect:index%2FgetWorkQueuesWorkQueue:getWorkQueuesWorkQueue"},"type":"array"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["id","workPoolName","workQueues"],"type":"object"}},"prefect:index/getWorkerMetadata:getWorkerMetadata":{"description":"Get metadata information about the common Worker types, such as Kubernetes, ECS, etc.\n\u003cbr\u003e\nUse this data source to get the default base job configurations for those common Worker types.\n\u003cbr\u003e\nFor more information, see [workers](https://docs.prefect.io/v3/deploy/infrastructure-concepts/workers).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Prefect OSS, Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Use the prefect_worker_metadata datasource\n// to fetch a set of default base job configurations\n// to be used with several common worker types.\nconst d = prefect.getWorkerMetadata({});\nconst kubernetes = new prefect.WorkPool(\"kubernetes\", {\n    name: \"test-k8s-pool\",\n    type: \"kubernetes\",\n    workspaceId: prd.id,\n    paused: false,\n    baseJobTemplate: d.then(d =\u003e d.baseJobConfigs?.kubernetes),\n});\nconst ecs = new prefect.WorkPool(\"ecs\", {\n    name: \"test-ecs-pool\",\n    type: \"ecs\",\n    workspaceId: prd.id,\n    paused: false,\n    baseJobTemplate: d.then(d =\u003e d.baseJobConfigs?.ecs),\n});\nconst process = new prefect.WorkPool(\"process\", {\n    name: \"test-process-pool\",\n    type: \"cloud-run:push\",\n    workspaceId: prd.id,\n    paused: false,\n    baseJobTemplate: d.then(d =\u003e d.baseJobConfigs?.cloudRunPush),\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Use the prefect_worker_metadata datasource\n# to fetch a set of default base job configurations\n# to be used with several common worker types.\nd = prefect.get_worker_metadata()\nkubernetes = prefect.WorkPool(\"kubernetes\",\n    name=\"test-k8s-pool\",\n    type=\"kubernetes\",\n    workspace_id=prd[\"id\"],\n    paused=False,\n    base_job_template=d.base_job_configs.kubernetes)\necs = prefect.WorkPool(\"ecs\",\n    name=\"test-ecs-pool\",\n    type=\"ecs\",\n    workspace_id=prd[\"id\"],\n    paused=False,\n    base_job_template=d.base_job_configs.ecs)\nprocess = prefect.WorkPool(\"process\",\n    name=\"test-process-pool\",\n    type=\"cloud-run:push\",\n    workspace_id=prd[\"id\"],\n    paused=False,\n    base_job_template=d.base_job_configs.cloud_run_push)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Use the prefect_worker_metadata datasource\n    // to fetch a set of default base job configurations\n    // to be used with several common worker types.\n    var d = Prefect.GetWorkerMetadata.Invoke();\n\n    var kubernetes = new Prefect.WorkPool(\"kubernetes\", new()\n    {\n        Name = \"test-k8s-pool\",\n        Type = \"kubernetes\",\n        WorkspaceId = prd.Id,\n        Paused = false,\n        BaseJobTemplate = d.Apply(getWorkerMetadataResult =\u003e getWorkerMetadataResult.BaseJobConfigs?.Kubernetes),\n    });\n\n    var ecs = new Prefect.WorkPool(\"ecs\", new()\n    {\n        Name = \"test-ecs-pool\",\n        Type = \"ecs\",\n        WorkspaceId = prd.Id,\n        Paused = false,\n        BaseJobTemplate = d.Apply(getWorkerMetadataResult =\u003e getWorkerMetadataResult.BaseJobConfigs?.Ecs),\n    });\n\n    var process = new Prefect.WorkPool(\"process\", new()\n    {\n        Name = \"test-process-pool\",\n        Type = \"cloud-run:push\",\n        WorkspaceId = prd.Id,\n        Paused = false,\n        BaseJobTemplate = d.Apply(getWorkerMetadataResult =\u003e getWorkerMetadataResult.BaseJobConfigs?.CloudRunPush),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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// Use the prefect_worker_metadata datasource\n\t\t// to fetch a set of default base job configurations\n\t\t// to be used with several common worker types.\n\t\td, err := prefect.GetWorkerMetadata(ctx, \u0026prefect.GetWorkerMetadataArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkPool(ctx, \"kubernetes\", \u0026prefect.WorkPoolArgs{\n\t\t\tName:            pulumi.String(\"test-k8s-pool\"),\n\t\t\tType:            pulumi.String(\"kubernetes\"),\n\t\t\tWorkspaceId:     pulumi.Any(prd.Id),\n\t\t\tPaused:          pulumi.Bool(false),\n\t\t\tBaseJobTemplate: pulumi.String(d.BaseJobConfigs.Kubernetes),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkPool(ctx, \"ecs\", \u0026prefect.WorkPoolArgs{\n\t\t\tName:            pulumi.String(\"test-ecs-pool\"),\n\t\t\tType:            pulumi.String(\"ecs\"),\n\t\t\tWorkspaceId:     pulumi.Any(prd.Id),\n\t\t\tPaused:          pulumi.Bool(false),\n\t\t\tBaseJobTemplate: pulumi.String(d.BaseJobConfigs.Ecs),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = prefect.NewWorkPool(ctx, \"process\", \u0026prefect.WorkPoolArgs{\n\t\t\tName:            pulumi.String(\"test-process-pool\"),\n\t\t\tType:            pulumi.String(\"cloud-run:push\"),\n\t\t\tWorkspaceId:     pulumi.Any(prd.Id),\n\t\t\tPaused:          pulumi.Bool(false),\n\t\t\tBaseJobTemplate: pulumi.String(d.BaseJobConfigs.CloudRunPush),\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.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkerMetadataArgs;\nimport com.pulumi.prefect.WorkPool;\nimport com.pulumi.prefect.WorkPoolArgs;\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        // Use the prefect_worker_metadata datasource\n        // to fetch a set of default base job configurations\n        // to be used with several common worker types.\n        final var d = PrefectFunctions.getWorkerMetadata(GetWorkerMetadataArgs.builder()\n            .build());\n\n        var kubernetes = new WorkPool(\"kubernetes\", WorkPoolArgs.builder()\n            .name(\"test-k8s-pool\")\n            .type(\"kubernetes\")\n            .workspaceId(prd.id())\n            .paused(false)\n            .baseJobTemplate(d.baseJobConfigs().kubernetes())\n            .build());\n\n        var ecs = new WorkPool(\"ecs\", WorkPoolArgs.builder()\n            .name(\"test-ecs-pool\")\n            .type(\"ecs\")\n            .workspaceId(prd.id())\n            .paused(false)\n            .baseJobTemplate(d.baseJobConfigs().ecs())\n            .build());\n\n        var process = new WorkPool(\"process\", WorkPoolArgs.builder()\n            .name(\"test-process-pool\")\n            .type(\"cloud-run:push\")\n            .workspaceId(prd.id())\n            .paused(false)\n            .baseJobTemplate(d.baseJobConfigs().cloudRunPush())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kubernetes:\n    type: prefect:WorkPool\n    properties:\n      name: test-k8s-pool\n      type: kubernetes\n      workspaceId: ${prd.id}\n      paused: false\n      baseJobTemplate: ${d.baseJobConfigs.kubernetes}\n  ecs:\n    type: prefect:WorkPool\n    properties:\n      name: test-ecs-pool\n      type: ecs\n      workspaceId: ${prd.id}\n      paused: false\n      baseJobTemplate: ${d.baseJobConfigs.ecs}\n  process:\n    type: prefect:WorkPool\n    properties:\n      name: test-process-pool\n      type: cloud-run:push\n      workspaceId: ${prd.id}\n      paused: false\n      baseJobTemplate: ${d.baseJobConfigs.cloudRunPush}\nvariables:\n  # Use the prefect_worker_metadata datasource\n  # to fetch a set of default base job configurations\n  # to be used with several common worker types.\n  d:\n    fn::invoke:\n      function: prefect:getWorkerMetadata\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkerMetadata.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"workspaceId":{"type":"string","description":"Workspace ID (UUID), defaults to the workspace set in the provider\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkerMetadata.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"baseJobConfigs":{"$ref":"#/types/prefect:index%2FgetWorkerMetadataBaseJobConfigs:getWorkerMetadataBaseJobConfigs","description":"A map of default base job configurations (JSON) for each of the primary worker types\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"workspaceId":{"description":"Workspace ID (UUID), defaults to the workspace set in the provider\n","type":"string"}},"required":["baseJobConfigs","id"],"type":"object"}},"prefect:index/getWorkspace:getWorkspace":{"description":"Get information about an existing Workspace by handle.\n\u003cbr\u003e\nUse this data source to obtain Workspace IDs\n\u003cbr\u003e\nFor more information, see [manage workspaces](https://docs.prefect.io/v3/manage/cloud/workspaces#manage-workspaces).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Hobby, Starter, Team, Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\nconst productionEnvironment = prefect.getWorkspace({\n    id: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\nproduction_environment = prefect.get_workspace(id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var productionEnvironment = Prefect.GetWorkspace.Invoke(new()\n    {\n        Id = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\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 := prefect.LookupWorkspace(ctx, \u0026prefect.LookupWorkspaceArgs{\n\t\t\tId: pulumi.StringRef(\"00000000-0000-0000-0000-000000000000\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceArgs;\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        final var productionEnvironment = PrefectFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .id(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  productionEnvironment:\n    fn::invoke:\n      function: prefect:getWorkspace\n      arguments:\n        id: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID), defaults to the account set in the provider\n"},"handle":{"type":"string","description":"Unique handle for the workspace\n"},"id":{"type":"string","description":"Workspace ID (UUID)\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"accountId":{"description":"Account ID (UUID), defaults to the account set in the provider\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"description":{"description":"Description for the workspace\n","type":"string"},"handle":{"description":"Unique handle for the workspace\n","type":"string"},"id":{"description":"Workspace ID (UUID)\n","type":"string"},"name":{"description":"Name of the workspace\n","type":"string"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"}},"required":["created","description","handle","id","name","updated"],"type":"object"}},"prefect:index/getWorkspaceRole:getWorkspaceRole":{"description":"Get information about an existing Workspace Role.\n\u003cbr\u003e\nUse this data source read down the pre-defined Roles, to manage User and Service Account access.\n\u003cbr\u003e\nFor more information, see [manage workspaces](https://docs.prefect.io/v3/manage/cloud/workspaces#manage-workspaces).\n\n\nThis feature is available in the following [product plan(s)](https://www.prefect.io/pricing): Pro, Enterprise.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as prefect from \"@pulumi/prefect\";\n\n// Read down the default Owner Workspace Role\nconst owner = prefect.getWorkspaceRole({\n    name: \"Owner\",\n});\n// Read down the default Worker Workspace Role\nconst worker = prefect.getWorkspaceRole({\n    name: \"Worker\",\n});\n// Read down the default Developer Workspace Role\nconst developer = prefect.getWorkspaceRole({\n    name: \"Developer\",\n});\n// Read down the default Viewer Workspace Role\nconst viewer = prefect.getWorkspaceRole({\n    name: \"Viewer\",\n});\n// Read down the default Runner Workspace Role\nconst runner = prefect.getWorkspaceRole({\n    name: \"Runner\",\n});\n```\n```python\nimport pulumi\nimport pulumi_prefect as prefect\n\n# Read down the default Owner Workspace Role\nowner = prefect.get_workspace_role(name=\"Owner\")\n# Read down the default Worker Workspace Role\nworker = prefect.get_workspace_role(name=\"Worker\")\n# Read down the default Developer Workspace Role\ndeveloper = prefect.get_workspace_role(name=\"Developer\")\n# Read down the default Viewer Workspace Role\nviewer = prefect.get_workspace_role(name=\"Viewer\")\n# Read down the default Runner Workspace Role\nrunner = prefect.get_workspace_role(name=\"Runner\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Prefect = Pulumi.Prefect;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Read down the default Owner Workspace Role\n    var owner = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Owner\",\n    });\n\n    // Read down the default Worker Workspace Role\n    var worker = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Worker\",\n    });\n\n    // Read down the default Developer Workspace Role\n    var developer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Developer\",\n    });\n\n    // Read down the default Viewer Workspace Role\n    var viewer = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Viewer\",\n    });\n\n    // Read down the default Runner Workspace Role\n    var runner = Prefect.GetWorkspaceRole.Invoke(new()\n    {\n        Name = \"Runner\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/prefect/v2/prefect\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Read down the default Owner Workspace Role\n\t\t_, err := prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Owner\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Worker Workspace Role\n\t\t_, err = prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Worker\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Developer Workspace Role\n\t\t_, err = prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Developer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Viewer Workspace Role\n\t\t_, err = prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Viewer\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Read down the default Runner Workspace Role\n\t\t_, err = prefect.LookupWorkspaceRole(ctx, \u0026prefect.LookupWorkspaceRoleArgs{\n\t\t\tName: \"Runner\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.prefect.PrefectFunctions;\nimport com.pulumi.prefect.inputs.GetWorkspaceRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Read down the default Owner Workspace Role\n        final var owner = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Owner\")\n            .build());\n\n        // Read down the default Worker Workspace Role\n        final var worker = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Worker\")\n            .build());\n\n        // Read down the default Developer Workspace Role\n        final var developer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Developer\")\n            .build());\n\n        // Read down the default Viewer Workspace Role\n        final var viewer = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Viewer\")\n            .build());\n\n        // Read down the default Runner Workspace Role\n        final var runner = PrefectFunctions.getWorkspaceRole(GetWorkspaceRoleArgs.builder()\n            .name(\"Runner\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Read down the default Owner Workspace Role\n  owner:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Owner\n  # Read down the default Worker Workspace Role\n  worker:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Worker\n  # Read down the default Developer Workspace Role\n  developer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Developer\n  # Read down the default Viewer Workspace Role\n  viewer:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Viewer\n  # Read down the default Runner Workspace Role\n  runner:\n    fn::invoke:\n      function: prefect:getWorkspaceRole\n      arguments:\n        name: Runner\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspaceRole.\n","properties":{"accountId":{"type":"string","description":"Account ID (UUID) where Workspace Role resides\n"},"name":{"type":"string","description":"Name of the Workspace Role\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getWorkspaceRole.\n","properties":{"accountId":{"description":"Account ID (UUID) where Workspace Role resides\n","type":"string"},"created":{"description":"Timestamp of when the resource was created (RFC3339)\n","type":"string"},"description":{"description":"Description of the Workspace Role\n","type":"string"},"id":{"description":"Workspace Role ID (UUID)\n","type":"string"},"inheritedRoleId":{"description":"Workspace Role ID (UUID), whose permissions are inherited by this Workspace Role\n","type":"string"},"name":{"description":"Name of the Workspace Role\n","type":"string"},"scopes":{"description":"List of scopes linked to the Workspace Role\n","items":{"type":"string"},"type":"array"},"updated":{"description":"Timestamp of when the resource was updated (RFC3339)\n","type":"string"}},"required":["created","description","id","inheritedRoleId","name","scopes","updated"],"type":"object"}},"pulumi:providers:prefect/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:prefect"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL3ByZWZlY3RocS9wcmVmZWN0IiwidmVyc2lvbiI6IjIuOTIuNSJ9fQ=="}}