From 7984f5c2d69a27e91cb0656ef193d276a28ef08a Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:41 -0600 Subject: [PATCH 01/26] Add `prefect-aws` `v0.4.14` to flow records From 3468a2ba3142023e78557f5fc1d57aa2e13a64e0 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:43 -0600 Subject: [PATCH 02/26] Add `prefect` `v3.1.11` to block records --- collections/prefect/blocks/v3.1.11.json | 1247 +++++++++++++++++++++++ 1 file changed, 1247 insertions(+) create mode 100644 collections/prefect/blocks/v3.1.11.json diff --git a/collections/prefect/blocks/v3.1.11.json b/collections/prefect/blocks/v3.1.11.json new file mode 100644 index 00000000..80b21d37 --- /dev/null +++ b/collections/prefect/blocks/v3.1.11.json @@ -0,0 +1,1247 @@ +{ + "prefect": { + "block_types": { + "date-time": { + "name": "Date Time", + "slug": "date-time", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/8b3da9a6621e92108b8e6a75b82e15374e170ff7-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/blocks", + "description": "A block that represents a datetime. Deprecated, please use Variables to store datetime data instead.", + "code_example": "Load a stored JSON value:\n```python\nfrom prefect.blocks.system import DateTime\n\ndata_time_block = DateTime.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:94cacaae861dc63b4fcfef96972d9269bb7cb8897a0591a6fd2ac6d0ee64571f", + "fields": { + "block_schema_references": {}, + "block_type_slug": "date-time", + "description": "A block that represents a datetime. Deprecated, please use Variables to store datetime data instead.", + "properties": { + "value": { + "description": "An ISO 8601-compatible datetime value.", + "format": "date-time", + "title": "Value", + "type": "string" + } + }, + "required": [ + "value" + ], + "secret_fields": [], + "title": "DateTime", + "type": "object" + }, + "capabilities": [], + "version": "3.1.11" + } + }, + "discord-webhook": { + "name": "Discord Webhook", + "slug": "discord-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/9e94976c80ef925b66d24e5d14f0d47baa6b8f88-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided Discord webhook.", + "code_example": "Load a saved Discord webhook and send a message:\n```python\nfrom prefect.blocks.notifications import DiscordWebhook\n\ndiscord_webhook_block = DiscordWebhook.load(\"BLOCK_NAME\")\n\ndiscord_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:6a52b1831a9e289e74a3dc03986ca1b00aaf8c4c523fd9dcacd1982e45bfe956", + "fields": { + "block_schema_references": {}, + "block_type_slug": "discord-webhook", + "description": "Enables sending notifications via a provided Discord webhook.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "webhook_id": { + "description": "The first part of 2 tokens provided to you after creating a incoming-webhook.", + "format": "password", + "title": "Webhook Id", + "type": "string", + "writeOnly": true + }, + "webhook_token": { + "description": "The second part of 2 tokens provided to you after creating a incoming-webhook.", + "format": "password", + "title": "Webhook Token", + "type": "string", + "writeOnly": true + }, + "botname": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Identify the name of the bot that should issue the message. If one isn't specified then the default is to just use your account (associated with the incoming-webhook).", + "title": "Bot name" + }, + "tts": { + "default": false, + "description": "Whether to enable Text-To-Speech.", + "title": "Tts", + "type": "boolean" + }, + "include_image": { + "default": false, + "description": "Whether to include an image in-line with the message describing the notification type.", + "title": "Include Image", + "type": "boolean" + }, + "avatar": { + "default": false, + "description": "Whether to override the default discord avatar icon.", + "title": "Avatar", + "type": "boolean" + }, + "avatar_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": false, + "description": "Over-ride the default discord avatar icon URL. By default this is not set and Apprise chooses the URL dynamically based on the type of message (info, success, warning, or error).", + "title": "Avatar URL" + } + }, + "required": [ + "webhook_id", + "webhook_token" + ], + "secret_fields": [ + "webhook_id", + "webhook_token" + ], + "title": "DiscordWebhook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "json": { + "name": "JSON", + "slug": "json", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/4fcef2294b6eeb423b1332d1ece5156bf296ff96-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/blocks", + "description": "A block that represents JSON. Deprecated, please use Variables to store JSON data instead.", + "code_example": "Load a stored JSON value:\n```python\nfrom prefect.blocks.system import JSON\n\njson_block = JSON.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:0f01d400eb1ebd964d491132cda72e6a6d843f8ce940397b3dba7be219852106", + "fields": { + "block_schema_references": {}, + "block_type_slug": "json", + "description": "A block that represents JSON. Deprecated, please use Variables to store JSON data instead.", + "properties": { + "value": { + "description": "A JSON-compatible value.", + "title": "Value" + } + }, + "required": [ + "value" + ], + "secret_fields": [], + "title": "JSON", + "type": "object" + }, + "capabilities": [], + "version": "3.1.11" + } + }, + "local-file-system": { + "name": "Local File System", + "slug": "local-file-system", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/ad39089fa66d273b943394a68f003f7a19aa850e-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/results#specifying-a-default-filesystem", + "description": "Store data as a file on a local file system.", + "code_example": "Load stored local file system config:\n```python\nfrom prefect.filesystems import LocalFileSystem\n\nlocal_file_system_block = LocalFileSystem.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:80dd31d7cc72fba9f3005c9692797050a118b5b24f3354df05ec1b7de9f0abbd", + "fields": { + "block_schema_references": {}, + "block_type_slug": "local-file-system", + "description": "Store data as a file on a local file system.", + "properties": { + "basepath": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Default local path for this block to write to.", + "title": "Basepath" + } + }, + "secret_fields": [], + "title": "LocalFileSystem", + "type": "object" + }, + "capabilities": [ + "get-directory", + "put-directory", + "read-path", + "write-path" + ], + "version": "3.1.11" + } + }, + "mattermost-webhook": { + "name": "Mattermost Webhook", + "slug": "mattermost-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/1350a147130bf82cbc799a5f868d2c0116207736-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided Mattermost webhook.", + "code_example": "Load a saved Mattermost webhook and send a message:\n```python\nfrom prefect.blocks.notifications import MattermostWebhook\n\nmattermost_webhook_block = MattermostWebhook.load(\"BLOCK_NAME\")\n\nmattermost_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:01f4ee2616acf43a554c44388e36439ebe3ad0f8e58e67279a0116d476dd5e61", + "fields": { + "block_schema_references": {}, + "block_type_slug": "mattermost-webhook", + "description": "Enables sending notifications via a provided Mattermost webhook.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "hostname": { + "description": "The hostname of your Mattermost server.", + "examples": [ + "Mattermost.example.com" + ], + "title": "Hostname", + "type": "string" + }, + "token": { + "description": "The token associated with your Mattermost webhook.", + "format": "password", + "title": "Token", + "type": "string", + "writeOnly": true + }, + "botname": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The name of the bot that will send the message.", + "title": "Bot name" + }, + "channels": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The channel(s) you wish to notify.", + "title": "Channels" + }, + "include_image": { + "default": false, + "description": "Whether to include the Apprise status image in the message.", + "title": "Include Image", + "type": "boolean" + }, + "path": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "An optional sub-path specification to append to the hostname.", + "title": "Path" + }, + "port": { + "default": 8065, + "description": "The port of your Mattermost server.", + "title": "Port", + "type": "integer" + } + }, + "required": [ + "hostname", + "token" + ], + "secret_fields": [ + "token" + ], + "title": "MattermostWebhook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "ms-teams-webhook": { + "name": "Microsoft Teams Webhook", + "slug": "ms-teams-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/817efe008a57f0a24f3587414714b563e5e23658-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided Microsoft Teams webhook.", + "code_example": "Load a saved Teams webhook and send a message:\n```python\nfrom prefect.blocks.notifications import MicrosoftTeamsWebhook\nteams_webhook_block = MicrosoftTeamsWebhook.load(\"BLOCK_NAME\")\nteams_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:d3ad686c4c75d7f4c4db5075e18170ce22a1f25f98f04c7cc8e2cc12656e9c2f", + "fields": { + "block_schema_references": {}, + "block_type_slug": "ms-teams-webhook", + "description": "Enables sending notifications via a provided Microsoft Teams webhook.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "url": { + "description": "The Microsoft Power Automate (Workflows) URL used to send notifications to Teams.", + "examples": [ + "https://prod-NO.LOCATION.logic.azure.com:443/workflows/WFID/triggers/manual/paths/invoke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=SIGNATURE" + ], + "format": "password", + "title": "Webhook URL", + "type": "string", + "writeOnly": true + }, + "allow_private_urls": { + "default": true, + "description": "Whether to allow notifications to private URLs. Defaults to True.", + "title": "Allow Private Urls", + "type": "boolean" + }, + "include_image": { + "default": true, + "description": "Include an image with the notification.", + "title": "Include Image", + "type": "boolean" + }, + "wrap": { + "default": true, + "description": "Wrap the notification text.", + "title": "Wrap", + "type": "boolean" + } + }, + "required": [ + "url" + ], + "secret_fields": [ + "url" + ], + "title": "MicrosoftTeamsWebhook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "opsgenie-webhook": { + "name": "Opsgenie Webhook", + "slug": "opsgenie-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d8b5bc6244ae6cd83b62ec42f10d96e14d6e9113-280x280.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided Opsgenie webhook.", + "code_example": "Load a saved Opsgenie webhook and send a message:\n```python\nfrom prefect.blocks.notifications import OpsgenieWebhook\nopsgenie_webhook_block = OpsgenieWebhook.load(\"BLOCK_NAME\")\nopsgenie_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:748fdf50db8e686cd50865d2079273095912697aefd180b690c8dbfd80f0b362", + "fields": { + "block_schema_references": {}, + "block_type_slug": "opsgenie-webhook", + "description": "Enables sending notifications via a provided Opsgenie webhook.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "apikey": { + "description": "The API Key associated with your Opsgenie account.", + "format": "password", + "title": "API Key", + "type": "string", + "writeOnly": true + }, + "target_user": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The user(s) you wish to notify.", + "title": "Target User" + }, + "target_team": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The team(s) you wish to notify.", + "title": "Target Team" + }, + "target_schedule": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The schedule(s) you wish to notify.", + "title": "Target Schedule" + }, + "target_escalation": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The escalation(s) you wish to notify.", + "title": "Target Escalation" + }, + "region_name": { + "default": "us", + "description": "The 2-character region code.", + "enum": [ + "us", + "eu" + ], + "title": "Region Name", + "type": "string" + }, + "batch": { + "default": false, + "description": "Notify all targets in batches (instead of individually).", + "title": "Batch", + "type": "boolean" + }, + "tags": { + "anyOf": [ + { + "items": {}, + "type": "array" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A comma-separated list of tags you can associate with your Opsgenie message.", + "examples": [ + "[\"tag1\", \"tag2\"]" + ], + "title": "Tags" + }, + "priority": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": 3, + "description": "The priority to associate with the message. It is on a scale between 1 (LOW) and 5 (EMERGENCY).", + "title": "Priority" + }, + "alias": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The alias to associate with the message.", + "title": "Alias" + }, + "entity": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The entity to associate with the message.", + "title": "Entity" + }, + "details": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Additional details composed of key/values pairs.", + "examples": [ + "{\"key1\": \"value1\", \"key2\": \"value2\"}" + ], + "title": "Details" + } + }, + "required": [ + "apikey" + ], + "secret_fields": [ + "apikey" + ], + "title": "OpsgenieWebhook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "pager-duty-webhook": { + "name": "Pager Duty Webhook", + "slug": "pager-duty-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/8dbf37d17089c1ce531708eac2e510801f7b3aee-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided PagerDuty webhook.", + "code_example": "Load a saved PagerDuty webhook and send a message:\n```python\nfrom prefect.blocks.notifications import PagerDutyWebHook\npagerduty_webhook_block = PagerDutyWebHook.load(\"BLOCK_NAME\")\npagerduty_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:133ccf80404b874c09cc28c5fca18afb8e6e5409fff1b2615775f5f9b73c878e", + "fields": { + "block_schema_references": {}, + "block_type_slug": "pager-duty-webhook", + "description": "Enables sending notifications via a provided PagerDuty webhook.", + "properties": { + "notify_type": { + "default": "info", + "description": "The severity of the notification.", + "enum": [ + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "integration_key": { + "description": "This can be found on the Events API V2 integration's detail page, and is also referred to as a Routing Key. This must be provided alongside `api_key`, but will error if provided alongside `url`.", + "format": "password", + "title": "Integration Key", + "type": "string", + "writeOnly": true + }, + "api_key": { + "description": "This can be found under Integrations. This must be provided alongside `integration_key`, but will error if provided alongside `url`.", + "format": "password", + "title": "API Key", + "type": "string", + "writeOnly": true + }, + "source": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": "Prefect", + "description": "The source string as part of the payload.", + "title": "Source" + }, + "component": { + "default": "Notification", + "description": "The component string as part of the payload.", + "title": "Component", + "type": "string" + }, + "group": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The group string as part of the payload.", + "title": "Group" + }, + "class_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The class string as part of the payload.", + "title": "Class ID" + }, + "region_name": { + "default": "us", + "description": "The region name.", + "enum": [ + "us", + "eu" + ], + "title": "Region Name", + "type": "string" + }, + "clickable_url": { + "anyOf": [ + { + "format": "uri", + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "A clickable URL to associate with the notice.", + "title": "Clickable URL" + }, + "include_image": { + "default": true, + "description": "Associate the notification status via a represented icon.", + "title": "Include Image", + "type": "boolean" + }, + "custom_details": { + "anyOf": [ + { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Additional details to include as part of the payload.", + "examples": [ + "{\"disk_space_left\": \"145GB\"}" + ], + "title": "Custom Details" + } + }, + "required": [ + "integration_key", + "api_key" + ], + "secret_fields": [ + "integration_key", + "api_key" + ], + "title": "PagerDutyWebHook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "remote-file-system": { + "name": "Remote File System", + "slug": "remote-file-system", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/e86b41bc0f9c99ba9489abeee83433b43d5c9365-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/results#specifying-a-default-filesystem", + "description": "Store data as a file on a remote file system.\n\nSupports any remote file system supported by `fsspec`. The file system is specified\nusing a protocol. For example, \"s3://my-bucket/my-folder/\" will use S3.", + "code_example": "Load stored remote file system config:\n```python\nfrom prefect.filesystems import RemoteFileSystem\n\nremote_file_system_block = RemoteFileSystem.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:efb6b7304d9cadaf09a18abc60be7ae86aec60dbd7dba345faa7ba1e960b211f", + "fields": { + "block_schema_references": {}, + "block_type_slug": "remote-file-system", + "description": "Store data as a file on a remote file system.\n\nSupports any remote file system supported by `fsspec`. The file system is specified\nusing a protocol. For example, \"s3://my-bucket/my-folder/\" will use S3.", + "properties": { + "basepath": { + "description": "Default path for this block to write to.", + "examples": [ + "s3://my-bucket/my-folder/" + ], + "title": "Basepath", + "type": "string" + }, + "settings": { + "description": "Additional settings to pass through to fsspec.", + "title": "Settings", + "type": "object" + } + }, + "required": [ + "basepath" + ], + "secret_fields": [], + "title": "RemoteFileSystem", + "type": "object" + }, + "capabilities": [ + "get-directory", + "put-directory", + "read-path", + "write-path" + ], + "version": "3.1.11" + } + }, + "secret": { + "name": "Secret", + "slug": "secret", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c6f20e556dd16effda9df16551feecfb5822092b-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/blocks", + "description": "A block that represents a secret value. The value stored in this block will be obfuscated when this block is viewed or edited in the UI.", + "code_example": "```python\nfrom prefect.blocks.system import Secret\n\nSecret(value=\"sk-1234567890\").save(\"BLOCK_NAME\", overwrite=True)\n\nsecret_block = Secret.load(\"BLOCK_NAME\")\n\n# Access the stored secret\nsecret_block.get()\n```", + "block_schema": { + "checksum": "sha256:f290d6bec2665ff8179b4b88a1ba1942bc93b228504da8b65ce66e8aa70d6159", + "fields": { + "block_schema_references": {}, + "block_type_slug": "secret", + "description": "A block that represents a secret value. The value stored in this block will be obfuscated when this block is viewed or edited in the UI.", + "properties": { + "value": { + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "title": "string", + "type": "string" + }, + { + "$ref": "#/definitions/JsonValue", + "title": "JSON" + } + ], + "description": "A value that should be kept secret.", + "examples": [ + "sk-1234567890", + { + "password": "s3cr3t", + "username": "johndoe" + } + ], + "format": "password", + "title": "Value", + "writeOnly": true + } + }, + "required": [ + "value" + ], + "secret_fields": [ + "value" + ], + "title": "Secret", + "type": "object", + "definitions": { + "JsonValue": {} + } + }, + "capabilities": [], + "version": "3.1.11" + } + }, + "sendgrid-email": { + "name": "Sendgrid Email", + "slug": "sendgrid-email", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/82bc6ed16ca42a2252a5512c72233a253b8a58eb-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via Sendgrid email service.", + "code_example": "Load a saved Sendgrid and send a email message:\n```python\nfrom prefect.blocks.notifications import SendgridEmail\n\nsendgrid_block = SendgridEmail.load(\"BLOCK_NAME\")\n\nsendgrid_block.notify(\"Hello from Prefect!\")", + "block_schema": { + "checksum": "sha256:ca1ce43172228b65a570b1a5de9cdbd9813945e672807dc42d21b69d9d3977e7", + "fields": { + "block_schema_references": {}, + "block_type_slug": "sendgrid-email", + "description": "Enables sending notifications via Sendgrid email service.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "api_key": { + "description": "The API Key associated with your sendgrid account.", + "format": "password", + "title": "API Key", + "type": "string", + "writeOnly": true + }, + "sender_email": { + "description": "The sender email id.", + "examples": [ + "test-support@gmail.com" + ], + "title": "Sender email id", + "type": "string" + }, + "to_emails": { + "description": "Email ids of all recipients.", + "examples": [ + "\"recipient1@gmail.com\"" + ], + "items": { + "type": "string" + }, + "title": "Recipient emails", + "type": "array" + } + }, + "required": [ + "api_key", + "sender_email", + "to_emails" + ], + "secret_fields": [ + "api_key" + ], + "title": "SendgridEmail", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "slack-webhook": { + "name": "Slack Webhook", + "slug": "slack-webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c1965ecbf8704ee1ea20d77786de9a41ce1087d1-500x500.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via a provided Slack webhook.", + "code_example": "Load a saved Slack webhook and send a message:\n```python\nfrom prefect.blocks.notifications import SlackWebhook\n\nslack_webhook_block = SlackWebhook.load(\"BLOCK_NAME\")\nslack_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:27d4fa59cceca2b98793d6ef0f97fd3b416f9cacd26912573d8edc05ca1666b4", + "fields": { + "block_schema_references": {}, + "block_type_slug": "slack-webhook", + "description": "Enables sending notifications via a provided Slack webhook.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "url": { + "description": "Slack incoming webhook URL used to send notifications.", + "examples": [ + "https://hooks.slack.com/XXX" + ], + "format": "password", + "title": "Webhook URL", + "type": "string", + "writeOnly": true + }, + "allow_private_urls": { + "default": true, + "description": "Whether to allow notifications to private URLs. Defaults to True.", + "title": "Allow Private Urls", + "type": "boolean" + } + }, + "required": [ + "url" + ], + "secret_fields": [ + "url" + ], + "title": "SlackWebhook", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "smb": { + "name": "SMB", + "slug": "smb", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/3f624663f7beb97d011d011bffd51ecf6c499efc-195x195.png", + "documentation_url": "https://docs.prefect.io/latest/develop/results#specifying-a-default-filesystem", + "description": "Store data as a file on a SMB share.", + "code_example": "Load stored SMB config:\n\n```python\nfrom prefect.filesystems import SMB\nsmb_block = SMB.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:43bb8145a5f701e6453ca0f91ccd5640f291960b02d916055ff1523bab896f33", + "fields": { + "block_schema_references": {}, + "block_type_slug": "smb", + "description": "Store data as a file on a SMB share.", + "properties": { + "share_path": { + "description": "SMB target (requires , followed by ).", + "examples": [ + "/SHARE/dir/subdir" + ], + "title": "Share Path", + "type": "string" + }, + "smb_username": { + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, + "description": "Username with access to the target SMB SHARE.", + "title": "SMB Username" + }, + "smb_password": { + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, + "description": "Password for SMB access.", + "title": "SMB Password" + }, + "smb_host": { + "description": "SMB server/hostname.", + "title": "SMB server/hostname", + "type": "string" + }, + "smb_port": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, + "description": "SMB port (default: 445).", + "title": "SMB port" + } + }, + "required": [ + "share_path", + "smb_host" + ], + "secret_fields": [ + "smb_username", + "smb_password" + ], + "title": "SMB", + "type": "object" + }, + "capabilities": [ + "get-directory", + "put-directory", + "read-path", + "write-path" + ], + "version": "3.1.11" + } + }, + "string": { + "name": "String", + "slug": "string", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c262ea2c80a2c043564e8763f3370c3db5a6b3e6-48x48.png", + "documentation_url": "https://docs.prefect.io/latest/develop/blocks", + "description": "A block that represents a string. Deprecated, please use Variables to store string data instead.", + "code_example": "Load a stored string value:\n```python\nfrom prefect.blocks.system import String\n\nstring_block = String.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:d1323de7a11a0fcd1854515cf86358ad819f51e8d43f5ba176578965f54b2f9f", + "fields": { + "block_schema_references": {}, + "block_type_slug": "string", + "description": "A block that represents a string. Deprecated, please use Variables to store string data instead.", + "properties": { + "value": { + "description": "A string value.", + "title": "Value", + "type": "string" + } + }, + "required": [ + "value" + ], + "secret_fields": [], + "title": "String", + "type": "object" + }, + "capabilities": [], + "version": "3.1.11" + } + }, + "twilio-sms": { + "name": "Twilio SMS", + "slug": "twilio-sms", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/8bd8777999f82112c09b9c8d57083ac75a4a0d65-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/automations-triggers#sending-notifications-with-automations", + "description": "Enables sending notifications via Twilio SMS.", + "code_example": "Load a saved `TwilioSMS` block and send a message:\n```python\nfrom prefect.blocks.notifications import TwilioSMS\ntwilio_webhook_block = TwilioSMS.load(\"BLOCK_NAME\")\ntwilio_webhook_block.notify(\"Hello from Prefect!\")\n```", + "block_schema": { + "checksum": "sha256:a3c827e6f0554918bbd7a4161795ad86a5e5baf980993cdc6e9e0d58c08b9aec", + "fields": { + "block_schema_references": {}, + "block_type_slug": "twilio-sms", + "description": "Enables sending notifications via Twilio SMS.", + "properties": { + "notify_type": { + "default": "prefect_default", + "description": "The type of notification being performed; the prefect_default is a plain notification that does not attach an image.", + "enum": [ + "prefect_default", + "info", + "success", + "warning", + "failure" + ], + "title": "Notify Type", + "type": "string" + }, + "account_sid": { + "description": "The Twilio Account SID - it can be found on the homepage of the Twilio console.", + "title": "Account Sid", + "type": "string" + }, + "auth_token": { + "description": "The Twilio Authentication Token - it can be found on the homepage of the Twilio console.", + "format": "password", + "title": "Auth Token", + "type": "string", + "writeOnly": true + }, + "from_phone_number": { + "description": "The valid Twilio phone number to send the message from.", + "examples": [ + "18001234567" + ], + "title": "From Phone Number", + "type": "string" + }, + "to_phone_numbers": { + "description": "A list of valid Twilio phone number(s) to send the message to.", + "examples": [ + "18004242424" + ], + "items": { + "type": "string" + }, + "title": "To Phone Numbers", + "type": "array" + } + }, + "required": [ + "account_sid", + "auth_token", + "from_phone_number", + "to_phone_numbers" + ], + "secret_fields": [ + "auth_token" + ], + "title": "TwilioSMS", + "type": "object" + }, + "capabilities": [ + "notify" + ], + "version": "3.1.11" + } + }, + "webhook": { + "name": "Webhook", + "slug": "webhook", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c7247cb359eb6cf276734d4b1fbf00fb8930e89e-250x250.png", + "documentation_url": "https://docs.prefect.io/latest/automate/events/webhook-triggers", + "description": "Block that enables calling webhooks.", + "code_example": "```python\nfrom prefect.blocks.webhook import Webhook\n\nwebhook_block = Webhook.load(\"BLOCK_NAME\")\n```", + "block_schema": { + "checksum": "sha256:61e9dbea14935ccb2cfac7eb38f01c4e878a81073806f2aec993820fa0d91eb3", + "fields": { + "block_schema_references": {}, + "block_type_slug": "webhook", + "description": "Block that enables calling webhooks.", + "properties": { + "method": { + "default": "POST", + "description": "The webhook request method. Defaults to `POST`.", + "enum": [ + "GET", + "POST", + "PUT", + "PATCH", + "DELETE" + ], + "title": "Method", + "type": "string" + }, + "url": { + "description": "The webhook URL.", + "examples": [ + "https://hooks.slack.com/XXX" + ], + "format": "password", + "title": "Webhook URL", + "type": "string", + "writeOnly": true + }, + "headers": { + "description": "A dictionary of headers to send with the webhook request.", + "title": "Webhook Headers", + "type": "object" + }, + "allow_private_urls": { + "default": true, + "description": "Whether to allow notifications to private URLs. Defaults to True.", + "title": "Allow Private Urls", + "type": "boolean" + }, + "verify": { + "default": true, + "description": "Whether or not to enforce a secure connection to the webhook.", + "title": "Verify", + "type": "boolean" + } + }, + "required": [ + "url" + ], + "secret_fields": [ + "url", + "headers.*" + ], + "title": "Webhook", + "type": "object" + }, + "capabilities": [], + "version": "3.1.11" + } + } + } + } +} \ No newline at end of file From 3528d2c03083b5b265de04ea08b24d99f20af13b Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:43 -0600 Subject: [PATCH 03/26] Add `prefect-aws` `v0.4.14` to block records --- collections/prefect-aws/blocks/v0.4.14.json | 1222 ++++++++++--------- 1 file changed, 632 insertions(+), 590 deletions(-) diff --git a/collections/prefect-aws/blocks/v0.4.14.json b/collections/prefect-aws/blocks/v0.4.14.json index dfb5c473..badb7867 100644 --- a/collections/prefect-aws/blocks/v0.4.14.json +++ b/collections/prefect-aws/blocks/v0.4.14.json @@ -5,133 +5,209 @@ "name": "AWS Credentials", "slug": "aws-credentials", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/credentials/#prefect_aws.credentials.AwsCredentials", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "Load stored AWS credentials:\n```python\nfrom prefect_aws import AwsCredentials\n\naws_credentials_block = AwsCredentials.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe", + "checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", "fields": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {}, + "title": "AwsCredentials", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "aws-secret": { "name": "AWS Secret", "slug": "aws-secret", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/secrets_manager/#prefect_aws.secrets_manager.AwsSecret", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Manages a secret in AWS's Secrets Manager. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "```python\nfrom prefect_aws.secrets_manager import AwsSecret\n\naws_secret_block = AwsSecret.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:d10fde5ac25b10edca4859c4d0bf61b4a9106215cd79ab80997f29859b190b7d", + "checksum": "sha256:9bc4fcf0131ca1e933827c346ed2cc6879fc2add3f336c400e14ce2eaa41799a", "fields": { - "title": "AwsSecret", + "block_schema_references": { + "aws_credentials": { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + }, + "block_type_slug": "aws-secret", "description": "Manages a secret in AWS's Secrets Manager.", - "type": "object", "properties": { "aws_credentials": { "$ref": "#/definitions/AwsCredentials" }, "secret_name": { - "title": "Secret Name", "description": "The name of the secret.", + "title": "Secret Name", "type": "string" } }, @@ -139,683 +215,584 @@ "aws_credentials", "secret_name" ], - "block_type_slug": "aws-secret", "secret_fields": [ "aws_credentials.aws_secret_access_key" ], - "block_schema_references": { - "aws_credentials": { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, + "title": "AwsSecret", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", - "description": "Advanced configuration for Botocore clients.", - "type": "object" - } - } - }, - "AwsCredentials": { - "title": "AwsCredentials", - "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", - "properties": { - "aws_access_key_id": { - "title": "AWS Access Key ID", - "description": "A specific AWS access key ID.", - "type": "string" - }, - "aws_secret_access_key": { - "title": "AWS Access Key Secret", - "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" - }, - "aws_session_token": { - "title": "AWS Session Token", - "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" - }, - "profile_name": { - "title": "Profile Name", - "description": "The profile to use when creating your session.", - "type": "string" - }, - "region_name": { - "title": "Region Name", - "description": "The AWS Region where you want to create new connections.", - "type": "string" - }, - "aws_client_parameters": { - "title": "AWS Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ + "anyOf": [ + { + "type": "object" + }, { - "$ref": "#/definitions/AwsClientParameters" + "type": "null" } - ] + ], + "default": null, + "description": "Advanced configuration for Botocore clients.", + "title": "Botocore Config" } }, - "block_type_slug": "aws-credentials", - "secret_fields": [ - "aws_secret_access_key" - ], - "block_schema_references": {} - } - } - }, - "capabilities": [], - "version": "0.4.14" - } - }, - "ecs-task": { - "name": "ECS Task", - "slug": "ecs-task", - "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/ecs/#prefect_aws.ecs.ECSTask", - "description": "Run a command as an ECS task. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", - "code_example": "```python\nfrom prefect_aws.ecs import ECSTask\n\necs_task_block = ECSTask.load(\"BLOCK_NAME\")\n```", - "block_schema": { - "checksum": "sha256:d72b495859da39536d3e1119ddabd42a10866867b97c4834956ae231120858ca", - "fields": { - "title": "ECSTask", - "description": "Run a command as an ECS task.", - "type": "object", - "properties": { - "type": { - "title": "Type", - "description": "The slug for this task type.", - "default": "ecs-task", - "enum": [ - "ecs-task" - ], - "type": "string" - }, - "env": { - "title": "Environment Variables", - "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "title": "Labels", - "description": "Labels applied to the infrastructure for metadata purposes.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "title": "Name", - "description": "Name applied to the infrastructure for identification.", - "type": "string" - }, - "command": { - "title": "Command", - "description": "The command to run in the infrastructure.", - "type": "array", - "items": { - "type": "string" - } - }, - "aws_credentials": { - "title": "AWS Credentials", - "description": "The AWS credentials to use to connect to ECS.", - "allOf": [ - { - "$ref": "#/definitions/AwsCredentials" - } - ] - }, - "task_definition_arn": { - "title": "Task Definition Arn", - "description": "An identifier for an existing task definition to use. If fields are set on the `ECSTask` that conflict with the task definition, a new copy will be registered with the required values. Cannot be used with `task_definition`. If not provided, Prefect will generate and register a minimal task definition.", - "type": "string" - }, - "task_definition": { - "title": "Task Definition", - "description": "An ECS task definition to use. Prefect may set defaults or override fields on this task definition to match other `ECSTask` fields. Cannot be used with `task_definition_arn`. If not provided, Prefect will generate and register a minimal task definition.", + "title": "AwsClientParameters", "type": "object" }, - "family": { - "title": "Family", - "description": "A family for the task definition. If not provided, it will be inferred from the task definition. If the task definition does not have a family, the name will be generated. When flow and deployment metadata is available, the generated name will include their names. Values for this field will be slugified to match AWS character requirements.", - "type": "string" - }, - "image": { - "title": "Image", - "description": "The image to use for the Prefect container in the task. If this value is not null, it will override the value in the task definition. This value defaults to a Prefect base image matching your local versions.", - "type": "string" - }, - "auto_deregister_task_definition": { - "title": "Auto Deregister Task Definition", - "description": "If set, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", - "default": true, - "type": "boolean" - }, - "cpu": { - "title": "CPU", - "description": "The amount of CPU to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 1024 will be used unless present on the task definition.", - "type": "integer" - }, - "memory": { - "title": "Memory", - "description": "The amount of memory to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 2048 will be used unless present on the task definition.", - "type": "integer" - }, - "execution_role_arn": { - "title": "Execution Role ARN", - "description": "An execution role to use for the task. This controls the permissions of the task when it is launching. If this value is not null, it will override the value in the task definition. An execution role must be provided to capture logs from the container.", - "type": "string" - }, - "configure_cloudwatch_logs": { - "title": "Configure Cloudwatch Logs", - "description": "If `True`, the Prefect container will be configured to send its output to the AWS CloudWatch logs service. This functionality requires an execution role with logs:CreateLogStream, logs:CreateLogGroup, and logs:PutLogEvents permissions. The default for this field is `False` unless `stream_output` is set.", - "type": "boolean" - }, - "cloudwatch_logs_options": { - "title": "Cloudwatch Logs Options", - "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the AWS documentation for available options. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "stream_output": { - "title": "Stream Output", - "description": "If `True`, logs will be streamed from the Prefect container to the local console. Unless you have configured AWS CloudWatch logs manually on your task definition, this requires the same prerequisites outlined in `configure_cloudwatch_logs`.", - "type": "boolean" - }, - "launch_type": { - "title": "Launch Type", - "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", - "default": "FARGATE", - "enum": [ - "FARGATE", - "EC2", - "EXTERNAL", - "FARGATE_SPOT" - ], - "type": "string" - }, - "vpc_id": { - "title": "VPC ID", - "description": "The AWS VPC to link the task run to. This is only applicable when using the 'awsvpc' network mode for your task. FARGATE tasks require this network mode, but for EC2 tasks the default network mode is 'bridge'. If using the 'awsvpc' network mode and this field is null, your default VPC will be used. If no default VPC can be found, the task run will fail.", - "type": "string" - }, - "cluster": { - "title": "Cluster", - "description": "The ECS cluster to run the task in. The ARN or name may be provided. If not provided, the default cluster will be used.", - "type": "string" - }, - "task_role_arn": { - "title": "Task Role ARN", - "description": "A role to attach to the task run. This controls the permissions of the task while it is running.", - "type": "string" - }, - "task_customizations": { - "title": "Task Customizations", - "description": "A list of JSON 6902 patches to apply to the task run request. If a string is given, it will parsed as a JSON expression.", - "type": "array", - "format": "rfc6902", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "task_start_timeout_seconds": { - "title": "Task Start Timeout Seconds", - "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", - "default": 120, - "type": "integer" - }, - "task_watch_poll_interval": { - "title": "Task Watch Poll Interval", - "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", - "default": 5.0, - "type": "number" - } - }, - "block_type_slug": "ecs-task", - "secret_fields": [ - "aws_credentials.aws_secret_access_key" - ], - "block_schema_references": { - "aws_credentials": { + "AwsCredentials": { + "block_schema_references": {}, "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, - "definitions": { - "AwsClientParameters": { - "title": "AwsClientParameters", - "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", + "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", "properties": { - "api_version": { - "title": "API Version", - "description": "The API version to use.", - "type": "string" - }, - "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", - "default": true, - "type": "boolean" - }, - "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, + "aws_access_key_id": { "anyOf": [ { - "type": "boolean" + "type": "string" }, { - "type": "string", - "format": "file-path" + "type": "null" } - ] - }, - "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", - "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" - }, - "endpoint_url": { - "title": "Endpoint URL", - "description": "The complete URL to use for the constructed client.", - "type": "string" - }, - "config": { - "title": "Botocore Config", - "description": "Advanced configuration for Botocore clients.", - "type": "object" - } - } - }, - "AwsCredentials": { - "title": "AwsCredentials", - "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", - "properties": { - "aws_access_key_id": { - "title": "AWS Access Key ID", + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" } } }, - "capabilities": [ - "run-infrastructure" - ], - "version": "0.4.14" + "capabilities": [], + "version": "0.5.3" } }, "lambda-function": { "name": "Lambda Function", "slug": "lambda-function", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/s3/#prefect_aws.lambda_function.LambdaFunction", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "```python\nfrom prefect_aws.lambda_function import LambdaFunction\n\nlambda_function_block = LambdaFunction.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:93fb424309b85c0ef9a8e69cc9d0df1e0afa0f2ed15f1ecc710ec3463513b2e4", + "checksum": "sha256:c432d90bd00091f03ce62155584d44c1f37d8ef6cccff10ee2d7c346216a9be1", "fields": { - "title": "LambdaFunction", + "block_schema_references": { + "aws_credentials": { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + }, + "block_type_slug": "lambda-function", "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock.", - "type": "object", "properties": { "function_name": { - "title": "Function Name", "description": "The name, ARN, or partial ARN of the Lambda function to run. This must be the name of a function that is already deployed to AWS Lambda.", + "title": "Function Name", "type": "string" }, "qualifier": { - "title": "Qualifier", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The version or alias of the Lambda function to use when invoked. If not specified, the latest (unqualified) version of the Lambda function will be used.", - "type": "string" + "title": "Qualifier" }, "aws_credentials": { - "title": "AWS Credentials", + "$ref": "#/definitions/AwsCredentials", "description": "The AWS credentials to invoke the Lambda with.", - "allOf": [ - { - "$ref": "#/definitions/AwsCredentials" - } - ] + "title": "AWS Credentials" } }, "required": [ "function_name" ], - "block_type_slug": "lambda-function", "secret_fields": [ "aws_credentials.aws_secret_access_key" ], - "block_schema_references": { - "aws_credentials": { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, + "title": "LambdaFunction", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "minio-credentials": { "name": "MinIO Credentials", "slug": "minio-credentials", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/676cb17bcbdff601f97e0a02ff8bcb480e91ff40-250x250.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/credentials/#prefect_aws.credentials.MinIOCredentials", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "Load stored MinIO credentials:\n```python\nfrom prefect_aws import MinIOCredentials\n\nminio_credentials_block = MinIOCredentials.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:5b4f1e5270f3a3670ff3d06b7e6e8246d54dacba976321dec42abe51c33415fb", + "checksum": "sha256:183968f2ba33532595e38f6b25abbbb273bd41f720a6831241eddc67a403b80d", "fields": { - "title": "MinIOCredentials", + "block_schema_references": {}, + "block_type_slug": "minio-credentials", "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", - "type": "object", "properties": { "minio_root_user": { - "title": "Minio Root User", "description": "Admin or root user.", + "title": "Minio Root User", "type": "string" }, "minio_root_password": { - "title": "Minio Root Password", "description": "Admin or root password.", + "format": "password", + "title": "Minio Root Password", "type": "string", - "writeOnly": true, - "format": "password" + "writeOnly": true }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "Aws Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "$ref": "#/definitions/AwsClientParameters", + "description": "Extra parameters to initialize the Client." } }, "required": [ "minio_root_user", "minio_root_password" ], - "block_type_slug": "minio-credentials", "secret_fields": [ "minio_root_password" ], - "block_schema_references": {}, + "title": "MinIOCredentials", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "s3-bucket": { "name": "S3 Bucket", "slug": "s3-bucket", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/s3/#prefect_aws.s3.S3Bucket", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to store data using AWS S3 or S3-compatible object storage like MinIO. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "```python\nfrom prefect_aws.s3 import S3Bucket\n\ns3_bucket_block = S3Bucket.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:da1e638612365b12ec83b6102986cc5efe54e84b7144bd668629f6972afe748f", + "checksum": "sha256:75e98917fbe43266197b1fc435fe8c53cfdac9f86be146f2f2862facb0cba89a", "fields": { - "title": "S3Bucket", + "block_schema_references": { + "credentials": [ + { + "block_schema_checksum": "sha256:183968f2ba33532595e38f6b25abbbb273bd41f720a6831241eddc67a403b80d", + "block_type_slug": "minio-credentials" + }, + { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + ] + }, + "block_type_slug": "s3-bucket", "description": "Block used to store data using AWS S3 or S3-compatible object storage like MinIO.", - "type": "object", "properties": { "bucket_name": { - "title": "Bucket Name", "description": "Name of your bucket.", + "title": "Bucket Name", "type": "string" }, "credentials": { - "title": "Credentials", - "description": "A block containing your credentials to AWS or MinIO.", "anyOf": [ { "$ref": "#/definitions/MinIOCredentials" @@ -823,173 +800,238 @@ { "$ref": "#/definitions/AwsCredentials" } - ] + ], + "description": "A block containing your credentials to AWS or MinIO.", + "title": "Credentials" }, "bucket_folder": { - "title": "Bucket Folder", - "description": "A default path to a folder within the S3 bucket to use for reading and writing objects.", "default": "", + "description": "A default path to a folder within the S3 bucket to use for reading and writing objects.", + "title": "Bucket Folder", "type": "string" } }, "required": [ "bucket_name" ], - "block_type_slug": "s3-bucket", "secret_fields": [ "credentials.minio_root_password", "credentials.aws_secret_access_key" ], - "block_schema_references": { - "credentials": [ - { - "block_type_slug": "minio-credentials", - "block_schema_checksum": "sha256:5b4f1e5270f3a3670ff3d06b7e6e8246d54dacba976321dec42abe51c33415fb" - }, - { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - ] - }, + "title": "S3Bucket", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", - "description": "Advanced configuration for Botocore clients.", - "type": "object" - } - } - }, - "MinIOCredentials": { - "title": "MinIOCredentials", - "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", - "type": "object", - "properties": { - "minio_root_user": { - "title": "Minio Root User", - "description": "Admin or root user.", - "type": "string" - }, - "minio_root_password": { - "title": "Minio Root Password", - "description": "Admin or root password.", - "type": "string", - "writeOnly": true, - "format": "password" - }, - "region_name": { - "title": "Region Name", - "description": "The AWS Region where you want to create new connections.", - "type": "string" - }, - "aws_client_parameters": { - "title": "Aws Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ + "anyOf": [ { - "$ref": "#/definitions/AwsClientParameters" + "type": "object" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Advanced configuration for Botocore clients.", + "title": "Botocore Config" } }, - "required": [ - "minio_root_user", - "minio_root_password" - ], - "block_type_slug": "minio-credentials", - "secret_fields": [ - "minio_root_password" - ], - "block_schema_references": {} + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ + "title": "AWS Client Parameters" + } + }, + "secret_fields": [ + "aws_secret_access_key" + ], + "title": "AwsCredentials", + "type": "object" + }, + "MinIOCredentials": { + "block_schema_references": {}, + "block_type_slug": "minio-credentials", + "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", + "properties": { + "minio_root_user": { + "description": "Admin or root user.", + "title": "Minio Root User", + "type": "string" + }, + "minio_root_password": { + "description": "Admin or root password.", + "format": "password", + "title": "Minio Root Password", + "type": "string", + "writeOnly": true + }, + "region_name": { + "anyOf": [ + { + "type": "string" + }, { - "$ref": "#/definitions/AwsClientParameters" + "type": "null" } - ] + ], + "default": null, + "description": "The AWS Region where you want to create new connections.", + "title": "Region Name" + }, + "aws_client_parameters": { + "$ref": "#/definitions/AwsClientParameters", + "description": "Extra parameters to initialize the Client." } }, - "block_type_slug": "aws-credentials", + "required": [ + "minio_root_user", + "minio_root_password" + ], "secret_fields": [ - "aws_secret_access_key" + "minio_root_password" ], - "block_schema_references": {} + "title": "MinIOCredentials", + "type": "object" } } }, @@ -999,7 +1041,7 @@ "read-path", "write-path" ], - "version": "0.4.14" + "version": "0.5.3" } } } From 3af142049573f7cc02efd5127dc9d1e465d10a05 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:44 -0600 Subject: [PATCH 04/26] Update aggregate block metadata with `prefect` `v3.1.11` --- views/aggregate-block-metadata.json | 38 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/views/aggregate-block-metadata.json b/views/aggregate-block-metadata.json index 10617750..d3ac9c74 100644 --- a/views/aggregate-block-metadata.json +++ b/views/aggregate-block-metadata.json @@ -30,7 +30,7 @@ "type": "object" }, "capabilities": [], - "version": "3.1.5" + "version": "3.1.11" } }, "discord-webhook": { @@ -133,7 +133,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "json": { @@ -163,7 +163,7 @@ "type": "object" }, "capabilities": [], - "version": "3.1.5" + "version": "3.1.11" } }, "local-file-system": { @@ -204,7 +204,7 @@ "read-path", "write-path" ], - "version": "3.1.5" + "version": "3.1.11" } }, "mattermost-webhook": { @@ -317,7 +317,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "ms-teams-webhook": { @@ -388,7 +388,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "opsgenie-webhook": { @@ -585,7 +585,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "pager-duty-webhook": { @@ -738,7 +738,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "remote-file-system": { @@ -782,7 +782,7 @@ "read-path", "write-path" ], - "version": "3.1.5" + "version": "3.1.11" } }, "secret": { @@ -790,14 +790,14 @@ "slug": "secret", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c6f20e556dd16effda9df16551feecfb5822092b-48x48.png", "documentation_url": "https://docs.prefect.io/latest/develop/blocks", - "description": "A block that represents a secret value. The value stored in this block will be obfuscated when\nthis block is viewed or edited in the UI.", + "description": "A block that represents a secret value. The value stored in this block will be obfuscated when this block is viewed or edited in the UI.", "code_example": "```python\nfrom prefect.blocks.system import Secret\n\nSecret(value=\"sk-1234567890\").save(\"BLOCK_NAME\", overwrite=True)\n\nsecret_block = Secret.load(\"BLOCK_NAME\")\n\n# Access the stored secret\nsecret_block.get()\n```", "block_schema": { - "checksum": "sha256:fab1c36f1340a9fee1a4de830018147ac5266bf9121de8df9c1c23d8897cd701", + "checksum": "sha256:f290d6bec2665ff8179b4b88a1ba1942bc93b228504da8b65ce66e8aa70d6159", "fields": { "block_schema_references": {}, "block_type_slug": "secret", - "description": "A block that represents a secret value. The value stored in this block will be obfuscated when\nthis block is viewed or edited in the UI.", + "description": "A block that represents a secret value. The value stored in this block will be obfuscated when this block is viewed or edited in the UI.", "properties": { "value": { "anyOf": [ @@ -841,7 +841,7 @@ } }, "capabilities": [], - "version": "3.1.5" + "version": "3.1.11" } }, "sendgrid-email": { @@ -912,7 +912,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "slack-webhook": { @@ -971,7 +971,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "smb": { @@ -1062,7 +1062,7 @@ "read-path", "write-path" ], - "version": "3.1.5" + "version": "3.1.11" } }, "string": { @@ -1093,7 +1093,7 @@ "type": "object" }, "capabilities": [], - "version": "3.1.5" + "version": "3.1.11" } }, "twilio-sms": { @@ -1170,7 +1170,7 @@ "capabilities": [ "notify" ], - "version": "3.1.5" + "version": "3.1.11" } }, "webhook": { @@ -1239,7 +1239,7 @@ "type": "object" }, "capabilities": [], - "version": "3.1.5" + "version": "3.1.11" } } } From 598f40eff6893907c407559c43347a145b1178ca Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:47 -0600 Subject: [PATCH 05/26] Add `prefect` `v3.1.11` to worker records --- collections/prefect/workers/v3.1.11.json | 106 +++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 collections/prefect/workers/v3.1.11.json diff --git a/collections/prefect/workers/v3.1.11.json b/collections/prefect/workers/v3.1.11.json new file mode 100644 index 00000000..e5d45134 --- /dev/null +++ b/collections/prefect/workers/v3.1.11.json @@ -0,0 +1,106 @@ +{ + "prefect": { + "prefect-agent": { + "type": "prefect-agent", + "documentation_url": "https://docs.prefect.io/latest/concepts/work-pools/#agent-overview", + "display_name": "Prefect Agent", + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/c771bb53894c877e169c8db158c5598558b8f175-24x24.svg", + "install_command": "pip install prefect", + "default_base_job_configuration": {}, + "description": "Execute flow runs on heterogeneous infrastructure using infrastructure blocks." + }, + "process": { + "default_base_job_configuration": { + "job_configuration": { + "command": "{{ command }}", + "env": "{{ env }}", + "labels": "{{ labels }}", + "name": "{{ name }}", + "stream_output": "{{ stream_output }}", + "working_dir": "{{ working_dir }}" + }, + "variables": { + "properties": { + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "Name given to infrastructure created by a worker.", + "title": "Name" + }, + "env": { + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "description": "Environment variables to set when starting a flow run.", + "title": "Environment Variables", + "type": "object" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels applied to infrastructure created by a worker.", + "title": "Labels", + "type": "object" + }, + "command": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "The command to use when starting a flow run. In most cases, this should be left blank and the command will be automatically generated by the worker.", + "title": "Command" + }, + "stream_output": { + "default": true, + "description": "If enabled, workers will stream output from flow run processes to local standard output.", + "title": "Stream Output", + "type": "boolean" + }, + "working_dir": { + "anyOf": [ + { + "format": "path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "description": "If provided, workers will open flow run processes within the specified path as the working directory. Otherwise, a temporary directory will be created.", + "title": "Working Directory" + } + }, + "type": "object" + } + }, + "description": "Execute flow runs as subprocesses on a worker. Works well for local execution when first getting started.", + "display_name": "Process", + "documentation_url": "https://docs.prefect.io/latest/get-started/quickstart", + "install_command": "pip install prefect", + "is_beta": false, + "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/356e6766a91baf20e1d08bbe16e8b5aaef4d8643-48x48.png", + "type": "process" + } + } +} \ No newline at end of file From 3942eff9852f3c61258393fe2f90a93c1d13678a Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 20:59:48 -0600 Subject: [PATCH 06/26] Update aggregate worker metadata with `prefect` `v3.1.11` From 23b97ec20b27de8da2298126411b72dc533574c9 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:02:52 -0600 Subject: [PATCH 07/26] Add `prefect-aws` `v0.4.14` to flow records From 25436ff8aa7cc0c13001a5e3e88cf78686d80f52 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:02:53 -0600 Subject: [PATCH 08/26] Add `prefect` `v3.1.11` to block records From be809767ce9b6cca41da8701ac1d6041388909dd Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:02:54 -0600 Subject: [PATCH 09/26] Update aggregate block metadata with `prefect` `v3.1.11` From 028e6ffbbb3cbc4526abe4c757150b6620440405 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:02:55 -0600 Subject: [PATCH 10/26] Add `prefect-aws` `v0.4.14` to block records From 7b808bd18032701aa428f7310ae338f8a2349538 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:02:56 -0600 Subject: [PATCH 11/26] Update aggregate block metadata with `prefect-aws` `v0.4.14` --- views/aggregate-block-metadata.json | 1240 ++++++++++++++------------- 1 file changed, 641 insertions(+), 599 deletions(-) diff --git a/views/aggregate-block-metadata.json b/views/aggregate-block-metadata.json index d3ac9c74..50684117 100644 --- a/views/aggregate-block-metadata.json +++ b/views/aggregate-block-metadata.json @@ -1250,133 +1250,209 @@ "name": "AWS Credentials", "slug": "aws-credentials", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/credentials/#prefect_aws.credentials.AwsCredentials", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "Load stored AWS credentials:\n```python\nfrom prefect_aws import AwsCredentials\n\naws_credentials_block = AwsCredentials.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe", + "checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", "fields": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {}, + "title": "AwsCredentials", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "aws-secret": { "name": "AWS Secret", "slug": "aws-secret", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/secrets_manager/#prefect_aws.secrets_manager.AwsSecret", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Manages a secret in AWS's Secrets Manager. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "```python\nfrom prefect_aws.secrets_manager import AwsSecret\n\naws_secret_block = AwsSecret.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:d10fde5ac25b10edca4859c4d0bf61b4a9106215cd79ab80997f29859b190b7d", + "checksum": "sha256:9bc4fcf0131ca1e933827c346ed2cc6879fc2add3f336c400e14ce2eaa41799a", "fields": { - "title": "AwsSecret", + "block_schema_references": { + "aws_credentials": { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + }, + "block_type_slug": "aws-secret", "description": "Manages a secret in AWS's Secrets Manager.", - "type": "object", "properties": { "aws_credentials": { "$ref": "#/definitions/AwsCredentials" }, "secret_name": { - "title": "Secret Name", "description": "The name of the secret.", + "title": "Secret Name", "type": "string" } }, @@ -1384,683 +1460,584 @@ "aws_credentials", "secret_name" ], - "block_type_slug": "aws-secret", "secret_fields": [ "aws_credentials.aws_secret_access_key" ], - "block_schema_references": { - "aws_credentials": { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, + "title": "AwsSecret", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, - "ecs-task": { - "name": "ECS Task", - "slug": "ecs-task", + "lambda-function": { + "name": "Lambda Function", + "slug": "lambda-function", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/ecs/#prefect_aws.ecs.ECSTask", - "description": "DEPRECATION WARNING: This block is deprecated along with Agents and all other Infrastructure blocks. It will be removed in `prefect>=3.0.0`. Run a command as an ECS task. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", - "code_example": "```python\nfrom prefect_aws.ecs import ECSTask\n\necs_task_block = ECSTask.load(\"BLOCK_NAME\")\n```", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", + "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", + "code_example": "```python\nfrom prefect_aws.lambda_function import LambdaFunction\n\nlambda_function_block = LambdaFunction.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:d72b495859da39536d3e1119ddabd42a10866867b97c4834956ae231120858ca", + "checksum": "sha256:c432d90bd00091f03ce62155584d44c1f37d8ef6cccff10ee2d7c346216a9be1", "fields": { - "title": "ECSTask", - "description": "Run a command as an ECS task.", - "type": "object", + "block_schema_references": { + "aws_credentials": { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + }, + "block_type_slug": "lambda-function", + "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock.", "properties": { - "type": { - "title": "Type", - "description": "The slug for this task type.", - "default": "ecs-task", - "enum": [ - "ecs-task" - ], - "type": "string" - }, - "env": { - "title": "Environment Variables", - "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "labels": { - "title": "Labels", - "description": "Labels applied to the infrastructure for metadata purposes.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "name": { - "title": "Name", - "description": "Name applied to the infrastructure for identification.", + "function_name": { + "description": "The name, ARN, or partial ARN of the Lambda function to run. This must be the name of a function that is already deployed to AWS Lambda.", + "title": "Function Name", "type": "string" }, - "command": { - "title": "Command", - "description": "The command to run in the infrastructure.", - "type": "array", - "items": { - "type": "string" - } - }, - "aws_credentials": { - "title": "AWS Credentials", - "description": "The AWS credentials to use to connect to ECS.", - "allOf": [ + "qualifier": { + "anyOf": [ { - "$ref": "#/definitions/AwsCredentials" - } - ] - }, - "task_definition_arn": { - "title": "Task Definition Arn", - "description": "An identifier for an existing task definition to use. If fields are set on the `ECSTask` that conflict with the task definition, a new copy will be registered with the required values. Cannot be used with `task_definition`. If not provided, Prefect will generate and register a minimal task definition.", - "type": "string" - }, - "task_definition": { - "title": "Task Definition", - "description": "An ECS task definition to use. Prefect may set defaults or override fields on this task definition to match other `ECSTask` fields. Cannot be used with `task_definition_arn`. If not provided, Prefect will generate and register a minimal task definition.", - "type": "object" - }, - "family": { - "title": "Family", - "description": "A family for the task definition. If not provided, it will be inferred from the task definition. If the task definition does not have a family, the name will be generated. When flow and deployment metadata is available, the generated name will include their names. Values for this field will be slugified to match AWS character requirements.", - "type": "string" - }, - "image": { - "title": "Image", - "description": "The image to use for the Prefect container in the task. If this value is not null, it will override the value in the task definition. This value defaults to a Prefect base image matching your local versions.", - "type": "string" - }, - "auto_deregister_task_definition": { - "title": "Auto Deregister Task Definition", - "description": "If set, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", - "default": true, - "type": "boolean" - }, - "cpu": { - "title": "CPU", - "description": "The amount of CPU to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 1024 will be used unless present on the task definition.", - "type": "integer" - }, - "memory": { - "title": "Memory", - "description": "The amount of memory to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 2048 will be used unless present on the task definition.", - "type": "integer" - }, - "execution_role_arn": { - "title": "Execution Role ARN", - "description": "An execution role to use for the task. This controls the permissions of the task when it is launching. If this value is not null, it will override the value in the task definition. An execution role must be provided to capture logs from the container.", - "type": "string" - }, - "configure_cloudwatch_logs": { - "title": "Configure Cloudwatch Logs", - "description": "If `True`, the Prefect container will be configured to send its output to the AWS CloudWatch logs service. This functionality requires an execution role with logs:CreateLogStream, logs:CreateLogGroup, and logs:PutLogEvents permissions. The default for this field is `False` unless `stream_output` is set.", - "type": "boolean" - }, - "cloudwatch_logs_options": { - "title": "Cloudwatch Logs Options", - "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the AWS documentation for available options. https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options.", - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "stream_output": { - "title": "Stream Output", - "description": "If `True`, logs will be streamed from the Prefect container to the local console. Unless you have configured AWS CloudWatch logs manually on your task definition, this requires the same prerequisites outlined in `configure_cloudwatch_logs`.", - "type": "boolean" - }, - "launch_type": { - "title": "Launch Type", - "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", - "default": "FARGATE", - "enum": [ - "FARGATE", - "EC2", - "EXTERNAL", - "FARGATE_SPOT" - ], - "type": "string" - }, - "vpc_id": { - "title": "VPC ID", - "description": "The AWS VPC to link the task run to. This is only applicable when using the 'awsvpc' network mode for your task. FARGATE tasks require this network mode, but for EC2 tasks the default network mode is 'bridge'. If using the 'awsvpc' network mode and this field is null, your default VPC will be used. If no default VPC can be found, the task run will fail.", - "type": "string" - }, - "cluster": { - "title": "Cluster", - "description": "The ECS cluster to run the task in. The ARN or name may be provided. If not provided, the default cluster will be used.", - "type": "string" - }, - "task_role_arn": { - "title": "Task Role ARN", - "description": "A role to attach to the task run. This controls the permissions of the task while it is running.", - "type": "string" - }, - "task_customizations": { - "title": "Task Customizations", - "description": "A list of JSON 6902 patches to apply to the task run request. If a string is given, it will parsed as a JSON expression.", - "type": "array", - "format": "rfc6902", - "items": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "task_start_timeout_seconds": { - "title": "Task Start Timeout Seconds", - "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", - "default": 120, - "type": "integer" - }, - "task_watch_poll_interval": { - "title": "Task Watch Poll Interval", - "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", - "default": 5.0, - "type": "number" - } - }, - "block_type_slug": "ecs-task", - "secret_fields": [ - "aws_credentials.aws_secret_access_key" - ], - "block_schema_references": { - "aws_credentials": { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, - "definitions": { - "AwsClientParameters": { - "title": "AwsClientParameters", - "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", - "properties": { - "api_version": { - "title": "API Version", - "description": "The API version to use.", "type": "string" }, - "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", - "default": true, - "type": "boolean" - }, - "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "string", - "format": "file-path" - } - ] - }, - "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", - "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" - }, - "endpoint_url": { - "title": "Endpoint URL", - "description": "The complete URL to use for the constructed client.", - "type": "string" - }, - "config": { - "title": "Botocore Config", - "description": "Advanced configuration for Botocore clients.", - "type": "object" - } - } - }, - "AwsCredentials": { - "title": "AwsCredentials", - "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", - "properties": { - "aws_access_key_id": { - "title": "AWS Access Key ID", - "description": "A specific AWS access key ID.", - "type": "string" - }, - "aws_secret_access_key": { - "title": "AWS Access Key Secret", - "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" - }, - "aws_session_token": { - "title": "AWS Session Token", - "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" - }, - "profile_name": { - "title": "Profile Name", - "description": "The profile to use when creating your session.", - "type": "string" - }, - "region_name": { - "title": "Region Name", - "description": "The AWS Region where you want to create new connections.", - "type": "string" - }, - "aws_client_parameters": { - "title": "AWS Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + { + "type": "null" } - }, - "block_type_slug": "aws-credentials", - "secret_fields": [ - "aws_secret_access_key" ], - "block_schema_references": {} - } - } - }, - "capabilities": [ - "run-infrastructure" - ], - "version": "0.4.14" - } - }, - "lambda-function": { - "name": "Lambda Function", - "slug": "lambda-function", - "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/s3/#prefect_aws.lambda_function.LambdaFunction", - "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", - "code_example": "```python\nfrom prefect_aws.lambda_function import LambdaFunction\n\nlambda_function_block = LambdaFunction.load(\"BLOCK_NAME\")\n```", - "block_schema": { - "checksum": "sha256:93fb424309b85c0ef9a8e69cc9d0df1e0afa0f2ed15f1ecc710ec3463513b2e4", - "fields": { - "title": "LambdaFunction", - "description": "Invoke a Lambda function. This block is part of the prefect-aws\ncollection. Install prefect-aws with `pip install prefect-aws` to use this\nblock.", - "type": "object", - "properties": { - "function_name": { - "title": "Function Name", - "description": "The name, ARN, or partial ARN of the Lambda function to run. This must be the name of a function that is already deployed to AWS Lambda.", - "type": "string" - }, - "qualifier": { - "title": "Qualifier", + "default": null, "description": "The version or alias of the Lambda function to use when invoked. If not specified, the latest (unqualified) version of the Lambda function will be used.", - "type": "string" + "title": "Qualifier" }, "aws_credentials": { - "title": "AWS Credentials", + "$ref": "#/definitions/AwsCredentials", "description": "The AWS credentials to invoke the Lambda with.", - "allOf": [ - { - "$ref": "#/definitions/AwsCredentials" - } - ] + "title": "AWS Credentials" } }, "required": [ "function_name" ], - "block_type_slug": "lambda-function", "secret_fields": [ "aws_credentials.aws_secret_access_key" ], - "block_schema_references": { - "aws_credentials": { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - }, + "title": "LambdaFunction", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "minio-credentials": { "name": "MinIO Credentials", "slug": "minio-credentials", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/676cb17bcbdff601f97e0a02ff8bcb480e91ff40-250x250.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/credentials/#prefect_aws.credentials.MinIOCredentials", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "Load stored MinIO credentials:\n```python\nfrom prefect_aws import MinIOCredentials\n\nminio_credentials_block = MinIOCredentials.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:5b4f1e5270f3a3670ff3d06b7e6e8246d54dacba976321dec42abe51c33415fb", + "checksum": "sha256:183968f2ba33532595e38f6b25abbbb273bd41f720a6831241eddc67a403b80d", "fields": { - "title": "MinIOCredentials", + "block_schema_references": {}, + "block_type_slug": "minio-credentials", "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", - "type": "object", "properties": { "minio_root_user": { - "title": "Minio Root User", "description": "Admin or root user.", + "title": "Minio Root User", "type": "string" }, "minio_root_password": { - "title": "Minio Root Password", "description": "Admin or root password.", + "format": "password", + "title": "Minio Root Password", "type": "string", - "writeOnly": true, - "format": "password" + "writeOnly": true }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "Aws Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "$ref": "#/definitions/AwsClientParameters", + "description": "Extra parameters to initialize the Client." } }, "required": [ "minio_root_user", "minio_root_password" ], - "block_type_slug": "minio-credentials", "secret_fields": [ "minio_root_password" ], - "block_schema_references": {}, + "title": "MinIOCredentials", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" } } }, "capabilities": [], - "version": "0.4.14" + "version": "0.5.3" } }, "s3-bucket": { "name": "S3 Bucket", "slug": "s3-bucket", "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", - "documentation_url": "https://prefecthq.github.io/prefect-aws/s3/#prefect_aws.s3.S3Bucket", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws", "description": "Block used to store data using AWS S3 or S3-compatible object storage like MinIO. This block is part of the prefect-aws collection. Install prefect-aws with `pip install prefect-aws` to use this block.", "code_example": "```python\nfrom prefect_aws.s3 import S3Bucket\n\ns3_bucket_block = S3Bucket.load(\"BLOCK_NAME\")\n```", "block_schema": { - "checksum": "sha256:da1e638612365b12ec83b6102986cc5efe54e84b7144bd668629f6972afe748f", + "checksum": "sha256:75e98917fbe43266197b1fc435fe8c53cfdac9f86be146f2f2862facb0cba89a", "fields": { - "title": "S3Bucket", + "block_schema_references": { + "credentials": [ + { + "block_schema_checksum": "sha256:183968f2ba33532595e38f6b25abbbb273bd41f720a6831241eddc67a403b80d", + "block_type_slug": "minio-credentials" + }, + { + "block_schema_checksum": "sha256:70ce5b4ca4eb37d31fa6adc810651a0202670af0e0b09ac31741c34f743c5d79", + "block_type_slug": "aws-credentials" + } + ] + }, + "block_type_slug": "s3-bucket", "description": "Block used to store data using AWS S3 or S3-compatible object storage like MinIO.", - "type": "object", "properties": { "bucket_name": { - "title": "Bucket Name", "description": "Name of your bucket.", + "title": "Bucket Name", "type": "string" }, "credentials": { - "title": "Credentials", - "description": "A block containing your credentials to AWS or MinIO.", "anyOf": [ { "$ref": "#/definitions/MinIOCredentials" @@ -2068,173 +2045,238 @@ { "$ref": "#/definitions/AwsCredentials" } - ] + ], + "description": "A block containing your credentials to AWS or MinIO.", + "title": "Credentials" }, "bucket_folder": { - "title": "Bucket Folder", - "description": "A default path to a folder within the S3 bucket to use for reading and writing objects.", "default": "", + "description": "A default path to a folder within the S3 bucket to use for reading and writing objects.", + "title": "Bucket Folder", "type": "string" } }, "required": [ "bucket_name" ], - "block_type_slug": "s3-bucket", "secret_fields": [ "credentials.minio_root_password", "credentials.aws_secret_access_key" ], - "block_schema_references": { - "credentials": [ - { - "block_type_slug": "minio-credentials", - "block_schema_checksum": "sha256:5b4f1e5270f3a3670ff3d06b7e6e8246d54dacba976321dec42abe51c33415fb" - }, - { - "block_type_slug": "aws-credentials", - "block_schema_checksum": "sha256:17b73297ed60f080fb235b3a5a145a6d9b28a09b3ff2d9d17810b5e2c2075ebe" - } - ] - }, + "title": "S3Bucket", + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", - "description": "Advanced configuration for Botocore clients.", - "type": "object" - } - } - }, - "MinIOCredentials": { - "title": "MinIOCredentials", - "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", - "type": "object", - "properties": { - "minio_root_user": { - "title": "Minio Root User", - "description": "Admin or root user.", - "type": "string" - }, - "minio_root_password": { - "title": "Minio Root Password", - "description": "Admin or root password.", - "type": "string", - "writeOnly": true, - "format": "password" - }, - "region_name": { - "title": "Region Name", - "description": "The AWS Region where you want to create new connections.", - "type": "string" - }, - "aws_client_parameters": { - "title": "Aws Client Parameters", - "description": "Extra parameters to initialize the Client.", - "allOf": [ + "anyOf": [ + { + "type": "object" + }, { - "$ref": "#/definitions/AwsClientParameters" + "type": "null" } - ] + ], + "default": null, + "description": "Advanced configuration for Botocore clients.", + "title": "Botocore Config" } }, - "required": [ - "minio_root_user", - "minio_root_password" - ], - "block_type_slug": "minio-credentials", - "secret_fields": [ - "minio_root_password" - ], - "block_schema_references": {} + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ + "title": "AWS Client Parameters" + } + }, + "secret_fields": [ + "aws_secret_access_key" + ], + "title": "AwsCredentials", + "type": "object" + }, + "MinIOCredentials": { + "block_schema_references": {}, + "block_type_slug": "minio-credentials", + "description": "Block used to manage authentication with MinIO. Refer to the MinIO docs: https://docs.min.io/docs/minio-server-configuration-guide.html for more info about the possible credential configurations.", + "properties": { + "minio_root_user": { + "description": "Admin or root user.", + "title": "Minio Root User", + "type": "string" + }, + "minio_root_password": { + "description": "Admin or root password.", + "format": "password", + "title": "Minio Root Password", + "type": "string", + "writeOnly": true + }, + "region_name": { + "anyOf": [ + { + "type": "string" + }, { - "$ref": "#/definitions/AwsClientParameters" + "type": "null" } - ] + ], + "default": null, + "description": "The AWS Region where you want to create new connections.", + "title": "Region Name" + }, + "aws_client_parameters": { + "$ref": "#/definitions/AwsClientParameters", + "description": "Extra parameters to initialize the Client." } }, - "block_type_slug": "aws-credentials", + "required": [ + "minio_root_user", + "minio_root_password" + ], "secret_fields": [ - "aws_secret_access_key" + "minio_root_password" ], - "block_schema_references": {} + "title": "MinIOCredentials", + "type": "object" } } }, @@ -2244,7 +2286,7 @@ "read-path", "write-path" ], - "version": "0.4.14" + "version": "0.5.3" } } } From 49753c09f43f49485a421feac5b853d357eaa055 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:03:26 -0600 Subject: [PATCH 12/26] Add `prefect` `v3.1.11` to worker records From 798bae4b8cb5f2d532a91aedb30be7209fc53049 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:03:27 -0600 Subject: [PATCH 13/26] Update aggregate worker metadata with `prefect` `v3.1.11` From 4167b36fab317f872e1dfe9a178baf1ea9c4a046 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:08:59 -0600 Subject: [PATCH 14/26] Add `prefect` `v3.1.11` to block records From 854afa1292c9c5774f6b819b0fe4e240fa9ad279 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:09:00 -0600 Subject: [PATCH 15/26] Update aggregate block metadata with `prefect` `v3.1.11` From ed57cbc49b437b241876d2d924b2c817bfba7961 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:09:05 -0600 Subject: [PATCH 16/26] Add `prefect` `v3.1.11` to worker records From e605f30220fa9a41092eab83fd0ede6dbef861a4 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:09:05 -0600 Subject: [PATCH 17/26] Update aggregate worker metadata with `prefect` `v3.1.11` From 930d66ea0a79be508ba60511bee1deb4fbd01360 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:34 -0600 Subject: [PATCH 18/26] Add `prefect-aws` `v0.4.14` to flow records From 7c9db2ac58f54c38b74a4220f0faa819400d1722 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:35 -0600 Subject: [PATCH 19/26] Add `prefect` `v3.1.11` to block records From 449704045a3da790d200999e3db10a2b9df04f99 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:35 -0600 Subject: [PATCH 20/26] Update aggregate block metadata with `prefect` `v3.1.11` From 278762e3efb6347771420fdc7cc07aae4064640d Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:36 -0600 Subject: [PATCH 21/26] Add `prefect-aws` `v0.4.14` to block records From 0fc3ae00321c1767cc508d828df360044f042665 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:37 -0600 Subject: [PATCH 22/26] Update aggregate block metadata with `prefect-aws` `v0.4.14` From acb0f83e95ffaf20127a4180ff9a625240b4e205 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:40 -0600 Subject: [PATCH 23/26] Add `prefect` `v3.1.11` to worker records From 91805debb421e85da54a02d3d255193f9df6b939 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:41 -0600 Subject: [PATCH 24/26] Update aggregate worker metadata with `prefect` `v3.1.11` From 6d58cc389c8965f279c769401827b30e685cb318 Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:42 -0600 Subject: [PATCH 25/26] Add `prefect-aws` `v0.4.14` to worker records --- collections/prefect-aws/workers/v0.4.14.json | 433 ++++++++++++++----- 1 file changed, 314 insertions(+), 119 deletions(-) diff --git a/collections/prefect-aws/workers/v0.4.14.json b/collections/prefect-aws/workers/v0.4.14.json index 47adc3de..9d7d3f7e 100644 --- a/collections/prefect-aws/workers/v0.4.14.json +++ b/collections/prefect-aws/workers/v0.4.14.json @@ -16,21 +16,22 @@ } ], "cpu": "{{ cpu }}", + "executionRoleArn": "{{ execution_role_arn }}", "family": "{{ family }}", - "memory": "{{ memory }}", - "executionRoleArn": "{{ execution_role_arn }}" + "memory": "{{ memory }}" }, "task_run_request": { - "launchType": "{{ launch_type }}", + "capacityProviderStrategy": "{{ capacity_provider_strategy }}", "cluster": "{{ cluster }}", + "launchType": "{{ launch_type }}", "overrides": { "containerOverrides": [ { - "name": "{{ container_name }}", "command": "{{ command }}", - "environment": "{{ env }}", "cpu": "{{ cpu }}", - "memory": "{{ memory }}" + "environment": "{{ env }}", + "memory": "{{ memory }}", + "name": "{{ container_name }}" } ], "cpu": "{{ cpu }}", @@ -38,8 +39,7 @@ "taskRoleArn": "{{ task_role_arn }}" }, "tags": "{{ labels }}", - "taskDefinition": "{{ task_definition_arn }}", - "capacityProviderStrategy": "{{ capacity_provider_strategy }}" + "taskDefinition": "{{ task_definition_arn }}" }, "configure_cloudwatch_logs": "{{ configure_cloudwatch_logs }}", "cloudwatch_logs_options": "{{ cloudwatch_logs_options }}", @@ -52,271 +52,464 @@ "vpc_id": "{{ vpc_id }}", "container_name": "{{ container_name }}", "cluster": "{{ cluster }}", - "match_latest_revision_in_family": "{{ match_latest_revision_in_family }}" + "match_latest_revision_in_family": "{{ match_latest_revision_in_family }}", + "execution_role_arn": "{{ execution_role_arn }}" }, "variables": { "description": "Variables for templating an ECS job.", - "type": "object", "properties": { "name": { - "title": "Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Name given to infrastructure created by a worker.", - "type": "string" + "title": "Name" }, "env": { - "title": "Environment Variables", - "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", - "type": "object", "additionalProperties": { - "type": "string" - } + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", + "title": "Environment Variables", + "type": "object" }, "labels": { - "title": "Labels", - "description": "Labels applied to infrastructure created by a worker.", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Labels applied to infrastructure created by a worker.", + "title": "Labels", + "type": "object" }, "command": { - "title": "Command", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The command to use when starting a flow run. In most cases, this should be left blank and the command will be automatically generated by the worker.", - "type": "string" + "title": "Command" }, "task_definition_arn": { - "title": "Task Definition Arn", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "An identifier for an existing task definition to use. If set, options that require changes to the task definition will be ignored. All contents of the task definition in the job configuration will be ignored.", - "type": "string" + "title": "Task Definition Arn" }, "aws_credentials": { - "title": "AWS Credentials", + "$ref": "#/definitions/AwsCredentials", "description": "The AWS credentials to use to connect to ECS. If not provided, credentials will be inferred from the local environment following AWS's boto client's rules.", - "allOf": [ - { - "$ref": "#/definitions/AwsCredentials" - } - ] + "title": "AWS Credentials" }, "cluster": { - "title": "Cluster", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The ECS cluster to run the task in. An ARN or name may be provided. If not provided, the default cluster will be used.", - "type": "string" + "title": "Cluster" }, "family": { - "title": "Family", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A family for the task definition. If not provided, it will be inferred from the task definition. If the task definition does not have a family, the name will be generated. When flow and deployment metadata is available, the generated name will include their names. Values for this field will be slugified to match AWS character requirements.", - "type": "string" + "title": "Family" }, "launch_type": { - "title": "Launch Type", - "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", "default": "FARGATE", + "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", "enum": [ "FARGATE", "EC2", "EXTERNAL", "FARGATE_SPOT" ], + "title": "Launch Type", "type": "string" }, "capacity_provider_strategy": { - "title": "Capacity Provider Strategy", "description": "The capacity provider strategy to use when running the task. If a capacity provider strategy is specified, the selected launch type will be ignored.", - "type": "array", "items": { "$ref": "#/definitions/CapacityProvider" - } + }, + "title": "Capacity Provider Strategy", + "type": "array" }, "image": { - "title": "Image", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The image to use for the Prefect container in the task. If this value is not null, it will override the value in the task definition. This value defaults to a Prefect base image matching your local versions.", - "type": "string" + "title": "Image" }, "cpu": { - "title": "CPU", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, "description": "The amount of CPU to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 1024 will be used unless present on the task definition.", - "type": "integer" + "title": "CPU" }, "memory": { - "title": "Memory", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, "description": "The amount of memory to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 2048 will be used unless present on the task definition.", - "type": "integer" + "title": "Memory" }, "container_name": { - "title": "Container Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The name of the container flow run orchestration will occur in. If not specified, a default value of prefect will be used and if that is not found in the task definition the first container will be used.", - "type": "string" + "title": "Container Name" }, "task_role_arn": { - "title": "Task Role ARN", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A role to attach to the task run. This controls the permissions of the task while it is running.", - "type": "string" + "title": "Task Role ARN" }, "execution_role_arn": { - "title": "Execution Role ARN", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "An execution role to use for the task. This controls the permissions of the task when it is launching. If this value is not null, it will override the value in the task definition. An execution role must be provided to capture logs from the container.", - "type": "string" + "title": "Execution Role ARN" }, "vpc_id": { - "title": "VPC ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS VPC to link the task run to. This is only applicable when using the 'awsvpc' network mode for your task. FARGATE tasks require this network mode, but for EC2 tasks the default network mode is 'bridge'. If using the 'awsvpc' network mode and this field is null, your default VPC will be used. If no default VPC can be found, the task run will fail.", - "type": "string" + "title": "VPC ID" }, "configure_cloudwatch_logs": { - "title": "Configure Cloudwatch Logs", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, "description": "If enabled, the Prefect container will be configured to send its output to the AWS CloudWatch logs service. This functionality requires an execution role with logs:CreateLogStream, logs:CreateLogGroup, and logs:PutLogEvents permissions. The default for this field is `False` unless `stream_output` is set.", - "type": "boolean" + "title": "Configure Cloudwatch Logs" }, "cloudwatch_logs_options": { - "title": "Cloudwatch Logs Options", - "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options) for available options. ", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options) for available options. ", + "title": "Cloudwatch Logs Options", + "type": "object" }, "cloudwatch_logs_prefix": { - "title": "Cloudwatch Logs Prefix", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to set a prefix for the log group. If not provided, the default prefix will be `prefect-logs__`. If `awslogs-stream-prefix` is present in `Cloudwatch logs options` this setting will be ignored.", - "type": "string" + "title": "Cloudwatch Logs Prefix" }, "network_configuration": { - "title": "Network Configuration", "description": "When `network_configuration` is supplied it will override ECS Worker'sawsvpcConfiguration that defined in the ECS task executing your workload. See the [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html) for available options.", + "title": "Network Configuration", "type": "object" }, "stream_output": { - "title": "Stream Output", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, "description": "If enabled, logs will be streamed from the Prefect container to the local console. Unless you have configured AWS CloudWatch logs manually on your task definition, this requires the same prerequisites outlined in `configure_cloudwatch_logs`.", - "type": "boolean" + "title": "Stream Output" }, "task_start_timeout_seconds": { - "title": "Task Start Timeout Seconds", - "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", "default": 300, + "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", + "title": "Task Start Timeout Seconds", "type": "integer" }, "task_watch_poll_interval": { - "title": "Task Watch Poll Interval", - "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", "default": 5.0, + "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", + "title": "Task Watch Poll Interval", "type": "number" }, "auto_deregister_task_definition": { - "title": "Auto Deregister Task Definition", - "description": "If enabled, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", "default": false, + "description": "If enabled, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", + "title": "Auto Deregister Task Definition", "type": "boolean" }, "match_latest_revision_in_family": { - "title": "Match Latest Revision In Family", - "description": "If enabled, the most recent active revision in the task definition family will be compared against the desired ECS task configuration. If they are equal, the existing task definition will be used instead of registering a new one. If no family is specified the default family \"prefect\" will be used.", "default": false, + "description": "If enabled, the most recent active revision in the task definition family will be compared against the desired ECS task configuration. If they are equal, the existing task definition will be used instead of registering a new one. If no family is specified the default family \"prefect\" will be used.", + "title": "Match Latest Revision In Family", "type": "boolean" } }, + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" }, "CapacityProvider": { - "title": "CapacityProvider", "description": "The capacity provider strategy to use when running the task.", - "type": "object", "properties": { "capacityProvider": { "title": "Capacityprovider", @@ -335,14 +528,16 @@ "capacityProvider", "weight", "base" - ] + ], + "title": "CapacityProvider", + "type": "object" } } } }, "description": "Execute flow runs within containers on AWS ECS. Works with EC2 and Fargate clusters. Requires an AWS account.", "display_name": "AWS Elastic Container Service", - "documentation_url": "https://prefecthq.github.io/prefect-aws/ecs_worker/", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws/", "install_command": "pip install prefect-aws", "is_beta": false, "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png", From f7c7dc3cde3899fe78d8dc89dca1bbd9d9cae4ff Mon Sep 17 00:00:00 2001 From: nate nowack Date: Sun, 5 Jan 2025 21:11:43 -0600 Subject: [PATCH 26/26] Update aggregate worker metadata with `prefect-aws` `v0.4.14` --- views/aggregate-worker-metadata.json | 433 +++++++++++++++++++-------- 1 file changed, 314 insertions(+), 119 deletions(-) diff --git a/views/aggregate-worker-metadata.json b/views/aggregate-worker-metadata.json index ac12dad6..b3d3faba 100644 --- a/views/aggregate-worker-metadata.json +++ b/views/aggregate-worker-metadata.json @@ -120,21 +120,22 @@ } ], "cpu": "{{ cpu }}", + "executionRoleArn": "{{ execution_role_arn }}", "family": "{{ family }}", - "memory": "{{ memory }}", - "executionRoleArn": "{{ execution_role_arn }}" + "memory": "{{ memory }}" }, "task_run_request": { - "launchType": "{{ launch_type }}", + "capacityProviderStrategy": "{{ capacity_provider_strategy }}", "cluster": "{{ cluster }}", + "launchType": "{{ launch_type }}", "overrides": { "containerOverrides": [ { - "name": "{{ container_name }}", "command": "{{ command }}", - "environment": "{{ env }}", "cpu": "{{ cpu }}", - "memory": "{{ memory }}" + "environment": "{{ env }}", + "memory": "{{ memory }}", + "name": "{{ container_name }}" } ], "cpu": "{{ cpu }}", @@ -142,8 +143,7 @@ "taskRoleArn": "{{ task_role_arn }}" }, "tags": "{{ labels }}", - "taskDefinition": "{{ task_definition_arn }}", - "capacityProviderStrategy": "{{ capacity_provider_strategy }}" + "taskDefinition": "{{ task_definition_arn }}" }, "configure_cloudwatch_logs": "{{ configure_cloudwatch_logs }}", "cloudwatch_logs_options": "{{ cloudwatch_logs_options }}", @@ -156,271 +156,464 @@ "vpc_id": "{{ vpc_id }}", "container_name": "{{ container_name }}", "cluster": "{{ cluster }}", - "match_latest_revision_in_family": "{{ match_latest_revision_in_family }}" + "match_latest_revision_in_family": "{{ match_latest_revision_in_family }}", + "execution_role_arn": "{{ execution_role_arn }}" }, "variables": { "description": "Variables for templating an ECS job.", - "type": "object", "properties": { "name": { - "title": "Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Name given to infrastructure created by a worker.", - "type": "string" + "title": "Name" }, "env": { - "title": "Environment Variables", - "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", - "type": "object", "additionalProperties": { - "type": "string" - } + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "description": "Environment variables to provide to the task run. These variables are set on the Prefect container at task runtime. These will not be set on the task definition.", + "title": "Environment Variables", + "type": "object" }, "labels": { - "title": "Labels", - "description": "Labels applied to infrastructure created by a worker.", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "Labels applied to infrastructure created by a worker.", + "title": "Labels", + "type": "object" }, "command": { - "title": "Command", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The command to use when starting a flow run. In most cases, this should be left blank and the command will be automatically generated by the worker.", - "type": "string" + "title": "Command" }, "task_definition_arn": { - "title": "Task Definition Arn", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "An identifier for an existing task definition to use. If set, options that require changes to the task definition will be ignored. All contents of the task definition in the job configuration will be ignored.", - "type": "string" + "title": "Task Definition Arn" }, "aws_credentials": { - "title": "AWS Credentials", + "$ref": "#/definitions/AwsCredentials", "description": "The AWS credentials to use to connect to ECS. If not provided, credentials will be inferred from the local environment following AWS's boto client's rules.", - "allOf": [ - { - "$ref": "#/definitions/AwsCredentials" - } - ] + "title": "AWS Credentials" }, "cluster": { - "title": "Cluster", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The ECS cluster to run the task in. An ARN or name may be provided. If not provided, the default cluster will be used.", - "type": "string" + "title": "Cluster" }, "family": { - "title": "Family", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A family for the task definition. If not provided, it will be inferred from the task definition. If the task definition does not have a family, the name will be generated. When flow and deployment metadata is available, the generated name will include their names. Values for this field will be slugified to match AWS character requirements.", - "type": "string" + "title": "Family" }, "launch_type": { - "title": "Launch Type", - "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", "default": "FARGATE", + "description": "The type of ECS task run infrastructure that should be used. Note that 'FARGATE_SPOT' is not a formal ECS launch type, but we will configure the proper capacity provider strategy if set here.", "enum": [ "FARGATE", "EC2", "EXTERNAL", "FARGATE_SPOT" ], + "title": "Launch Type", "type": "string" }, "capacity_provider_strategy": { - "title": "Capacity Provider Strategy", "description": "The capacity provider strategy to use when running the task. If a capacity provider strategy is specified, the selected launch type will be ignored.", - "type": "array", "items": { "$ref": "#/definitions/CapacityProvider" - } + }, + "title": "Capacity Provider Strategy", + "type": "array" }, "image": { - "title": "Image", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The image to use for the Prefect container in the task. If this value is not null, it will override the value in the task definition. This value defaults to a Prefect base image matching your local versions.", - "type": "string" + "title": "Image" }, "cpu": { - "title": "CPU", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, "description": "The amount of CPU to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 1024 will be used unless present on the task definition.", - "type": "integer" + "title": "CPU" }, "memory": { - "title": "Memory", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "default": null, "description": "The amount of memory to provide to the ECS task. Valid amounts are specified in the AWS documentation. If not provided, a default value of 2048 will be used unless present on the task definition.", - "type": "integer" + "title": "Memory" }, "container_name": { - "title": "Container Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The name of the container flow run orchestration will occur in. If not specified, a default value of prefect will be used and if that is not found in the task definition the first container will be used.", - "type": "string" + "title": "Container Name" }, "task_role_arn": { - "title": "Task Role ARN", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A role to attach to the task run. This controls the permissions of the task while it is running.", - "type": "string" + "title": "Task Role ARN" }, "execution_role_arn": { - "title": "Execution Role ARN", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "An execution role to use for the task. This controls the permissions of the task when it is launching. If this value is not null, it will override the value in the task definition. An execution role must be provided to capture logs from the container.", - "type": "string" + "title": "Execution Role ARN" }, "vpc_id": { - "title": "VPC ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS VPC to link the task run to. This is only applicable when using the 'awsvpc' network mode for your task. FARGATE tasks require this network mode, but for EC2 tasks the default network mode is 'bridge'. If using the 'awsvpc' network mode and this field is null, your default VPC will be used. If no default VPC can be found, the task run will fail.", - "type": "string" + "title": "VPC ID" }, "configure_cloudwatch_logs": { - "title": "Configure Cloudwatch Logs", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, "description": "If enabled, the Prefect container will be configured to send its output to the AWS CloudWatch logs service. This functionality requires an execution role with logs:CreateLogStream, logs:CreateLogGroup, and logs:PutLogEvents permissions. The default for this field is `False` unless `stream_output` is set.", - "type": "boolean" + "title": "Configure Cloudwatch Logs" }, "cloudwatch_logs_options": { - "title": "Cloudwatch Logs Options", - "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options) for available options. ", - "type": "object", "additionalProperties": { "type": "string" - } + }, + "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to pass additional options to the CloudWatch logs configuration or override the default options. See the [AWS documentation](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html#create_awslogs_logdriver_options) for available options. ", + "title": "Cloudwatch Logs Options", + "type": "object" }, "cloudwatch_logs_prefix": { - "title": "Cloudwatch Logs Prefix", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "When `configure_cloudwatch_logs` is enabled, this setting may be used to set a prefix for the log group. If not provided, the default prefix will be `prefect-logs__`. If `awslogs-stream-prefix` is present in `Cloudwatch logs options` this setting will be ignored.", - "type": "string" + "title": "Cloudwatch Logs Prefix" }, "network_configuration": { - "title": "Network Configuration", "description": "When `network_configuration` is supplied it will override ECS Worker'sawsvpcConfiguration that defined in the ECS task executing your workload. See the [AWS documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-service-awsvpcconfiguration.html) for available options.", + "title": "Network Configuration", "type": "object" }, "stream_output": { - "title": "Stream Output", + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "default": null, "description": "If enabled, logs will be streamed from the Prefect container to the local console. Unless you have configured AWS CloudWatch logs manually on your task definition, this requires the same prerequisites outlined in `configure_cloudwatch_logs`.", - "type": "boolean" + "title": "Stream Output" }, "task_start_timeout_seconds": { - "title": "Task Start Timeout Seconds", - "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", "default": 300, + "description": "The amount of time to watch for the start of the ECS task before marking it as failed. The task must enter a RUNNING state to be considered started.", + "title": "Task Start Timeout Seconds", "type": "integer" }, "task_watch_poll_interval": { - "title": "Task Watch Poll Interval", - "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", "default": 5.0, + "description": "The amount of time to wait between AWS API calls while monitoring the state of an ECS task.", + "title": "Task Watch Poll Interval", "type": "number" }, "auto_deregister_task_definition": { - "title": "Auto Deregister Task Definition", - "description": "If enabled, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", "default": false, + "description": "If enabled, any task definitions that are created by this block will be deregistered. Existing task definitions linked by ARN will never be deregistered. Deregistering a task definition does not remove it from your AWS account, instead it will be marked as INACTIVE.", + "title": "Auto Deregister Task Definition", "type": "boolean" }, "match_latest_revision_in_family": { - "title": "Match Latest Revision In Family", - "description": "If enabled, the most recent active revision in the task definition family will be compared against the desired ECS task configuration. If they are equal, the existing task definition will be used instead of registering a new one. If no family is specified the default family \"prefect\" will be used.", "default": false, + "description": "If enabled, the most recent active revision in the task definition family will be compared against the desired ECS task configuration. If they are equal, the existing task definition will be used instead of registering a new one. If no family is specified the default family \"prefect\" will be used.", + "title": "Match Latest Revision In Family", "type": "boolean" } }, + "type": "object", "definitions": { "AwsClientParameters": { - "title": "AwsClientParameters", "description": "Model used to manage extra parameters that you can pass when you initialize\nthe Client. If you want to find more information, see\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/core/session.html)\nfor more info about the possible client configurations.\n\nAttributes:\n api_version: The API version to use. By default, botocore will\n use the latest API version when creating a client. You only need\n to specify this parameter if you want to use a previous API version\n of the client.\n use_ssl: Whether or not to use SSL. By default, SSL is used.\n Note that not all services support non-ssl connections.\n verify: Whether or not to verify SSL certificates. By default\n SSL certificates are verified. If False, SSL will still be used\n (unless use_ssl is False), but SSL certificates\n will not be verified. Passing a file path to this is deprecated.\n verify_cert_path: A filename of the CA cert bundle to\n use. You can specify this argument if you want to use a\n different CA cert bundle than the one used by botocore.\n endpoint_url: The complete URL to use for the constructed\n client. Normally, botocore will automatically construct the\n appropriate URL to use when communicating with a service. You\n can specify a complete URL (including the \"http/https\" scheme)\n to override this behavior. If this value is provided,\n then ``use_ssl`` is ignored.\n config: Advanced configuration for Botocore clients. See\n [botocore docs](https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html)\n for more details.", - "type": "object", "properties": { "api_version": { - "title": "API Version", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The API version to use.", - "type": "string" + "title": "API Version" }, "use_ssl": { - "title": "Use SSL", - "description": "Whether or not to use SSL.", "default": true, + "description": "Whether or not to use SSL.", + "title": "Use SSL", "type": "boolean" }, "verify": { - "title": "Verify", - "description": "Whether or not to verify SSL certificates.", - "default": true, "anyOf": [ { "type": "boolean" }, { - "type": "string", - "format": "file-path" + "format": "file-path", + "type": "string" + }, + { + "type": "null" } - ] + ], + "default": null, + "description": "Whether or not to verify SSL certificates.", + "title": "Verify" }, "verify_cert_path": { - "title": "Certificate Authority Bundle File Path", + "anyOf": [ + { + "format": "file-path", + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "Path to the CA cert bundle to use.", - "format": "file-path", - "type": "string" + "title": "Certificate Authority Bundle File Path" }, "endpoint_url": { - "title": "Endpoint URL", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The complete URL to use for the constructed client.", - "type": "string" + "title": "Endpoint URL" }, "config": { - "title": "Botocore Config", + "anyOf": [ + { + "type": "object" + }, + { + "type": "null" + } + ], + "default": null, "description": "Advanced configuration for Botocore clients.", - "type": "object" + "title": "Botocore Config" } - } + }, + "title": "AwsClientParameters", + "type": "object" }, "AwsCredentials": { - "title": "AwsCredentials", + "block_schema_references": {}, + "block_type_slug": "aws-credentials", "description": "Block used to manage authentication with AWS. AWS authentication is\nhandled via the `boto3` module. Refer to the\n[boto3 docs](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html)\nfor more info about the possible credential configurations.", - "type": "object", "properties": { "aws_access_key_id": { - "title": "AWS Access Key ID", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS access key ID.", - "type": "string" + "title": "AWS Access Key ID" }, "aws_secret_access_key": { - "title": "AWS Access Key Secret", + "anyOf": [ + { + "format": "password", + "type": "string", + "writeOnly": true + }, + { + "type": "null" + } + ], + "default": null, "description": "A specific AWS secret access key.", - "type": "string", - "writeOnly": true, - "format": "password" + "title": "AWS Access Key Secret" }, "aws_session_token": { - "title": "AWS Session Token", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The session key for your AWS account. This is only needed when you are using temporary credentials.", - "type": "string" + "title": "AWS Session Token" }, "profile_name": { - "title": "Profile Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The profile to use when creating your session.", - "type": "string" + "title": "Profile Name" }, "region_name": { - "title": "Region Name", + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, "description": "The AWS Region where you want to create new connections.", - "type": "string" + "title": "Region Name" }, "aws_client_parameters": { - "title": "AWS Client Parameters", + "$ref": "#/definitions/AwsClientParameters", "description": "Extra parameters to initialize the Client.", - "allOf": [ - { - "$ref": "#/definitions/AwsClientParameters" - } - ] + "title": "AWS Client Parameters" } }, - "block_type_slug": "aws-credentials", "secret_fields": [ "aws_secret_access_key" ], - "block_schema_references": {} + "title": "AwsCredentials", + "type": "object" }, "CapacityProvider": { - "title": "CapacityProvider", "description": "The capacity provider strategy to use when running the task.", - "type": "object", "properties": { "capacityProvider": { "title": "Capacityprovider", @@ -439,14 +632,16 @@ "capacityProvider", "weight", "base" - ] + ], + "title": "CapacityProvider", + "type": "object" } } } }, "description": "Execute flow runs within containers on AWS ECS. Works with EC2 and Fargate clusters. Requires an AWS account.", "display_name": "AWS Elastic Container Service", - "documentation_url": "https://prefecthq.github.io/prefect-aws/ecs_worker/", + "documentation_url": "https://docs.prefect.io/integrations/prefect-aws/", "install_command": "pip install prefect-aws", "is_beta": false, "logo_url": "https://cdn.sanity.io/images/3ugk85nk/production/d74b16fe84ce626345adf235a47008fea2869a60-225x225.png",